Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:systeme:apt [16/08/2011 09:48] bract |
doc:systeme:apt [03/02/2016 03:26] smolski [Configuration avancée] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | Mise à jour le 15/08/2011 | + | ====== APT : Gestionnaire de Paquets Avancé ====== |
- | ====== Gestionnaire Apt ====== | + | |
+ | {{/manuel/tux-exploration.gif?100X100}} | ||
* Objet : Les outils APT | * Objet : Les outils APT | ||
- | * Niveau requis : DÉBUTANT | + | * Niveau requis :{{tag>débutant avisé}} |
* Commentaires : //Rechercher, installer ou mettre à jour les logiciels et autres paquets disponibles.// | * Commentaires : //Rechercher, installer ou mettre à jour les logiciels et autres paquets disponibles.// | ||
- | * Débutant, à savoir : [[manuel:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) , et [[:accueil#la_gestion_et_l_administration_des_depots_debian|la gestion et l'administration des dépôts Debian.]] | + | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) |
+ | * Suivi : {{tag>à-tester}} | ||
+ | * Création par [[user>captnfab]] le 25/05/2013 | ||
+ | * Testé par .... le .... | ||
+ | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=2106|C'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
+ | |||
===== Introduction ===== | ===== Introduction ===== | ||
- | {{http://images.debian-facile.org/manuel/tux-exploration.gif?100X100 }} | ||
- | Les outils **APT** (Advanced Packaging Tool) permettent de gérer les logiciels installés sur une machine de façon relativement simple et complète. | ||
- | ===== Les outils APT en ligne de commande ===== | + | **APT** (Advanced Packaging Tool) est une collection d'outils permettant de gérer les logiciels installés sur une machine de façon relativement simple et complète. C'est un système de gestion de paquet robuste et élégant, qui a longtemps fait la fierté de Debian. |
+ | |||
+ | Le fonctionnement est le suivant : ''APT'' conserve une liste des paquets installés, avec leur version, et leur état. Par exemple, lorsque vous installez un paquet, celui-ci est marqué comme //manuellement installé//. En revanche, si ce paquet dépendait d'une bibliothèque, alors celle-ci a été installée automatiquement, et marquée comme telle. | ||
+ | |||
+ | En parallèle, ''APT'' conserve une liste des paquets installables. Il récupère cette liste depuis les dépôts précisés dans les fichiers ''/etc/apt/sources.list'' et ''/etc/apt/sources.list.d/*'' (ces dépôts sont la plupart du temps des sites internet, mais peuvent également être des cdrom ou des miroirs locaux). | ||
+ | |||
+ | Les outils permettent ensuite d'installer des paquets facilement depuis ces dépôts, ou depuis des fichiers ''.deb'' téléchargés manuellement (bien que cette dernière méthode soit déconseillée.) | ||
+ | |||
+ | <note info>Vous pouvez en savoir plus sur ce qu'est un paquet ici : | ||
+ | * [[:doc:systeme:apt:paquets|Les paquets Debian]] | ||
+ | </note> | ||
+ | ===== Dépôts et sources.list ===== | ||
+ | |||
+ | L'utilisation normale de Debian se fait sans jamais manipuler de fichier ''.deb'' à la main, mais en indiquant à **APT** où récupérer ces fichiers. | ||
+ | |||
+ | En général, ils se trouvent sur des serveurs appelés //dépôts//. Il convient alors de renseigner son/ses fichier(s) ''sources.list'' afin d'indiquer de quelles //sections// de quelles //branches// de quels //dépôts// il lui faut récupérer les listes de paquets. | ||
+ | |||
+ | * [[:doc:systeme:apt:sources.list|Bien configurer son sources.list]] | ||
+ | |||
+ | Comprenant : | ||
+ | * [[:doc:systeme:apt:sources.list#debian_stable_wheezy|Un sources.list rapide pour Wheezy]] | ||
+ | * [[:doc:systeme:apt:sources.list#les_depots_debian_officiels|Le dépôt des backports]] | ||
+ | * [[:doc:systeme:apt:sources.list#les_depots_debian_security|Le dépôt security]] | ||
+ | * [[:doc:systeme:apt:sources.list#les_depots_des_mainteneurs_mozilla|Le dépôt des mainteneurs Mozilla]] | ||
+ | |||
+ | <note info> | ||
+ | Vous trouverez d'avantage d'explications sur les différentes branches dans le tuto suivants : | ||
+ | * [[:doc:systeme:apt:branches-debian|Les branches Debian]] | ||
+ | </note> | ||
+ | ===== Installer / Supprimer / Gérer ses paquets ===== | ||
+ | |||
+ | Il existe de nombreuses méthodes pour administrer sa machine et gérer les paquets installés. Nous avons compulsé une page les répertoriant : | ||
+ | * [[:doc:systeme:apt:clients|Les outils APT]] en [[:doc:systeme:commandes:gnu_linux | ligne de commande]] et en mode graphique. | ||
+ | |||
+ | <note important>Il est important d'apprendre à utiliser les outils en ligne de commande car, en plus d'être pratiques, sûrs et faciles à retenir, ce sont ceux qui seront systématiquement proposés lors de l'entre-aide sur le forum et l'irc car il est __plus difficile d'aider quelqu'un en graphique__ sans être auprès de lui pour consulter son écran. :-)</note> | ||
+ | |||
+ | Quelques conseils non sans importance : | ||
+ | |||
+ | * [[:doc:systeme:apt:debianpropre|Garder sa Debian propre]] - Préserver son installation en détail. | ||
+ | * [[:doc:install:migrer-depuis-windows|Migration vers une nouvelle stable]] | ||
+ | |||
+ | ===== Configuration avancée ===== | ||
+ | |||
+ | ==== Préférences entre les dépôts ==== | ||
+ | |||
+ | Lorsque plusieurs dépôts proposent des versions différentes d'un même paquet, les outils APT doivent choisir quelle version installer. Cela se fait par le biais des fichiers ''/etc/apt/preferences'' et ''/etc/apt/preferences.d/*'', cette opération s'appelle le //pinning//. | ||
+ | |||
+ | * Gérer les priorités entre versions avec [[:doc:systeme:apt:pinning|le pinning]]. | ||
+ | |||
+ | <note info>Attention, rares sont les cas où cette opération est pertinente. Ne pas utiliser sans avis de votre médecin, pas d'utilisation prolongée chez l'enfant de moins de 77 ans.</note> | ||
- | Voici les outils pour gérer vos paquets : | + | ==== Options pour APT ==== |
- | - [[manuel:aptitude | aptitude]] Commande pour gérer les paquets via internet. **Cette commande est recommandée**. | + | |
- | - [[manuel:apt-get | apt-get]] Commande pour gérer les paquets via internet | + | |
- | - [[manuel:wajig | wajig]] Commande pour gérer les paquets via internet ou non | + | |
- | - [[manuel:apt-cache | apt-cache ]]. Obtenir des renseignements sur les paquets. | + | |
- | - [[manuel:dpkg | dpkg]] Commande pour gérer les paquets hors internet | + | |
- | - [[:accueil#les_gestionnaires_de_paquets|Tasksel]] permet d'installer un ensemble de logiciels regroupés par tâches : serveur web, serveur de fichiers, ordinateur portable… | + | |
- | ==== Tableau récapitulatif des commandes principales ==== | + | La lib APT est très paramétrable. \\ |
+ | On peut par exemple : | ||
+ | * spécifier si l'on veut traiter les recommandations comme des dépendances (ce qui est le comportement par défaut) ou non, | ||
+ | * spécifier quelles traductions des descriptions de paquets télécharger, | ||
+ | * etc... | ||
- | ^ **Syntaxe d'aptitude ** ^ **Syntaxe d'apt-get ** ^ **Syntaxe wajig ** ^ ** Syntaxe de dpkg ** ^ **Syntaxe d'apt-cache ** ^ **Note** ^ | + | Cette configuration se fait en modifiant le fichier ''/etc/apt/apt.conf'' ou en créant des fichiers dans le répertoire ''/etc/apt/apt.conf.d/''. |
- | | aptitude update | apt-get update | wajig update | | | Mettre à jour la liste des paquets disponibles sur les serveurs déclarés dans le fichier « /etc/apt/sources.list »| | + | |
- | | aptitude safe-upgrade | apt-get upgrade | wajig upgrade | | |Mise à jour des logiciels installés sur le système | | + | |
- | | aptitude full-upgrade | apt-get dist-upgrade | Wajig dist-upgrade | | |Mise à jour du système | | + | |
- | | aptitude search <expression rationnelle> | | wajig search <expression rationnelle> | | apt-cache search <expression rationnelle> |Rechercher un logiciel| | + | |
- | | aptitude show <Logiciel> | | wajig detail paquet <Logiciel> | | apt-cache show <Logiciel> |Afficher des informations détaillées concernant le paquet <Logiciel> | | + | |
- | | aptitude versions <Logiciel> | | | | apt-cache policy <Logiciel> |Afficher les versions disponibles d'un logiciel | | + | |
- | | aptitude install <Logiciel> | apt-get install <Logiciel> | wajig install <Logiciel> | | |Installation d'un Logiciel disponible sur les serveurs | | + | |
- | | | | wajig install <paquet .deb> | dpkg -i <paquet .deb> | |Installation d'un Logiciel absent des serveurs, et préalablement téléchargé, au format .deb. | | + | |
- | | aptitude remove <Logiciel> | apt-get remove <Logiciel> | wajig remove <Logiciel> | dpkg -r <Logiciel> | |Désinstallation d'un logiciel| | + | |
- | | aptitude purge <Logiciel> | apt-get purge <Logiciel> | wajig purge <Logiciel> | dpkg -p <Logiciel> | |Désinstallation d'un logiciel avec les fichiers de configurations | | + | |
- | | N/A | apt-get autoremove | wajig autoremove | | |Supprimer les paquets installés automatiquement lorsqu'ils ne sont plus nécessaires | | + | |
- | | aptitude clean | apt-get clean | wajig clean | | |Nettoyer complètement le dépôt local des fichiers de paquets récupérés | | + | |
- | | aptitude autoclean | apt-get autoclean | wajig autoclean | | |Nettoyer le dépôt local des fichiers des paquets périmés | | + | |
+ | * [[:doc:systeme:apt:apt.conf | Configurer APT]]. | ||
- | =====Les outils APT en mode graphique ou semi-graphique===== | + | <note important>Attention, pour se lancer dans cette section, il est recommandé d'avoir une bonne connaissance et compréhension des paragraphes précédents.</note> |
- | ====Synaptic==== | + | |
- | Logiciel proposant une interface graphique facilitant la gestion des paquets sur votre système. | + | |
- | {{http://images.debian-facile.org/file-Rfd0019b4b149fd80f234732b96054e45.png?200}} | + | ==== Dépendance ==== |
- | ====Aptitude==== | + | |
- | Cette commande offre une interface semi-graphique, il suffit pour cela de le lancer en mode root. | + | |
- | # aptitude | + | Il était une fois... le mariage d'un logiciel (libre) avec une librairie (libre aussi) dont il va dépendre pour fonctionner : |
+ | - Le développeur de feh (développeur = créateur) veut que son logiciel (un visionneur d'image léger) puisse lire aussi le PNG. | ||
+ | - Un autre développeur a déjà écrit du code sous licence libre permettant de faire cela, le développeur de feh peut donc l'utiliser avec feh. | ||
+ | - Il indique simplement que feh a besoin de la libpng12-0 pour fonctionner correctement et le tour est joué. | ||
+ | - La librairie libpng12-0 est ainsi devenue une dépendance de feh. | ||
- | Cette interface est développée à l'aide de la bibliothèque [[wpfr>Ncurses|ncurses]], ce qui permet l'utilisation de la souris. | + | Explication sur ce qu'est une dépendance forte. |
- | {{http://images.debian-facile.org/file-R0638d17d6f65eeea477f227c871c29a0.png?200}} | + | Je désigne ainsi une dépendance de type "dépend". |
- | * [[manuel:graph_aptitude | Aptitude par le visuel]] | + | Il existe plusieurs niveaux de dépendance entre deux paquets Debian X et Y : |
+ | * **dépend** : X ne peut être installé que si Y est installé | ||
+ | * **recommande** : l'installation de X recommande l'installation de Y | ||
+ | * **suggère** : l'installation de X suggère l'installation de Y | ||
+ | * **conflit** : X ne peut pas être installé si Y est installé et vice versa | ||
+ | * et peut-être d'autres que j'oublie... | ||
- | ===== apt.conf ===== | + | === Exemples === |
- | Fichier de configuration pour APT\\ | + | |
- | **Voir ici :** | + | |
- | * [[manuel:configuration:apt.conf | Le fichier /etc/apt/apt.conf]] DEBUTANT | + | Par défaut, apt-get installe les paquets recommandés mais pas les paquets suggérés. \\ |
+ | Donc par défaut l'installation d'un environnement de bureau installera le serveur graphique X.org. | ||
- | ==== ASTUCE - Contrôler la Bande Passante ==== | + | Lorsque dans l'historiette le developpeur crée son paquet Debian de feh, il indique simplement que ce dernier a besoin de la libpng12-0 pour fonctionner correctement. \\ |
+ | La libpng12-0 est donc, de fait, une dépendance de feh | ||
- | === Problème : === | + | Il faut enfin distinguer deux cas : |
- | * Comment laisser de la bande passante aux autres machines quand on veut mettre à jour ou installer un gros paquet, au moment où on a envie de le faire ? | + | - les dépendances à la construction et |
+ | - les dépendances à l'exécution. | ||
+ | Par exemple, pour un programme écrit en langage C, la construction dépend d'un compilateur C. Mais pas l'exécution. | ||
- | //C'est qu'il faut en laisser pour les autres !// | + | ==== Bibliothèques ==== |
- | === la Réponse : === | + | Concernant les bibliothèques, cette distinction existe aussi à travers les deux cas suivants : |
- | Trouvée grâce à un sympatique membre du canal irc **#debian-fr** sur le **serveur OFTC**. (Ne vous trompez pas, n'allez pas sur //Freenode//, là le chan //#debian-fr// n'est pas dédié à l'entraide !) | + | - Liaison **statique** : les fonctions des bibliothèques utilisées par le programme sont incluses dans ce dernier lors de la construction. Il n'a pas besoin des bibliothèques lors de l'exécution. Exemple : busybox-static. \\ //Avantages// : programme indépendant, évite les problèmes d'incompatibilités entre versions d'une même bibliothèque, parfois gain de place quand un programme est le seul à dépendre d'une bibliothèque dont il n'utilise que quelques fonctions (seules ces fonctions sont incluses dans le programme au lieu d'installer la bibliothèque complète). |
+ | - Liaison **dynamique** : les fonctions des bibliothèques utilisées par le programme ne sont pas incluses dans ce dernier lors de la construction. Il a besoin de la bibliothèque lors de l'exécution. \\ //Avantages// : gain de place (les fonctions des bibliothèques sont partagées au lieu d'être dupliquées), simplicité de mise à jour (la correction d'un bug d'une bibliothèque ne nécessite pas de mettre à jour tous les programmes qui l'utilisent). | ||
- | Dans le fichier **apt.conf** créé ci-haut, on ajoute: | + | === Lien vers le forum === |
- | //------------------------------------------------------------- | + | |
- | // Options for the downloading routines | + | |
- | Acquire | + | |
- | { | + | |
- | // HTTP method configuration | + | |
- | http | + | |
- | { | + | |
- | Dl-Limit "20"; // maximum download rate in KB/s | + | |
- | }; | + | |
- | + | ||
- | }; | + | |
- | //------------------------------------------------------------- | + | |
- | Pour avoir plus d'informations sur les options possibles pour modifier le comportement de **apt** ou de **aptitude**, il y a un fichier: | + | [[https://debian-facile.org/viewtopic.php?pid=162187#p162187 | Donc, les dépendances… Nous disions : dépendances. Ah ! Je sèche !]] |
- | /usr/share/doc/apt/examples/configure-index.gz | + | |
- | Pour le lire, j'ai trouvé commode de procéder ainsi (voir [[commande:>|COMMANDE >]] : | + | |
- | zcat /usr/share/doc/apt/examples/configure-index.gz > apt-configure-index.txt | + | |
- | et d'ouvrir ensuite le fichier apt-configure-index.txt avec **gedit**. | + | |
- | //Merci Melodie// ! | + | ===== Aller plus loin ===== |
+ | * [[:doc:reseau:apt-p2p|Apt en peer-to-peer]] pour économiser la bande passante des serveurs Debian. | ||
+ | * [[:doc:reseau:apt-cacher-ng|Un serveur proxy dédié aux paquets Debian]] pour ne pas télécharger les paquets en double si vous avez plusieurs installations Debian. | ||
+ | * [[:doc:mentors:mentors | Créer et maintenir des paquets Debian]] | ||