Les disques durs et les partitions sous Linux

publicité
EXIA
Linux
Découvrir Linux
SCHMITT Mathieu
2007
Objectifs :

Savoir installer et utiliser un minimum Linux
Définition des mots clés :

DAO :
Le dessin assisté par ordinateur (DAO) est un ensemble de techniques permettant de produire des
dessins avec un logiciel informatique.

Linux :
Linux est un noyau d'OS souvent confondu avec le système d'exploitation du même nom dérivé de
UNIX. C'est l'un des plus notoires exemples de logiciels libres ; l'intégralité de son code source est en
effet modifiable, utilisable et redistribuable librement par quiconque. Il se présente à l'utilisateur
final sous la forme d'une distribution contenant le noyau Linux et un ensemble de logiciels. Certaines
distributions sont conçues pour un usage généraliste, d'autres pour usage spécialisé.

Unix :
UNIX™ est le nom d'un système d'exploitation multitâche et multiutilisateur créé en 1969, à usage
principalement professionnel, conceptuellement ouvert et fondé sur une approche par laquelle il
offre de nombreux petits outils chacun dotés d'une mission spécifique.

GNU :
GNU est un système d'exploitation composé exclusivement de logiciels libres.

FTP :
Le File Transfer Protocol (protocole de transfert de fichiers), ou FTP, est un protocole de
communication dédié à l'échange informatique de fichiers sur un réseau TCP/IP. Il permet, depuis un
ordinateur, de copier des fichiers vers un autre ordinateur du réseau, d'administrer un site web, ou
encore de supprimer ou modifier des fichiers sur cet ordinateur.

NFS :
Le système de fichiers en réseau (Network File System ou NFS) est un protocole développé par Sun
Microsystems qui permet à un ordinateur d'accéder à des fichiers via un réseau.
Ce système de fichiers en réseau permet de partager des données principalement entre systèmes
UNIX.

Distribution Linux :
Une distribution Linux (ou distribution GNU/Noyau Linux) est un ensemble cohérent de logiciels
rassemblant un système d'exploitation composé d'un noyau Linux et de logiciels issus du projet GNU,
et des logiciels supplémentaires - le plus souvent libres.

Open source :
La désignation Open Source (source ouverte en français) s'applique aux logiciels dont la licence
respecte des critères précisément établis par l'Open Source Initiative, c'est-à-dire la possibilité de
libre redistribution, d'accès au code source, et de travaux dérivés.

Linux world :
Évènement qui regroupe les différents protagonistes du monde libre.

Passerelle :
En informatique, le terme passerelle (en anglais, gateway) est synonyme de routeur (en anglais,
router).
Le terme routeur est plus couramment utilisé, mais les deux termes sont strictement équivalents.

Nom d’hôte :
Un nom d'hôte est un libellé désignant un élément d'un réseau ; il est utilisé pour se repérer
facilement, à l'inverse des adresses IP peu faciles à retenir.
Un fichier local ("fichier hosts") permet de faire une traduction entre une adresse IP et un nom
d'hôte (voir DNS).

Serveur de nom : Correspond au DNS.

Partitionnement :
Le partitionnement est un fractionnement d'un disque dur réel (matériel) en plusieurs disques
virtuels (logiciels).
Axes de recherche :
Étudier les commandes basiques
Se déplacer dans l'arborescence de répertoires (cd)
- cd / : Aller a la racine
- cd /sms : Aller dans répertoire sms
- cd .. : descendre au fichier précédent.
Dans quel répertoire suis-je actuellement ? (pwd)
Voir un fichier (cat et more)
cat cmp permet de voir le contenu du fichier cmp.c
Éditer un fichier (vi, emacs, joe)
Copier un fichier (ou un répertoire) : cp.
La syntaxe de la commande cp est la suivante :
- cp [option] fichier-origine fichier-destination
ou
o
cp [option] fichier répertoire
Supprimer un fichier "rm".
rm -d permet de supprimer un répertoire qu'il soit plein ou non (attention dangereux ...)
rm -r permet de supprimer un répertoire et ses sous répertoires (attention TRÈS dangereux)
rm -f permet de supprimer les fichiers protégés en écriture et répertoires sans que le prompt
demande une confirmation de suppression (à utiliser avec précaution ...)
Créer un répertoire (mkdir)
Pour créer un répertoire, il suffit de taper la commande suivante (ici je crée le répertoire "personnel"
dans /home/delcros :
[delcros@mistra delcros]$ mkdir personnel
Une option de mkdir est souvent utile :
mkdir -p permet de créer une suite de répertoire.
Déplacer ou renommer un fichier (mv)
Retrouver un fichier ("find")
[delcros@mistra delcros]$ find / -name linux-test2 -print
/home/delcros/linux-test2
Trouver du texte dans un fichier (grep)
mathieu@ubuntu:~/Desktop$ grep printf cmp.c
résultat :
#include <stdio.h> /* printf */
printf("usage: %s <file1> <file2>\n",*argv);
printf("%s ",*(argv + 1));
printf("!= %s\n",*(argv + 2));
printf("== %s\n",*(argv + 2));
Les liens (ln)
Les liens durs associent deux ou plusieurs fichiers à un même espace sur le disque, les deux fichiers
sont pourtant indépendants. On peut dire que physiquement les fichiers sont les mêmes mais que
virtuellement ils ne le sont pas.
Connaître l'espace disque utilisé (df et du)
Gestion des utilisateurs
Premier pas
Lorsque diverses personnes ont accès à un système, il est nécessaire que l'administrateur système
gère les utilisateurs. Pour ceci, les commandes usuelles et les fichiers à configurer doivent être
connus.
Les fichiers importants à connaître sont :

le fichier /etc/passwd

le fichier /etc/group
Le fichier /etc/passwd contient toutes les informations relatives aux utilisateurs (login, mots de
passe, ...). Seul le superutilisateur (root) doit pouvoir le modifier. Il faut donc modifier les droits de ce
fichier de façon à ce qu'il soit en lecture seule pour les autres utilisateurs.
Ce fichier possède un format spécial permettant de repérer chaque utilisateur, chacune de ses lignes
possède le format suivant:
nom_du_compte : mot_de_passe : numero_utilisateur : numero_de_groupe
: commentaire : répertoire : programme_de_demarrage
Sept champs sont explicités séparés par le caractère ":" :

le nom du compte de l'utilisateur

le mot de passe de l'utilisateur (codé bien sûr)

l'entier qui identifie l'utilisateur pour le système d'exploitation (UID=User ID, identifiant
utilisateur)

l'entier qui identifie le groupe de l'utilisateur (GID=Group ID, identifiant de groupe)

le commentaire dans lequel on peut retrouver des informations sur l'utilisateur ou
simplement son nom réel

le répertoire de connexion qui est celui dans lequel il se trouve après s'être connecté au
système

la commande est celle exécutée après connexion au système (c'est fréquemment un
interpréteur de commandes)
Les droits
Les droits "classiques" sont représentés par "rwxrwxrwx" de l'exemple plus haut. Vous remarquerez
qu'il y'a 3 fois la même série de lettres : rwx. Les droits d'accès à un fichier vont être donnés :

Au propriétaire du fichier, à qui correspondent les 3 premières lettres. Dans mon exemple
plus haut l'utilisateur était "kernel".

A un des groupes auquel appartient le propriétaire (les 3 lettres du milieu), Dans mon
exemple plus haut le groupe était "users"

A tous les autres utilisateurs (les 3 dernières lettres)
Ces droits se décomposent en 3 niveaux :

Accès en lecture (r) : les utilisateurs autorisés peuvent visualiser le fichier ou le répertoire, ils
peuvent copier le fichier vers un autre répertoire (la copie devient alors leur propriété).

Accès en écriture (w) : les utilisateurs autorisés peuvent modifier le fichier ou le détruire.
Dans le cas d'un répertoire ils peuvent manipuler (créer, copier, déplacer ou détruire) son
contenu.

Accès en exécution(x) : les utilisateurs autorisés peuvent exécuter le fichier. Si vous êtes un
nouvel arrivant sur la banquise, cette notion est très importante. Il n'y a pas de .exe sous
linux/unix, pour s'exécuter un programme a besoin d'avoir le bit exécutable à 1.
Tous ces droits sont évidement géré par des bits codés dans l'i-node du fichier. Si le bit d'un des 9
champs est à 1 alors la lettre correspondante est affichée sinon c'est "-". Quelques exemples :

-rwxr-xr-x : accès plein droit pour l'utilisateur, lecture/exécution pour les membres du
groupe de l'utilisateur idem pour les autres.

-r-------- : accès en lecture seule pour l'utilisateur et accès interdit aux reste du monde (sauf
root, c'est qui root ?)
Comme vous le savez il n'y a pas de règle sans exception, dans notre cas l'exception c'est root, mais
c'est qui root ? root c'est l'administrateur mais en réalité c'est "Dieu". Il a à peu près tous les droits
même celui du tuer le système. Vous devez donc être très gentil avec lui, sinon gare à sa colère :-) Si
vous avez la possibilité de vous loguer en root, je vous conseille de limiter cela aux tâches
d'administration du système, une erreur est si vite arrivée.
La commande chmod
La commande chmod permet de modifier les droits d'accès à un fichier. Un utilisateur ne peut
modifier les droits que des fichiers qui lui appartiennent. Sauf root bien-sûr. Les droits sous linux sont
repérés par une série de 3 valeurs octales. La première correspond au propriétaire, la seconde au
groupe associé et la dernière au reste de la planète. Pour chaque catégorie d'utilisateur l'accès en
lecture vaut à 4, l'accès en écriture vaut à 2 et l'accès en exécution 1.
GNU
Qu'est-ce que GNU ?
Le projet GNU a été lancé en 1984 pour développer un système d'exploitation complet de style Unix,
qui soit un logiciel libre : le système GNU. Des variantes du système d'exploitation GNU, qui utilisent
le noyau appelé Linux, sont maintenant largement utilisées ; bien que ces systèmes soient souvent
appelés « Linux », il est plus précis de les appeler systèmes GNU/Linux.
GNU est un acronyme récursif pour « GNU's Not Unix » (NdT : GNU n'est pas Unix) ; il se prononce
gnou.
Qu'est-ce qu'un logiciel libre ?
Un « logiciel libre » se réfère à la liberté, pas au prix. Pour comprendre le concept, vous devez pensez
à « libre » comme dans « liberté d'expression », pas comme dans « bière gratuite ». (NdT : en anglais,
le mot « free » veut dire libre, mais aussi gratuit, d'où la confusion possible).
Les logiciels libres donnent aux utilisateurs la liberté d'exécuter, de copier, de distribuer, d'étudier,
de modifier et d'améliorer les logiciels. Plus précisément, cela se réfère à quatre types de liberté pour
les utilisateurs de logiciels :

La liberté d'exécuter le programme, pour n'importe quel usage (liberté 0).

La liberté d'étudier le fonctionnement du programme et de l'adapter à vos besoins (liberté
1). Accéder au code source est une condition pour cela.

La liberté de redistribuer des copies pour aider votre prochain (liberté 2).

La liberté d'améliorer le programme et de rendre publiques vos améliorations pour que toute
la communauté en bénéficie (liberté 3). Accéder au code source est une condition pour cela.
Historique des distributions de Linux
Confère l’arbre de distribution ci-dessous :
Arbre de distribution
Particularité de l’installation de Linux
Les systèmes de fichiers
Le système de fichiers (ou File System ou FS), c'est la façon dont le système d'exploitation structure
les données sur le disque dur.
Comme tout système d'exploitation, Linux dispose de ses propres systèmes de fichiers :

EXT2FS (ou ext2) : c'est le système de fichiers historique de Linux, il n'est pas forcément le
meilleur choix car, n'étant pas journalisé, si vous éteignez mal votre ordinateur, linux prendra
beaucoup de temps pour tester les disques durs (de la même manière que le scandisk de
Microsoft).

EXT3FS (ou ext3) : c'est l'évolution logique du ext2. Il présente l'avantage d'être compatible
avec l'ext2 tout en étant journalisé. Il n'implémente toute fois pas les toutes dernières
innovations en matière de journalisation. Utilisez ce système de fichiers si vous comptez
pouvoir relire des informations depuis votre Mac OS X ou windows.

REISERFS : c'est un système de fichiers journalisé. C'est un bon choix. Il est réimplémenté à
partir de zéro et bénéficie de beaucoup d'innovations.
Il en existe d'autres, mais préférez-leur l'un de ceux-là, sauf si vous avez une bonne raison.
Windows XP (ainsi que Windows NT et Windows 2000) recommandent l'utilisation du système de
fichiers NTFS. Microsoft n'ayant pas fourni les spécifications techniques de ce format, Linux a encore
du mal à le gérer correctement. Linux sait parfaitement lire les informations sur une partition NTFS
mais c'est à vos risques et périls que vous écrirez sur de telles partitions.
Le système VFAT (partitions limitées à 2 Go) ou FAT32, voire FAT (l'ancien système de fichier du
DOS), est celui utilisé par les versions plus anciennes de Windows. Il parfaitement géré par XP, NT et
2000. Si vous ne pouvez pas installer Linux sur une partition de ce type, car ce système de fichiers ne
gère pas les permissions, VFAT est en revanche le système de fichiers permettant un partage facile
d'informations entre Linux et Windows. Si vous souhaitez lire/écrire et utiliser des documents sous
les deux systèmes d'exploitation, il peut être intéressant de prévoir une partition en VFAT-FAT32
pour que le partage s'effectue simplement).
Les disques durs et les partitions sous Linux
Tout d'abord, voyons comment Linux identifie et organise les disques durs.
Pour les disques IDE, la numérotation se fait avec un préfixe "hd", suivi par une lettre, "a" pour le
premier IDE maître, "b" pour le premier esclave, etc.
En résumé on a :

hda Disque maître sur le 1er contrôleur IDE

hdb Disque esclave sur le 1er contrôleur IDE

hdc Disque maître sur le 2eme contrôleur IDE

hdd Disque esclave sur le 2eme contrôleur IDE
Si vous avez d'autres contrôleurs IDE (hé oui, cela arrive !) la numérotation se poursuit (hde, hdf,
etc.).
Attention : les lecteurs de CD-ROM IDE apparaissent comme un disque dur. Si votre CD est maître sur
la deuxième nappe par exemple, il sera nommé hdc.
Pour les disques SCSI, cette fois c'est l'ID SCSI qui va donner la lettre, le préfixe étant "sd".
Prenons par exemple 3 disques scsi d'id 0,1 et 3 on va avoir :

sda Disque d'ID 0

sdb Disque d'ID 1

sdd Disque d'ID 3
Attention : les lecteurs de CD-ROM SCSI, les ZIP, JAZ, etc. SCSI ainsi que les périphériques de stockage
USB (appareils photo, clefs USB...) apparaissent comme un disque dur SCSI ; ils se nomment aussi sdx
suivant leur ID. Astuce : pour connaître la liste de vos périphériques de ce type, tapez : cdrecord scanbus.
Les partitions sont quant à elles représentées par le nom du disque dur, suivi d'un chiffre
représentant la partition.
Par exemple, la première partition du premier disque IDE se nomme hda1, de même, la troisième
partition du disque SCSI d'ID 1 se nommera sdb3.
Organisation des fichiers sous Linux
L'arborescence
Sous Linux, ou tout autre Unix d'ailleurs, il n'y a pas de lettre représentant le disque dur comme le C:
de Windows/DOS.
De plus, le signe '\' est remplacé par '/' pour séparer les répertoires.
Il y a une seule arborescence, qui débute à la "racine", notée '/', et tous les disques durs/partitions
apparaissent dans cette arborescence avec leur contenu de façon transparente comme un
répertoire.
Les périphériques
De plus, tout périphérique est identifié à un fichier qui se trouve dans le répertoire /dev (comme
device, périphérique en anglais). Par exemple, le disque maître du deuxième port IDE est identifié
par /dev/hdc, sa deuxième partition par /dev/hdc2.
Le lecteur de disquette est représenté par /dev/fd0, etc.
Les partitions / les points de montage
Les partitions que l'on va créer sur les disques durs seront attachées à des répertoires de
l'arborescence, ou "points de montage". C'est ce qu'on appelle "monter une partition". Le point de
montage est un simple répertoire, vide avant le montage, et qui après le montage, représente le
contenu de la partition montée.
Par exemple, supposons que nous ayons créé une partition /dev/hda2 (premier disque IDE, 2ème
partition) pour contenir le système. On montera cette partition (automatiquement, heureusement !)
dans le répertoire racine /. Si la partition /dev/hda3 est destinée à contenir les données utilisateur,
on la montera dans le point de montage (=répertoire) /home. On verra le contenu de cette partition
dans le répertoire /home comme si c'était n'importe quel autre répertoire, alors que physiquement
les données sont sur une autre partition.
De même, pour accéder à la disquette, on montera le périphérique /dev/fd0 dans le point de
montage /mnt/floppy ou /floppy (selon la distribution) et pour accéder au CD-ROM, on montera le
périphérique /dev/cdrom dans le point de montage /mnt/cdrom ou /cdrom.
Les répertoires standards
Linux possède des répertoires "spéciaux" à la racine (un peu comme le C:\windows), qui sont
classiques dans les systèmes Unix et peuvent ou non représenter un point de montage pour une
partition.
On a déjà vu par exemple le répertoire spécial /dev où tous les périphériques sont répertoriés en tant
que fichiers, ou encore le répertoire /home qui contient les données personnelles des utilisateurs.
Chacun des répertoires ci-dessous peut être soit un simple répertoire dans la partition racine, soit le
point de montage d'une autre partition, mais dans tous les cas le résultat est le même : des fichiers
dans des répertoires.
Les répertoires standards de Linux sont :
/
La racine du système = la base.
/boot
Fichiers utilisés pour booter le noyau
/usr
Programmes, données, accessibles par les utilisateurs et non nécessaires lors du
boot
/home
Tous les répertoires de base des utilisateurs et de certains services comme le
FTP, le serveur Web, Samba, etc.
/dev
Tous les périphériques. Le répertoire est en général géré dynamiquement par le
système.
/bin
Programmes nécessaires au boot, et disponibles ensuite à tous les utilisateurs
/sbin
Programmes nécessaires au boot, disponibles au root uniquement
/var
Fichiers de log, spool d'impression, de mail, etc. En général, fichiers qui changent
tout le temps (variable, d'ou le nom /var)
/etc
Fichiers de configuration du système
/root
Répertoire home de l'administrateur
/lib
Bibliothèques et modules (comme les DLL de Windows) nécessaires au boot
/tmp
Fichiers temporaires
/mnt
Répertoire proposé pour monter des périphériques (ou /mnt/cdrom,
/mnt/floppy, /mnt/zip, etc.)
/proc et /sys
Fichiers d'information sur la configuration système (les fichiers sont générés
dynamiquement, pas de modifications possibles). Les fichiers dans ce répertoire
n'existent pas sur le disque, c'est Linux qui les crée en temps réel lorsque vous
en avez besoin.
/opt
Dans ce répertoire (optionnel), on peut ajouter des logiciels afin qu'ils ne
s'installent pas dans les répertoires système. Peu utilisé, sauf par certaines
applications commerciales.
Paramétrages réseaux
Ben voila.
Problématique(s) :
-
Comment installer et configurer Linux pour répondre aux attentes du prosit ?
Cf. Ci-dessus !
Réponses aux Hypothèses
-
Vrai. FTP veut dire file transmit Protocol
-
Faux. NFS veut dire New file system
-
Vrai. DAO veut dire dessin assisté par ordinateur
-
Vrai. On peut faire tourner en même temps KDE et Gnome
-
Vrai. Il existe diffèrent groupe utilisateur ainsi que diffèrent droit pour chaque
utilisateur et chaque groupe
-
Vrai. Linux reconnait Windows mais pas l’inverse
-
Vrai. La MBR gère le boot
-
Vrai. Super user (SU) permet d’installer les soft
-
Vrai. SUDO permet d’exécuter une commande en tant que root et de redevenir
utilisateur
-
Vrai. Il existe d’autres interfaces graphiques que celles citées
-
Vrai. Le SWAP est une mémoire supplémentaire à la RAM sur le Disque dur
-
Vrai. Sur Linux on peut tout faire en commande
-
Vrai. MAN permet de savoir l’utilisation d’une commande
Téléchargement