apt-get est un gestionnaire de paquets en console.
À ce titre, c'est un outil qui permet de vous informer, d'installer, de supprimer et de mettre à jour vos paquets.
De façon général, il gère la mise à jour de votre système et s'utilise pour cela en super-utilisateur alors qu'il vous informe sur ceux-ci en simple utilisateur.
apt-get en ligne de commande, équivaut (en mieux) à Synaptic en graphique !
Vous pouvez utiliser la plupart des commandes décrites dans la commande apt-get
avec la commande aptitude
.
Cette opération a deux buts bien précis :
apt-get update
C'est une précaution indispensable dans le cas d'une testing ou unstable où les mises à jour sont très fréquentes (lire quotidienne).
Remarque : on a parfois besoin d'installer la version d'un paquet qui n'est plus présente dans les dépôts. On peut alors utiliser une image des dépôts prises à un moment précis : un snapshot.
Voir dans le man apt-get :
man apt-get
-f, --fix-broken Correction ; cette option demande de réparer un système où existent des dépendances défectueuses. Utilisée avec install ou remove, elle peut exclure un paquet pour permettre de déduire une solution viable. Tout paquet spécifié doit complètement corriger le problème. Cette option est quelquefois nécessaire lorsque l'on exécute APT pour la première fois ; APT interdit les dépendances défectueuses dans un système. Il est possible que la structure de dépendances d'un système soit tellement corrompue qu'elle requiert une intervention manuelle (ce qui veut dire la plupart du temps utiliser dselect(1) ou dpkg --remove pour éliminer les paquets en cause). L'utilisation de cette option conjointement avec -m peut produire une erreur dans certaines situations. Élément de configuration : APT::Get::Fix-Broken.
apt-get install -f
apt-get install LeNomDuLogiciel
Pour plus de précaution, vous pouvez ajouter l'option -s (comme simulation) pour simuler l'installation du logiciel, ainsi vous pourrez contrôler les éventuels logiciels & dépendances installées ou désinstallées.
apt-get install -s lenomdulogiciel
apt-get remove lenomdulogiciel
Pour une désinstallation complète (avec les fichiers de configurations) vous pouvez ajouter l'option --purge
apt-get remove --purge nomdulogiciel
Les paquets téléchargés avant installation sont stockés dans /var/cache/apt/archives. Ils y restent ad vitam aeternam. Ce dossier peut donc rapidement devenir encombrant et faire plusieurs Giga-octets. Utilisez la commande du dans un terminal user ainsi :
du -h /var/cache/apt/archives
vous serez surpris !
La commande ci-dessous va supprimer uniquement les paquets dont le numéro de version est obsolète par rapport à ceux des miroirs (les vieux trucs quoi)
apt-get autoclean
La suivante videra entièrement le contenu du cache.
apt-get clean
Et depuis lenny, il s'est ajouté l'option --purge autoremove
qui supprime les paquets installés automatiquement mais devenus inutiles :
apt-get --purge autoremove
D'après Thom1, merci !
Si tout se passe bien, et qu'on est en 100% stable, il ne devrait jamais y avoir de différence entre upgrade et dist-upgrade, sauf pour les mises à jour entre différentes stables (voir la migration pas à pas)
apt-get upgrade
upgrade ne supprime pas les paquets qui entravent les mises à jour mais il marque quand même les dépendances inutiles comme à supprimer et qui seront supprimées définitivement par la commande autoremove et du coup, les mises à jour peuvent être partielles mais au moins, on est sûr qu'il ne vire aucun paquet qu'on utilise.
dixit le captnfab sur le forum df :
apt-get dist-upgrade
Cette commande est moins conservatrice et peux causer des résultats inattendus en raison des possibilités de nouvelles installations ou de suppressions. Ne pas faire l’amalgame de « dist » avec distribution, la terminologie n’a rien n’a voir. La terminologie « full-upgrade » est maintenant plus adaptée et ne porte pas à confusion.
Le dist-upgrade de apt-get est très mal nommé car il signifie en fait « mettre à jour le plus important, quitte à virer ce qui gêne ».
Sinon, dans le cours des mises à jour d'une même stable, il faut lire attentivement ce qui s'écrit avant de valider, quitte à passer d'abord par un upgrade et finir ensuite le travail de mise à jour à la main.
Pour ce qui n'est pas la branche stable, utiliser aptitude est le mieux.
apt a l'habitude de gérer les paquets marqués recommandés comme des paquets dépendants.
Si cela est intéressant dans certains cas, c'est parfois pénible puisque cela installe des tas de truc que l'on ne souhaite pas vraiment.
Voici la manière de contourner ce petit problème.
apt-get install --no-install-recommends NomDuPaquet
En modifiant : le fichier apt.conf
Pour installer un paquet d'une source présente dans Le fichier preferences mais non prioritaire, utiliser l'option -t <branche>.
Par exemple :
Depuis une installation stable prioritaire forcer un paquet des backports :
apt-get -t stretch-backports install le_nom_du_paquet
Modifier le fichier /etc/apt/preferences (si le fichier n'existe pas, le créer) pour y insérer les lignes suivantes:
Package: nom_du_paquet Pin: version du paquet à conserver Pin-priority: 1001
La Priorité du Pin à 1001 bloque les futures mises à jour
Si par exemple vous souhaitez conserver la version 0.8.8 de kaffeine, vous indiquerez dans /etc/apt/preferences
Package: kaffeine Pin: version 0.8.8 Pin-priority: 1001
Dans le doute, vérifier en tapant la commande apt-cache policy nom_du_paquet, pour l'exemple du paquet kaffeine :
apt-cache policy kaffeine
Toujours avec le paquet kaffeine pris en exemple2) :
echo "kaffeine hold" | dpkg --set-selections
Pour vérifier que le paquet n'a plus le statut install mais hold :
dpkg --get-selections | grep kaffeine
devrait répondre :
kaffeine hold
Pour le débloquer :
echo "kaffeine install" | dpkg --set-selections
Remplacer kaffeine par le paquet que vous voulez modifier.
apt-mark hold kaffeine
Deux possibilités s'offrent à vous :
apt-get download le_paquet
Dans ce cas le paquet seul sera téléchargé dans votre répertoire courant.
Ou :
apt-get clean
et
apt-get install -d
Ici, le paquet et toutes ses dépendances seront téléchargés dans le répertoire /var/cache/apt/archives/ et vous trouverez le tout au format deb.
Pour installer la version d'un paquet qui n'est plus présente dans les dépôts on utilise une image des dépôts prise à un moment précis : un snapshot.
Il faut vous assurer au préalable que votre fichier source.list soit correctement rempli avec l'adresse des dépôts contenant les paquets sources (classiquement les noms de ces dépôts commencent par deb-src).
Cette commande vous permettra de télécharger les sources d'un paquet debian :
apt-get source le-paquet-source
Par defaut, le paquet est décompressé une fois téléchargé.
Si vous souhaitez le garder en *.tar.gz, passez le paramètre --download-only à la commande ainsi :
apt-get source --download-only le-paquet-source
Si vous voulez compiler directement et automatiquement le paquet après son téléchargement, passez l'option --compile à la commande :
apt-get source --compile le-paquet-source
Assurez vous au préalable d'avoir installé les librairies nécessaires à la compilation du paquet. Pour ce faire, utilisez la commande :
apt-get build-dep le-paquet
Elle aura pour effet d'installer toutes les dépendances nécessaires à la compilation du paquet.
Pour connaître les noyaux les plus récents disponibles3) en user tapez :
apt-cache search linux-image
Tu copies ton choix dans la liste du (des) noyau(x) qui te convient(viennent). Puis, sous root :
apt-get install linux-image-que-t-a-choisi
hop là Et c'est freddec qui le dit !
Pour rechercher une image linux pour une version 2.6.32… tapez dans un terminal user :
apt-cache search linux-image | grep 32
linux-headers-2.6.32-5-amd64 - Header files for Linux 2.6.32-5-amd64 linux-headers-2.6.32-5-openvz-amd64 - Header files for Linux 2.6.32-5-openvz-amd64 linux-headers-2.6.32-5-vserver-amd64 - Header files for Linux 2.6.32-5-vserver-amd64 linux-headers-2.6.32-5-xen-amd64 - Header files for Linux 2.6.32-5-xen-amd64 linux-image-2.6.32-5-amd64-dbg - Debugging infos for Linux 2.6.32-5-amd64 linux-image-2.6.32-5-amd64 - Linux 2.6.32 for 64-bit PCs linux-image-2.6.32-5-openvz-amd64-dbg - Debugging infos for Linux 2.6.32-5-openvz-amd64 linux-image-2.6.32-5-openvz-amd64 - Linux 2.6.32 for 64-bit PCs, OpenVZ support linux-image-2.6.32-5-vserver-amd64-dbg - Debugging infos for Linux 2.6.32-5-vserver-amd64 linux-image-2.6.32-5-vserver-amd64 - Linux 2.6.32 for 64-bit PCs, Linux-VServer support linux-image-2.6.32-5-xen-amd64-dbg - Debugging infos for Linux 2.6.32-5-xen-amd64 linux-image-2.6.32-5-xen-amd64 - Linux 2.6.32 for 64-bit PCs, Xen dom0 support nvidia-kernel-2.6.32-5-amd64 - NVIDIA binary kernel module for Linux 2.6.32-5-amd64 nvidia-kernel-2.6.32-5-vserver-amd64 - NVIDIA binary kernel module for Linux 2.6.32-5-vserver-amd64
Ici, j'ai utilisé la commande linux grep pour selectionner la version 32.
Et nous installerons la version :
linux-image-2.6.32-5-amd64
Merci à bestel74 d'avoir aidé à la création de cet exemple sur le forum df ici :