Petite fiche cuisine pour l'utilisation d'APT
Que veut dire APT ?
APT est l'abréviation d'Advanced Packaging Tool (Outil de paquetage avancé) et constitue un ensemble de programmes et de scripts à la fois facilitant pour l'administrateur (dans votre cas, root), les tâches d'installation et de gestion des fichiers .deb, et pour le système en lui-même, l'identification de ses constituants.
Liste de Sources
Le système APT a besoin d'un fichier de configuration qui contient des informations concernant les emplacements des paquets pouvant être installés ou mis à jour. Ce fichier se nomme sources.list.
Les sources des paquets sont stockées dans un répertoire nommé :
/etc/apt/sources.list.d/
Dans ce répertoire se trouvent deux fichiers :
/etc/apt/sources.list.d/debian.list and
/etc/apt/sources.list.d/aptosid.list
Ceci présente l'avantage de faciliter les modifications de miroirs ( automatisation), et rend les changements de listes plus sûrs.
Vous pouvez aussi ajouter vos propres fichiers /etc/apt/sources.list.d/*.list
Toutes les images ISO de aptosid utilisent par défaut la liste de sources suivante:
#aptosid # Free University Berlin/ spline (Student Project LInux NEtwork), Germany deb ftp://ftp.spline.de/pub/aptosid/debian/ sid main fix.main #deb-src ftp://ftp.spline.de/pub/aptosid/debian/ sid main fix.main
Des entrées additionnelles pour la récupération d'outils non-libres, sont disponibles sur aptosid.list and debian.list, et mises-à-jour régulièrement.:
#Debian # Unstable deb http://ftp.us.debian.org/debian/ unstable main contrib non-free #deb-src http://ftp.us.debian.org/debian/ unstable main contrib non-free # Testing #deb http://ftp.us.debian.org/debian/ testing main contrib non-free #deb-src http://ftp.us.debian.org/debian/ testing main contrib non-free # Experimental #deb http://ftp.us.debian.org/debian/ experimental main contrib non-free #deb-src http://ftp.us.debian.org/debian/ experimental main contrib non-free
NOTE: Dans cet exemple, ftp.us indique le recours à des miroirs aux USA. Vous pouvez éditer votre fichier, afin d'utiliser des miroirs plus proches de vous, en changeant simplement l'abréviation de pays, par exemple en remplaçant ftp.us par ftp.fr ou ftp.ca. Il existe des miroirs debian dans de très nombreux pays. Ainsi la bande passante sera utilisée de manière intelligente et la vitesse améliorée.
Liste de serveurs et mirroirs Debian et leur statut actuel.
Pour actualiser son information relative aux paquets disponibles dans des version à jour, APT utilise une base de données. Cette base de données stocke l'information sur chaque paquet (paquets et paquetages sont utilisés indifférament), mais également celle se rapportant à d'autres paquetages pouvant se révéler indispensables pour que tel ou tel paquet fonctionne (on appelle ceci les dépendances). Le programme apt-get consulte cette base de données lorsqu'il installe un paquet à votre demande ; il en identifie grâce à elle les dépendances, vous assurant ainsi que le paquet logiciel choisi fonctionne. La mise-à-jour de la base de données s'opère par la commande apt-get update.
# apt-get update (which returns) Get:1 http://aptosid.com sid Release.gpg [189B] Get:2 http://aptosid.com sid Release.gpg [189B] Get:3 http://aptosid.com sid Release.gpg [189B] Get:4 http://ftp.de.debian.org unstable Release.gpg [189B] Get:5 http://aptosid.com sid Release [34.1kB] Get:6 http://ftp.de.debian.org unstable Release [79.6kB]
Dans aptosid, veillez à mettre-à-jour votre base de données chaque jour où vous souhaitez apporter une modification à votre système de paquetages, c'est-à-dire avant d'installer un ou plusieurs paquets de logiciels.
Installer un nouveau paquet
Actualiser des paquets et en installer de nouveaux sans sortir de X peut poser des problèmes. Toute méthode d'installation de paquetage sous X n'est pas sans danger potentiel.
Du moment où le logiciel que vous voulez installer ne propose pas de mettre à jour d'autres paquets, alors il peut être sans danger de procéder sans sortir de X. Si au contraire il propose la mise-à-niveau d'autres paquets il est recommandé une extrême prudence car il ne faut surtout pas que les paquets concernés soient en cours d'utilisation. Si vous n'êtes pas sûr, alors sortez de X avant d'installer vos paquetages.
Sachez bien ce que vous faites et au moindre doute, comme pour dist-upgrade, préférez sortir de X. Mettre à niveau un système installé - dist-upgrade - Les étapes .
On suppose qu'en vertu de ce qui est dit plus haut, votre base de données APT est à jour et que le nom du paquet est connu. Dans ce cas, la commande suivante va servir à installer par exemple, le paquet qemu, ainsi que ses dépendances : (nous verrons plus loin comment rechercher et trouver des paquets.)
# apt-get install qemu Lecture de la liste des paquets... Done Construction de l'arbre des dépendances... Done Les paquets additionnels suivants devront être installés: bochsbios openhackware proll vgabios Paquets recommandés: debootstrap vde Les NOUVEAUX paquets suivants vont être installés: bochsbios openhackware proll qemu vgabios 0 mis-à-jour, 5 nouvellement installés, 0 à enlever et 20 non mis-à-jour. Besoin de charger 4152kB d'archives. Après le dépaquetage 11.9MB d'espace disque additionnel seront utilisés. Voulez-vous continuer [O/n]? n
Désinstaller un paquet
De même il n'est pas surprenent que la commande qui suit désinstalle le paquet souhaité sans pour autant désinstaller les dépendances:
apt-get remove gaim
Lecture de la liste des paquets... Done Construction de l'arbre des dépendances... Done Les paquets suivants vont être ENLEVÉS: gaim gaim-irchelper 0 mis-à-jour, 0 nouvellement installés, 2 à enlever et 310 non mis-à-jour. Besoin de charger 0kB d'archives. Après le dépaquetage 4743kB d'espace disque seront libérés. Voulez-vous continuer [O/n]? (Lecture de la base de données ... 174409 fichiers et dosssiers actuellement installés.) Suppression de gaim-irchelper ... Suppression de gaim ...
Dans l'exemple précédent les fichiers de configuration du paquetage 'gaim' (ses préférences, etc.) ne sont pas effacés du système. Vous pouvez les réutiliser en réinstallant le même paquet à nouveau, qui utilisera ces réglages.
Si vous désirez que les fichiers de configuration soient enlevés eux aussi, utilisez la commande :
apt-get --purge remove gaim
Lecture de la liste des paquets... Done Construction de l'arbre des dépendances... Done Les paquets suivants vont être ENLEVÉS: gaim* 0 mis-à-jour, 0 nouvellement installés, 1 à enlever et 310 non mis-à-jour. Besoin de charger 0kB d'archives. Après le dépaquetage 4743kB d'espace disque seront libérés. Voulez-vous continuer [O/n]? (Lecture de la base de données ... 174409 fichiers et dosssiers actuellement installés.) Suppression de gaim ... Purge des fichiers de configuration de gaim...
Remarquez l'* après le nom du paquet dans le retour d'apt. L'astérisque dans ce retour d'apt signifie que les fichiers de configuration seront aux aussi effacés.
Retourner à une version antérieure et/ou conserver un paquet
Il est parfois nécessaire de revenir à une version antérieure d'un paquetage ou de le garder en l'état, du fait qu'un bug important compromette la version la plus récente que vous auriez installé.
Pour conserver un paquet en l'état
echo paquet hold|dpkg --set-selections
Pour lever la conservation en l'etat
echo paquet install|dpkg --set-selections
Pour afficher les paquets conservés en l'état:
dpkg --get-selections | grep hold
Revenir à la version antérieure
Debian ne supporte pas la rétrogradation des paquets. Bien qu'il semble fonctionner dans des cas simples, il pourrait échouer de manière spectaculaire pour d'autres paquets. S'il vous plaît se référer à rétrogradation d'urgence.
Despite Malgré le fait qu'il ne soit pas supporté, la rétrogradation est connue fonctionner pour de simples paquets. Les étapes de rétrogradation du paquet kmahjongg à titre d'exemple:
- commenter les dépots unstable dans /etc/apt/sources.list.d/debian.list par un
- Ajouter les dépots testing dans /etc/apt/sources.list.d/debian.list , par exemple:
deb http://ftp.nl.debian.org/debian/ testing main contrib non-free
-
apt-get update
-
apt-get install kmahjongg/testing
- Mettre le nouveau paquet installé en attente avec:
echo kmahjongg hold|dpkg --set-selections
- commenter par <# > les dépots testing dans /etc/apt/sources.list.d/debian.list et décommenter les dépots unstable afin de revenir à l'utilisation des dépots unstable, ensuite:
-
apt-get update
Quand vous voudrez à nouveau obtenir la dernière version disponible du paquet, vous ferez :
echo kmahjongg install|dpkg --set-selections apt-get update apt-get install kmahjongg
apt-mark
apt-mark est un outil utile qui montre quels paquets sont automatiquement ou manuellement installés et offre à l'administrateur système l'occasion de marquer et mettre en attente les paquets qui ne doivent pas être supprimés automatiquement. Lire:
man apt-mark
Mise-à-niveau de toute une installation- dist-upgrade - Overview
Si ce que vous désirez c'est mettre tout votre système à niveau, il vous faut utiliser la commande dist-upgrade. Vous devriez toujours vérifier les alertes actuelles sur le site principal de aptosid, et vérifier les alertes pour les paquets que votre système veut mettre à jour. Si vous avez besoin de conserver certains paquets avec hold comme décrit dans la section de Retourner à une version antérieure et/ou conserver un paquet en l'état.
L'utilisation de "apt-get upgrade" façon debian sid, n'est pas recommandée avec aptosid.
Frequence de dist-upgrade
Faites 'dist-upgrade' aussi souvent que vous le pourrez, dans l'idéal une fois par semaine ou quinzaine, et au moins une fois par mois, pour plus de sûreté. Faire 'dist-upgrade' une fois par 2 ou 3 mois peut être considéré comme risqué. Avec des paquets non-standards ou des paquets compilés par vous-même, vous devez être plus prudent avec les mises à jour, parce qu'ils peuvent casser votre système à n'importe quel moment, du fait d'incompatibilités.
Après la mise-à-jour de la base de données par apt-get update, il est possible de lister les logiciels nouveaux et ceux pour lesquels une mise-à-jour est disponible: (il faut installer apt-show-versions en préalable)
apt-show-versions -u libpam-runtime/unstable upgradeable from 0.79-1 to 0.79-3 passwd/unstable upgradeable from 1:4.0.12-5 to 1:4.0.12-6 teclasat/unstable upgradeable from 0.7m02-1 to 0.7n01-1 libpam-modules/unstable upgradeable from 0.79-1 to 0.79-3.........
La mise-à-jour individuelle d'un paquetage et de ses dépendances utilise la même syntaxe que l'installation, comme cet exemple (pour gcc-4.0):
apt-get install gcc-4.0 Lecture de la liste des paquets... Done Construction de l'arbre des dépendances... Done gcc-4.0 est déjà la version la plus récente. 0 mis-à-jour, 0 nouvellement installés, 0 à enlever et xxx non mis-à-jour.
Simple téléchargement
Assez peu connue, mais cependant pratique, il existe une option -d dans apt-get :
apt-get update && apt-get dist-upgrade -d
dist-upgrade avec l'option -d (d=download) vous permet de télécharger les paquets de "dist-upgrade" pendant que vous êtes dans X ; les paquets sont télechargés mais ne sont ni décompressés ni installés, ce qui vous permet de faire le vrai "dist-upgrade" plus tard dans init 3, et vous donne aussi l'opportunité de vérifier les alertes pour la liste des paquets, parce que vous avez le choix de continuer ou de suspendre le téléchargement des paquet en cours.
apt-get dist-upgrade -d
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
elinks-data
The following packages have been kept back:
git-core git-gui git-svn gitk icedove libmpich1.0ldbl
The following packages will be upgraded:
alsa-base bsdutils ceni configure-ndiswrapper debhelper
discover1-data elinks file fuse-utils gnucash.........
35 upgraded, 1 newly installed, 0 to remove and 6 not upgraded.
Need to get 23.4MB of archives.
After this operation, 594kB of additional disk space will be used.
Do you want to continue [Y/n]?Y
O téléchargera les paquets mis-à-jour sans rien modifier au système installé.
Les téléchargements répondant à la commande 'dist-upgrade -d' terminés, si vous désirez finaliser aussitôt la mise-à-niveau (dist-upgrade) de votre installation, ou si vous préférez y procéder plus tard, suivez alors ces instructions :
dist-upgrade - Les étapes
## Log out of KDE.
## Go to Textmode by doing Ctrl+Alt+F1
## logon as root, and then type:
service kdm stop ##If using another window manager replace kdm, for example with gdm
apt-get update
apt-get dist-upgrade
apt-get clean
service kdm start ##If using another window manager replace kdm, for example with gdm
Si vous ne passez pas en mode init 3, et bien tant pis pour vous...on vous aura avertis !
Quelques explications sur les raisons d'employer APT-GET et RIEN D'AUTRE pour un dist-upgrade
Les gestionnaires de paquetages comme adept, aptitude, synaptic ou kpackage ne sont pas toujours capables d'intégrer certains changements radicaux et brutaux qui se produisent fréquemment dans les développements de SID (changements de dépendances, de noms de paquets, de scripts de maintenance, etc.).
Ceci n'est pas dû à des erreurs des développeurs de ces outils, ce sont des outils bien pratiques et utile à la branche stable de Debian ; c'est juste qu'ils ne sont pas adaptés à la branche SID (unstable).
Utilisez ce que vous voudrez pour rechercher des paquetages, mais tenez-vous en à apt-get pour tout ce qui touche à l'installation, à la désinstallation et à la mise-à-niveau de paquetages ou d'installation.
Les gestionnaires de paquetages comme adept, aptitude, synaptic ou kpackage présentent des limitations face à la sélection complexe de paquetages ; ajoûtez celà au contexte extrêmement changeant des cibles Sid, pire encore à celui de miroirs externes dont la qualité se discute souvent (nous ne les recommandons pas ni n'en utilisons, mais supposons qu'ils correspondent à une réalité sur votre machine) et vous avez tout risque d'obtenir un désastre.
L'autre point c'est bien sûr que fonctionnant pour beaucoup en mode graphique, soit X, vous risquiez d'endommager votre système de manière irrémédiable en les utilisant à un upgrade ou dist-upgrade...
D'un autre côté, on notera qu'apt-get effectue mot-pour-mot ce que vous lui demandez ; c'est-à-dire que si un problème se pose, il vous en avertit, vous pouvez l'identifier et y remédier dans de nombreux cas. Si apt-get vous propose de désinstaller la moitié de votre système (par exemple lors de la transition radicale de librairies), c'est à vous, l'administrateur, d'y prêter l'attention nécessaire.
C'est pourquoi les habitués de Debian utilisent apt-get et non d'autres outils de gestion des paquetages.
Chercher un paquetage avec apt-cache
Une commande vraiment très utile du système APT est apt-cache; celle-ci parcourt la base de données APT et vous fournit en retour des informations sur les paquets. Ainsi par exemple, si vous souhaitez connaître le nom de paquets contenant dans leur nom ou leur description les termes "aptosid" et "manual" , faites:
$ apt-cache search aptosid manual ....... aptosid-manual-common - the official aptosid manual - common files aptosid-manual-es - the official Spanish aptosid manual aptosid-manual-de - the official German aptosid manual aptosid-manual-el - the official Greek aptosid manual aptosid-manual - the official aptosid manual - all languages aptosid-manual-pt-br - the official Brazilian Portuguese aptosid manual aptosid-manual-en - the official English aptosid manual aptosid-manual-reader - aptosid manual reader
Pour obtenir une information détaillée se rapportant à un paquetage particulier, utilisez apt-cache show, comme ceci:
$ apt-cache show aptosid-manual-en Package: aptosid-manual-en Priority: optional Section: doc Installed-Size: 1088 Maintainer: Kel Modderman <[email protected]> Architecture: all Source: aptosid-manual Version: 01.12.2007.06.03-1 Depends: aptosid-manual-common Filename: pool/main/s/aptosid-manual/aptosid-manual-en_01.12.2007.06.03-1_all.deb Size: 391222 MD5sum: 60f2175c3c5709745a4b4256ccc3c49d SHA1: e275a0b27628b6aa210a4ced48d3646b438e78b8 SHA256: 2792580c7a091521301064180a1d0d8901f0a4af407b90432b9f8d8b6b3603ca Description: the official en aptosid manual This manual is divided into common sections, for example, .......
Bien sûr beaucoup d'information sur les paquets Debian se présente encore en anglais. Si plus de traducteurs bénévoles contribuaient à traduire ces informations en version francophone, cela aiderait bien des personnes. En effet, le système APT est désormais capable d'afficher l'information dans la langue du système, dès lors que cette traduction existe.
Toutes les versions installables d'un paquet (en fonction de la structure de votre sources.list) peuvent être énumérées en utilisant cette syntaxe :
$ apt-cache policy aptosid-manual-fr aptosid-manual-fr: Installed: (none) Candidate:01.12.2007.06.03-1 Version table: 01.12.2007.06.03-1 0 500 http://aptosid.com sid/main Packages
Vous trouverez l'intégralité de l'information sur le système APT à la page APT-HOWTO ou en installant le paquet apt-howto-fr, disponible en version texte ou html.
Rappel : vous trouverez l'intégralité de l'information sur le système APT à la page APT-HOWTO ou en installant le paquet apt-howto-fr, disponible en version texte ou html.