Page suivante Page précédente Table des matières

3. Red Hat

Il existe un document (en anglais) dressant liste des matériels pris en charge.

Installation proprement dite : placer, pour commencer, le CD-ROM dans le lecteur.

3.1 À partir de MS-DOS

Formater une disquette MS-DOS 3,5 pouces/1,44 Mo. Elle doit être sans défauts (« secteurs défectueux »)) et s'avèrera utile en fin d'installation, pour créer une disquette de démarrage.

À partir de MS-DOS on peut démarrer l'installation proprement dite en invoquant l'exécutable autoboot qui se trouve dans le répertoire dosutils.

Si autoboot ne démarre pas le système sous Linux

Il faudra en ce cas créer une paire de disquettes afin de pouvoir démarrer les système et lancer l'installation. Pour cela :

3.2 À partir de Linux

Utiliser dd if=NOM_DU_FICHIER of=/dev/fd0 bs=1440k pour créer une paire de disquettes à partir des fichiers boot.img et supp.img du répertoire RHstart. Employer le cas échéant fdformat afin de préparer les disquettes totalement vierges.

Laisser la disquette boot dans le lecteur puis relancer le système.

3.3 Démarrage de l'installation

Allumez tous les périphériques connectés à l'unité centrale (surtout SCSI).

Lors du démarrage (boot) le message « boot: » apparaît sur l'écran. Il est alors possible d'introduire des paramètres grâce auxquels Linux pourra prendre en charge un périphérique inhabituel. Lire à ce propos le « BootPrompt HOWTO » (voir section « Documents en français »). Les options les plus fréquemment employées relèvent de la géométrie du disque, d'un CD-ROM exotique ou d'une interface (carte) Ethernet (en particulier de type NE2000). La plupart des nouveaux utilisateurs n'ont pas besoin d'un quelconque paramètre.

3.4 Notes

Partitionnement

Linux doit disposer d'au moins une partition sur l'un de vos disques. Mieux vaut lui en offrir deux (une pour le système, l'autre dévolue à la mémoire virtuelle, dite « swap »). Sur une machine personnelle on réservera une quantité de swap à peu près équivalente à la mémoire vive mais jamais inférieure à 16 Mo.

On pourra employer l'utilitaire FIPS (se trouve dans le répertoire dosutils) afin de pouvoir repartitionner le disque dur de façon non destructive. Lire au préalable sa documentation.

Le partitionnement est une opération DANGEREUSE, mettant les données en péril. Ne pas négliger de SAUVEGARDER au préalable les données importantes.

Certains produits commerciaux rendent le repartitionnement moins dangereux et plus facile.

Dans le pire des cas il faudra sauvegarder les partitions existantes, afin de pouvoir les détruire, repartitionner le disque de façon adéquate puis restaurer.

En cas de problème

Replacer, dans le « SETUP » de la machine, les paramètres par défaut, ou même les plus « sages ». Noter au préalable les paramètres utilisés jusqu'alors. Interdire au BIOS de gérer les fonctions spéciales et évoluées : économie d'énergie (APM, DPMS ...)

Retirer temporairement toutes les cartes d'extension non nécessaires (par exemple réseau, son, interface SCSI de disques non concernés par l'installation ...).

Consoles virtuelles

Linux offre des « consoles virtuelles » grâce auxquelles un simple tandem clavier-écran (celui de votre micro !) peut profiter de plusieurs « sessions » (contextes de travail) bien distinctes. Chaque console virtuelle peut abriter une session et la combinaison de touches Alt-Fx (où 'x' est numérique) permet de gagner une session donnée.

Durant tout le processus d'installation les consoles virtuelles (« CV ») offrent divers services :

La combinaison de touches Alt-F2, par exemple, « connectera » l'écran et le clavier de votre poste à la console virtuelle numéro 2, restaurant donc la session correspondante qui, durant l'installation, est réservée à une ligne de commande..

Il est à tout moment possible de changer de CV, ne pas hésiter à le faire.

Gestion du CD-ROM

Si Linux ne parvient pas à reconnaître le CD-ROM relancer le système en laissant un CD inséré avant de réessayer. Vérifier (si IDE/ATAPI) la configuration maître/esclave du CD-ROM : en cas de doute le laisser en mode esclave sur la première chaîne EIDE et s'assurer qu'aucun autre périphérique (disque, lecteur de bandes) ne s'y trouve déjà.

Sur certains disques copiés (non industriellement, par exemple grâce à un « graveur ») le programme d'installation monte bien le CD mais ne parvient pas à y trouver de distribution Red Hat car ne la cherche que dans un répertoire RedHat directement placé sous racine, tandis que certaines copies le stockent dans un sous-répertoire. Il faut en ce cas utiliser la combinaison Alt F2 afin de monter le CD, revenir sous le programme d'installation pour choisir « Installation à partir d'un système de fichiers monté » puis saisir le chemin complet (par exemple /mnt/cdrom/blabla/bleble/RedHat). (merci à P. Saratxaga).

Si le problème persiste il ne sera pas possible d'installer à partir du CD-ROM, nous devons donc bricoler de sorte que le programme d'installation puisse lire sur le disque MS-DOS les fichiers d'installation de Linux. Copier pour cela le contenu du répertoire RedHat du CD sur une partition MS-DOS, dans un répertoire nommé REDHAT, grâce à la commande « xcopy ». Puis relancer l'installation et indiquer au programme d'opter pour une installation en mode « Hard Drive » et non « CD-ROM ». Note : cela ne fonctionnera pas si la partition MS-DOS est de type FAT32.

3.5 Interaction avec le programme d'installation

Circuler parmi les options offertes par le programme d'installation Red Hat grâce aux touches fléchées et TABulation. Valider en gagnant l'option OK avant d'appuyer sur la barre d'espacement (ou bien utiliser la touche F12). Sélectionner un élément dans une liste à un seul choix en plaçant le curseur sur lui avant d'appuyer sur Entrée. La barre d'espacement permet de cocher un élément de liste de sélection.

3.6 Interactions lors de l'installation

Color Choices

La première question posée par le programme d'installation est « Are you using a color monitor? ». Ne répondre « No » que si le moniteur (écran) est monochrome.

Keyboard type

Sélection du type de clavier à gérer.

PCMCIA support

Ne répondre « Yes » que si la machine utilisera un périphérique PCMCIA lors de l'installation. Refuser en cas de doute.

Installation method

Sélectionner un mode d'installation :

L'installation normale avec LINDIS est « CD-ROM ».

CD-ROM type

Choisir :

Installation Path

Si vous souhaitez mettre à jour le contenu d'une partition stockant déjà une distribution Red hat installée choisir « Upgrading ». Opter pour « Installing » dans tous les autres cas.

SCSI support

Choisir « Yes » si la machine dispose d'une interface (carte) SCSI.

Partitions

Le programme d'installation présente la liste des disques durs qu'il a pu découvrir. L'installation ne pourra se poursuivre que si une partition est dévolue à Red Hat. Pour créer une nouvelle partition sélectionner le disque dur concerné et appuyer sur Entrée afin d'invoquer le programme fdisk.

Noms des disques et partitions

Linux (et donc fdisk) manipule les noms des disques sous la forme /dev/PÉRIPHÉRIQUE où PÉRIPHÉRIQUE (les majuscules n'ont ici pas d'autre propos que d'isoler un composant de nom) remplace hd dans le cas des disques IDE et sd pour les disques SCSI suivi de l'identificateur de disque : a pour le premier, b pour le suivant ... (et ainsi de suite).

Exemples : le premier disque SCSI se nomme donc /dev/sda tandis que le deuxième disque EIDE est /dev/hdb.

Le nom du répertoire "dev" signifie "devices" ("périphérique"). Les "fichiers spéciaux" qu'il abrite permettent en fait de communiquer avec les pilotes de périphériques.

Linux (et donc fdisk) manipule les noms des partitions sous la forme /dev/PériphériquePARTITION où PARTITION (les majuscules n'ont ici pas d'autre propos que d'isoler un composant de nom) remplace 1 dans le cas de la première partition, 2 pour la suivante ... (et ainsi de suite jusqu'à quatre).

Les partitions logiques (créées grâce aux partitions étendues) sont numérotées à partir de 5. Sous fdisk leurs noms apparaissent entre crochets ('<').

Exemples : la première partition du deuxième disque EIDE se nomme donc /dev/hdb1, la troisième partition du quatrième disque SCSI est /dev/sdd3.

Géométrie du disque

Si Linux ne parvient pas à reconnaître correctement un disque dur il ne pourra pas y accéder. Le démarrage s'avèrera impossible ou bien le logiciel fdisk employé par la procédure chargé du partitionnement ne fonctionnera pas correctement. Il faut en ce cas, juste avant le démarrage de l'installation, lui fournir les informations nécessaires.

Introduire pour cela, en réponse au message d'accueil "boot: " de la disquette de démarrage, le nom du "fichier spécial" correspondant au disque suivi d'un signe égal puis de sa géométrie.

Le nom du fichier spécial

Géométrie : exprimée sous forme de trio de nombres séparés par des virgules. Le premier corresdond aux nombre de cylindres, le deuxième de têtes et le troisième de secteurs.

Exemple :


hda=7992,32,63

fdisk

Voici les commandes de fdisk utiles à ce stade :

Notes importantes :

Sélection de la partition racine (root)

Tout système Linux doit disposer d'une partition root, dont le nom de point de montage (« mount point ») est une simple barre oblique. Il vous faut donc faire correspondre, sur l'écran « Partition disk », le nom de la partition réservée à cet effet au « Mount point » /.

Formatage des partitions

Sélectionner les noms des partitions à formater en appuyant sur la barre d'espacement. Attention : la manoeuvre est dangereuse, ne pas requérir ainsi le formatage des partitions abritant des données.

L'option « Check for bad blocks during format » permet de vérifier le support magnétique durant le formatage. Cela ralentit l'opération mais nous vous conseillons de la cocher car si cela révèle un problème il sera inutile d'aller plus loin. Les tous derniers cylindres (numéros les plus élevés) de certains disques EIDE ne sont pas utilisables (le formatage « patine », réduire la taille de la dernière partition en cas de problème.

Menus du programme d'installation

Components to Install

Sélectionner les éléments (des fichiers d'extension ".rpm", aussi appelés « paquets ») à installer grâce à la barre d'espacement.

Ne pas cocher « Selecting Individual Packages » si vous ne connaissez pas bien Linux.

Notes :

Configuration de la souris

Opter pour le type de souris adéquat. Toutes les souris connectées à un port auxiliaire de type « PS/2 » doivent être déclarées comme reliées à un « PS/2 mouse port ». Cas des souris munies de deux boutons : cocher « Emulate 3 Buttons ».

Configuration de X Window

Se munir de la documentation technique du moniteur de la carte graphique avant de commencer la configuration, afin de répondre correctement aux questions posées. En lire les feuillets consacrés aux « caractéristiques techniques » ou "specifications".

Moniteur : les fréquence horizontales min et max doivent s'y trouver (exprimées en kHz), ainsi que les fréquences verticales min et max (en Hz). Ou bien, s'il s'agit d'un vieux moniteur, la liste des fréquences fixes tolérées.

Carte vidéo : la fréquence max du RAMDAC (parfois appelé « DAC »), exprimée en MHz.

Si la procédure de configuration de X Window échoue durant l'installation de Linux ne pas avorter cette dernière, continuer tranquillement car Linux fonctionne fort bien sans X Window, il sera donc toujours temps de configurer ce dernier. Utiliser pour cela, sous Linux et en tant que root, le programme "Xconfigurator" livré dans le paquet rpm du même nom. En cas de problème essayer XF86Setup (paquet XFree86-XF86SetupQUELQUECHOSE.rpm).

Ne modifier directement (grâce à un éditeur) le fichier de configuration, appelé XF86Config, qu'en dernier recours ou afin de peaufiner les réglages. Éviter de modifier les réglages du moniteur, surtout sur une machine où plusieurs systèmes d'exploitation résident.

En cas de problèmes persistants lire les HOWTO adéquats (XFree86, Video-Timings).

Un script CGI de C. Nahaboo facilite le calcul des Modelines.

Dès que X Window fonctionne de façon satisfaisante invoquer (sous X !) xvidtune afin de peaufiner sa configuration.

Configuration des ressources d'impression

Ne pas perdre de temps avec cela lors de l'installation. Mieux vaut utiliser, après installation, le programme printtool.

Configuration de l'horloge

France métropolitaine : timezone MET DST

Setting a root password

Introduire un mot de passe associé au compte root. Il doit compter plus de six caractères et être assez compliqué. Ne l'oubliez pas mais ne le notez pas ! Attention : majuscules et minuscules ne sont pas équivalentes.

LILO installation

Sélectionner « First sector of a floppy diskette ». Insérer une disquette vierge (formatée) et valider. Cette disquette vous permettra de démarrer Linux.

Pour en réaliser une copie sous Linux vous pourrez, plus tard :

Lorsque vous serez plus aguerri il sera temps d'installer LILO sur le secteur de boot (dit « MBR » : Master Boot Record) de votre disque dur. Lire à ce propos le mini-HOWTO LILO.

3.7 Après installation

Toujours conserver le (ou les) CD de la distribution près de la machine, afin de pouvoir, si nécessaire (ré)installer un programme.

Linux démarrera seul, mais il nous faut tout d'abord apprendre à l'arrêter correctement. Ne JAMAIS éteindre brutalement une machine sous Linux mais utiliser la commande shutdown, généralement placée dans /sbin, par exemple ainsi :

/sbin/shutdown -rf now
La plupart des distributions paramètrent par défaut le système de sorte que la combinaison de touches Control Alt Suppr stoppe de façon adéquate Linux et relance le PC.

Le fichier texte /tmp/upgrade.log contiendra une trace complète de l'activité du logiciel d'installation.

Sauvegarder la table des partitions afin de pouvoir la restaurer en cas d'incident (« incident » : parce qu'elle est sauvegardée, « accident » sinon). Pour effectuer cette sauvegarde sans risque utiliser autant de fois que nécessaire fdisk ainsi :

fdisk FICHIER-SPÉCIAL
en remplaçant à chaque fois FICHIER-SPÉCIAL par le nom du fichier spécial correspondant à l'un des disques en ligne (par exemple /dev/hda, /dev/hdb ...) puis en consignant « à la main » les valeurs obtenues grâce à la commanque 'p'.

Consulter ensuite le document d' errata.

Pour installer de nouveaux paquets il faudra probablement pouvoir accéder au CD ROM. Pour cela le placer dans le lecteur puis introduire mount /mnt/cdrom. Le réperoire /mnt/cdrom permettra de profiter de son contenu. Invoquer umount /mnt/cdrom avant d'essayer de changer de CD.

Configuration via les outils Red Hat

En tant que root (sous X, avec une variable d'environnement « DISPLAY » adéquate : commande export DISPLAY=:0.0) :

Le control-panel offre un accès simplifié à ces divers éléments. Pour l'employer : Pour lancer le control-panel :

Après l'installation

Quelques conseils de Nat :-)

Arborescence X11

Certains logiciels Unix (non adaptés à Linux) furent développés en fonction d'une installation de X Window effectuée sous /usr/X11 et non, comme c'est à présent le cas sous Linux, sous /usr/X11R6. Nous pouvons tirer un lien symbolique grâce auquel ces deux noms correspondront au même répertoire physique :

cd /usr
ln -s X11R6 X11

Répertoire lock

Certaines versions de Linux n'attribuent pas aux répertoires abritant les fichiers de verrouillage des droits adéquats :

chmod a+w /var/lock
chmod +t /var/lock

Éditeur joe

L'éditeur joe n'affiche par défaut pas les caractères accentués. Modifier, pour l'y contraindre, le fichier /usr/lib/joe/joerc de sorte que la ligne commençant par « -asis » soit calée à gauche (il suffit de détruire l'espace placé au début).

Mon conseil : adopter Emacs le plus vite possible !

Ligne de commande

Afin de pouvoir utiliser des caractères accentués sur la ligne de commande créer un fichier .inputrc dans votre répertoire home :

set meta-flag on
set convert-meta off
set output-meta on
set input-meta on

Le recopier dans tous les répertoires home, ainsi que dans /etc/skel (afin qu'il soit recopié lors de chaque déclaration de nouvel utilisateur dans le nouveau home créé).

Fichiers de paramétrage du shell bash

Voici quelques déclarations de variables d'environnement à placer dans /etc/profile :

# locales
LANG=fr
LANGUAGE=fr
LC_CTYPE=C

# explications dans la page de manuel de 'less'
LESS="-C -M -i -x2"
LESSCHARSET=latin1

# explications dans la page de manuel de 'metamail'
MM_CHARSET=iso-8859-1

# nom du fichier spécial associé au port série desservant le modem
RZSZLINE=/dev/ttyS0

# nom du fichier spécial du streamer (utilisé, par exemple, par tar)
TAPE=/dev/nst0

# man bash
HISTCONTROL=ignoredups

# nom de la queue d'impression par défaut
PRINTER=lj1
PRINTDEST=lj1

# nom du 'présentateur' de fichiers texte
PAGER=less

Modifier les valeurs proposées en fonction de vos préférences et besoins et en s'inspirant de ce qui s'y trouve déjà.

Voici quelques déclarations d'aliases à placer à la fois dans /etc/profile et dans /etc/bashrc:

# sécurité : ne démarrer X Window _que_ grâce à la commande 'x'
alias x='{ startx >/dev/null & } ; clear ; logout'

#sous Bash version 1 : alias x='(startx >/dev/null &);clear;logout'

# ls -N : caractères accentués visibles
alias ll='ls -NlF --color=tty'
alias ls='ls -NF --color=tty'

Dans le cas le plus commun Linux démarre, l'utilisateur se loge puis invoque startx et sa session en mode console demeure disponible (y compris pour un pirate) via une combinaison Control-Alt-touche de fonction (le plus souvent Control-Alt-F1). L'alias x ici proposé lance X Window puis « déloge » l'utilisateur afin de ne pas laisser la session en mode console disponible.

La déclaration des fonctions peut prendre place dans divers fichiers, en fonction de l'interpréteur de commandes ("shell") employé. bash, par exemple, interprète lors de son démarrage le contenu du fichier ~/.bashrc. Ce dernier, sous Red Hat, oblige bash à prendre en compte ce que le fichier /etc/bashrc abrite.

"update"

Monter le CD abritant la distribution Red Hat (mount /mnt/cdrom devrait suffire) puis accéder au répertoire updates/ARCHITECTURE. Remplacer ARCHITECTURE par i386 si vous employez une machine à processeur compatible Intel. Ce répertoire n'existe que sur les disques pressés après la date de mise à disposition officielle de la distribution (par exemple LINDIS 2) et abrite un certain nombre de paquets mis à jour. Si le répertoire n'existe pas examiner le contenu de l'arborescence réservée à Red Hat (souvent /pub/linux/distributions/redhat/updates) du serveur FTP public le plus proche afin d'y repérer le répertoire « update » correspondant à la version utilisée.

Installer, grâce à l'option -U de rpm, tous les rpm de cette zone « update » qui mettent à jour des paquetages que vous employez. La section intitulée « rpm » du présent document propose un court mode d'emploi de cet outil.

cron

Ceux pour lesquels le mot-clé « cron » n'a pas de sens peuvent négliger cette sous-section.

La Red Hat installe par défaut un fichier /etc/crontab, pris en compte par cron, au format un peu particulier car le nom de l'utilisateur s'y trouve intercalé entre la date et la commande. Examiner cette table et comprendre son rôle (en particulier ceux de run-parts et des arborescences /etc/cron.*) avant de mettre au point une politique de gestion des travaux périodiques.

logrotate

Ceux pour lesquels le terme « fichier de trace » (logfile) n'a pas de sens peuvent négliger cette sous-section.

Invoquer man logrotate et configurer cet utilitaire.

Accès aux lecteurs de disquettes

Certaines installations Linux engendrent des fichiers spéciaux associés aux lecteurs de disquettes (/dev/fd*) dont les attributs permettent à tous d'y lire (voire d'écrire) directement. Nous pouvons limiter l'accès aux lecteurs à un ensemble d'utilisateurs donné. Créer le groupe « floppy » grâce à la commande groupadd, puis modifier /etc/group afin que seuls les utilisateurs locaux sérieux appartiennent à ce groupe.

Limiter ensuite l'accès aux fichiers spéciaux :

chgrp floppy /dev/fd*
chmod g=rw,o= /dev/fd*

Configuration IP

Sur un poste non totalement isolé, ne serait-ce que grâce à une connexion PPP, modifier /etc/host.conf afin d'améliorer la sécurité :

order hosts,bind
multi on
nospoof on
alert on

Carte son

Créer les fichiers spéciaux liés à la gestion de la carte son (sauvegarder à part puis exécuter le script proposé à la fin de /usr/src/linux/drivers/sound/Readme.linux).

Risque : espionnage, via le réseau, par simple lecture d'un fichier spécial lié au microphone, ou bien gags (émissions intempestives de sons divers).

Solution : créer un utilisateur et un groupe « sound » puis leur attribuer tous les fichiers spéciaux liés au son.

Modifier /etc/group afin que seuls les utilisateurs locaux sérieux appartiennent à ce groupe.

Modifier les attributs des fichiers spéciaux de sorte que seuls les membres du groupe « sound » puissent y accéder :

cd /dev
chgrp sound audio* dsp* dsp* midi* mixer* music* sequencer*
chmod o= audio* dsp* dsp* midi* mixer* music* sequencer*

Mots de passe ombrés (shadow passwords)

Lire le « Linux Shadow Password HOWTO » pour comprendre l'intérêt des mots de passe ombrés.

Sous Red Hat : installer shadow-utils-970601-1.

Sitôt les mots de passe ombrés installés créer un groupe « shadow » puis :

chown root.root /etc/passwd
chmod o=rw,g=r,o=r /etc/passwd
chmod u=rw,g=r,o= /etc/shadow
chown root.shadow /etc/shadow
Ne pas invoquer /usr/sbin.pwconv5 directement mais au travers d'un script rétablissant les attributs de fichiers comme ci-dessus.

Vérification : utiliser /usr/sbin/pwck.

Ajouter ou modifier une ligne dans /usr/X11R6/lib/X11/config/linux.cf de sorte qu'elle devienne :

#define HasShadowPasswd         YES

S'assurer que xlockmore fonctionne bien. Le cas échéant :

chgrp shadow /usr/X11/bin/xlock
chmod u=rxw,g=xs,o=x /usr/X11/bin/xlock

S'assurer aussi, le cas échéant, de ftpd, xdm et fetchmail.

3.8 Administration

Rappel : Ne JAMAIS éteindre brutalement une machine sous Linux mais utiliser la commande shutdown, généralement placée dans /sbin, par exemple ainsi :

/sbin/shutdown -rf now

La plupart des distributions paramètrent par défaut le système (dans /etc/inittab) de sorte que la combinaison de touches Control Alt Suppr stoppe de façon adéquate Linux et relance le PC.

Création de comptes

Ne jamais travailler en tant que root mais créer autant de comptes que nécessaire grâce à /usr/bin/usercfg.

rpm

Ce programme permet de gérer les logiciels installés. Il faut toujours employer en tant que root.

Les logiciels sont livrés sous forme de « paquets », fichiers aux noms rappelant celui du logiciel contenu ainsi décomposable : NOM_LOGICIEL-VERSION_LOGICIEL-NUMÉRO_DE_PAQUET.rpm

Exemple : le fichier logi-2.7-3.rpm est la troisième version d'un paquet rpm abritant le logiciel nommé logi version 2.7. « troisième version » signifie ici, le plus souvent, que les deux précédentes ne fonctionnaient pas parfaitement.

L'interface graphique du programme rpm se nomme glint (option « Package Management » du control-panel).

Pour employer le logiciel installé : explorer le contenu du rpm par rpm -qpl nom_fichier.rpm, lire son man (fichiers contenus dans le paquet rpm aux noms terminés par .1, .2, .3 ... il suffit d'introduire man nom_de_fichier_sans_extension) et aussi explorer le contenu du répertoire /usr/doc/nom_du_logiciel*.

Conseils

Sur une machine de production :

Pourquoi préférer les rpm à l'installation « à la main » ?

Les mécanismes de rpm ne pourront prendre en charge l'évolution et la bonne "coopération" des logiciels non mis en place par lui.

Cela n'entraîne que rarement un problème majeur dans le cas d'une application, surtout installée sous /usr/local/. Mais c'est beaucoup plus fâcheux dans le cas d'une bibliothèque, surtout de la libc, car une installation hors rpm implique que ce dernier croit disposer d'une version donnée alors qu'une autre est installée.

Après quelques installations hors rpm l'administrateur du système risque de :

Note : avant déploiement du paquet rpm correspondant à une application déjà installée "à la main" ne pas oublier de détruire tous les fichiers de cette dernière.

Mieux vaut donc éviter d'installer un paquet non rpm. Si l'on souhaite profiter d'un logiciel il faut d'abord cherche un paquet rpm existant, par exemple dans ftp://ftp.lip6.fr/pub/linux/distributions/redhat-contrib Utiliser aussi FTPSearch, en particulier la recherche par expression rationnelle ("regexp") afin de pouvoir soumettre (par exemple) « nom_du_logiciel.*\.i386\.rpm ».

Problème après installation d'un rpm

Certains paquets rpm contiennent des descriptions d'installation incomplètes car dépendantes d'un contexte précis. C'est surtout le cas des « contributions ».

Le problème le plus fréquent concerne les attributs (« permissions ») des fichiers déployés si l'auteur du paquet rpm n'a pas pris la peine de forcer le programme d'installation à les mettre en place correctement. Lors de la création des fichiers le système utilise la valeur d'umask afin de mettre en place leurs attributs mais celui de root, sur un système administré par un parano :-), sera probablement u=rwx,g=rx,o=

Si l'umask de root est trop restrictif les utilisateurs ne pourront pas accéder à certains fichiers installés par ces rpm réalisés de façon peu soigneuse (ou lors d'un make install, la commande traditionnellement utilisée pour installer un programme compilé sur la machine même). Il faut alors, en tant que root, sauvegarder les fichiers de configuration de ce paquet modifiés puis le désinstaller, saisir umask 022 et réinstaller. Éviter de réinstaller sans désinstaller au préalable, grâce à l'option force.

Mise à jour

Pour procéder à la mise à jour d'un système Red Hat existant choisir l'option upgrade au début de la procédure d'installation.

Examiner, lors du redémarrage après mise à jour, tous les fichiers nommés rpmorig ou rpmsave car, lors de l'installation d'une nouvelle version d'un logiciel, rpm ne supprime pas les fichiers de configuration modifiés par vous mais les renomme, de façon à faciliter la restauration de vos paramètres tout en permettant de disposer des plus récentes options du logiciel (ce qui serait impossible en conservant un vieux fichier de configuration).

Pour les rechercher : find / -name rpmorig -or -name rpmsave.

On peut aussi mettre à jour grâce à aux outils rhupgrade et freshrpm.

Problème après la mise à jour

L'administrateur avisé, répétons-le, n'installe PAS les paquets de « contributions » mais uniquement ceux que la société Red Hat diffuse. L'immense majorité des problèmes constatés après une mise à jour relèvent de l'installation d'une « contrib ».

En cas de problème très grave, par exemple un blocage durant le processus de démarrage, ne réinstaller que la « base » Red Hat remettra en place les versions correctes des programmes nécessaires tout en ménageant les applications et données installées, y compris la base des rpm.

J'ai réalisé l'expérience avec un CD Red Hat 4.2 (LINDIS 2.0) et tout fonctionna parfaitement. Il faut disposer d'au moins une machine utilisable.

Pour cela :

Administration au jour le jour

Si l'on souhaite pouvoir compiler et mettre en ligne un nouveau « noyau » (version du 'kernel') via make zlilo (lire à ce propos le Kernel HOWTO) il faut décommenter la ligne :


#INSTALL_PATH=/boot

placée dans le fichier Makefile des sources du noyau, placés sous /usr/src/linux(numéro de version) par le paquet kernel-(numéro de version).rpm).

Pour arrêter un démon utiliser /etc/rc.d/init.d/SONNOM stop Pour le démarrer : /etc/rc.d/init.d/SONNOM start.

3.9 Compilation du noyau (kernel)

Il est parfois nécessaire ou souhaitable de compiler et d'installer une nouvelle version du noyau, par exemple afin de disposer d'un nouveau logiciel pilote.

Il faut pour cela disposer de l'archive des sources d'une version donnée du noyau, par exemple appelée linux-2.0.31.tar.gz. Ces fichiers sources prendront place dans un sous-répertoire de /usr/src/, souvent /usr/src/linux/.

Des fichiers appelés 'patch' contiennent les différences entre versions du noyau, par exemple patch-2.0.32 (à appliquer aux sources d'un noyau version 2.0.31 afin de les transformer en sources de la version 2.0.32).

Les patchs sont applicables successivement, mais il faut en respecter le séquencement. Exemple : appliquer successivement aux sources de la version 2.0.33 du noyau les patchs patch-2.0.34, patch-2.0.35 et patch-2.0.36 les transformera en sources de la version 2.0.36.

Les archives des sources et patch se trouvent sur de nombreux serveurs publics (par exemple kernel.org et, en France métropolitaine, sous un répertoire du serveur du LIP6.

Attention :

Les documents Kernel HOWTO et Compilation kernel 2.2.x contiennent toutes les informations nécessaires, je me contenterai donc ici d'un survol (et d'une astuce facilitant la compilation d'une nouvelle version lorsqu'un autre noyau a déjà été engendré sur la machine).

La plupart des opérations décrites ci-après ne sont pas réservées à root, il est conseillé de les mener à bien en tant que simple utilisateur et de ne 'passer root' que lorsque cela devient nécessaire (par exemple lors de l'installation des fichiers abritant le binaire du noyau et les modules, ou bien lors de la mise au point de la configuration de LILO).

Gagner le répertoire des sources du noyau :

cd /usr/src

Vérifier si les sources du noyau sont déjà installés :

file linux
(la commande file permet d'obtenir le type d'une entité stockée sur un système de fichiers : un fichier, un répertoire, un lien ...)

Si la réponse de file est 'symbolic link to (quelque chose)' il s'agit d'un lien symbolique, nous allons le supprimer :

rm linux

S'il s'agit d'un répertoire ('directory') nous le renommerons :

mv linux linux.old-`date +%Y%m%d%H%M%S`

S'il n'existe pas : passer au paragraphe suivant (décompactage de l'archive) !

Puis décompacter l'archive du noyau grâce à une commande de la forme tar xvzf TAR-DE-NOYAU-COMPLET-STABLE
Exemple :

tar xvzf /tmp/linux-2.0.31.tar.gz 

Cette commande crée un répertoire linux. Le renommer linux-NUMÉRO-DERNIÈRE-VERSION-DISPO (en tenant compte des patches). Le répertoire de la version 2.0.31 de notre exemple sera ainsi renommé 2.0.36 puisque nous disposons des fichiers patch-... nécessaires. Exemple :

mv linux linux-2.0.36

Créer un lien symbolique appelé linux pointant vers ce nouveau répertoire.
Exemple :

ln -s linux-2.0.36 linux

Se placer dans le répertoire.

cd linux

Appliquer les patches grâce au script patch-kernel fourni avec les sources du noyau. Il faut lui passer deux arguments : le nom du répertoire contenant les sources à patcher, et celui qui abrite les fichiers patch.

Exemple (fichiers de patch dans le répertoire ~/tmp) :

scripts/patch-kernel . ~/tmp

Si le message failed. Clean up yourself. apparaît passer à la section du présent document intitulée Patch impossible.

Vérifier l'application (en théorie inutile, car assuré par le script patch-kernel/). Mais, comme nul ne l'ignore, en matière d'informatique AUSSI la parano sauve !). Bref. La commande suivante cherche des fichiers d'extension '.rej' produits lorsqu'un patch échoue. Elle ne doit produire aucun message :

find | grep -i '\.rej'

Si elle en produit passer à la section du présent document intitulée Patch impossible.

Si un noyau a déjà été engendré sur la machine locale sur la machine un fichier .config contenant toutes les options de compilation se trouve dans le répertoire principal des sources du noyau. Le copier dans le répertoire des nouveaux sources puis invoquer make oldconfig :

cd /usr/src/linux
cp /ANCIENS-SOURCES-DU-NOYAU/.config .
make oldconfig

Si la commande make n'existe pas le message bash: make: command not found apparaîtra : il faut chercher le paquet (rpm, deb, tgz ...) appelé 'make' et l'installer.

Configurer le noyau.

make xconfig

Si X Window n'est pas actif utiliser make menuconfig (il faut installer le paquetage ncurses, voire make config).

Configurer le noyau (lire le Kernel HOWTO).

Configurer les "Codepage"s du menu 'filesystems' : 437 et 850, "NLS ISO 8859-1".

Le compiler :

make dep clean zImage modules

Cette commande ne doit produire aucune erreur.

En cas d'erreur :

make[1]: as86: Command not found
installer le paquet bin86.

En cas de message 'PAGE_OFFSET_RAW ...' invoquer 'make oldconfig'

On peut ensuite supprimer les modules déjà installés qui correspondent à la version de noyau en cours d'installation, afin de s'épargner quelques 'warnings' (avertissements) lors du redémarrage. Mais ce n'est pas obligatoire. Si la version du noyau en cours d'installation est égale à celle de la version active cette suppression peut interdire d'employer sur le moment certains modules (il faudra redémarrer en chargeant le nouveau noyau pour en bénéficer à nouveau). Exemple de commande supprimant les modules d'un noyau donné : rm -rf /lib/modules/2.0.36. Il est souvent plus sage de les détruire après avoir redémarré le système grâce au nouveau noyau, par exemple en les sélectionnant en fonction de leur âge :

find /lib/modules/2.0.36/ -type f -mtime +1 | xargs -r rm

Puis invoquer make modules_install afin d'installer les modules. Il faut se trouver dans le répertoire des sources du noyau (/usr/src/linux) et effectuer cela en tant que root.

Ces fichiers d'extention .o contiennent le code exécutable de certaines sections du noyau compilé, que ce dernier pourra ensuite charger et décharger en fonction des besoins. Ils seront installés dans /lib/modules/NUMÉRO-VERSION-NOYAU/. Ceux qui résident déjà à cet endroit demeurent en place, des messages étranges apparaissent donc parfois (souvent lors de l'amorçage) car depmod -a trouve des modules inutilisables. Lire à ce propos la FAQ fcol (rubrique 'insmod').

Copier le nouveau noyau compilé dans la zone réservée aux fichiers de ce type.
Exemple :

cp arch/i386/boot/zImage /boot/zImage-2.0.36
ATTENTION : (sauf dispositions particulières) seul root peut effectuer cela !

Supprimer les fichiers devenus inutiles et autoriser tous les utilisateurs à lire les fichiers des sources du noyau (afin qu'ils puissent employer gcc).

make clean
find . -type d | xargs chmod a+x
chmod -R a+r *

Éditer /etc/lilo.conf et y ajouter une section image, placée juste avant la première de ce type qui s'y trouve déjà.
Exemple (attention : modifier si nécessaire le paramètre root, s'inspirer pour cela des autres déclarations présentes dans ce fichier) :

image=/boot/zImage-2.0.36
        label=l2036
        root=/dev/hda1
        read-only

Invoquer lilo et lire ses messages. Utiliser le paramètres -v afin de mieux diagnostiquer un éventuel problème.

Redémarrer la machine.

Pour obtenir la liste des modules (telle que présentée dans /etc/modules.conf : /sbin/modprobe -c | grep -v '^path'.

Mise en place du fichier-noyau

T. Quinot propose un script de shell qui recopie un fichier de noyau fraîchement compilé à l'endroit idoine, puis lance lilo. Cela permet de tester un nouveau noyau sans devoir éditer lilo.conf.

Il accepte un nom de répertoire fourni en option de ligne de commande. Ce répertoire doit contenir un noyau, et le script installe System.map sous le nom /boot/System.map-VERSION, de façon à ce que procps puisse le trouver automatiquement.

#! /bin/sh

# 1998-03-25 thomas@Cuivre.FR.EU.ORG

KERNEL_SOURCES=${1:-/users/operator/src/linux-2.1}
VERSION=`grep UTS_RELEASE $KERNEL_SOURCES/include/linux/version.h |
         sed 's,^.*"\(.*\)".*$,\1,'`

cp -pf $KERNEL_SOURCES/arch/i386/boot/zImage /boot
cp -pf $KERNEL_SOURCES/System.map /boot/System.map-$VERSION
# ajout Nat
cd /boot
ln -sf System.map-$VERSION System.map
#fin ajout Nat
/sbin/lilo -v
echo Syncing
sync;sleep 1;sync;sleep 1;sync
echo Synced.

Voici l'entrée correspondante du lilo.conf :

image = /boot/zImage
  label = test

Page suivante Page précédente Table des matières