linux - but de ce cours fastidieux, mais indispensable organisation interne de linux connaître les...
TRANSCRIPT
Linux - but de ce coursLinux - but de ce cours
Fastidieux, mais indispensableOrganisation interne de LinuxConnaître les commandes utiles et constituer un mini formulaire basiqueComprendre les différences entre Windows et Linux
PrésentationUn linux, plusieurs distributionsGérer son espace de stockageLes utilisateurs du systèmeLes commandes fondamentalesTP... !
Environnement : Introduction à LinuxEnvironnement : Introduction à Linux
Linux - PrésentationLinux - Présentation
Linux est un système d'exploitationAutres systèmes connus : Windows, MacOS, BeOS, FreeBSD, OpenBSD, ...
Son ancêtre date des années 70 : Unix
Philosophie : logiciels libresTout le monde peut participer au développement de ces logicielsLicense GNU : Gnu is not Unix, Unix est un système propriétaire
Gratuit, mais ce n'est pas son unique attraitGrande communauté de développeursPeu vulnérable aux virus actuels
Linux - PrésentationLinux - Présentation
Linux est né au début des années 90Initiateur du projet : Linus TorvaldsSystème basé sur UnixMulti-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 licenceClô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)
Un linux, plusieurs distributions
Environnement : Introduction à LinuxEnvironnement : Introduction à Linux
Linux – Les distributionsLinux – Les distributions
Qu'est ce qu'une distribution ?Support : CD/DVD, disquette, installation réseau, clés USB, ...Contenu :
Système de baseNoyau (gestion du matériel et du système en général)Gestionnaire de démarrage (“Boot manager”) : lilo, grub, ...
Interface utilisateurShell (bash, ksh ...) en mode texte“Explorateurs” graphiques à la Windows
ServicesServeur d'impression, serveur Web, ftp, dns, ssh, annuaires ...
Linux – Les distributionsLinux – Les distributions
Qu'est ce qu'une distribution ?Contenu (suite) :
Serveur d'applications graphiques (appelé “serveur X”)Xfree et Xorg
EnvironnementsKDE, Gnome, ...
ApplicationsBureautique : openoffice, organiseurs, ...Graphisme : Gimp, Blender (3D), ......On trouve des applications gratuites dans à peu près tous les domaines
Linux – Les distributionsLinux – Les distributions
Une distribution, une philosophieUtilisation de packages binaires
RedHat/FedoraMandriva (ex ”Mandrake”)Debian...
Utilisations de sourcesGentoo : 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
Gérer son espace de stockage
Environnement : Introduction à LinuxEnvironnement : Introduction à Linux
Linux – Gérer l'espace de stockageLinux – Gérer l'espace de stockage
Disque dur et partitionsPour fonctionner Linux s'installe sur le disque dur de la machine
L'espace du disque est découpé sous forme de partitionsEx : faire cohabiter plusieurs systèmes sur le même disque
Linux nécessite au moins deux partitionsUne partition racine, comportant les fichiers du systèmeUne 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émentairesExemple : /var, /boot ...
Disque dur
swap Partition Racine Linux / /home Windows
Linux – Gérer l'espace de stockageLinux – Gérer l'espace de stockage
Disque dur et partitionsLe 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 euxPermet également de choisir parmi plusieurs noyaux
Disque dur
swap Partition Racine Linux / /home Windows
Bootloader● Linux
● Windows
Linux – Gérer l'espace de stockageLinux – Gérer l'espace de stockage
Partitions : “points de montage”Monter une partition = relier la partition à un répertoireExemple :
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 fichiersPlusieurs types de partitions :Partitions non-journalisées : FAT, Ext2 ...Partitions journalisées : NTFS, Ext3, ReiserFS ...
Choix importantPerformancesFiabilité
Linux – Gérer l'espace de stockageLinux – 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
mnt/ : communément utilisé pour les divers “montages” de disques ou partitions
cdrom/windows/
toto/jean/
Linux – Gérer l'espace de stockageLinux – 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.
/binContient les commandes de base du système comme cat, cp, mv, ls, ln, tar ...
/bootContient 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 stockageLinux – 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 stockageLinux – Gérer l'espace de stockage
Arborescence du système
/etcContient 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.
/libContient les bibliothèques (“librairies”) des programmes
Linux – Gérer l'espace de stockageLinux – 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
/optContient 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 !).
/procContient 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 stockageLinux – Gérer l'espace de stockage
Arborescence du système/rootRépertoire personnel du super utilisateur “root”.
/sbinContient 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 !)
/tmpRé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.
/usrRé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 stockageLinux – 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 ...
Les utilisateurs du système
Environnement : Introduction à LinuxEnvironnement : Introduction à Linux
Linux – Les utilisateursLinux – Les utilisateurs
L'administrateur
Aussi appelé “root” ou “super utilisateur”Est responsable du fonctionnement du systèmeA tous les “droits” (lecture, écriture ...)
Les utilisateurs
Chacun possède son propre espace : /home/totoObéissent aux règles définies par l'administrateurPeuvent ê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'administrateurRéduire le nombre d'erreurs “critiques”
Les commandes fondamentales
Environnement : Introduction à LinuxEnvironnement : Introduction à Linux
Linux – Les commandes fondamentalesLinux – 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 fondamentalesLinux – 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 -alhtotal 13Mdrwxr-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 javadrwxr-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.tardrwxr-xr-x 3 stef users 4.0k Jun 22 08:21 pciutils-2.1.11drwxrwxr-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 fondamentalesLinux – Les commandes fondamentales
Fichiers et répertoires
Listage, taille et arborescencecd (“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 fondamentalesLinux – Les commandes fondamentales
Fichiers et répertoires
Listage, taille et arborescencedu (“Disk Usage”) : affiche des informations sur l'occupation du disque :
Exemple :turing:~/progs/rsync-2.6.2# du -h24k ./doc432k ./lib236k ./patches8.0k ./packaging/lsb8.0k ./packaging/solaris20k ./packaging92k ./testsuite6.2M .
df (“Disk Free”) : affiche l'espace libre et l'espace utilisé d'un disque :
Exemple : turing:~# df -hFilesystem Size Used Avail Use% Mounted on/dev/hda1 109G 14G 89G 14% /
Linux – Les commandes fondamentalesLinux – Les commandes fondamentales
Fichiers et répertoiresCopie, déplacement, suppressioncp (“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 fondamentalesLinux – Les commandes fondamentales
Fichiers et répertoires
Archivage et compressiontar : 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 compressionExemple : tar xfz archive.tar.gz / tar xfj archive.tar.bz2
Linux – Les commandes fondamentalesLinux – Les commandes fondamentales
Fichiers et répertoiresOpé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 texteless :
Similaire à more mais en mieuxtouch :
touch <toto> : crée un fichier “toto” videgrep :
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 fondamentalesLinux – Les commandes fondamentales
Gestion des processus et des connexionsps (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 fondamentalesLinux – Les commandes fondamentales
Administration système : les permissionsOn 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 chiffresLettres : 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 fondamentalesLinux – 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 fondamentalesLinux – Les commandes fondamentales
Les commandes “shell”
Les redirections- commande > fichier : redirige le résultat d'une commande
dans un fichierExemple : “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
LinuxLinux
Des questions ?
TP !- Installation d'une distribution- Prise en main- Familiarisation avec les commandes de base