Вы находитесь на странице: 1из 12

“Une Introduction à Linux”

1. Présentation Générale:

• Logiciels libres : Projet GNU et GPL.


• Une Base unique : le système UNIX
• Linux : noyau & système d'exploitation.
• Les distributions existantes.
• La flexibilité : choix du Desktop Environnement/Window
Manager.

2. Environnement UNIX et Linux :

• Bootloader : avoir Windows et Linux sur la même machine.


• Comptes : root et users.
• Partitions et Systèmes de fichiers.
• Arborescence fichiers.
• Monter un volume et point de montage.
• Différence entre exécutables win32 et ELF.
• Outils intégrés pour programmer.
• Système de paquets et compilation à partir des sources.
• Noyau et modules.
• Interface graphique et terminaux.
• Qu'est-ce qu'un “shell” ?

3. Boîte à outils pour le quotidien :

• Manual pages : man.


• Exploration & Permissions : ls, cd, cp, mv, rm, mkdir, chmod,
chown.
• Processus : ps, kill, fuser, top
• Montage : mount, umount (fstab + autofs)
• Impression : lp, lpstat
• Flux de fichiers : cat, grep, cut, tail
• Accès à distance : ssh, scp, dhclient
• Opérations sur les fichiers : find, du, tar

4. Exploiter les possibilités de son compte EGIM :

• WinSCP.
• Putty.
• Configuration E-mail.
• Page perso.
1. Présentation Générale:

• Logiciels libres : Projet GNU et GPL.

La Free Software Foundation, créée par Richard Matthew Stallman, définit 4 libertés
fondamentales concernant un programme informatique :

➢ liberté d'éxécuter ce programme pour tous les usages

➢ liberté d'étudier le fonctionnement du programme, et de l'adapter à vos besoins,


ce qui requiert l'accès au code source
➢ liberté de redistribuer des copies

➢ liberté d'améliorer le programme et de publier vos améliorations, pour en faire


profiter toute la communauté, ce qui requiert l'accès au code source
Logiciel libre (en anglais free software) ne signifie pas forcément logiciel gratuit.
Vous pouvez ou non avoir à payer pour un logiciel libre, mais dans tous les cas, vous
aurez l'accès au code source, le droit de le modifier, de copier et distribuer le
logiciel, et meme d'en vendre des copies.
Lorsqu'un logiciel est libre, cela permet à des passionnés d'informatique dans le
monde entier de contribuer à ces programmes en trouvant des bugs et/ou en les
corrigeant, en développant de nouvelles fonctionnalités,...
On appelle logiciel sous copyleft un logiciel libre dont les conditions de distribution
interdisent aux nouveaux distributeurs d'ajouter des restrictions supplémentaires
lorsqu'ils redistribuent ou modifient le logiciel. Ceci veut dire que chaque copie du
logiciel, même si elle a été modifiée, doit être un logiciel libre.
La Free Software Foundation a créé une licence permettant de protéger un logiciel
par le copyleft : la GNU GPL. C'est la GNU General Public License, disponible sur le
site http://www.gnu.org
Les avantages du logiciel libre :
➢ Coûts réduits - pas de licence payante
➢ Personnalisation - code modifiable, solution sur mesure
➢ Indépendance vis à vis de l’éditeur
➢ Interopérabilité - emploi de standards ouverts
➢ Stabilité - correction de bugs, alertes, transparence
➢ Sécurité
➢ Qualité du support - forum, mailing listes

Existe-t-il d'autres licences libres ?


Des tas, compatibles ou non avec la licence GPL. XFree86, BSD, Apache possèdent
tous des licences libres, mais les contraintes sur l'utilisation et la redistribution
peuvent varier de l'une à l'autre. Vous pourrez trouver tous les détails sur
http://www.gnu.org
Quelques exemples de logiciels sous licence libre :
Fondation Mozilla (Firefox, Thunderbird, Sunbird)
Fondation Apache (serveur HTTP, SpamAssassin)
OpenOffice.org
etc...

Les logiciels libres sont beaucoup plus présents qu'on ne le pense : ils sont au coeur
même d'Internet. Le serveur Apache représente presque 80% du parc mondial des
serveurs Web. Un très grand nombre de serveurs de mail, FTP sont également basés
sur des solutions libres.

Extension du concept du libre :


➢ Encyclopédie Wikipedia
➢ Bases de données scientifiques
➢ Création artistique (livres, musique, ...)

Passer au logiciel libre ?

➢ CD Ginfo ! http://ginfo.egim-mrs.fr
➢ http://www.framasoft.net
➢ http://gnuwin.epfl.ch/fr/

• Une Base unique : le système UNIX.


Le système UNIX créé au début des années 70 est considéré par bien des
programmeurs comme le meilleur système d'exploitation existant car bâti dès le
début de sa conception comme un système sécurisé et performant. Les versions
d'UNIX étaient tout d'abord développées pour les “workstations” et les gros
serveurs, commerciales et souvent onéreuses (Unixware, HP-UX, Solaris).
Aujourd'hui, UNIX est une large famille de systèmes d'exploitation dont les
bases sont communes. Ainsi apprendre à utiliser un système, tel que Linux, c'est
aussi posséder ensuite des bases solides pour aborder d'autres UNIX tels que les
BSD (NetBSD, FreeBSD, OpenBSD), Solaris, Mac OS X (dérivé de BSD), certains de
ces systèmes étant disponibles sur un grand nombre d'architectures comme Intel 32
bits, Intel 64 bits, PowerPC, ARM, Alpha, MIPS etc ...

• Linux : noyau & système d'exploitation.

De manière très générale, Linux (qu'on préfère appeler GNU/Linux) est un


exemple de mise en place réussie de GNU. Au delà de la licence, initialement
développée par la Free Software Foundation, la GNU (GNU is Not UNIX) est un projet
de système d'exploitation complet, semblable à UNIX, mais qui soit un logiciel libre,
ayant pour but de créer des logiciels appartenant à tout le monde.
Linux est un système d'exploitation multi-utilisateurs et multi-tâches qui se
présente depuis quelques années comme une alternative grand public à Windows. Il
est conforme aux standards UNIX POSIX, System V et BSD, ce qui en fait un système
largement opérationnel et utilisé en entreprise.

Historiquement, alors que les développement d'UNIX restaient limités aux


workstations, un étudiant de l'Université d'Helsinki Linus TORVALDS eut l'initiative
de développer un UNIX largement diffusable basé sur un noyau entièrement
développé de manière contributive et indépendant des versions commerciales : le
noyau Linux. Inspiré tout d'abord d'un système UNIX rudimentaire “Minix”, le
développement de Linux suscita un engouement fort dans les communautés de
programmeurs : de la version 0.01 [Août 1991] composé du simple squelette des
sources, puis la 0.02 [Octobre 1991] permettant simplement l'utilisation d'un
environnement de développement aux versions 2.6.11 actuelles l'évolution a été
exponentielle. Linux s'impose désormais comme un système complet : système
graphique, réseau, support de nombreux périphériques.
Linux est donc avant tout un noyau i.e le coeur d'un système d'exploitation qui
effectue l'interface entre les programmes utilisateurs, les processus système et les
périphériques matériels (pour Windows XP par exemple c'est le noyau NT 5.1). De
manière générique c'est le nom donné aux systèmes d'exploitations basés sur ce
noyau. Il existe plusieurs versions de Linux développées soit par des communautés
de développeurs ou des entreprises : on les appelle des “distributions”.

• Les distributions existantes.


Les distributions diffèrent par l'orientation qu'on a donné à leur conception
mais aussi par la mise en oeuvre des outils, de l'architecture développée autour du
noyau Linux. On trouvera donc des distributions conviviales (user-friendly) à usage
personnel, d'autres orientées serveurs mais encore pour les systèmes embarqués,
temps réel (RTLinux), des mini-distros orientées multimédia, à usage spécifique (das
les routeurs par exemple).
Le système Linux est flexible : il est donc possible de concevoir une
distribution adaptée à des besoins spécifiques construites autour de noyaux Linux
conçus eux aussi spécifiquement (systèmes embarqués par exemple).
Les distributions à usage du grand public se distinguent non seulement par
des objectifs différents mais aussi des philosophies différentes.

Quelques distributions:

➢ Fedora Core (Red Hat) : Distribution opensource issue de Red Hat.


Appréciée par les utilisateurs pour un bon compromis
stabilité/convivialité. Système de paquets RPM.
➢ Mandrake : Distribution française, conviviale par excellence,
beaucoup d'automatisations dans son administration et une interface
de type Windows (KDE) + utilitaires de configuration graphiques.
Système de paquets RPM.
➢ Suse : Distribution allemande rachetée par Novell pour un usage
commercial. Une version gratuite. Automatisation de l'installation et
collaboration avec le projet Xfree86 (système graphique).
➢ Slackware : La distribution des puristes. Moins ergonomique mais très
stable et propre.
➢ Debian : Distribution emblématique utilisée sur un grand nombre de
serveurs, utilisable aussi pour usage personnel, moins ergonomique
mais très flexible et très stable. Communauté importante. Système de
paquet très performant APT.
➢ Gentoo : Distribution dérivée de Debian, simple d'utilisation et
possédant un système de paquet propre Ebuild.
➢ Yellow Dog : Distribution pour architecture PowerPC (macintosh).
➢ Live-CDs : exemple Knoppix. Ne nécessitent pas une installation sur
le disque dur.

• La flexibilité : choix du Desktop Environnement/Window Manager.


Si Windows offre peu de prise à son utilisateur concernant l'interface, Linux
permet pour bien des distributions de choisir son environnement graphique et de
plus de personnaliser entièrement celui-ci. On peut installer plusieurs
environnements et en changer en cours d'utilisation de la machine.

On distingue les “Desktop Environnements” et “Window Managers”.

➢ Desktop Environnements :
Il s'agit d'environnements graphiques intégrant de nombreuse interfaces de
configuration et des versions de programmes propres à leur environnement.

✗ KDE : interface de type Windows, basée sur la lib QT, gourmande en


ressources mais très conviviale.
✗ Gnome : interface hybride mais proche de Windows, basée sur la lib GTK, un
peu moins gourmande en ressources.
✗ XFCE : Interface basée sur le principe de CDE, très ergonomique.

➢ Window Managers :
Il s'agit d'interfaces graphiques “simples” plus légères.

✗ Blackbox, Fluxbox : Interfaces minimalistes mais hautement configurables.


✗ Enlightenment : Interface esthétique et légère.
✗ Window Maker, IceWM, PekWM : Minimalistes, performants, configurables
voire scriptables.

2. Environnement UNIX et Linux :

• Bootloader : avoir Windows et Linux sur la même machine.


Installer Linux sur sa machine ne signifie pas renoncer pour autant à Windows.
Si certains le font c'est de manière libre et volontaire !
On peut posséder Linux et Windows sur un même disque dur et choisir de
“booter” l'un ou l'autre. Pour cela il faut un gestionnaire de démarrage permettant
la sélection de l'OS désiré : un bootloader. Il est généralement installé au début du
disque dur sur un espace appelé MBR (Master Boot Record) sur lequel boote le
disque dur au démarrage de l'ordinateur.

Deux bootloaders sont répandus sur architecture x86: LILO (LInux LOader) et
GRUB (GRand Unifier Bootloader). Ceux-ci sont installés lors de l'installation de
Linux. Une réinstallation de Windows efface la MBR, une réinstallation du bootloader
est donc nécessaire. Les systèmes pouvant être bootés doivent être indiqués dans
un fichier de configuration.
Exemple pour LILO (lilo.conf) :

boot = /dev/hda
compact
install = /boot/boot.b
map = /boot/map

• Comptes : root et users.

À l'image de Windows, Linux possède plusieurs types d'utilisateurs mais ceux-


ci sont gérés de manière plus rigoureuse. Ainsi si on utilise couramment Windows en
Administrateur, sous Linux cela doit être réservé à des tâches précises
d'administration du système (installation de programmes, configurations).
Le compte administrateur est appelé “root”, les autres sont des “users” à
pouvoir réduit. Les permissions UNIX sont un des éléments fondamentaux qui en fait
un système sécurisé.

• Partitions et Systèmes de fichiers.

L'écriture de données sur le disque dur se fait selon une structure particulière
appelée “système de fichier”.
Ces systèmes de fichiers selon leur conception bénéficient de caractéristiques
particulières (vitesse, défragmentation obligatoire ou non) ainsi que de
fonctionnalités (gestion des permissions). Les systèmes de fichier sont vus sous
UNIX comme des espaces disques formatés de manière spécifique.
Si sous Windows on trouve uniquement du FAT32 et NTFS, Linux peut gérer de
nombreux systèmes de fichiers tels que EXT2, EXT3, ReiserFS, FAT, NTFS en lecture,
mais aussi ceux issus de systèmes plus exotiques UFS en lecture, HFS, HFS+, etc ...
De plus Linux peut gérer un grand nombre de types de volumes i.e. de
manières de partitionner un disque dur: partitions MS-DOS, slices UNIX, SUN
Disklabels, BSD Disklabels, etc ...

• Arborescence fichiers.

L'arborescence d'un système Linux diffèrent de celui d'un système Windows


mais possède une organisation bien plus rigoureuse.
Le / définit la racine du système, on y trouve :

/boot # configuration du bootloader, images des noyaux.


/cdrom # point de montage pour le lecteur CDROM.
/dev # périphériques.
/etc # fichiers de configuration des programmes et du système.
/floppy # point de montage par défaut pour les disquettes.
/home # répertoire des utilisateurs.
/lib # bibliothèques et modules utilisés par le système.
/mnt # répertoire contenant les points de montage supplémentaires.
/opt # applications optionnelles.
/proc, /sys # répertoire virtuel contenant les informations processus.
/root # répertoire de l'administrateur.
/bin # exécutables
/sbin # exécutables en super-utilisateur.
/usr # /bin : éxecutables , /lib : bibliothèques.[~Program Files]
/var # données, logs, répertoires serveur web.

• Monter un volume et point de montage.

Lorque l'on souhaite accéder sous Linux à un périphérique de stockage (disque


dur, CD-ROM, disquette, clé USB, ...), il faut établir un lien entre ce périphérique et
l'arborescence du système. On appelle cela monter un périphérique dans un point
de montage. Par exemple, ont monte un CD-ROM dans /cdrom. Lorsque c'est fait, le
répertoire /cdrom représente le lecteur de cd. Lorsqu'on a fini de l'utiliser, on
démonte le périphérique, et le lien est coupé. Windows, sans le dire, fait la même
chose automatiquement, comme certaines distributions Linux.

• Différence entre exécutables win32 et ELF.


Le format des programmes n'est pas le même sous Windows (win32) et sous
Linux (ELF). Les programmes ne sont pas compilés de la même manière et
n'utilisent pas les mêmes librairies. Vous ne pouvez donc pas éxécuter un
programme Linux sous Windows, et inversement. Ce qui procure un bonheur non
négligeable aux utilisateurs de Linux : les virus s'attaquent en quasi-totalité à des
éxécutables win32, et n'ont donc aucune chance d'inquiéter un utilisateur de Linux.

• Outils intégrés pour programmer.


Toutes les distributions Linux intègrent généralement par défaut des
compilateurs pour de nombreux langages (C, C++, Fortran, Perl, Python, ...) ou
permettent de les installer facilement. Des environnements de développement
intégrés libres sont également faciles à installer pour se faciliter la programmation
et la gestion de projets informatiques.

• Système de paquets et compilation à partir des sources.

L'installation d'un programme ou d'une bibliothèque (une “lib”) peut se faire


de deux manières différentes : l'installation d'un paquet ou la compilation à partir
des sources.

➢ Deux systèmes de paquets existent à l'heure actuelle: RPM (RedHat Package


Manager) et DEB (Debian Packages) via le système APT. Il permettent d'installer
un programme par l'appel d'une commande sur le paquet désiré, à la manière de
l'installation sous Windows par un installateur de type “Wise Installer Wizard”. Un
paquet est en effet une archive possédant une structure particulière et
possèdant des dépendances vis-à-vis d'autres paquets (ex: dépendance d'une
application vis-à-vis d'une bibliothèque de fonctions).
Sous debian: dpkg -i “nom_paquet”.deb en local si le paquet a été téléchargé
ou apt-get install “paquet” pour se le procurer depuis une source et l'installer.

➢ L'installation à partir des sources nécessite le téléchargement d'une archive


contenant les sources (tarball généralement), le désarchivage puis l'appel à des
scripts de configuration et au “Makefile”. Le “Makefile” est un fichier texte où
sont écrites les instructions de compilations et les scripts d'installation.
Exemple, en général on effectue :

$ ./configure
$ make
$ make install
• Noyau et modules.

On a vu dans la présentation de Linux que le noyau est le coeur du système


d'exploitation. Le noyau Linux est un noyau “monolithique” car il comprend les
pilotes des périphériques et services utiles (en opposition aux “microkernels”).
Le noyau Linux est en développement constant : des versions successives sont
disponibles ainsi que des patches pour une même version de noyau. La version
actuelle est 2.6.10 : on évalue à 900 le nombre de bugs présents dans le noyau
Linux. C'est ... faible ! Le noyau d'un UNIX commercial tel que Solaris 9 possède de
4000 à 5000 bugs. Quant au noyau NT 5.1 on estime le nombre de bugs à ... 30000.
Sur une machine personnelle pour bénéficier des corrections de bugs, optimisations,
support de nouveaux périphériques on peut recompiler une nouvelle version de
noyau pour booter dessus ensuite. C'est en quelque sorte comme faire une upgrade
de Windows 95 à 98 mais tous les mois si on veut ...
Un noyau pèse généralement 1,5 Mo environ. Pour éviter de l'allourdir on peut
choisir de compiler certaines options du noyau en module. Ceci permet aussi par
exemple de pouvoir charger ou décharger un périphérique de manière simple.
Contrairement à l'opinion répandue chez les utilisateurs de Windows,
recompiler un noyau ne demande pas de connaissance autre que celle de son
matériel sinon un peu de patience et 20 minutes de compilation.

• Interface graphique et terminaux.

Il existe une multitude d'interfaces graphiques disponibles pour à peu près


toutes les tâches que vous pourrez avoir à accomplir : explorateurs, assistants de
formatage de disquette, d'installation de logiciels, de connexion à Internet, etc. Il
est risqué de ne savoir accomplir une tâche qu'en utilisant une interface graphique
particulière. Il est en effet fort probable qu'en changeant de système (en changeant
d'ordinateur, en étant employé dans une autre société) on ne retrouve plus cette
interface. Pourtant toutes ces interfaces se basent sur une seule et même chose,
qui se trouve être à peu près identique sur tous les systèmes de type Unix ou Linux :
le terminal, couramment appelé par son nom anglais “shell”. Il est très facile pour
quelqu'un qui connaît les commandes shell de s'adapter à n'importe quelle interface
graphique, mais il est difficile pour quelqu'un qui ne connaît qu'une interface
graphique de s'adapter à autre chose. La maîtrise des commandes shell permet à
un utilisateur expérimenté de gagner à la fois en rapidité (les ressources système
utilisées par le shell sont minimes) et en efficacité (en peu de commandes on peut
généralement faire fonctionner le système exactement comme on le souhaite, et
non comme l'a prévu le développeur d'une interface graphique).
C'est pourquoi dans la suite nous détaillerons uniquement l'utilisation des
commandes terminal Unix.

• Qu'est-ce qu'un “shell” ?

Un shell est un interpréteur de commandes. C'est le plus bas niveau


d'interaction entre l'humain et le système, et il est au coeur de tout UNIX. Il est donc
important de s'initier a l'usage d'un shell, car cela permet une portabilité et une
adaptabilité exemplaires sur l'ensemble des systèmes. Il est important de noter que
contrairement aux émulations shell Windows, un shell UNIX est complet (on peut
contrôler totalement le système grâce a lui), intuitif et efficace (souvent plus que
des clics aveugles de souris).

3. Boîte à outils pour le quotidien :

• Manual pages : man.

Dans les systèmes UNIX, les programmes sont la plupart du temps


indissociables de leurs documentations. Ces documentations sont de simples
fichiers texte que la commande man permet d'afficher. Man est concu pour que la
navigation dans ces fichiers soit simple et efficace, avec par exemple des fonctions
de recherche, de déplacement rapide... Tous les programmes possèdent une page
de man très complète permettant de décrire la quasi-totalité de leur
fonctionnement. Par exemple:

man ssh

affiche et commente les arguments que prend le programme SSH et ce qu'il réalise.
Au sein du man, la commande / permet de rechercher une occurrence dans la
documentation.
La commande man est l'une des commandes les plus utilisées sous Linux. Elle
permet de ne jamais être perdu dans l'utilisation du système et il ne faut jamais
oublier qu'elle existe.

• Exploration & Permissions : ls, cd, cp, mv, rm, mkdir, chmod, chown.

On vient d'ouvrir un shell. Comment se déplacer dans l'arborescence ? Et


d'abord où se trouve-t-on ?

pwd

pwd renvoie le chemin du répertoire courant du shell.

cd

cd (change directory) permet de se placer dans le répertoire choisi.

Exemple : cd /home/apacino/donnees/

Par défaut, cd utilisé seul renvoie au répertoire home de l'utilisateur, dans


notre cas /home/apacino. Le système offre d'ailleurs un raccourci pour ce répertoire,
qui est la tilde ~
Ainsi, cd seul est similaire à cd /home/apacino ainsi que cd ~

ls

C'est LA commande la plus utilisée dans un système. Cette commande liste le


contenu du répertoire choisi – le répertoire courant par défaut. En utilisateur et
suivant le shell utilisé, les résultats sont affichés en couleur. Le blanc correspond
aux fichiers texte, le bleu foncé aux dossiers, le vert aux programmes, le rouge aux
archives, etc... C'est une fonction beaucoup plus puissante que l'antique dir de
DOS. Elle prend notamment de nombreux arguments.
La page de man donne par exemple :

-a liste tous les fichiers et dossiers même ceux commencant par un .


-h liste en donnant les tailles des fichiers et dossiers
-l donne plus d'informations.
-t classe les résultats par dernier temps de modification.
-R liste aussi les sous-répertoires
etc...

Ces options sont bien évidemment cumulables. Une commande classique est
ls -al qui affiche toutes les informations possibles sur tous les éléments du
dossier.
ls a* affiche tous les éléments commencant par « a »

Exemple : ls -alh /dev/

On vient de voir l'option -l. Parmi les informations supplémentaires qu'elle


renvoie se trouvent les permissions de chacun des fichiers et répertoires.
Linux est en effet construit dès la base sur un système de permissions qui
fonctionne de la manière suivante :
➢ root est propriétaire et a droit de vie ou de mort sur tout fichier.
➢ Un fichier ou dossier peut avoir un autre propriétaire que root. Ce propriétaire
peut avoir des droits en lecture / en écriture / en modification. Par défaut, le
propriétaire a tous les droits sur ses fichiers.
➢ Un fichier ou dossier peut appartenir a un groupe. Les groupes sont des
ensembles d'utilisateurs définis dans le fichier texte /etc/group qui eux aussi
peuvent avoir des droits en lecture / écriture / modification.
➢ Un fichier ou dossier peut avoir des permissions de lecture / écriture /
modification par tous les utilisateurs de l'ordinateur.

Exemple de résultat de ls -al :

lrwxr-xr-- 11 apacino apacino 81156 2005-02-09 00:01 frank_the_rabbit.avi

rwxr-xr-- signifie : Lecture / Ecriture / Modification par le propriétaire,


Lecture / Modification par les membres du groupe auxquels appartient le fichier,
Lecture par tous les utilisateurs.

Le propriétaire, le groupe se changent par la commande chown :

chown donald:darko frank_the_rabbit.avi

Le nouveau propriétaire sera donald, le nouveau groupe sera darko.

Les permissions se changent par la commande chmod :

chmod rwxrwxrwx frank_the_rabbit.avi ou chmod 777 frank_the_rabbit.avi

donne tous les droits du fichier à tout le monde.


Voyons maintenant les opérations de base sur les fichiers et dossiers.

mkdir

mkdir crée un répertoire à l'emplacement spécifié.

cp

cp copie un ou plusieurs fichiers. L'option -r (récursif) permet la copie de


dossiers.
Exemples :

cp frankie.txt /home/apacino/
cp *.txt /home/apacino
cp frankie.txt /home/apacino/tmmdi.txt
cp -r /mnt/usb rm/home/apacino

mv

mv marche exactement comme cp, mais le fichier initial est supprimé. Cette
commande permet donc de déplacer des fichiers ou dossiers ainsi que de le
renommer.

rm

rm supprime des fichiers. Avec l'option -r, il peut supprimer récursivement des
dossiers. Avec l'option -i il demande confirmation avant l'effacement de chaque
fichier.

rm /etc/X11/XF86Config-4

(ne PAS le faire ;) )


• Processus : ps, kill, fuser, top.

• Montage : mount, umount (fstab + autofs).


Supposons que l'on veuille monter un CD placé en /dev/hdc dans le
répertoire /cdrom. La syntaxe de la commande mount est :

mount -t [type de média] [périphérique] [point de montage]


mount -t iso9660 /dev/hdc /cdrom

De même, pour une clé usb en /dev/sda :

mount -t vfat /dev/sda /mnt/usb

La syntaxe de de la commande umount est évidente :

umount [point de montage]

Attention, la commande umount ne marchera que si aucun processus n'utilise


le périphérique. Il faut donc sortir du point de montage si l'on s'y trouve. La
commande fuser -k est très pratique quand on ne sait pas quel processus
empêche le démontage. Elle tue tous les processus impliquant le périphérique.
Syntaxe : fuser -k [point de montage]
On voit que la syntaxe de la commande mount peut rapidement devenir
lourde. C'est pourquoi il existe un fichier texte /etc/fstab qui contient toutes les
données essentielles pour le montage. Si un périphérique est présent dans /
etc/fstab, par exemple un CD-ROM à monter sur /cdrom, il suffira de taper :

mount /cdrom

Bien évidemment, tout cela constitue la base. Il existe en plus des


programmes lancés directement au démarrage comme « autofs » qui montent et
démontent automatiquement les volumes, à la manière de Windows ou MacOS.

• Impression : lp, lpstat.

• Flux de fichiers : cat, grep, cut, tail.

• Accès à distance : ssh, scp, dhclient.

• Opérations sur les fichiers : find, du, tar.

4. Exploiter les possibilités de son compte EGIM :

En pratique à l'EGIM : les comptes perso

Chaque étudiant de l'EGIM possède un compte, à savoir un identifiant et un


mot de passe qui lui donnent accès à un espace de stockage et espace web de 1 Go
ainsi qu'à une adresse mail.
L'accès aux comptes se fait par les machines « sas » du service informatique.
Dans le cas des élèves, le serveur est la machine « sas1 » sur le réseau global de
l'EGIM. Son adresse est donc pour tout personne sas1.egim-mrs.fr
Comme pour toutes les machines réseau, cette machine est accessible de
l'intérieur ou de l'extérieur par l'intermédiaire de ports qu'elle ouvre. Ces ports
correspondent pour la plupart à un protocole de communication particulier et dans
notre cas, le protocole essentiel de communication est le SSH dont il était question
précédemment. Pour dialoguer avec sas1, il faut donc un logiciel sachant dialoguer
SSH.
1. Sous UNIX

Sous UNIX pas de problème étant donné que le protocole SSH a bien
évidemment été développé conjointement au programme SSH :

ssh apacino@sas1.egim-mrs.fr

Le système va tenter d'ouvrir une session distante sur sas1, il lui faut donc
ensuite le mot de passe. Une fois la session ouverte, un shell est disponible avec les
droits pour la plupart des commandes de base. Un ls -al (liste des fichiers et
dossiers ainsi que leurs permissions) montre la structure suivante :

drwxr-xr-x 5 apacino promo2029 512 Jan 29 22:27 .


drwxr-xr-x 116 root wheel 2560 Dec 14 10:25 ..
-rw------- 1 apacino promo2019 2346 Feb 9 09:20 .bash_history
drwx------ 11 apacino promo2029 512 Feb 9 12:03 Maildir
drwxr-xr-x 10 apacino promo2029 1024 Oct 8 09:27 html
drwx------ 2 apacino promo2029 512 Jun 28 2004 private

Le dossier maildir

Comme le laisse présager le nom, ce répertoire privé contient toutes les


données nécessaires au bon fonctionnement au webmail, de meme que tous les
messages.

Le dossier html

Le dossier html est public. Le serveur est configuré pour faire de ce répertoire
la racine de l'adresse internet :

http://apacino.perso.egim-mrs.fr
ou http://perso.egim-mrs.fr/~apacino

Comme pour la plupart des sites internet, en entrant cette adresse, un


navigateur web affichera par défaut toute page appelée index.htm ou index.html
contenue dans le répertoire. Cela permet donc de créer son propre site web. Il y a
également possibilité d'installer applications coté serveur telles que PHP, ou MySQL
sur demande au centre de ressources informatiques.

Le dossier private

Comme son nom l'indique et comme le montrent les permissions, c'est un


dossier privé dans lequel les élèves peuvent entreposer en sécurité leurs données
personnelles.
Les 1Go sont bien évidemment totalement disponibles pour ces répertoires.
De plus, les élèves peuvent créer des répertoires supplémentaires ainsi que modifier
les permissions.
Comme elles utilisent directement le SSH, les fonctions de commande à
distance telles que la copie par SCP marchent très bien. Par exemple :

scp ~/donnees/frank_the_rabbit.avi apacino@sas1.egim-mrs.fr:~/private/

copie dans le répertoire distant private le fichier frank_the_rabbit.avi qui se


trouve lui meme dans le sous-répertoire donnees du dossier personnel d'Al Pacino.

Le SSH est un très bon exemple des avantages inhérents aux systèmes UNIX.
C'est un protocole de conception très sécurisée et pourtant très simple à utiliser, à
tel point que pour se connecter aux serveurs EGIM depuis un poste Windows, les
programmes tels que WinSCP adaptent et émulent le programme SSH sous
Windows.
2. Sous Windows

Le programme qui implémente le mieux SSH sous Windows est puTTY. De


manière très simple, en définissant le serveur où se connecter, on obtient le meme
shell que si le SSH avait été effectué depuis n'importe quel poste Linux.

Le programme WinSCP est en réalité une interface graphique pour puTTY très
simple à utiliser. Il présente sous la forme de deux colonnes d'explorateur le
répertoire local et le répertoire distant, et permet un transfert direct de l'un à
l'autre. Cependant il ne faut pas oublier que derrière, ce n'est rien d'autre que SSH
et SCP.