COURS Linux Lp2i

October 11, 2017 | Author: Ilias Benhar | Category: Linux, C (Programming Language), Free Software, Unix, Computer File
Share Embed Donate


Short Description

Download COURS Linux Lp2i...

Description

Linux LP2I 2010 - 2011

UNIVERSITE IBNOU ZOHR, FACULTE DES SCIENCES DEPRTEMENT D’INFORMAIQUE AGADIR

Cours LINUX 2010-2011

LP2I

Responsable : Abdellah MASSAQ

1

Linux LP2I 2010 - 2011

Chapitre

Présentation générale de Linux/UNIX 1. Bref historique de Linux / Unix Unix est un système d’exploitation moderne, complet et efficace. Il a été écrit en 1969 par Ken Thompson dans les laboratoires de Bell en langage B, et réécrit en C par Dennis Ritchie. Il est utilisé en calcul scientifique, serveurs réseaux, PDA, embarqué.. Linux est une version d’Unix développé à l’origine par Linus Torvalds à l’université de Helsinki (1ère version en 1991).

2. Caractéristiques du système Linux est un système multitâche, Multi-Utilisateurs et multi plate formes, il est gratuit et librement diffusable (open source – logiciel libre). De plus, il est : - Populaire car fonctionnant sur des machines très économiques (exemple Intel 386) et reconnaissent de plus en plus de périphériques de tout genre. - Gratuitement téléchargeable. - Il s’installe sur une machine disposant déjà d’un autre système d’exploitation de type Windows et il peut même reconnaître ses fichiers et les accéder. - Doté d’une impressionnante logithèque, en bureautique (Star Office ou Open Office), serveur web (Apache), serveur de données (MySQL, Postgree..), serveur d’application web (Zope), serveur d’impression (Samba), Firewall (filtrage de paquet par IPTables). - Largement documenté exemple projet LDP (Linux Documentation Project) www.linuxdoc.org. 2

Linux LP2I 2010 - 2011

-

Portable du fait de la disponibilité des codes sources des logiciels qui le composent. Interopérable car il prend en charge de nombreux système de fichiers outre que le natif ext2fs : VFAT, NTFS, ISO9660, System V, BSD, MS-DOS… Communiquant puisqu’il prend en charge les protocoles TCP/IP, AppleTalk, X-Window, NFS, PPP, ATM… Système modulaire et donc facile à maintenir et à faire évoluer car conçu en ouches avec au premier niveau le noyau, au second niveau l’interprète des commandes et les applications utilisateurs et au troisième niveau les menus ou interfaces des applications utilisateurs.

Il existe plusieurs distributions de Linux (une centaine), on peut citer les principales sur le marché actuellement : Redhat, Mandrake, Suse, Debian, Caldera, Corel, EasyLinux, Slackware (le 1er). Pour plus de détails voir : www.linuxplanet.com ou www.linuxiso.org.

3. Open source : GNU/Linux

GNU a pour but de rappeler que Linux ne serait rien sans le travail de la Free Software Foundation : FSF (http://www.gnu.org) qui permet de fournir un système informatique libre. Linux est issu d’un mode de développement ouvert, Linus Torvalds ayant soumis son code au net. La FSF a formalisé ce type d’approche dans la notion de logiciel libre, dont les idées sont les suivantes : 3

Linux LP2I 2010 - 2011

– liberté d’utiliser le logiciel ; – accès au code source ; – possibilité de modifier le code ; – liberté de diffuser le programme, avec ou sans modifications. Des variantes du concept de logiciel libre sont apparues, dont la plus importante est le mouvement open source : http://www.opensource.org. Pour les logiciels open source : www.sourceforge.net.

4. Services de Linux Parmis les services qu’offre Linux aux utilisateurs : - Utilitaire : main (aide en ligne), lpr (impression) - Outils de programmation (exemple compilateur C : gcc) - Communication inter-utilisateur : mail, talk… -Editeur de texte : Vi, pico… -Interfaces graphiques : les plus courantes KDE e GNOME. 5. Partition et installation de linux (voir TP n°2) Si Windows est déjà installé sur votre machine : - Faire des sauvegardes car la partition est une opération complexe et dangereuse (écrasement de Windows par Linux) - Défragmenter les disque afin de pouvoir réduire la taille de la partition Windows et créer des partitions pour Linux. - Il faut au minimum deux partitions pour Linux : une partition pour les fichiers de système et ceux des utilisateurs et une partition d’échange (SWAP) utilisée dans le cadre de la gestion de mémoire virtuelle. c'est l'équivalent du fichier d'échange de Windows, c'est dans ce fichier qu'est déchargée la mémoire vive (RAM) lorsqu'elle atteint un certain 4

Linux LP2I 2010 - 2011

pourcentage d'occupation. L’idée est de séparer les fichiers du système des fichiers de l’utilisateur. Exemple de partition pour un disque dur de 30 Go :

DOS/Win 2 Go

/

250Mo

SWAP 350Mo

/USR

/home

3Go

Gestion de la mémoire Installation Linux

Fichiers utilisateurs

Les principales phases d’installation, sont les suivantes : 1) Créez des disques d’amorçage pour Linux. 2) Amorcez Linux à partir d’une disquette. 3) Partitionnez le disque dur. 4) Créez une partition de mémoire secondaire. 5) Créez un système de fichier Linux. 6) Installez le système Linux. 7) Configurez le noyau. 8) Configurez le processus d’amorçage du système. 9) Relancer Linux à partir du disque dur. 6. Composante du système Le système Unix, peut être présenter selon une structuration en couches (figure ci dessus) :

5

Linux LP2I 2010 - 2011

Boîtes à outils

Interprètes de commande ed Vi Emacs make lint lex yacc sccs

Noyau

Sh, csh, ksh

tar rpm

C Pascal Fortran Cobol Basic Lisp Ada Prolog

fsck acct

Figure : Structuration d’un système d’exploitation Unix. De façon générale, on y trouve : - des appels système mettant en œuvre directement le noyau (access, alarm, chdir, exit, kill, pause, mknod, umask, unlink, wait..) - des fonctions définies dans des bibliothèques standards (atoi, crypt, errno, fflush, getppid, malloc, nice, perror, tolower..) - des interprètes de commandes (sh, bash, csh, ksh, rsh, mc…) - des commandes interprètes par un shell (awk, bc, cd, cat, date, echo, diff, grep, ls..) - des outils de développement (cc, lex, yacc, make, awk, perl, gdb..) - des langages de programmation (Pascal…) - des outils d’administration système(tar, fsck..) 7. Structure du noyau Unix Le noyau de l’Unix renferme une série de composantes qui doivent nécessairement réaliser les diverses taches de gestion des ressources logicielles et matérielles mises à la disposition des programmes utilisateurs. On cite par elles : l’interface des appels système, le sous-système de fichiers, le sous-système de processus, et l’interface au matériel.

6

Linux LP2I 2010 - 2011

Programme utilisateur Niveau utilisateur Niveau noyau

bibliothèques

Trappe

Interface des appels systèmes

Sous-système des processus

Sous-système De fichiers

InterProcess Communication Caches tampons

Caractère

Scheduler Gestionnaire de la mémoire

Bloc

Pilotes de périphériques

Niveau noyau Niveau utilisateur

Contrôle du matériel HARDWARE

Figure : Composantes du noyau Unix Les tâches à réaliser par ces diverses composantes du noyau sont mises en œuvre selon le schéma simplifié qui suit : - Toute demande de service du système passe par une trappe réalisée par une instruction d’appel au superviseur. L’interface des appels systèmes dirige la demande vers soit le sous-système de fichiers, soit vers le sous-système de processus. - Le sous-système de fichiers se charge de la gestion correcte des fichiers et effectue le contrôle des autorisations d’accès. Il doit transmettre aux pilotes périphériques concernés les accès fichiers désirés. La distinction est faite entre pilotes dotés d’une mémoire tampon et les autres. -Le sous-système de processus affecte à chaque programme une zone mémoire, répartit entre eux la mémoire centrale et permet leur communication. -Qu’il s’agisse du sous-système de fichiers ou de processus, les deux utilisent ensuite une interface avec le matériel pour satisfaire la demande qui lui a été faite. 9. Différences entre Linux et Windows - Gestionnaire de fenêtres

7

Linux LP2I 2010 - 2011

Sous Windows il n’y a qu’un seul environnement graphique, intégré au système. Sous Linux, l’environnement graphique est séparé du système, ce qui a plusieurs avantages : On peut en changer comme on le désire sans que cela puisse avoir des implications sur l’utilisation des applications développées pour un environnement ou un autre, Si l’environnement graphique se plante, cela n’a aucune conséquence sur le système qui ne se plante pas. Attention : La beauté d’une interface graphique n’est pas un critère de qualité. - Les périphériques disques Sous Windows, les lecteurs sont présenté comme une arborescence de fichiers séparée : Poste de travail A:\

disquette

C:\ - Mes Documents - Program Files - Windows

disque dur 1, partition 1

D:\ - Documents Personnel - Autres Programmes

disque dur 1, partition 2

E:\

cd-rom

Sous Linux, comme dans tous les Unix, il n’y a qu’une et unique arborescence de fichiers. Les unités disques (disque dur et disquette) sont représentés par un répertoire spécial appelé « point montage » ; par exemple /mnt/floppy pour la disquette. disque dur 2, partition 1 etc home mnt - floppy - cdrom -C- ----Mes documents -D

disque dur 2, partition 2

disquette cd-rom disque dur 1, partition 1 disque dur 1, partition 2

8

Linux LP2I 2010 - 2011

- Correspondance des répertoires de base : Répertoire sous Linux /bin /lib /usr/bin /mnt/floppy /mnt/cdrom /tmp /home/lp2i

Equivalent Windows C:\Windows C:\Windows\System32 C:\Program Files A: D: C:\Temp C:\Mes Documents

9

Linux LP2I 2010 - 2011

Chapitre Les fichiers Linux Le système de fichier est géré par le noyau. Les fichiers UNIX correspondent soit à des fichiers de données sur disque dur, soit à des répertoires, soit encore à des fichiers spéciaux permettant la gestion de certaines ressources du système. 1. Types de fichiers Nous appelons fichier tout point dans l’arborescence des fichiers. On distingue 4 types de fichiers: – les fichiers ordinaires, qui contiennent des données. UNIX (fichiers de texte, binaires, images…) – les répertoires – les fichiers spéciaux, associés par exemple à des pilotes de périphériques ; – les tubes et sockets, utilisés pour la communication entre processus ; – les liens symboliques (fichiers “pointant” sur un autre fichier). 2. Répertoires Unix utilise un système de fichiers hiérarchisés (FHS) ainsi que la notion de dossier (ou répertoire). Au sommet de la hiérarchie se trouve le dossier racine (root) de nom “ / ”. Tous les fichiers peuvent être atteints par un chemin dans la hiérarchie à partir du dossier racine.

Figure 1 Exemple d’arborescence de fichiers sous Unix. La racine de l’arbre est le répertoire / (en haut). Ce répertoire contient ici 4 sous répertoires. Dans chaque répertoire, on trouve au moins deux fichiers, nommés. (point) et .. (point point). Le premier, qui a pour symbole (.), permet de référencer le répertoire lui-même (répertoire courant). Et le second, qui a pour symbole (..), permet d’accéder au répertoire parent (répertoire situé juste au dessus). A chaque instant, toute tâche possède un répertoire courant, ou répertoire de travail. La commande pwd affiche ce répertoire. La commande cd permet de changer le répertoire courant. 2-1- Chemins absolus et relatifs Pour désigner un fichier quelconque, on peut utiliser soit un chemin absolu, soit un chemin relatif. Un chemin absolu spécifie la suite des répertoires à traverser en partant de la racine, séparés par des caractères / (et non \ comme sous DOS). Par exemple, le chemin « /usr/bin/compress »

10

Linux LP2I 2010 - 2011

désigne le fichier compress, qui se trouve dans le répertoire bin, lui-même dans le répertoire usr de la racine. Le premier caractère / indique qu’il s’agit d’un chemin absolu. Il est souvent pratique d’utiliser un chemin relatif, à partir du répertoire courant. Par exemple, si l’on travaille dans le répertoire dupond de la figure 1, on peut accéder au fichier durand en spécifiant le chemin « ../durand » Du même endroit, on peut accéder au fichier compress via le chemin « ../../usr/bin/compress ». Tout chemin qui ne commence pas par un caractère / (prononcé slash) est interprété comme un chemin relatif au répertoire courant. 2-2 Répertoire de connexion A chaque utilisateur connu du système est associé un répertoire de connexion (home directory). L’utilisateur y place ses fichiers personnels, et peut y créer autant de sous-répertoires qu’il le désire. Dans l’exemple figure 1, le répertoire de connexion de M. Dupond est « /users/dupond. » Après le login, l’interpréteur de commande a pour répertoire courant le répertoire de connexion de l’utilisateur. Le compte root est réservé pour le superviseur du système. Le répertoire de connexion contient aussi certains fichiers de configuration permettant à l’utilisateur de personnaliser son environnement de travail. Ces fichiers sont normalement invisibles (car leur nom commence par un point). 2-3 Répertoires importants Quelques répertoires importants sous linux/unix: /bin/, /sbin/ contient les binaires et les scripts exécutables. /bin pour l’utilisateur. Le répertoire /sbin contient également des binaires et scripts exécutable, mais plutôt destinés au superutilisateur et/ou aux routines de démarrage. /boot/ contient l’image du noyau et les fichiers de démarrage /etc/ les fichiers de configuration du système /home Répertoires privés (user et daemons : pgm qui se lance au démarrage de la machine) /usr/ Programmes et librairies utilisateurs /var/lock/ Verrous servant à éviter les conflits /var/log/ Historiques : Erreurs et messages des daemons /var/spool/ Queues : Files d’attentes imprimante, courrier... /dev/ contient les devices (périphérique) /tmp fichiers temporaires, vidé à chaque démarrage /lib/ bibliothèques /mnt les dossiers pour les points de montage temporaires /proc Accès direct aux paramètres du noyau 3 Les liens (ln) Les liens sont des fichiers assez spéciaux puisqu’ils permettent d'associer plusieurs noms à un seul et même fichier. Pour créer un lien, on utilise la commande ln. L'utilité des liens est évidente puisqu'ils permettent à partir d'un seul fichier physiquement présent sur l'espace disque, d'avoir plusieurs références de noms différents et localisées en des lieux différents d'un même fichier qu'il n'est plus besoin de copier. Lorsque le fichier pointé est volumineux, l'emploi des liens est donc très avantageux. Les liens peuvent êtres de deux types : Lien symbolique 11

Linux LP2I 2010 - 2011

Un lien symbolique est un simple pointeur vers un autre fichier bien réel. La commande ln -s permet de créer un lien symbolique sur un fichier. Ce lien sera présent sous la forme d'un fichier dont le nom sera affiché après le symbole @. Syntaxe : ln -s nom-du-fichier-à-pointer nom-du-lien-symbolique Lien physique Un lien physique sur un fichier est un fichier qui occupe exactement le même espace disque que le fichier vers lequel il pointe. Ainsi les deux fichiers : le lien et le fichier pointé sont physiquement les mêmes bien que virtuellement (pour le système de fichiers) ils portent des noms différents et puissent être localisés dans des répertoires différents. Syntaxe : ln nom-du-fichier-à-pointer nom-du-lien-symbolique Exemple : Supposons qu’on a créé le fichier /usr/bin/test et que vous désirez disposer du même dans le répertoire /usr/tim, il suffit de créer un lien physique l’aide : Ln /usr/bill/test /usr/tim/test Tout changement apporté à l’un sera immédiatement visible dans l’autre. 4-Commandes de base de gestion de dossiers et de fichiers Il existe un très grand nombre de commandes sous Linux. Ces commandes sont exécutées depuis l'invite du shell et ont la syntaxe suivante : nom_commande [-options] ... Exemples : mv f1 f2 f3 dossier (déplace f1, f2 et f3 dans dossier). mv f1 f2 (change le nom de f1 en f2). rm -r : supprime un répertoire. La commande cd cd . ne change pas de place cd . . va dans le répertoire parent cd / saute vers le répertoire racine cd /home se déplace vers le répertoire home fils de la racine cd . . / . . Remonte de deux crans. cd va directement au répertoire utilisateur 5- Les archives - Les archives tar : Les archives les plus souvent utilisées sont les archives tar, ce sont des fichiers qui contiennent plusieurs fichiers, ou même toute une arborescence de répertoires, le tout non compressée. Les options de tar : v : (verbose/parlant) permet d'obtenir une description du contenu archivé (facultatif) c : (create/créer) pour créer une archive f : (file/fichier) pour spécifier un nom pour l'archive (en paramètre) x : (extract/extraire) pour extraire les fichiers t : pour obtenir la liste de tous les fichiers contenus dans une archive. z : compresser ou décompresser en faisant appel à gzip tar -tf mon_fichier.tar Pour créer l'archive toto.tar contenant le fichier toto et le répertoire repertoto : $tar cvf toto.tar toto repertoto Pour extraire cette archive 12

Linux LP2I 2010 - 2011

$tar xvf toto.tar $tar -xvf toto.tar "*.jpg" : Extrait dans le fichier "toto" tous les fichiers ayant l'extension ".jpg".

- La compression : gzip permet de compresser des fichiers : $gzip salut.c On obtient salut.c.gz. gunzip permet de décompresser. $gunzip salut.c.gz Par défaut, la vitesse et la qualité de la compression sont à -6 ; la meilleure compression est la -9 (c'est la plus lente) et la plus rapide est la -1 (c'est la moins fiable) : gzip -9 salut.c Ces outils peuvent être combinés pour faire des archives compressées directement : tar czf toto.tgz toto repertoto crée directement le .tar compressée, .tar.gz est souvent abrégé en .tgz. Il suffit de remplacer le c par le x dans les options de tar pour le décompresser.

6 - La redirection des entrées/sorties : Lorsque le shell traite une commande, il assigne au programme d’exécution de la commande trois fichiers standards : • stdin : un fichier d’entrée standard dans lequel le programme lit ses données (par défaut le clavier), • stdout : un fichier de sortie standard dans lequel le programme écrit ses résultats (par défaut l’écran), • stderr : un fichier d’erreurs standard qui reçoit les messages d’erreur générés lors de l’exécution (Par défaut l’écran). Ces flux d’entrées-sorties peuvent être redirigés vers d’autres fichiers très simplement. Exemple 1 : calcul est un programme exécutable quelconque. - Les données étant entrées au clavier, et les résultats étant à afficher sur l’écran on tape la commande : $ calcul - La sortie devant se faire dans calcul.s et les données étant entrées au clavier : $ calcul > calcul.s La redirection > a pour effet de créer le fichier calculs, si ce fichier existait déjà, il est tout simplement écrasé (supprimé et recréé), pour ne pas perdre ce qu'il contient, vous disposez donc de la redirection >> : $ calcul >> calculs Le fichier calculs n'est pas écrasé, mais la sortie standard est ajoutée en fin de fichier, à la suite du texte qui était déjà dans le fichier. - Les données étant à lire dans le fichier calcul.e et les résultats à afficher à l’écran : $ calcul < calcule - les données étant à lire dans calcule et les sorties à écrire dans calculs : $ calcul < calcule > calculs - Les erreurs peuvent être redirigées à l’aide du symbole 2> : $ calcul 2> fichier_erreur

13

Linux LP2I 2010 - 2011

Exemple 2 : (ls; pwd; who) > liste : permet de rediriger le résultat de la suite de commandes vers le fichier liste. En l'absence de parenthèses, seule le résultat de la dernière commande serait redirigée. 7 - Les pipes Un pipe (tube de communication) permet de rediriger la sortie d'une commande vers une autre. En d'autres termes, pour rediriger les résultats (la sortie) d'une commande, on a vu qu'on pouvait taper : commande1 > sortie1

On redirige cette sortie vers une autre commande, ça devient donc une entrée pour cette dernière commande, pour cela vous tapez : commande2 < sortie1

En fait la syntaxe commande1|commande2 ( | (ou ^)étant le symbole de pipe) est totalement équivalente aux deux lignes de commandes précédentes.

8 - Les Filtres Un filtre est une commande qui lit les données sur l’entête standard, effectue des traitements sur les lignes reçues et écrit le résultat sur la sortie standard. - grep est un filtre. Il peut trouver un mot dans un fichier, par exemple : $grep malloc *.c Cherche la chaîne de caractères malloc dans tous les fichiers dont le nom se termine par .c (*.c). - Compter les caractères, les mots, les lignes: wc [options] [fichiers...] Permet de compter le nombre de lignes, de mots et de caractères de chaque fichier. Les options sont: • -l: compte les lignes, • -w: compte le nombre de mots, • -c: compte le nombre de caractères. Exemple : $wc -l toto (compte le nombre de ligne dans toto) - Les commandes cat, more et less cat f1 f2 .. > f concatène f1, f2 .. dans le nouveau fichier f less f1 f2 .. > f concatène les fichiers f1 f2 .. en un seul fichier f (comme cat) less f3 >> f ajoute le contenu du fichier f3 à la suite du contenu du fichier f 9 - Les droits d’accès Pour afficher les attributs principaux des fichiers, il faut utiliser ls –l : $ ls -l - rwx r-x r-x 1 user bin 1996 Mar 15 2007

(1)

(2)

(3)

(4)

(5)

(6)

(7)

fichier

(8)

1 : type de fichier : - : fichier normal

14

Linux LP2I 2010 - 2011

d : répertoire b : fichier spécial (périphériques…) l : lien symbolique s : socket p : pipe (tube) 3 : Nombre de liens physiques qui pointent vers ce fichier 4 : nom du propriétaire 5 : nom du groupe du fichier 6 : taille du fichier 7 : date de la dernière modification 8 : nom du fichier 2 : les autorisations : pour des raisons de sécurité, les fichiers sont protégés en lecture (r), écriture (w) ou exécution (x). Pour chaque fichier, il existe trois catégories d’utilisateurs : - Le propriétaire (u) : la première partie : rwx - Son groupe (g) : la deuxième partie : r-x - Les autres (Others : O) : la troisième partie : rwx Changer les permissions La commande chmod permet de changer les droits d’accès à un fichier. Seul le propriétaire d’un fichier a le droit d’en modifier les droits d’accès. Pour cette commande, il existe deux modes : -mode symbolique Ce mode utilise les lettres u, g et o. (+) : ajouter, (-) supprimer, (=) définir des permissions et remplacer les droits existants. Exemples : chmod +x fichier chmod ug+x fichier chmod u+rwx fichier chmod o = rx fichier (définit les droits de lecture et d’exécution à tous les autres utilisateurs). Avec l’option -R de chmod, les permissions sont propagées aux fichiers se trouvant dans le répertoire, ex : chmod -R u-w monrep/ (change les permissions pour le répertoire monrep et les fichiers qu’il contient). -mode numérique Pour obtenir les permissions exprimées en octal, il suffit d’ajouter en octal les nombres de la table de correspondance ci dessous : propriétaire groupe autre lecture écriture exécution lecture écriture exécution lecture écriture exécution 400 200 100 40 20 10 4 2 1 On additionne en suite, les droits pour chacun. Le mode de protection par défaut est en général pour : Les fichiers rw-rw-rwLes répertoires rwx rwx rwx Le masque de protection Pour attribuer les droits d’accès par défaut, il faut exécuter la commande umask et attribuer un numéro particulier.

15

Linux LP2I 2010 - 2011

Exercices : 1) Tapez la commande umask, de manière à ce que les fichiers lors de leur création aient par défaut les droits 640 (rw-r-----), et les répertoires 750 (rwxr-x---). Solution : Pour un fichier : masque maximum pour un fichier 666 rw-rw-rwà retirer 026 ----w-rwdroit par défaut 640 rw-r----Pour un répertoire masque maximum pour un répertoire 777 rwxrwxrwx à retirer 027 ----w-rwx droit par défaut 640 rwxr-x--Soit la commande: umask 027 (Pour un fichier retirer 026 ou 027 est équivalent) 2) umask 077 donnera une protection rw- --- --- pour les fichiers et rwx- --- --- pour les repertoires. 10 – Génération de noms de fichiers Le shell offre la possibilité d’utiliser les métacaractères pour générer les noms de fichier à fournir aux commandes. * : permet de remplacer une chaîne de caractères ? : remplace un seul caractère [Liste de caractères] : Signifie un caractère quelconque parmi ceux de la liste. Par exemple [a-b] signifie un caractère compris entre a et z. [ !Liste de caractères] : Signifie un caractère quelconque, sauf ceux de la liste donnée. Exemples : $ rm *.c $ ls * .??? $ ls -l?a*

Commande linux équivalent MsDos Commandes

équivalent

linux

MsDos

à quoi ça sert

Exemples :

cd .. cd

cd

change le répertoire courant.

- va dans le répertoire parent du répertoire courant cd /home/user/.nsmail - va dans le répertoire désigné

16

Linux LP2I 2010 - 2011

ls - affiche le contenu du répertoire courant ls -l ls

dir

affiche le contenu d'un

- affiche le contenu du répertoire courant de

répertoire

manière détaillée ls -a /home/user - affiche le contenu du répertoire désigné (ainsi que les fichiers cachés) cp toto /tmp - copie le fichier toto dans le répertoire /tmp cp toto titi

cp

copy

copie un ou plusieurs

xcopy

fichiers

- copie le fichier toto sur le fichier titi cp -R /home/user /tmp/bak - copie le répertoire /home/user ainsi que tout ce qu'il contient dans /tmp/bak rm toto titi - efface les fichiers toto et titi

rm

del

efface un ou plusieurs fichiers

rm -f toto titi - efface les fichiers toto et titi sans demander confirmation

rm -rf

deltree

efface un répertoire et son contenu

rm -rf /tmp/* - efface (sans demander de confirmation) tous les fichiers et répertoires de /tmp mkdir /home/user/mes_documents

mkdir

md ou mkdir

crée un répertoire

- crée le répertoire mes_documents dans le sous répertoire /home/user (éviter de mettre des espaces dans les noms de fichiers ou de répertoires)

rmdir

rm

efface un répertoire s'il est vide

rmdir /home/user/.nsmail - efface le répertoire .nsmail de /home/user si celuici est vide

17

Linux LP2I 2010 - 2011

mv tata titi - renomme tata en titi

mv

ren

déplace ou renomme un ou

move

des fichiers

mv * *.bak - ne fonctionne pas !!!! mv * /tmp/bak - déplace tous les fichiers du répertoire courant vers le répertoire /tmp/bak

find

dir -s

trouve un fichier répondant à certains critères

find /home -name "*bash*" - trouve tous les fichiers contenant le mot bash dans leur nom se trouvant dans le répertoire /home locate bash

locate

dir -s

trouve un fichier d'après son nom

- trouve tous les fichiers contenant le mot bash dans leur nom complet (avec le répertoire) : à la différence de find, locate trouve ses informations dans une base de donnée créée par updatedb

man

help

affiche l'aide concernant une commande particulière

man ls - affiche l'aide (page de manuel) de la commnade ls. On quitte man en appuyant sur la touche 'q' chmod o+r /home/user - autorise les autres (o=other) (ie: ceux qui ne sont ni le propriétaire, ni membre du groupe propriétaire) à lire (r=read) le répertoire

chmod

cacls

modifie les permissions

/home/user

d'un fichier chmod a+rw /home/user/unfichier - autorise tout le monde (a=all) à lire et écrire (w=write) dans le fichier /home/user/unfichier

chown

chgrp

pas

modifie le propriétaire d'un

chown user unfichier

d'équivalent

fichier

rend user propriétaire de unfichier.

pas

modifie le groupe

chgrp -R nobody /home/httpd

d'équivalent

proprétaire d'un fichier

- rend le groupe : nobody (un groupe ayant très

18

Linux LP2I 2010 - 2011

peu de droit sur un système linux) propriétaire de /home/httpd ainsi que tout les fichiers qu'il contient (-R) ln -s /dev/fd0 /dev/disquette crée un lien vers /dev/fd0 (le lecteur de ln -s

pas d'équivalent

crée un lien vers un fichier

disquette) nommé /dev/disquette. La manipulation de /dev/fd0 et /dev/disquette (sauf l'effacement).

recherche une chaine dans grep

pas

un fichier (en fait recherche

d'équivalent

une expression régulière dans plusieurs fichiers)

which

pas d'équivalent

grep chaine *.txt - recherche la chaine 'chaine' dans tous les fichier se terminant par .txt.

trouve le répertoire dans

which emacs

lequel se trouve une

- retourne le nom du répertoire dans lequel se

commande

trouve la commande emacs. cat ~/.bashrc

cat

type

affiche un fichier à l'écran

- affiche le contenu du fichier ~/.bashrc

19

Linux LP2I 2010 - 2011

Chapitre Programmation Shell Introduction Le shell est un interpréteur de commandes. C'est un programme spécial qui joue le rôle d'intermédiaire en interprétant les commandes passées par l'utilisateur. Pourquoi la programmation Shell ? Aucun langage de programmation n'est parfait. Il n'existe même pas un langage meilleur que d'autre ; il n'y a que des langages en adéquation ou peu conseillés pour des buts particuliers. Une connaissance fonctionnelle de la programmation shell est essentielle à quiconque souhaite devenir efficace en administration de système, même pour ceux qui ne pensent pas avoir à écrire un script un jour. Pensez qu'au démarrage de la machine Linux, des scripts shell du répertoire /etc/rc.d sont exécutés pour restaurer la configuration du système et permettre la mise en fonctionnement des services. Une compréhension détaillée de ces scripts de démarrage est importante pour analyser le comportement d'un système, et éventuellement le modifier. Écrire des scripts shell n'est pas difficile à apprendre car, d'une part, les scripts peuvent être construits par petites sections et, d'autre part, il n'y a qu'un assez petit nombre d'opérateurs et d'options spécifiques au shell à connaître. La syntaxe est simple et directe, similaire à une suite d'appels de différents utilitaires en ligne de commande et il n'existe que peu de « règles » à apprendre. La plupart des petits scripts fonctionnent du premier coup et le débogage, même des plus longs, est assez simple. Un script shell est une méthode « rapide et sale » pour prototyper une application complexe. Avoir même un sous-ensemble limité de fonctionnalités dans un script shell est souvent une première étape utile lors d'un projet de développement. De cette façon, la structure de l'application peut être testée et les problèmes majeurs trouvés avant d'effectuer le codage final en C, C++, Java ou Perl. La programmation shell ramène à la philosophie classique des UNIX, c'est à dire, casser des projets complexes en sous-tâches plus simples et assembler des composants et des utilitaires. Beaucoup considèrent que cette approche de la résolution de problème est meilleure ou, du moins, plus abordable que l'utilisation de langages de nouvelle génération puissamment intégré comme Perl, qui essaient de tout faire pour tout le monde mais au prix de vous forcer à changer votre processus de réflexion pour vous adapter à l'outil. D'après Herbert Mayer, « un langage utile doit comprendre des tableaux, des pointeurs et un mécanisme générique pour construire des structures de données. » Suivant ces critères, les langages des scripts shell ne sont pas « utiles ». Peut-être que si. Quand ne pas utiliser les scripts shell Pour des tâches demandant beaucoup de ressources et particulièrement lorsque la rapidité est un facteur (tri, hachage, etc.) ;

20

Linux LP2I 2010 - 2011

Pour des procédures impliquant des opérations mathématiques nombreuses et complexes, spécialement pour de l'arithmétique à virgule flottante, des calculs à précision arbitraire ou des nombres complexes (optez plutôt pour le C++ ou le FORTRAN dans ce cas) ; Pour une portabilité inter-plateformes (utilisez le C ou Java à la place) ; pour des applications complexes où une programmation structurée est nécessaire (typage de variables, prototypage de fonctions, etc.) ; pour des applications critiques sur lesquelles vous misez votre avenir ou celui de la société ; pour des situations où la sécurité est importante, où vous avez besoin de garantir l'intégrité de votre système et de vous protéger contre les intrusions et le vandalisme ; pour des projets consistant en de nombreux composants avec des dépendances inter-verrouillées ; lorsque des opérations importantes sur des fichiers sont requises (Bash est limité à un accès fichier en série, ligne par ligne, ce qui est particulièrement maladroit et inefficace) ; si le support natif des tableaux multidimensionnels est nécessaire ; si vous avez besoin de structures de données, telles que des listes chaînées ou des arbres ; si vous avez besoin de générer ou de manipuler des graphiques ou une interface utilisateur (GUI) ; lorsqu'un accès direct au matériel est nécessaire ; lorsque vous avez besoin d'accéder à un port, à un socket d'entrée/sortie ; si vous avez besoin d'utiliser des bibliothèques ou une interface propriétaire ; pour des applications propriétaires, à sources fermées (les sources des shells sont forcément visibles par tout le monde).

1) Les différents shells Il existe plusieurs shell (bash: version améliorée du shell Bourne sous Unix, csh, tcsh : shell C sous Unix) et le langage de programmation des scripts diffère d'un shell à l'autre. Pour connaître le shell sous lequel on travaille : $echo $SHELL qui affichera /bin/bash par exemple Pour changer le shell : On utilise la commande chsh

2) Exemple Le script suivant a pour nom Bonjour : #!/bin/bash # afficher un message

21

Linux LP2I 2010 - 2011

echo "Bonjour, c’est mon premier script" A part la première ligne, les lignes commençant par le caractère # sont des commentaires, c'est-à-dire des textes qui doivent aider à comprendre ce que fait un programme. Ces lignes ne sont pas interprétées par le shell.

La première ligne d'un script doit toujours indiquer le shell qui doit être utilisé pour l'interpréter. Par exemple, pour le bash, la première ligne d'un script doit être : #! /bin/bash Il est nécessaire de donner l'adresse absolue du shell, à partir de la racine.

3) Exécution d’un script shell : Avant de lancer un script shell, il faut s’assurer qu’il est exécutable. On affecte simplement le droit d’exécution par la commande : $ chmod +x nomScript ou $ chmod 755 nomScript L’exécution du script : $ ./nomScript ou simplement : $ nomScript Pour des raisons de sécurité, le répertoire courant (./) n'est pas inclus par défaut dans le $PATH de l'utilisateur. Avant tout, il faut s’assurer que la variable PATH de votre machine, contient la référence au répertoire courant. Pour changer la variable PATH : $ PATH = $PATH :. Exemple : $./Bonjour Bonjour, c’est mon premier script

Enfin, après les tests et le débogage final, déplacer le script dans /usr/local/bin (en tant que root), pour le rendre utilisable par vous et par tous les autres utilisateurs du système. Le script pourra alors être appelé en tapant simplement nomScript sur la ligne de commande. Remarque : Le script shell peut s’exécuter en différé (en arrière plan). Il suffit de terminer la ligne de commande avec un caractère &

4) Exemples de commandes shell - Alias Pour abréger certaine commande, il est possible d’utiliser le mécanisme d’alias qui permet de donner un nom à une commande. Exemple : alias rm = ‘rm -i’ # Pour conformation à chaque destruction de fichier. - Redirection echo "Je suis étudiant de smi" > test1

22

Linux LP2I 2010 - 2011

echo "Je suis inscrit en smi3" >> test1 - Trions un fichier wc -l < test2 # affiche le nombre de lignes du fichier test2 -Caractères spéciaux a) caractère > Si on veut afficher un texte comportant le caractère > : $echo poids1 > poids2 Crée un fichier poids2 qui contient le mot poids1, car > est un caractère interprété par le shell. Pour annuler cette interprétation, il faut faire précéder chaque caractère à annuler par un \. $echo poids1 \ > poids2

# affiche poids1 > poids2

b) Caractères quottes exemple1 : $ echo "$HOME" # affiche /home/smi et non pas $HOME, car $HOME est une variable interne, qui permet d’afficher le répertoire personnel de l’utilisateur. Pour annuler cette interprétation $ echo '$USER'

# affiche $USER et non pas smi

exemple2 : $echo `Chemins : `cd /tmp ; pwd`, $HOME` Affiche : Chemins : `cd /tmp ; pwd`, $HOME` $echo "Chemins : `cd /tmp ; pwd`, $HOME" Affiche : Chemins : /tmp, /home/smi Exemple3 : $echo "Mon répertoire de travail est `pwd`" Affiche : Mon répertoire de travail est /home/smi/doc

5) Les variables internes Le shell reconnaît de nombreuses variables. Voici quelques unes des variables d’environnement du bash. HOSTNAME : Contient le nom de la machine $echo $HOSTNAME

23

Linux LP2I 2010 - 2011

tintin HOSTTYPE : Type de la machine $echo $ HOSTTYPE i486 LANG : Définit la langue utilisée par la machine(fomat de l’affichage de la date) $echo $LANG fr_FR PATH : Indique les chemins de recherche pour les commandes à exécuter. Il s’agit d’une liste de répertoires, séparés par des doubles points : que l’interpréteur consulte lorsqu’il recherche une commande. $echo $PATH :/bin :/usr/bin:/usr/X11R6/bin:/usr/local/bin PPID : Donne le numéro du processus parent du shell. Le numéro du processu courant es accessible via le paramétre $. $echo $PPID 7454 $echo $$ 7455 RANDOM : Donne un entier aléatoire. SECONDS : Donne le nombre de secondes écoulées depuis le lancement du shell depuis l’affectation d’une nouvelle valeur à cette variable. MAILMSG : message d'alerte à l'arrivé d'un courrier

6) Les paramètres : Il est possible de faire passer plusieurs paramètres à un script. Les paramètres sont placés à la suite du nom du script, et séparés par des espaces, comme pour une commande standard. A l'intérieur du script, la valeur de ces paramètres est récupérée grâce aux variables '1' à '9'. Par exemple, la ligne echo $3 Renverra la valeur du troisième paramètre si il existe, rien sinon $0 $* $@ $# $? $$ $!

Contient le nom du script tel qu'il a été invoqué L'ensemble des paramètres sous la forme d'un seul argument L'ensemble des arguments, un argument par paramètre Le nombre de paramètres passés au script Le code retour de la dernière commande Le PID su shell qui exécute le script Le PID du dernier processus lancé en arrière-plan

24

Linux LP2I 2010 - 2011

Le code de retour d'une commande est un mécanisme fourni par le shell (quel qu'il soit) qui signale à l'utilisateur si l'exécution de cette commande s'est bien déroulée ou bien s'il y a eu un problème quelconque. Le code de retour est un petit entier positif ou nul, toujours compris entre 0 et 255. Par convention, un code de retour égal à 0 signifie que la commande s'est exécutée correctement. Un code différent de 0 signifie soit une erreur d'exécution, soit une erreur syntaxique. Exemple 1: $ pwd /home/sanchis $ echo $? 0 => la commande s'est exécutée correctement $ ls -l vi ls: vi: Aucun fichier ou répertoire de ce type $ echo $? 1 => erreur d'exécution !

Exemple 2: soit le script qui porte le nom essai : echo "La commande $0 a $# arguments" echo '$1 = '$1 echo '$2 = '$2 echo '$* = '$* shift echo "Maintenant il y a $# arguments" echo '$1 = '$1 Exécutons ce script : $ ./essai alpha beta gamma

# a 3 arguments

Résultat : La commande ./essai a 3 arguments $1=alpha $2=beta $*=alpha beta gamma Maintenant il y a 2 arguments $1 = beta La fonction shift permet de décaler la liste des paramètres d’un cran vers la gauche (efface alpha).

7) La programmation shell

25

Linux LP2I 2010 - 2011

Le shell offre les mêmes structures de contrôle qu’un langage de programmation comme le C. Structure conditionnelle L'instruction if permet d'e_ectuer des opérations si une condition est réalisée, et d'autres sinon. La structure la plus simple est la suivante : if then fi

On peut écrire des conditions à l'aide de la commande test qui peut être utilisée pour comparer deux entiers : -eq pour = -ne pour différent -lt pour < -le pour < ou = -gt pour > -ge pour > ou = Exemple : #!/bin/bash # estPositif if test $1 -gt 0 then echo "l'argument est positif" fi La boucle for : Cette instruction permet de répéter une instruction pour un ensemble de paramètres. for variable in liste do done

Exemple : $ for fichier in *.txt do chmod o-r $fichier done Pour tous les fichiers texte, on enlève le droit de lecture aux autres utilisateurs. While/Until Ces deux commandes permettent de faire exécuter une liste d'instruction tant qu'une (ou jusqu'à ce qu'une) certaine condition soit réalisée : while condition do liste_commandes

26

Linux LP2I 2010 - 2011

done ou until condition do liste_commandes done Exemple : #! /bin/bash a=1 b=0 until test $a = 10 do b=’expr $a + $b’ a=’expr $a + 1’ done echo $b fi

# a est une variable initialisée à 1 # b est initialisée à zéro # Jusqu'à ce que a=10, faire # evalue a+b et le place dans b # evalue a+1 et le place en 1 # Affiche la valeur de b

La réponse au lancement de ce script est : 45

8) Les opérateurs logiques Pour former des expressions un peu plus complexe, les opérateurs ! (« non »), -a(« et ») et –o (« ou ») peuvent être utilisés, mais également le parenthèse. Exemple : If test $a = $b -o $a != $c then echo "a est égal à b ou a est différent de c" else echo "a est différent de b et égal à c" fi

9) Calculs arithmétiques expr expr expr expr expr

$a + $b Donne le résultat de l’addition de a et b. $a - $b Donne le résultat de la soustraction de a et b. $a \* $b Donne le résultat de la multiplication de a et b. $a / $b Donne le résultat de la division de a par b. $a % $b renvoie le reste de la division entière de a par b.

10) Comparaisons de chaînes de caractères La commande suivante : expr $str2 : $str1 compare la chaîne de caractères str1 à la chaîne de caractères str2 et s’arrête dès que les chaînes de caractères différent ou à la fin de str1. Elle renvoie le nombre de caractères en commun si les chaînes coïncident jusqu’à la fin de str1 et la valeur 0 sinon Exemple : compar = 'expr $1 : $2' if test $compar = 0 then echo $1 différe de $2

27

Linux LP2I 2010 - 2011

else echo $1 est égale à $2 fi

11) La commande test Comme son nom l'indique, cette commande permet d'effectuer différents tests sur des fichiers, des répertoires ou des expressions arithmétiques. Elle s’utilise en association avec if, while et until pour évaluer le résultat vrai ou faux d’une expression. -r fichier : vrai si le fichier existe et est accessible en lecture (R) -w fichier : vrai si le fichier existe et est accessible en écriture (W) -x fichier : vrai si le fichier existe et est exécutable (X) -f fichier : vrai si le fichier existe et est un fichier régulier -d fichier : vrai si le fichier existe et est un répertoire

12) Les fonctions Shell Une fonction est un ensemble de commandes qui sont regroupées sous un même nom. Sa syntaxe est la suivante : Function nom() { liste_de_commandes } Ces fonctions sont appelables comme les autres commandes standards ou fichiers de commandes. Il est alors possible de leur passer des arguments en utilisant les notations : $1 , $2.. Une fonction peut retourner une valeur d’état avec le mot réservé return.

13) Les variables Les variables Bash ne sont pas typées, à l'inverse de nombreux langages de programmation, Bash ne regroupe pas ses variables par « type ». Essentiellement, les variables bash sont des chaînes de caractères mais, suivant le contexte, Bash autorise des opérations entières et des comparaisons sur ces variables, le facteur décisif étant la seule présence de chiffres dans la variable. Exemple Entier ou chaîne? #!/bin/bash # int-or-string.sh : Entier ou chaîne de caractères ? a=2334 let "a += 1" echo "a = $a " echo

# Entier. # a = 2335 # Entier, toujours.

b=${a/23/BB}

# Substitue "BB" à "23". # Ceci transforme $b en une chaîne de caractères. echo "b = $b" # b = BB35 declare -i b # Le déclarer comme entier n'aide pas. echo "b = $b" # b = BB35

28

Linux LP2I 2010 - 2011

let "b += 1" echo "b = $b" echo

# BB35 + 1 = #b=1

c=BB34 echo "c = $c" d=${c/BB/23}

# c = BB34 # Substitue "23" à "BB". # Ceci fait de $d un entier. echo "d = $d" # d = 2334 let "d += 1" # 2334 + 1 = echo "d = $d" # d = 2335 echo # Et à propos des variables nulles ? e="" echo "e = $e" #e= let "e += 1" # Les opérations arithmétiques sont-elles permises sur # une variable nulle ? echo "e = $e" #e=1 echo # Variable nulle transformée en entier. # Et concernant les variables non déclarées ? echo "f = $f" #f= let "f += 1" # Opérations arithmétiques permises ? echo "f = $f" #f=1 echo # Variable non déclarée transformée en entier. # Les variables dans Bash sont essentiellement non typées. exit 0 14- la commande read Grâce à la commande read on peut lire des parametres. Prenons le script suivant : #!/bin/sh # Fichier "mon-nom"

echo "Bonjour... Comment vous-appelez-vous ?" read nom echo "Je vous souhaite, $nom, de passer une bonne journée." La commande read permet de lire des variables. Si vous exécutez ce script, après avoir affiché la ligne

29

Linux LP2I 2010 - 2011

Bonjour... Comment vous-appelez-vous ? le shell va attendre que vous tapiez votre nom. Tapez par exemple Toto, puis appuyez sur Entrée, et vous verrez : Bonjour... Comment vous-appelez-vous ? Toto Je vous souhaite, Toto, de passer une bonne journée. La commande read doit être suivie du seul nom de la variable, non précédé du signe dollar. Le signe dollar ne doit précéder le nom de la variable que lorsque l'on cite son contenu. Lire plusieurs variables La commande read permet également de lire plusieurs variables. Il suffit pour cela d'indiquer à la suite les noms des différentes variables. Exemple : #!/bin/sh # Fichier "administration" echo read echo echo

"Écrivez votre nom puis votre prénom :" nom prenom "Nom : $nom" "Prénom : $prenom"

Vous aurez : Écrivez votre nom puis votre prénom : Hugo Victor Nom : Hugo Prénom : Victor

30

Linux LP2I 2010 - 2011

INSTALLATION ET PARTAGE DE LINUX Avant de pouvoir installer Linux Mandrake 10.0 il serait utile de savoir si votre matériel est bien compatible avec. Pour cela, rendez-vous sur le site officiel (www.linux-mandrak.com) de Mandrake. Tout d'abord assurez vous que votre ordinateur boote (permet de démarrer) bien sur le lecteur cd. (Cette option peut se régler dans le SETUP du BIOS).

Installation Mettez le CD 1/3 de Linux Mandrake 10.0 dans votre lecteur de CD et redémarrez l'ordinateur. Sélectionnez bien sur Français (dans la rubrique Europe) et cliquez sur « Next »

Choisissez votre clavier (pour moi ce sera Français) et cliquez sur « Suivant » Sécurité : Si vous êtes en tant que client et que vous avez simplement besoin d'être connecté à Internet, vous pouvez choisir le mode par défaut "Standard" Plus vous montez dans les niveaux de sécurité, plus il y a des restrictions. Logique! En fait, les autres modes, à savoir: "Elevé", "Plus élevé" et "Paranoïaque", sont destinés à un usage en tant que serveur. Le niveau "Elevé" peut s'employer dans les 2 cas, mais si en tant que serveur on a besoin d'avoir beaucoup de connexions simultanées, le niveau « Plus élevé » devient indispensable. Donc pour notre cas ce sera "Standard" Partitionnement Maintenant, nous arrivons à une étape importante de l'installation de Linux : Le partitionnement du disque dur. Note: il est utile de défragmenter les partitions Windows avant d'installer Linux car lors du redimensionnement des partitions Windows vous pourrez alors obtenir un gain de place. Plusieurs possibilités s'offrent à vous: Soit vous installez Linux sur une machine sur laquelle Linux sera le seul système d'exploitation et dans ce cas vous pouvez choisir l'option "Utiliser l'espace libre" (tout va se faire automatiquement, vous pouvez sauter l'étape du partitionnement).

Soit vous voulez faire cohabiter Windows (toutes versions) et Linux. Donc dans ce cas optez pour "Partitionnement personnalisé" et cliquer sur suivant. La configuration est la suivante: un seul disque dur nommé hda Les disques durs physiques IDE sont nommés hda , hdb , hdc , .... Donc si vous avez plusieurs disques durs sur votre pc choisissez le bon disque qui doit accueillir Linux. Et les partitions se nomment respectivement (pour le premier disque dur physique, qui se situe sur la première nappe): hda1 , hda2 , .... Vous avez 2 possibilités de partitionner votre disque dur une fois que vous êtes dans "partitionnement personnalisé" : Vous allez avoir besoin de créer 2 partitions pour Linux. Une partition système, système de fichier retenu ext3" et une partition swap, c'est l'équivalent du fichier d'échange de Windows. C'est dans ce fichier qu'est déchargée la mémoire vive (RAM) lorsqu'elle atteint un certain pourcentage d'occupation. Donc pour en revenir au partitionnement que nous devons effectuer: Si vous voulez faire cohabiter Windows et Linux vous devez sûrement avoir une ou deux (ou plus) partitions FAT32 ou NTFS . Il va falloir (s'il ne reste pas de partition vierge) redimensionner une partition Windows afin d'y mettre Linux. Pour ce faire: -Cliquez sur la partition à redimensionner et un nouveau menu devrait apparaître.

31

Linux LP2I 2010 - 2011

-Cliquez ensuite sur redimensionner et libérez de l'espace pour Linux, validez par "Ok" (vous devez au minimum libérer 2Go) Maintenant une nouvelle partition vierge vient d'être créée! -Cliquez une fois dessus afin de faire apparaître les options pour cette nouvelle partition et cliquez sur "Créer". Vous allez créer votre partition avec pour système de fichier ext3 Vous allez aussi en même temps, redimensionner cette partition pour laisser 300Mo à 500Mo pour la future partition de swap.

Laissez ou mettez s'il n'y est pas, le point de montage sur / , puis validez par "Ok" La partition système est créée avec pour système de fichier ext3 Nous allons maintenant créer notre partition de swap : Cliquer sur la partition qui reste vide puis cliquez sur "Créer" Ici pour la taille occupez la taille maximale proposée. Pour le système de fichier se sera swap. Valider par "Ok"

Partitionnement automatique Alors là rien de plus simple, pour libérer de la place reprenez les étapes du partitionnement à la main, et ensuite sélectionnez votre unique partition qui doit accueillir Linux et cliquez sur "partitionnement personnalisé" La différence entre le partitionnement à la main et le partitionnement personnalisé: Le gain de temps.

/home , car en effet si un jour vous devriez mettre à jour votre Mandrake, vous ne perdriez pas tous vos fichiers personnels qui seront stockés dans le répertoire /home Donc, j'ai juste expliqué le partitionnement "à la main" (qui est moins propre que celui automatique mais c'était pour que vous compreniez un peu ce qui se passe au niveau des partitions. L'"isolement" du répertoire

32

Linux LP2I 2010 - 2011

Conclusion: je vous conseille malgré tout le partitionnement Automatique. Le choix des paquets : Une fois l'installation de package terminée, vous devriez arriver ici:

Vous devez définir le mot de passe "root". Root est en fait l'administrateur du système, c'est lui qui a tous les droits. Il est donc indispensable de choisir un mot de passe "solide". Ensuite, il va falloir créer un ou plusieurs utilisateurs. Lilo Lilo, est le programme qui vous permet de choisir au démarrage entre les différents systèmes d'exploitations installés sur votre machine (pour nous Windows et Linux) Je vous conseille de le mettre sur le MBR (Master Boot Record) Ou alors sur une disquette si vous voulez par exemple "cacher" la présence de Linux sur votre Pc Dans ce cas choisissez "sur disquette" et pour démarrer Linux il faudra que vous bootiez sur la disquette qui vous chargera LILO en mémoire vive et qui vous permettra alors de booter sous Linux. Valider par "Suivant". Configuration du matériel Soit tout est automatiquement bien configuré et c'est tant mieux. En général, la configuration se fait selon nos besoins.

33

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF