Les commandes UNIX
Pour pouvoir travailler sous Unix il faut ouvrir une session, à l'aide d'un nom d'utilisateur et
d'un mot de passe. On distingue les administrateurs des utilisateurs normaux. L'administrateur
est appelé root ou utilisateur privilégié et dispose de tous les pouvoirs sur la machine et le
système Unix. L'utilisateur normal dispose de droits réduits et définis par l'administrateur. Pour
se connecter :
Login : « nom d’utilisateur »
Password : « son mot de passer »
Le mot de passe n'apparaît pas en clair et doit être tapé en aveugle. En cas d'erreur, un message
indiquera :
Login incorrect
Suivant la version d'Unix et la configuration, plusieurs lignes de message peuvent apparaître,
qu'il est possible d'ignorer. Puis le prompt du shell devrait apparaître, quelque chose du genre
user@machine$
Comment voir la version de sa machine Ubuntu et les informations le concernant
Changer son mot de passe
On utilise la commande passwd pour modifier son mot de passe
La commande logname permet d’afficher le nom de l’admin
Comment afficher les dossiers ou fichiers
# whereis (commande) permet de spécifier tous les chemins d’une commande
#locate (commande) permet de lister les chemins d’un dossier
La commande uname permet de connaître la version courante du noyau, mais aussi le type
d'architecture et le nom de l'ordinateur.
Pour décrire une commande il suffit de faire un man sur lui
Faisons un man sur echo pour voir ses fonctionnalités
Le répertoire contient les différents les noyaux d’une machine sous Linux comme le montre la
figure ci-dessous:
La commande dmesg (pour l'anglais "display message", "afficher message" en français) est une
commande sur les systèmes d'exploitation de type Unix qui affiche la mémoire tampon de
message du noyau.
On peut utiliser la commande dmesg pour afficher une information precise
On peut changer les paramètres du noyau à chaud en écrivant directement les valeurs dans les
fichiers adéquats (/proc/sys/) ou en utilisant le binaire sysctl.
Vérifions si le routage IPv4 est activé avec la commande suivante :
On fait
Et on vérifier à nouveau
Pour le remettre à 0
Pour l’activer on édite le fichier /etc/[Link] et on décommette la ligne
net.ipv4.ip_forward=1
Le contenu du système de fichiers /proc ou /sys n’est stocké nulle part mais chaque fichier est
engendré par une requête utilisateur. En outre pour accéder à certains renseignements il sera
nécessaire de monter obligatoirement /proc :
Liste des fichiers contenus dans le répertoire /proc
On peut lire les fichiers du répertoire proc sur lesquels nous avons des droits par exemple :
Linux accède aux périphériques à partir de fichiers situés dans /dev.
La commande blkid permet d’identifier les périphériques block par leur UUDI
Les commandes lspci et lsusb permettent respectivement de lister les périphériques pci et usb.
La commande lsmod permet de voir les modules chargés dans le noyau :
On peut par exemple tenter de charger le pilote d'une carte vmxnet3 par la commande lsmod
Emplacement des modules des noyaux sont dans le répertoire /lib/modules/. Pour les modules
du noyau qui est utilisé sur le système on tape la deuxième commande comme le montre la
figure ci-dessous
La commande modinfo permet d’obtenir les informations relatives à un module
La ligne commençant par depends du résultat de la commande modinfo nom_module donne la
liste des modules que dépende le module.
Le fichier /lib/modules/$(uname –r)/[Link] contient l’ensemble des modules et leur
dépendances
Les séries des pilotes périphériques disponibles pour les cartes réseaux dans le répertoire
/lib/modules/$(uname -r)/kernel/drivers/net :
Le contenu du fichier /etc/default/grub avec les principales variables d'environnement
#nano [Link]
Ou en voit ou on peut créer l’environnement de l’utilisateur
#lsscsi
Permet d’énumérer les périphériques
Une métadonnée : Les métadonnées, Ce sont des informations utilisées pour décrire
les données contenues dans une ressource comme une page Web, un document ou
un fichier. Les métadonnées d’un fichier numérique fournissent des informations
supplémentaires pour en donner une description.
PARTITIONNEMENT DE DISQUE en ligne de commande sous LINUX
Voir le nom de son disque avec
#lsblk
La commande lsblk fait la même chose mais lui est plus précise
#lsblk
Commencer le partitionnement
Nous allons partitionner notre disque sdb
On tape la commande fdisk /dev/nom_disk et après on tape m pour avoir de l’aide ou guide de
l’installation
# fdisk /dev/nom_disk
On tape m pour avoir des informations du partitionnement
Pour créer il suffit de taper n (nouvelle partition)
Choisir P la partition primaire
Indiquer le numéro de partition ou le laisser par défaut, dans notre cas on prend 1
Laisser la valeur par défaut du premier secteur car c’est là ou doit commencer la partition
sur le disque
Indiquer la taille que vous voulez donner à votre disque, elle peut être en Ko, en Mo ou
en Go mais doit être forcément précéder du caractère +
Après on devrait avoir la ligne de confirmation du nouveau partitionnement comme le montre
l’image précédente
On tape w pour enregistrer la partition et quitter
On vérifie si la partition est prise en compte
Afficher avec lsblk –fe7 pour confirmer
Image avant partition
Image après partition
Après de quitter il faut d’abord formater la nouvelle partition
Affichage du partitionnement
Avant d’utiliser la nouvelle partition il faut d’abord la formater
En mode graphique
Afficher l’ensemble de sa partition
Afficher et changer le label du système de fichiers en tapant la commande e2label.
Créations d’une partition swap
Création
On rend l'espace inaccessible
On formate le fichier en tant qu’espace swap :
Linux permet d’activer et de désactiver le swap, ou des morceaux de swap, directement sans
avoir à redémarrer le système.
La commande swapon permet d’activer une partition de swap :
La commande swapoff désactive une zone de swap.
Afficher le contenu du swap
On peut également par la commande free –h
Montage au démarrage du système: /etc/fstab
Périphérique point_de_montage typefs options dump fsck
Système de fichiers
Objectif :
Possibilité de partages des ressources en réseau
NFS (peut être aussi utiliser sous Windows et linux). NFS initialement ne gérait pas les
utilisateurs mais affectait des ressources a des UidNumber. La solution est de faire en
sorte que dans le réseau un UidNumber soit unique dans votre réseau en faisant appel à
un serveur NIS (contrôleur yellow page). Aujourd’hui nous sommes à la version 4 de
NFS. L’idée
Une machine partage (exporte) des dossiers vers d’autres machines
Les machines clientes montent ces dossiers sur des points de montage qui sont des
répertoires en local (commande mount). Dès que la machine cliente redémarre, il
faut remonter les ressources.
Pour régler cette question de montage automatique du démarrage, on fait appel au
fichier de gestion de table de système de fichiers qui est /etc/fstab
Dump : Est une option qui permet une sauvegarde automatique
L’inconvénient du montage automatique dans /etc/fstab des grands parents :
immobilisation de ressources réseau alors que personne n’utilise la nouvelle
ressource montée
Pour régler cette question de gaspillage unitil de ressources réseau on a mis en place
le système autofs aui fait un montage à la demande
Principe
On définit un point de montage global, et le fichier devant contenir comment accéder à
la ressource : cf fichier [Link]
/dossierparentpartage /ect/[Link] –ghost
On crée le fichier /etc/[Link]
o /nommontage –fstype=cifs,user=login,pass=passwrd://IPserveur/nompartage
On redemarre le service autofs : systemctl restart [Link]
Pour acceder à la ressource on va dans : /dossierparentpartager/nommontage
Avantages autofs :
La ressource est montée que si on manipule le point de montage
PARTAGE DES FICHIERS NFS SOUS LINUX
On commence par la configuration coté serveur
Il nous faut installer le paquet nfs-kernel-serveur
#apt install nfs-kernel-serveur
Faire pwd pour connaitre son positionnement
#chown –R nobody:nogroup /home/messi/partage
On donne le droit au fichier
Editez le fichier /etc/exports et rajoutez la ligne suivante pour partager le répertoire /partage/ à
la machine
#exportfs -a
On redémarre nfs-kernel-server
On donne le droit à tous les ports sur le serveur
#ufw enable
#ufw status
Coté client
Il faut installer nfs-common
On crée le dossier du point de montage
On fait le montage
Nous allons accéder à notre dossier de montage
On crée un fichier tp1 dans notre dossier
On affiche le contenu du dossier
Essayons d’afficher le même contenu du dossier coté serveur
Nous allons créer un dossier tp1 coté serveur et y accéder sur notre client
On fait ls pour vérifier le dossier crée
Repartons côté client et essayons d’accéder au dossier sur notre machine cliente
On voit que les deux machines arrivent bien à se partager les fichiers.
Lunix Volume Manager LVM
Le système de LVM insère des sous-couches entre la partition de disque et le système de fichier
(là où sont les données). Ces sous-couches vont permettre de modifier dynamiquement la taille
des systèmes de fichier.
Ainsi, on pourra ajouter, enlever de l’espace disque d’un filesystem à la volée, rajouter un
système de fichier sans modification de la table des partitions.
On a alors trois couches: le Physical Volume (PV), le Volume Group (VG) et le Logical Volume
(LV).
On prendra une machine virtuelle sous virtuel box et on ajoute des disques
Avoir installer le paquet lvm2
#apt install lvm2
Nous allons préparer nos nouvelles partitions pour LVM. Il faut déclarer les partitions en tant
que Volumes Physiques avec la commande pvcreate comme le montre la figure ci-dessous
Avec la commande pvdisplay, vérifiez ce que vous avez fait
Création de groupe de volume : Volume Group VG
Nous allons regrouper tous les Volumes Physiques en un groupe de volume appelé «
syriackvolume »
#vgcreate nom_groupe liste_des_partitions
La commande vgdisplay donne des informations du groupe de volume
pvscan affiche aussi le nom de volume
Créons les volumes vol1 (M), dans le VG syriackvolume :
La syntaxe de la commande : lvcreate -n nom_volume_logique –L taille (M, G)
mon_groupe_volume
Affichons le Logical Volume nouvellement créée
Renommé le nom de volume
Affichage du nouveau nom de volume
Changez la taille d'un LV
Augmentons la taille de vol1 de 1Go :
Vérification
Réduisons une taille de 500M mais en donnant une valeur absolue
On constate que le LV sise qui était à 1G est réduit à 528M
On fait Lsblk
RAID est l'acronyme de Redundant Array of Independent Disks
L'activation du RAID sur un système de stockage permet de connecter deux ou plusieurs
disques au système sous forme d'un grand volume rapide ou comme lecteur système avec
duplication (ou miroir) automatique et instantanée de vos données pour une sauvegarde en
temps réel.
Création de RAID0
Pour commencer, recherchez les identifiants des disques bruts que vous utiliserez:
Pour créer une matrice RAID 0 avec ces composants, on utilise la commande mdadm --create
Vérifions par /proc/mdstat
Ensuite, créez un système de fichiers sur le RAID 0 :
Créez un point de montage pour attacher le nouveau système de fichiers:
Vous pouvez monter le système de fichiers en tapant la commande suivante :
Vérifiez si le nouvel espace est disponible en tapant
Voire que le RAID est réassemblé automatiquement au démarrage, nous devrons le mettre
dans le fichier /etc/mdadm/[Link].
Ensuite, vous pouvez mettre à jour initramfs, ou le système de fichiers RAM initial, afin que le
tableau soit disponible au cours du processus de démarrage précédent
Ajoutez les nouvelles options de montage du système de fichiers au fichier /etc/fstab pour un
montage automatique au démarrage
Notre matrice RAID 0 devrait maintenant être automatiquement assemblée et montée à chaque
démarrage
Création de la matrice RAID1
Les disques d'une matrice RAID 1 reçoit une copie complète des données, ce qui permet une
redondance en cas de perte d'un périphérique. Pour la mise en place de RAID1 il faut minimum
de 2 périphériques de stockage.
On vérifie d’abord les disques disponibles pour la création de notre matrice raid1.
Création de la matrice RAID1
On crée ensuite, un système de fichiers sur le tableau
Créons un point de montage et attachons le nouveau système de fichiers :
On vérifie si le nouvel espace est disponible en tapant : df –h
Nous allons réassembler le tableau au démarrage automatique en l’ajustons dans le fichier
/etc/mdadm/[Link].
Ensuite, on fait la mise à jour initramfs, ou le système de fichiers RAM initial, afin que le
tableau soit disponible au cours du processus de démarrage précédent:
#update-initramfs –u
On va ajouter les nouvelles options de montage du système de fichiers au fichier /etc/fstab pour
un montage automatique au démarrage de notre machine:
Notre matrice RAID 1 devrait maintenant être automatiquement assemblée et montée à chaque
démarrage.
On peut également les voir sur l’interface physique comme suit :
ISSCI (Internet Small Computer System Interface)
ISCSI est une abréviation de Internet Small Computer System Interface. C'est
un protocole de stockage en réseau basé sur le protocole IP destiné à relier les installations de
stockage de données.
Pour une mise en place du serveur ISCSI on procède comme suit :
On installe le paquet
cd /etc/tgt/conf.d pour créer un fichier de publication de ressource se terminant par
.conf nom_ressource [Link]é[Link]:dlp
Installation du paquet tgt
#apt –y install tgt
On redémarre le serveur et on vérifie si le port est ouvert
#netstat –anp | grep tgt
On crée le disque qu’on veut publier
#dd if=/dev/zero/ of=/dev/[Link] count=0 bs=1 seek=1G
On crée un fichier de configuration se terminant par .conf dans le dossier /etc/tgt/conf.d/ sur le
serveur.
Après on redémarre le serveur tgt
On vérifie de voir si notre configuration a bien marché
#tgt-admin -s
Du coté client on installe le paquet open-iscsi
#apt install open-iscsi
On va éditer le fichier /etc/iscsi/[Link]
#nano /etc/iscsi/[Link]
On modifie la dernière ligne en ajoutant : année-date-domaine:nom_ajouté
Nous allons donner ensuite les paramètres de connexion au serveur dans le fichier suivant :
# /etc/iscsi/[Link].
On de commente la partie CHAP
On redémarre open-iscsi
Nous allons exécuter la commande suivante pour découvrir les ressources partagées par le
serveur sur la machine cliente
#iscsiadm –m discovery –t st –p (IP serveur)
Nous constatons que les ressources sont visibles. On peut passer alors de client en mode
administrateur par la commande suivante :
#iscsiadm –m node --login
Vérifions si le client arrive à voir le disque partagé
#fdisk –l