La distribution Debian propose une enorme collection de programmes, sous la forme de packages qui seront gere par un outil special, apt-get.
Cet outil est une interface (un front-end) pour un autre programme de bas-niveau, dpkg (Debian Package Manager). Ces deux outils s’utilisent en ligne de commande, ce qui permet une grande souplesse (par exemple pour serialiser plusieurs commandes ou pour automatiser une tache).
- Sources.list
- Priorite
- Mettre a jour son systeme
- Exemple
- Lister les fichiers du paquet
- Dependances et effacer un paquet
- Options avancees et interfaces graphiques
Le logiciel libre utilisant intensivement l’Internet, des mises a jour sont disponibles tres regulierement.
Pour en profiter et garder son systeme a jour, il faut bien configurer son systeme pour en profiter au maximum.La distribution Debian propose une enorme collection de programmes, sous la forme de packages qui seront gere par un outil special, apt-get.
Cet outil est une interface (un front-end) pour un autre programme de bas-niveau, dpkg (Debian Package Manager). Ces deux outils s’utilisent en ligne de commande, ce qui permet une grande souplesse (par exemple pour serialiser plusieurs commandes ou pour automatiser une tache).
Il existe des interfaces graphiques, tel http://www.nongnu.org/synaptic/ listant les programmes installés, a mettre a jour.
Sources.list
Les paquets officiels proviennent exclusivement du domaine debian.org, mais il est possible d’ajouter des paquets non-officiels, au risque de destabiliser le systeme par un paquet mal construit.
Le site http://apt-get.org vous propose une liste de source de paquets Debian.
Le fichier /etc/apt/sources.list contient une liste d’adresses de serveurs internet qui propose des paquets Debian.
L’utilitaire apt-setup peut etre interessant pour creer simplement le fichier sources.list.
#apt-get install apt-setup
Note: sous Linux, les lignes de commande sont sensibles a la casse.
apt-get ne correspond pas a Apt-Get ou APT-GET
Exemple de fichier sources.list::
#Securite deb http://security.debian.org/ stable/updates main deb ftp://security.debian.org/debian-security woody/updates main contrib non-free deb ftp://security.debian.org/debian-non-US woody/non-US main contrib non-free #deb ftp://security.debian.org/debian-non-US woody/proposed-updates/non-US main contrib non-free #CD ROM 1 #deb cdrom:[Debian GNU/Linux 3.0 beta _Woody_ - fsn.hu unofficial i386 Binary-1 (20020514)]/ unstable contrib main non-US/contrib non-US/main non-US/non-free non-free #Woody (Stable) deb http://ftp.fr.debian.org/debian stable main contrib non-free deb http://ftp.fr.debian.org/debian-non-US stable/non-US main contrib non-free #Sarge (Testing) deb http://ftp.fr.debian.org/debian testing main contrib non-free deb http://ftp.fr.debian.org/debian-non-US testing/non-US main contrib non-free #Sid (unstable) deb http://ftp.fr.debian.org/debian unstable main contrib non-free deb http://ftp.fr.debian.org/debian-non-US unstable/non-US main contrib non-free
Si jamais vous disposez des cdrom officiels, vous pouvez utiliser l’utilitaire apt-cdrom pour rajouter ces sources.
Priorite
Le systeme Debian est normalement base sur trois distributions: stable, testing et sid (voir http://www.debian.org/doc/manuals/reference/ch-system.fr.html#s-dists pour plus d’informations sur chacune de ces distributions).
Le fichier /etc/apt/preferences preise quelle distribution doit etre installe en priorite
Exemple d’un fichier /etc/apt/preferences:
Package: * Pin: release a=stable Pin-Priority: 700 Package: * Pin: release a=testing Pin-Priority: 400 Package: * Pin: release a=unstable Pin-Priority: 50
Dans l’exemple ci-dessus, on indique qu’on precise la distribution stable aux distributions testing ou unstable.
Note: dans les lignes de commande suivantes, les # indiquent que les commandes sont à lancer sous l’utilisateur root mais ne correspondent pas à la ligne de commande proprement dite.
Mettre a jour son systeme
Rafraichir les listes de paquets
Taper la commande suivante dans une ligne de commande
#apt-get update
Le systeme telecharge les versions actuelles des paquets definies dans le fichier /etc/apt/sources.list
Installer les mises a jour
Mise a jour des paquets installe sur le systeme
#apt-get upgrade
Cette commande cherchera dans les listes de paquets si de nouvelles versions sont disponibles et les installera si c’est necessaire.
Note: Le programme apt-get trouve ici tout son interet car il prend en charge les dependances: il installera ou mettra a jour les bibliotheques necessaires pour le package initiale.
Mises a jour globales
#apt-get dist-upgrade
Cette commande realise la meme operation que apt-get upgrade mais verifie en plus les dependances.
Explications: Si la nouvelle version d’un paquet depend d’un nouveau paquet, apt-get upgrade n’installera pas ce nouveau paquet car il n’est pas installe sur le systeme. apt-get dist-upgrade notera ce manque et installera la nouveau paquet.
La commande apt-get dist-upgrade est utilise en general pour changer de niveau de distribution. Par exemple, on gardera un serveur de production en version stable, mais on peut faire evoluer le serveur de test a la version testing pour profiter des nouvelles versions de logiciels.
Par exemple, on installe un systeme stable puis l’administrateur decide de faire une mise a jour vers un systeme plus a jour, unstable.
Note: comme son nom l’indique, la version unstable de Debian est actualisee plusieurs fois a jour, mais peut bloquer un systeme.
La distribution http::/wwww.ubuntu.org se limite a un petit nombre de paquets et fait le pari de stabiliser la distribution Unstable de Debian tous les six mois. Le but est de proposer un systeme pour postes de travail avec des logiciels plus a jour.
Pour migrer un systeme de stable a unstable:
-Il faut modifier les preferences dans /etc/apt/preferences en fixant une priorite plus importante a unstable qu’a stable
Ainsi tous les paquets installes a partir de maintenant seront tires de la liste unstable.
-Lancer la mise a jour globale
#apt-get dist-upgrade
Tous les paquets installes seront mis a jour.
Exemple
Par exemple, on souhaite installer un serveur pop3.
- Quels packages correspondent a un serveur pop3 ?
#apt-cache search pop3 server`` (...) popa3d - A tiny POP3 daemon, designed with security as the primary goal (...)
- Avoir des informations sur le paquet
Le paquet popa3d semble interessant, mais on souhaiterait avoir un peu d’information dessus.#apt-cache show popa3d (...) Description: A tiny POP3 daemon, designed with security as the primary goal popa3d is fast, small and secure pop3 daemon. It's written from scratch by Solar Designer for OWL (Openwall Gnu/*/Linux). (...)
- Quelles sont les diff?entes versions disponibles pour ce paquet?
#apt-cache policy popa3d popa3d: Installed: (none) Candidate: 0.6.4.1-3 Version Table: 0.6.4.1-3 0 900 ftp://ftp.nerim.net testing/main Packages 300 ftp://ftp.nerim.net unstable/main Packages 0.5.1-2 0 500 http://security.debian.org stable/updates/main Packages 0.5.1-1 0 500 ftp://ftp.nerim.net stable/main PackagesCette liste indique que le paquet est present dans 4 listes de paquets:
testing (priorite 900)
unstable (priorite 300)
stable securite (priorite 500)
stable (priorite 500)Le paquet candidat a l’installation sera celui preent dans la liste avec la priorite la plus eleve. Ici, le systeme utilisera la liste testing (priorite 900).
= Installer le paquet =
== Cas general ==
L’administrateur laisse le systeme choisir la liste approprie (il a defini ses preferences dans/etc/apt/preferences), donc on installe le paquet avec:# apt-get install popa3d Reading Package Lists... Done Building Dependency Tree... Done The following NEW packages will be installed: popa3d 0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. Need to get 29.9kB of archives. After unpacking 94.2kB of additional disk space will be used. Get:1 ftp://ftp.nerim.net testing/main popa3d 0.6.4.1-3 [29.9kB] Fetched 29.9kB in 1s (19.0kB/s) Preconfiguring packages ... Selecting previously deselected package popa3d. (Reading database ... 109824 files and directories currently installed.) Unpacking popa3d (from .../popa3d_0.6.4.1-3_i386.deb) ... Setting up popa3d (0.6.4.1-3) ... Adding group `popa3d' (110)... Done. Adding system user `popa3d'... Adding new user `popa3d' (106) with group `popa3d'. Starting pop daemon: popa3d.
Cas particulier
Dans certains cas, on souhaite installer un paquet d’une autre liste. Par exemple, on utilise la liste stable, mais le paquet ou la version du paquet qui nous interesse n’existe pas pour cette liste (et n’existera que dans la prochaine version de la liste stable)
On indique donc au systeme qu’on souhaite utiliser une autre liste:
# apt-get install popa3d -t testing
L’installation lance automatique la phase de configuration. Pour le paquet popa3d, l’administrateur doit choisir de lancer le demon seul (mode stand alone) ou lie au demon inetd.
Note: Les paquets peuvent avoir des dependances sur d’autres paquets (par exemple une bibliotheque peut etre necessaire pour faire fonctionner le programme). Si les paquets marques comme dependances ne sont pas installes ou les versions ne correspondent pas, le systeme (apt-get) les installera.
Lister les fichiers du paquet
Le systeme de paquets a l’avantage de savoir exactement quels fichiers sont installes par un paquet donne
On utilisera un programme plus bas-niveau, dpkg (apt-get est une interface pour dpkg) pour cette operation.
#dpkg -L popa3d
Dependances et effacer un paquet
Quels dependances pour ce paquet?
#apt-cache depends popa3d
De quels paquets depend ce paquet?
#apt-cache rdepends popa3d
Effacer un paquet
#apt-get remove popa3d
L’option --purge permet d’effacer outre le paquet tous les fichiers de configuration
#apt-get remove --purge popa3d
Options avancees et interfaces graphiques
Options avancees
Il existe plus d’options et de possibilite que celles presentees ici. Je vous renvois donc a l’aide.
# man apt-get # man apt-cache # man dpkg
Petite aide pour le man (#man man fonctionne aussi):
Sortir: :q
Chercher: /[expression]
(occurence suivante: n ; precedente: p)
Interfaces graphiques
Il existe des utilitaires graphiques, tel que dselect, tasksel, aptitude ou synaptic pour mettre a jour un systeme Debian. Aptitude est un outil en console pour installer des paquets, tasksel permet d’installer un ensemble complet de paquets pour un systeme precis (web server par exemple). Dselect est un outil historique, moins facile d’acces qu’Aptitude ou Synaptic.
Mots-clefs : Administration, Articles, Debian, Linux, technique