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 02/03/2017, 20:57]
merlu [Installation de paquets]
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 ​paquet ​gestionnaire_de_paquets}} +{{tag>​apt gestionnaire_de_paquets ​installation_logiciel}} 
-----+
 ====== apt-get ====== ====== apt-get ======
- 
  
 **Apt-get** est un outil logiciel à utiliser en [[:​commande_shell|ligne de commande]].\\ **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]].  ​ Il permet d'​effectuer l'​installation et la désinstallation de paquets en provenance d'un [[:​depots|dépôt APT]].  ​
  
-<​note>​Depuis [[http://​packages.ubuntu.com/​search?​suite=default&​section=all&​arch=any&​searchon=names&​keywords=apt|apt-get ​0.7]] (et donc sur toutes ​les versions actuellement supportées d'Ubuntu), **apt-get** et **[[:aptitude]]**(et par conséquent aussi les interfaces graphiques ​qui les utilisent, par ex **Synaptic** et la **Logithèque Ubuntu**), partagent les mêmes informationsL'utilisation alternée de l'un ou l'autre ne présente donc pas de risque[[http://​raphaelhertzog.com/​2011/​06/​20/​apt-get-aptitude-%E2%80%A6-pick-the-right-debian-package-manager-for-you|Source]]</​note>​+<​note ​tip>''​apt-get''​ fournit un retour facilement analysable par un script et garantit une certaine rétro-compatibilité. 
 + 
 +Cependant ​les fonctionnalités que proposent ''​apt-get''​ sont également disponibles via la commande ​[[:apt-cli|apt]], qui est plus conviviale pour l'​utilisateur finalPréférez ​''​apt'' si vous comptez accéder directement à ces fonctionnalités via la ligne de commande.</​note>​
  
-**À partir d’Ubuntu 14.04:​** ​ La commande **apt** centralise les actions les plus communes pour l'​utilisateur classique (install/​remove/​full-upgrade/​search/​list) et ajoute quelques fonctionnalités de façon à rendre l'​usage de celles-ci plus "​sympathiques"​ (couleurs dans les retours + certaines actions activées par défaut), voir **man apt** pour plus d'​informations. 
 ===== Pré-requis ===== ===== Pré-requis =====
  
Ligne 19: Ligne 19:
 <​code>​sudo apt-get install <​packet>​ <packet 2> etc ...</​code>​ <​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 ==== ==== Installation d'une version présente dans les dépôts ====
  
Ligne 32: Ligne 35:
 La commande suivante permettra de résoudre le problème : La commande suivante permettra de résoudre le problème :
 <​code>​sudo apt-get install -f</​code>​ <​code>​sudo apt-get install -f</​code>​
-FIXME Que se passe-t-il si la dépendance ​n'est pas disponible dans les dépôts ​?+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.\\ <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 : Exemple :
Ligne 43: Ligne 46:
 <​code>​sudo dpkg -i --force-overwrite package.deb <​code>​sudo dpkg -i --force-overwrite package.deb
 sudo dpkg -i --force-all package.deb</​code>​ sudo dpkg -i --force-all package.deb</​code>​
- 
  
 ==== Trouver un paquet ==== ==== Trouver un paquet ====
Ligne 81: Ligne 83:
   * <​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 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.//   * <​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 ==== ==== Suppression + purge ====
  
-  * <​code>​sudo apt-get purge <​paquets(s)></​code>​ L'​action ''​purge'',​ passée à la commande ''​apt-get'',​ **supprime ​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 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'',​ **supprime ​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 <​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 ==== ==== Suppression de paquets d'​installation ====
Ligne 95: Ligne 98:
   * <​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 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"​. ​     * <​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 ===== ===== Mises à jour =====
- 
 ==== Mise à jour dépôts ==== ==== Mise à jour dépôts ====
  
Ligne 115: 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 122: 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 133: Ligne 140:
  
 //__Pour les utilisateurs d'​apt-get__ :// //__Pour les utilisateurs d'​apt-get__ ://
-<code bash>echo "​kaffeine hold" | sudo dpkg --set-selections</​code>​+<code bash>​sudo ​apt-mark hold kaffeine</​code>​
 Pour vérifier que le paquet n'a plus le statut install mais hold ((bloqué)) : Pour vérifier que le paquet n'a plus le statut install mais hold ((bloqué)) :
-<code bash>dpkg --get-selections | grep kaffeine</​code>​ devrait ​répondre +<code bash>apt-mark showhold</​code>​ devrait ​afficher 
-<​code>​kaffeine ​                     hold</​code>​+<​code>​kaffeine</​code> ​dans la liste des réponses
  
 Pour le débloquer : Pour le débloquer :
-<code bash>echo "​kaffeine install"​ | sudo dpkg --set-selections</​code>​ +<code bash>​sudo ​apt-mark unhold kaffeine</​code>​ 
-[[http://www.mail-archive.com/debian-user-french@lists.debian.org/​msg92973.html|Source]]+[[https://manpages.debian.org/testing/​apt/​apt-mark.8.fr.html|Source]]
  
 //__Pour les utilisateurs d'​[[:​aptitude]]__((merci à cthuluh #​debian-fr))://​ //__Pour les utilisateurs d'​[[:​aptitude]]__((merci à cthuluh #​debian-fr))://​
 +
 +Pour geler un paquet
 <code bash>​sudo aptitude hold kaffeine</​code>​ <code bash>​sudo aptitude hold kaffeine</​code>​
-À vérifier pour cette dernière, car je ne suis pas un adepte d'aptitude. FIXME Donc à vérifier et déplacer sur la page [[:aptitude]]+ 
 +Pour dégeler ​un paquet 
 +<code bash>​sudo ​aptitude ​unhold kaffeine</​code>​ 
 + 
 +Pour lister les paquets gelés ​: 
 +<code bash>​sudo dpkg --list | grep ^hi</​code>​ 
 +ou 
 +<code bash>​sudo ​aptitude ​search "​~ahold"</​code>​
  
 Remplacer kaffeine par le paquet que vous voulez bloquer ;​)</​note>​ Remplacer kaffeine par le paquet que vous voulez bloquer ;​)</​note>​
Ligne 153: 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).\\ ​+[[:​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 160: Ligne 176:
  
 ===== Divers ===== ===== Divers =====
- 
 ==== Utiliser un proxy ==== ==== Utiliser un proxy ====
  
 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 180: Ligne 195:
 Acquire::​ftp Acquire::​ftp
 { {
- Proxy "​ftp://​proxy:2121/";+ Proxy "​ftp://​exemple.com:port/";
  ​ProxyLogin  ​ProxyLogin
  {  {
Ligne 188: 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 197: 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 216: Ligne 236:
 }; };
 </​file>​ </​file>​
 +
 ==== Historique ​ ==== ==== Historique ​ ====
-   ​* ​ Le log (ou historique) des action ​de apt-get se trouve dans **/​var/​log/​apt/​** ​+   ​* ​ Le log (ou historique) des actions ​de apt-get se trouve dans **/​var/​log/​apt/​** ​
 <​code>​ less /​var/​log/​apt/​history.log</​code>​ <​code>​ less /​var/​log/​apt/​history.log</​code>​
  
 **history.log** correspond à l'​historique du mois en cours. **history.log** correspond à l'​historique du mois en cours.
  
-  * la fin de chaque mois, ce fichier est archivé sous la forme history.log.1.gz +  * À la fin de chaque mois, ce fichier est archivé sous la forme history.log.1.gz 
-On afficher ​un tel fichier archivé avec zless+On affiche ​un tel fichier archivé avec zless
 <​code>​zless /​var/​log/​apt/​history.log.1.gz </​code>​ <​code>​zless /​var/​log/​apt/​history.log.1.gz </​code>​
  
 ===== Voir aussi ===== ===== Voir aussi =====
  
 +  * [[:​apt-cli|apt]]
 +  * [[:APT]]
 +  * [[:​apt-cache]]
   * [[:​apt-fast|apt-fast]]   * [[:​apt-fast|apt-fast]]
-  * [[http://​www.debian.org/​doc/​manuals/​apt-howto/​ch-apt-get.fr.html|Manuel Debian sur APT : Gestion des paquets]]+  * [[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]]   * [[:​probleme_apt|Problèmes avec les gestionnaires de paquets]]
 ---- ----
-//​Contributeurs : [[:​utilisateurs:​trhilkil|TrHiLKiL]],​ [[:​utilisateurs:​ste]],​ Emmanuel Gontcho, [[:​utilisateurs:​david96|david96]],​ [[:​utilisateurs:​boogy]].//​+//​Contributeurs : [[:​utilisateurs:​trhilkil|TrHiLKiL]],​ [[:​utilisateurs:​ste]],​ Emmanuel Gontcho, [[:​utilisateurs:​david96|david96]],​ [[:​utilisateurs:​boogy]], [[:​utilisateurs:​crustyourmind|Crustyourmind]] .//
  • apt-get.1488484649.txt.gz
  • Dernière modification: Le 02/03/2017, 20:57
  • par merlu
  • Actuellement bloqué par: 18.191.186.72,10.42.2.254