Vous êtes sur la page 1sur 7

Pratiques Linux

TP4 – Gestion des paquetages et des processus


INDP1 - A, B, C, D, E, F
Année scolaire 2016/2017

Enseignants: Slim Rekhis, Asma BEN LETAIFA, Maroua Gharam, Amine Besrour, Riadh Ksantini

Objectif
Le but de ce TP est de maitriser la gestion de différents types de paquetages sous le système d’exploitation
Ubuntu, ainsi que la gestion et le contrôle des processus.
Ce TP se réfère au contenu du chapitre 2 du livre support de cours « LPIC-1: Linux Professional Institute
Certification - Study Guide, Fourth Edition ». Les sections de ce chapitre doivent être lues avant de répondre
aux questions.

Partie 1 : Visualisation, contrôle, et gestion des processus

1. En utilisant la commande uname, afficher toutes les informations disponibles sur votre système linux.
2. En utilisant la commande ps, afficher la liste de tous les processus actifs en indiquant le premier processus
lancé par le système.
3. Afficher la liste des processus actifs de l’utilisateur root.
4. Afficher la liste des processus sous forme arborescente à l’aide de la commande pstree (utiliser les options
permettant d’afficher les noms des utilisateurs et le PID de chaque processus).
5. Sur une fenêtre séparée lancer l’éditeur de texte vi.
6. Déterminer le PID relatif au processus que vous venez d’exécuter.
7. En utilisant la commande kill, afficher la liste des signaux qu’on peut envoyer à un processus.
8. Envoyer le signal SIGKILL (9) permettant de terminer un processus via un appel noyau, en exécutant la
commande suivante :
$ kill -9 <pid> ; Où <pid> représente le PID que vous venez de déterminer à la question 5.
9. Sur la même fenêtre du shell, exécuter la commande sh pour lancer un nouveau shell puis exécuter la
commande : $ gcalctool & ou bien $ gnome-calculator &
Indication : L’ajout du signe « & » à la fin de la ligne de commande permet de lancer le programme en
arrière-plan et de revenir directement au prompt du shell. Cette possibilité est surtout utile lorsqu’on travaille
en mode console, ou à distance, et qu’on ne dispose que d’une seule fenêtre ouverte.
10. Afficher la liste des processus actifs avec le numéro du pid. Quel est le processus parent de gcalctool
(gnome-calculator).
11. Envoyer le signal SIGKILL (9) pour terminer le processus sh que vous venez de lancer. Que devienne le
processus fils (dernière instance de la commande gcalctool (gnome-calculator)) une fois que le processus
parent est tué ?
12. Afficher la liste des processus actifs et vérifier la priorité de chacun.
Indication : La priorité d’un processus peut être connue en examinant la colonne PRI du résultat des
commandes ps -l ou top. Plus la priorité est grande, plus de temps CPU est offert au processus.
13. Ouvrir un nouveau shell et devenir root. Lancer une deuxième instance de la commande gcalctool (gnome-
calculator) avec la priorité la plus forte en utilisant la commande nice.
Indication : La priorité d’un processus peut être modifiée à travers la valeur nice (colonne NI du résultat
de la commande ps -l ou top). Cette valeur varie de -20 à +19. Plus elle est élevée, moins le processus est
prioritaire.
14. Modifier la priorité du dernier processus gcalctool (gnome-calculator )en utilisant la commande renice.

Partie 2 : Gestion des jobs

15. Ouvrir une fenêtre horloge avec la commande xclock. Vous constatez que l’horloge tourne mais que le shell
est suspendu.
16. Suspendre l’horloge avec <CTRL+Z>. Vous constatez que le processus horloge ne tourne plus, mais que le
shell est revenu en avant-plan;
17. Vérifier l’état de ce processus avec la commande jobs et comparer la sortie à celle de la commande ps sans
argument.
Indication : La commande jobs permet d’afficher une liste des processus triée par numéro de job, ainsi que
leur état actuel (suspendu ou en cours). Un signe "+" marque le job courant, un "-" le job précédent.
18. Relancer l’horloge en arrière-plan avec la commande bg et vérifier l’état de ce processus.
19. Tuer le processus d’horloge avec la commande kill et vérifier de nouveau son état.
20. Relancer le processus horloge directement en arrière-plan en ajoutant « & ».
21. Tuer ce processus horloge depuis un autre terminal où la commande jobs ne voit pas le processus en
question, avec la commande killall.

Partie 3 : Installation et gestion de paquetage dpkg

22. Télécharger le paquetage ttf-mscorefonts-installer_3.6_all.deb dans votre répertoire personnel.


$ wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb
23. En utilisant la commande dpkg, installer le paquetage ttf-mscorefonts-installer_3.6_all.deb et vérifier qu’il
a été bien installé.
$ sudo dpkg -i ttf-mscorefonts-installer_3.6_all.deb
$ dpkg --get-selections ttf-mscorefonts-installer
24. Réparer l’installation de ce paquetage
$ sudo apt-get -f install
25. Afficher les informations relatives à ce paquetage
$ dpkg -l ttf-mscorefonts-installer
$ dpkg -s ttf-mscorefonts-installer
26. Lister les fichiers installés associés au paquetage ttf-mscorefonts-installer_3.6_all.deb.
$ dpkg -L ttf-mscorefonts-installer
27. Désinstaller ce paquetage et vérifier qu’il a été bien désinstallé.
$ sudo dpkg -r ttf-mscorefonts-installer
$ dpkg --get-selections ttf-mscorefonts-installer
28. Déterminer le nom du paquetage installé qui fournit la commande /bin/ls
$ dpkg -S /bin/ls
29. Afficher les informations (la version, les dépendances, description du paquetage…) relatives à ce paquetage.
$ dpkg -l coreutils
$ dpkg -s coreutils
30. Afficher la liste des bibliothèques partagées utilisée par la commande /usr/sbin/tcpd.
$ ldd /usr/sbin/tcpd | grep libwrap

Partie 4 : Installation et gestion de paquetage en utilisant le système APT

Advanced Packaging Tool est un système complet et avancé de gestion de paquets, permettant une recherche
facile et efficace, une installation simple et une désinstallation propre de logiciels et utilitaires. Il permet aussi
de facilement tenir à jour votre distribution Mint avec les paquets en versions les plus récentes.
31. En utilisant la commande apt-cache, lister les noms de tous les paquetages disponibles.
32. En utilisant la commande apt-cache, afficher les statistiques de tous les paquetages installés.
33. Afficher le contenu du fichier /etc/apt/sources.list? Que signifie (#) ?
34. En utilisant la commande apt-get, installer le paquetage d’interpréteur de commande (shell) zsh.
35. Afficher les dépendances installées du paquetage zsh à l’aide de la commande apt-cache.
36. Afficher les informations relatives à ce paquetage en utilisant la commande mineure ’’showpkg’’.
37. Désinstaller le paquetage installé à la question précédente, y compris leurs fichiers de configuration.
$ sudo apt-get remove --purge zsh
38. Libérer l’espace disque de votre machine en supprimant la totalité des paquets présents dans
/var/cache/apt/archives.
$ apt-get clean
39. Suivre les commandes suivantes pour installer la version la plus récente du paquetage R en ajoutant le bon
référentiel à la liste /ect/apt/sources.list.
Indication : R est un langage de programmation open source qui se spécialise dans le calcul statistique et
des graphiques.
$ sudo sh -c 'echo "deb http://cran.ma.imperial.ac.uk/bin/linux/ubuntu xenial/" >> /etc/apt/sources.list'
$ sudo apt-get update
ERROR: The following signatures couldn't be verified because the public key
is not available: NO_PUBKEY KEYID
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEYID (Remplacer KEYID par le
nombre affiché dans l’erreur)
$ sudo apt-get -y install r-base --force-yes
$ sudo apt-get -f install
40. Lancer le shell interactive R à l’aide de cette commande :
$R
Pour quitter : q (save =”no”)
41. Installer le paquetage alien permettant de convertir un paquetage sous un autre format.
42. Utiliser la commande alien pour convertir le paquetage ttf-mscorefonts-installer_3.6_all.deb en format tgz.
43. Décompresser et afficher le contenu du fichier ttf-mscorefonts-installer_3.6_all.tgz à l’aide de la
commande suivante:
$ tar xvfz ttf-mscorefonts-installer_3.6_all.tgz

Partie 5 : Travail non présentiel

1. Quelles sont les informations maintenues par le système de gestion des paquetages Debian ou RPM?
2. Où sont stockés les fichiers utilisés par le gestionnaire de packages DEBIAN.
3. Rappeler la convention de nommage d’un paquetage Debian ou RPM sous Linux.
4. Sous le système Fedora, utiliser la commande suivante pour lister les noms de tous les paquetages installée :
$ rpm -qa
Vérifier si le paquetage rpm-4.4.2.2-3.fc8 est installé.
5. Télécharger le paquetage msttcore-fonts-installer-2.2.tar.gz à partir du lien suivant :
https://sourceforge.net/projects/mscorefonts2/files/sources/msttcore-fonts-installer-2.2.tar.gz
6. Convertir le paquetage msttcore-fonts-installer-2.2.tar.gz en format rpm.
7. Installer le paquetage en format msttcore-fonts-installer-2.2-2.noarch.rpm tout en utilisant le mode bavard
(verbose) et en affichant l’état d’avancement du processus d’installation en cours (hashes added while
processing).
8. Désinstaller le paquetage installé à la question précédente, et procéder à sa réinstallation de nouveau tout
en forçant le gestionnaire de paquetages à ignorer la dépendance avec d’autres rpms.
9. Interroger la base rpm pour :
a. afficher les informations sur le paquetage msttcore-fonts. Que représente ce paquetage ?
b. lister tous les fichiers installés avec ce paquetage
c. lister tous les paquetages auxquels ce dernier dépend
Pour extraire les données (ex fichier police, fichier de configuration) d’un paquetage sans l’installer, la
commande rpm2cpio peut être utilisée. Cette dernière prend le nom du fichier comme seul argument et
renvoie le résultat vers la sortie standard.
Exécuter la commande suivante pour extraire les données depuis le paquetage msttcore-fonts et les rediriger
vers une archive cpio :
$ rpm2cpio msttcore-fonts-installer-2.2-2.noarch.rpm > file.cpio
10. Pour visualiser la liste des fichiers de l’archive, taper la commande suivante :
$ cpio -t < file.cpio
11. Créer un répertoire TP, puis déplacer le fichier file.cpio dedans.
12. A partir de ce répertoire, extraire tous les fichiers contenus dans l’archive en utilisant la commande :
$ cpio -idv < file.cpio
Expliquer le rôle de chacune des options utilisées avec la commande cpio.
13. Quel est l’utilité de ldd et ldconfig ?
14. Que peut-on trouver dans le fichier /etc/ld.so.conf
15. Quel est la différence entre une bibliothèque lib*.a et lib*.so ?
16. Quels sont les répertoires des bibliothèques partagés lib*.so.version
17. Quel est la différence entre job ID et PID ?
18. Quel est la différence entre fg et bg ?
19. Donner deux méthodes pour lancer un programme en background.
20. Quel est l’utilité de la commande pgrep ?
21. Répondre aux QCM de la page 101-105.
Annexe
Les tableaux suivants représentent un résumé des options les plus utilisés des commandes dpkg, apt-get, et apt-
cache. Il est à noter que le chapitre 2 du livre liste toutes les options en détails suivis par des exemples.

La commande dpkg :
dpkg [options] [action] [package-files | package-name]

Option Forme longue Description


-i --install Installer le paquetage
-r --remove Supprimer un paquet, mais laisse intacts les fichiers de
configuration
-P --purge Supprimer un paquet, y compris les fichiers de
configuration
-s --status Afficher des informations sur un paquet installé
-I --info Afficher des informations sur un paquetage désinstallé
-l --list Lister tous les paquets installés dont le nom
correspond à un motif donné
-L --listfiles Lister les fichiers installés associés à un paquet
-S --search Localiser le(s) paquet(s) qui possèdent le(s) fichier (s)
spécifiée par le motif
--configure Reconfigurer un paquet installé
--get-selections Afficher les paquetages actuellement installés

La commande apt-cache :
apt-cache [options] [command] [package-name]

commande Description
mineure
showpkg Afficher des informations sur les paquets indiqués

pkgnames Afficher les noms de tous les paquets installés sur le


système
depends Lister toutes les dépendances d´un paquet et la liste de
tous les paquets possibles qui satisfont ces
dépendances.
dumpavail Afficher une liste des paquets disponibles.
La commande apt-get :
apt-get [options] [command] [package-name]

Commande Description
mineure
install Afficher des informations sur les paquets indiqués

update Afficher les noms de tous les paquets installés sur le


système
upgrade Lister toutes les dépendances d´un paquet et la liste de
tous les paquets possibles qui satisfont ces
dépendances.
remove Afficher une liste des paquets disponibles.

source Obtention des codes sources du paquet donné

Clean Supprimer tout le cache

Autoclean Supprimer le cache des paquets périmés :

Option Forme longue Description


-d --download-only Récupération seule ; les paquets sont récupérés mais
ne sont ni dépaquetés ni installés
-f --fix-broken Correction ; essaye de réparer un système dont les
dépendances sont défectueuses
-m --ignore-missing Ignorer les paquets manquants ; si des paquets ne
peuvent être récupérés, ou, après récupération, ne
satisfont pas au contrôle d’intégrité
-q --quiet Mode silencieux ; cette commande produit une sortie
destinée à l’enregistrement dans un fichier-journal en
omettant les indicateurs de progression
-s --simulate Simulation ; cette commande réalise une simulation
des actions qui seraient exécutées mais ne modifie pas
le système
-y --yes Répond automatiquement oui aux questions

-b --build Cette commande compile un paquet source après


l’avoir récupéré.
-V --verbose-versions Afficher les versions complètes des paquets installés
ou mis à niveau.