cour exercice unix
TRANSCRIPT
-
8/8/2019 Cour Exercice Unix
1/81
Marc SCHAEFER Conseil et Email : [email protected] 15 ralisations en Tl. : +41 32 841 40 142053 Cernier informatique libre Fax : +41 32 841 40 81Ing. inf. dipl. EPFL http://www.cril.ch/ Mobile : +41 79 502 56 92
Support de cours de prparation delexamen
LPI-101
Marc [email protected]
C + R
Informatique libre
25 avril 2008
LPI-101 RELEASE Revision : 1 . 16
-
8/8/2019 Cour Exercice Unix
2/81
Cernier, le 25 avril 2008
Avant-propos
Ce cours est bas sur mon exprience dadministration systme UNIX depuis 1987, ainsi que de mesexpriences faites ds 1995 sur GNU/Linux et en particulier avec Debian GNU/Linux , un systmede qualit, la fois but personnel et en entreprise, comme conseiller indpendant, ingnieur systmeet dveloppeur.
Il est galement bas sur mes expriences de formateur en logiciels libres et notamment sur GNU/Linux,notamment dans le cadre des formations postgrades ES en cours du soir l ESNIG Neuchtel de-puis 2000, ainsi que de nombreuses formations que jai proposes en entreprise ou dans le cadredassociations comme /ch/open ou le GULL .
Il est galement bas sur la lecture de documentations systmes (page man, info), ainsi que de res-sources Internet.
Ralis dans le but dune certication, le cours tente de suivre exactement le programme obligatoire,de donner les points essentiels, tout en proposant un contexte solide et des exemples jour. Jessaieabsolument dviter le bachottage uniquement en vue de la certication : le but est que la personne quisuit ce cours puisse en bncier largement pour son travail de tous les jours, notamment en apprenantcomment trouver linformation et analyser les problmes.
Ce cours crit saccompagne normalement dextraits dautres cours, dont les droits sont en gnralgalement en licence FDL, parfois co-crits par dautres auteurs. Il insiste surtout sur les complmentsncessaires pour la certication.
Bon apprentissage !
Licence et droits dauteurs
Ce cours est c 2006-2007 CRIL - Marc SCHAEFER. Vous avez cependant le droit de le copier,transmettre, modier et redistribuer, dans la mesure o vous respectez les termes de la licence GFDLet considrez linvariant (les 2 premires pages).
Si vous ne dsirez pas accepter les termes de la licence, je vous donne malgr tout le droit de consulterce cours sans restrictions (ce qui devrait tre vident !)
Dans tous les cas, vous devez accepter le fait que je dcline toute responsabilit quant lutilisationque vous pourriez faire de ce cours et ne mengage en rien ce propos.
Marc SCHAEFERIng. inf. dipl. EPFL
Conseil et ralisations en informatique li bre (CRIL)http://www.cril.ch/
http://www.cril.ch/http://www.cril.ch/http://www.cril.ch/ -
8/8/2019 Cour Exercice Unix
3/81
Table des matires1 Ar chitecture et matriel 4
1.1 BIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Cartes modems et son . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3 Priphriques SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . 101.4 Conguration de cartes dexpansion . . . . . . . . . . . . . . . . . . . . . . . . . . 151.5 Priphriques de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.6 Priphriques USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2 X Window System 202.1 The X Window System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.2 Conguration de XFree86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.3 Conguration dun gestionnaire de connexion . . . . . . . . . . . . . . . . . . . . . 252.4 Conguration dun gestionnaire de fentre et des re ssources . . . . . . . . . . . . . 272.5 Travail distant et scurit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3 Ins tallation et gestion des packages 293.1 Dnition du partitionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.2 Conguration du dmarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.3 Compilation et installation locale depuis la source . . . . . . . . . . . . . . . . . . . 353.4 Gestion des bibliothques dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . 363.5 Systme de packaging Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.6 Systme de packaging Red Hat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4 Pr iphriques et standard de hirarchie FHS 414.1 Cration de partitions et de systm es de chiers . . . . . . . . . . . . . . . . . . . . 42
4.2 Maintenir lintgrit des systmes de chiers . . . . . . . . . . . . . . . . . . . . . 464.3 Montage et dmontage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.4 Gestion des quotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.5 Gestion des permissions daccs aux donnes . . . . . . . . . . . . . . . . . . . . . 534.6 Propritaires et groupes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.7 Liens symboliques et durs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.8 Trouver et placer les chiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5 Commandes UNIX et GNU 585.1 Travailler en ligne de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595.2 Filtres de traitement de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.3 Gestion des chiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635.4 Fichiers, pipes et redirections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.5 Crer, surveiller et tuer des proce ssus . . . . . . . . . . . . . . . . . . . . . . . . . . 665.6 Modication des priorits dexcution . . . . . . . . . . . . . . . . . . . . . . . . . 675.7 Recherche textuelle avec expressions rgulires . . . . . . . . . . . . . . . . . . . . 695.8 Edition de texte avec vi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6 Corrig des exercices 71
-
8/8/2019 Cour Exercice Unix
4/81
LPI-101 Chapitre 1: Architecture et matrielp. 4
1
'
&
$
%
1. Architecture et matrielContenu du chapitre
introduction gnrale au support du matriel sous GNU/Linux conguration du BIOS, de cartes modems et son, de priphriques SCSI, de cartes
dexpansion conguration de priphriques de communication (y compris accs Internet) conguration de priphriques USB
Buts du chapitre
savoir quel sous-systme gre quel type de priphriques
savoir comment dterminer lidentication dun priphrique savoir comment congurer manuellement certains priphriques savoir o trouver linformation (systme, Internet) connatre les dtails spciques pour certains bus et types de priphriques
support de cours additionnel : cours Matriel
Ce premier chapitre traite principalement du matriel et de la place de celui-ci dans GNU/Linux, ainsi
que des outils et moyens disposition pour dterminer le type de priphrique et son identication,activer et congurer celui-ci. Des cas pratiques sont tudis. Le dmarrage bas niveau et la gomtriedes disques sont galement traits.
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
5/81
LPI-101 Chapitre 1: Architecture et matrielBIOS p. 5
2
'
&
$
%
BIOS 1.1
Rsum des concepts importants
diffrence entre CHS/LBA/LARGE (mapping incompatible entre nombre de blocs et(cylindre, tte, secteurs)) et raison de lemploi du mode LBA ( > 1024 cylindres) pourdes disques jusqu 8 GB
activation et dactivation de priphriques intgrs dans le BIOS et raison(interruptions libres)
conguration du mode derreur du BIOS (p.ex. serveur sans clavier)
conguration du dmarrage (disque, CD, oppy, etc) /proc , dmesg , hdparm , . . .
Lectures supplmentaires
http://www.tldp.org/HOWTO/Large-Disk-HOWTO.html
Exercices1. dterminez le mode de mapping actuel via le log du kernel (indication : dmesg )2. activez et dsactivez certains priphriques (p.ex. port parallle) et vriez leur prsence/absence
dans le systme
3. vriez que vous pouvez dmarrer sans clavier
4. vriez que le systme ne dmarre que sur le disque-dur
5. donnez deux mthodes pour dterminer la mmoire totale disponible dans le systme (indica-tion pour la 2 e mthode : grep et quelque chose dans /proc )
6. consultez la page man de hdparm et :
(a) consultez la gomtrie du disque
(b) dterminez ltat de consommation / alimentation / conomie dnerge du disque
(c) vriez si le DMA est activ, changez ltat et testez la performance
(d) comment rendre le disque en lecture seulement (ne pas le faire)
7. en consultant les lectures supplmentaires ci-dessus, rpondez aux questions suivantes :
(a) avec votre version du kernel ( uname -r ), avez-vous des problmes avec des grandsdisques ?
(b) si le kernel na pas de problme, quels peuvent tre les autres problmes ?
(c) quoi peut servir loption lba32 de LILO ? que faut-il faire avec un grand disque sansloption lba32 ?
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
http://www.tldp.org/HOWTO/Large-Disk-HOWTO.htmlhttp://www.tldp.org/HOWTO/Large-Disk-HOWTO.html -
8/8/2019 Cour Exercice Unix
6/81
LPI-101 Chapitre 1: Architecture et matrielCartes modems et son p. 6
3
'
&
$
%
Cartes modems et son 1.2
Modems sous GNU/Linux : principes gnraux
soit modem srie connect un UART (port srie RS-232C/V24-V28) soit modem interne (intgr la carte-mre ou carte PCI/ISA)
soit mulant un UART supplmentaire soit pilote spcique, voire Winmodem
soit modem externe USB compatible CDC/ACM (Communication Device Class, Abstract Control Model),
via pilote acm.o
incompatible les modems ADSL ou cble ne sont pas traits ici
Compatibilit
bonne pour les UARTs, bonne en USB compatible CDC, mauvaise bonne pour lesWinmodems
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
7/81
LPI-101 Chapitre 1: Architecture et matrielCartes modems et son p. 7
4
'
&
$
%
Winmodem
Un modem simpli sans intelligence, qui est gr par le systme hte (DSP). Utilise
plus de ressources, pilote propritaire (sil existe). Moins cher en gnral.Conguration
Le port srie standard est en gnral congur automatiquement. Parfois il faut faireappel setserial puis sarranger pour que le systme sauvegarde cette conguration.
Sil sagit dune carte ISA PNP, loutil isapnp est ncessaire. Le BIOS PnP peut aussi
faire la conguration automatiquement.
Priphrique
/dev/ttyS0 , ou /dev/ttyI0 (mulation ISDN), ou encore/dev/usb/ttyACM0 , . . .
5
'
&
$
%
Dial-in
Rception dappel par GNU/Linux via contrle de tty (un getty), p.ex. getty ,agetty , mgetty .
Le tout est gr par init , congur dans /etc/inittab . Aprs changement lancertelinit q pour recharger la conguration.
Dial-out Fonctionnement typique dun accs Internet : ouverture du priphrique (p.ex./dev/ttyS0 ), verrouillage (p.ex. chier dans /var/lock ), composition etinteractivit ( chat ), lancement du programme ncessaire (p.ex. pppd ).
Gnralement : programme de terminal : minicom , simpli : cu accs Internet : pppd , wvdial , wvdialconf
automatique : dip , diald , pppd historique : UUCP, SLIP/CSLIP, FTN
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
8/81
LPI-101 Chapitre 1: Architecture et matrielCartes modems et son p. 8
6
'
&
$
%
Carte son
Lancienne mthode de conguration est via lutilitaire ncurses (mode texte)
sndconfig . Il dtectera la carte son et proposera une conguration par dfaut, ou unmode manuel o lon choisit la carte son.
Les modications aux chiers /etc/isapnp.conf et /etc/conf.modules (ou/etc/modules.conf ) sont automatiques.
Un test automatique est effectu.
largement obsolte aujourdhui avec les autodtecteurs
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
9/81
LPI-101 Chapitre 1: Architecture et matrielCartes modems et son p. 9
7
'
&
$
%
Rsum des concepts importants
compatibilit : diffrence modem-UART ou Winmodem (et o trouver les pilotesventuellement)
IRQ, E/S et DMA uniques et correctes cartes PNP : conguration ISA PNP conguration carte son de base conguration modem pour dial-up (y compris PPP/CSLIP/SLIP) et dial-in (getty) s etserial , getty , agetty , mgetty , /etc/inittab , telinit q ,
minicom , sndconfig , isapnp , pnp dump , /etc/isapnp.conf , pppd ,s lmodem .
Lectures supplmenta ires
http://www.tldp.org/HOWTO/Modem-HOWTO.html http://linmodems.org/ http://www.tldp.org/HOWTO/Winmodems-and-Linux-HOWTO.html http://www.linux-usb.org/USB-guide/x332.html
Exercices1. quelle est la diffrence entre un modem interne, un modem externe sur port srie (RS-232/V24-V28) et un modem USB ?
2. o trouver les pilotes pour un Winmodem propritaire ?
3. dterminez le nom de priphrique du modem et congurez-le pour 115 kBit/s ( setserial )
4. activez le dial-in sur ce modem ( /etc/inittab , telinit q ) et vriez que le processusgetty concern tourne (utilisez plutt agetty de prfrence), comprenez les diffrentsarguments !
5. comment crer les priphriques (chiers spciaux de type priphriques) UNIX pour 4 mo-
dems USB compatibles CDC ?6. comment crer une conguration minicom ?
7. quel utilitaire peut-tre utilis pour congurer simplement une carte son ?
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
http://www.tldp.org/HOWTO/Modem-HOWTO.htmlhttp://www.tldp.org/HOWTO/Modem-HOWTO.htmlhttp://www.tldp.org/HOWTO/Modem-HOWTO.htmlhttp://www.tldp.org/HOWTO/Modem-HOWTO.htmlhttp://www.tldp.org/HOWTO/Modem-HOWTO.htmlhttp://www.tldp.org/HOWTO/Modem-HOWTO.htmlhttp://www.tldp.org/HOWTO/Modem-HOWTO.htmlhttp://www.tldp.org/HOWTO/Modem-HOWTO.htmlhttp://www.tldp.org/HOWTO/Modem-HOWTO.htmlhttp://www.tldp.org/HOWTO/Modem-HOWTO.htmlhttp://www.tldp.org/HOWTO/Modem-HOWTO.htmlhttp://www.tldp.org/HOWTO/Modem-HOWTO.htmlhttp://linmodems.org/http://linmodems.org/http://linmodems.org/http://linmodems.org/http://linmodems.org/http://linmodems.org/http://linmodems.org/http://www.tldp.org/HOWTO/Winmodems-and-Linux-HOWTO.htmlhttp://www.tldp.org/HOWTO/Winmodems-and-Linux-HOWTO.htmlhttp://www.linux-usb.org/USB-guide/x332.htmlhttp://www.linux-usb.org/USB-guide/x332.htmlhttp://www.tldp.org/HOWTO/Winmodems-and-Linux-HOWTO.htmlhttp://linmodems.org/http://www.tldp.org/HOWTO/Modem-HOWTO.html -
8/8/2019 Cour Exercice Unix
10/81
LPI-101 Chapitre 1: Architecture et matrielPriphriques SCSI p. 10
8
'
&
$
%
Priphriques SCSI 1.3
Principes gnraux
protocole trs rpandu ! SCSI Parallel Interface (SPI)
50 (narrow ) ou 68 broches ( wide ) 8 respectivement 16 priphriques (SCSI ID 0-7 ou 0-15) plusieurs bus incompatibles lectriquement vitesses de 1 320 MByte/s, ngociable pour chaque quipement
terminaison de bus ncessaire chaque extrmit, y compris demi-bus longueurs de bus variables Host Adapter (HA), carte SCSI ID unique (SCSI ID) pour chaque priphrique. Le HA galement ! concept de LUN nombreux types de priphriques
SCSI est un protocole trs gnral qui est beaucoup plus rpandu que lon pourrait penser : il estprsent par exemple dans linterface 50 ou 68 broches SCSI parallle bien connue (SCSI ParallelInterface, SPI), mais aussi dans le bus USB notamment pour les priphriques de stockage, FireWire(IEEE-1394), FibreChannel, iSCSI (SCSI sur TCP/IP), etc.
Linterface SCSI parallle (SPI) propose deux largeurs de bus : 50 ( narrow , 8 bits) ou 68 broches(wide , 16 bits) pour 8 respectivement 16 priphriques (SCSI ID 0-7 ou 0-15). Le bus large est, mme frquence de bus, 2 fois plus rapides pour les transferts de donnes.
Electriquement, ces bus sont soit Single-Ended , Differential ou aujourdhui Low-Voltage Differential (LVD) . Le type de bus dnit la vitesse maximum (frquence max) du bus, qui va de 1 320 MByte/saujourdhui en tenant compte de la largeur de bus. La vitesse est ngocie pour chaque quipement.Une terminaison de bus ncessaire chaque extrmit, y compris demi-bus (p.ex. un bus internenarrow et un bus externe wide : la carte doit tre termine uniquement sur les 8 bits suprieurs : HighOn, Low Off puis les deux bus doivent tre termins leur extrmit (p.ex. sur un priphrique). Leslongueurs des bus (mesurs depuis les extrmits les plus longues) sont variables suivant la vitessecongure et le type de bus : p.ex. 12m pour LVD, 3m pour Ultra-SCSI (40 MByte/s en wide, 20MByte/s en narrow).
Si des quipements plus anciens sont connects au bus, le bus entier passe au fonctionnement lec-trique compatible (p.ex. SE) si support, puis ngocie une vitesse plus faible pour cet quipement.
Chaque priphrique a un ID unique (SCSI ID), y compris le HA, congur par des cavaliers ou
par logiciel ; un protocole dassignation automatique (SCAM, SCSI Congured Auto Magically ) na jamais t dploy.
Les types de priphriques supports sont : disque, cassette, scanner, CD-ROM, graveur, communi-
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
11/81
LPI-101 Chapitre 1: Architecture et matrielPriphriques SCSI p. 11
cation, processeur, etc. Des priphriques complexes peuvent tre dcomposs en sous-priphriquesadresss par LUN (Logical Unit) : p.ex. changeur de cassette
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
12/81
LPI-101 Chapitre 1: Architecture et matrielPriphriques SCSI p. 12
9
'
&
$
%
BIOS SCSI
liste des priphriques avec leur type, description courte et ID (vt. aussi LUN)
possibilit de modier le SCSI ID du HA (usuellement 7 sur les cartes SCSI des PC) possibilit de congurer le SCSI ID/LUN de dmarrage possibilit de modier les paramtres des priphriques un un (vitesse, largeur de
bus, ignorer, etc) possibilit de modier les paramtres de terminaison du bus fonctions de vrication et de formatage bas-niveau pour les disques
BIOS systme
Conguration ordre IDE/SCSI
Le PC accde au bus SCSI via un Host Adapter (HA), soit une carte SCSI, qui comporte en rglegnrale un BIOS spcique qui permet de dnir les paramtres de ngociation (vitesse, largeurde bus, etc) pour chaque priphrique, congurer le HA lui-mme (numro ID SCSI, terminaison,dmarrage ID/LUN) et offre des outils de test et de formatage pour les disques.
Le BIOS systme permet parfois de congurer lordre de dmarrage entre SCSI et IDE.
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
13/81
LPI-101 Chapitre 1: Architecture et matrielPriphriques SCSI p. 13
0
'
&
$
%
SCSI et (GNU/)Linux
logiciellement Linux voit en gnral les disques SATA et graveurs ainsi que les
priphriques de stockage USB comme des priphriques SCSI ( /dev/sda1 ,/dev/scd0 , /dev/st0 , /dev/sg0 , . . .) (via p.ex. ide-scsi.o ouusb-storage.o ).
IDE/ATA : pour ce faire ajouter hdc=ide-scsi , pour ici un graveur sur/dev/hdc , la ligne de commande du kernel (sera accd via /dev/scd0 , et pourle gravage transparent via /d e v/sgX )
option de kernel max_scsi_luns=1 pour problme au dmarrage on peut ajouter/supprimer un priphrique dynamiquement (hotplug) via
echo "scsi add-single-device 0 1 2 3" >/proc/scsi/scsi
("Host Channel Id Lun" ; voir aussi remove-single-device ) les outils scsi_info a permettent de visualiser des paramtres des disques, formater
ou faire dautre soprations spciques.anom rel de la commande : scsiinfo
Exemple de /proc/scsi/scsi :
machine:~# cat /proc/scsi/scsiAttached devices:Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: TSSTcorp Model: CD/DVDW SH-W162C Rev: TS10Type: CD-ROM ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00Vendor: MAXTOR Model: ATLAS10K4_36SCA Rev: DFV0Type: Direct-Access ANSI SCSI revision: 03
Host: scsi1 Channel: 00 Id: 03 Lun: 00Vendor: MAXTOR Model: ATLAS10K4_36SCA Rev: DFV0Type: Direct-Access ANSI SCSI revision: 03
On voit ici deux bus virtuels (un form probablement de ide-scsi , et un dun HA SCSI avec 2disques-durs).
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
14/81
LPI-101 Chapitre 1: Architecture et matrielPriphriques SCSI p. 14
1
'
&
$
%
Rsum des concepts importants
BIOS SCSI
BIOS systme : ordre de dmarrage SCSI/IDE/SATA kernel : options de dmarrage (LUNs, ide-scsi) outils SCSI spciques s csi_info , /proc/scsi , /proc/scsi/scsi , ide-scsi.o , /etc /fstab ,
/ dev/scd0 , /dev/cdrom , cdrecord .
Lectures supplmentaires
http://www.tldp.org/HOWTO/CD-Writing-HOWTO.html http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO/ http://www.paralan.com/sediff.html http://www.scsita.org/
Exercices1. quy a-t-il dans /proc/scsi ?2. combien de priphriques peuvent tenir place sur un bus SCSI narrow ?
3. comment rendre possible le gravage sur un graveur IDE/ATA ? Que devez-vous faire ensuitepour pouvoir tout de mme monter des CD-R comme avant ?
4. vous dmarrez votre systme, et lors de la dtection SCSI, un priphrique est vu tous lesLUNs et/ou bloque, que proposez-vous ?
5. si vous enlevez le disque 2 SCSI ID, et quil reste les 0 et 3, que se passe-t-il pour le nom usueldu disque 3 ?
6. comment dterminez-vous le nom de priphrique pour cdrecord ?
7. comment obtenez-vous des informations sur un disque SCSI ? (proposez 2 commandes)
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO/http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO/http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO/http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO/http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO/http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO/http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO/http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO/http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO/http://www.paralan.com/sediff.htmlhttp://www.paralan.com/sediff.htmlhttp://www.paralan.com/sediff.htmlhttp://www.paralan.com/sediff.htmlhttp://www.paralan.com/sediff.htmlhttp://www.paralan.com/sediff.htmlhttp://www.scsita.org/http://www.paralan.com/sediff.htmlhttp://www.tldp.org/HOWTO/SCSI-2.4-HOWTO/http://www.tldp.org/HOWTO/CD-Writing-HOWTO.html -
8/8/2019 Cour Exercice Unix
15/81
LPI-101 Chapitre 1: Architecture et matrielConguration de cartes dexpansion p. 15
2
'
&
$
%
Conguration de cartes dexpansion 1.4
Rsum des concepts importants
dtection par le BIOS conguration automatique (PCI, PCMCIA, ISA PNP), voire manuelle (ISA pur) viter le partage de ressources (IRQ p.ex.) dans le cas gnral l spci , /proc/pci , /proc/dma , /proc/interrupts , /proc/ioports ,
p npdump , isapnp , /etc/isapnp.conf , setpci .
Lectures supplmentaires
http://www.tldp.org/HOWTO/PCI-HOWTO.html http://www.faqs.org/docs/Linux-HOWTO/SMP-HOWTO.html http:
//www.roestock.demon.co.uk/isapnptools/isapnpfaq.html
Exemple isapnp :
mls-firewall:~# cat /proc/isapnpCard 1 EDI0216:PLUG & PLAY ETHERNET CARD PnP version 1.0
Logical device 0 EDI0216:UnknownSupported registers 0x2Compatible device PNP80d6Device is activeActive port 0x260Active IRQ 11 [0x2]
Active memory 0xd8000ff,0xffResources 0Priority preferredPort 0x260-0x3e0, align 0x1f, size 0x20, 10-bit address decodingIRQ 3,4,5,2/9,10,11,12,15 High-Edge
Ensuite, avec pnpdump , crer un chier de conguration squelette pour /etc/isapnp.conf , ymodier des paramtres ventuels (comme p.ex. activer ou dsactiver des jeux de conguration, choi-sir une interruption, etc) qui seront lus et appliqus.
Des cartes non PNP ou fonctionnant mal peuvent ncessiter un chargement explicite du pilote ou laspcications doptions dans /etc/conf.modules (ou /etc/modules.conf ), voire le char-
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
http://www.tldp.org/HOWTO/PCI-HOWTO.htmlhttp://www.faqs.org/docs/Linux-HOWTO/SMP-HOWTO.htmlhttp://www.faqs.org/docs/Linux-HOWTO/SMP-HOWTO.htmlhttp://www.faqs.org/docs/Linux-HOWTO/SMP-HOWTO.htmlhttp://www.faqs.org/docs/Linux-HOWTO/SMP-HOWTO.htmlhttp://www.faqs.org/docs/Linux-HOWTO/SMP-HOWTO.htmlhttp://www.faqs.org/docs/Linux-HOWTO/SMP-HOWTO.htmlhttp://www.faqs.org/docs/Linux-HOWTO/SMP-HOWTO.htmlhttp://www.faqs.org/docs/Linux-HOWTO/SMP-HOWTO.htmlhttp://www.faqs.org/docs/Linux-HOWTO/SMP-HOWTO.htmlhttp://www.faqs.org/docs/Linux-HOWTO/SMP-HOWTO.htmlhttp://www.roestock.demon.co.uk/isapnptools/isapnpfaq.htmlhttp://www.roestock.demon.co.uk/isapnptools/isapnpfaq.htmlhttp://www.roestock.demon.co.uk/isapnptools/isapnpfaq.htmlhttp://www.roestock.demon.co.uk/isapnptools/isapnpfaq.htmlhttp://www.roestock.demon.co.uk/isapnptools/isapnpfaq.htmlhttp://www.roestock.demon.co.uk/isapnptools/isapnpfaq.htmlhttp://www.roestock.demon.co.uk/isapnptools/isapnpfaq.htmlhttp://www.roestock.demon.co.uk/isapnptools/isapnpfaq.htmlhttp://www.roestock.demon.co.uk/isapnptools/isapnpfaq.htmlhttp://www.roestock.demon.co.uk/isapnptools/isapnpfaq.htmlhttp://www.roestock.demon.co.uk/isapnptools/isapnpfaq.htmlhttp://www.faqs.org/docs/Linux-HOWTO/SMP-HOWTO.htmlhttp://www.tldp.org/HOWTO/PCI-HOWTO.html -
8/8/2019 Cour Exercice Unix
16/81
LPI-101 Chapitre 1: Architecture et matrielConguration de cartes dexpansion p. 16
gement manuel dans /etc/modules .
Exercices1. listez les interruptions , les ports dE/S , les canaux DMA et les priphriques PCI dtects
(deux mthodes). Y-a-t-il des interruptions partages ?2. comptez le nombre de priphriques PCI ( wc -l )
3. y-a-t-il des bridges PCI ou ISA?
4. consultez la page man de lspci et :
(a) afchez un arbre du bus PCI ( lspci )
(b) listez uniquement les priphriques du fabricant Intel
5. consultez la page man de setpci et :
(a) dterminez le rle de cet utilitaire
(b) montrez un exemple daccs un registre6. utilisez-vous un XT-PIC ou un APIC?
7. y-a-t-il des cartes ISA-PNP sur votre machine ?
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
17/81
LPI-101 Chapitre 1: Architecture et matrielPriphriques de communication p. 17
3
'
&
$
%
Priphriques de communication 1.5
Trait dans la section modem, sauf :
diffrence routeur/switch DSL isdn4linux, mulation /dev/ttyI, MSN
Diffrence routeur-switch/modem DSL Un routeur/switch est adress directement en IP sur Ether-net. On congure simplement la carte rseau comme dhabitude 1 , en indiquant ladresse IP du routeur congurable par GUI WWW voir la documentation constructeur comme passerelle par dfaut, eten activant ventuellement le DHCP. Cette mthode est un peu plus chre mais la plus simple.
Un modem DSL est accd soit comme un modem USB (il faut donc des pilotes USB, ventuellementpour ce modem spcique, peut-tre propritaires voire inexistants !), soit via Ethernet dans un modespcial (PPPoE). Dans ce cas, aucune conguration IP nest ncessaire sur cette interface. Les donnesIP/PPP sont changes simplement via Ethernet plutt quUSB. Cette variante sappelle PPP-over-Ethernet (PPPoE) et est plus simple congurer sous GNU/Linux que la variante USB. Dans les
deux cas, cest pppd qui est utilis pour lchange de trames IP via PPP.
Emulation de tty en ISDN De manire utiliser des cartes ISDN PCI ou USB avec des logicielssattendant une interface srie et des commandes AT Hayes, le sous-systme isdn4linux impl-mente une couche de compatibilit tty ( isdn-tty ). Les priphriques sont usuellement nomms/dev/ttyI0 et suivants, supportent le jeu de commande AT.
Certains pilotes supportent le fax ou la voix via ce biais galement, encore quen gnral cela serautilis pour des connexions numriques X.75 (p.ex. change de chiers).
Pour un fonctionnement correct, le MSN ( Multiple Subscriber Number , le numro de tlphone)utilis doit tre congur, soit via des commandes AT, soit via loutil isdnctrl . Enn, le mode
1commandes ifconfig , chier /etc/network/interfaces , cf LPI-102
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
18/81
LPI-101 Chapitre 1: Architecture et matrielPriphriques de communication p. 18
synchrone ( ipppd ) nutilise pas ces mulations de tty.
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
19/81
LPI-101 Chapitre 1: Architecture et matrielPriphriques USB p. 19
4
'
&
$
%
Priphriques USB 1.6
Rsum des concepts importants
hirarchie des pilotes types de Host Controller (courant : usb-uhci.o , Compaq : usb-ohci.o , rapide :
usb-ehci.o ) listage : lsusb , usbview , /proc/bus/usb recherche de pilote manuelle : usbmodules hotplug , le kernel lance /etc/hotplug/pci.agent ,
/etc/hotplug/usb.agent ; /etc/init.d/hotplug au dmarrage dusystme.
applications USB gphoto2 --summary
Classes de pilotes Si les priphriques USB sont en gnral supports par des pilotes kernel g-nriques (p.ex. disque-dur ou USB stick via usb-storage ), parfois des pilotes kernel spciquessont ncessaires, malheureusement certains propritaires.
Dans deux cas, des pilotes spciques ne sont pas ncessaires dans le kernel :
scanners on utilise un pilote en user-space, dans sane
camras les camras (pas en mode stockage) sont accds via le pilote user-space libgphoto , p.ex.via GIMP ou KDE.
Exercices1. de quel type(s) de Host Controller dispose votre machine ? (indication : aussi lsmod )2. listez le bus USB
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
20/81
LPI-101 Chapitre 2: X Window Systemp. 20
5
'
&
$
%
2. X Window System
Contenu du chapitre
conguration de XFree86 (y.c. serveur de fontes) conguration dun gestionnaire de connexion (Display Manager, DM) conguration dun gestionnaire de fentre et des ressources X11 travail distant et scurit X11
Buts du chapitre
connatre la structuration de X
savoir congurer un serveur X savoir congurer un serveur de fontes savoir congurer un environnement graphique simple X tre capable douvrir des sessions distantes (TCP ou tunnel SSH) tout en grant la
scurit X11
support de cours additionnel : Guide UNIX
Ce chapitre traite principalement de X11, le systme de fentrage multi-plateforme multi-cran multi-application standard ainsi que de la mise en place simple dun gestionnaire de connexion (y comprispour un serveur de terminaux), de la conguration dun gestionnaire de fentres et des ressourcesX11, du travail dans lenvironnement ainsi que de la scurit X11.
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
21/81
LPI-101 Chapitre 2: X Window SystemThe X Window System p. 21
6
'
&
$
%
The X Window System 2.1
Rsum des concepts importants
X11 rseau client-serveur (invers !) display-manager, window-manager, session-manager serveur de fontes (polices) optionnel aujourdhui extensions pour performance pas dans le kernel (mais . . .)
XFree86 (et X.org aujourdhui) i mplmente un serveur X LPI traite de XFree86 3.3.x
Lectures supplmentaires
http://en.wikipedia.org/wiki/X_Window_System http://www.x.org/
The X Window System, X, X11, X11R6 est le systme de fentrage standard sous UNIX. Le nom Xvient du fait que le systme de fentrage prcdent sappelait w, comme Window System. Dvelopporiginalement au MIT ds 1984, la version utilise aujourdhui, X11R6 1 , dispose dune implmen-tation libre originellement pour plateforme IA32 (i386), mais qui aujourdhui est multi-plateforme :X.Org .
Des implmentations propritaires existent galement.
Le principe gnral de X repose sur un modle client-serveur rseau, o le serveur est celui qui offreles services daccs lcran : cela signie que bien souvent le client tourne sur un serveur UNIX, etle serveur dsigne le poste de travail qui afche les donnes du client.
Cela signie aussi que le support de Terminal Services est un simple effet de bord du protocole etnon pas un ajout aprs-coup. Sauf peut-tre pour quelques applications modernes qui utilisent desextensions locales, comme par exemple laccs direct au frame buffer de lcran pour des raisons deperformance et ne supporteraient pas un mode plus lent.
XDMCP (X Display Manager Control Protocol) offre des services de localisation dun display-manager, ce qui permet de se connecter graphiquement depuis un terminal X.
Les composants de X sont :
client une application qui dsire afcher quelque chose
serveur X ce qui contrle lafchage (peut dans certains cas tre un client galement)
terminal X quivalent de serveur X, en gnral plutt ddi et sans applications locales
1X11R7 annonc en dcembre 2005.
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
http://en.wikipedia.org/wiki/X_Window_Systemhttp://www.x.org/http://www.x.org/http://en.wikipedia.org/wiki/X_Window_System -
8/8/2019 Cour Exercice Unix
22/81
LPI-101 Chapitre 2: X Window SystemThe X Window System p. 22
window-manager client particulier qui gre le placement, la dcoration des fentres et les actionssur celles-ci
display-manager client X spcial, disposant souvent dun serveur XDMCP.
session-manager gestion des applications lances, support de sauvegarde/restauration de leur contexte.
desktop-environment combinaison dun session-manager, dun window-manager et doutils spcia-liss (comme des menus, une barre des tches, un gestionnaire de chiers, etc).
Les fontes peuvent tre bitmap ou gnres (True Type p.ex.). Elles sont accdes soit du systme dechiers par le serveur X directement, soit via un serveur de polices qui peut tre centralis.
Sous GNU/Linux et la plupart des systmes dexploitation, le serveur X nest pas implment dans lekernel mais est une application privilgie. Une partie de limplmentation matrielle peut, cependant,se situer dans le kernel (frame-buffer, DGA (Direct Graphics Access), etc).
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
23/81
LPI-101 Chapitre 2: X Window SystemConguration de XFree86 p. 23
7
'
&
$
%
Conguration de XFree86 2.2
Rsum des concepts importants
conguration du chier /etc/X11/XF86Config , via divers outils, comme :XF86Setup , xf86config
adaptation ne avec xvidtune dmarrage/arrt de diverses manires, p.ex. via telinit 5 et telinit 3 si
congur dans /etc/inittab serveur de fontes xfs
Lectures supplmentaires
http://www.tldp.org/HOWTO/XFree86-HOWTO/ http://www.linuxfibel.de/xf86setup.htm
En gnral, la conguration automatique fonctionne bien. Parfois il faut ladapter ou la modier pourdiffrentes raisons. Il y a plusieurs niveaux de conguration :
1. GUI de conguration : en gnral, elle se borne choisir par mi des prcongurations dans lechier de conguration de X11, /etc/X11/XF86Config 1
2. auto-dtecteur / auto-installateur
3. interface de conguration Debiandpkg-reconfigure xserver-xfree86 2
(peut cohabiter avec des modications manuelles)
4. conguration avec XF86Setup (XFree86 3.x seulement), graphique en Tcl/Tk
5. conguration en mode texte avec xf86config
6. conguration standard via XFree86 -configure 3
Parfois il faut modier le chier de conguration /etc/X11/XF86Config la main. On peutaussi employer lutilitaire xvidtune pour modier des paramtres trs nement et graphiquement,ou encore Xfine2 .
Sous GNU/Linux, le serveur X peut tre dmarr de plusieurs manires suivant la distribution et lesbesoins :
1Version 4 : /etc/X11/XF86Config-4 ; actuellement : xserver-xorg/etc/X11/xorg.conf
2ds Debian etch et Ubuntu : dpkg-reconfigure xserver-xorg3xorg -configure
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
http://www.tldp.org/HOWTO/XFree86-HOWTO/http://www.tldp.org/HOWTO/XFree86-HOWTO/http://www.tldp.org/HOWTO/XFree86-HOWTO/http://www.tldp.org/HOWTO/XFree86-HOWTO/http://www.linuxfibel.de/xf86setup.htmhttp://www.linuxfibel.de/xf86setup.htmhttp://www.linuxfibel.de/xf86setup.htmhttp://www.tldp.org/HOWTO/XFree86-HOWTO/ -
8/8/2019 Cour Exercice Unix
24/81
LPI-101 Chapitre 2: X Window SystemConguration de XFree86 p. 24
1. via une entre dans /etc/inittab , par exemple dans le niveau dexcution 5 :
telinit 5 pour dmarrer
telinit 3 pour stopper
2. via le lancement dun service dans le niveau 2 par exemple, voir un des display-managers :
/etc/init.d/ * dm et /etc/rc2.d/ * dm , ou manuellement (ici display-manager kdm) :/etc/init.d/kdm start pour dmarrer
/etc/init.d/kdm stop pour stopper
3. manuellement, via la commande xinit ou startx :
startx - :1 pour dmarrer lcran virtuel 1 si le 0 est dj pris
xinit - :1 idem, moins spcique GNU/Linux
(sous votre utilisateur, pas root). On peut spcier dans votre chier .xinitrc quel window-manager et quels clients doivent tre spcis (aussi .xsession ).
4. on peut aussi dmarrer le display-manager manuellement, simplement en tapant p.ex. xdm(display-manager xdm).
Pour arrter de manire brusque, on peut faire CTRL-ALT-BACKSPACE , ce qui tue le serveur X(mais sil y a un display-manager actif, il le relancera !)
Le font server xfs (ou xfstt pour True Type) est install simplement, puis on doit indiquer auserveur X quil doit le contacter, puis le redmarrer.
Exemple de conguration :
Section "Files"FontPath "unix/:7100" # local font server
...
Exercices1. comment est dmarr le serveur X dans votre distribution ? (est-ce via /etc/inittab ou
via /etc/init.d/ * dm ?)
2. que se passe-t-il si vous tapez cat /dev/psaux et que vous dplacez la souris ? (sortezavec CTRL-C ).
3. dmarrez un deuxime serveur X sous votre utilisateur :
(a) revenez la console 1 : CTRL-ALT-F1
(b) connectez-vous sous votre utilisateur
(c) lancez un serveur X manuellement sur le 2 e cran virtuel avec : startx -- :1
(d) passez dun serveur X lautre avec CTRL-ALT-F7 et CTRL-ALT-F8
(e) tuez le 2 e avec CTRL-ALT-BACKSPACE
4. quel chier permet dindiquer startx quel window manager / quelle session dmarrer?
5. un font-server est-il congur ? sinon installez-le, congurez-le et vriez quil est utilis(p.ex. via XFree86 2>/tmp/start-log )
6. congurez votre serveur X avec : xf86config7. congurez votre serveur X avec : XFree86 -configure
8. adaptez les paramtres avec xvidtune
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
25/81
LPI-101 Chapitre 2: X Window SystemConguration dun gestionnaire de connexion p. 25
8
'
&
$
%
Conguration dun gestionnaire de connexion 2.3
Rsum des concepts importants
gestionnaire de connexion (Display Manager, DM) protocole XDMCP /etc/inittab , /etc/init.d/ * dm , /etc/rc?.d/ * dm ,
/etc/X11/{x,k,g}dm/ *
Lectures supplmentaires
http://www.ltsp.org/
Le principe gnral est que si lon dsire un login graphique, on utilise un Display Manager. Les choixsont xdm, kdm, gdm pour respectivement une version simple, KDE et GNOME. Le Display Managerpermet de lancer une session sous un utilisateur particulier (quel que soit lenvironnement (window-manager, bureau, etc) dsir et aussi par exemple une session sans chec ( failsafe ) qui comporte engnral un simple terminal ( xterm ).
Le Display Manager gre un ou plusieurs crans de faon xe (et lance les serveurs X considrsou y accde (terminaux X)). Il supporte galement, optionnellement, un protocol nomm XDMCP,X Display Manager Control Protocol, qui a pour but de permettre des terminaux et serveurs Xdinterroger un DM pour obtenir la liste des DM disponibles ( chooser ) ou daccder directementun DM donn sur un rseau.
Le dmarrage automatique du DM est gr comme dj vu dans la section prcdente.
On retrouve les congurations dans /etc/X11/xdm/ , /etc/X11/gdm/ et /etc/kde3/kdm/par exemple.
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
26/81
LPI-101 Chapitre 2: X Window SystemConguration dun gestionnaire de connexion p. 26
Exercices1. activez et dsactivez le Display Manager
2. changez le message de bienvenue du Display Manager
3. changez le nombre de couleurs (bitplanes) du Display Manager
4. activez le protocole XDMCP pour votre voisin5. lancez de faon permanente un deuxime serveur X (chier Xservers )
6. testez
(a) X -query localhost :1
(b) X -indirect localhost :1
(c) sous votre utilisateur et sous X11 : Xnest -query localhost :1
(d) de mme pour le XDMCP de votre voisin !
7. dsactivez le XDMCP et vriez p.ex. avec netstat -anp
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
27/81
LPI-101 Chapitre 2: X Window SystemConguration dun gestionnaire de fentre et des ressources p. 27
9
'
&
$
%
Conguration dun gestionnaire de fentre et des ressources 2.4
Rsum des concepts importants
gestionnaire de fentres (Window Manager, WM) gestionnaire de bureau / denvironnement (p.ex. GNOME et KDE) conguration par utilisateur dans .Xresources .xinitrc , .Xdefaults
Lectures supplmentaires
http://www.linuxdocs.org/HOWTOs/XWindow-User-HOWTO-6.html
On peut congurer les paramtres dafchage dans votre chier .Xresources (ou .Xdefaults ).Il existe de nombreux Window Managers, comme fvwm2, WindowMaker, olwm, tvtwm, etc.
Exercices1. lancez un xterm avec la couleur de fond rouge (indication : rouge cest red )
2. modiez votre .Xresources de manire ce qu xterm se lance toujours avec un fondrouge. Activez durant la session via xrdb -merge .Xresources . Faut-il faire un liensymbolique de .Xdefaults pour que cela soit actif chaque session?
3. quelles autres proprits sont modiables ? consultez notamment man xterm et aussi/etc/X11/app-default/XTerm .
4. installez le package menu , le window-manager blackbox et malgr la mise en garde modi-ez le menu dans /etc/X11/blackbox/blackbox-menu et mettez jour avecupdate-menus .
5. connectez-vous en failsafe et lancez gnome-session . Quittez. Observez.
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
http://www.linuxdocs.org/HOWTOs/XWindow-User-HOWTO-6.htmlhttp://www.linuxdocs.org/HOWTOs/XWindow-User-HOWTO-6.html -
8/8/2019 Cour Exercice Unix
28/81
LPI-101 Chapitre 2: X Window SystemTravail distant et scurit p. 28
0
'
&
$
%
Travail distant et scurit 2.5
Rsum des concepts importants
variables DISPLAY , XAUTHORITY commandes xhost , xauth chier Xservers ssh -X user@host
Lectures supplmentaires
Guide UNIX, section X Window
Exercices1. est-ce que votre serveur X local autorise les connexions TCP distantes ? sinon, activez-le et v-riez que telnet localhost 6000 accepte une connexion. (indication : cherchez un -chier Xservers , p.ex. /etc/X11/xdm/Xservers , ou /etc/kde3/kdm/Xservers ,ou encore pour gdm la variable DisallowTCP dans le chier /etc/gdm/gdm.conf )
2. autorisez toute la machine de votre voisin vous connecter sur votre serveur. Exprimentez lelancement de xclock , xterm .
3. interdisez laccs par adresse IP, vriez.
4. dsactivez les connexions distantes et vriez avec telnet localhost 6000 .
5. connectez-vous la machine de votre voisin via ssh et lancez des application X11 sur votremachine via le tunnel SSH. Que valent la variable DISPLAY et le cookie dauthenticationX11 ? (indication : vriez que le serveur SSH autorise X11Forwarding , cf /etc/ssh/sshd_config ).
6. depuis votre session graphique :(a) faites su - pour devenir root dans un xterm
(b) faites su pour devenir root dans un xterm
(c) lancez un xterm dans la premire session root.(d) lancez un xterm dans deuxime session root. Que se passe-t-il ? Consultez le man de
su pour comprendre la diffrence.
(e) que faire pour que root ait les droits daccs votre cran localement ? (trois mthodes :une avec une variable denvironnement, une avec xauth , une dernire moins sre avecxhost )
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
29/81
LPI-101 Chapitre 3: Installation et gestion des packagesp. 29
1
'
&
$
%
3. Installation et gestion des packages
Contenu du chapitre
dnition dun schma de partitionnement conguration dun programme de dmarrage compiler et installer un programme source grer les bibliothques dynamiques systme de packaging Debian systme de packaging Red Hat
Buts du chapitre savoir planier la structure des systmes de chiers et partitions de manire correcte savoir congurer LILO et grub savoir dployer correctement des logiciels non packags savoir grer les packages installs
supports de cours additionnels : cours Installation et packaging
Ce chapitre traite principalement de la planication dinstallation dun systme (notamment partition-nement), de la gestion dun systme install (y compris adaptation de la conguration des programmesde dmarrage courants), notamment linstallation manuelle de logiciels non packags (depuis leursource : compilation, installation, dinstallation ; y compris bibliothques partages), ainsi que biensr les outils les plus courants de gestion de packages.
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
30/81
LPI-101 Chapitre 3: Installation et gestion des packagesDnition du partitionnement p. 30
2
'
&
$
%
Dnition du partitionnement 3.1 Rsum des concepts importants
mmoire dchange ( swap ) motivations des choix
emplacement de /boot (< cylindre 1024) performance suivant type dapplication, indpendance limite plusieurs types de fs
points de montage, partitions, systme de chiers : / (racine, root), /var , /home / bin/mount , /sbin/mks wap , /sbin/fdisk , /sbin/mkfs. * ,
/sbin/swapon
Lectures supplmentaires
http://www.debian.org/releases/stable/i386/ch06s03.html.en#di-partition
Une installation de base ne ncessite que deux1
partitions, la partition racine / et une partition de swap(mmoire virtuelle). Le kernel Linux 2.4 est notamment plus performant lorsquun swap est dispo-nible : il peut ainsi y dplacer des donnes non frquemment utilises et donc gagner en performancedisque (puisque les caches disques sont alloues de la mmoire libre).
On peut galement subdiviser le systme en plusieurs partitions si dsir. Les raisons dun tel parti-tionnement plus n sont :
maintenir le dmarrage sous la limite de 1024 cylindres (disques IDE et anciens BIOS) : petit /spar de /usr , ou carrment partition de dmarrage /boot .
performance : p.ex. plusieurs priphriques swap distribus sur plusieurs partitions de disques-dursdiffrents ; sparation des logs et des queues ( /var/log et /var/spool ) sur un serveur de mailtrs charg (noter que cela augmente le risque de panne !)
indpendance la rinstallation ou au changement de distribution : mettre /home sur un rpertoirespar
limiter le risque de casse en cas de problme, ou assurer une limite sans quotas par utilisateurs/groupes spcier des options de montages spciales pour la performance ( noatime , async ) ou pour la
scurit ( noexec , nosuid , etc) utiliser plusieurs systmes de chiers diffrents (p.ex. supports ou non par le boot-loader grub ;
ou pour des utilisations varies).
La performance est souvent un problme nglig, mais il est essentiel. Un bon partitionnement peut
1on peut utiliser un chier de swap la place dune partition (moins efcace) ; on peut aussi sepasser totalement de swap dans des cas trs particuliers, mais en rgle gnrale il faut lviter.
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
http://www.debian.org/releases/stable/i386/ch06s03.html.en#di-partitionhttp://www.debian.org/releases/stable/i386/ch06s03.html.en#di-partitionhttp://www.debian.org/releases/stable/i386/ch06s03.html.en#di-partitionhttp://www.debian.org/releases/stable/i386/ch06s03.html.en#di-partitionhttp://www.debian.org/releases/stable/i386/ch06s03.html.en#di-partitionhttp://www.debian.org/releases/stable/i386/ch06s03.html.en#di-partitionhttp://www.debian.org/releases/stable/i386/ch06s03.html.en#di-partitionhttp://www.debian.org/releases/stable/i386/ch06s03.html.en#di-partitionhttp://www.debian.org/releases/stable/i386/ch06s03.html.en#di-partitionhttp://www.debian.org/releases/stable/i386/ch06s03.html.en#di-partitionhttp://www.debian.org/releases/stable/i386/ch06s03.html.en#di-partition -
8/8/2019 Cour Exercice Unix
31/81
LPI-101 Chapitre 3: Installation et gestion des packagesDnition du partitionnement p. 31
contribuer amliorer la performance globale du systme. Il faut commencer par dnir les tches oules applications que le systme doit excuter.
/ peu modi, donnes caches : peut tre mont depuis un disque lent.
/var varie beaucoup (en particulier /var/log ) : on a intrt le placer sur un disque rapide
/usr disque rapide conseill p.ex. dans le cas dun serveur dapplication (Terminal Server)
La rapidit dun disque est la fois facteur de sa vitesse brute (lie la vitesse de rotation et sadensit) et de la latence (dure de dplacement des ttes).
Une fois quun systme est install, la fragmentation peut diminuer, au fur et mesure de lutilisation,la performance dun systme de chier. Sous GNU/Linux, ce problme est presque inexistant tant queles systmes de chiers ne sont pas remplis compltement. Cest une des raisons pour laquelle on peutrserver une partie de la place disque pour le super-utilisateur.
Le partitionnement lui-mme se fait avec la commande fdisk , ou dautres implmentations comme
cfdisk .On initialize une partition de swap avec mkswap , et un systme de chiers avec les diverses instancesde mkfs (p.ex. mkfs.ext2 ou mke2fs , mkfs.ext3 ou mke2fs -j , etc)
Une fois initialis, une partition de swap est active avec swapon . Un systme de chiers est rattach un rpertoire existant de larborescence via mount . Il remplace le contenu ventuel du rpertoiretemporairement.
De manire automatiser le montage des systmes de chiers et lactivation du swap, on modie/etc/fstab .
Exercices1. quel est le rle des options -a et -s de swapon ?
2. quel est le rle de loption -a de la commande mount ?
3. laissez tourner la commande vmstat quelques temps et dterminez si le systme swappe demanire active.
4. combien de swap est utilis ? dsactivez tous les espaces de swap et comparez.
5. proposez un schma de partitionnement pour une application particulire et justiez.
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
32/81
LPI-101 Chapitre 3: Installation et gestion des packagesConguration du dmarrage p. 32
3
'
&
$
%
Conguration du d marrage 3.2
Rsum des concepts importants
tapes du dmarrage Master Boot Record (MBR) : rst stage boot loader second stage boot loader : LILO ou grub
/etc/lilo.conf , /boot/grub/grub.conf a
l ilo ( chaque modication), grub-install (une fois)
Lectures supplmentaires
http://tldp.org/HOWTO/LILO.html http://www.cri74.org/linux/howto/grub-howto.html http://www.tldp.org/HOWTO/Multiboot-with-GRUB.html http://www.tldp.org/HOWTO/Bootdisk-HOWTO/index.html http://www.tldp.org/HOWTO/Software-RAID-HOWTO.html
aDebian et drivs : /boot/grub/menu.lst
Le chargeur de premier niveau ( rst stage boot loader ) peut tre soit le MBR standard MS-DOS oucelui livr par GNU/Linux (package mbr sous Debian), ou encore LILO. Le MBR consiste en les 2premiers bloc du disque : un bloc de dmarrage et un bloc contenant la table des partitions. La taillede bloc est usuellement de 512 bytes.
Le chargeur de deuxime niveau nest, dans le cas de LILO, ncessaire que si LILO est install dansune partition dmarrable, et non pas dans le MBR. Une partition dmarrable est dnote par le drapeauA dans vdisk et ne peut tre quune partition Linux, et pas de swap. Si LILO est install dans leMBR, le dmarrage est possible de nimporte quelle partition Linux ou non Linux (sauf swap), ycompris partitions logiques ou dautres disques.
Si un autre programme de dmarrage est prfr (p.ex. NTLOADER.EXE , on peut aussi dmarrerGNU/Linux avec ce chargeur).
En cas de congurations trs particulires (p.ex. dmarrage sur un disque que le BIOS ne considrepas pour le dmarrage), il faut installer LILO dans le MBR du premier disque. On peut alors, engnral, faire en sorte que LILO charge son kernel et linitrd ventuel dun autre disque.
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
http://tldp.org/HOWTO/LILO.htmlhttp://tldp.org/HOWTO/LILO.htmlhttp://www.cri74.org/linux/howto/grub-howto.htmlhttp://www.cri74.org/linux/howto/grub-howto.htmlhttp://www.tldp.org/HOWTO/Multiboot-with-GRUB.htmlhttp://www.tldp.org/HOWTO/Multiboot-with-GRUB.htmlhttp://www.tldp.org/HOWTO/Multiboot-with-GRUB.htmlhttp://www.tldp.org/HOWTO/Multiboot-with-GRUB.htmlhttp://www.tldp.org/HOWTO/Software-RAID-HOWTO.htmlhttp://www.tldp.org/HOWTO/Bootdisk-HOWTO/index.htmlhttp://www.tldp.org/HOWTO/Multiboot-with-GRUB.htmlhttp://www.cri74.org/linux/howto/grub-howto.htmlhttp://tldp.org/HOWTO/LILO.html -
8/8/2019 Cour Exercice Unix
33/81
LPI-101 Chapitre 3: Installation et gestion des packagesConguration du dmarrage p. 33
Exemple de /etc/lilo.conf :
# BIOS moderne, disque largelba32
# Eventuellement: correspondance noms Linux numro pour le BIOS#disk=/dev/hde#bios=0x81#disk=/dev/sda#bios=0x80
boot=/dev/hda # ici install dans le MBR#boot=/dev/hda1 # ici serait install dans une partition
root=/dev/hda3 # partition de / (racine)
# Choix de boot sector (mise en page diffrente)install=/boot/boot-menu.b
map=/boot/map
# 2 secondesdelay=20
vga=normal
# Arguments du kernel (par dfaut)append="ide-scsi=hdc"
default=linux
# Image Linux (pas dinitrd)image=/vmlinuz
label=linuxappend="hdc=ide-scsi ide2=autotune"
# Image non Linuxother=/dev/hda4label=OTHER
Comme LILO mmorise la suite des adresses de blocs charger l o il est install, il faut le relancer(/sbin/lilo ) si lon modie limage charger (kernel, initrd ou paramtres de cong). Par contre,grub utilise le systme de chiers et ne doit pas tre relanc lorsquon change quelque chose. Commeinconvnient, grub ne supporte pas le chargement depuis LVM ou RAID ou des systmes de chierstrs spciques.
En cas de problme de dmarrage, on peut dmarrer sur un CD, monter les systmes de chiers p.ex.sous /mnt , puis lancer lilo -r /mnt (ou encore chroot /mnt /sbin/lilo ) de manire lancer LILO dans le contexte du systme install.
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
34/81
LPI-101 Chapitre 3: Installation et gestion des packagesConguration du dmarrage p. 34
Exercices1. crez une disquette de dmarrage contenant uniquement un kernel, et modiez les options
ad-hoc via rdev
2. crez une disquette de dmarrage via SYSLINUX3. dmarrez un autre systme avec grub (ou memtest86 )
4. passez de grub LILO pour le dmarrage de votre machine
5. mettez un message spcique et un mot de passe sur votre LILO, que devez-vous faire? quefaudrait-il encore faire pour scuriser la machine ?
6. quoi sert le package mbr ?
7. pouvez-vous dmarrer sur le RAID logiciel avec Linux ?
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
35/81
LPI-101 Chapitre 3: Installation et gestion des packagesCompilation et installation locale depuis la source p. 35
4
'
&
$
%
Compilation et installation locale depuis la source 3.3
Rsum des concepts importants
tlcharger, vrier, extraire, congurer, compiler, installer gzip , gunzip , bzip2 , tar configure , make , make install
Lectures supplmentaires
cours installation depuis source
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
36/81
LPI-101 Chapitre 3: Installation et gestion des packagesGestion des bibliothques dynamiques p. 36
5
'
&
$
%
Gestion des bibliothques dynamiques 3.4
Rsum des concepts importants
ldd ldconfig , /etc/ld.so.conf , LD_LIBRARY_PATH , LD_PRELOAD /lib , /usr/lib
Exercices1. quel est le chemin de recherche actuel du systme en ce qui concerne les bibliothques dyna-miques ?
2. de quelles bibliothques partages (dynamiques) dpend le logiciel /bin/ls ?et /usr/bin/konqueror ? et /sbin/ldconfig ?comparez aussi avec file .
3. lancez /usr/lib/mozilla-firefox/firefox-bin , quel est le problme? corrigez-le manuellement temporairement. proposez ensuite 3 solutions (variable denvironnement per-manente, wrapper, conguratio systme active) et testez-les.
4. quel est le rle de la commande fakeroot ? quel est son principe technique (indication :prchargement dune bibliothque dinterception) ?
5. que faire si la conguration systme des bibliothques est sabote ?
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
37/81
LPI-101 Chapitre 3: Installation et gestion des packagesSystme de packaging Debian p. 37
6
'
&
$
%
Systme de packaging Debian 3.5
Rsum des concepts importants
/etc/dpkg/dpkg.cfg , /etc/apt/apt.conf , /etc/apt/sources.list /var/lib/dpkg/ * dpkg , dpkg-reconfigure a pt-get a lien d select
Lectures supplmentaires
http://www.debian.org/doc/manuals/apt-howto/ http:
//people.debian.org/~debacle/refcard/refcard-fr-a4.pdf
Les commandes principales :
Commande descriptiondpkg get-selections obtenir ltat des packagesdpkg set-selections congurer ltat des packagesdpkg -l liste des packages (optionnel : argument de recherche,
pouvant contenir des jokers du shell, exemple :dpkg -l * truc * )
dpkg -s PACKAGE obtenir des informations sur un package install dpkg -i package.deb installer manuellement un package
apt-get install PACKAGE installer un package et ses dpendancesdpkg -r PACKAGE supprimer un package manuellement (optionnellement :
--purge , pour supprimer galement les congurations)apt-get remove PACKAGE supprimer un ou plusieurs packages et ses/leurs dpendances
(optionnellement : --purge , pour supprimer galement lescongurations)
dpkg-recongure PACKAGE recongurer avec debconf apt-get install -f correction de problmes de dpendancesdebsums -ca vrier les chiers installs
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
http://www.debian.org/doc/manuals/apt-howto/http://people.debian.org/~debacle/refcard/refcard-fr-a4.pdfhttp://people.debian.org/~debacle/refcard/refcard-fr-a4.pdfhttp://people.debian.org/~debacle/refcard/refcard-fr-a4.pdfhttp://people.debian.org/~debacle/refcard/refcard-fr-a4.pdfhttp://www.debian.org/doc/manuals/apt-howto/ -
8/8/2019 Cour Exercice Unix
38/81
LPI-101 Chapitre 3: Installation et gestion des packagesSystme de packaging Debian p. 38
Pour faire des recherches dans des packages non installs, on peut utiliser :
Commande descriptionapt-cache search RECHERCHE recherche dans les sources installablesapt-cache show package dtails sur un packageapt-get update il faut bien sr que la liste des packages soit jour !apt-get upgrade mise jour des packages automatiseapt-get -u dist-upgrade mise jour une distributionhttp ://packages.debian.org/ recherche dun chier dans un package non ins-
tall, dans dautres versions, etc.http ://www.apt-get.org/ packages non ofcielshttp ://volatile.debian.net/ packages changeant souvent (anti-virus, etc)http ://www.backports.org/ ports de versions plus rcentes
Les chiers de conguration :
Commande description /etc/apt/sources.list liste des sources dinstallation /etc/apt/apt.conf conguration par dfaut dAPT
On peut utiliser apt-setup 1 (ou apt-cdrom directement pour les CD/DVD) pour ajouter dessources dinstallation.
Pour reconstruire un package depuis sa source, on tlcharge le package source manuellement ou via
apt-get source , puis on utilise dpkg-buildpackage :
schaefer@shakotay:~$ mkdir /tmp/ttschaefer@shakotay:~$ cd /tmp/ttschaefer@shakotay:/tmp/tt$ apt-get source helloReading Package Lists... DoneBuilding Dependency Tree... DoneNeed to get 405kB of source archives.Get:1 http://archive.alphanet.ch sarge/main hello 2.1.1-4 (dsc) [562B]Get:2 http://archive.alphanet.ch sarge/main hello 2.1.1-4 (tar) [389kB]Get:3 http://archive.alphanet.ch sarge/main hello 2.1.1-4 (diff) [15.4kBFetched 405kB in 0s (3090kB/s)dpkg-source: extracting hello in hello-2.1.1schaefer@shakotay:/tmp/tt/hello-2.1.1$ cd hello-2.1.1schaefer@shakotay:/tmp/tt/hello-2.1.1$ dpkg-buildpackage -us -uc \
-rfakeroot[ ... ]dpkg-deb: building package hello in ../hello_2.1.1-4_i386.deb.[ ... ]
1plus disponible ds Debian etch.
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
39/81
LPI-101 Chapitre 3: Installation et gestion des packagesSystme de packaging Debian p. 39
On peut aussi consulter un chier de package directement sans linstaller :
Commande descriptiondpkg-deb -c package.deb listage du contenu du chier de packagedpkg-deb -x package.deb /tmp/tt extraire manuellementdpkg-deb -I package.deb informations
aptitude est un frontal qui permet deffectuer les mmes oprations qu apt-get mais ausside dterminer, par exemple, les packages installs localement et/ou non maintenus par Debian, enparticulier aprs une mise jour.
Exercices1. consultez les manpages de dpkg , dpkg-reconfigure , alien , apt-cache et apt-get
2. essayez les diverses commandes proposes ci-dessus.3. consultez quelques chiers sous /var/lib/dpkg
4. comment dterminer dans quel package se trouve ls (package dj install). Et si le packagentait pas dj install?
5. dterminez la liste des packages installs.
6. quels packages ont -dev dans leur nom ?
7. examinez lentte de la sortie de dpkg -l | more et expliquez les 2 premiers caractres.
8. quelle commande proposeriez-vous pour tlcharger chaque nuit les packages candidats unemise jour, sans les installer proprement dit ? (indication : man apt-get )
9. changez le frontend de debconf et exprimentez
10. tlchargez manuellement un package Debian qui na pas ses dpendances satisfaites et installez-le via dpkg . Corrigez le problme avec apt-get install -f . Est-ce une bonne idedinstaller des packages qui ne sont pas dans Debian standard ? comment en obtenir la liste(aussi p.ex. aprs une mise jour)?
11. o trouvez-vous des packages plus rcents maintenus pour la version stable?
12. comment dterminez-vous quels packages ne sont pas des packages disponibles dans les listesde sources disponibles?
13. ajoutez une source dinstallation (p.ex. un backport) et installez un logiciel.
14. que fait loption APT::Get::Assume-Yes ?
15. tlchargez la source unstable du package hello , et recrez le package binaire. Interrogez lepackage sans linstaller. Installez le. Vriez que la version installe est plus rcente.
16. quoi peut-il servir de mettre un package en tat hold ?
17. documentez-vous sur le pinning , loption -t dapt-get ainsi que sur les syntaxes apt-get instapt-get install package+ et apt-get install package=VERSION .
18. doit-on tre root pou r gnrer des packages ? et pour les instal ler?
19. trouvez, via http://www.rpmfind.net/ , le package hello , convertissez-le en pa-
ckage Debian avec alien et installez-le.20. lancez dselect et essayez de comprendre plus ou moins comment cette chose fonctionne.
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
http://www.rpmfind.net/http://www.rpmfind.net/ -
8/8/2019 Cour Exercice Unix
40/81
LPI-101 Chapitre 3: Installation et gestion des packagesSystme de packaging Red Hat p. 40
7
'
&
$
%
Systme de packaging Red Hat 3.6
Rsum des concepts importants
/etc/rpmrc , /usr/lib/rpm/ * r pm , grep
Lectures supplmentaires
http://www.rpm.org/RPM-HOWTO/ http://fr.wikipedia.org/wiki/Red_Hat_Package_Manager
http://www.rpmfind.net/ de quoi installer nimporte quoi
Commande descriptionrpm -qf /bin/ls dterminer (q, query) dans quel package
(f) se trouve /bin/lsrpm -qpi package.rpm obtenir des informations (iq) du chier-
package (p) package.rpm sans linstallerrpm -qpl package.rpm liste du contenu du package non installrpm -i package.rpm installer un packagerpm -U package.rpm mettre jour un packagerpm -e package.rpm supprimer un package
rpm --rebuild PACKAGE-SOURCE reconstruire un packagerpm -qa | grep package chercher le package package dans la listedes packages installs
rpm -qi package informations sur un package install.rpm -Va vrier le systme et dterminer les -
chiers manquants.
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
http://www.rpm.org/RPM-HOWTO/http://www.rpmfind.net/http://www.rpmfind.net/http://www.rpmfind.net/http://www.rpmfind.net/http://fr.wikipedia.org/wiki/Red_Hat_Package_Managerhttp://www.rpm.org/RPM-HOWTO/ -
8/8/2019 Cour Exercice Unix
41/81
LPI-101 Chapitre 4: Priphriques et standard de hirarchie FHSp. 41
8
'
&
$
%
4. Priphriques et standard de hirarchie FHS
Contenu du chapitre
partitionnement, cration, montage, dmontage et maintenance de systmes de chiers gestion des quotas gestion des permissions daccs aux donnes gestion des propritaires et groupes des donnes liens symboliques et durs
trouver et placer les chiers au bon endroit Buts du chapitre
savoir grr les donnes dun systme UNIX, y compris le placement standardis decelles-ci
supports de cours additionnels : cours UNIX
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
42/81
LPI-101 Chapitre 4: Priphriques et standard de hirarchie FHSCration de partitions et de systmes de chiers p. 42
9
'
&
$
%
Cration de partitions et de systmes de chiers 4.1
Rsum des concepts importants
systme de chiers priphrique de type bloc ( block device ) MAJOR, MINOR pilote kernel partitionnement fdisk , mkfs
Un priphrique de type bloc est un priphrique adress, du point de vue UNIX, par un numro debloc. Les blocs sont de taille xe, usuellement 512 bytes par bloc. On y accde par un chier spcialde type priphrique bloc :
schaefer@voyager:/data/home/schaefer$ ls -l /dev/hdabrw-rw---- 1 root disk 3, 0 Mar 31 15:31 /dev/hda
Les numros 3, 0 correspondent aux numros de MAJOR et de MINOR. Le MAJOR est en gnralle type gnral de priphrique associ un pilote kernel donn :
schaefer@voyager:/data/home/schaefer$ grep ide /proc/devices3 ide0
22 ide1
Quant au MINOR, cest un point dentre dans le priphrique lui-mme (p.ex. numro de disque surun bus, numro de partition, etc).
On cre ces entres (chiers spciaux) via la commande mknod , ou via le script MAKEDEV :
root@voyager:/dev # mknod hda b 3 0root@voyager:/dev # mknod hda1 b 3 1
root@voyager:/dev # ./MAKEDEV isdnmodem
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
43/81
LPI-101 Chapitre 4: Priphriques et standard de hirarchie FHSCration de partitions et de systmes de chiers p. 43
Ces entres gurent rellement sur le disque (et sont crs automatiquement linstallation de base,voire plus tard linstallation de packages particuliers) ou dans un systme de chiers dynamiquevirtuel.
Loutil fdisk dobtenir la table des partitions et la gomtrie dun disque-dur, ainsi quen modeinteractif de partitionner celui-ci :
root@voyager:~ # fdisk -l /dev/hda
Disk /dev/hda: 60.0 GB, 60060155904 bytes255 heads, 63 sectors/track, 7301 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System/dev/hda1 * 1 4 32098+ 83 Linux/dev/hda2 5 7299 58597087+ 5 Extended/dev/hda5 5 1098 8787523+ 83 Linux/dev/hda6 1221 3652 19535008+ 83 Linux/dev/hda7 3653 7299 29294496 83 Linux/dev/hda8 1099 1220 979933+ 82 Linux swap
Partition table entries are not in disk order
root@voyager:~ # fdisk /dev/hdaCommand (m for help): p
Disk /dev/hda: 60.0 GB, 60060155904 bytes255 heads, 63 sectors/track, 7301 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System/dev/hda1 * 1 4 32098+ 83 Linux/dev/hda2 5 7299 58597087+ 5 Extended/dev/hda5 5 1098 8787523+ 83 Linux/dev/hda6 1221 3652 19535008+ 83 Linux/dev/hda7 3653 7299 29294496 83 Linux/dev/hda8 1099 1220 979933+ 82 Linux swap
Les oprations principales de fdisk sont :
p crer une partition1. partition primaire (1-4), tendue (1 max) ou logique (dans la partition tendue)
2. numro de partition (si primaire ou tendue)
3. cylindre de dbut de la partition (RETURN pour valeur propose)
4. dimension de la partition (valeur absolue en cylindres ou tailles comme 16M , 5000Mou 5G , etc)
d supprimer une partition (numro)t changer le type de la partition (numro, type ; l pour liste)
w pour inscrire les changements
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
44/81
LPI-101 Chapitre 4: Priphriques et standard de hirarchie FHSCration de partitions et de systmes de chiers p. 44
q pour quitter
La cration dun systme de chiers se fait via la commande mkfs (et ses drivs : mkfs.ext3 oumke2fs -j , etc).
Un systme de chiers peut aussi tre mont partir dun priphrique bloc mul sur un chier (pour
pour essais, maintenance dinitrd, ou chiffrement de donnes) :
% # Cration dun fichier de 16 MB contenant des NULs% dd if=/dev/zero of=un_fichier bs=1024k count=1616+0 records in16+0 records out16777216 bytes transferred in 0.093541 seconds (179356606 bytes/sec)
% # Cration dun systme de fichiers ext3% mke2fs -j -i 65536 -b 4096 -c -L test -m 10 un_fichiermke2fs 1.35 (28-Feb-2004)un_fichier is not a block special device.Proceed anyway? (y,n) yFilesystem label=testOS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)256 inodes, 4096 blocks409 blocks (9.99%) reserved for the super userFirst data block=01 block group32768 blocks per group, 32768 fragments per group256 inodes per group
Checking for bad blocks (read-only test): doneWriting inode tables: doneCreating journal (1024 blocks): doneWriting superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 30 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.
% # Montage de ce systme de fichiers# mkdir /mnt/test# mount -o loop un_fichier /mnt/test
# df /mnt/test/tmp/un_fichier 16336 4124 10576 29% /mnt
Exercices1. dans lexemple ci-dessus, quels droits doit-on avoir pour crer le systme de chiers ? monter
le systme de chiers ? et dans le cas gnral (pourquoi) ?
2. crez plusieurs systmes de chiers diffrents (p.ex. ext2, ext3, reiserfs, vfat, xfs) et comparez
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
45/81
LPI-101 Chapitre 4: Priphriques et standard de hirarchie FHSCration de partitions et de systmes de chiers p. 45
p.ex. les mta-donnes POSIX. Utilisez pour ce faire loption -t de mkfs, ou les utilitairesspciques mkfs. *
3. comment faire une vrication simple du mdia avant de crer le systme de chiers ?
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
46/81
LPI-101 Chapitre 4: Priphriques et standard de hirarchie FHSMaintenir lintgrit des systmes de chiers p. 46
0
'
&
$
%
Maintenir lintgrit des systmes de chiers 4.2
Rsum des concepts importants
dmontage non propre, vrication, journalisation espace disque et inodes du , df fsck , e2fsck mke2fs tune2fs , debugfs , dumpe2fs
Au dmarrage du systme, le chier /etc/fstab est consult et les systmes de chiers non mar-qus noauto sont monts automatiquement. Sils nont pas t dmonts proprement, une passe devrication et dauto-correction simple est lance ( fsck , le system check ) et ils ne sont montsquaprs.
Si une dfectuosit qui ne peut tre rpare automatiquement est dtecte, une rparation manuelle est faire (le systme reste en mode mono-utilisateur), p.ex. avec e2fsck /dev/hda3 pour rparerun systme de chiers ext2 ou ext3 situ sur la partition 3 du matre du primaire IDE/ATA.
Dans tous les cas, par dfaut, une vrication automatique est faite tous les 190 jours ou tous les 30montages (30 redmarrages en gnral).
Les seuls cas o le lancement de fsck est possible est si un systme de chiers est mont read-only(mount / -o remount,ro ) ou sil nest pas mont. Le cas de / est spcial : il est mont enlecture seulement.
En cas de panne franche du systme (p.ex. panne de courant), une partie des donnes dans le cachenaura pu tre crite. Le rle de fsck est dviter lapparition de donnes incorrectes (p.ex. en tron-quant les chiers au dernier endroit encore correct) en contrlant ltat des mtadonnes. Sur degrands systmes de chiers, cette opration peut prendre un temps considrable.
En consquence, les systmes de chiers journaliss ont fait leur apparition (p.ex. ext3) : ils permettentdassurer une certaine atomicit des oprations sur les mtadonnes (optionnellement aussi sur lesdonnes) via lutilisation dun journal, qui est rejou en cas de panne, trs rapidement : cela vitelutilisation de fsck et une perte de temps.
Il est donc recommand, sur un systme de chiers journalis dune certaine taille de supprimer
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
47/81
LPI-101 Chapitre 4: Priphriques et standard de hirarchie FHSMaintenir lintgrit des systmes de chiers p. 47
la vrication automatise rgulire, via la commande tune2fs , de manire viter des tempsdattente en cas de redmarrage, et de planier un fsck manuel rgulier (p.ex. tous les 3 mois), mmesur un systme de chiers journalis ! Ce nest pas obligatoire, mais cela vous donnera un sentimentde scurit supplmentaire. Ce sera aussi loccasion de vrier que votre systme redmarre onoublie souvent ce quest le dmarrage dun systme GNU/Linux . . . :)
La commande fsck prend les arguments :
-A vrier tous les systmes de chiers lists dans /etc/fstab
-t restreindre un type pour -A
-C progress bar
-a rparer automatiquement
-r rparer interactivement
La commande tune2fs permet dobtenir ou de modier les paramtres dun systme de chiers.-L nom congurer le label (nom) du systme de chiers
-l lister les informations du superblock du systme de chiers
-i duree conguration de lintervalle entre les vrications automatiques (0 : jamais).
-c nombre conguration du nombre de montage entre les vrications automatiques (0 : jamais).
La commande dumpe2fs permet dobtenir des informations internes dun systme de chiers.
-b afcher la liste des blocks mauvais ( bad blocks )
-h afcher uniquement les informations du superblock
La commande debugfs permet de consulter les mtadonnes directement, p.ex. pour restaurer unchier effac ce qui est trs difcile par dfaut sur un systme UNIX. Ses commandes principalessont :
help aide sur les commandes
stat informations sur un objet du fs
logdump ext3 : sauver le journal dans un chiers
Lespace disque disponible est rsum via la commande df (on peut y donner un argument de rper-toire, la sortie sera alors limite au systme de chiers sur lequel se rpertoire se trouve). Les systmesde chiers POSIX ont une deuxime limite en plus de la place disponible : le nombre dinodes (de -chiers et de rpertoires) maximum. On peut visualiser ces valeurs avec df -i . Loption -a montreragalement les systmes de chiers virtuels (p.ex. /proc ).
La commande du permet dobtenir la taille utilise par des chiers et rpertoires, arrondie aux blocsutiliss, aussi rcursivement. Ses options sont :
-a tous les objets sont afchs (pas seulement les rpertoires)
-b afcher la taille non arrondie au blocs, et en unit bytes
-c effectuer un total
-h format plus humain
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
48/81
LPI-101 Chapitre 4: Priphriques et standard de hirarchie FHSMaintenir lintgrit des systmes de chiers p. 48
Ses arguments sont les objets que lon dsire compter (rpertoires, chiers, etc).
Exercices1. vriez un systme de chiers non mont avec fsck Vous pouvez forcer la vrication si fsck
pense que le fs est propre.2. comment rparer automatiquement un fs ? comment rpondre oui toutes les questions ?
3. comment rparer un fs ext3 alors que le superblock a t dtruit ?
4. obtenez les informations du superblock dun systme de chiers laide de la commandetune2fs (et/ou dumpe2fs )
5. changez les paramtres de vrication de manire ce que la vrication automatique ne soitplus faite sur la racine.
6. peut-on ajouter une journalisation sur un fs ext2? comment ?
7. combien dinodes reste-t-il sur / ? combien de blocs ? combien de bytes ? et en mgabytes ougigabytes ? (humain)
8. listez tous les systmes de chiers monts, y compris les systmes de chiers virtuels cachs.
9. ne listez que les systmes de chiers dun type donn.
10. combien de place prend le rpertoire /boot ?
11. triez les sous-rpertoires de /usr par taille dcroissante
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
49/81
LPI-101 Chapitre 4: Priphriques et standard de hirarchie FHSMontage et dmontage p. 49
1
'
&
$
%
Montage et dmontage 4.3
Rsum des concepts importants
montage et point de montage /etc/fstab mount , umount
Un systme de chiers est une organisation de donnes et de mtadonnes (permissions, nom de -chier, propritaire, ACL, attributs tendus, fork ) organise en gnrale hirarchiquement (arbre engnral). Sous UNIX, on y accde en rattachant le block device qui contient le lesystem larbores-cence systme un point de montage systme via le concept de montage ( mount ing).
Un systme de chiers ne peut tre dmont que sil nest plus utilis. La commande lsof oufuser -m permet de dterminer les processus utilisant un fs.
Les options de montage sont :
noauto pas de montage au dmarrage
exec on peut excuter des programmes depuis ce fs
suid le SUID est actif user un utilisateur peut monter ce fs
unhide systmes de chiers CD-ROM : montrer les noms et leurs aliases
async E/S asynchrone
sync E/S synchrone
ro en lecture seulement
defaults rw, suid, dev, exec, auto, nouser, async
La commande mount elle-mme supporte loption additionnelle remount (qui permet de changer
les options de montage dun fs dj mont).
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
50/81
LPI-101 Chapitre 4: Priphriques et standard de hirarchie FHSMontage et dmontage p. 50
Exercices1. comment automatiser le montage dun systme de chiers au dmarrage?
2. comment autoriser le montage dun systme de chiers par les utilisateurs et ne pas le monterautomatiquement au dmarrage (p.ex. oppy, CD-ROM, etc)
3. comment vrier un systme de chiers alors quil est mont et ne peut tre dmont compl-tement (indication : consultez les options remount,ro et remount,rw de la commandemount ).
4. comment mounter sans modier ltat de montage /etc/mtab ?
5. comment assurer au montage des requtes dE/S synchrones?
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
51/81
LPI-101 Chapitre 4: Priphriques et standard de hirarchie FHSGestion des quotas p. 51
2
'
&
$
%
Gestion des quotas 4.4
Rsum des concepts importants
quota , repquota quotaon , edquota
Lectures supplmentaires
http://www.tldp.org/HOWTO/Quota.html
Linux supporte deux types de quotas : les quotas par utilisateurs, et les quotas par groupe. De plus, unquota spcie 2 genres de limites : les limites sur les chiers et objets et les limites sur le nombre deblocs utiliss (place disque). Enn, un quota peut tre dur ou faible (hard and soft quota). Un quotadur interdit lallocation de plus de ressources. Un quota faible est un avertissement et se change enquota dur aprs un certain dlai.
On active les quotas en ajoutant loption usrquota et/ou grpquota dans /etc/fstab , en crantles chiers de gestion des quotas, les renseignant sur ltat actuel avec quotacheck puis en activantles quotas avec quotaon -av (pour tous les systmes de chiers avec quota).
apt-get install quota
cd /tmpdd if=/dev/zero of=a_file bs=1024k count=100mke2fs -j a_filemount a_file -o loop /mnt
mount /mnt -o usrquota,remount
# Quotas version 2touch /mnt/aquota.user
chmod 600 /mnt/aquota.userquotacheck -v /mnt
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
52/81
LPI-101 Chapitre 4: Priphriques et standard de hirarchie FHSGestion des quotas p. 52
# Quotas version 1rm -f /mnt/aquota.userquotacheck -mcF vfsold /mntchmod 600 /mnt/quota.user
quotaon /mnt
Exercices1. ajoutez des quotas par groupe et par utilisateur sur /home .
2. ditez les quotas de votre utilisateur, puis de votre groupe
3. ditez les congurations gnrales de quota ( edquota -t )
4. afchez vos quotas avec quota , et ceux dun autre utilisateur ou groupe.
5. afchez un rapport de quota avecrepquota
6. copiez une conguration de quota dun utilisateur lautre
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
53/81
LPI-101 Chapitre 4: Priphriques et standard de hirarchie FHSGestion des permissions daccs aux donnes p. 53
3
'
&
$
%
Gestion des permissions daccs aux donnes 4.5
Rsum des concepts importants
permissions UNIX : chmod , umask attributs ext [23] : chattr
Lectures supplmentaires
cours scurit
Exercices1. comment changer rcursivement des permissions ?2. quoi sert la permission t sur un rpertoire ? et sur un chier excutable ?
3. que se passe-t-il si le bit sgid est mis sur un rpertoire ?
4. comment rendre un chier immutable ou en ajout seulement avec la commande chattr .Est-ce que cela fonctionne aussi sur un fs ni ext2, ni ext3 ?
c 2006-2007 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages
-
8/8/2019 Cour Exercice Unix
54/81
LPI-101 Chapitre 4: Priphriques et standard de hirarchie FHSPropritaires et groupes p. 54
4
'
&
$
%
Propritaires et groupes 4.6
Rsum des concepts importants
chown , chgrp
Lectures supplmentaires
cours scurit
Exercices1. pouvez-vous changer le propritaire dun chier, en tant quutilisateur normal ?2. quels groupes pouvez-vous choisir pour un