Installation de Linux & Gestion des Packages (LPIC101)

Un livre de Wikibooks.

Wikiversity-logo.svg
Contenu transféré sur Wikiversité

Le contenu que vous recherchez a été déplacé vers la Wikiversité. Il devrait être disponible sous le nom Certification Linux LPI/Administrateur système débutant/Examen 101/Installation de Linux et gestion des packages.

Logo LPI

Sections

[modifier] Présentation de la section

  • 1.102.1 Conception de disposition (layout) de disque dur
  • 1.102.2 Installer un gestionnaire de démarrage (boot manager)
  • 1.102.3 Compiler et installer des programmes à partir des sources
  • 1.102.4 Gérer les librairies partagées
  • 1.102.5 Utiliser le gestionnaire de packages Debian
  • 1.102.6 Utiliser le gestionnaire de package Red Hat (RPM)

[modifier] Conception de plan de partitionnement de disque dur

[modifier] Objectif

Description: Les candidats devraient être capables de concevoir le plan de partitionnement des disques d'un système Linux. Cet objectif inclut l'allocation de systèmes de fichiers ou d'espaces de swap en partitions ou disques, et l'adaptation de ce plan aux besoins auquels le système devra répondre. Cela inclut également de placer /boot sur une partition compatible avec les contraintes du BIOS pour pouvoir démarrer.

Fichiers clés, termes et utilitaires:

/ (système de fichiers racine)
/var (système de fichiers)
/home (système de fichiers)
espace de swap
points de montage
partitions
cylindre 1024

[modifier] Partitions

Lorque l'on fait une installation, il est nécessaire de créer au minimum deux partitions :

  • / (système de fichiers racine): partition contenant la distribution Linux.
  • Espace de swap : partition permettant au noyau de faire tourner plus de processus que la RAM seule ne pourrait en supporter.

Si plusieurs disques sont disponibles, il est de bon ton de prévoir également des partitions séparées pour les répertoires /usr et /home. Chaque partition contiendra un type de système de fichiers (éventuellement tous différents) et pourra être montée sur le système actif dans l'arbre global des fichiers. Pour afficher la liste des systèmes de fichiers actifs, utilisez la commande mount.

$ mount
dev/hda3 on / type reiserfs (rw)
proc on /proc type proc (rw)
devpts on /dev/pts type devpts (rw)
/dev/hda1 on /boot type ext2 (rw)
shmfs on /dev/shm type shm (rw)
usbdevfs on /proc/bus/usb type usbdevfs (rw)

La partition de swap n'a pas besoin d'un système de fichiers. Le noyau pourra y accéder en mode brut (raw mode). Cela permet d'éviter les surcoûts dus aux appels systèmes nécessaires à l'utilisation d'un système de fichiers.

[modifier] Problèmes relatifs à la vitesse des disques.

Avant de décider votre plan de partitionnement, vous devez connaitre exactement les types d'applications qui tourneront sur votre système.

  • Serveur de mails
  • Serveur Web
  • Applications graphiques s'appuyant sur X-Window
  • et plus encore

Si votre système possède plusieurs disques, utilisez le plus rapide pour conserver la majorité de vos données.

  • / Contient la plupart des utilitaires systèmes qui ne sont pas souvent utilisés. Ils peuvent donc être envoyés sur le disque le plus lent.
  • /var/log contient beaucoup d'informations de log. Cette partition est mieux sur un disque rapide.
  • /usr est typiquement une partition séparée. Néanmoins, la prévision d'utiliser de nombreux clients démarrant de nombreuses applications graphiques pousse souvent à mettre cette partition sur un disque rapide.

Exemple d'applications systèmes:

Pour distribuer les e-mails, Sendmail écrits dans deux queues de mail, généralement /var/spool/mqueue et /var/spool/mail ainsi qu'à d'autres endroits. Apache utilise différents fichiers, deux fichiers de logs pour enregistrer et accéder aux pages actuelles. Apache passe un temps non négligeable à écrire dans ces fichiers de logs.

[modifier] Mémoire virtuelle

Les informations sur la partition de swap peuvent être obtenues par la commande swapon

swapon -s # montre la partition active.

Pour obtenir des informations sur l'utilisation de la mémoire virtuelle, utilisez la commande vmstat.

$ vmstat -n 1
  procs                      memory    swap          io     system         cpu
r  b  w   swpd   free   buff  cache  si  so    bi    bo   in    cs  us  sy  id
5  0  1    184   3228  37684  92828   0   0    37    19  124   228   3   0  97
1  0  0    184   3476  37684  92596   0   0     0     0  102   368   0   0 100
2  0  0    184   3476  37684  92596   0   0     0     0  101   328   0   0 100
R:processes waiting for run time. 
b: processes in uninterruptable sleep. 
w: processes swapped out.
swpd: virtual memory used (kB). 
free: Idle memory (kB). 
buff: Memory used as buffers (kB).
si: Memory swapped in from disk (kB/s). 
so: Memory swapped to disk (kB/s).
bi: Blocks sent to a block device (blocks/s). 
bo: Blocks received from a block device (blocks/s).
in: The number of interrupts per second. 
cs: The number of context switches per second.
us: user time, 
sy: system time, 
id: idle time.

[modifier] Exercices

  1. Ouvrez deux terminaux. Dans l'un, affichez périodiquement l'utilisation de la mémoire virtuelle. Dans l'autre, désactivez la mémoire virtuelle, puis réactivez-la. Observez les changements dans le premier terminal.
  2. Quel est le plan de partionnement de votre système et combien de disques avez vous?
  3. Quelle est la taille de votre espace de swap?

[modifier] Installer un gestionnaire d'amorçage (boot manager)

[modifier] Objectif

Description: Le candidat sera capable de sélectionner, installer et configurer un gestionnaire d'amorçage. Cet objectif inclut la mise à disposition d'emplacements de démarrage alternatifs et d'options de démarrage pour backup (par exemple en utilisant une disquette).

fichiers clés termes et utilitaires :
/etc/lilo.conf
/boot/grub/grub.conf

(à verifier : ne serait-ce pas plutôt /boot/grub/menu.lst ? Dans certaines configurations/distribution oui) lilo
grub-install

MBR
superblock
first stage boot loader

[modifier] Gestionnaire d'amorçage

Un gestionnaire d'amorçage est installé sur le MBR (Master Boot Record). Quand un système est démarré, il charge dans la RAM ce qui est sur le MBR. Les deux gestionaires d'amorçage les plus courants sous Linux sont :

  • Lilo: LInux LOader.
  • Grub: Grand Unified Boot Loader.

Un gestionnaire d'amorçage permet de sélectionner l'image à partir de laquelle on désire démarrer, et éventuellement de passer des paramètres, de manière prédéfinie ou interactivement. Pour Linux, il s'agit de déterminer le noyau sur lequel on veut démarrer et de lui passer des paramètres (comme la partition à utiliser comme racine), et éventuellement un initrd (initial Ram Disk) à charger après le noyau.

De nombreux systèmes d'exploitations (notamment propriétaires) ont tendance à installer leur propre gestionnaire de démarrage sans se préoccuper de l'existence préalable d'un gestionnaire de démarrage dans le MBR. Ainsi, il est préférable de garder cela à l'esprit quand on veut installer plusieurs systèmes d'exploitations : si on veut faire cohabiter linux avec d'autres systèmes, il est plus sûr de l'installer en dernier, Grub et Lilo permettant de charger plusieurs systèmes d'exploitation.

GRUB est le gestionnaire par défaut de nombreuses distributions linux actuelles.

[modifier] LILO vs. GRUB

Les deux sont utilisés pour charger une image d'un disque vers la RAM. GRUB possède les avantages suivants sur LILO:

  • Plus de commandes pré-OS.
  • Peut charger des images placées au-dela de la limitation BIOS du cylindre 1024.
  • Peut accéder à son fichier de configuration via le système de fichiers.

Si vous utilisez LILO, à chaque fois que vous ajoutez une nouvelle image ou que vous changez une image, un nouveau LILO doit être installé sur le MBR.

  • LILO conserve ses informations de démarrage dans le MBR.
  • GRUB conserve ses informations de démarrage dans le filesystem (menu.lst).
  • LILO possède aussi un fichier de configuration: /etc/lilo.conf.

Pour installer GRUB sur le MBR, utilisez grub. Cette commande va écraser le MBR.

Pour installer LILO sur le MBR, utilisez lilo. Lilo va utiliser le fichier /etc/lilo.conf pour savoir quoi écrire sur le MBR.

Exemple de /etc/lilo.conf :

# LILO global section
boot = /dev/hda # Cible d'installation de LILO : le MBR
vga = normal # (normal, extended, ou ask)
read-only # Monte le système de fichiers en lecture seule

# LILO Linux section
image=/boot/vmlinuz # Image à charger
label=linux   # Nom de l'entrée du menu
root=/dev/hda1  # Partition racine pour le noyau
initrd=/boot/initrd # disque en RAM

# LILO DOS/Windows section
other=/dev/hda3
label=windows
# LILO memtest section
image=/boot/memtest.bin
label=memtest86

Exemple de menu.lst (fichier de configuration de GRUB):

# GRUB default values
timeout 10 # Démarer le noyau par défaut apres 10 secondes.
default 0 # Noyau par défaut.

# Grub for Linux section 0
title GNU/Linux  # Titre
root (hd0,1)  # /dev/hda2 système de fichiers racine
# Noyau et paramètres à passer au noyau.
kernel /boot/vmlinuz root=/dev/hda2 read-only
initrd /boot/initrd
boot

# Grub for DOS/Windows section
title Windows
root (hd0,2)  # /dev/hda3
makeactive
chainloader+1


Liens sur GRUB:

[modifier] Exercices

1) Installez GRUB sur une disquette et essayez de lancer votre image manuellement:

mkfs -t ext2 /dev/fd0
mount /dev/fd0 /mnt
mkdir -p /mnt/boot/grub
cp /boot/grub/stage* /mnt/boot/grub/
cp /boot/grub/e2fs-stage1_5 /mnt/boot/grub/
touch /mnt/boot/grub
umount /mnt
grub
root (fd0)
setup (fd0)
quit

Maintenant, démarrez sur la disquette, et au prompt, sélectionnez le noyau sur le disque dur.

root (hd0,1)
kernel /boot/vmlinuz root=/dev/hda2 read-only
initrd /boot/initrd
boot

2) Créez le fichier /boot/grub/menu.lst et installez GRUB sur votre disque dur en utilisant l'utilitaire grub.

3) Ré-installez lilo. Changer le label linux de l'image du noyau par défaut dans /etc/lilo.conf et ré-installez le programme lilo sur le MBR.

[modifier] Compiler et installer des programmes à partir des sources

[modifier] Objectif

Description: Les Candidats seront capables de compiler et installer un programme exécutable à partir de ses sources. Cet objectif inclus des adaptations simples au Makefile, par exemple modifier des chemins ou ajouter un répertoire d'inclusions supplémentaire.

fichiers clés termes et utilitaires:
gunzip
gzip
bzip2
tar
configure
make

[modifier] Fichiers source

On appelle archive un ensemble de fichiers qui ont une relation et stockés dans un fichier unique (pour faciliter la copie, par exemple). La commande permettant de rassembler fichiers et sous-répertoires dans une archive est tar. C'est pourquoi il est courant de dire qu'un fichier tar est une archive.

tar fonction & options fichiers

Fonctions courantes:

-c: Crée une nouvelle archive.

-t: liste les fichiers rassemblés dans un fichier tar.

-x: Extrait le contenu d'un fichier tar.


Options courantes:

-f file: Spécifie le nom du fichier tar.

Exemples:

tar -cvf monbackup.tar ~
tar -cvf usr.tar /usr
tar -tvf monbackup.tar
tar -xvf monbackup.tar

On utilise généralement l'extension .tar pour toutes archives créées par l'utilitaire tar.

[modifier] Compression de fichiers

La compression permet d'économiser l'espace de stockage et les besoins inhérents au transfert de fichiers. Il existe de nombreux utilitaires de compression de fichiers:

  • compress, uncompress # vieil algorithme Unix de compression
  • gzip, gunzip # Le plus utilisé
  • bzip2, bunzip2 # l'algorithme donnant la meilleur compression (au coût de la vitesse...)


Une fois qu'une archive a été créée, elle peut être compressée.

Exemples:

$ ls -l backup.tar
-rw-r--r-- 1 rarrigon users 22773760 nov 10 11:07 backup.tar
$ gzip -v backup.tar
backup.tar:  53.8% -- replaced with backup.tar.gz
$ ls -l backup.tar.gz
-rw-r--r-- 1 rarrigon users 10507393 nov 10 11:07 backup.tar.gz
$ gunzip backup.tar.gz
$ bzip2 -v backup.tar
backup.tar:  2.260:1,  3.540 bits/byte, 55.75% saved, 22773760 in, 10077846 out.

[modifier] Archivage de fichiers et compression

Il est possible de rassembler des fichiers et de compresser l'archive obtenue en une seule commande.

Exemples:

tar -cvzf backup.tgz ~ # Backup du répertoire utilisateur avec gzip
tar -cvjf backup.tbz ~ # Backup du répertoire utilisateur avec with bzip2
tar -xvzf backup.tgz # décompression et extraction de backup.tgz avec gunzip
tar -xvjf backup.tbz # décompression et extraction de backup.tbz avec bunzip2 

Par défaut, tar utilise des chemins relatifs, mais il est possible de sauver des fichiers en chemin absolu en utilisant l'option -P. Dans ce mode, les fichiers seront toujours extraits au même endroit.

[modifier] Chaîne d'outils GNU

Sous Linux, toutes les sources peuvent être compilées avec la chaine d'outils standard de GNU.

  • L'utilitaire make permet de construire un programme à partir de plusieurs fichiers sources. Il utilise les règles définies dans le Makefile.
  • gcc est un compilateur C compatible ANSI.
  • g++ est un compilateur C++.

Beaucoup d'archives contiennent des fichiers d'information (README, INTALL) qui expliquent comment le programme doit être compilé et installé.

Les fichiers Makefile.in et configure.in sont les fichiers de base servant à produire le Makefile final. Le fichier configure est généralement un script qui va explorer le système et produire un Makefile final. C'est pourquoi il est courant que l'installation d'un programme à partir des sources se résume à la suite de commandes :

$ ./configure
$ make
$ make install 

La dernière commande demande généralement les droits super-utilisateur (root) pour s'exécuter avec succès.

[modifier] Exercices

  1. Faites une archive des répertoire /bin et /sbin. Quel utilitaire obtiendra la meilleur compression? Utilisez -v pour obtenir la réduction de taille en pourcentage.
  2. Copiez le fichier /usr/src/packages/SOURCES/grub-09.tar.bz2 dans /tmp, et compilez les sources en lisant les fichiers README et INSTALL.
  3. Trouvez un moyen de décompresser une archive .deb et .rpm. Qu'y-a-t'il dedans?
  4. En une seule commande, compressez un nouveau fichier, puis décompreser le dans un autre endroit.

[modifier] Gérer les bibliothèques partagées

[modifier] Objectif

Description: Les candidats seront capables de déterminer de quelles bibliothèques partagées un programme exécutable dépend, et de les installer si nécessaire. Les candidats seront capable de trouver à quel endroit les bibliothèques du système sont conservées.

fichiers clés termes et utilitaires:
ldd
ldconfig

/etc/ld.so.conf
LD_LIBRARY_PATH

  • Imprimer les dépendances en bibliothèques partagées
  • Installer de nouvelles bibliothèques
  • Construire les dépendances.

[modifier] Bibliothèques partagées

Une bibliothèque est un ensemble de fonctions que les programmes peuvent réutiliser pour implémenter leurs fonctionnalités. Lorsque l'on construit un exécutable, ces bibliothèques sont "liées" au programme. Ce lien peut être statique ou dynamique. Un lien statique signifie que l'exécutable final contiendra les fonctions de la bibliothèque dans ses propres fichiers. Sous Linux, la bibliothèque prend alors l'extension .a (comme dans lib.a). Un lien dynamique signifie que la bibliothèque devra être chargée en mémoire RAM quand le programme aura besoin d'exécuter les fonctions qu'elle contient. Sous Linux, la bibliothèque prend alors l'extension .so (comme dans lib.so).

Les répertoires par défaut des bibliothèques standards sont:

  • /lib: utilisé principalement par les programmes de /bin.
  • /usr/lib: utilisé principalement par les programmes de /usr/bin.

Le fichier /etc/ld.so.conf est utilisé par le système pour indiquer les éventuelles autres localisations des bibliothèques. Pour créer un fichier cache utilisé par le chargeur de liens, utilisez ldconfig. Le fichier /etc/ld.so.cache sera géneré. Ce fichier contient en fait la liste des bibliothèques trouvées par le système dans les répertoires mentionnés par le fichier /etc/ld.so.conf.

[modifier] Dépendance de bibliothèques.

Pour afficher la liste des dépendances d'un programme (ou d'une bibliothèque) en termes de bibliothèques partagées, utilisez ldd.

ldd [-vdr] programme|bibliothèque

Exemple:

$ ldd -d -v /bin/cp
  libc.so.6 => /lib/libc.so.6 (0x40027000)
  /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
  Version information:
  /bin/cp:
               libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
               libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
               libc.so.6 (GLIBC_2.2) => /lib/libc.so.6
               libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
  /lib/libc.so.6:
               ld-linux.so.2 (GLIBC_2.1.1) => /lib/ldlinux.so.2
               ld-linux.so.2 (GLIBC_2.2.3) => /lib/ldlinux.so.2
               ld-linux.so.2 (GLIBC_2.1) => /lib/ldlinux.so.2
               ld-linux.so.2 (GLIBC_2.2) => /lib/ld-linux.so.2
               ld-linux.so.2 (GLIBC_2.0) => /lib/ld-linux.so.2

[modifier] Chargeur de liens

Le chargeur de liens ld.so cherche la bibliothèque dont un programme a besoin et la charge en mémoire RAM. L'ordre de recherche de ld.so est :

  • LD_LIBRARY_PATH
  • Le fichier cache /etc/ld.so.cache
  • Les répertoires par défaut /lib et /usr/lib.

[modifier] Exercices

[modifier] Utilisation du système de gestion des paquets de Debian

[modifier] Objectif

Description: Les candidats seront capables d'utiliser le système de gestion des paquets de Debian. Cet objectif inclut la capacité à utiliser des outils tant graphiques qu'en ligne de commandes pour installer, mettre à jour ou désinstaller des paquets, ainsi que pour trouver les paquets contenant des fichiers ou des logiciels (qu'ils puissent ou non être installés). Cet objectif inclut également la capacité à obtenir des informations sur le paquet, tels que la version, le contenu, les dépendances, l'intégrité du paquet et le statut d'installation (le paquet a-t-il déjà été installé).

Fichiers clés, termes et utilitaires : unpack configure /etc/dpkg/dpkg.cfg /var/lib/dpkg/* /etc/apt/apt.conf /etc/apt/sources.list dpkg dselect dpkg-reconfigure apt-get alien

Debian est une organisation de bénévoles dédiée au dévelopement de logiciels libres et à la promotion des idéaux de la Free Software Foundation. Le projet Debian a été fondé en 1993. Il compte plus de 900 développeurs. Debian supporte de nombreux processeurs: Alpha, ARM, HP PA-RISC, Intel x86, Intel IA-64, Motorola 680x0, MIPS, MIPS (DEC), PowerPC, IBM S/390, SPARC.

[modifier] Dselect

L'utilitaire vous permettant d'ajouter ou retirer facilement des paquets sous Debian est dselect. Il permet de :

  • Choisir la méthode d'accès aux paquets,
  • Mettre à jour la liste des paquets disponibles,
  • Sélectionner les paquets que vous voulez sur votre système,
  • Installer et mettre à jour les paquets désirés,
  • Configurer n'importe quel paquet non encore configuré,
  • Désinstaller les logiciels non désirés.

Le menu interactif de dselect permet l'ajout et la supression de paquets. Soyez très prudents lors de l'utilisation de ce programme, vous risqueriez d'endommager votre système.

Exemple de menu dselect:

Debian `dselect' package handling frontend.
0. [A]ccess    Choose the access method to use. 
1. [U]pdate    Update list of available packages, if possible. 
2. [S]elect    Request which packages you want on your system.
3. [I]nstall   Install and upgrade wanted packages. 
4. [C]onfig    Configure any packages that are unconfigured. 
5. [R]emove    Remove unwanted software.
6. [Q]uit      Quit dselect.
$ dselect - list of access methods
Abbrev.        Description
cdrom          Install from a CD-ROM.
multi_cd       Install from a CD-ROM set.
nfs            Install from an NFS server (not yet mounted).
multi_nfs      Install from an NFS server (using the CD-ROM set) (not yet mounted).
harddisk       Install from a hard disk partition (not yet mounted).
mounted        Install from a filesystem which is already mounted.
multi_mount    Install from a mounted partition with changing contents.
floppy         Install from a pile of floppy disks.
apt            APT Acquisition [file,http,ftp]

[modifier] Apt-get

Si vous conaissez le nom du paquet que vous voulez installer, utilisez apt-get. Vous devez au préalable configurer le fichier sources.list. Ce même fichier est utilisé lorsque vous choisissez la méthode d'accès apt de dselect. Il se trouve dans /etc/apt.

Exemple de fichier sources.list :

cdrom:/cdrom
cdrom:/mnt/cdrom
file:/mnt
file:/debian
http://www.us.debian.org/debian
http://non-us.debian.org/debian-non-US
ftp://ftp.debian.org/debian
ftp://nonus.debian.org/debian-non-US

Pour mettre à jour l'information sur les paquets disponibles :

$ apt-get update

Pour installer un paquet :

$ apt-get install paquet

Pour remettre à jour automatiquement tous les paquets installés :

$ apt-get upgrade

[modifier] Apt-cache

Pour trouver le nom d'un paquet que vous voulez installer, utilisez apt-cache. Ses options principales sont :

  • add - ajoute un fichier paquet au cache source
  • showpkg - Montre quelques informations générales relatives à un paquet
  • stats - Montre quelques statistiques basiques
  • search - Fait une recherche dans la liste des paquets à partir d'une regex
  • show - Montre un enregistrement lisible du paquet
  • depends – Montre les informations de dépendances d'un paquet
user@host:~$ apt-cache search gimp
babygimp - An icon editor in Perl-Tk
blackbook - GTK+ Address Book Applet
cupsys-driver-gimpprint - Gimp-Print printer drivers for CUPS
escputil - A maintenance utility for Epson Stylus printers
filmgimp - A motion picture editing and retouching tool

[modifier] Exercices

  1. Installez un système avec Debian.
  2. Apprenez à maîtriser dselect et utilisez-le pour désinstaller l'utilitaire tcpdump.
  3. Avec apt-get, réinstallez le paquet contenant tcpdump.
  4. Essayez kpackage pour installer ethereal.

[modifier] Utilisation du système de gestion des paquets de Red Hat

[modifier] Objectif

Description: Les candidats devront être capables de gérer les paquets d'une distribution Linux en utilisant RPM. Cet objectif inclus la capacité à installer, mettre à jour et enlever des paquets, ainsi qu'obtenir des informations sur les paquets tels que leur statut, version, dépendance, intégrité et signature. Les candidats seront capable de déterminer quels fichiers un paquet contient, et quel paquet contient un fichier spécifique.


Fichiers termes et utilitaires clés:
/etc/rpmrc
/usr/lib/rpm/*

rpm
grep

[modifier] Gestionaire de paquets de Red Hat

Certaines distributions Linux utilisent RPM (pour "Red hat Package Manager) pour la gestion de la distribution des logiciels qui les composent. RPM tient à jour une base de données détaillée de tous les logiciels installés sur le système.

Pour installer un paquet, jouez la commande:

rpm -i [paquet].rpm

Le paquet ne sera installé que si toutes les dépendances sont rencontrées et qu'aucun conflit avec un autre paquet n'est détecté.

Pour mettre un paquet à jour, jouez la commande:

rpm -U [paquet].rpm

Les fichiers de l'ancien paquet seront enlevé du système et remplacés par les nouveaux fichiers.

Pour enlever un paquet, jouez la commande:

rpm -e [paquet]

Le paquet ne sera enlevé que si ca ne crée pas de problème de dépendance.

[modifier] Requêtes RPM

Il est possible d'interroger la base de donnée RPM avec l'option -q.

$ rpm -q -i apache

L'option -i sert à obtenir les informations sur les paquets

L'option -l sert à lister les fichiers contenu dans un paquet.

$ rpm -q -l pciutils
/sbin/lspci
/sbin/setpci
/usr/share/doc/package/pciutils
...
/usr/share/pci.ids

L'option -f sert à trouver le paquet contenant le fichier mentionné.

$ rpm -q -f /sbin/lspci
pciutils-2.1.9-58

-s: liste des fichiers avec informations sur les status. -d: ne liste que les fichiers de documentation. -a: Liste tous les paquets installés.

[modifier] Commandes RPM

Pour obtenir des informations sur un paquet ou un programme, utilisez rpmlocate.

$ rpmlocate ipcs -q -i apache
Searching for ipcs in rpm db:
util-linux-2.11n-75:
/usr/bin/ipcs
/usr/share/man/man8/ipcs.8.gz

Pour lister tous les paquets installés, utilisez rpmqpack.

$ rpmqpack

[modifier] Installation de Sources

Les fichiers RPM sources ont généralement le format paquet.src.rpm et peuvent être installés de la même façon que les binaires. Les répertoires à partir desquels ils seront installés dans /usr/src/packages/ sont:

  • SOURCES: Pour les sources originales.
  • SPECS: Pour le fichier .spec qui contrôle le processus de construction du rpm.
  • BUILD: Toutes les sources sont construites dans ce répertoire.
  • RPMS: Où le paquet binaire sera stocké.
  • SRPMS: Les sources.

Pour installer les sources d'un paquet, jouez la commande:

$ rpm -i monpaquet.src.rpm

Les fichiers sources seront placés dans /usr/src/packages dans les répertoires SPEC et SOURCES. Pour compiler les sources, jouez la commande:

$ rpm -ba /usr/src/packages/SPECS/monpaquet.spec

Le résultat de la compilation sera placé dans le répertoire BUILD.

[modifier] Exercices

  1. Le paquet apache est-il installé?
  2. Dans quel paquets peut-on trouver les fichiers /bin/ls, /usr/sbin/tcpdump, et /sbin/ifconfig?
  3. A partir d'une disquette, installez l'utilitaire pci et le paquet grub. Construisez le binaire et exécutez-le. Le binaire devrait se trouver dans le répertoire /usr/src/packages/BINARY.
Autres langues