Préparation LPI - Exam 101: Debian Package Management

Linux System Administration · exam

Browse all systèmes d'exploitation et cloud documents

Préparation LPI

Exam 101

102.4. Debian package management

Document sous licence Creative commons « by­nc­sa » http://creativecommons.org/licenses/by­nc­sa/2.0/fr/

Sommaire

dpkg

apt­*

aptitude

dselect

dkpg­reconfigure

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_version­revisionDebian_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

● Deb­src : sources

URI : chemin complet du dépôt

distribution : la distribution concernée

composant : la partie choisie dans la distrbution (main,

main­sources,...)

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

deb­src 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/ gutsy­updates main restricted

deb­src http://fr.archive.ubuntu.com/ubuntu/ gutsy­updates main restricted

...

UPMC - FP – Préparation LPI - v 1.1

6

102.4 dpkg

dpkg [option][actions] [nom­fichier­deb|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 motif­nom­paquet : liste les paquetage

satisfaisant au motif

­s nom­paquet : affiche l'état du paquet

­L nom­paquet : affiche la liste des fichiers contenus

dans le paquet

­S motif­fichier : recherche les fichiers satisfaisant

au motif dans les paquets installés

­p nom­paquet : 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é

­­force­qqc : 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

­­ignore­depends : 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 dpkg­deb :

­b, ­c, ­I, ­f, ­e, ­x, ­X

En fonction des actions suivantes, dpkg agit comme une

interface à l'utilitaire dpkg­query :

­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

dpkg­reconfigure nom­paquet

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@vm­ubuntu:~$ apt­cache search lyx

....

karpski ­ ethernet analyzer and sniffer

kbib ­ A BibTeX edit/management program for KDE

latex­xft­fonts ­ Xft­compatible versions of some LaTeX fonts

lyx ­ Document Processor

lyx­common ­ Architecture­independent files for LyX

Advertisement

polyxmass ­ Mass spectrometry software framework

polyxmass­bin ­ Mass spectrometry framework ­ GUI program

polyxmass­bin­common ­ Mass spectrometry framework ­ GUI program arch­indep data

polyxmass­common ­ Mass spectrometry framework ­ essential polymer chemistry data

polyxmass­data ­ Mass spectrometry framework ­ supplementary chemical data

polyxmass­doc ­ Mass spectrometry framework ­ documentation

fpuser@vm­ubuntu:~$ apt­cache ­­names­only search lyx

lyx ­ Document Processor

lyx­common ­ Architecture­independent files for LyX

polyxmass ­ Mass spectrometry software framework

polyxmass­bin ­ Mass spectrometry framework ­ GUI program

polyxmass­bin­common ­ Mass spectrometry framework ­ GUI program arch­indep data

...

UPMC - FP – Préparation LPI - v 1.1

17

102.4 apt-get

fpuser@vm­ubuntu:~$ apt­cache show lyx

Package: lyx

Priority: optional

Section: universe/editors

Installed­Size: 8368

Maintainer: Ubuntu MOTU Developers <ubuntu­[email protected]>

Original­Maintainer: Debian LyX Maintainers <pkg­lyx­[email protected]>

Architecture: i386

Version: 1.5.1­2ubuntu1

Replaces: lyx­common (<< 1.5.0~beta1­3)

Depends: libaiksaurus­1.2­0c2a (>= 1.2.1+dev­0.12), libaspell15 (>= 0.60), libboost­

filesystem1.34.1, libboost­regex1.34.1, libboost­signals1.34.1, libc6 (>= 2.6­1), libgcc1 (>= 1:4.2.1),

libqt4­core (>= 4.3.2), libqt4­gui (>= 4.3.2), libstdc++6 (>= 4.2.1), libx11­6, zlib1g (>= 1:1.2.3.3.dfsg­

1), lyx­common (= 1.5.1­2ubuntu1), xdg­utils, mime­support

....

Description: Document Processor

LyX is an almost WYSIWYG­frontend 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@vm­ubuntu:~$ apt­cache depends

lyx

lyx

Dépend: libaiksaurus­1.2­0c2a

Dépend: libaspell15

Dépend: libboost­filesystem1.34.1

Dépend: libboost­regex1.34.1

Dépend: libboost­signals1.34.1

Dépend: libc6

Dépend: libgcc1

Dépend: libqt4­core

Dépend: libqt4­gui

Dépend: libstdc++6

Dépend: libx11­6

Dépend: zlib1g

Dépend: lyx­common

Dépend: xdg­utils

Dépend: mime­support

|Suggère: cupsys­client

Suggère: lpr

cupsys­bsd

....

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

@vm­ubuntu:~$ apt­get 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

@vm­ubuntu:~$ sudo apt­get update

password for fpuser:

Ign cdrom://Ubuntu 7.10 _Gutsy Gibbon_ ­ Release i386 (20071016) gutsy/main Translation­fr

Ign cdrom://Ubuntu 7.10 _Gutsy Gibbon_ ­ Release i386 (20071016) gutsy/restricted Translation­fr

Réception de : 1 http://security.ubuntu.com gutsy­security Release.gpg [191B]

Ign http://security.ubuntu.com gutsy­security/main Translation­fr

Ign http://security.ubuntu.com gutsy­security/restricted Translation­fr

Ign http://security.ubuntu.com gutsy­security/universe Translation­fr

Ign http://security.ubuntu.com gutsy­security/multiverse Translation­fr

Atteint http://security.ubuntu.com gutsy­security Release

Atteint http://security.ubuntu.com gutsy­security/main Packages

Atteint http://security.ubuntu.com gutsy­security/restricted Packages

Atteint http://security.ubuntu.com gutsy­security/main Sources

....

Atteint http://fr.archive.ubuntu.com gutsy­updates/multiverse Packages

Atteint http://fr.archive.ubuntu.com gutsy­updates/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 apt­cache,

on utilise apt­get 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 (­­dry­run) : 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@vm­ubuntu:~$ sudo apt­get 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 :

abiword­common

Paquets recommandés :

abiword­plugins abiword­help

Les NOUVEAUX paquets suivants seront installés :

abiword abiword­common

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.

Souhaitez­vous continuer [O/n] ? O

...

Paramétrage de abiword (2.4.6­2ubuntu2) ...

UPMC - FP – Préparation LPI - v 1.1

26

102.4 apt-get

fpuser@vm­ubuntu:~$ sudo apt­get 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 :

abiword­common

Veuillez utiliser « apt­get 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.

Souhaitez­vous 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@vm­ubuntu:~$ sudo apt­get 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 :

abiword­common

Les paquets suivants seront ENLEVÉS :

abiword­common

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.

Souhaitez­vous continuer [O/n] ? O

(Lecture de la base de données... 92184 fichiers et répertoires déjà installés.)

Suppression de abiword­common ...

UPMC - FP – Préparation LPI - v 1.1

28

102.4 apt-get

fpuser@vm­ubuntu:~$ sudo apt­get 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 :

ssl­cert

Les paquets suivants seront mis à jour :

app­install­data­commercial apt apt­utils apturl avahi­autoipd avahi­daemon

bind9­host bittorrent bzip2 capplets­data compiz compiz­core compiz­gnome

compiz­plugins cupsys cupsys­bsd cupsys­client cupsys­common deskbar­applet

dnsutils e2fslibs e2fsprogs eog evince evolution evolution­common

evolution­data­server evolution­data­server­common evolution­plugins

file­roller findutils firefox firefox­gnome­support 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.

Souhaitez­vous 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é : update­manager

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 semi­graphique

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

full­upgrade : 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

safe­upgrade : 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

­­to­deb : (par défaut) convertit vers un format debian

­­to­rpm : convertit en RPM

­­to­tgz : 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