cour exercice unix

Upload: hafida-tacherifine

Post on 09-Apr-2018

222 views

Category:

Documents


0 download

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