920 likes | 1.41k Views
Linux - but de ce cours. Fastidieux, mais indispensable Organisation interne de Linux Connaître les commandes utiles et constituer un mini formulaire basique Comprendre les différences entre Windows et Linux. Présentation Un linux, plusieurs distributions Gérer son espace de stockage
E N D
Linux - but de ce cours • Fastidieux, mais indispensable • Organisation interne de Linux • Connaître les commandes utiles et constituer un mini formulaire basique • Comprendre les différences entre Windows et Linux
Présentation Un linux, plusieurs distributions Gérer son espace de stockage Les utilisateurs du système Les commandes fondamentales TP... ! Environnement : Introduction à Linux
Linux - Présentation • Linux est un système d'exploitation • Autres systèmes connus : Windows, MacOS, BeOS, FreeBSD, OpenBSD, ... • Son ancêtre date des années 70 : Unix • Philosophie : logiciels libres • Tout le monde peut participer au développement de ces logiciels • License GNU : Gnu is not Unix, Unix est un système propriétaire • Gratuit, mais ce n'est pas son unique attrait • Grande communauté de développeurs • Peu vulnérable aux virus actuels
Linux - Présentation • Linux est né au début des années 90 • Initiateur du projet : Linus Torvalds • Système basé sur Unix • Multi-tâches et multi-plateformes : Sparc, Alpha, ... • Linux n'est que le noyau du système • Linux est basé sur la license GPL (GNU Public License): • On peut utiliser du code sous licence GPL mais le programme devra également être sous cette licence • Clônes d'Unix basés sur des licences autres que GPL : • License BSD : OpenBSD, FreeBSD ... • Particularité : On peut réutiliser librement du code BSD dans des programmes non-libres (ex : Windows)
Environnement : Introduction à Linux • Un linux, plusieurs distributions
Linux – Les distributions • Qu'est ce qu'une distribution ? • Support : CD/DVD, disquette, installation réseau, clés USB, ... • Contenu : • Système de base • Noyau (gestion du matériel et du système en général) • Gestionnaire de démarrage (“Boot manager”) : lilo, grub, ... • Interface utilisateur • Shell (bash, ksh ...) en mode texte • “Explorateurs” graphiques à la Windows • Services • Serveur d'impression, serveur Web, ftp, dns, ssh, annuaires ...
Linux – Les distributions • Qu'est ce qu'une distribution ? • Contenu (suite) : • Serveur d'applications graphiques (appelé “serveur X”) • Xfree et Xorg • Environnements • KDE, Gnome, ... • Applications • Bureautique : openoffice, organiseurs, ... • Graphisme : Gimp, Blender (3D), ... • ... • On trouve des applications gratuites dans à peu près tous les domaines
Linux – Les distributions • Une distribution, une philosophie • Utilisation de packages binaires • RedHat/Fedora • Mandriva (ex ”Mandrake”) • Debian • ... • Utilisations de sources • Gentoo : système “Live” / tous les programmes sont recompilés • Quelle distribution choisir ? • En fonction de ses besoins • Serveur (web, ftp, firewall, ...) • Machine de bureau (“workstation”) • Machine de développement • En fonction de son niveau
Environnement : Introduction à Linux • Gérer son espace de stockage
Linux – Gérer l'espace de stockage • Disque dur et partitions • Pour fonctionner Linux s'installe sur le disque dur de la machine • L'espace du disque est découpé sous forme de partitions • Ex : faire cohabiter plusieurs systèmes sur le même disque • Linux nécessite au moins deux partitions • Une partition racine, comportant les fichiers du système • Une partition d'échange (“swap”) invisible pour l'utilisateur : espace disque utilisé comme mémoire supplémentaire (beaucoup plus lent !) • On peut utiliser des disques/partitions supplémentaires • Exemple : /var, /boot ... swap Partition Racine Linux / /home Windows Disque dur
Linux – Gérer l'espace de stockage • Disque dur et partitions • Le bootloader • Exemple : Lilo , grub etc. • Premier programme exécuté au démarrage de la machine • Si l'on dispose de plusieurs systèmes d'exploitation, ce programme permet de démarrer (“booter”) sur l'un d'entre eux • Permet également de choisir parmi plusieurs noyaux • Bootloader • Linux • Windows swap Partition Racine Linux / /home Windows Disque dur
Linux – Gérer l'espace de stockage • Partitions : “points de montage” • Monter une partition = relier la partition à un répertoire • Exemple : • Sys. de fich. Taille Occ. Disp. %Occ. Monté sur • /dev/hda7 8,8G 6,5G 2,3G 75% / • /dev/hda6 14G 9,5G 4,5G 66% /home • /dev/hda1 9,9G 7,1G 2,8G 78% /mnt/windows/systeme • /dev/hda5 9G 6,8G 2,2G 85% /mnt/windows/donnees • Partitions et systèmes de fichiers • Plusieurs types de partitions : • Partitions non-journalisées : FAT, Ext2 ... • Partitions journalisées : NTFS, Ext3, ReiserFS ... • Choix important • Performances • Fiabilité
Linux – Gérer l'espace de stockage • Arborescence du système / : Racine du système etc/ : fichiers de configuration bin/ : programmes et commandes de base boot/ : noyau du système tmp/ : fichiers temporaires créés et utilisés par le système var/ : divers fichiers relatifs au système d'exploitation (logs, files, cache, ...) usr/ : programmes utilisateurs, librairies, fichiers partagés, ... home/ : répertoires personnels des utilisateurs toto/ jean/ mnt/ : communément utilisé pour les divers “montages” de disques ou partitions cdrom/ windows/
Linux – Gérer l'espace de stockage • Arborescence du système • / • C'est la racine du système de fichiers. Tous les répertoires suivants sont des sous répertoires de cette racine. • /bin • Contient les commandes de base du système comme cat, cp, mv, ls, ln, tar ... • /boot • Contient divers fichiers qui concernent le démarrage de l'ordinateur, notamment le chargeur de démarrage Lilo (ou Grub), le noyau ...
Linux – Gérer l'espace de stockage • Arborescence du système • /dev • Contient tous les “descripteurs” de périphériques : sous Linux, chaque périphérique est représenté par un fichier particulier. • Tous les périphériques y figurent : clavier, souris, ports de communication... • Nomenclature des périphériques sous Linux : • hdx : disques durs (ou CD-Roms) IDE. On remplace x par a, b, c ou d. • hda : périph. maître sur la première nappe IDE • hdb : périph. esclave sur la première nappe IDE, • hdc : périph. maître sur la seconde nappe IDE • hdd : périph. esclave sur la seconde nappe IDE • sdx : disques SCSI • fdx : lecteurs de disquettes, où x est à remplacer par 0 (1er lecteur) ou 1 (le 2nd) • ttySx : ports série (x va de 0 à 1 généralement) • lpx : ports parallèles (x va de 0 à 1) • ...
Linux – Gérer l'espace de stockage • Arborescence du système • /etc • Contient les fichiers de configuration des logiciels GNU/Linux. • /home • - Par convention, contient les répertoires personnels des utilisateurs. • - Par exemple, si mon login (identifiant de connexion) est “toto”, alors mon répertoire personnel sera “/home/toto”. • - Il est préférable de placer le répertoire “/home” dans une partition différente de la racine, afin de faciliter la mise à jour du système : on peut formater la partition “/” (racine du système) ou “/usr” sans toucher aux données personnelles ni aux réglages personnels des logiciels. • /lib • Contient les bibliothèques (“librairies”) des programmes
Linux – Gérer l'espace de stockage • Arborescence du système • /mnt • - Par convention, contient les répertoires qui permettent d'accéder aux lecteurs. • - Par exemple, après montage, “/mnt/cdrom” contient les informations stockées sur le CD présent dans le lecteur • /opt • Contient les programmes ajoutés en dehors de la distribution. En général, ce répertoire est situé sur une autre partition que celle qui contient la racine, toujours afin de faciliter les mises à jour du système. De plus, chaque programme de “/opt” est dans son propre sous-répertoire, ce qui conduit à une structure propre (alors que tout est en vrac dans /usr/bin !). • /proc • Contient divers fichiers virtuels : c'est la représentation sous forme de fichiers des informations du système. Il ne s'agit pas de vrais fichiers stockés sur le disque dur.
Linux – Gérer l'espace de stockage • Arborescence du système • /root • Répertoire personnel du super utilisateur “root”. • /sbin • Contient les commandes utilisables seulement par “root” (l'administrateur), comme “halt” qui arrête l'ordinateur, “fdisk” qui partitionne le disque, etc... Tout le monde ne peut pas faire ces opérations (heureusement !) • /tmp • Répertoire temporaire. En théorie, ce sont les programmes qui l'utilisent pour stocker des fichiers de sauvegarde ou pour faire diverses opérations. En général, les utilisateurs doivent éviter de stocker des fichiers dans ce répertoire. • /usr • Répertoire très important ! Il contient tous les programmes utilisateur (/usr/bin), les données partagées entre tous les programmes (/usr/share : icônes, fonds d'écran, sons, etc...), les documentations (/usr/share/doc)...
Linux – Gérer l'espace de stockage • Arborescence du système • /var • Contient les fichiers de journalisation (logs : /var/log), les mails (/var/spool/mail), les files d'impression, des archives utilisées par le système ...
Environnement : Introduction à Linux • Les utilisateurs du système
Linux – Les utilisateurs • L'administrateur • Aussi appelé “root” ou “super utilisateur” • Est responsable du fonctionnement du système • A tous les “droits” (lecture, écriture ...) • Les utilisateurs • Chacun possède son propre espace : /home/toto • Obéissent aux règles définies par l'administrateur • Peuvent être répartis dans différents groupes • Même si vous êtes seul sur le système, il vaut mieux créer un utilisateur en plus de l'administrateur • Réduire le nombre d'erreurs “critiques”
Environnement : Introduction à Linux • Les commandes fondamentales
Linux – Les commandes fondamentales • Fichiers et répertoires • Listage, taille et arborescence • “ls” : cette commande liste les fichiers du répertoire passé en paramètre ou du répertoire courant
Linux – Les commandes fondamentales • Fichiers et répertoires • Listage, taille et arborescence • “ls” : cette commande liste les fichiers du répertoire passé en paramètre ou du répertoire courant • Exemple : • turing:~/progs# ls -alh • total 13M • drwxr-xr-x 9 root root 4.0k Sep 22 16:16 . • drwxr-xr-x 29 root root 4.0k Sep 22 14:28 .. • drwxr-xr-x 2 root root 4.0k Jun 24 09:15 java • drwxr-xr-x 6 root users 4.0k Sep 27 15:33 k3b-0.11.17 • -rw-r--r-- 1 root root 11M Sep 23 10:29 k3b-0.11.17.tar • drwxr-xr-x 3 stef users 4.0k Jun 22 08:21 pciutils-2.1.11 • drwxrwxr-x 10 stef bio 4.0k Jul 7 14:35 rsync-2.6.2 • -rw-r--r-- 1 stef bio 503k Jul 7 14:34 rsync-2.6.2.tar.gz
Linux – Les commandes fondamentales • Fichiers et répertoires • Listage, taille et arborescence • cd (“Change Directory”) : changer de répertoire. L'argument de cette commande est donc le répertoire à attendre • Exemple : • - cd /etc • - cd .. (remonte d'un cran dans l'arborescence) • pwd (“Print Working Directory”) : affiche le chemin complet du répertoire courant (idéal quand on est perdu)
Linux – Les commandes fondamentales • Fichiers et répertoires • Listage, taille et arborescence • du (“Disk Usage”) : affiche des informations sur l'occupation du disque : • Exemple : turing:~/progs/rsync-2.6.2# du -h 24k ./doc 432k ./lib 236k ./patches 8.0k ./packaging/lsb 8.0k ./packaging/solaris 20k ./packaging 92k ./testsuite 6.2M . • df (“Disk Free”) : affiche l'espace libre et l'espace utilisé d'un disque : • Exemple : • turing:~# df -h • Filesystem Size Used Avail Use% Mounted on • /dev/hda1 109G 14G 89G 14% /
Linux – Les commandes fondamentales • Fichiers et répertoires • Copie, déplacement, suppression • cp (“Copy”) : copier un fichier/répertoire • - Syntaxe : cp <fichier source> <fichier destination> • mv (“Move”) : déplacer (ou renommer) un fichier/répertoire • - Syntaxe similaire à cp : mv <source> <destination> • - La différence est que le fichier source est supprimé (il est déplacé à l'emplacement spécifié en destination) • rm (“Remove”) : supprimer un fichier/répertoire • - Syntaxe : “rm <fichier>” ou “rm -r <répertoire>” • - L'option -f permet de forcer la suppression sans confirmation préalable
Linux – Les commandes fondamentales • Fichiers et répertoires • Archivage et compression • tar : permet de créer et de récupérer une archive • Syntaxe : • - tar cvf archive.tar fichier1 fichier2 fichier3 ... • pour créer une archive contenant les fichiers 1 à 3 • - tar xvf archive.tar • pour récupèrer les fichiers contenus dans l'archive • gzip et bzip2 • - permettent de compresser/décompresser des fichiers • Association de tar et de gzip/bzip2 : meilleure compression • Exemple : tar xfz archive.tar.gz / tar xfj archive.tar.bz2
Linux – Les commandes fondamentales • Fichiers et répertoires • Opérations sur les fichiers textes • cat : • cat <fichier> : affiche le contenu du fichier • more : • Similaire à cat mais l'affichage s'arrête en fonction de la taille du terminal, il suffit de taper espace pour faire défiler le texte • less : • Similaire à more mais en mieux • touch : • touch <toto> : crée un fichier “toto” vide • grep : • grep <motif> <fichier> : affiche les lignes du fichier contenant le “motif” • - l'option -i permet d'ignorer la casse • - l'option -v permet d'inverser la recherche (“tout sauf ...”)
Linux – Les commandes fondamentales • Gestion des processus et des connexions • ps (processus) : liste les processus en cours d'éxecution. • - On utilisera cette commande avec les options “a”, “u” et “x” • - Chaque processus est identifié par un “pid” (Processus ID) • kill : kill <pid> tue le processus identifié par le pid en paramètre • killall : killall <nom du programme> • - Tue tous les processus dont le nom exact est passé en paramètre • netstat : affiche les connexions au réseau • - option “-a”: affiche toutes les connexions • - option “-l” : affiche les ports en attente de connexion (“Listen”) • - option “-p” : affiche le nom du programme propriétaire de la connexion • - option “-n” : affiche les adresses IP à la place des noms DNS
Linux – Les commandes fondamentales • Administration système : les permissions • On peut définir des permissions sur les fichiers : lecture, écriture et exécution (read : r, write : w, execute : x) • On positionne les permissions pour 3 catégories de personnes : • - Soi même (user : u) • - Les utilisateurs appartenant au même groupe (group : g) • - Les autres (others : o) • - Tout le monde (all : a) • “chmod” (change access mode) : Deux méthodes : lettres ou chiffres • Lettres : chmod a+r+x,u-w <fichier(s)> • Chiffres : - la permission d'exécution correspond à la valeur “1” • - la permission d'écriture correspond à la valeur “2” • - la permission de lecture correspond à la valeur “4” • - on additionne les droits que l'on veut accorder • Exemple : chmod 644 <fichier(s)> (6=4+2 : lecture+écriture)
Linux – Les commandes fondamentales • Administration système : les permissions • chown (change owner) • - changer le propriétaire d'un fichier • Exemple : • - chown <nouveau_prop.>:<nouveau_groupe> <fichier(s)> • chgrp : (change group) • - changer uniquement le groupe • Exemple : • - chgrp <nouveau_groupe> <fichier(s)>
Linux – Les commandes fondamentales • Les commandes “shell” • Les redirections • - commande > fichier : redirige le résultat d'une commande dans un fichier • Exemple : “ls > resultat.txt” • - commande >> fichier : idem avec concaténation • Les “tubes” (ou “pipes”) • - commande1 | commande 2 ... • Applique la commande 2 sur le résultat de la commande 1 • Exemple : ls | grep toto
Linux • Des questions ? • TP ! • - Installation d'une distribution • - Prise en main • - Familiarisation avec les commandes de base