1. Q: Que veut dire CPU? R: CPU signifie Central Processor Unit. Dans le cours, CPU est traduit par UC, Unit Centrale. Pour rsumer, cest le processeur. 2. Q: Est-ce que la machine virtuelle est lensemble machine matrielle + logiciel?
R: La machine virtuelle est une virtualisation logicielle du matriel. 3. Q: Cest quoi cette structure en couches? R: la base, il y a le matriel. Juste au-dessus, il y a le systme dexploitation qui est la premire couche logicielle et qui permet dj la communication avec le matriel si on est un expert en informatique. Ensuite, au-dessus du systme dexploitation, il y a des couches logicielles qui se succdent. Plus on utilise une couche logicielle leve, plus lutilisation est facile, mais linconvnient cest que plus de ressources sont utilises, donc on perd en performance. 4. Q: Un systme dexploitation multitche est-il forcment multi-utilisateur? Le systme dexploitation peut-il tre multi-utilisateur mais monotche? R: (1) Non. (2) Multi-utilisateur et monotche ? a nexiste pas ! Cela voudrait dire quil faudrait attendre quun programme lanc par un autre utilisateur se termine pour avoir une chance de lancer son propre programme. Il ne pourrait alors tre question dinteractivit... 5. Q: Quest-ce quune machine multiprocesseur ? R: Cest une machine qui a plusieurs processeurs sur sa carte mre. Lavantage est la puissance de calcul accrue que cela propose. Pourquoi ne pas mettre un processeur plus puissant ? Il nexiste pas ncessairement ou alors est trs coteux. 6. Q: Quelle est la diffrence entre les diffrentes distributions bases sur GNU/Linux ? R: Toutes les distributions bases sur GNU/Linux utilisent le mme systme dexploitation: GNU/Linux ! Linterface graphique nest la plupart du temps pas non plus une diffrence entre les distributions. En fait, ce quil faut savoir cest quune distribution base sur GNU/Linux contient des tonnes de logiciels (contrairement Windows). Le choix dune distribution se fait par le choix des logiciels: telle distribution contient tels et tels logiciels et une autre des logiciels diffrents. Au final, il se trouve quelles sont relativement proches. Certaines distributions sont spcialises dans certains domaines. La Mandrake se veut tre une distribution franaise et accessible tous. La Slackware se veut tre la plus lgre possible. Une autre diffrence orientant le choix est le mode, la facilit dinstallation, la frquence des mises jour et le support de nouveaux matriels. 7. Q: GNU/Linux est une distribution Pourquoi est-ce faux? R: GNU/Linux est un systme dexploitation alors que Fedora est une distribution de ce systme dexploitation. Prcisment, Linux est le noyau dun systme dexploitation. Le noyau est un logiciel de base qui fournit des services systme tels que la gestion des fichiers, la mmoire virtuelle (vous ne ltudierez que plus tard), le systme dentres/sorties, etc. Cependant, un systme dexploitation a besoin de plus que cela. Lorganisation GNU a dvelopp beaucoup dapplications logicielles qui avec le noyau Linux en font un systme dexploitation complet. Cet ensemble logiciel est appel GNU/Linux. En ajoutant une partie de lensemble logiciel GNU/Linux, des fichiers de configuration et des programmes dinstallation, on aboutit ce que lon appelle une distribution base sur GNU/Linux, telle que Fedora. 8. Q: Quel est le lien entre Unix, Linux et le logiciel libre?
R: Les systmes dexploitation Unix existent depuis le dbut des annes 1970, et se dclinent en diffrentes variantes commercialises par des diteurs logiciels (propritaires pour la plupart). Le projet GNU a t lanc en 1984 par la Free Software Foundation dans le but de crer un systme dexploitation compatible avec Unix, et compos exclusivement de logiciels libres, cest--dire librement utilisables, modifiables et distribuables. Plus tard, partir de 1991, un projet de logiciel libre indpendant du projet GNU a cr le noyau Linux, qui constitue le cur dun systme utilisant les outils du projet GNU. Ainsi, lassemblage de ces deux projets avec de nombreux autres, sous la forme dune distribution base sur GNU/Linux, constitue une plate-forme logicielle libre compatible avec les systmes Unix propritaires. 9. Q: Le langage C, quest-ce que cest? R: Le langage C est un langage de programmation comme Pascal ou Java. GNU/Linux est crit en langage C. De plus, le langage C est le premier langage de programmation tudi Tlcom SudParis. 10. Q: Quelle est la diffrence entre le stockage en mmoire centrale et le stockage sur disque dur? R: La mmoire centrale stocke les donnes pour effectuer les tches, alors que le disque dur est un priphrique pour une mmoire long terme. En fait, la mmoire centrale, cest la RAM ou encore mmoire vive; cest une sorte de brouillon pour le processeur, o il fait des calculs, mais qui est efface ds que lon en na plus besoin ou si on teint la machine. Par contre, le disque dur est un priphrique de stockage long terme. 11. Q: Comment se procurer GNU/Linux ? R: Il y aura des install party qui vont tre organises dbut octobre ou novembre o chacun pourra tre aid pour installer GNU/Linux sur sa machine.
4. Premire utilisation
1. Q: Comment tester la commande su?
R: Le plus simple est dtre deux. Lun dentre vous est dj connect sur la machine. Lautre personne (possdant aussi un compte sur cette machine) souhaite tre connecte sans vous dconnecter. Il faut donc quelle utilise la commande su - sonlogin dans une fentre terminal, et saisisse son mot de passe. Elle est ainsi galement connecte et peut le vrifier en utilisant la commande id. 2. Q: Quel est le lien entre multifentre et peu de commandes dans lexpression mme si les environnements graphiques multifentres permettent de ne taper que peu de commandes ? R: Avec les environnements graphiques multifentres, par exemple, on ouvre des fichiers et des rpertoires en cliquant dessus avec la souris, donc sans utiliser de commandes (comme avec lexplorateur sous Windows). 3. Q: Un client XWindow, quest-ce que cest? R: Lenvironnement graphique de votre ordinateur nest pas fourni par le systme dexploitation. Il est gr par un ensemble dapplications. La brique de base de ces applications est le serveur XWindow. Il fournit lensemble des lments graphiques: dessin des lignes, rectangles... et dautres fonctionnalits telles que le rafrachissement de lcran. Une autre application utilise pour crer et grer votre environnement graphique est le gestionnaire de fentres. Ce gestionnaire utilise XWindow pour le dessin des fentres. Cest pour cela que lon dit quil est un CLIENT XWindow. De mme, toutes les applications qui utilisent des fentres: messagerie, diteur de texte, navigateur Web... sont des clients XWindow. 4. Q: Il est dit que lenvironnement multifentre fournit un grand nombre de bibliothques pour la construction dapplications fentres, mais quest-ce quune bibliothque exactement ? R: Une bibliothque de construction dapplications fentres, cest ce qui permet au dveloppeur de crer par exemple un menu, une zone de saisie, une fentre..., c.--d. tout ce que lon peut retrouver de commun toutes les applications. 5. Q: Y-a-t-il un rapport entre un client XWindow et Windows de Microsoft? R: Non, il ny a aucun rapport entre les deux. Il faut seulement se rappeler que window en anglais signifie simplement fentre. 6. Q: Je ne comprends pas pourquoi je narrive executer aucune des commandes xterm,xload...) ?? Jai toujours comme rponse cant open display ?
R: Essayez-vous de lancer ces commandes dans une fentre de Putty partir de Microsoft Windows? Si oui, cest normal car Microsoft Windows nexcute pas de serveur XWindow. 7. Q: Pourquoi utiliser emacs plutt quOpenOffice? R: Question trs intressante. Voil la question reformule : quelle est la diffrence entre un diteur de texte et un traitement de texte? Cest un peu comme comparer le bloc notes et Word... rien voir en fait :) Lun fait des fichiers textes (texte pur), sans formatage (pas de gras, soulign, couleurs, mise en page complexe, puces, ..), lautre des pages justement formates. Les fichiers texte sont notamment utiliss pour crire des programmes ou de courtes notes qui nont pas besoin de mise en page volue, un mail par exemple. Les traitements de texte sont utiliss pour crire des textes ncessitant une mise en page volue. Chaque traitement de texte produit des fichiers un format qui lui est propre alors que tous les diteurs de texte produisent des fichiers au format texte. Pour ouvrir un fichier autre que du texte, il faut connatre une application capable de le lire. Par exemple, si vous avez un fichier .doc, monfichier.doc, openoffice est capable de le lire. Donc, il vous faut soit lancer lapplication via linterface graphique, soit via le shell en utilisant la commande ooffice monfichier.doc. Autre exemple, pour un fichier pdf, vous pouvez utiliser xpdf ou acroread pour le lire: xpdf monfichier.pdf ou acroread monfichier.pdf. De manire gnrale, pour ouvrir un fichier autre que du texte dans le shell, il faut connatre la commande permettant de lancer une application capable de le faire. Pour un fichier texte, cat ou more pour simplement voir le contenu du fichier ou emacs pour lditer et le modifier, bien sr! 8. Q: Jai essay de modifier la taille de la fentre demacs, en changeant les paramtres des lignes et des colonnes , mais cest sans effet. Pourquoi ? R: Vrifiez que vous navez pas crit une toile ( * ) la place du caractre x dans largument de loption -geometry. 9. Q: Quelle est la diffrence entre un shell et un terminal ? ou est-ce la mme chose? R: Le terminal est une fentre Xwindow excutant un shell . 10. Q: Lexplorateur de fichier Nautilus na pas la mme apparence que celle que lon peut voir dans la dmonstration de lillustration interactive. Ce qui manque, cest de pouvoir avoir accs larborescence des fichiers, lhistorique, etc. R: Cest le cas de tout le monde car le gestionnaire de fentre utilis dans cette illustration ne correspond pas exactement celui des systmes dexploitation installs dans les salles TP de Tlcom SudParis de cette anne. 11. Q: Est-ce que les options ont toujours la mme signification quelle que soit la commande? Par exemple, -a donne-t-elle toujours plus dinformations sur une commande? Est-ce quil existe des options incompatibles que lon ne peut accoler? R: (1) Non hlas, il ny a pas uniformisation sur le nom des options. Mme si certaines options ont la mme signification pour plusieurs commandes (par exemple -v correspond souvent verbose), on ne peut pas gnraliser. (2) Oui, certaines options sont incompatibles. Par exemple les options -s (mode silent pour pas daffichage ) et -l (pour mode verbeux ) de la commande cmp (comparaison). 12. Q: Comment consulter le manuel daide en ligne ? R: Vous pouvez consulter le manuel daide en ligne en mode texte (commande man) ou en mode graphique en cherchant dans un menu un onglet Aide (l, il faut chercher un lien faisant rfrence un manuel ou encore des commandes Unix). 13. Q: Comment sortir de la commande man ? R: Avec la touche q. 14. Q: quoi correspond la section de laide en ligne note 1x , sachant que celle note 1 est pour les commandes ? R: Quelquefois, une lettre est ajoute au numro de section comme par exemple xterm.1x ou wish.1tk . Le but de cette notation est dindiquer quil sagit respectivement dune documentation dun programme XWindow ou dune application Tk. 15. Q: Une fois que lon connat la section dans le manuel en ligne, comment lancer la commande man permettant de lire la bonne page? R: Parmi les options de la commande man , il est possible de prciser un numro de section (vous pouvez retrouver cela en faisant man man). Ce numro de section peut tre prcis sous la forme N ou -S N. Essayez par exemple les commandes man write puis man 2 write . Vous trouverez deux pages diffrentes correspondant la commande write dans la section 1 (par dfaut) puis la primitive systme pour la programmation dans la section 2. 16. Q: Jai vu ce mot dans beaucoup dendroits mais je ne comprends pas exactement de quoi il sagit: super-utilisateur . R: Cest un compte Unix, appel aussi root en anglais. En travaillant sous ce compte, les administrateurs des systmes informatiques de Tlcom SudParis installent et mettent jour les systmes dexploitation et les applications. Ils peuvent effectuer toute opration sur la totalit de larborescence, contrairement un utilisateur normal.
5. Systme de fichiers
1. Q: Le super-bloc dUnix est-il lquivalent de la base de registres de Windows? Que contient exactement le super-bloc? Qui possde un super-bloc? R: Le super-bloc donne une image de la dcomposition dun systme de fichiers en blocs contenant les inodes et blocs contenant les donnes. Toute partition Unix contenant un systme de fichiers possde donc un super-bloc. Cest tout fait diffrent de la base de registres Windows qui est une base de donnes hirarchise utilise par le systme dexploitation pour stocker des informations sur les priphriques, les applications installes et les prfrences de lutilisateur. 2. Q: Quest ce quune partition? R: Une partition est une unit logique qui fait physiquement partie du disque dur. Lun des intrts des partitions est de mieux organiser un disque dur et de pouvoir avoir plusieurs systmes dexploitation diffrents comme dans les salles de TP de Tlcom SudParis. 3. Q: Une petite dfinition simplifie de inode maiderait. R: Linode est lensemble des informations dcrivant un fichier. Cest ce que lon appelle en informatique une mta-information: une information sur linformation. Ainsi, dans un systme de fichiers, tous les fichiers sont dcrits (taille, emplacement des donnes sur le disque, propritaire...) dans une structure appele inode. Le systme de fichiers comporte donc deux sections importantes : les inodes et les donnes. 4. Q: Que signifient les x niveaux dindirection des adresses indirectes ? R: Un niveau dindirection signifient que ladresse pointe est une adresse qui contient dautres adresses vers les vritables donnes. Deux niveaux dindirection signifie que ladresse pointe vers une zone mmoire qui contient dautres adresses, ces dernires pointant vers une zone mmoire contenant des donnes, etc. Ainsi, les petits fichiers sont reprs par des adresses directes de linode, ce qui permet de garder un accs rapide. Les gros fichiers sont reprs avec des niveaux dindirection plus levs pour pouvoir disposer de plus de blocs de donns pour stocker les informations. En effet, avec trois niveaux dindirection, il y a au moins environ 256 3 blocs de donnes, ce qui fait de la place. 5. Q: quoi cela sert-il dobtenir le numro dinode dun fichier. R: Cela sert faire la diffrence entre les deux situations suivantes: 1. deux fichiers au mme contenu, c.--d. un original et une copie obtenue par cp, 2. deux noms pour le mme fichier aprs utilisation de ln. Le numro dinode permet donc de savoir si deux noms correspondent au mme fichier (mmes blocs de donnes) ou des fichiers diffrents (blocs de donnes distincts mais pouvant avoir le mme contenu). 6. Q: Que signifient les couleurs associes aux liens avec la commande ls? R: vous avez d remarquer que la commande ls utilise diffrentes couleurs pour afficher son rsultat. Ces couleurs sont dailleurs dfinies par le fichier /etc/DIR_COLORS pour Fedora. Ce sont des couleurs associes aux diffrents types dentres dans larborescence, mais cela nest quun effet daffichage. Si vous navez pas encore constat ce type daffichage color, excutez la commande ls -l color. 7. Q: Quest-ce quune structure de 64 octets? R: Un endroit de stockage qui fait 64 octets, soit 64 8 bits. 8. Q: Que signifient les deux types de priphriques mode bloc et mode caractre ? Et le mode raw-block ? R: Un priphrique en mode bloc est un priphrique qui peut supporter un systme de fichiers ; il est accd par bloc (et non par caractre) par le systme, aussi bien en lecture quen criture, do son nom. Un priphrique en mode caractre est au contraire accd uniquement par caractre, comme une imprimante par exemple. Le mode raw-block permet dans certains cas daccder par caractre un priphrique bloc pour des oprations de maintenance. 9. Q: En quoi /dev/null est un pseudo-priphrique ? R: Dans le cours shell, vous verrez que la commande ls > nomFichier envoie le rsultat de ls dans le fichier nomFichier. Si le rsultat de la commande ls ne vous intressait pas, vous pouvez taper ls > /dev/null. Tout a pour dire quon constate quon peut crire des octets sur /dev/null. Cest donc que /dev/null est un priphrique. Or, il ny a pas de matriel null (alors quil y a un matriel cran, un matriel lecteur de CD-ROM...), ce nest donc pas un vrai de vrai priphrique. Comme vrai de vrai ne fait pas trs srieux, on parle de pseudo- priphrique. 10. Q: Pourquoi un priphrique est dun mode donn et pas dun autre mode? Est- ce absolu ou est-ce li aux proprits du priphrique? Par exemple, pourquoi une imprimante est en mode caractre et pas en mode bloc ? R: Cest en partie li aux proprits du priphrique. Dans le cas de limprimante, le gestionnaire dimpression envoie un flot dinformation caractre par caractre (de manire squentielle). Dans le cas du disque, le gestionnaire du disque lit, respectivement crit, une section physique du disque (un bloc) et la place en mmoire, respectivement recopie un bloc mmoire vers le disque. 11. Q: Comment voit-on sur un priphrique la diffrence entre le mode bloc et le mode caractre ? R: Avec la commande ls -l nom_priphrique, le premier caractre (avant les droits daccs) est soit b pour bloc soit c pour caractre. Par exemple, 1) ls -l /dev/tty7 (Terminal : mode caractre) crwrwrw1 root root 4, 7 2002-08-12 14:55 /dev/tty7 2) ls l /dev/hda1 (Disque : mode bloc) brwrw1 root disk 3, 0 2002-03-14 22:51 /dev/hda1 12. Q: Quest-ce que la corbeille (/dev/null)? R: Cest un pseudo-priphrique, c.--d. a sutilise comme un priphrique mais a nen est pas un vrai (;-)). Elle correspond plus ou moins au vide cyberntique! En entre (lecture), elle correspond rien , do la cration dun fichier vide par copie. En sortie (criture), rien correspond poubelle, c.--d. au vidage automatique sans aucune rcupration possible. 13. Q: Est-il possible de changer le rpertoire de connexion? R: Le nom et la position du rpertoire de connexion sont fixs lors de la cration dun compte utilisateur sur un systme. Et seul ladministrateur du systme (ou super-utilisateur) pourrait apporter une modification. 14. Q: Comment entrer dans un rpertoire avec la commande cd lorsque le rpertoire possde un nom compos comme Dossier personnel par exemple? R: Cette question est un peu en avance sur le cours. 1) Encadrez le nom entre quote ( ), par exemple cd Dossier personnel. 2) vitez de faire ce genre de nommage dans Windows ou dans gnome/nautilus. 15. Q: La commande cp /etc/passwd donne un message derreur indiquant que le fichier cible nexiste pas. Que dois je faire? R: Il faut taper cp /etc/passwd nomFichier par exemple. Il faut prciser o copier le fichier et le nom du nouveau fichier. 16. Q: Comment faire pour supprimer un dossier et tous ses sous dossiers avec les fichiers en une seule commande ? R: Essayez loption -r de la commande, mais soyez trs vigilant pour ne pas effacer de fichiers ou rpertoires par erreur. 17. Q: Sous linux, il nest pas possible de faire de liens entre partitions, pourtant sous Windows cest possible. De quel type de lien parlez-vous ? R: Cette restriction nest valable que pour les liens dits physiques, pas pour les liens symboliques. 18. Q: quoi sert un lien symbolique? R: Le lien symbolique permet de crer un lien entre des lments qui ne sont pas dans les mmes partitions, contrairement aux liens logiques classiques , dits physiques. 19. Q: Quelle est la diffrence fondamentale entre un lien symbolique et un lien physique, et surtout son utilit par rapport au lien physique ? R: Utilit des liens symboliques: 1. traverser les systmes de fichiers, 2. liens sur des rpertoires, 3. liens indpendants de lexistence de la cible (ce qui permet danticiper par exemple une installation de logiciel). 20. Q: Pourquoi quand on tape la commande cat sur un lien symbolique (celui qui clignote), a ne marche pas ? R: Quand le lien symbolique clignote en rouge, cela veut tout simplement dire que le chemin spcifi est invalide, dans ce cas le lien pointe vers un fichier inexistant. 21. Q: Quest-ce que loption de drfrencement -L de la commande ls? R: Drfrencer veut dire regarder ce quil y a derrire une indirection. Ici, avec en plus loption -l, il sagit dafficher les attributs du fichier point par le lien symbolique plutt que les caractristiques du lien symbolique. 22. Q: Pourquoi le fait dutiliser des liens nous permet dconomiser de la mmoire puisquen dfinitive ils pointent sur des fichiers qui utilisent donc de la mmoire? R: Le gain existe lorsque lon cre un lien sur un fichier au lieu den faire une copie. 23. Q: Un lien possde-t-il les mmes droits daccs que le fichier initial ? R: Oui pour les liens physiques. Pour un lien symbolique, le lien est mis rwxrwxrwx et la documentation dit quil nest pas tenu compte des droits du lien symbolique mais de ceux de lentre pointe par le lien.
6. Shell
1. Q: Comment faire disparatre le signe (ou prompt) > en dbut de commande la place du prompt normal (par exemple $ ) ? R: Tapez CTRL-C. Ceci permet dinterrompre la saisie dune commande et de revenir au prompt normal. 2. Q: Quest-ce quune redirection ? Au lieu davoir ce que lon veut sur lcran, on la dans un fichier ? R: La redirection permet en effet de mettre dans un fichier le rsultat dune commande au lieu de lafficher lcran. Cela permet par exemple de pouvoir traiter directement des informations sans avoir faire des copier/coller tour de bras (et donc limiter les erreurs) ou alors de garder un rsultat pour plus tard. 3. Q: Quel est le rle de la commande gcc rencontre dans lillustration interactive redirection ? R: En tapant whatis gcc , on obtient GNU project C and C++ compiler . Le compilateur gcc sera expliqu plus tard dans le cours CSC 3002. 4. Q: Quest-ce quun shell script ? R: Cest un script, ou srie dinstructions, shell programm qui peut par exemple tre excut plus tard dans un terminal. 5. Q: Comment taper la barre verticale (pipe) ? R: Appuyer sur les touches Alt-Gr et 6. 6. Q: Quelle est la diffrence entre les mta-caractres (apostrophe) et " (guillemets anglaises)? R: Tapez les deux exemples: echo $(pwd) et echo "$(pwd)". 7. Q: /dev/null est la poubelle, comment lutilise-t-on pour supprimer des fichiers?
R: dev/null est mentionn comme tant une poubelle (notez les guillemets). En gnral, on ne sen sert pas pour les manipulations de fichiers, mme si certaines commandes marchent. Par exemple, cp /dev/null toto.txt cre un fichier vide toto.txt dans le rpertoire courant. En revanche, on lutilise beaucoup quand on veut ignorer des affichages de rsultats en tapant par exemple tar xf arch.tar > /dev/null. De mme, on peut souhaiter ignorer les erreurs en les redirigeant vers /dev/null. 8. Q: Pourquoi lorsque je tape la ligne de commandes alias la=ls -a ; la , le shell ne trouve pas lalias, alors que si je retape la commande la dans la ligne suivante, il le trouve? R: Les alias sont traits lorsque la commande est lue, et non pas lorsquelle est excute. Ainsi, une dfinition dalias apparaissant sur la mme ligne quune autre commande ne prend pas effet avant la lecture de la prochaine ligne dentre. Autrement dit, une commande place la suite dune dfinition dalias, sur la mme ligne ne sera pas affecte par cet alias. Pour plus de tranquillit, placez toujours les dfinitions dalias sur des lignes isoles, et nutilisez jamais la commande alias dans les commandes composes. Notez que cest la mme chose avec la destruction des alias via la commande unalias. 9. Q: Quest-ce quune primitive? R: Dune faon gnrale, une primitive dun logiciel est une fonction interne ce logiciel, c.--d. qui ne fait appel aucun autre code que celui de ce logiciel. Par exemple, une primitive systme est une fonction interne au noyau, qui ne ncessite donc aucun chargement supplmentaire de binaire pour sexcuter. Une primitive du shell (appele builtin ) est une commande interne au shell excute directement par le shell sans cration de processus comme cest le cas pour les commandes en gnral (que lon pourrait qualifier dexternes). En complment, recherchez builtin dans la page du manuel en ligne de bash. 10. Q: Quel est lintrt concret des variables? R: Le Shell est un outil trs puissant et il regroupe deux fonctions ; celle qui est tudie ici : interprteur de commandes, mais cest aussi un langage de programmation. Les variables ont donc un intrt majeur pour la programmation. Certaines (appeles variables prdfinies) jouent aussi un rle important pour linterprteur de commandes car elles permettent de paramtrer son fonctionnement et celui des commandes. Par exemple, PATH liste les rpertoires o le shell va chercher des excutables, PRINTER dfinit un nom dune imprimante par dfaut, HOME caractrise le rpertoire de connexion, DISPLAY dfinit le lieu daffichage du serveur XWindow et il en existe bien dautres encore. 11. Q: Quest-ce quune variable prdfinie? R: Cest une variable qui existe et qui a un contenu louverture de chaque session. ces variables prdfinies, il est possible den ajouter dautres, par exemple la variable mois avec la commande: mois=septembre.
7. Processus
1. Q: Que signifient signal 15 et signal 9 ? R: Ce sont des signaux diffrents envoys des processus pour des traitements diffrents, non tudis dans ce cours. Le 15 est celui envoy par dfaut par la commande kill pour demander au processus de sarrter, le 9 force un processus sarrter et se dtruire. 2. Q: Comment peut-on vrifier lavancement dun processus avec la commande ps? R: ps ne prend quune image de ltat des processus au moment o la commande est excute. La commande affichant dynamiquement ltat en temps rel des processus est top. 3. Q: Dans le cours, regardons les processus autres que ceux de la session en cours grce loption "a", mais toujours les ntres. Et dans le manuel, a (autres) prsente galement les processus des autres utilisateurs. Ce qui est un peu contradictoire, non ? R: ps est lune des trs rares commandes autoriser les options avec et sans tiret, do la confusion. Essayez ps -al puis ps al. Il y a une diffrence. La diffrence entre les deux est la suivante: 1. ps -al montre bien vos processus; 2. ps al montre tous les processus qui sont attachs un terminal (qui ont un tty). Cela signifie quils peuvent crire dans la sortie standard. Malheureusement, sur les machines des salles de TP, dans laide en ligne, il est dit tort que les arguments de la ligne de commande peuvent tre prcds par un (tiret), mais ce nest pas indispensable. En fait, les options avec tiret sont censes avoir le mme comportement sur tous les UNIX. Cest pour cela que nous les utilisons, et nous contentons de celles-l. 4. Q: quoi correspond lacronyme tty de la commande ps ? R: tty est la fentre terminal (tty pour tltype). Ouvrez deux terminaux et tapez ps dans chacun deux. Vous verrez deux numros de tty diffrents. 5. Q: Aprs avoir excut la commande top, comment sortir pour avoir une autre ligne de commande dans le terminal? R: Avec la touche q. 6. Q: Est-il possible de suspendre, mais sans le supprimer, un processus en arrire- plan? R: Une bonne faon est de ramener le processus en avant-plan (avec fg) et de le suspendre avec CTRL-Z. 7. Q: Une commande mise en arrire-plan continue-t-elle sexcuter? Ou est-elle suspendue, comme avec ctrl-Z? R: Une commande en arrire-plan et non suspendue continue de sexcuter. 8. Q: Comment se fait-il que lorsquon lance la commande sleep 500& par exemple et que lon liste les processus en cours, la colonne time affiche toujours 0 alors que le processus a dj commenc son excution ? R: La commande sleep ne travaille pas ! Elle permet dendormir le shell. 9. Q: Pourquoi un processus na quun seul processus parent ? Je nai pas compris ce que voulaient dire processus parent, processus enfant. R: Unix manipule une hirarchie (un arbre) de processus. La relation dfinie sappelle la parent. Un processus possde un seul parent (son crateur), un seul grand-parent... Un processus peut crer plusieurs autres processus qui sont ses enfants. Par exemple, chaque fois que le shell excute une commande, il cre un processus enfant. 10. Q: De quel genre de ressource peut avoir besoin un processus dont labsence mettrait le processus en attente ? Pourquoi le processus navait pas toutes les ressources ncessaires ds le dbut ? R: Un processus peut par exemple demander crire/lire des donnes du disque dur. Pendant la dure de lopration, le processus na pas besoin du processeur: cest la carte du disque qui travaille. Le processus est donc mis en attente de la fin de lopration sur le disque et le processeur est attribu un autre processus prt lutiliser. 11. Q: Plusieurs fois dans le cours, on parle de primitive dun noyau ou de primitive systme pour excuter une fonction du noyau. R: Lorsque lon utilise le shell par exemple, il sexcute dans lespace utilisateur. Cependant, chaque fois quon lui demande de crer, douvrir ou de modifier un fichier ou un rpertoire, le shell fait appel au gestionnaire des fichiers, qui se trouve dans le noyau Unix! Pour cela, le shell passe de lespace utilisateur lespace systme du noyau en utilisant un pont , qui sappelle une primitive. 12. Q: Que veut dire mettre une variable dans lenvironnement ? Quel est cet environnement et quoi est-il relatif : un processus donn? O exporte-t-on les variables? Et quoi sert-il de les exporter? Quappelle-t-on local et global? R: la base, dans un processus, toutes les variables sont locales. Quand il veut publier une variable pour la communiquer ses enfants lors de leur cration, il la rend globale avec export (qui la met dans lenvironnement). Lenvironnement, cest lensemble des variables transmises aux enfants.
8. Quelques outils supplmentaires
1. Q: Cest quoi un champ exactement? R: La notion de champ correspond des chanes de caractres spares les unes des autres par un caractre sparateur qui est par dfaut espace ou tabulation, mais que lon peut remplacer par un autre caractre x grce loption -t pour la commande sort ou -dx pour la commande cut). R: Un champ est un emplacement dans lequel on stocke une donne (terme utilis dans les bases de donnes): on divise la base de donnes (fichier) en emplacements appels champs .
R: Un sparateur de champ permet de dcouper une ligne en morceau. Par exemple, dans le fichier /etc/passwd, cest le : . Autre exemple, pour une ligne de commande dans un shell, cest lespace, la tabulation ou le retour chariot. Par curiosit, la valeur du sparateur de champ est contenu dans la variable IFS . Essayez set | grep IFS. 2. Q: Quelle est la diffrence entre sort -k3 -k2 fruits et sort -k3,3 -k2,2 fruits ? R: la page du manuel en ligne de la commande sort donne lexplication suivante pour loption -k: Si POS2 nest pas prcis, le tri commence la colonne POS1 et se termine la fin de la ligne. En prcisant -k3,3, le premier critre de tri commence et sarrte la troisime colonne. Il porte donc uniquement sur la troisime colonne sans prendre en compte la fin de la ligne. La commande sort -k3,3 - k2,2 fruits correspond donc la formulation: tri sur la 3me colonne puis sur la 2me colonne en cas dgalit . 3. Q: Pourquoi la commande find /users -user f* -print contient une erreur de syntaxe? R: Le critre user de la commande find naccepte pas les jokers, donc pas le mta-caractre * (toile), contrairement au critre name. Ceci est simplement d au fait que les jokers servent pour les noms de fichiers, mais pas pour les noms des utilisateurs. On ne peut donc pas chercher tous les fichiers des utilisateurs dont le nom commence par f. 4. Q: Je ne comprends pas quoi sert exactement la commande split? R: Comment faire pour mettre sur une cl USB un fichier dont la taille est suprieure celle de la cl USB ? On dcoupe le fichier en morceaux (avec split) capables chacun de tenir sur la cl, ce qui permet de copier ensuite chaque morceau sur une cl diffrente. Lorsque lon veut rcuprer le fichier complet, on recolle (avec cut) dans le bon ordre les morceaux copis sur les diffrentes cls. Ce nest quun exemple... 5. Q: Y-a-til une diffrence entre les deux commandes suivantes: find / -name passwd et locate passwd? R: La commande find est celle qui est normalise pour Unix. La commande locate est spcifique GNU/Linux. Dautres part, la commande locate ne recherche que dans larborescence du systme dexploitation (/usr, /etc...), pas dans les comptes des utilisateurs. En outre, locate recherche dans une base de donnes mmorisant larborescence du systme. Or, cette base de donnes nest pas toujours jour. 6. Q: En quoi consiste larchivage ? Nest-ce pas un moyen de compression ? R: Larchivage permet de mettre en un seul fichier tous les fichiers dune arborescence (typiquement un rpertoire et ses sous-rpertoires), avec la possibilit de compresser les fichiers de la dite arborescence, donc en rduisant la taille de larchive pour pouvoir lenvoyer vers un autre destinataire plus facilement. 7. Q: quoi correspond ce quon appelle le listing dun utilisateur... en ce qui concerne ses requtes imprimante? R: On utilisait autrefois ce terme parce lutilisateur imprimait principalement des listings (code source de ses programmes, rsultat de compilation, dexcution...). Le terme listing utilis est ici employ au sens gnrique pour reprsenter le rsultat demand par lutilisateur quelle que soit sa demande (impression dun fichier texte, dune page Web, dune image, dun programme source ...). 8. Q: Que fait la commande cd rep1;tar cf- . |(cd rep2; tar xf) ? R: Cela revient taper cd rep1 puis tar dont le rsultat est envoy sur la sortie standard: larchive est donc envoye en sortie. Le tube permet de rcuprer le contenu de larchive: on nest donc pas pass par un fichier. Les parenthses permettent de considrer les deux commandes qui suivent le tube comme une seule dun point de vue utilisation des flots de communication. cd nutilise pas lentre standard mais permet de changer de rpertoire, la commande tar qui suit peut alors prendre larchive et la dplier. On aurait pu crire: o cd rep1 o tar cf toto.tar . o cd rep2 o tar xf toto.tar Rsultat: en une seule ligne, copie dune arborescence complte dun endroit (rep1) un autre (rep2), sans cration de fichier intermdiaire. 9. Q: Que veut-dire verbeux ou mode verbeux ? R: Beaucoup de commandes Unix sont silencieuses , c.--d. que lorsquelles fonctionnent bien, elles naffichent rien (par exemple les commandes tar ou gzip/gunzip). Ces commandes offrent souvent une option (par exemple loption v pour tar et gzip) pour quelles affichent plus dinformations lcran. Testez sur un fichier toto existant gzip toto et gunzip -v toto.
9. Communications sous Unix
1. Q: Comment transfrer ses fichiers partir de ou vers le serveur de Tlcom SudParis? R: Si vous tes sous Windows, il faut utiliser un logiciel comme FileZilla. Si vous tes sous Linux, vous pouvez utiliser les commandes sftp ou scp dcrites dans cette section. 2. Q: Qui peut mexpliquer le principe de FTP anonyme ? R: Cest le fait daccder un serveur FTP (ou du moins certains rpertoires dits publics) sans avoir un compte dutilisateur avec un mot de passe spcifique, mais en utilisant un compte gnrique commun tous. 3. Q: Pourquoi un chiffrement clef secrte est moins sr quun chiffrement clef publique? R: Les algorithmes pour clef secrte sont moins robustes car ils sont utiliss avec des clefs plus petites. 4. Q: Est-on oblig davoir dans son fichier known_hosts la cl publique de tous les ordinateurs que lon utilise? R: La clef publique permettant dauthentifier un client dpend de la machine. Le serveur ssh doit connatre les clefs de toutes les machines partir desquelles lutilisateur souhaite se connecter. 5. Q: Pour plus de scurit, il faut gnrer un couple de cls prive et publique et envoyer la cl publique sur le serveur. Mais, est-ce que le transfert mme de cette cl est scuris? R: Le transfert de la clef publique na pas besoin dtre scuris: elle est publique, donc pas besoin de la chiffrer. Au pire, si elle est corrompue, le client ssh ne pourra pas se connecter. 6. Q: Lors de la manipulation des commandes ssh-add, ssh-agent aprs connexion ssh.int-evry.fr, il mest impossible de transfrer ma cl DSA laide de ssh-add, le message derreur mindique could not open a connection to your authentification agent . Au fait comment lance-t-on un agent? R: Vous navez probablement pas lanc lagent. Relisez nouveau les pages man sur ces commandes et voyez lexemple de session suivant pour millot sur la machine augite (loption -v de ssh permet de suivre les tapes successives de lauthentification et de voir passer lagent...) : o ssh-add -l o Could not open a connection to your authentication agent. o ssh-agent bash o ssh-add -l o The agent has no identities. o ssh-add o Identity added: /inf/arc/millot/.ssh/id_dsa (/inf/arc/millot/.ssh/id_dsa) o Enter passphrase for millot@augite: o ssh-add -l o 1024 a8:df:.......:b9:f6:ee /inf/arc/millot/.ssh/id_dsa (DSA) o ssh -v ssh.int-evry.fr o OpenSSH_3.4p1 Debian 1:3.4p1-1.woody.3, SSH protocols 1.5/2.0, OpenSSL 0x0090603f o debug1: Reading configuration data /etc/ssh/ssh_config o [...] o debug1: authentications that can continue: publickey,password,keyboard- interactive o debug1: next auth method to try is publickey o debug1: userauth_pubkey_agent: testing agent key /inf/arc/millot/.ssh/id_dsa o debug1: input_userauth_pk_ok: pkalg ssh-dss blen 434 lastkey 0x80929d0 hint -1 o debug1: ssh-userauth2 successful: method publickey o [...] previous next INF, Tlcom SudParis, CSC 3001, Sept. 2013