Pièce jointe « Introduction.tex »

Téléchargement

   1 %% licence RAFRAB(*)
   2 %%
   3 %% RAFRAB : rien à f**tre, rien à battre, fais ce qu'il te plait dans la vie
   4 %%
   5 
   6 
   7 \documentclass[french]{beamer}
   8 \usepackage{babel}
   9 \usepackage[utf8]{inputenc}
  10 \usetheme{Warsaw}
  11 
  12 \title{Introduction à l'administration \\ \textit{d'un système GNU/Linux}}
  13 \author{}
  14 \institute{Agence universitaire de la Francophonie}
  15 
  16 \begin{document}
  17 
  18 \begin{frame}
  19 \titlepage
  20 \end{frame}
  21 
  22 \section{Généralités}
  23 \frame{\tableofcontents[current]}
  24 
  25 \begin{frame}
  26 \textbf{Linux est basé sur UNIX}
  27     \begin{itemize}
  28     \item philosophie
  29     \item commandes
  30     \item standard et conventions UNIX
  31     \end{itemize}
  32 \end{frame}
  33 
  34 \begin{frame}
  35 \textbf{Philosophie UNIX}
  36     \begin{itemize}
  37     \item Tout est fichier
  38     \item Les données sont du texte
  39     \item Plus c'est simple, mieux c'est
  40     \item Faire une seule chose et bien le faire
  41     \item Ecrit en langage C
  42     \end{itemize}
  43 \end{frame}
  44 
  45 \begin{frame}
  46 \textbf{Qu'est ce que LINUX?} :
  47     \begin{itemize}
  48     \item développé par Linus Torvalds en 1991
  49     \item de manière stricte, \textbf{Linux} est juste le noyau
  50     \item développé par plusieurs personnes gràce à Internet
  51     \end{itemize}
  52 \end{frame}
  53 
  54 \begin{frame}
  55 Le système d'exploitation \textbf{GNU/Linux}
  56     \begin{itemize}
  57     \item \textbf{Multi-tâches}: execution 'simultanée' de plusieurs programme
  58     \item \textbf{Multi-utilisateurs}: chaque utilisateur à un login/mdp
  59     \item \textbf{libre} : liberté d'éxecuter, de copier, de distribuer, d'étudier, de
  60     modifier et d'améliorer
  61     \item \textbf{multi-processeurs}: plusieurs processeurs
  62     \item \textbf{multi-plateformes}: PC, SPARC, système embarqué, téléphones
  63     mobiles
  64     \end{itemize}
  65 \end{frame}
  66 
  67 \begin{frame}
  68 \textbf{Distributions Linux} \\
  69 ensemble cohérent de logiciels assemblé autour du système d'exploitation
  70 \texttt{GNU} et du noyau \texttt{Linux}
  71     \begin{itemize}
  72     \item Mandriva 
  73     \item RedHat
  74     \item Debian
  75     \item Ubuntu
  76     \item Fedora
  77     \end{itemize}
  78 \end{frame}
  79 
  80 \begin{frame}
  81 Pourquoi \texttt{"on"} utilise \textbf{Debian}?
  82 
  83 \begin{itemize}
  84 \item noyau Linux et outils GNU : Debian GNU/Linux
  85 \item disponible pour 11 architectures
  86 \item plus de 20000 paquets... avec suivi de sécurité
  87 \item \url{http://www.debian.org/}
  88 \item plus de 1000 développeurs officiels (et 2000 contributeurs)
  89 \end{itemize}
  90 \end{frame}
  91 
  92 \begin{frame}
  93 Les versions de Debian GNU/Linux
  94 \begin{itemize}
  95 \item \textit{stable}, \textit{testing} et \textit{unstable} (Sid)
  96 \item Actuellement : \textit{stable} = Lenny, \textit{testing} = Squeeze
  97 \item Pour info : \textit{oldstable} = Etch
  98 \end{itemize}
  99 \end{frame}
 100 
 101 
 102 \begin{frame}
 103 \begin{center}
 104 Installation d'une distribution Linux
 105 \end{center}
 106 \end{frame}
 107 
 108 \begin{frame}
 109 Rôles de l'administrateur
 110 \begin{itemize}
 111 \item Créer, modifier, supprimer un utilisateur
 112 \item Gérer les fichiers et les disques
 113 \item Surveiller l'espace disque
 114 \item Organiser les sauvegardes
 115 \item Ajout de périphériques
 116 \item Améliorer les performances du systèmes
 117 \item Installer de nouveau produits
 118 \item Veiller à la sécurité du système
 119 \item Paramétrer le démarrage et l'arrêt du système
 120 \item Suivre les logs du système
 121 \end{itemize}
 122 \end{frame}
 123 
 124 \begin{frame}
 125 Les bonnes pratiques
 126 \begin{itemize}
 127 \item Sauvegarder son système
 128 \item Tenir un journal de bord (opérations d'exploitation)
 129 \item Agir de manière réversible
 130 \item Automatiser les procédures
 131 \item Anticiper les problèmes
 132 \end{itemize}
 133 \end{frame}
 134 
 135 \section{Les commandes de bases} 
 136 \frame{\tableofcontents[current]}
 137 
 138 \begin{frame}
 139 \textbf{Shell}: interpréteur de commandes, interface utilisateur et système
 140 d'exploitation
 141     \begin{itemize}
 142     \item accès à la machine: login/motdepasse 
 143     \item lancement de commandes à partir d'un interpréteur \textit{Shell}
 144     \item syntaxe: \textit{prompt\# [commande] [option(s)] [arguments]}
 145     \item exemple: \textit{ls -l /home}
 146     \end{itemize}
 147 \end{frame}
 148 
 149 \begin{frame}
 150 \textbf{Opération sur les répertoires}
 151     \begin{itemize}
 152     \item \textbf{ls} : lister les répertoires (syntax: \texttt{ls [-options][repertoires]})
 153     \item \textbf{mkdir} : création de répertoire (syntax:\texttt{mkdir [-options][nom du répertoire]})
 154     \item \textbf{rmdir} : suppression de répertoire (syntax:\texttt{rmdir [-options][nom du répertoire]})
 155     \item \textbf{pwd} : afficher le répertoire courant
 156     \item \textbf{cd} : changer de répertoire (syntax:\texttt{cd [nom du répertoire]})
 157     \item \textbf{du} : espace disque utilisé par le répertoire (syntax:\texttt{du [option][nom du répertoire]})
 158     \item \textbf{df} : espace disque occupé (ou libre) sur chaque partition (syntax: \texttt{df [-options][fichier]})
 159     \end{itemize}
 160 \end{frame}
 161 
 162 \begin{frame}
 163 \textbf{Opération sur les fichiers}
 164     \begin{itemize}
 165     \item \textbf{cp} : copier les fichiers ou les répertoires (syntax: \texttt{cp [-options]<source><destination>})
 166     \item \textbf{mv} : déplace ou renommer les fichiers ou les répertoires (syntax: \texttt{mv [-options]<source><destination>})
 167     \item \textbf{rm} : effacer un fichier (syntax: \texttt{rm [-options][fichier]})
 168     \item \textbf{find} : chercher un fichier (syntax: \texttt{find [-répertoire de départ][option][action]})
 169     \item \textbf{which} : Montrer le chemin d'accès à une commande (syntax: \texttt{which [nom de pgm]})
 170     \item \textbf{less ou more} : afficher à l'écran le contenu d'un fichier text (syntax: \texttt{less [-options]<nom de fichier>})
 171     \item \textbf{whereis et locate}: permet de retrouver les emplacements des
 172     fichiers
 173     \end{itemize}
 174 \end{frame}
 175 
 176 \begin{frame}
 177 \textbf{Les filtres}: commandes qui, à partir d'un flux d'entrées donné,
 178 effectuent des traitements avant d'afficher un résultat en sortie.
 179     \begin{itemize}
 180     \item \textbf{cat} : concaténatation d'un fichier et afficher sur la sortie
 181     standard. \\
 182     \item \textbf{cut}: afficher suivant les options certains champs d'un
 183     fichier \\
 184     \textit{cut -d : -f1 /etc/passwd}
 185     \item \textbf{grep} : cherche une expression dans un fichier \\
 186     \textit{grep false /etc/passwd} \\
 187     \textit{grep -v root /etc/passwd} \\
 188     \item \textbf{sort}: tri ordre croissant
 189     \item \textbf{join}: effectue des jointures des lignes de deux fichiers
 190     différents dans un même champs. 
 191     \item \textbf{paste}: pour fusionner deux fichiers différents en prenant
 192     chaque ligne de chaque fichier pour former une nouvelle ligne
 193     \end{itemize}
 194 \end{frame}
 195 
 196 
 197 \begin{frame}
 198 \textbf{Redirections} \\
 199     \begin{itemize}
 200     \item Entrée standard: descripteur \textbf{0}
 201     \item Sortie standard: descripteur \textbf{1}
 202     \item Sortie d'erreur standard: descripteur \textbf{2}
 203     \item \texttt{echo 'Bonjour Dakar' > hello.txt}
 204     Sortie standard et sortie d'erreur redirigé vers un fichier
 205     \item \texttt{tail /etc/passwd > fichiersortie 2>\&1 }
 206     \item \texttt{tail /etc/passwd >\& fichiersortie 2>1 }
 207     \end{itemize}
 208 \end{frame}
 209 
 210 
 211 \begin{frame}
 212 \textbf{Tubes}
 213     \begin{itemize}
 214     \item \textbf{pipe} permet que la sortie d'une commande devient l'entrée
 215     d'une autre \\
 216     ex: \texttt{sort /etc/passwd | head -6}
 217     \item \textbf{tee}: recopie la sortie dans un fichier \\et affiche en même
 218     temps le résultat sur la sortie standard \\
 219     ex: \texttt{ls -l /etc | tee fichier | wc  -l}
 220     \item \textbf{xargs} passe en argument d'une commande les flux reçus en
 221     entrée\\
 222     ex: \texttt{cat lefichier | xargs ls}
 223 
 224     \end{itemize}
 225 \end{frame}
 226 
 227 
 228 \section{Utilisation de l'editeur de fichiers}
 229 \frame{\tableofcontents[current]}
 230 
 231 
 232 \begin{frame}
 233 \textbf{Vi\texttt(Visual Editor)} 
 234 est un éditeur de texte, présent sur toutes les version de linux. \\
 235 Il existe le mode \textit{édition} et le mode \textit{commande} \\
 236 Pour ajout et suppression :
 237 \begin{itemize}
 238     \item \textbf{insertion} : \texttt{Esc + i} 
 239     \item \textbf{suppression} : caractère \texttt{Esc + x} ou d'une ligne \texttt{Esc + d + d}
 240     \item \textbf{copier} : \textit{Esc + y + y} 
 241     \item \textbf{coller} : \textit{Esc + p} 
 242     \item \textbf{annuler} : \textit{u} 
 243     \end{itemize}
 244 \end{frame}
 245 
 246 \begin{frame}
 247     \begin{itemize}
 248     \item \textbf{rechercher}: \textit{Esc + /text\_rechercher}
 249     \item \textbf{substitue}:
 250     \textit{ligne\_debut,ligne\_fins/chaine1/chaine2/g} sans confirmation \\
 251     \textit{ligne\_debut,ligne\_fins/chaine1/chaine2/g} avec confirmation \\
 252     \end{itemize}
 253 \end{frame}
 254 
 255 \begin{frame}
 256     \begin{itemize}
 257     \item \textbf{sauvegarder} : \textit{Esc} + \textit{:} + \textit{w} 
 258     \item \textbf{sauvegarder et quitter} : \textit{Esc} + \textit{:} +
 259     \textit{w} + \textit{q} 
 260     \item \textbf{quitter sans sauvegarder} : \textit{Esc} + \textit{:} +
 261     \textit{q} + \textit{!} 
 262     \end{itemize}
 263 \end{frame}
 264 
 265 \begin{frame}
 266 \begin{center}
 267 Travaux pratiques
 268 \end{center}
 269 \end{frame}
 270 
 271 \section{Administrer son système}
 272 \frame{\tableofcontents[current]}
 273 
 274 
 275 \begin{frame}
 276 \textbf{Utilisateur et groupe}
 277     \begin{itemize}
 278     \item tout ce qui utilise une machine linux est un \texttt{utilisateur}
 279     \item les utilisateurs ont diffèrents privilèges
 280     \item les utilisateurs peuvent appartenir à des groupes
 281     \item à chaque utilisateur son répertoire de base (ex: \texttt{/home/toto})
 282     \item seul l'utilisateur a les droits sur son répértoire
 283     \item chaque utilisateur est identifié par un \texttt{UID} (User IDentificator)
 284     \item \texttt{su} : permet de changer d'utilisateur
 285     \end{itemize}
 286 \end{frame}
 287 
 288 \begin{frame}
 289 \textbf{Le Superutilisateur: Root}
 290     \begin{itemize}
 291     \item Chaque système Linux a un utilisateur \texttt{root}
 292     \item \texttt{root} est le 'tout-puissant'
 293     \item seul \textbf{root} peut \texttt{créer}, \texttt{supprimer},
 294     \texttt{modifier} un utilisateur
 295     \item le prompt du root se termine souvent par \texttt{\#}
 296     \item \texttt{su -} : permet de se connecter en tant que root
 297     \end{itemize}
 298 \end{frame}
 299 
 300 \begin{frame}
 301 \textbf{Gestion des droits}
 302     \begin{itemize}
 303     \item \textbf{chown}: change l'appartenance du fichier ou du répertoire  à
 304     un utilisateur\\
 305     ex: \texttt{chown [toto] [logfile.txt]}
 306     \item \textbf{chgrp}: change l'appartenance du fichier ou du répertoire à
 307     un groupe \\
 308     ex: \texttt{chgrp [staff] [document.txt]}
 309     \item l'option \textbf{-R} permet de changer les droits de manière
 310     \texttt{récurssive} \\
 311     ex: \texttt{chown -R root /usr/local/share/music} \\
 312     ex: \texttt{chown -R toto.www-docs  /www/intranet/user/toto/}
 313     \end{itemize}
 314 \end{frame}
 315 
 316 
 317 \begin{frame}
 318 \textbf{Permission sur les fichiers}
 319 \begin{itemize}
 320 \item Les permissions représentent les actions pouvant être affectées aux fichiers
 321 \item \texttt{Trois} types de permissions pour les fichiers
 322 \item \textbf{r} et \textbf{x} sont nécessaires à l'éxecution d'un script
 323 \end{itemize}
 324 \begin{tabular}{|l|l|l|}
 325    \hline
 326    \textbf{Permission} & \textbf{Lettre} & \textbf{Description} \\
 327    \hline
 328    Read & r & Permission de lire les données dans le fichier \\
 329    Write & w & Permission d'écrire, trunquer,\\ 
 330    & & et d'écraser les données dans le fichier \\
 331    Execute & x & Permission d'executer \\
 332    & & le contenu du fichier comme un programme\\
 333    \hline
 334 \end{tabular}
 335 \end{frame}
 336 
 337 \begin{frame}
 338 \textbf{Permission sur les répertoires}
 339     \begin{itemize}
 340     \item r,w,x ont aussi leur signification sur les répértoires
 341     \item Les permissions sur les répertoires sont un petit peu différents
 342 \end{itemize}
 343 \begin{tabular}{|l|l|l|}
 344     \hline
 345     \textbf{Permission} & \textbf{Lettre} & \textbf{Description} \\
 346     \hline
 347     Read & r & Permission d'avoir la liste du répertoire \\
 348     Write & w & Permission de créer, effacer,\\ 
 349     & & renommer les fichiers dans le répertoire \\
 350     Execute & x & Permission de changer le répertoire, ou  \\
 351     & & de l'utiliser comme répertoire intermédiaire \\
 352     \hline
 353 \end{tabular}
 354 \end{frame}
 355 
 356 \begin{frame}
 357 \textbf{Concept de bases}
 358 \begin{itemize}
 359 \item Un fichier a un \textbf{propriétaire} et un \textbf{groupe propriétaire}
 360 \item Les permissions \texttt{r,w,x} sont spécifiés pour l'utilisateur, le
 361 groupe d'utilisateur est le reste (les autres)
 362 \end{itemize}
 363 \end{frame}
 364 
 365 \begin{frame}
 366 \textbf{Examen des permissions}
 367 \begin{itemize}
 368 \item ls -l \\
 369 drwxr-x--- 9 toto staff  4096 Oct 12 12:57 accounts \\
 370 -rw-rw-r-- 1 toto staff 11170 Dec 9 14:11 report.txt
 371 \item \texttt{d} répertoire, {-} fichier texte
 372 \item 3 caractères rwx pour les permissions de \textbf{l'utilisateur}
 373 propriétaire
 374 \item \texttt{3 caractères rwx} pour les permissions du \textbf{groupe}
 375 propriétaire
 376 \item \texttt{3 caractères rwx} pour les permissions des \textbf{autres}
 377 \end{itemize}
 378 \texttt{Note: cp -p ou -a préserves les permissions et l'horodotage}
 379 \end{frame}
 380 
 381 \begin{frame}
 382 \textbf{Changer les permissions des fichiers et des répertoires: chmod }
 383 \begin{itemize}
 384 \item les permissions peuvent être changées seulement par son \textbf{propriétaire} ou par le \textbf{superutilisateur}
 385 \item \texttt{chmod a+x un-programme}
 386 \item ajoute \textbf{(+)} les permissions d'éxecution \textbf{(x)} pour tous les
 387 utilisateurs \textbf{(a)} sur le fichier \texttt{un-programme}
 388 \end{itemize}
 389 \end{frame}
 390 
 391 \begin{frame}
 392 \textbf{Spécification des permissions}
 393 \begin{itemize}
 394 \item les formats de spécifications:
 395 \textbf{[ugoa] [+=-] [rwx]}
 396 \item ajout de permissions: \texttt{u} pour l'utilisateur, \texttt{g} pour le
 397 groupe, \texttt{o} pour les autres, \texttt{a} pour tout le monde.
 398 \item \texttt{=} applique la permission au fichier
 399 \item \texttt{+} ajoute la permission à ceux déjà appliquer
 400 \item \texttt{-} retire les permissions
 401 \item La dernière lettre indique laquelle des permissions utilisés \texttt{rwx}
 402 \item ex: \texttt{chmod -R g+rwx,o+rx repertoire-public}
 403 \end{itemize}
 404 \end{frame}
 405 
 406 \begin{frame}
 407 \textbf{La méthode octale}
 408 \begin{itemize}
 409     \item Les permissions peuvent être affecté grâce à des nombres
 410     \begin{tabular}{|l|l|l|l|}
 411        \hline
 412        & \textbf{Utilisateur} & \textbf{Groupe} & \textbf{Autres} \\
 413        \hline
 414        Lecture & 400 & 40 & 4 \\
 415        Ecriture & 200 & 20 & 2 \\
 416        Execution & 100 & 10 & 1 \\
 417        \hline
 418     \end{tabular}
 419     \item \texttt{chmod 664 *.txt}
 420     \item \texttt{chmod ug=rw,o=r *.txt}
 421     \end{itemize}
 422 \end{frame}
 423 
 424 %\begin{frame}
 425 %\textbf{Permissions spéciales: Sticky}
 426 %\begin{itemize}
 427 %\item Un fichier ne peut être effacé que par son utilisateur dans un répertoire ayant une permission
 428 %\texttt{sticky} 
 429 %\item \texttt{ex:   ls -l -d /tmp}
 430 %\texttt{drwxrwxrwt   30 root root 11264 Dec 21 09:35 /tmp}
 431 %\item \texttt{chmod +t /data/tmp}
 432 %\end{itemize}
 433 %\end{frame}
 434 %
 435 %\begin{frame}
 436 %\textbf{Permissions spéciales: Setgid}
 437 %\begin{itemize}
 438 %\item Si un répertoire est \textbf{'setgid'}(set group-id), les fichiers qui y
 439 %sont crées acquiert les permissions du groupe de ce répertoire
 440 %\item \texttt{ex:   ls -l -d /data/projects}
 441 %\texttt{drwxrwsr-x 16 root staff 4096 Oct 19 13:14 /data/projects}
 442 %\item \texttt{chmod g+s /data/projects}
 443 %\end{itemize}
 444 %\end{frame}
 445 %
 446 
 447 
 448 
 449 \begin{frame}
 450 Ajout/suppresion de logiciels depuis\
 451 \textbf{les sources}
 452 \begin{block}{Compilation du programme}
 453 tar zxvf logiciel.tar.gz\\
 454 cd logiciel\\
 455 ./configure\\
 456 make\\
 457 make install\\
 458 \end{block}
 459 \begin{block}{Avantages}
 460 Dernières versions\\
 461 Logiciel adapté à la plateforme, plus performant\\
 462 Options supplémentraire\\
 463 \end{block}
 464 \end{frame}
 465 
 466 
 467 \begin{frame}
 468 \begin{center}
 469 Ajout/suppresion de logiciels par\\
 470 \textbf{RPM: RPM Package Manager }
 471 \end{center}
 472 \begin{block}{YUM: Yellowdog Update Modifer}
 473 \begin{itemize}
 474 \item Dépots de paquets \texttt{/etc/yum.repos.d/nomdepot.repo}
 475 \item \textit{yum update}: met à jour le système 
 476 \item \textit{yum update yum}: mise à jour après une installation toute fraîche
 477 \item \textit{yum list kern\*} : recherche un paquet 
 478 \item \textit{yum remove paquet} : suppression du paquet
 479 \item \textit{yum --exclude=kern* update} : mise à jour séléctive
 480 \end{itemize}
 481 \end{block}
 482 \end{frame}
 483 
 484 \begin{frame}
 485 \textbf{Les dépôts}
 486 \begin{itemize}
 487 \item \textbf{obligatoires: } Dépôt \texttt{fedora} et dépôts
 488 \texttt{updates-released}
 489 \item \textbf{pour les habitués:} \texttt{Dépôt dag, dries, freshrmps, jpackage, adobe,
 490 rmpforge}
 491 \item \textbf{pour les experts:} \texttt{Dépôts atrpms, kde-redhat, newrmps,
 492 remi, drpixel, kwizart}
 493 \end{itemize}
 494 \end{frame}
 495 
 496 
 497 \begin{frame}
 498 \begin{center}
 499 Ajout/suppresion de logiciels par\\
 500 \textbf{APT : Advanced Package Tool}
 501 \end{center}
 502 \begin{itemize}
 503 \item Dépots de paquets \texttt{/etc/apt/sources.list}
 504 \item \textit{install} : installation d'un paquet = téléchargement + installation + configuration 
 505 \item \textit{upgrade} : mise à jour de tous les paquets installés (suivi de sécurité)
 506 \item Notion de dépendances entre les paquets
 507 \item APT ne fait pas lui-même l'installation et la configuration, il passe par \texttt{dpkg}
 508 \end{itemize}
 509 \end{frame}
 510 
 511 \begin{frame}
 512 \begin{center}
 513 \texttt{aptitude} : le centre de commande APT
 514 \end{center}
 515 \begin{itemize}
 516 \item \texttt{/etc/apt/sources.list} : la configuration des dépôts
 517 \item \texttt{aptitude update} : lecture des paquets disponibles dans les dépots 
 518 \item \texttt{aptitude search \textit{motclef}}
 519 \item \texttt{aptitude show \textit{paquet}}
 520 \item \texttt{aptitude install \textit{paquet}} 
 521 \item \texttt{aptitude safe-upgrade} et  \texttt{aptitude full-upgrade}
 522 \item et aussi : \textit{dpkg -l}
 523 \end{itemize}
 524 \end{frame}
 525 
 526 \begin{frame}
 527 Les dépôts conseillés :
 528 \begin{itemize}
 529 \item dépôts officiels, depuis le miroir le plus proche : \\
 530  \texttt{deb \url{http://ftp.fr.debian.org/debian} lenny main}
 531 \item dépôt de sécurité (obligatoire !) : \\
 532  \texttt{deb \url{http://security.debian.org/} lenny/updates main}
 533 \item dépôts \textit{volatile} : \url{http://volatile.debian.org}
 534 \item dépôts backports (uniquement en cas de nécessité impérative) : \url{http://www.backports.org}
 535 \end{itemize}
 536 NB : les autres dépots ne sont pas toujours dignes de confiance !
 537 \end{frame}
 538 
 539 
 540 
 541 \section{Notion de système de fichiers}
 542 \frame{\tableofcontents[current]}
 543 
 544 \begin{frame}
 545 \begin{center}
 546 Système de fichiers: façon d'organiser et de stocker une arborescence sur
 547 un support (disque, disquette, cd ...)
 548 \end{center}
 549     \begin{itemize}
 550     \item \texttt{MS-DOS} : FAT16/32 (File allocation Table)
 551     \item \texttt{Windows} : FAT16, FAT32, VFAT, NTFS, exFAT(extended FAT)
 552     \item \texttt{Linux} : ext2/3/4 (extended File System), HFS, ReiserFS, XFS, ...
 553     \end{itemize}
 554 \end{frame}
 555 
 556 
 557 \begin{frame}
 558 L'arborescence système :
 559     \begin{itemize}
 560     \item \texttt{/} : le système de fichier racine doit contenir tout ce qui permet au système de démarrer
 561     \item \texttt{/bin}, \texttt{/sbin} : commandes de base 
 562     \item \texttt{/lib} : bibliothèques associées 
 563     \item \texttt{/etc} : fichiers de configuration
 564     \item \texttt{/usr} (\textit{unix system ressources}) : ressources non nécessaires au démarrage
 565     \item \texttt{/var} : données variables
 566     \item \texttt{/home} : répertoires des utilisateurs
 567     \item \texttt{/mnt} et \texttt{/media} : points de montages
 568     \item \texttt{/dev} : fichiers correspondants à des périphériques
 569     \item \texttt{/tmp} : données temporaires
 570     \item Linux : \texttt{/proc} et \texttt{/sys} : systèmes de fichiers virtuels
 571     \end{itemize}
 572 \end{frame}
 573 
 574 
 575 \section{Gestion du disque}
 576 \frame{\tableofcontents[current]}
 577 
 578 \begin{frame}
 579 Gestion des périphèriques
 580 \begin{itemize}
 581 \item Périphériques, disque dur, et partitions gérés sous forme de fichier dans /dev
 582 \item Chaque périphérique correspond un point de montage
 583 \item \texttt{/dev/hda} : disque dur maître du cannal IDE 1
 584 \item \texttt{/dev/hda1} : Première partition du DD IDE 1
 585 \item \texttt{/dev/hda2} : Deuxième partition du DD IDE 1
 586 \item \texttt{/dev/hdb} : disque dur esclave du cannal IDE1
 587 \item \texttt{/dev/sda} : disque dur maitre SATA1
 588 \item Partitions primaires sont numérotées de 1-4
 589 \item Partitions logiques sont numérotées à partir de 5
 590 \end{itemize}
 591 \end{frame}
 592 
 593 \begin{frame}
 594 \textbf{Utiliser fdisk}
 595 \begin{itemize}
 596 \item \textbf{fdisk} permet de créer, effacer, et changer les partitions sur
 597 un disque
 598 \item ex: \texttt{fdisk /dev/hda}
 599 \item \textbf{p}: afficher la table de partition
 600 \item \textbf{n}: crée une nouvelle partition (primaire ou logique)
 601 \item spécifier la taille de la partition
 602 \item \textbf{w}: changer la table de partition
 603 \end{itemize}
 604 \end{frame}
 605 
 606 \begin{frame}
 607 \textbf{Créer un système de fichier avec mkfs}
 608 \begin{itemize}
 609 \item \textbf{mkfs} initialise un fichier système sur une nouvelle partition
 610 \item ex: \texttt{mkfs -t ext3 -c /dev/hda2}
 611 \item \textbf{t}: applique le système de fichier
 612 \item \textbf{c}: vérifie les erreurs blocs sur le disque
 613 \end{itemize}
 614 \end{frame}
 615 
 616 \begin{frame}
 617 \textbf{Montage et démontage}
 618 \begin{itemize}
 619 \item \textbf{mount} monte un système de fichier et \textbf{umount} pour démonter
 620 \item ex: \texttt{mount /dev/sdb3 /mnt/extra} (monte le périphérique
 621 \texttt{/dev/sdb3} sur le point de montage \texttt{/mnt/extra})
 622 \item ex: \texttt{mount -t vfat /dev/hdd1 /mnt/windows} (spécifie le point de
 623 montage)
 624 \item \texttt{man mount}
 625 \item ex: \texttt{umount /dev/sdb3 ou umount /mnt/extra} pour démonter le périphérique
 626 \item il est impossible de démonter un système de fichier \texttt{occupé}
 627 \end{itemize}
 628 \end{frame}
 629 
 630 \begin{frame}
 631 \textbf{Montage automatique}
 632 \begin{itemize}
 633 \item \textbf{/etc/fstab} contient les informations des systèmes de fichiers
 634 contenu de l'administrateur
 635 \item et qui sont montés au démarrage
 636 \end{itemize}
 637 \begin{tabular}{l l l l l l l}
 638 \texttt{device} & \texttt{mount point} & \texttt{type} &
 639 \texttt{options} & \texttt{dump} & \texttt{pass-no}\\
 640 \texttt{/dev/hda3} & /home & /ext4 & defaults & 1 & 2
 641 \end{tabular}
 642 \end{frame}
 643 
 644 \begin{frame}
 645 \textbf{fstab}
 646 \begin{itemize}
 647 \item \textbf{device}: périphériques à monter
 648 \item \textbf{mount point}: point de montage
 649 \item \textbf{type}: système de fichier (ext2,vfat,auto,nfs)
 650 \item \textbf{options}: noauto(non chargé au démarrage),ro(read-only),users
 651 \item \textbf{dump}: \texttt{1} (système de fichier normale) ou \texttt{0}
 652 (système de fichier removeable)
 653 \item \textbf{pass-no}: \texttt{1} (système de fichier racine), \texttt{0}
 654 système de fichier non monté au démarrage, \texttt{2} pour les autres systèmes
 655 de fichier.
 656 \end{itemize}
 657 \end{frame}
 658 
 659 \begin{frame}
 660 \textbf{Maintenir un système de fichier}
 661 \begin{itemize}
 662 \item \textbf{df}: affiche le résumé des espaces libre sur la partition
 663 \item \textbf{du}: affiche les informations de l'espace disque utilisé sur la
 664 branche d'un répertoire
 665 \item \textbf{fsck} est un utilistaire qui permet le contôle de l'intégrité des
 666 partions
 667 \item \texttt{ex: fsck /dev/sdb3} de préférence sur un système de fichier non
 668 monté
 669 \end{itemize}
 670 \end{frame}
 671 
 672 
 673 \section{La sauvegarde}
 674 \frame{\tableofcontents[current]}
 675 
 676 \begin{frame}
 677 Pourquoi sauvegardé ?
 678 \begin{itemize}
 679 \item Fichier perdu, abimé
 680 \item Erreur humaine
 681 \item Crash disque
 682 \end{itemize}
 683 \end{frame}
 684 
 685 \begin{frame}
 686 \textbf{tar}
 687 \begin{itemize}
 688 \item Sauvegarder avec tar : \texttt{tar -cvf nom\_support liste\_fichiers}
 689 \item Consulter une archive : \texttt{tar -tvf  nom\_support}
 690 \item Restituer une archive : \texttt{tar -xvf nom\_support (liste\_fichiers)}
 691 \\
 692 Compression avec les options \textbf{z} (gzip) et \textbf{j} (bzip2) \\
 693 \end{itemize}
 694 \end{frame}
 695 
 696 \begin{frame}
 697 La commande \textbf{cpio} : sauvegarde sur la sortie standard
 698 \begin{itemize}
 699 \item   Sauvegarder : \texttt{cpio -ov > nomsupport}\\
 700 \texttt{ex : find /home/oldaccounts | cpio -ov > /dev/support}
 701 \item Consulter une archive : \texttt{cpio -itv < nomsupport}
 702 \item Restituer une archive : \texttt{cpio -iv listefichiers < nomsupport}
 703 \end{itemize}
 704 \end{frame}
 705 
 706 \begin{frame}
 707 La commande \textbf{dd}: copie physique bloc à bloc
 708 \begin{itemize}
 709 \item \texttt{if= le fichier à copier}
 710 \item \texttt{of= fichier la copie}
 711 \item \texttt{bs= n}       taille des blocs
 712 \item \texttt{skip= n}     nombres de blocs sautés en entrée
 713 \item \texttt{seek= n}     nombres de bloc sautés en sortie
 714 \item \texttt{count= n}    nombre de bloc copiés
 715 \item \textit{exemple:} \texttt{dd if=/dev/hda1 of=/dev/sda1}
 716 \end{itemize}
 717 \end{frame}
 718 
 719 
 720 \begin{frame}
 721 \textbf{Partimage} : permet de faire l'image d'une partition
 722 \begin{itemize}
 723 \item Contrairement a dd, ne prend en compte que les bloc occupés
 724 \item Possibilité de compression (Gzip ou Bzip2)
 725 \item Fonctionnement réseau (NFS, mode client serveur)
 726 \item \textit{exemple:} \texttt{partimage -z1 -o -d save /dev/hda12
 727 /mnt/backup/redhat-6.2.partimg.gz}
 728 \end{itemize}
 729 \end{frame}
 730 
 731 \begin{frame}
 732 \textbf{Rsync}
 733 \begin{itemize}
 734 \item Outil open source permettant la sauvegarde incrémentale
 735 \item Sauvegarde de fichiers locaux
 736 \item Copie locale vers une machine distante et inversement
 737 \item Copie locale vers un serveurs rsync et inversement
 738 \item \textit{exemple:}{rsync -avF /src/path/ /dest/dir}
 739 \end{itemize}
 740 \end{frame}
 741 
 742 \begin{frame}
 743 Sauvegarde réseaux
 744 \begin{itemize}
 745 \item Avec \textbf{tar}\\
 746 \texttt{tar -zcf - /some/file | ssh <host> tar -zxf - -C /destination}
 747 \item Avec \textbf{partimage}\\
 748 \texttt{partimage -s <host> save /some/partition <file>}
 749 \item Avec \textbf{scp}\\
 750 \texttt{scp /some/file [\ more ... ]\ <host>:/destination/file}
 751 \item Avec \textbf{Rsync}\\
 752 \texttt{rsync -e ssh /some/file [\ more ... ]\
 753 <host>:/destination/file}
 754 
 755 \end{itemize}
 756 \end{frame}
 757 
 758 
 759 \section{Gestion de processus} 
 760 \frame{\tableofcontents[current]}
 761 
 762 \begin{frame}
 763 Gestion des appplications
 764 \begin{itemize}
 765 \item \textbf{Application} = ensemble de processus
 766 \item Processus:\\
 767 fichier exécutable / des bibliothèques partagées (.so) \\
 768 un ou plusieurs “threads”
 769 \item \textbf{Activation} = sh, init, inetd, cron
 770 \item \textbf{Information} = fichiers de log
 771 \end{itemize}
 772 \end{frame}
 773 
 774 
 775 \begin{frame}
 776 \textbf{Les processus}
 777 \begin{itemize}
 778 \item Exécution d'une commande : création d'un processus
 779 \item Attribution d'un PID unique
 780 \item Différents états (actif, en attente, ...)
 781 \item Associés à un compte utilisateur, à un ou plusieurs groupes
 782 \item Création d'un processus via la primitive "fork", "exec"
 783 \item Référence du père : PPID
 784 
 785 \end{itemize}
 786 \end{frame}
 787 
 788 \begin{frame}
 789 \textbf{L'environnement} \\
 790 Le fils hérite de son père:
 791 \begin{itemize}
 792 \item le répertoire courant
 793 \item le umask
 794 \item le ulimit
 795 \item variables d'environement
 796 \item le répertoire racine (modification via « chroot »)
 797 \end{itemize}
 798 \end{frame}
 799 
 800 \begin{frame}
 801 \textbf{Gestion des processus}
 802 \begin{itemize}
 803 \item ps, top, pstree : lister les processus
 804 \item kill, killall : envoyer des signaux a des processus
 805 \item strace : lister les appels système
 806 \item lsof : lister les fichiers ouverts
 807 \end{itemize}
 808 \end{frame}
 809 
 810 \begin{frame}
 811 \textbf{cron}
 812 \begin{itemize}
 813 \item Exécution périodique de commandes
 814 \item Fichier /etc/crontab
 815 \item Répertoire /etc/cron.* (hourly, daily, weekly, montly)
 816 \end{itemize}
 817 \texttt{17 * * * * root run-parts --report /etc/cron.hourly}
 818 \end{frame}
 819 
 820 
 821 \begin{frame}
 822 \textbf{cron}
 823 \begin{itemize}
 824 \item Limitation des utilisateurs via les fichiers\\
 825 /etc/cron.allow\\
 826 /etc/cron.deny\\
 827 (Si non présent : soit root soit tout le monde)\\
 828 \item   Commande crontab : \\
 829 \texttt{crontab fichier} soumission d'une table cron \\
 830 \texttt{crontab -l}: visualisation des tables actives \\
 831 \texttt{crontab -r}: arrêt de l'exécution de la table active \\
 832 \texttt{crontab -e}: modification de la table active \\
 833 
 834 \end{itemize}
 835 \end{frame}
 836 
 837 \begin{frame}
 838 \textbf{Le syslog}
 839 \begin{itemize}
 840 
 841 \item Démon syslogd
 842 \item Reçoit les messages d'erreur émis par le noyau / certains services
 843 \item Permet de choisir la destination des log (fichiers, machine distante)
 844 \item Différents critères : origine / sévérité
 845 \item Fichier de configuration : \texttt{etc/syslog.conf}
 846 
 847 \end{itemize}
 848 \end{frame}
 849 
 850 \begin{frame}
 851 \begin{block}{/etc/syslog.conf}
 852 \begin{tabular}{l l l}
 853 user.notice  & & -/var/log/user.log \\
 854 *.*       &    &  @log.exemple.com \\
 855 daemon.*  &    &      -/var/log/syslog \\
 856 lpr.!*   & &  /dev/xconsole \\ 
 857 *.crit;kern.none   &     &    * \\
 858 mail.info  & & root \\
 859 *.=debug   &  & /dev/tty8   \\
 860 \end{tabular}
 861 \end{block}
 862 \end{frame}
 863 
 864 \begin{frame}
 865 \begin{block}{Les sous systèmes}
 866 \begin{tabular}{l l l}
 867 authpriv   & &    service de sécurité et d'authentification\\
 868 cron  &  &        service cron \\
 869 daemon  &  &      les démons système\\
 870 kern  &   &      noyau \\
 871 syslog  &  &     lui-même\\
 872 user  &   &      processus utilisateurs\\
 873 lpr, ftp, mail, news, ...\\ & &
 874 \end{tabular}
 875 \end{block}
 876 \end{frame}
 877 
 878 \begin{frame}
 879 \begin{block}{Les niveaux de sévérité}
 880 \begin{tabular}{l l l}
 881 emerg & & système inutilisable \\
 882 alert & & intervention immédiate\\
 883 crit & & erreur critique\\
 884 err & & erreur\\
 885 warn & & avertissement \\ 
 886 notice & & événement normal \\
 887 info & & information \\
 888 debug & & test, mise au point \\
 889 none & & ignorer les messages \\
 890 \end{tabular}
 891 \end{block}
 892 \end{frame}
 893 
 894 \begin{frame}
 895 \begin{block}{Syntaxe des actions}
 896 \begin{itemize}
 897 \item ajouter le message à un fichier \texttt{(/var/log/message)}
 898 \item envoyer le message à un serveur syslog \texttt{(@log.sn.auf)}
 899 \item envoyer le message dans un tube nommé préexistant \texttt{(|/dev/xconsole)}
 900 \item evoyer le message aux utilisateurs qui sont connecté \texttt{(root,roger)}
 901 \item écrire sur la console texte \texttt{(/dev/tty8)}
 902 \end{itemize}
 903 \end{block}
 904 \end{frame}
 905 
 906 
 907 
 908 \section{Documentation} 
 909 \frame{\tableofcontents[current]}
 910 
 911 \begin{frame}
 912 Sur le système, les pages de \texttt{man}
 913 \begin{itemize}
 914     \item le format d'une page de manuel : \texttt{NAME}, \texttt{SYNOPSIS}, \texttt{DESCRIPTION},  \texttt{OPTIONS}, \texttt{FILES}, \texttt{SEE ALSO}, \texttt{BUGS}, ...
 915     \item \texttt{man man} : les différentes sections. En cas d'ambiguité, on précise : \texttt{man 1 crontab} ou \texttt{man 5 crontab}
 916     \item \texttt{whatis} et \texttt{apropos}
 917     \item en français : paquet \texttt{manpages-fr}
 918     \item le système \texttt{info}
 919 \end{itemize}
 920 \end{frame}
 921 
 922 \begin{frame}
 923 Sur le web : à boire et à manger !
 924     \begin{itemize}
 925     \item Les grands sites de documentations \textbf{validées} : \url{tldp.org}
 926     et \texttt{traduc.org}, \url{linux-france.fr}, \url{framabook.org}, 
 927     \item Les sites «constructeurs» : \url{www.debian.org},
 928     \url{help.ubuntu.com}, \url{fedoraproject.org}, \url{www.redhat.com}
 929     \item Les sites des logiciels : \url{www.apache.org}, \url{www.php.net}, ...
 930     \item Attention : aux sites \textit{wiki} publics, aux forums (par mail, sur le web ou sur les news), aux blogs et autres sites personels.
 931     \end{itemize}
 932 \end{frame}
 933 
 934 
 935 \begin{frame}
 936 Au secours je suis perdu, aidez moi !
 937     \begin{itemize}
 938     \item Comment poser les questions de manière intelligente
 939     \item \url{http://www.linux-france.org/article/these/smart-questions/smart-questions-fr.html}
 940     \end{itemize}
 941 \end{frame}
 942 
 943 
 944 
 945 
 946 \end{document}

Fichiers joints

Pour vous référer aux pièces jointes d'une page, utilisez attachment:filename, comme indiqué ci-dessous dans la liste de fichiers. N'utilisez pas l'URL du lien [get], car elle peut changer et donc être facilement cassée.
  • [télécharger | voir] (2009-10-01 10:36:45, 697.9 KB) [[attachment:Introduction.pdf]]
  • [télécharger | voir] (2009-10-01 10:36:03, 30.4 KB) [[attachment:Introduction.tex]]
 All files | Selected Files: delete move to page copy to page

Vous n'êtes pas autorisé à joindre un fichier à cette page.