Partie 1 : Architecture matérielle
Isolez l’adresse matérielle de votre carte graphique sur le bus PCI. Les cartes AGP et PCI Express sont vues comme un bus PCI.
# lspci | grep -i vga
01:00.0 VGA compatible controller: nVidia Corporation GeForce
8600 GT (rev a1)
Obtenez plus de détails sur cette carte. Notamment, quel module la gère ? Ces informations peuvent être obtenues avec le -v et en spécifiant uniquement la carte avec le -s de lspci :
# lspci -s 01 :00.0 -v
Affichez toutes les informations relatives aux périphériques de type USB connectés à la machine.
# lsusb
Comment affichez les messages du noyau lors du démarrage de linux ?
# dmesg
Ou
# more /var/log/dmesg
Partie 2 : Démarrage de Linux
Déterminer le niveau d’exécution de votre machine.
# runlevel
Modifier le niveau d’exécution de votre machine en passant au niveau 6.
# init 6
Si vous démarrez en mode graphique (niveau 5), modifiez /etc/inittab pour démarrer au niveau 3. Changez la valeur de 5 à 3 sur la ligne initdefault et rebootez.
id:3:initdefault:
Listez les services qui démarrent au niveau 3 :
# ls -l /etc/init.d/rc3.d/S*
Avec la commande shutdown, éteignez l’ordinateur maintenant. Quel est le niveau d’exécution activé ?
# shutdown -r now Atelier 3 : Installation et gestion de paquetages
Objectifs :
Connaître les commandes d’installation du système et des paquetages.
Durée : 1.5h
Consultez le contenu du fichier de configuration /boot/grub/grub.conf
# cat /boot/grub/grub.conf
Pour les commandes de gestion de paquetages, vous allez vous contenter des outils dpkg et apt-get puisque vous travaillez sur une distribution Debian (Ubuntu).
Déterminez le nombre de packages DPKG actuellement installés sur votre poste de travail.
$ dpkg - l | grep ^ii | wc -l
Vérifiez que le package virtualbox est bien présent sur votre système, puis déterminez à quoi il sert à l’aide de sa description.
$ dpkg -l virtualbox
Pour supprimer un package Debian, utilisez l’option -r :
# dpkg -r virtualbox
Téléchargez le package DPKG de tuxpaint présent surle lien : http://www.tuxpaint.org/download/, choisissez la dernière version.
Pour installer ce package Debian, utilisez le paramètre -i :
# dpkg -i tuxpaint.xxxxxxx.dpkg
APT est un gestionnaire de meta-packages : il gère les dépendances à votre place et travaille sur des dépôts et non plus sur des packages individuels. Tuxpaint est présent dans le dépôt des backports. Le but est de gérer ce dépôt et les installations associées.
Vous devez modifier le fichier /etc/apt/sources.list et rajouter dedans la ligne
« deb http://www.backports.org/debian etch-backports main contrib non-free ».
L’url complète du dépôt contrib pour les i386 est :
http://www.backports.org/debian/dists/etchbackports/contrib/binary-i386/.
Mettez à jour la base locale APT ?
# apt-get update
installez uniquement tuxpaint.
# apt-get install tuxpaint
Mettez à jour votre système.
# apt-get upgrade Atelier 4 : Systèmes de fichiers
Objectifs :
Maîtriser les commandes de partitionnement.
Connaître l'organisation de l'arborescence standard des fichiers sous Linux.
Maîtriser la création d'un système de fichiers sur une partition.
Maîtriser la remise en état d'un système de fichiers endommagé.
Savoir protéger les fichiers et les répertoires.
Durée : 3h
Partie 1 :
Attention : vue l’importance des commandes à réaliser, vous allez utilisez durant la séance de travaux pratiques la machine virtuelle lpi1 se trouvant sous le système windows 7.
Soit un disque dur de votre système disposant d’espace pour la création d’une partition. Sur la machine virtuelle lpi1, il s’agit du premier disque IDE, appelé /dev/hda. Trois partitions sont présentes : /dev/hda1, /dev/hda2 et /dev/hda3. Créez une troisième partition étendue.
# fdisk /dev/hda
Créez une nouvelle partition en appuyant sur n puis [Entrée].
Créez une partition étendue en appuyant sur e puis [Entrée].
Comme numéro, saisissez 4 puis [Entrée] : il ne peut y avoir que quatre partitions primaires.
Enfin, appuyez deux fois sur [Entrée] pour accepter les valeurs par défaut.
Créez ensuite une partition logique, selon le même principe, dans la partition étendue. Elle portera le numéro 5 et occupera tout l’espace disponible.
Sauvez la table des partitions en appuyant sur w puis [Entrée]. Vous allez probablement obtenir un message d’avertissement vous informant que la nouvelle table n’est pas accessible.
Forcez la mise à jour de la nouvelle table des partitions avec partprobe :
# partprobe /dev/hda
Vérifiez dans /dev la présence du fichier /dev/hda5.
# ls -l /dev/hda5
Créez un système de fichiers de type ext2 dans /dev/hda5, sans options particulières:
# mkfs -t ext2 /dev/hda5
En fin de compte, il fallait le créer en ext3 pour profiter de la journalisation. Modifiez le système de fichiers pour qu’il soit maintenant en ext3 :
# tune2fs -j /dev/hda5
Partie 2 :
Dans votre dossier personnel créer un dossier nommé droits et un document monDoc.txt à l’intérieur de ce dossier.
Quels sont les droits d’accès sur le fichier que vous venez de créer pour l’utilisateur ? le groupe ? les autres ?
$ ls -l
Convertir en octal les droits d’accès suivants :
r w x // 7 = 1 * 4 + 1 * 2 + 1 * 1
r – x // 5 = 1 * 4 + 0 * 2 + 1 * 1
– w x // 3 = 0 * 4 + 1 * 2 + 1 * 1
Traduisez les octaux suivant en droits d’accès :
1 // 1 = 0 * 4 + 0 * 2 + 1 * 1 => - - x
4 // 4 = 1 * 4 + 0 * 2 + 0 * 1 => r - -
6 // 6 = 1 * 4 + 1 * 2 + 0 * 1 => r w -
Modifier les droits sur monDoc.txt tel qu’il soit accessible en lecture pour tout le monde (les accès et écriture et exécution sont laissés par défaut).
$ chmod ugo+r monDoc.txt
Modifier les droits sur le document tel qu’il ait les suivant : r w x r – x r – –
$ chmod 754 monDoc.txt
Supprimer les droits de lecture au groupe et aux autres utilisateurs.
$ chmod go-r monDoc.txt
Ajouter les droits d’exécutions aux autres utilisateurs.
chmod o+x monDoc.txt
Ecrire avec plusieurs façons, l’accès total du document par tous les utilisateurs.
$ chmod 777 monDoc.txt
$ chmod ugo+rwx monDoc.txt
$ chmod a+rwx monDox.txt
$ chmod ugo=rwx monDoc.txt
$ chmod a=rwx monDoc.txt
Partie 3:
Exercice1
Exécuter et interpréter la commande umask
Créer un répertoire REP1dans votre répertoire courant.
Donner le droit d’accès de REP1.
Taper la commande umask 204 REP2.
Créer le fichier REP2.
Donner le droit d’accès de REP2.
Donner le droit maximal de REP2.
Taper la commande umask 204 fich.
Donner le droit d’accès de fich.
Donner le droit maximal de fich.
Atelier 5 : Commandes Unix
Objectifs :
Maîtriser la ligne de commande.
Connaître les caractères spéciaux et la majorité des filtres de texte disponibles sur la ligne de commande.
Durée : 3h
Partie 1 :
Soit l’arborescence suivante :

Créer l’arborescence ci-dessus.
Ecrire une ligne de commandes permettant d’afficher le contenu du répertoire personnel /home/etudiant avec des détails sur les fichiers.
$ ls -l
Ecrire une ligne de commandes permettant d’afficher le chemin absolu du répertoire courant.
$ pwd
Ecrire une ligne de commandes permettant de passer du répertoire personnel au répertoire images.
$ cd images
Vous êtes dans le répertoire images, écrire une ligne de commandes permettant d’afficher les fichiers qui commencent par le mot perso.
$ ls perso*
Ecrire une ligne de commandes permettant d’afficher les images de type gif.
$ ls *gif
Ecrire une ligne de commandes permettant copier le fichier cv.txt dans le répertoire documents.
$ cp ~/cv.txt ~/documents
Ecrire une ligne de commandes permettant de supprimer le répertoire documents avec son contenu.
$ rm –r ~/documents
Ecrire une ligne de commandes permettant de créer un lien symbolique nommé lien_images vers le dossier images.
$ ln ~/images lien_images Partie 2 :
Créer le fichier fichnote contenant les lignes suivantes :
Selmi Bilel 12 08 09
Arbi Lobna 09 15 12
Mahmoudi Salah 10 11 13
Aouini Menel 16 08 07 Le séparateur entre les champs étant la tabulation.
Ecrire une ligne de commandes permettant d’afficher le contenu du fichier fichnote.
$ cat fichnote
Ecrire une ligne de commandes permettant d’afficher toutes les lignes contenant la chaîne de caractères « 09 » dans le fichier fichnote.
$ grep 09 fichnote
Ecrire une ligne de commandes permettant d’afficher toutes les lignes qui commencent par le caractère « A » dans le fichier fichnote.
$ grep ^A fichnote
Ecrire une ligne de commandes permettant de récupérer la 1ère et la 2ème colonne de fichnote.
$ cut -f1,2 fichnote
Ecrire une ligne de commandes permettant de récupérer la cinquième colonne de fichnote.
$ cut -f5 fichnote
Ecrire une ligne de commandes permettant d’afficher les lignes du fichier fichnote avec numérotation.
$ nl fichnote
Ecrire une ligne de commandes permettant d’afficher les 2 premières lignes de fichnote.
$ head -2 fichnote
Ecrire une ligne de commandes permettant d’afficher les 2 dernières lignes de fichnote.
$ tail -2 fichnote Partie 3 :
Tous les commandes ci-dessous sont réalisés avec le fichier jeu_essai sont le contenu est :
Perl
perle
Parlant
parler
perl Parler parle perl langage exe qwertz
qwertz alpha exe qwertz
qwertz alpha Langage
Language
02.03.05.03
01.234.5678
un deux trois quatre cinq six sept huit neuf
0 1 2 3 5 6 7 8 9 Ecrire toutes les commandes grep permettant de satisfaire les demandes en question :
les lignes vides
grep ^$ jeu_essai
Mot terminé par "age"
grep "age\>" jeu_essai
Mot terminé par "guage" ou "gage"
grep "gu\?age\>" jeu_essai
Chaîne contenant "erl"
grep "erl" jeu_essai
Lignes terminées par "t"
grep t$ jeu_essai
Chaîne contenant les sous-chaînes "alpha" ou "exe"
grep -E "(alpha|exe)" jeu_essai
Ligne ne commençant pas par un chiffre
grep ^[^0-9] jeu_essai
Ligne commençant par une voyelle ou un chiffre
grep ^[0-9aeiaouAEIOU] jeu_essai
Ligne ne commençant pas par une voyelle
grep ^[^aeiaouAEIOU] jeu_essai Partie 4 :
Dans un système Linux, quel est le processus qui n'a pas de père. Quel est son PID?
À quoi servent les options -f et -L de la commande ps ?
Lancez la commande ps ax -f -L et décrivez les différentes colonnes affichéees.
Utilisez la commande pstree pour afficher l'arbre des processus en cours avec leur PID.
Quelle option de pstree permet d'afficher les ancêtres d'un certain processus dont le PID est donné en argument à la commande ?
Quelle option de pstree permet d'afficher l'arbre complet des processus en cours (i.e., permet d'afficher toutes les occurrences de chaque processus) ?
Quel signal est lancé par défaut à la commande kill ?
Que font les signaux suivants : SIGQUIT, SIGKILL, SIGCHLD ?
Quel caractère permet de lancer une commande en arrière-plan ? Quelle commande permet de lancer une commande en arrière-plan ?
Affichez la liste des processus actifs dans votre terminal courant en utilisant ps.
Quelles informations sont affichées par défaut lorsque vous lancez la commande top?
Utilisez la commande top pour afficher la liste des processus en temps réel en ajoutant les colonnes PID et UID dans l'affichage.
Lancez 3 fois la commande sleep en arrière-plan avec des arguments différents à chaque fois.
Affichez la liste des travaux en cours. Que signifient les caractères + et - dans le résultat obtenu ?
Lancez ensuite la commande sleep en avant-plan.
Reprenez la main dans votre terminal et affichez à nouveau la liste des travaux en cours.
Relancez en arrière-plan la dernière commande sleep, que vous avez suspendue auparavant.
Arrêtez l'exécution de la première commande sleep en utilisant son PID.
Arrêtez l'exécution de la deuxième commande sleep en utilisant son numéro de travail.
Arrêtez l'exécution des deux dernières commandes sleep en utilisant la combinaison de touches Ctrl+c
Atelier 6 : Programmation Shell
Objectifs :
Ce TP a pour but de vous familiariser avec la programmation en shell sur système Unix.
Les shells (ou langages de commandes) assurent l'interface entre les utilisateurs et le système. Sous Unix, il s'agit de véritables langages de programmation interprétés. On peut distinguer les commandes externes, qui entraînent la création d'un nouveau processus correspondant à l'exécution d'un programme binaire et les commandes internes, qui sont des commandes propres à l'interpréteur de commande.
|