:: News .:. Documents .:. Forum .:. Downloads .:. Bibliographie .:. Liens .:. Contact  :: 


Home
  :. News
  .: Documents
    .: Notions
    .: Protocoles
    .: Sécurité
    .: Architecture
    .: Prog
    .: Systèmes
  :. Forum
  .: Downloads
  :. Bibliographie
  .: Liens
  :. Contact

Chat

  Nickname:


irc: #guill.net

Forum



 
Linux : Notion de base et installation  
 

 

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).
 

Nom Numéro d'inode
.
..
bin
dev
home
...
2
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.

  Fichier Répertoire
r 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.
w Ecriture autorisée On peut créer ou supprimer les fichiers du répertoire.
x 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.
Sticky Bit 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 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 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. 
Le montage peut être: 
- manuel (mount) 
- automatique (automount). Connexion à distance à autre machine par exemple. 
Un numéro de système de fichier + un numéro d'inode = un fichier unique.

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.

Jérome Chavin
 




Sondage

Quel est votre connexion à Internet aujourd'hui ?
 
RTC 56Kbps
ADSL simple de 128 à 2048 Kbps
ADSL + Téléphonie (+TV) de 128 à 2048 Kbps
ADSL simple jusqu'à 20Mbps
ADSL + Téléphonie (+TV) jusqu'à 20Mbps
Autres (RNIS, Satellites bi-directionnel...)
Total :
3241

Recherche


Docs
   Pflogsumm (Analyseur de log mail pour Postfix)
   Proftpd (Mise en service d'un serveur FTP avec proftpd sous Linux)
   Openldap (Mise en service d'un serveur LDAP sous Linux)
   Gestion des périphériques en c++ builder (Communication RS232 en C++ Builder)
   Les sockets windows (Windows Sockets : un cours accéléré)

guill.net©1999-2024