Consignes

Compte rendu de TP

Ce TP sera noté sur un compte-rendu que vous devrez écrire pendant la séance. Ce compte rendu contiendra :

Ce compte rendu devra être rendu par TPLab dans l'heure qui suit la fin du TP. Il n'est pas nécessaire de fournir des captures d'écran : le rapport final devra faire au plus 2 pages.

Portable ou ordinateur fixe

Pour tous ceux qui disposent d'un ordinateur portable avec (environ) 10Go de libre, il est conseillé de faire ce TP sur votre portable : la machine virtuelle que vous installerez pourra vous servir pour les TP suivants ou pour d'autres cours...

Pour ceux qui sont déjà familiers avec Linux, vous pouvez discuter avec votre encadrant de TP afin de trouver une alternative à Ubuntu...

Liens utiles

Objectifs du TP

L'objectif de ce TP est de se familiariser avec le concept de machine virtuelle et leurs utilisation. La partie importante du TP consiste à installer (depuis Windows) et configurer un système Linux (Ubuntu) sur une machine virtuelle.

1. Installation d'un système Linux

1.1. Préliminaires

Téléchargement de l'image ISO

Téléchargez l'image ISO lubuntu-20.04.4-desktop-amd64.iso (1.8Go). (lien externe, beaucoup plus lent) ou copiez la depuis une clé USB fournie.

Attention, si vous utilisez un ordinateur fixe de l'université, ce fichier est trop volumineux pour pouvoir être stocké dans votre répertoire personnel. Il faut donc impérativement le télécharger sur le disque local de la machine (disque D:\\ dans les salles de l'université).

Si le disque local contient déjà un fichier nommé lubuntu-20.04.4-desktop-amd64.iso, vous pouvez passer à la suite.

Pendant le téléchargement, lisez la suite du sujet...

Ordinateur hôte

Si vous souhaitez faire le TP sur votre portable, vérifiez :

Pour ceux qui utilisent les ordinateurs de l'université, il est impératif de télécharger Lubuntu en dehors de votre répertoire personnel : le fichier d'installation est trop gros pour pouvoir être stocké avec vos fichiers personnels.

Suivant le modèle de votre ordinateur et la quantité de mémoire RAM disponible, l'installation et l'utilisation de la machine virtuelle peut être plus ou moins rapide. (Cette remarque est également valable pour les ordinateurs fixes des salles de TP de l'université...)

Distribution Linux

Windows est un système d'exploitation, distribué avec quelques utilitaires (dont un gestionnaire de fenêtres et un navigateur web).

Linux est uniquement un noyau.

Les systèmes Linux sont (presque) toujours installés à travers des distributions, c'est à dire des ensembles de logiciels autour du noyau Linux. Nous allons installer un système en utilisant une variante de la distribution Ubuntu. C'est l'une des distributions les plus utilisées par les utilisateurs débutants avec Linux.

Nous allons installer une variante "légère" pour ménager un peu les vieux ordinateurs : Lubuntu qui remplace certains composants graphiques par des variantes moins gourmandes en ressources.

Pour les étudiants qui maitrisent déjà Linux et qui possèdent déjà une machine virtuelle avec Ubuntu installée, vous pouvez choisir une autre distribution Linux (Debian, archlinux) ou une distribution BSD (freeBSD ou OpenBSD).

Avant de commencer ceci, il est impératif de vérifiez ce que votre encadrant en pense...

2. Installation d'un système Linux

2.1. Image ISO du CDROM d'installation

L'installation d'un système se fait habituellement à partir d'un CDROM ou d'une clé USB "bootable". Nous allons installer le système dans un ordinateur virtuel, qui possède donc un lecteur de CDROM virtuel ! Le contenu du CDROM ("l'image ISO") peut donc simplement être stockée dans un fichier et il n'est pas nécessaire de le graver...

Dans l'explorateur de fichiers, vérifiez que le fichier obtenu fait bien 1932854248 octets.

2.2. Lancement de VirtualBox

Nous avons maintenant le CDROM virtuel et il est possible de créer un nouvel ordinateur virtuel avec VirtualBox.

Lancez le programme VirtualBox (Oracle VirtualBox dans la liste des programmes) et créez une nouvelle machine (bouton en haut à gauche, ou menu Machine, Nouvelle, ou raccourci "Control-n").

  1. Comme nom, choisissez "Ubuntu-201". Si une machine virtuelle avec ce nom existe déjà, supprimez la (clic droit, "supprimer", en choisissant "Supprimer tous les fichiers".)

  2. Comme dossier de la machine, choisissez une partition avec suffisamment d'espace disque et sur laquelle vous avez les droits de lecture / écriture. (D:// par exemple)

  3. Le type doit automatiquement se mettre à "Linux". Si ce n'est pas le cas, vérifiez le nom.

  4. Nous allons installer un système 64 bits. Modifiez la version en choisissant "Ubuntu (64-bit)".

  5. Choisissez "1024Mo" pour la quantité de mémoire RAM allouée à la machine virtuelle.

    Si vous utilisez votre portable et que vous disposez de beaucoup de mémoire RAM, vous pouvez augmenter cette valeur.

  6. Choisissez l'option Créer un disque dur virtuel.

    Le disque dur de la machine virtuelle sera stocké dans un (gros) fichier sur le disque dur physique de l'ordinateur.

  7. Conservez l'option par défaut (VDI).

  8. Conservez l'option par défaut (Taille dynamique).

  9. Pour la taille, allouez "10Gio" pour le disque virtuel.

    Si vous travaillez sur votre portable, que vous avez de l'espace disque et que vous souhaitez utiliser la machine virtuelle sérieusement, n'hésitez pas à allouer plus de place pour le disque virtuel (10Go ou plus).

    Attention cependant, il est difficile de redimensionner le disque dur virtuel sans réinstaller la machine virtuelle.

  10. Validez la configuration en cliquant sur Créer.

Vérifiez ensuite qu'il existe bien un répertoire Ubuntu-201 sur le disque local, et qu'il contient un fichier pour le disque dur virtuel (Ubuntu-201.vdi).

À inclure dans votre compte-rendu : qu'elle est la taille (en octets) du fichier ? Qu'en pensez-vous ?

2.3. Installation du système

Vous devriez maintenant voir la machine virtuelle "Ubuntu-201" qui est Éteinte dans le paneau de gauche de VirtualBox.

  1. Démarrez maintenant la machine virtuelle Ubuntu-201. Que se passe t'il ? Expliquez.

  2. Choisissez l'image ISO téléchargée précédemment comme disque de démarrage pour continuer l'installation.

Si VirtualBox ne vous demande pas de choisir un disque d'amorçage, il faudra le configurer explicitement : sélectionnez la machine Ubuntu-201 et cliquez sur le lien Stockage. Vous devriez obtenir une fenêtre ressemblant à

./TP1/stockage1.jpg

Cliquez sur le lecteur CD Vide dans l'arborescence Contrôleur : IDE, puis sélectionnez le fichier lubuntu-20.04.4-desktop-amd64.iso téléchargé précédemment en cliquant sur l'icone du CDROM à droite du menu déroulant Maître secondaire IDE.

./TP1/stockage2.jpg

En cliquant sur le lien Système de la machine Ubuntu-201, vérifiez que l'Ordre d'amorçage contient bien le lecteur Optique avant le Disque dur.

En cas d'erreur fatale de VirtualBox lors du démarrage de la machine virtuelle, vous pouvez vérifier la configuration du processeur : ongles Système, Processeur. L'option Activer PAE/NX doit être activée.

Si vous travaillez sur votre portable et que le démarrage provoque une erreur du style "kernel panic", vous pouvez :

Démarrez maintenant la machine virtuelle. Si vous avez suivit les instructions, la séquence de boot se fait sur le CDROM.

  1. choisissez sans utiliser la souris le Français,

  2. choisissez sans utiliser la souris l'option start Lubuntu,

    Suivant la version de VirtualBox utilisée, vous pouvez recevoir un message vous informant que la souris est capturée par la machine virtuelle. Cela signifie que votre souris / curseur est maintenant actif uniquement dans la machine virtuelle. En particulier, la souris ne peut plus sortir de la fenêtre de la machine virtuelle. Pour récupérer la souris, il faut appuyer sur la touche "Control" à droite du clavier.

    Notez que comme la souris n'est pas encore reconnue par l'installateur, ceci peut avoir pour effet de faire disparaitre le curseur...

  3. Lubuntu devrait démarrer en mode "live", c'est à dire à partir du DVD virtuel. Nous allons tout de suite faire une installation du système : double-cliquez sur l'icone "Installer Lubuntu 20.04 LTS".

  4. Bienvenue : choisissez le Français comme langue du système.

  5. Localisation : choisissez "Europe" (région) et "Paris" (zone) pour la localisation.

  6. Clavier : choisissez votre clavier, en testant que les touches sont bien reconnues (azerty1234,.: etc.).

  7. Partitions : choisissez "effacer le disque", (cela reformatera le disque virtuel mais ne touchera pas à votre partition principale !)

  8. Utilisateurs : choisissez Administrateur comme nom, et conservez administrateur comme "nom pour la connexion" (login). Tapez Ubuntu-201 pour le nom de l'ordinateur. Choisissez utnubu comme mot de passe. (Comme il s'agit d'une machine de test, vous pouvez ignorer l'avertissement concernant le choix du mot de passe...)

  9. Résumé : lancez l'installation.

  10. Installer : pendant l'installation, qui peut durer un petit moment suivant l'ordinateur que vous utilisez, faites la partie Intermède du TP.

  11. Terminer : lorsque l'installation est finie, vous pouvez finalement cliquer sur le bouton "Terminé" avec l'option Redémarrer maintenant.

    Normalement, le CDROM (Please remove the installation medium...) est automatiquement éjecté. Si ce n'est pas le cas, il faudra retourner dans la page principale de VirtualBox, lien Système pour supprimer le fichier lubuntu-20.04.4-desktop-amd64.iso du lecteur CD virtuel.

Si, au début de l'installation, vous obtenez un écran ressemblant à

TP1/ubu.jpg

vous pouvez essayer de résoudre le problème en appuyant successivement sur

À inclure dans votre compte-rendu : comparez la taille (en octets) du fichier Ubuntu-201.vdi avec sa taille notée précédemment. Expliquez ce que vous constatez...

2.4. Intermède : processus (depuis Windows)

Cette partie du TP se fait sous Windows, pendant que Ubuntu s'installe dans la machine virtuelle.

Le gestionnaire des tâches est un utilitaire qui permet d'obtenir la liste des processus en cours d'exécution, ainsi que leurs utilisation des ressources (CPU, RAM). Vous pouvez le lancer avec

Lancez le gestionnaire des tâches.

À inclure dans votre compte-rendu :

  1. Quel est le PID ("Process IDentification") du processus taskmgr.exe ?

  2. À quoi ce processus correspond il ?

  3. Combien de processus (environ) sont actuellement utilisés par Windows ?

À inclure dans votre compte-rendu :

  1. Depuis le gestionnaire des tâches, sélectionnez le processus taskmgr.exe et cliquez sur le bouton arrêter le processus. Que constatez vous ?

  2. Relancez le gestionnaire des tâches, selectionnez le processus explorer.exe et notez son PID. Arrêtez ce processus. Que constatez vous ?

  3. Dans le gestionnaire des tâches, relancez une nouvelle tâche (menu fichier, Nouvelle tâche) et entrez "explorer.exe". Comparez le PID de ce processus avec celui noté précédemment.

    N'arrêtez pas les processus liés à VirtualBox !

3. Utilisation du système Linux

Après le redémarrage de la machine virtuelle, vous devriez obtenir un écran de connexion : vous pouvez choisir l'utilisateur administrateur avec le mot de passe utnubu choisi précédemment.

Vous pouvez installer les mises à jours, mais cela risque de prendre un peu de temps.

Vérifiez que vous avez accès au réseau en ouvrant le sujet du TP dans le navigateur web firefox.

Vous pouvez modifier la résolution de l'écran en allant dans le panneau de configuration du système.

3.1. Processus (depuis Ubuntu)

Ubuntu dispose aussi d'un gestionnaire de taches : vous pouvez y accéder depuis le menu démarrer, Outils système, qps.

À inclure dans votre compte-rendu :

  1. Lancez le gestionnaire de tâches de Ubuntu, et chercher le processus qps. Quel est son numéro (colonne PID) ?

  2. Arrêtez ce processus en faisant un clic droit dessus, et en choisissant terminer. Que constatez vous ?

  3. Combien y a t'il de processus présents dans Ubuntu ?

  4. La machine virtuelle "voie" t'elle les processus de la machine hôte ? La machine hôte "voie" t'elle les processus de la machine virtuelle ? Expliquez comment vous répondez à cette question.

3.2. Mode administrateur

Par défaut, il n'est pas possible de "casser" le système en supprimant des fichiers important.

  1. Ouvrer le navigateur de fichiers (icone TP1/navigateur-icone.jpg en bas à gauche) et déplacez vous à la racine du système, c'est à dire dans le répertoire "/".

  2. Pouvez vous supprimer le répertoire /boot/ ?

  3. Ajoutez un répertoire /test/ à la racine du système. Que constatez-vous ?

  4. Déplacez vous dans le répertoire /tmp/ et affichez les fichiers cachés (menu Voir, afficher les )fichiers cachés, ou raccourci Control-h). Affichez les propriétés du répertoire .X11-unix (clic droit, action propriétés), et en particulier les Droits d'accès. Quel est l'utilisateur propriétaire du répertoire ?

  5. Quel est l'utilisateur du fichier /sbin/fsck ? À votre avis, pouvez-vous supprimer ce fichier ?

Par défaut, l'utilisateur créé pendant l'installation peut accéder aux droits administrateurs en donnant son mot de passe. Il est également possible de créer des utilisateurs sans ces droits.

Cherchez l'utilitaire approprié dans les menus (à partir du menu "Préférences") et ajoutez un utilisateur :

  1. Déconnectez l'utilisateur administrateur et connectez vous en choisissant l'utilisateur etudiant.

  2. Ajoutez un nouvel utilisateur :

    • nom : "Bob l'Éponge"

    • login : "bob"

    • mot de passe : "boby123"

    L'utilisateur etudiant peut-il vraiment ajouter des utilisateurs ?

Seuls les utilisateurs appartenant au groupe sudo ("superuser do") peuvent obtenir les droits administrateur.

  1. Lancer le programme approprié et cherchez la liste des utilisateurs appartenant au groupe sudo.

  2. Ajoutez l'utilisateur etudiant au group sudo.

  1. Déconnectez l'utilisateur etudiant et reconnectez l'utilisateur administrateur.

  2. Supprimez l'utilisateur bob et vérifiez que vous pouvez choisir le mot de passe de etudiant pour cette opération.

  1. En tant qu'utilisateur administrateur, vérifiez que vous avez accès, en lecture, aux dossiers de l'utilisateur etudiant. (Son dossier personnel se trouve dans /home/etudiant/)

  2. En tant qu'utilisateur administrateur, sélectionner votre propre répertoire personnel, c'est à dire le dossier /home/administrateur. Modifiez les Propriétés de ce dossier pour mettre un contrôle d'accès (lecture, écriture et accès) à Propriétaire seulement.

  3. Est-ce que l'utilisateur etudiant aura accès (en lecture) au dossier personnel de administrateur ?

À inclure dans votre compte-rendu : que pensez-vous de la sécurité offerte par ce système ?

3.3. Invite de commandes

Lancer l'application QTerminal depuis le menu Outils systèmes. Vous obtiendrez une invite de commande (aussi appelée shell) qui sera développée au cours du TP2 :

TP1/terminal.jpg

Ceci vous permet de communiquer avec le système :

La commande cd /tmp permet de se déplacer dans le répertoire /tmp/. Comparez la liste des fichiers donnée par ls avec la liste obtenu dans le gestionnaire de fichiers.

La commande ls a de nombreuses options d'affichage, dont

Cherchez le propriétaire du répertoire .X11-unix et vérifiez que vous obtenez le même résultat que précédemment.

3.4. Installation de logiciels

Les distributions Linux ont toute un accès à un dépôt central de plusieurs milliers de logiciels. On parle de paquets. L'installation (et la désinstallation) d'un de ces paquets est donc très simple. Les logiciels installés de cette manière sont en général configurés automatiquement.

Lancez un Gestionnaire de paquets. Pour passer en mode administrateur, le gestionnaire de paquets vous demandera alors votre mot de passe.

Faites une recherche sur la chaine "idle" et installez idle.

Vérifiez que idle a bien été installé.

Il est également possible d'installer ces paquets en utilisant uniquement la ligne de commandes :

...$ apt install <nom-du-paquet>

Attention, il faut remplacer <nom-du-paquet> par le nom exact du paquet à installer, sans les symboles "<" et ">"..

Pour que cette commande fonctionne, il ne faut pas oublier de quitter le gestionnaire de paquet graphique. Sans cela, vous aurez une erreur comme

E: Impossible d'obtenir le verrou /var/lib/dpkg/lock - open (11: Ressource temporairement non disponible)
E: Impossible de verrouiller le répertoire d'administration (/var/lib/dpkg/). Il est possible qu'un autre processus l'utilise.
  1. Essayez d'installer le paquet sl (comme ls, mais à l'envers). Que constatez vous ?

  2. Pour obtenir les droits administrateur sur une commande, il faut utiliser sudo:

    ...$ sudo <commande>

    Essayez d'installer le paquet sl en ajoutant sudo dans votre commande précédente.

    Note : il est normal que la saisie du mot de passe dans le terminal n'affiche aucun caractère.

  3. Vérifiez que la commande sl est bien installée :

    ...$ sl

    Que constatez vous?

  4. Essayez d'installer le paquet tetris. Que constatez vous ?

  5. Pour faire une recherche dans les paquets depuis la ligne de commande, il faut utiliser

    ...$ apt search <chaine>

    <chaine> est remplacé par la chaine à chercher, sans les symboles "<" et ">".

    Faite une recherche de la chaine "tetris" dans la liste des paquets. Combien y a t'il de résultats? Installez, puis testez un des paquets correspondants.

4. Utilisation de VirtualBox

4.1. Arrêt de la machine virtuelle

Il y a plusieurs manières d'arrêter une machine virtuelle avec VirtualBox :

Après redémarrage de Ubuntu, utilisez l'utilisateur administrateur pour vous connecter à Ubuntu.

Testez les différentes manière d'éteindre la machine virtuelle et expliquez les différences entre

4.2. Communication machine hôte / machine virtuelle

Il est pour le moment assez compliqué de transférer des fichiers entre la machine hôte (Windows) et la machine virtuelle (Ubuntu). Pour simplifier la tâche, nous allons configurer un dossier partagé entre les deux machines. Comme cette opération met en œuvre la machine hôte et la machine virtuelle, il faut configurer ce dossier partagé dans les deux machines.

Depuis Windows, dans le panneau de control VirtualBox concernant la machine virtuelle Ubuntu-201, choisissez la partie dossier partagés. Ajoutez un dossier permanent :

Installez, avec la méthode de votre choix, le paquet virtualbox-guest-dkms dans la machine virtuelle. Cela peut prendre quelques minutes. Profitez en pour relire ce que vous avez écrit dans votre compte-rendu.

Depuis la machine virtuelle, cliquez sur le menu Périphériques de VirtualBox (tout en haut de la fenêtre), et choisissez insérer l'image CD des Addition invitées. Cette action, de VirtualBox insère un CDROM virtuel spécial dans le lecteur CD virtuel de la machine virtuelle. La machine virtuelle détectera ce CDROM et vous proposera de l'Ouvrir dans le gestionnaire de fichier. Acceptez cette action et vous devriez obtenir quelque chose comme

TP1/liste_guest.jpg

La suite des opérations va devoir se faire depuis l'invite de commandes :

  1. Déplacez vous dans le répertoire contenant le CDROM virtuel de l'opération précédente :

    ...$ cd /media/administrateur/VBox_GAs_6.1.18

    (Attention, le nom de ce répertoire dépend de votre version de VirtualBox : vous devez récupérer ce nom dans le gestionnaire de fichiers qui a été ouvert lors de l'opération précédente.)

  2. Vérifiez que vous êtes dans le bon répertoire avec

    ...$ ls
    <... des trucs ...>
    VBoxLinuxAdditions.run
    <... d'autres trucs ...>
  3. lancez la commande

    ...$ sudo sh ./VBoxLinuxAdditions.run --nox11

    qui peut prendre quelques minutes

  4. si tout a fonctionné, vous pouvez redémarrer la machine virtuelle.

Après un redémarrage, vous devriez voir apparaitre un volume externe "sf_Share" dans le navigateur de fichiers. Malheureusement, vous n'aurez pas les droits d'accès à ce volume : les utilisateurs doivent être membre du groupe vboxsf.

Lancez l'utilitaire Utilisateurs et groupes du menu démarrer, Outils système. Choisissez le bouton Gérer les groupes et ajoutez les utilisateurs administrateur et etudiant au groupe vboxsf (voir question 15). Il faudra déconnecter et reconnecter l'utilisateur pour que les changement fassent effet.

Vous pouvez maintenant

5. Pour aller plus loin...

5.1. Un petit serveur web local

Si vous avez besoin de faire du développement web en PHP (par exemple, pour les TP du cours "langages du web"), vous pouvez facilement installer un serveur web local :

  1. Installez les paquets libgamin0, lighttpd (serveur web) et php-cgi (PHP pour le serveur).

  2. Activez les pages web "utilisateur" et le langage PHP pour le serveur local avec les commandes

    ...$ lighttpd-enable-mod userdir fastcgi fastcgi-php

    et relancer le serveur web avec la nouvelle configuration

    ...$ service lighttpd reload
  3. Vous pouvez maintenant créer un répertoire public_html à la racine de votre dossier personnel. Si ce répertoire contient des pages web / PHP, vous pourrez y accéder depuis un navigateur en allant à l'adresse http://localhost/~login_utilisateur. (Par exemple, http://localhost/~etudiant). Testez en créant un fichier info.php contenant

    <?php
      phpinfo();
    ?>
    

    et en accédant à http://localhost/~etudiant/info.php.

    Attention, il faut utiliser une adresse http:... et pas une adresse https:....

    Vous pouvez également tester en transférant un fichier PHP du cours "langage du web"...

Attention, si vous avez changer le contrôle d'accès du répertoire de l'utilisateur etudiant (option Contrôle d'accès à Propriétaire seulement ou Propriétaire et groupe seulement), le répertoire /home/etudiant/public_html/ ne sera pas accessible pour le serveur web !

5.2. Si vous voulez une base de données

Il est presque aussi simple d'installer une base de données que vous pourrez utiliser avec votre serveur web :

  1. Installez les paquets mysql-server (il faudra choisir un mot de passe administrateur pour le serveur de bases de données), php-mysql et phpmyadmin (il faudra "reconfigurer" le serveur web lighttpd et accepter les choix par défaut).

5.3. ...

Vous pouvez maintenant installer les logiciels nécessaires pour d'autres TP :

5.4. FHS

Tous les système Linux ont une arborescence de fichiers standard. Cela permet à un utilisateur de n'importe lequel de ces systèmes, de savoir comment sont organisés les fichiers. Cette arborescence des fichiers s'appelle la "Filesystem Hierarchy Standard".

À inclure dans votre compte-rendu. Pour chacun de ces répertoires, décrivez avec vos propres mots le contenu attendu du répertoire :

Note : vous pouvez vous appuyer sur des documents glanés sur le net pour donner vos explications, mais vous devez les illustrer par des exemples pris sur la machine virtuelle que vous utilisez, et vous devez reformuler ce que vous trouvez.