Installation de CentOS Stream 8 : la suite

Organisation du travail

Pour configurer votre machine, je vous conseille de vous connecter en utilisant une compte ordinaire et d'ouvrir un terminal pour acquérir les pouvoir de l'administrateur (avec la commande su -).

Redirection du port SSH

Pour accéder plus facilement à votre VM, nous allons mettre en place une redirection entre le port 9022 de la machine hôte et le port 22 de votre machine virtuelle.

  • Notez l'adresse IP de votre VM avec la commande ip addr (sûrement 10.0.2.15).
  • Ouvrez la configuration réseau de votre VM
  • Choisissez le mode Avancé/Redirection des ports
  • Ajoutez la règle :
    Nom Protocole IP Hôte Port Hôte IP invité Port invité
    SSH TCP 127.0.0.1 9022 10.0.2.15 22
  • Testez la connexion directe depuis votre machine hôte vers votre VM :
    ssh -X -p 9022 etud@localhost
    
  • Ajoutez ces lignes au fichier $HOME/.ssh/config de la machine hôte :
    host VM
        HostName 127.0.0.1
        User root
        Port 9022
        NoHostAuthenticationForLocalhost yes
        ForwardX11 yes
    
    host etud
        HostName 127.0.0.1
        User etud
        Port 9022
        NoHostAuthenticationForLocalhost yes
        ForwardX11 yes
    
  • Vous pouvez maintenant facilement vous connecter depuis votre machine hôte vers votre VM.
    En mode administrateur
    ssh VM
    
    En mode utilisateur
    ssh etud
    
  • Remarque : La ligne ForwardX11 permet de lancer des commandes graphiques sur la VM avec un affichage déporté sur la machine hôte.

Prendre un instantané de sauvegarde

Prenez l'habitude, avant toute opération dangereuse, de prendre un instantané de votre machine virtuelle.

Pour tester cette fonction, prenez un instantané, faitez ensuite une modification mineure de votre machine (création d'un fichier par exemple) et restaurez ensuite la version sauvegardée.

Mise à jour de votre système

La mise à jour d'un système consiste à installer une nouvelle version de certains packages afin de faire disparaître des problèmes de sécurité ou des dysfonctionnements. Il faut donc

  • repérer les packages qui doivent être mis à jour,
  • charger (à partir du réseau) la nouvelle version,
  • installer la nouvelle version.

Heureusement la commande dnf facilite cette mise à jour avec la formule

sudo dnf -y check-update
sudo dnf -y update

Bien entendu, si la mise à jour a installé une nouvelle version du noyau (regardez les fichiers /var/log/dnf*log), vous devez redémarrer votre machine. Vous pouvez aussi utiliser

sudo dnf needs-restarting

Désactiver SELinux

Commencons par vérifier que SELinux est activé :

selinuxenabled && echo "SELinux Enabled" || echo "SELinux disabled"

Nous allons désactiver SELinux pour éviter des difficultés. Modifiez, dans le fichier /etc/sysconfig/selinux, la ligne suivante (utlisez ce Mini guide Vi) pour modifier ce fichier.

SELINUX=disabled

Redémarrez ensuite votre VM (commande reboot). Vérifiez l'état de SELinux.

Ajoutez des logiciels à votre système

Lisez la partie du cours sur dnf.

Depuis la distribution

  • Vous pouvez lister les packages disponibles avec
    sudo dnf list available
    
  • Choisir les packages du JDK 17 (vous pouvez obtenir des informations avec dnf info package) et les installer avec
    sudo dnf -y install package1 ... packageN
    
  • Vérifiez que Java 17 est maintenant disponible.
  • C'est une bonne idée d'installer le logiciel dnf-automatic pour que votre machine fasse une mise à jour à chaque démarrage.
  • Vous pouvez aussi installer les groupes de logiciels. Utilisez les commandes ci-dessous pour lister et installer les groupes disponibles :
    sudo dnf -y grouplist
    sudo dnf -y groupinstall nom_des_groupes
    
  • Vous aurez plus d'informations sur dnf avec man dnf ou le site Wikipedia.

Prévoir des dépôts supplémentaires

Voila une liste non exhaustive des dépôts disponibles :

  • EPEL-Next : Un large choix de logiciels. Essayez d'installer et d'utiliser htop et nedit (un éditeur de texte simple, efficace, indépendant de tout environnement graphique et qui nous permettra facilement d'éditer nos fichiers de configuration).
  • ELRepo : Un autre dépôt intéressant (optionnel).

Prendre un cliché de sauvegarde

À cette étape, vous pouvez arrêtez votre VM et prendre un cliché (nommé etat-initial) que nous utiliserons ensuite pour créer d'autres VM. Cette opération est donc très importante. En utilisant ce mécanisme nous allons économiser de l'espace disque.

Ajouter des utilisateurs

Créez un ou plusieurs utilisateurs avec la commande adduser (à installer si besoin) et vérifiez la bonne modification des fichiers /etc/passwd et /etc/shadow. Utilisez ce nouveau compte et modifiez son mot de passe et son nom en clair (commande passwd).

Vous devez supprimer ces utilisateurs de test avec userdel.

Configurer les services

Lister les services et vérifiez que le service ssh (connexion sécurisée) est ouvert

systemctl list-units

Vérifiez le bon fonctionnement de ce service en tentant une connexion sur la machine localhost :

ssh localhost

Déterminez l'adresse IP de votre machine hote (avec ip addr), et essayez, à partir de votre VM, de vous connecter sur la machine hote (commande ssh votre_login_AMU@ip_machine_hote. Vérifiez avec

who am i

que, pour la machine hote, vous venez de la machine physique qui abrite votre machine virtuelle (c'est à dire la machine hote).

                ssh VM           ssh
machine hote ------------> VM ---------> machine hote

Jouer avec l'espace de swap

Prenez un cliché avant de traiter cet exercice.

Clonez votre VM (afin d'obtenir VM2) en utilisant l'option du clone lié et traitez cet exercice dans la nouvelle VM créée.

Dans votre VM2, créez un fichier de 500 Mo rempli de zéro (commande dd et fichier spécial /dev/zero) et formatez ce fichier comme un espace de swap (commande mkswap). Ajoutez ensuite ce fichier à votre espace de mémoire virtuelle (commandes swapon et free pour vérifier ou swapon -s).

Vous pouvez maintenant déconnecter la partition de swap créée lors de l'installation (swapoff).

Faites la même manipulation avec un nouveau disque :

  • Arrêtez votre VM2,
  • Placez-vous dans la configuration de votre VM et ajoutez un deuxième disque de 4Go,
  • Démarrez votre VM2,
  • Avec la commande lsblk vérifiez que le deuxième disque a été détecté.
  • Avec la commande fdisk /dev/sdb créez une table des partitions ainsi qu'une partition sur ce nouveau disque.
  • Refaites les manipulations précédentes avec cette nouvelle partition.
  • Arrêtez votre VM2 et supprimez la.