Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
apt-get [Le 18/05/2018, 12:07]
46.218.140.74 [Mise à jour dépôts]
apt-get [Le 13/12/2023, 13:47] (Version actuelle)
Amiralgaby ancienne révision (Le 29/04/2023, 15:51) restaurée
Ligne 1: Ligne 1:
 {{tag>​apt gestionnaire_de_paquets installation_logiciel}} {{tag>​apt gestionnaire_de_paquets installation_logiciel}}
  
 +====== apt-get ======
  
 +**Apt-get** est un outil logiciel à utiliser en [[:​commande_shell|ligne de commande]].\\
 +Il permet d'​effectuer l'​installation et la désinstallation de paquets en provenance d'un [[:​depots|dépôt APT]].  ​
  
 +<note tip>''​apt-get''​ fournit un retour facilement analysable par un script et garantit une certaine rétro-compatibilité.
  
-site off+Cependant les fonctionnalités que proposent ''​apt-get''​ sont également disponibles via la commande [[:​apt-cli|apt]],​ qui est plus conviviale pour l'​utilisateur final. Préférez ''​apt''​ si vous comptez accéder directement à ces fonctionnalités via la ligne de commande.</​note>​
  
 +===== Pré-requis =====
  
 +Pour utiliser ''​apt-get'',​ vous devez disposer des [[:​sudo|droits d'​administration]].\\ ​
 +Si vous ne faites que télécharger les codes sources, vous pouvez vous passer des droits d'​administration. Les paquets téléchargés sont placés dans votre dossier personnel.
  
 +===== Installation de paquets =====
 +<note tip>Vous pouvez également utiliser la commande suivante "sudo apt install <​packet>",​ elle a 2 avantages par rapport à apt-get: la coloration du texte pour mieux se repérer et une barre d'​avancement durant la décompression et la configuration des paquets.</​note>​
 +<​code>​sudo apt-get install <​packet>​ <packet 2> etc ...</​code>​
  
 +==== Vérifier la version ====
 +Avant de lancer l'​installation,​ il est parfois utile de vérifier la version qui sera installée, les dépendances,​ ...\\
 +<​code>​apt show <​nom_du_paquet></​code>​
 +==== Installation d'une version présente dans les dépôts ====
  
 +  * <​code>​sudo apt-get install <​paquet>​=<​version>​ -V</​code>​ L'​option **''​=<​version>''​** passée à **''​apt-get install''​** permet d'​**installer la version souhaitée du paquet indiqué**.
 +Très utile pour revenir à une version officielle d'un paquet (qui aurait été "​upgradé à la main"​).
  
- +==== Installation avec réponse oui ====
  
 +  * <​code>​sudo apt-get install -y <​paquet(s)></​code>​ L'​option -y permet de répondre oui par avance aux demandes de confirmations. Utile pour une utilisation dans un script, par exemple.
  
 +==== Réparer une installation ====
 +Bien que ce cas de figure soit un peu rare, il peut arriver qu'une dépendance vienne à manquer à un logiciel installé sur votre système.\\
 +La commande suivante permettra de résoudre le problème :
 +<​code>​sudo apt-get install -f</​code>​
 +Il faut cependant que la dépendance soit disponible dans les dépôts.
 +<note tip>​Utilisée avec ''​install''​ ou ''​remove'',​ cette commande exclura le paquet spécifié pour rechercher une solution viable pour le système.\\
 +Exemple :
 +<​code>​sudo apt-get -f install vlc</​code>​
 +recherchera une solution pour faire fonctionner [[vlc|VLC media player]] sans corrompre le système (FIXME).
 +</​note>​
  
 +==== Forcer une installation ====
 +Il n'​existe pas de solution sur apt-get pour forcer une installation. [[dpkg|Dpkg]] a quelques options dans ce sens, mais qui ne résolvent pas toutes les situations pour autant.
 +<​code>​sudo dpkg -i --force-overwrite package.deb
 +sudo dpkg -i --force-all package.deb</​code>​
  
 +==== Trouver un paquet ====
  
 +Pour rechercher un paquet dans vos [[:​dépôts]],​ tapez simplement la commande suivante :
 +<​code>​apt-cache search <word1 word2 ...></​code>​
  
 +L'​option ''​search''​ passée à ''​apt-cache''​ permet de chercher les paquets contenant certains mots.
 +
 +<​note>​Les réponses dépendent de vos dépôts et peuvent donc différer d'un système à l'​autre.</​note>​
 +
 +<note tip> Pour rechercher un paquet installé, il faut utiliser [[dpkg]], par exemple :
 +<​code>​dpkg -l NomDuPaquet</​code></​note>​
 +
 +==== Obtention des codes sources ====
 +
 +  * <​code>​apt-get source <​paquet(s)></​code>​ L'​option ''​source''​ passée à ''​apt-get''​ permet de **télécharger les paquets de codes sources indiqués**.
 +
 +**''​sudo''​** n'est pas utilisé ici parce que ce n'est pas nécessaire. Le paquet sera enregistré dans votre //Dossier Personnel//​.
 +
 +Notez que "​apt-get source"​ se sert des entrées "​deb-src"​ dans le fichier **/​etc/​apt/​sources.list** ou autres dans **/​etc/​apt/​sources.list.d**.
 +
 +L'​instruction "​apt-get source"​ va de pair avec "​apt-get build-dep",​ qui installera les dépendances du paquet. Exemple complet:
 +<​code>​
 +apt-get install build-essential fakeroot
 +cd /tmp
 +apt-get source nano
 +apt-get build-dep nano
 +cd nano-2.2.6/
 +dpkg-buildpackage -rfakeroot -us -b
 +</​code>​
 +
 +===== Suppression de paquets =====
 +
 +==== Principe ====
 +
 +  * <​code>​sudo apt-get remove <​paquets(s)></​code>​ L'​option ''​remove''​ permet de **désinstaller les paquets indiqués**. ​ //Ceci laisse toutefois en place les fichiers de configuration de ces paquets.//
 +  * <​code>​sudo apt-get autoremove <​paquets(s)></​code>​ L'​option ''​autoremove''​ permet de **désinstaller les paquets indiqués avec leurs dépendances logicielles**. ​ //Ceci laisse toutefois en place les fichiers de configuration de ces paquets.//
 +
 +==== Suppression + purge ====
 +
 +  * <​code>​sudo apt-get purge <​paquets(s)></​code>​ L'​action ''​purge'',​ passée à la commande ''​apt-get'',​ **désinstalle les paquets indiqués **et** leurs fichiers de configuration** ((ceux marqués comme "​conffile",​ souvent placés dans /etc.)). //Les fichiers de préférences((dans les dossiers personnels)),​ et les logs((dans le /var)) ne sont pas supprimés.//​
 +
 +  * <​code>​sudo apt-get autoremove --purge <​paquets(s)></​code>​ L'​option ''​%%--%%purge'',​ passée à la commande ''​autoremove'',​ **désinstalle les paquets indiqués, les dépendances logicielles et leurs fichiers de configuration** ((ceux marqués comme "​conffile",​ souvent placés dans /etc.)). //Les fichiers de préférences((dans les dossiers personnels)),​ et les journaux (logs) ((dans le /var)) ne sont pas supprimés.// ​
 +
 +  * <​code>​sudo apt-get autoremove --purge</​code>​ L'​option ''​%%--%%purge'',​ passée à la commande ''​autoremove''​ **sans** nom de paquet, **désinstalle toutes les dépendances devenues inutiles et leurs fichiers de configuration** ((ceux marqués comme "​conffile",​ souvent placés dans /etc.)). //Les fichiers de préférences((dans les dossiers personnels)),​ les journaux (logs) ((dans le /var)) et ceux, des anciens noyaux, marqués "​d'​installation manuelle"​ ne sont pas supprimés.//​
 +
 +==== Suppression de paquets d'​installation ====
 +
 +APT conserve une copie de chaque paquet installé et désinstallé sur votre disque dur (dans le dossier ///​var/​cache/​apt/​archives//​). Utiliser les options ci-dessous permet de récupérer de l'​espace disque par le nettoyage correspondant à l'​option.
 +
 +  * <​code>​sudo apt-get clean</​code>​ L'​option ''​clean'',​ option radicale, **supprime la totalité des paquets** présents dans ///​var/​cache/​apt/​archives//​. (//Notez que cela n'a aucun impact sur les paquets installés.//​)
 +  * <​code>​sudo apt-get autoclean</​code>​ L'​option ''​autoclean''​ permet de **supprimer les paquets** présents dans ///​var/​cache/​apt/​archives//​ , mais **en conservant ceux qui ont un équivalent dans les dépôts**; par exemple, si  ///​var/​cache/​apt/​archives//​ contient plusieurs versions du même logiciel, les plus anciennes, plus présentes dans les dépôts, seront supprimées,​ mais la version à jour (ayant un équivalent dans le dépôt) sera conservée. //Ceci vous permet de récupérer beaucoup d'​espace disque//, mais moins toutefois qu'​avec "​clean"​. ​  
 +
 +===== Mises à jour =====
 +==== Mise à jour dépôts ====
 +
 +  * <​code>​sudo apt-get update</​code>​ L'​option ''​update''​ **met à jour la liste des fichiers disponibles dans les dépôts APT présents dans le fichier de configuration ''/​etc/​apt/​sources.list''​**. ​ L'​exécuter régulièrement est une bonne pratique, afin de maintenir à jour votre liste de paquets disponibles.
  
 ==== Mise à jour de paquets ==== ==== Mise à jour de paquets ====
Ligne 31: Ligne 116:
 Remarque : taper "man apt-get"​ dans un terminal donne une réponse en français et une explication plus complète et plus claire. Remarque : taper "man apt-get"​ dans un terminal donne une réponse en français et une explication plus complète et plus claire.
  
 +<note warning>​L'​option ''​upgrade''​ renvoie occasionnellement le message **Les paquets suivants ont été conservés**. Cela indique les paquets dont l'​arbre des dépendances a changé et pour lesquels le programme n'a pas pris la libéralité de les installer de lui-même. Il suffit d'​utiliser l'​option ''​install''​ pour en forcer manuellement l'​installation.</​note>​
 +
 +<note tip>Afin de mettre à jour complètement le système, il est possible d'​utiliser les deux commandes suivantes :
 +<​code>​sudo apt-get update; sudo apt-get install linux-virtual;​ sudo apt-get upgrade; sudo apt-get autoremove
 +sudo apt-get install XXXXXXXXXXXX;​ sudo apt-get update; sudo apt-get autoremove</​code>​
 +ou XXXXXXXXXXXX reprend la liste des paquets conservés.</​note>​
 ==== Bloquer la mise à jour d'un paquet ==== ==== Bloquer la mise à jour d'un paquet ====
 [[:​tutoriel:​comment_modifier_un_fichier|Ouvrez avec les droits d'​administration]] le fichier **/​etc/​apt/​preferences** (si le fichier n'​existe pas, le créer) pour y insérer les lignes suivantes: [[:​tutoriel:​comment_modifier_un_fichier|Ouvrez avec les droits d'​administration]] le fichier **/​etc/​apt/​preferences** (si le fichier n'​existe pas, le créer) pour y insérer les lignes suivantes:
Ligne 38: Ligne 129:
 La Priorité du Pin à 1001 bloque les futures mises à jour :-) La Priorité du Pin à 1001 bloque les futures mises à jour :-)
  
-== Exemple == +== Exemple ==
 Si par exemple vous souhaiter conserver la version 0.8.8 de kaffeine, vous indiquerez dans **/​etc/​apt/​preferences** Si par exemple vous souhaiter conserver la version 0.8.8 de kaffeine, vous indiquerez dans **/​etc/​apt/​preferences**
 <​file>​Package:​ kaffeine <​file>​Package:​ kaffeine
Ligne 66: Ligne 157:
 <code bash>​sudo aptitude unhold kaffeine</​code>​ <code bash>​sudo aptitude unhold kaffeine</​code>​
  
-Pour lister les paquets gelés : +Pour lister les paquets gelés :
 <code bash>​sudo dpkg --list | grep ^hi</​code>​ <code bash>​sudo dpkg --list | grep ^hi</​code>​
 ou ou
Ligne 78: Ligne 169:
 ==== Mises à jour automatisées ==== ==== Mises à jour automatisées ====
  
-[[:​tutoriel:​comment_installer_un_paquet|Installer le paquet]] **[[apt>​unattended-upgrades|unattended-upgrades]]** et lire cette [[https://help.ubuntu.com/14.04/serverguide/​automatic-updates.html|documentation]] //(en français)//​.\\ ​+[[:​tutoriel:​comment_installer_un_paquet|Installer le paquet]] **[[apt>​unattended-upgrades|unattended-upgrades]]** et lire ce  ​[[https://guide.ubuntu-fr.org/server/​automatic-updates.html|guide du server Ubuntu sur les mises à jours automatiques]] //(en français)//​.\\ ​
 Si vous le souhaitez, vous pouvez paramétrer uniquement les mises à jour de sécurité en automatique. Si vous le souhaitez, vous pouvez paramétrer uniquement les mises à jour de sécurité en automatique.
  
Ligne 88: Ligne 179:
  
 Il suffit d'​exporter les paramètres du [[:proxy]] à utiliser dans la [[:​variables d'​environnement|variable d'​environnement]] **http_proxy**,​ sous la forme suivante : Il suffit d'​exporter les paramètres du [[:proxy]] à utiliser dans la [[:​variables d'​environnement|variable d'​environnement]] **http_proxy**,​ sous la forme suivante :
-<​code>​export http_proxy=http://​utilisateur:​motdepasse@example.com:​port</​code>​+<​code>​export http_proxy=http://​utilisateur:​motdepasse@exemple.com:​port</​code>​
 où : où :
-  * //​utilisateur//​ est le nom d'​utilisateur pour se connecter au proxy si nécessaire,​  +  * //​utilisateur//​ est le nom d'​utilisateur pour se connecter au proxy si nécessaire,​ 
-  * //mot de passe// le mot de passe éventuellement associé +  * //mot de passe// ​est le mot de passe éventuellement associé 
-  * //example.com// l'​adresse du proxy, +  * //exemple.com// ​est l'​adresse du proxy, 
-  * //port// le port pour y accéder.+  * //​port// ​est le port pour y accéder.
  
 Pour rendre le changement permanent vous pouvez rajouter la ligne dans le fichier **.bashrc** ou créer un fichier **proxy** dans **/​etc/​apt/​apt.conf.d/​proxy** puis rajouter la ligne suivante : Pour rendre le changement permanent vous pouvez rajouter la ligne dans le fichier **.bashrc** ou créer un fichier **proxy** dans **/​etc/​apt/​apt.conf.d/​proxy** puis rajouter la ligne suivante :
 <​file>​ <​file>​
-Acquire::​http::​Proxy "​http://​utilisateur:​motdepasse@example.com:​port";​+Acquire::​http::​Proxy "​http://​utilisateur:​motdepasse@exemple.com:​port";​
 </​file>​ </​file>​
  
Ligne 104: Ligne 195:
 Acquire::​ftp Acquire::​ftp
 { {
- Proxy "​ftp://​proxy:2121/";+ Proxy "​ftp://​exemple.com:port/";
  ​ProxyLogin  ​ProxyLogin
  {  {
Ligne 112: Ligne 203:
 } }
 </​file>​ </​file>​
-N'​oubliez pas, bien sûr, de changer le nom d'​hôte ​proxy et le port.+ 
 + où : 
 +    * //​exemple.com//​ est l'​adresse du proxy, 
 +    * //port// est le port pour y accéder. 
 + 
 +N'​oubliez pas, bien sûr, de changer le nom d'​hôte ​//​exemple.com// ​et le //port//.
  
 ==== Suppression d'un proxy ==== ==== Suppression d'un proxy ====
-//Testé sur [[:​karmic|Ubuntu 9.10]].//+
   - Allez dans //Système -> Préférences ->​Serveur Mandataire//​   - Allez dans //Système -> Préférences ->​Serveur Mandataire//​
   - Décochez "​Configuration manuelle du  serveur mandataire"​   - Décochez "​Configuration manuelle du  serveur mandataire"​
Ligne 121: Ligne 217:
   - Cliquez sur "​Appliquer à l'​ensemble du système"​   - Cliquez sur "​Appliquer à l'​ensemble du système"​
   - Fermez   - Fermez
-  - [[:​tutoriel:​comment_modifier_un_fichier|Ouvrez avec les droits d'​administration]] le fichier **/​etc/​apt/​apt.conf**+  - [[:​tutoriel:​comment_modifier_un_fichier|Ouvrez avec les droits d'​administration]] le fichier **/​etc/​apt/​apt.conf.d/proxy**
   - Effacez la ou les ligne(s) en rapport avec le proxy   - Effacez la ou les ligne(s) en rapport avec le proxy
   - Après enregistrement,​ redémarrez votre PC   - Après enregistrement,​ redémarrez votre PC
Ligne 151: Ligne 247:
 <​code>​zless /​var/​log/​apt/​history.log.1.gz </​code>​ <​code>​zless /​var/​log/​apt/​history.log.1.gz </​code>​
  
 +===== Voir aussi =====
  
 +  * [[:​apt-cli|apt]]
 +  * [[:APT]]
 +  * [[:​apt-cache]]
 +  * [[:​apt-fast|apt-fast]]
 +  * [[https://​www.debian.org/​doc/​manuals/​apt-howto/​ch-apt-get.fr.html|Manuel Debian sur APT : Gestion des paquets]]
 +  * [[:​probleme_apt|Problèmes avec les gestionnaires de paquets]]
 +----
 +//​Contributeurs : [[:​utilisateurs:​trhilkil|TrHiLKiL]],​ [[:​utilisateurs:​ste]],​ Emmanuel Gontcho, [[:​utilisateurs:​david96|david96]],​ [[:​utilisateurs:​boogy]],​ [[:​utilisateurs:​crustyourmind|Crustyourmind]] .//
  • apt-get.1526638021.txt.gz
  • Dernière modification: Le 18/05/2018, 12:07
  • par 46.218.140.74