![]() |
guill.net
-
La page des réseaux
|
![]() ![]() |
L'objectif de cet article
est d'acquérir les compétences et les méthodes de
travail pour être rapidement indépendant, et pour continuer
à progresser. Dans les différents chapitres, je ne donne
pas d'exercices précis mais j'explique le fonctionnement des logiciels
et leurs interactions.
L'ensemble des parties possèdent
une aide en ligne telles que les pages de manuels (man), les fichiers How-To
(répertoire /usr/doc/howto/fr/html/), vous pourrez donc y faire
appel à tout moment pour compléter les explications de ce
document.
Dans cette première
partie, nous allons voir comment installer un système linux sur
notre machine, il n'est pas question ici de mettre en place des services
particuliers, ou une configuration spécifique, mais d'installer
un système de base.
Présentation
Vu sur le plan technique, Linux est un système d'exploitation Unix librement disponible possédant des capacités multi-utilisateurs et multitâches. Ce sont les PC dotés de processeurs x86 (Intel, AMD, Cyrix), à partir du 386, qui constituent la plate-forme la plus répandue.
Linux se conforme de très près au standard POSIX. Il collabore pour le mieux avec les systèmes d'exploitation traditionnels de Microsoft, Novell et Apple et ouvre le monde de l'Internet.
Le nom Linux - dérivé de celui de "l'inventeur du système" Linus Torvalds - ne désigne en fait que le noyau mais il est couramment employé pour désigner l'ensemble du système, y compris les applications.
Voici ce qui constitue aujourd'hui le monde Linux:
Logiciels système - que vous souhaitiez programmer vos propres logiciels, mettre en place un serveur WWW, un serveur de news ou de mails, un routeur RNIS ou tout simplement un serveur de fichiers ou d'applications - Linux met à votre disposition tous les outils dont vous avez besoin.
Applications - de nombreux logiciels libres - certains sous une forme bien testée qui a fait ses preuves une multitude de fois dans la pratique mais certains aussi à un stade bêta initial - complétés par une palette de plus en plus variée de logiciels commerciaux portés sous Linux.
Des équipes de développement, dispersées dans le monde entier, accroissent et améliorent constamment les fonctionnalisés de Linux et le rendent disponible pour de nouvelles plates-formes.
Sans oublier les centaines de milliers d'utilisateurs enthousiastes - étudiants et amateurs intéressés, petites entreprises qui utilisent Linux comme serveur Internet économique et flexible. Même de grandes sociétés telles que Sixt et IKEA, réalisent avec Linux des applications d'entreprise destinées à résoudre des problèmes complexes.
C'est en réseau que Linux peut jouer ses atouts majeurs. Comme pour tous les autres systèmes Unix, une très grande aptitude au fonctionnement en réseau fait partie des caractéristiques standards de Linux. Mais à la différence d'autres systèmes d'exploitation, Linux sait convaincre par son extrême flexibilité. Que vous ayez l'intention d'utiliser une machine Linux comme serveur dans un réseau Unix, dans un environnement Netware ou dans un réseau Windows, vous trouverez tous les outils nécessaires. Avec samba , vous pourrez transformer votre machine Linux en serveur de fichiers et d'impression pour votre réseau Windows (3.11, Win95/98, WinNT). Avec le paquetage marsnwe, vous pourrez émuler un serveur Netware complet! Même la mise en oeuvre d'une machine Linux comme serveur de fichiers et d'impression dans un réseau Apple ne pose aucun problème grâce à netatalk.
Linux supporte NFS (Unix), SMB (LAN-Manager, WfW, W95/98), Appletalk (Mac) et NCP (Novell-Netware). Il est possible aussi bien d'importer que d'exporter des systèmes de fichiers.
Linux se charge également
du service de noms de domaines (DNS) et les fichiers répartis peuvent
être gérés par le biais du service d'information du
réseau (NIS).
Dès qu'il est question
d'interconnecter plusieurs réseaux, Linux séduit par ses
capacités de routeur. Il supporte les cartes Ethernet (100 et 10
MBits), Arcnet et Tokenring. Outre le routage pur et simple, il est possible
d'effectuer des enregistrements à des fins de comptabilisation et
de règlement.
Que ce soit dans un réseau Intranet propre à une entreprise ou dans le réseau mondial Internet, Linux est la plate-forme adéquate pour votre serveur WWW. Linux inclut le serveur Web apache. Un serveur sur deux environ utilise sur Internet ce serveur Web puissant et polyvalent qui, doté d'un très grand nombre de fonctionnalités et offrant de très larges possibilités de configuration, vous aide à réaliser pratiquement tous vos désirs.
Linux démontre aussi sa force comme serveur de mails et de news. Il convient de noter que Linux peut également être utilisé comme serveur dans des réseaux hétérogènes. Il vous est même possible de continuer à utiliser le paquetage Microsoft-Exchange sur un client Windows.
Linux offre un support pour l'IP-Masquerade. Une machine (routeur) se charge alors de la répartition correcte du trafic réseau. Linux protège votre réseau contre les visiteurs indésirables par un pare-feu. Le filtre intégré dans le noyau vous permet de vous adapter, de façon flexible, aux critères locaux. Il vous est possible d'imposer des limites aussi bien au trafic IP sortant qu'au trafic IP entrant.
Outre la ligne de commande (shell), Linux met bien sûr aussi à votre disposition une interface utilisateur graphique. Le système X Window (ou plus simplement X ou X11), qui est l'interface graphique standard sous Unix, a connu un développement suivi et conséquent et a été porté sur les systèmes Unix pour PC par l'équipe du projet Xfree86TM . Les programmes d'application sont ce que l'on appelle les clients X qui communiquent directement avec le serveur.
Linux peut sans problème
être installé parallèlement à d'autres systèmes
d'exploitation tels que DOS, Windows 3.11/95/98/NT ou OS/2 sur une même
machine. Comme Linux peut aussi être installé sur une partition
étendue, aucune complication n'est à craindre tant que l'on
ne depasse pas la limte des 1024 premiers cylindres du disque. Avec lilo,
le chargeur de Linux, vous pouvez choisir lors de l'amorçage le
système d'exploitation que vous souhaitez. Si vous travaillez sous
DOS ou Windows 95/98, vous n'aurez même pas besoin de réamorcer
pour pouvoir lancer Linux - le programme loadlin vous permet de le lancer
directement à partir de la ligne de commande DOS.
En raison de la popularité
de plus en plus grande qu'il connaît dans le monde entier, Linux,
développé à l'origine pour une mise en oeuvre sur
PC, est maintenant disponible pour presque tous les types de plates-formes
matérielles. Linux peut être utilisé, entre autre,
sur les stations Alpha, Sparc et Ultra-Sparc (Sun), les architectures m68k
(Amiga, Atari, divers systèmes Motorola) les PowerPC et Apple PowerMacintosh
ainsi que pour les systèmes basés sur ARM (par exemple Acorn
RiscPC).
Les concepts de base
Nomenclature des partitions sous Linux
Linux utilise un système de fichiers beaucoup plus poussé, plus stable et moins contraignant, il a été baptisé ext2.
Pour définir les partitions, le système Linux utilise une combinaison de lettres et de chiffres (hda1, hdb2, sda4, sdc2, etc.) qui peut paraître déroutante pour les nouveaux utilisateurs, mais qui se révèle beaucoup moins contraignante lorsque l'on a assimilé son principe. Les deux premières lettres indiquent le type de périphérique sur lequel est installée la partition. Pour les disques durs IDE, on utilise hd et pour les disques durs SCSI, on utilise sd. La lettre suivante indique le périphérique (je parle de disque dur, mais je pourrais très bien parler de lecteur ZIP ou de lecteur de CDROM (dans ce cas, pas de partition), etc.) sur lequel est installée la partition. Pour une partition installée sur le premier disque dur IDE, on utilise /dev/hda (/dev/hdb pour le second disque, ...).
Pour une partition installée sur le premier disque dur SCSI, on utilise /dev/sda (/dev/sdb pour le second disque, ...). Le chiffre désigne la partition. Les quatre premières partitions (primaires) sont numérotées de 1 à 4. Les partitions logiques sont numérotées à partir de 5. Exemple, pour la troisième partition (primaire ou étendue) du premier disque dur IDE, on utilise /dev/hda3.
NOTE : Dans le cas d'un lecteur de CDROM qui ne dispose que d'une seule et unique partition, on ne mentionne pas de chiffre. Ainsi, pour un lecteur de CDROM se trouvant en position esclave sur le premier contrôleur, on utilisera /dev/hdb.
Exemple :
- hda1 pour la première
partition du premier disque dur IDE
- hda2 pour la deuxième
partition du premier disque dur IDE
- hdb1 pour la première
partition du deuxième disque dur IDE
- sda4 pour la quatrième
partition du premier disque dur SCSI
- Etc.
Grâce à ce système, plus de problème. Vous pouvez ajouter le nombre de disques durs et de partitions que vous désirez, rien ne changera de place sans votre intervention.
Sous Linux, il en est tout
autrement : il utilise un système de montage/démontage et
de répertoires. Petite explication : Après avoir créé
les partitions et après les avoir formatées, vous devez maintenant
les “monter”. Cela paraît peut-être compliqué, mais
c'est en fait très simple. N'ayant pas d'affectation automatique
comme pour DOS, il faut les affecter vous-même. Mais Linux ne se
sert pas de lettres pour définir les partitions, il les affecte
à des répertoires. On dit qu'il les monte dans un répertoire.
Ainsi, une partition, où qu'elle se trouve, pourra être montée
dans n'importe quel répertoire de l'arborescence. Un tel répertoire
sera également appelé point de montage.
Il est nécessaire
pour le programme d'installation de savoir où Linux doit être
installé. Pour cela, il est nécessaire de définir
des points de montage pour la ou les partitions où Linux sera installé.
Vous pouvez aussi créer et/ou effacer des partitions à ce
moment là.
La configuration minimum comporte une partition racine assez vaste, et une partition de swap.
Les fichiers
Sous Unix un fichier est
:
- toujours désigné
par un nom.
- possède un unique
inode (certaines informations concernant le fichier).
Un fichier peut être
:
- ordinaire (on utilise
parfois le terme "normal") (-)
- un répertoire (d)
- un lien symbolique (l)
- un pseudo-fichier :
accès caractère par caractère (c)
accès par bloc (b)
dispositif de communication (p)
Fichier ordinaire
Un fichier ordinaire est
caractérisé par :
- son contenu vu comme une
suite d'octets (i.e. caractères).
- écriture en fin
de fichier ayant pour effet l'extension du fichier.
Noms de fichiers :Unix fait la différence entre les majuscules et les minuscules (la casse). En théorie tous les caractères du clavier sont autorisés. En pratique, il vaut mieux s'abstenir pour certains (comme * ou ?) . Le caractère - est déconseillé au début d'un nom de fichier (certaines commandes pourraient l'interpréter comme une option).
Les inodes
Un ext2 est toujours muni d'une table des inodes.
Tout fichier possède son unique inode. L'inode contient la totalité des informations sur le fichier, sauf le nom. Les inodes sont tous de même taille.
Les informations des inodes
- Type de fichier : -,d,
l, c, p, b.
- Droits d'accès
: par exemple : rwxr-x---
- Nombre de liens (physiques)
: correspond au nombre de références c'est à dire
au nombre de noms.
- UID : effectif du processus
créateur ou affecté par chown.
- GID : effectif du processus
créateur, affecté par chgrp ou hérité du répertoire.
- Taille du fichier.
- atime :date de la dernière
lecture.
- mtime :date de la dernière
modification.
- ctime :date de la dernière
connexion.
- Adresse du fichier.
Remarque : Un fichier peut avoir plusieurs liens donc plusieurs noms. Il suffit pour cela qu'ils pointent sur le même inode (celui du fichier).
Adressage des blocs de
données
Une liste de 13 adresses
:
- Direct pour les 10 premières
adresses.
- Indirect pour la onzième
entrée.
- A deux niveaux d'indirection
pour la douzième entrée.
- A trois niveaux d'indirection
pour la dernière entrée.
Un bloc de données
peut contenir jusqu'à 128 adresses.
Les répertoires
Comme tout fichier, un répertoire
possède son inode.
Le contenu du répertoire
représente la correspondance entre les noms de fichiers et les inodes.
Les noms " . " et " .. "figurent dans tout répertoire. " . " correspond
au répertoire courant et " .. " au répertoire supérieur
(ou répertoire parent).
|
|
.. bin dev home ... |
2 3 5 9 |
Commande pour ajouter un nouveau lien : ln nom nom_supplémentaire
ln ancien nouveau = création
d'un nouveau lien
cp ancien nouveau = copie
de fichier
mv ancien nouveau = renomme
ancien en nouveau (déplacement)
Représentation
logique du système de fichiers
C'est une arborescence,
plus généralement un graphe orienté sans cycle.
Convention : le système
de fichier commence à l'inode 2.
- A chaque passage dans
la table des inodes on trace un arc.
- La désignation
d'un chemin peut être :
- absolu :on écrit " / " à chaque passage dans la table des
inodes. Par exemple : /home/linf0/dir.
- relatif :par exemple : si le répertoire courant est /home il suffit
de taper linf0 pour accéder à /home/linf0.
Droits d'accès
La commande ls -l permet
d'avoir une liste détaillée indiquant, entre autres, les
droits d'accès.
|
|
|
|
Lecture autorisée | Lecture de la totalité du répertoire possible mais en absence de ce droit, on peut accéder à une entrée individuelle. Ainsi on peut lire un fichier dans un répertoire privé du droit de lecture. |
|
Ecriture autorisée | On peut créer ou supprimer les fichiers du répertoire. |
|
Exécution autorisée | En absence de ce droit, aucun accès au répertoire et a la sous arborescence issue du répertoire n'est possible. |
|
Un programme executable sera maintenu en zone de swap après la fin de son exécution. | Un fichier du répertoire ne peut être supprimé que par son propriétaire. |
|
Set GID si le fichier est exécutable sinon verrouillage obligatoire. | Les fichiers (y compris les répertoires) créés dans le répertoire héritent du GID du répertoire. |
|
Set UID si le fichier est exécutable. | Les fichiers (y compris les répertoires) créés dans le répertoire héritent du UID du répertoire. |
Normalement l'UID d'un processus
est l'UID du créateur.
- Si Set UID=1 alors l'UID
du processus engendré à partir d'un fichier est l'UID du
fichier.
- Si Set UID=0 alors c'est
l'UID du root (administrateur système).
Pour modifier des droits
on utilise la commande chmod :
- Options :
-r descente
récursive d'une sous-arborescence.
-f fonctionnement
silencieux.
- Mode :
numérique
: codage en octal de bits de permission (SetUID +3 fois les droits r=4,
w=2, r=1).
symbolique
: | u | g | o | a | + | - | = | r | w | x | S | l | t |
Système de fichiers
df : commande utile pour
les systèmes de fichiers.
mount : pour ajouter ("greffer ") un système de fichiers supplémentaire. Remarque : " Greffer " sur
un répertoire non-vide fait perdre l'accès au contenu.
Remarque : Un ext2 correspond à une partition. |
![]() |
Installation de Linux
Dans cette partie nous allons installer un système linux sur notre machine. Il n'est pas question ici de mettre en place des services particuliers, mais plutôt une configuration de base suffisante pour mettre en place ultérieurement des services spécifiques.
Avant toute installation de linux,il faut vérifier que le matériel utilise est supporte par linux. Ce qui est notre cas (processeur ,carte graphique, cdrom, disque dur, carte réseau) et il faut aussi connaître les configurations - surtout pour les cartes ISA ( adresse 1/0 ). La situation est simple, nous allons "booter" la machine avec le premier cdrom .
Tout d'abord il faut « booter »la machine à partir du cd 1. Suite au premier message, le système démarre un noyau de base comprenant un maximum de driver de périphérique, ce qui permet une reconnaissance automatique du matériel.
Ensuite il suffit de répondre simplement aux questions du système.
La premiere étape délicate sera le partitionnement du disque ainsi que le formatage des partitions.
Attention si la création d'un compte utilisateur n'est pas délicate, il est important de de faire attention au mot de passe administrateur (root).
Le disque dur étant préparé, il s'agit de déterminer quels logiciels vous désirez installer. Yast vous demande maintenant un peu de patience: les données des séries et paquetages doivent être lus a partir du support d'installation. Lors de la sélection des « packages » laisser la sélection par défaut. Avant toute chose il faut savoir que sous SuSE linux les packages correspondent à des logiciels ou des librairies, ils sont regroupes en séries ( ex: la série n pour network contient le serveur de messagerie, le serveur hhtp, les serveurs ftp, etc... ). Attention à la dépendance entre les logiciels (certains on besoin d'autres pour fonctionner).
Puis le système vas détecter les périphériques à installer. Il suffit de définir les paramètres adéquates pour la carte réseau.
Ensuite pour que le noyau soit pris en compte au démarrage de la machine il faut configurer lilo. Ce petit programme permet de selectionner le noyau à charger au démarrage mais aussi de gérer le multi-boot avec Windows.
Nous disposons donc actuellement d'un OS de base et théoriquement l'ensemble des périphériques de l'ordinateur sont reconnus. Une fois cette premier étape franchi il nous faut configurer la machine. C'est la partie administration d'un système linux.