Différences
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 | ||
apt-get [Le 23/09/2014, 09:51] 41.213.179.248 [Installation avec réponse oui] |
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§ion=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 informations. L'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é. |
- | **Sous ubuntu 14.04:** **apt-get** devient juste **apt** (mais les "anciennes" commandes apt-get restent utilisables) | + | 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> |
- | + | ||
- | sudo apt-get update | + | |
- | + | ||
- | devient : | + | |
- | + | ||
- | sudo apt update | + | |
- | + | ||
- | et | + | |
- | + | ||
- | sudo apt-get dist-upgrade | + | |
- | + | ||
- | devient : | + | |
- | + | ||
- | sudo apt full-upgrade | + | |
===== Pré-requis ===== | ===== Pré-requis ===== | ||
Ligne 31: | Ligne 16: | ||
===== Installation de paquets ===== | ===== 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> | ||
- | ==== Installation simple ==== | + | ==== 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, ...\\ | |
- | * sudo apt-get install <paquet(s)> | + | <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 41: | Ligne 27: | ||
Très utile pour revenir à une version officielle d'un paquet (qui aurait été "upgradé à la main"). | Très utile pour revenir à une version officielle d'un paquet (qui aurait été "upgradé à la main"). | ||
- | ==== Installation avec réponse oui ==,== | + | ==== 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. | * <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 ==== | ==== Réparer une installation ==== | ||
- | Bien que ce cas de figure soit très rare, il peut arriver qu'une dépendance vienne à manquer à un logiciel installé sur votre système.\\ | + | 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 : | 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 60: | 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 98: | 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 112: | 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 132: | 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 139: | 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 150: | 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" | 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 170: | 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/10.04/serverguide/C/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 177: | 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 197: | Ligne 195: | ||
Acquire::ftp | Acquire::ftp | ||
{ | { | ||
- | Proxy "ftp://proxy:2121/"; | + | Proxy "ftp://exemple.com:port/"; |
ProxyLogin | ProxyLogin | ||
{ | { | ||
Ligne 205: | 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 214: | 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 233: | 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. | ||
- | * A 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]] .// |