Préparation LPI
Exam 101
102.4. Debian package management
Document sous licence Creative commons « byncsa » http://creativecommons.org/licenses/byncsa/2.0/fr/
Sommaire
dpkg
apt*
aptitude
dselect
dkpgreconfigure
alien
UPMC - FP – Préparation LPI - v 1.1
2
102.4 Domaines de connaissances
Poids : 3
Installer, réinstaller, mettre à jour et supprimer des
paquetages Debian
Trouver des paquetages contenant des fichiers ou librairies
spécifiques devant ou non être installé
Extraire les informations des paquetages : contenu,
intégrité, état d'installation
UPMC - FP – Préparation LPI - v 1.1
3
102.4 dpkg
Gestion des paquetages dans une distribution Debian
Ubuntu
Paquets au format .deb. Utilisés dans les distributions
issues de la Debian
Convention de nommage
nompaquet_versionrevisionDebian_plateforme.deb
Utilitaire pour installation/désinstallation/création des
paquets .deb : dpkg
Système de gestion de paquets debian et des dépendances
: APT (Advanced Packaging Tool)
Commandes apt en ligne de commande. Servent de support
(via libapt) aux outils graphiques : Synaptic (Gnome) ou
Adept (Kde)
UPMC - FP – Préparation LPI - v 1.1
4
102.4 dpkg
Définition des sources (dépôts)
Le fichier /etc/apt/sources.list contient la liste des
sources des paquets
Syntaxe : type URI distribution [composant] [...]
type :
● deb : binaires
● Debsrc : sources
URI : chemin complet du dépôt
distribution : la distribution concernée
composant : la partie choisie dans la distrbution (main,
mainsources,...)
UPMC - FP – Préparation LPI - v 1.1
5
102.4 dpkg
$ cat /etc/apt/source.list
....
deb http://fr.archive.ubuntu.com/ubuntu/ gutsy main restricted
debsrc http://fr.archive.ubuntu.com/ubuntu/ gutsy main restricted
Major bug fix updates produced after the final release of the
distribution.
deb http://fr.archive.ubuntu.com/ubuntu/ gutsyupdates main restricted
debsrc http://fr.archive.ubuntu.com/ubuntu/ gutsyupdates main restricted
...
UPMC - FP – Préparation LPI - v 1.1
6
102.4 dpkg
dpkg [option][actions] [nomfichierdeb|nom
paquet]
Actions :
i (install) : installer un paquetage
I : affiche les informations du paquetage non installé
unpack : dépaquete le paquetage
configure : configuration d'un paquet dépaqueté
(installation des fichiers de configuration et exécutiuon
du script postinst)
r : supprime un paquet tout en conservant les fichiers
de configuration
P : supprime un paquet ainsi que les fichiers de
configuration
UPMC - FP – Préparation LPI - v 1.1
7
102.4 dpkg
Actions ... :
l motifnompaquet : liste les paquetage
satisfaisant au motif
s nompaquet : affiche l'état du paquet
L nompaquet : affiche la liste des fichiers contenus
dans le paquet
S motiffichier : recherche les fichiers satisfaisant
au motif dans les paquets installés
p nompaquet : affiche les informations d'un paquet
installé
UPMC - FP – Préparation LPI - v 1.1
8
102.4 dpkg
Advertisement
Options :
B : Déconfigure les paquets dépendants d'un paquet
supprimé
forceqqc : force qqc (quelquechose) où qqc est :
● all : met en eouvre toutes les options de
forçage
● downgrade : installe un paquet même si une
version plus récents est installée
ignoredepends : ignore la vérification des
dépendances
noact : teste la commande sans rien modifer sur le
disque
R : agit récursivement sur tous les fichiers .deb
UPMC - FP – Préparation LPI - v 1.1
9
102.4 dpkg
Options... :
E : pas d'installation si une version similaire est déjà
installée
C : essaie de réinstaller les paquets installés
incomplètement
Dpkg plus adapté
Pour l'appliquer sur un paquet
Pour installer un paquet récupéré depuis une source
différente d'un dépôt
UPMC - FP – Préparation LPI - v 1.1
10
102.4 dpkg
Fichiers assocés à dpkg :
/etc/dpkg/dpkg.cfg : options par défaut de dpkg
/var/log/dpkg.log : fichier journal de dpkg
/var/lib/dpkg/available : liste des paquets
disponibles
/var/lib/dpkg/status : état des paquets (doit être
installé, doit être supprimé,...)
UPMC - FP – Préparation LPI - v 1.1
11
102.4 dpkg
En fonction des actions suivantes, dpkg agit comme une
interface à l'utilitaire dpkgdeb :
b, c, I, f, e, x, X
En fonction des actions suivantes, dpkg agit comme une
interface à l'utilitaire dpkgquery :
l, s, L, S, p
D'une manière générale
Fournir en paramètre le nom du fichier .deb pour les
actions d'installation et de d'information d'un paquetage
non installé (action i et I)
Fournir le nom court du paquetage dans les autres cas
UPMC - FP – Préparation LPI - v 1.1
12
102.4 dpkg-reconfigure
dpkgreconfigure nompaquet
Lance la reconfiguration initiale d'un paquet à partir du script
de configuration présent dans le paquet
Spécificité dpkg vs rpm
UPMC - FP – Préparation LPI - v 1.1
13
102.4 apt-get
Le fichier /etc/apt/apt.conf concerne la configuration
globale du système apt
Sur Ubuntu : plusieurs fichiers de conf dans /etc/apt/apt.conf.d
Exemple : configuration d'un proxy
Acquire::http::Proxy “http://User:Pass@Serveur:Port”;
UPMC - FP – Préparation LPI - v 1.1
14
102.4 apt-get
apt-cache : outil de recherche et d'information sur les
paquets. S'appuie sur la base de données liées aux paquets
installés.
Syntaxe : apt-cache action arguments
Recherche de paquet : apt-cache search motif
motif : expression régulière
Informations sur un paquet : apt-cache show motif
Recherche de dépendances sur un paquet :
apt-cache depends paquet
Affichage des statistiques de la base
apt-cache stats
UPMC - FP – Préparation LPI - v 1.1
15
102.4 apt-get
Affichage des paquets qui dépende du paquet spécifié :
apt-cache rdepends paquet
Liste des paquets installés dont le nom commence par
chaine : apt-cache pkgnames chaine
UPMC - FP – Préparation LPI - v 1.1
16
102.4 apt-get
fpuser@vmubuntu:~$ aptcache search lyx
....
karpski ethernet analyzer and sniffer
kbib A BibTeX edit/management program for KDE
latexxftfonts Xftcompatible versions of some LaTeX fonts
lyx Document Processor
lyxcommon Architectureindependent files for LyX
Advertisement
polyxmass Mass spectrometry software framework
polyxmassbin Mass spectrometry framework GUI program
polyxmassbincommon Mass spectrometry framework GUI program archindep data
polyxmasscommon Mass spectrometry framework essential polymer chemistry data
polyxmassdata Mass spectrometry framework supplementary chemical data
polyxmassdoc Mass spectrometry framework documentation
fpuser@vmubuntu:~$ aptcache namesonly search lyx
lyx Document Processor
lyxcommon Architectureindependent files for LyX
polyxmass Mass spectrometry software framework
polyxmassbin Mass spectrometry framework GUI program
polyxmassbincommon Mass spectrometry framework GUI program archindep data
...
UPMC - FP – Préparation LPI - v 1.1
17
102.4 apt-get
fpuser@vmubuntu:~$ aptcache show lyx
Package: lyx
Priority: optional
Section: universe/editors
InstalledSize: 8368
Maintainer: Ubuntu MOTU Developers <ubuntu[email protected]>
OriginalMaintainer: Debian LyX Maintainers <pkglyx[email protected]>
Architecture: i386
Version: 1.5.12ubuntu1
Replaces: lyxcommon (<< 1.5.0~beta13)
Depends: libaiksaurus1.20c2a (>= 1.2.1+dev0.12), libaspell15 (>= 0.60), libboost
filesystem1.34.1, libboostregex1.34.1, libboostsignals1.34.1, libc6 (>= 2.61), libgcc1 (>= 1:4.2.1),
libqt4core (>= 4.3.2), libqt4gui (>= 4.3.2), libstdc++6 (>= 4.2.1), libx116, zlib1g (>= 1:1.2.3.3.dfsg
1), lyxcommon (= 1.5.12ubuntu1), xdgutils, mimesupport
....
Description: Document Processor
LyX is an almost WYSIWYGfrontend for LaTeX. It makes the power and
typesetting quality of LaTeX available for people who are used to
....
Bugs: mailto:ubuntu[email protected]
Origin: Ubuntu
UPMC - FP – Préparation LPI - v 1.1
18
102.4 apt-get
fpuser@vmubuntu:~$ aptcache depends
lyx
lyx
Dépend: libaiksaurus1.20c2a
Dépend: libaspell15
Dépend: libboostfilesystem1.34.1
Dépend: libboostregex1.34.1
Dépend: libboostsignals1.34.1
Dépend: libc6
Dépend: libgcc1
Dépend: libqt4core
Dépend: libqt4gui
Dépend: libstdc++6
Dépend: libx116
Dépend: zlib1g
Dépend: lyxcommon
Dépend: xdgutils
Dépend: mimesupport
|Suggère: cupsysclient
Suggère: lpr
cupsysbsd
....
UPMC - FP – Préparation LPI - v 1.1
19
102.4 apt-get
apt-get : outil d'installation et de désinstallation de
paquets
En premier lieu il faut récupérer la liste des paquets et les
descriptions associées : sudo apt-get update
Utilisation classique de la commande sudo avec une
distribution Debain/Ubuntu pour exécuter une commande
qui nécessite les droits de root
Equivalent à la commande yum dans le mone RPM
UPMC - FP – Préparation LPI - v 1.1
20
102.4 apt-get
@vmubuntu:~$ aptget update
E: Impossible d'ouvrir le fichier verrou /var/lib/apt/lists/lock open (13 Permission non accordée)
E: Impossible de verrouiller le répertoire de liste
@vmubuntu:~$ sudo aptget update
password for fpuser:
Ign cdrom://Ubuntu 7.10 _Gutsy Gibbon_ Release i386 (20071016) gutsy/main Translationfr
Ign cdrom://Ubuntu 7.10 _Gutsy Gibbon_ Release i386 (20071016) gutsy/restricted Translationfr
Réception de : 1 http://security.ubuntu.com gutsysecurity Release.gpg [191B]
Ign http://security.ubuntu.com gutsysecurity/main Translationfr
Ign http://security.ubuntu.com gutsysecurity/restricted Translationfr
Ign http://security.ubuntu.com gutsysecurity/universe Translationfr
Ign http://security.ubuntu.com gutsysecurity/multiverse Translationfr
Atteint http://security.ubuntu.com gutsysecurity Release
Atteint http://security.ubuntu.com gutsysecurity/main Packages
Atteint http://security.ubuntu.com gutsysecurity/restricted Packages
Atteint http://security.ubuntu.com gutsysecurity/main Sources
....
Atteint http://fr.archive.ubuntu.com gutsyupdates/multiverse Packages
Atteint http://fr.archive.ubuntu.com gutsyupdates/multiverse Sources
Advertisement
295ko réceptionnés en 5s (56,8ko/s)
Lecture des listes de paquets... Fait
UPMC - FP – Préparation LPI - v 1.1
21
102.4 apt-get
Après avoir recherché le paquet souhaité avec aptcache,
on utilise aptget pour installer le paquet :
sudo apt-get install nom-paquet
Pour supprimer un paquet installé :
sudo apt-get remove nom-paquet
Attention ! Ne supprime pas les dépendances devenues
inutiles
Pour supprimer les dépendances « orphelines »
sudo apt-get autoremove
UPMC - FP – Préparation LPI - v 1.1
22
102.4 apt-get
Possibilité de mettre à jour l'ensemble des paquets installés
qui nécessitent une mise à jour tant qu'ils n'interfèrent pas
avec d'autres paquets ou qu'ils nécessitent des installations
complémentaires :
sudo apt-get upgrade
Mise à jour de l'ensemble des paquets avec une gestion
intelligente des dépendances (mise à niveau des paquets le
plus importants vis à vis des moins importants):
sudo apt-get dist-upgrade
Avant de procéder à une mise à jour lancer un update
(synchronise le fichier contenant la liste de paquets
disponibles avec les sources spécifiées dans sources.list) :
sudo apt-get update
UPMC - FP – Préparation LPI - v 1.1
23
102.4 apt-get
Récupère un paquet source d'une application :
sudo apt-get source nom-paquet
Vérification d'intégrité de la base des paquets
sudo apt-get check
UPMC - FP – Préparation LPI - v 1.1
24
102.4 apt-get
Options
d : uniquement téléchargement sans installation
f : cherche (lors d'une installation ou suppresion) à
réparer un système dans lequel des dépendences sont
défectueuses
s (dryrun) : simule l'exécution de la commande mais
ne l'applique pas
y : répond par y aux questions posées
b (compile) : compile un paquet source après son
installation
UPMC - FP – Préparation LPI - v 1.1
25
102.4 apt-get
fpuser@vmubuntu:~$ sudo aptget install abiword
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Les paquets supplémentaires suivants seront installés :
abiwordcommon
Paquets recommandés :
abiwordplugins abiwordhelp
Les NOUVEAUX paquets suivants seront installés :
abiword abiwordcommon
0 mis à jour, 2 nouvellement installés, 0 à enlever et 222 non mis à jour.
Il est nécessaire de prendre 4487ko dans les archives.
Après dépaquetage, 15,0Mo d'espace disque supplémentaires seront utilisés.
Souhaitezvous continuer [O/n] ? O
...
Paramétrage de abiword (2.4.62ubuntu2) ...
UPMC - FP – Préparation LPI - v 1.1
26
102.4 apt-get
fpuser@vmubuntu:~$ sudo aptget remove abiword
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Les paquets suivants ont été installés automatiquement et ne sont plus
nécessaires :
abiwordcommon
Veuillez utiliser « aptget autoremove » pour les supprimer.
Les paquets suivants seront ENLEVÉS :
abiword
0 mis à jour, 0 nouvellement installés, 1 à enlever et 222 non mis à jour.
Il est nécessaire de prendre 0o dans les archives.
Après dépaquetage, 7258ko d'espace disque seront libérés.
Souhaitezvous continuer [O/n] ? O
(Lecture de la base de données... 92189 fichiers et répertoires déjà installés.)
Suppression de abiword ...
UPMC - FP – Préparation LPI - v 1.1
27
102.4 apt-get
fpuser@vmubuntu:~$ sudo aptget autoremove
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Advertisement
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
abiwordcommon
Les paquets suivants seront ENLEVÉS :
abiwordcommon
0 mis à jour, 0 nouvellement installés, 1 à enlever et 222 non mis à jour.
Il est nécessaire de prendre 0o dans les archives.
Après dépaquetage, 7782ko d'espace disque seront libérés.
Souhaitezvous continuer [O/n] ? O
(Lecture de la base de données... 92184 fichiers et répertoires déjà installés.)
Suppression de abiwordcommon ...
UPMC - FP – Préparation LPI - v 1.1
28
102.4 apt-get
fpuser@vmubuntu:~$ sudo aptget upgrade
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Les paquets suivants ont été conservés :
sslcert
Les paquets suivants seront mis à jour :
appinstalldatacommercial apt aptutils apturl avahiautoipd avahidaemon
bind9host bittorrent bzip2 cappletsdata compiz compizcore compizgnome
compizplugins cupsys cupsysbsd cupsysclient cupsyscommon deskbarapplet
dnsutils e2fslibs e2fsprogs eog evince evolution evolutioncommon
evolutiondataserver evolutiondataservercommon evolutionplugins
fileroller findutils firefox firefoxgnomesupport foo2zjs gcalctool gdm
....
221 mis à jour, 0 nouvellement installés, 0 à enlever et 1 non mis à jour.
Il est nécessaire de prendre 288Mo dans les archives.
Après dépaquetage, 75,6Mo d'espace disque supplémentaires seront utilisés.
Souhaitezvous continuer [O/n] ?
UPMC - FP – Préparation LPI - v 1.1
29
102.4 apt-get
Les outils apt sont également disponibles via une interface
graphique
Synaptic (Gnome/GTK)
Adept (KDE/Qt)
Outil de mise à jour associé : updatemanager
UPMC - FP – Préparation LPI - v 1.1
30
102.4 dselect
dselect est un outil de haut niveau qui s'appuie sur la liste
des dépôts /etc/apt/sources.list
Interface semigraphique
UPMC - FP – Préparation LPI - v 1.1
31
102.4 dselect
UPMC - FP – Préparation LPI - v 1.1
32
102.4 aptitude
aptitude est également un outil de haut niveau fondé sur
APT
Utilisation en mode interactif ou en ligne de commande
Principales commandes
install : installe un paquet passé en paramètre
search : recherche les paquets dont les informations
contiennent la chaîne recherchée
remove : supprime le paquet
update : met à jour la liste des paquets
fullupgrade : upgrade du système quitte à ne pas
respecter certaines dépendances
UPMC - FP – Préparation LPI - v 1.1
33
102.4 aptitude
Principales commandes
safeupgrade : upgrade du système en respectant si
nécessaire les dépendances qui seraient perdues en cas
d'installation d'une nouvelle version
clean : supprime la totalité des paquets téléchargés
autoclean : suppression des paquets qui ne sont plus
disponibles sur les dépôts
UPMC - FP – Préparation LPI - v 1.1
34
102.4 alien
alien est un outil qui permet de concertir des paquets d'un
format à un autre
alien options fichier
Principales options
todeb : (par défaut) convertit vers un format debian
torpm : convertit en RPM
totgz : convertit en tarball
install : installe le paquet après conversion
Pour plus de détails voir man alien
Important pour LPI : savoir que cette commande permet
d'installer un paquet RPM sur une Debian
UPMC - FP – Préparation LPI - v 1.1
35
Quelques conseils LPI...
UPMC - FP – Préparation LPI - v 1.1
36