Apt-get est un outil logiciel à utiliser en ligne de commande.
Il permet d'effectuer l'installation et la désinstallation de paquets en provenance d'un dépôt APT.
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, 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.
Pour utiliser apt-get
, vous devez disposer des 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.
sudo apt-get install <packet> <packet 2> etc ...
Avant de lancer l'installation, il est parfois utile de vérifier la version qui sera installée, les dépendances, …
apt show <nom_du_paquet>
sudo apt-get install <paquet>=<version> -V
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").
sudo apt-get install -y <paquet(s)>
L'option -y permet de répondre oui par avance aux demandes de confirmations. Utile pour une utilisation dans un script, par exemple.
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 :
sudo apt-get install -f
Il faut cependant que la dépendance soit disponible dans les dépôts.
install
ou remove
, cette commande exclura le paquet spécifié pour rechercher une solution viable pour le système.sudo apt-get -f install vlc
recherchera une solution pour faire fonctionner VLC media player sans corrompre le système ().
Il n'existe pas de solution sur apt-get pour forcer une installation. Dpkg a quelques options dans ce sens, mais qui ne résolvent pas toutes les situations pour autant.
sudo dpkg -i --force-overwrite package.deb sudo dpkg -i --force-all package.deb
Pour rechercher un paquet dans vos dépôts, tapez simplement la commande suivante :
apt-cache search <word1 word2 ...>
L'option search
passée à apt-cache
permet de chercher les paquets contenant certains mots.
dpkg -l NomDuPaquet
apt-get source <paquet(s)>
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:
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
sudo apt-get remove <paquets(s)>
L'option remove
permet de désinstaller les paquets indiqués. Ceci laisse toutefois en place les fichiers de configuration de ces paquets.
sudo apt-get autoremove <paquets(s)>
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.
sudo apt-get autoremove --purge
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 7). Les fichiers de préférences8), les journaux (logs) 9) et ceux, des anciens noyaux, marqués "d'installation manuelle" ne sont pas supprimés.
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.
sudo apt-get clean
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.)
sudo apt-get autoclean
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".
sudo apt-get update
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.
sudo apt-get install <paquet(s)> -V
L'option install
met à jour les paquets indiqués déjà installés, vers leurs dernières versions (rarement utilisé).
apt-get --simulate upgrade
L'option simulate
simule la mise à jour des paquets sans réellement les installer (rarement utilisé).
sudo apt-get upgrade
L'option upgrade
met à jour tous les paquets installés sur le système vers les dernières versions (couramment utilisé).
sudo apt-get dist-upgrade
L'option dist-upgrade
met à jour tous les paquets installés vers les dernières versions en installant de nouveaux paquets si nécessaire, par opposition à l'upgrade simple qui n'ajoute pas de nouveaux paquets.
Remarque : taper "man apt-get" dans un terminal donne une réponse en français et une explication plus complète et plus claire.
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.
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
ou XXXXXXXXXXXX reprend la liste des paquets conservés.
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:
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 souhaiter 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 sudo apt-cache policy nom_du_paquet, pour l'exemple du paquet kaffeine
sudo apt-cache policy kaffeine
Pour les utilisateurs d'apt-get :
sudo apt-mark hold kaffeine
Pour vérifier que le paquet n'a plus le statut install mais hold 10) :
apt-mark showhold
devrait afficher
kaffeine
dans la liste des réponses
Pour le débloquer :
sudo apt-mark unhold kaffeine
Pour les utilisateurs d'aptitude11):
Pour geler un paquet
sudo aptitude hold kaffeine
Pour dégeler un paquet
sudo aptitude unhold kaffeine
Pour lister les paquets gelés :
sudo dpkg --list | grep ^hi
ou
sudo aptitude search "~ahold"
Remplacer kaffeine par le paquet que vous voulez bloquer ;)
Voir cette page pour pouvoir facilement faire une sauvegarde de la liste des paquets installés.
Installer le paquet unattended-upgrades et lire ce 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 disposez d'un réseau local, pour économiser de la bande passante externe lors des mises à jours vous pouvez mettre en cache sur une des machines les paquets téléchargés et les déployer ensuite sur les autres postes en faisant appel à apt-cacher.
Il suffit d'exporter les paramètres du proxy à utiliser dans la variable d'environnement http_proxy, sous la forme suivante :
export http_proxy=http://utilisateur:motdepasse@exemple.com:port
où :
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 :
Acquire::http::Proxy "http://utilisateur:motdepasse@exemple.com:port";
Pour un proxy FTP ajouter une partie comme suit :
Acquire::ftp { Proxy "ftp://exemple.com:port/"; ProxyLogin { "USER $(SITE_USER)@$(SITE)"; "PASS $(SITE_PASS)"; } }
où :
N'oubliez pas, bien sûr, de changer le nom d'hôte exemple.com et le port.
Et voilà il n'y a plus de proxy
Créer avec les droits d'administration le fichier /etc/apt/apt.conf.d/76download et copier les lignes suivantes pour limiter le téléchargement.
Par exemple ici à 25kB/s :
Acquire { Queue-mode "access"; http { Dl-Limit "25"; }; };
less /var/log/apt/history.log
history.log correspond à l'historique du mois en cours.
On affiche un tel fichier archivé avec zless
zless /var/log/apt/history.log.1.gz
—- Contributeurs : TrHiLKiL, ste, Emmanuel Gontcho, david96, boogy, Crustyourmind .