Вы находитесь на странице: 1из 7

Pratiques Linux

TP4 – Gestion des processus et des paquetages


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

Equipe Pédagogique
Amine Besrour, Asma Ben Letaifa, Maroua Gharam, Riadh Ksantini, Slim Rekhis

Objectif
Le but de ce TP est de maitriser la gestion des différents types de paquetages sous le système d’exploitation
Mint, 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.
Notion préliminaires
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
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.

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

1. En utilisant la commande uname, afficher toutes les informations disponibles (version du noyau, type de
processeur, etc) 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 nano.
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 &
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.
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) 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 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 en utilisant la commande renice.
Partie 2 : Gestion des jobs

15. Ouvrir une fenêtre horloge avec la commande suivante. Vous constatez que l’horloge tourne mais que le
shell est suspendu.
$ xclock -d -update 1
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. Stopper de nouveau le job relatif à d’horloge avec la commande kill
20. Reprendre l’exécution de ce le job relatif à d’horloge avec la commande kill
21. Tuer le job relatif à d’horloge avec la commande kill et vérifier de nouveau son état avec la commande
jobs.
22. Relancer le processus horloge directement en arrière-plan en ajoutant « & ».
23. 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


24. 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
25. En utilisant la commande dpkg, installer le paquetage ttf-mscorefonts-installer_3.6_all.deb et vérifier
qu’il a été bien installé.
$ dpkg -i ttf-mscorefonts-installer_3.6_all.deb
$ dpkg --get-selections ttf-mscorefonts-installer
26. Afficher les informations relatives à ce paquetage
$ dpkg -s ttf-mscorefonts-installer
27. Lister les fichiers installés associés au paquetage ttf-mscorefonts-installer_3.6_all.deb.
$ dpkg -L ttf-mscorefonts-installer
28. Désinstaller ce paquetage et vérifier qu’il a été bien désinstallé.
$ dpkg -r ttf-mscorefonts-installer
$ dpkg --get-selections ttf-mscorefonts-installer
29. Déterminer le nom du paquetage installé qui fournit la commande /bin/ls
$ dpkg -S /bin/ls
30. Afficher les informations (la version, les dépendances, description du paquetage…) relatives à ce
paquetage.
$ dpkg -l coreutils
$ dpkg -s coreutils
31. Afficher la liste des bibliothèques partagées utilisée par la commande /usr/sbin/tcpd.
$ ldd /usr/sbin/tcpd | grep libwrap
Déterminer pour chaque bibliothèque partagée trouvée le package qui la fournit.

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 paquetages, permettant une
recherche facile et efficace, une installation simple et une désinstallation propre de logiciels et utilitaires. Il
permet aussi de tenir à jour le système avec les paquetages les plus récents.
1. En utilisant la commande apt-cache, lister les noms de tous les paquetages disponibles.
2. En utilisant la commande apt-cache, afficher les statistiques de tous les paquetages installés.
3. Afficher le contenu du fichier /etc/apt/sources.list? Que signifie (#) ?
4. En utilisant la commande apt-get, installer le paquetage d’interpréteur de commande (shell) zsh.
5. Afficher les dépendances installées du paquetage zsh à l’aide de la commande apt-cache.
6. Afficher les informations relatives à ce paquetage en utilisant la commande mineure ’’showpkg’’.
7. Désinstaller le paquetage installé à la question précédente, y compris leurs fichiers de configuration.
$ apt-get remove --purge zsh
8. Libérer l’espace disque de votre machine en supprimant la totalité des paquets présents dans
/var/cache/apt/archives.
$ apt-get clean
9. 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 spécialisé 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
10. Lancer le shell interactive R à l’aide de cette commande :
$R
Pour quitter, pater: q (save =”no”)
11. Installer le paquetage alien permettant de convertir un paquetage sous un autre format.
12. Utiliser la commande alien pour convertir le paquetage ttf-mscorefonts-installer_3.6_all.deb en format
tgz.
13. Décompresser et afficher le contenu du fichier ttf-mscorefonts-installer_3.6_all.tgz à l’aide de la
commande suivante, pour retrouver les fichiers fonts initialement fournis avec le paquetage ttf-
mscorefonts-installer_3.6_all.deb:
$ 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.

Вам также может понравиться