(LILO) Comment changer le système d'exploitation lancé par défaut au démarrage ?
Placer dans le fichier
/etc/lilo.conf
une déclaration
default=nomImage
(nomImage
remplace ici le nom de l'une
des configurations image=
de ce fichier). Invoquer lilo.
Autre solution : utiliser l'option -D
de lilo pour déterminer
le système lancé par défaut. Exemple: lilo -D linux pour lancer
par défaut le système nommé linux
.
Pour choisir quel système démarrer uniquement au
prochain démarrage, utiliser l'option -R
de lilo.
Comment fixer les paramètres que LILO ou loadlin devront passer au noyau?
LILO dynamique (« à la main »)
Pour passer un paramètre au noyau via LILO il suffit, lors du démarrage, de
l'obliger à afficher sa chaîne d'appel LILO boot:
Pour cela, verrouiller le mode « Numérique » (touche Verr Num) ou le haut de casse (« majuscules »), ou bien maintenir une touche morte (par exemple Control ou Shift) enfoncée durant le premier accès au disque.
Sitôt LILO boot:
affiché, appuyer sur la touche
TABulation. Les noms logiques des systèmes déclarés dans le
fichier de configuration de LILO apparaissent. Choisir celui d'un noyau
Linux stable, le composer puis insérer un espace et le paramètre souhaité.
Exemple (cas d'un noyau appelé lindis
auquel on souhaite passer le
paramètre single
) :
sitôt après les diagnostics du BIOS, maintenir la touche Control enfoncée alors que le démarrage sur disque commence. LILO prend la main et affiche:
LILO boot:
on peut alors appuyer sur TAB afin d'obtenir la liste des systèmes d'exploitation accessibles :
LILO boot: ((appuyer sur la touche "TABulation")) lindis oldlin beta msdos ((noms des systèmes "bootables"))
fournir à LILO le nom de l'un des systèmes, suivi, s'il s'agit d'une version de Linux, du nom du paramètre et, le cas échéant, de la valeur associée.
Exemple :
LILO boot: lindis single
LILO statique (fichier de config)
Pour figer un paramètre, placer dans la section adéquate du fichier
/etc/lilo.conf
une
déclaration append="X"
, où X
remplace le paramètre à transmettre au noyau. Le BootPrompt-HOWTO
fournit toutes les précisions nécessaires.
loadlin
loadlin est un petit programme grâce auquel on peut lancer Linux àpartir d'une session MS-DOS.
S. Stephant:
La syntaxe générale de loadlin est:
loadlin.exe ton_noyau root=ta_partition_racine [les paramètres du noyau]
Il suffit donc de mettre une ligne dans le config.sys
.
Exemple (cas d'une partition Linux sur /dev/hda1
, noyau version
2.30) :
shell=c:\loadlin\loadlin.exe c:\loadlin\vmlinuz.230 root=/dev/hda1 ro
Attention: la ligne shell=...
de MS-DOS ne peut contenir que
127 caractères. La solution est de passer par un fichier de paramètres.
config.sys
devient alors :
shell=c:\loadlin\loadlin.exe @c:\loadlin\params.dat
et le fichier params.dat
contient, par exemple :
c:\loadlin\vmlinuz.230 root=/dev/hda1 ro
Lire le fichier manual.txt
livré
avec loadlin.
LILO
Ajouter le mot-clé prompt
au fichier de configuration
/etc/lilo.conf
pour que LILO affiche systématiquement sa chaîne
d'appel ;
utiliser aussi, en ce cas, le paramètre timeout
afin de limiter le
nombre de secondes d'attente de LILO après affichage de sa chaîne d'appel.
Exemple: timeout=50
provoque un délai de 5 secondes.
J. C. Delepine :
Explorer la zone system/recovery/ des sites FTP diffusant du Linux.
Comment restaurer ou supprimer le secteur de démarrage de LILO ?
A. Gomes-do-Vale :
Quand dans la suite il est question d'une disquette de démarrage, on peut en général utiliser le CD d'installation de la distribution.
S. Stephant :
Pour restaurer le secteur de démarrage installé par LILO :
démarrer le système grâce à un jeu de disquettes boot/root ;
monter sous /mnt
la partition
principale Linux du disque dur ;
invoquer lilo -r /mnt. Il sera peut-être nécessaire d'utiliser /sbin/lilo -r /mnt, voire /mnt/sbin/lilo -r /mnt.
M. Boyer :
Sous Red Hat : amorcer grâce à la disquette rescue
. Juste avant le démarrage une chaîne
d'appel boot:
apparaît, saisir à ce
moment rescue linux root=Z (remplacer
Z
par le nom de la partition racine). Il faut
ensuite invoquer lilo.
Pour remplacer le secteur de démarrage installé par LILO :
sous Linux :
lilo -u
dd if=NOM_FICHIER of=/dev/hda bs=446
count=1, où NOM_FICHIER
remplace le nom du fichier abritant la sauvegarde du secteur de
démarrage originel (dûment préservé sur une disquette !),
souvent nommé /boot/boot.NUMERO_MAJEUR
NUMERO_MAJEUR
correspond au
majeur périphérique, par exemple :
0300 pour /dev/hda
0306 pour /dev/hda6
0800 pour /dev/sda
sans employer Linux:
préparer une disquette MS-DOS système contenant
FDISK.EXE
;
démarrer le système grâce à elle;
invoquer FDISK /MBR.
En cas de problème (impossibilité d'écrire le secteur de démarrage) examiner le SETUP du BIOS afin d'autoriser son écriture.
Le mode de partitionnement ou de démarrage de Linux ne varie pas selon le type (FAT16, FAT32, NTFS ...) des éventuelles partitions (MS-Windows ou non) du disque.
Si LILO ne suffit pas employer GRUB ou MBoot
Comment profiter, sur une distribution X, des paquets destinés à une autre distribution ?
Compiler et installer rpm. Se procurer les utilitaires alien, unrpm, rpm4everyone, rpm2targz (rpm2tgz)
E. David:
Un .deb
n'est autre qu'une
archive ar
contenant (entre
autres) le .tgz
. Un petit
coup de ar sur un .deb
permet donc d'installer un package
debian « à la main » sur une slackware.
A. Gomes-do-Vale:
Pas mal de problèmes peuvent se poser; outre les problèmes de
dépendances évidents (les outils comme alien n'en
tiennent pas compte), les différence dans la structure de
/etc
peuvent être gênantes. De plus, quand on
convertit un paquet dans un format différent, on perd généralement les
scripts de configuration ; il faut alors terminer l'installation à la
main.
Quand j'essaie d'installer un paquet RPM
, j'ai un message d'erreur me
réclamant RPM version 4.
A. Gomes-do-Vale :
Pour passer de RPM 3 à RPM 4 (ou pour toute autre mise à jour du même genre), il existe plusieurs solutions :
Recompiler et installer RPM à partir des sources sans utiliser le système RPM installé (peu recommandé) ;
Installer un paquet de transition (les versions 3.0.5 et suivantes de RPM reconnaissent le format de la version 4) ;
Installer les paquets disponibles sur ftp.rpm.org ; on y trouve entre autres un RPM 4 installable avec RPM 3.
Dans tous les cas, ne pas oublier de faire un rpm --rebuilddb après la mise à jour.
Dans quels cas de figure doit on passer à une nouvelle version d'un logiciel donné ?
J.-C. Delépine (édité):
Tou l3 taN !!! L1nuX RuL3z, wInD0w2 5ucK5 !!!!! (traduction : parce que l'on est un ahuri ou un frimeur)
Quand la nouvelle version supporte un matériel ou a de nouvelles fonctionnalités qui vous intéresse.
Quand il s'agit d'un des logiciels sensibles vous reliant au reste du monde (noyau, popd, imapd, named, sendmail, ...). On corrige en effet souvent des trous de sécurité impliquant ces logiciels.
quand il s'agit de soft indispensable pour la sécurité de vos données comme les e2fstools, il est recomandé d'utiliser les versions les plus récentes qui prennent mieux en charge davantage de cas de figure.
De façon générale, la lecture des 'release notes' ou d'un éventuel
fichier Changelog
vous renseignera sur
l'utilité que peut avoir pour vous telle ou telle version d'un
logiciel.
D'autre part, les nouvelles versions des logiciels sensibles sont
généralement annoncées sur freshmeat ou dans le forum comp.os.linux.announce
, avec un résumé des
nouvelles fonctionnalités, la liste des bugs corrigés, les nouveaux
matériels gérés...
A. Gomes-do-Vale:
Ne pas oublier que les distributions modernes incluent souvent un outil de mise à jour automatique (apt, up2date, yup...). Les mises à jour installées par ces outils sont généralement suffisantes pour prévenir les problèmes les plus importants.
Quelle version de noyau dois-je utiliser ?
S. Écolivet, édité par A. Gomes-do-Vale :
La version du noyau apparait sous la forme de trois nombres : X.Y.Z.
X correspond à la version majeure du noyau. Depuis juin 1996, les versions des noyaux linux courants sont de la forme 2.Y.Z.
Y indique la branche de développement du noyau. Si Y est pair, il
s'agit d'un noyau de la branche stable. La branche stable actuelle
correspond à la version 2.4 du noyau. Si Y est impair, il s'agit d'un
noyau potentiellement instable et pouvant endommager le système.
Il est très fortement déconseillé d'utiliser un noyau
instable. Pour les personnes utilisant malgré tout un
noyau instable, il est conseillé de suivre attentivement la liste de
diffusion linux-kernel dont l'adresse est indiquée dans le fichier
REPORTING-BUGS
des sources du noyau.
Z est le numéro de version mineur, correspondant principalement aux corrections de bugs.
Pendant le boot, de temps en temps, un message
maximum mount count, check forced
apparaît. Qu'est-ce?
D. Segonds :
Le système de fichiers comporte un compteur qui est incrémenté
à chaque fois qu'un montage est effectué. Lorsque le compteur atteint
la valeur maximale, la vérification est lancée à l'appel de fsck. C'est
un comportement normal. Vous pouvez modifier la valeur maximale du
compteur en utilisant l'option -c
de l'utilitaire
tune2fs.
Le système refuse de créer des fichiers "espace disque insuffisant". Pourtant df indique qu'il reste de la place sur la partition.
Vérifier avec df -i qu'il reste des inodes disponibles. S'il n'y en plus, il faut faire du nettoyage en supprimant des fichiers inutiles.
Si la partition abrite beaucoup de petits fichiers, on peut
choisir une solution plus radicale qui consiste à recréer le système de
fichiers en allouant plus d'inode. Attention, le reformatage détruit
tous les fichiers présents sur la partition. La commande à utiliser est
mke2fs, avec l'une des options -T type
,
-i XXXX
, ou -N YYYY
. Pour
en savoir plus, man mke2fs.
A. Gomes-do-Vale :
En pratique, l'option -T
de
mke2fs ne donne pas de très bons résultats quand on
spécifie le type news
, on se retrouve facilement
à court d'i-noeuds si le système de fichiers est effectivement utilisé
pour stocker un spool de news traditionnel (avec un fichier par
article). Dans ce cas, il vaut mieux passer les options -i
1024 -b 1024
.
Le simple ajout d'une ligne à
/etc/fstab
permet à n'importe quel
utilisateur de monter/démonter un support amovible sans devoir employer
tous les paramètres.
Voici, par exemple, un extrait de /etc/fstab
(cas d'un CD-ROM ATAPI
maître sur la seconde chaîne EIDE)
/dev/hdc /mnt/cd iso9660 noauto,user,exec,ro,umask=033,unhide 0 0
Chaque ligne du fstab
est composée de champs qui décrivent un système
de fichiers montable. Des espaces ou tabulations séparent ces champs.
le premier champ (/dev/hdc
) contient le nom du fichier spécial
associé au périphérique ;
le deuxième (/mnt/cd
) le nom du répertoire où le montage sera
effectué (il DOIT exister !) ;
le troisième le type de système de fichiers, utiliser
iso9660
pour un CD-ROM, vfat
pour
une partition MS-DOS ;
le quatrième (noauto,user [...]=033
) les
options de montage ;
noauto
:Pas de montage automatique lors du boot.
user
:Montable/démontable par un utilisateur (c'est ce qui nous intéresse).
exec
:Les binaires placés sur ce support seront exécutables.
ro
:Lecture seule ( Read-Only).
umask
:« permissions » du répertoire de
montage. 033
(ou 000
, si
vfat
) permet à tous de lire.
le cinquième (premier 0
) la fréquence des sauvegardes par
dump : laisser 0 dans le cas d'un
volume amovible ;
le sixième (second 0
) le rang de passage à fsck : laisser 0
dans le cas d'un volume amovible ;
Utiliser /dev/sr0
en lieu et place de /dev/hdc
pour le
premier CD SCSI.
N'importe quel utilisateur peut alors invoquer mount /mnt/cd puis umount /mnt/cd et obtenir satisfaction. ATTENTION : le binaire de mount doit être setuid root :
chown root `which mount` chmod +s `which mount`
Autres exemples :
/dev/hda1 /mnt/dos-c vfat umask=003,codepage=850,noauto,user,exec 0 0 /dev/sda4 /mnt/jaz ext2 noauto,user,exec 0 0 /dev/fd0 /mnt/floppy auto sync,user,noauto,unhide 0 0
Documentation: commencer par les pages de manuel de mount et fstab.
S. Stephant :
Utiliser les options gid
, uid
et/ou umask
pour
limiter les possibilités des divers utilisateurs sur les systèmes de
fichiers ainsi montés.
Afin de limiter l'accès de certaines partitions à un utilisateur ou à un
groupe précis, on peut utiliser l'option de montage umask
. Par exemple,
pour que seuls les membres du groupe « dos » (gid=202) puissent accéder à
votre partition vfat, on peut utiliser la ligne suivante dans le
fstab
:
/dev/hda1 /diskc vfat noauto,user,noexec,gid=202,umask=0007 0
De même, pour autoriser seulement l'utilisateur « durand » (uid=100) à écrire sur cette partition, autoriser les membres du groupe « dos » (gid=202) à y lire, et interdire l'accès aux autres, on peut utiliser une entrée comme :
/dev/hda1 /diskc vfat noauto,user,noexec,uid=100,gid=202,umask=0027 0 0
A. Gomes-do-Vale :
Les systèmes de fichier de type FAT
n'ont pas de notion de droits.
L'utilisation des options umask
,
uid
et gid
est nécessaire
pour que des utilisateurs puissent y accéder.
Ne modifier que /etc/fstab
,
jamais/etc/mtab
.
Comment exploiter les disques non écrits sous Linux ?
Voir aussi the section called “Montage de systèmes de fichiers (disque, partition, accès, fstab, mount) ”.
Mac : HFS ou pilote HFS (intégré dans le noyau 2.2)
MS-DOS : mtools et pilote vfat
intégré au
noyau
FAT32 : Linux peut accéder aux partitions FAT32 (y compiler le code
du système de fichiers vfat
, puis l'utiliser), ou bien employer
une version récente des mtools.
V. Bernat :
NTFS est très expérimental ; son développement a repris et il devrait donc s'améliorer. En attendant, il est capable de lire les données d'une partition NTFS mais est très dangereux pour y écrire : ne vous y aventurez pas.
J'aimerais accéder à mes partitions NTFS.
Un support expérimental est inclus dans le noyau Linux. Apparemment, il
fonctionne assez bien en lecture, mais son utilisation en écriture est
peu sûre (pertes de données à prévoir). Le module correspondant
s'appelle ntfs.o
. Certaines distributions le
fournissent en standard, pour d'autres (Red Hat 7.3 par exemple) il
faudra recompiler le noyau. Ensuite, charger le module par un
modprobe ntfs. Pour monter la partition
automatiquement, insérer une ligne de ce genre dans
/etc/fstab
:
/dev/hda1 /mnt/win ntfs defaults,ro 0 0
en remplaçant /dev/hda1
et /mnt/win
par les bonnes valeurs.
Pour écrire des données depuis Linux sur une partition lisible par Windows, préférer le système de fichiers FAT. L'écriture sur du NTFS n'est réellement pas fiable.
Qu'abrite le répertoire
/proc
?
Un ensemble de fichiers « virtuels » permettant de communiquer avec le noyau. Aucun d'eux n'occupe d'espace sur le disque.
Notamment, le fichier kcore
, dont la taille peut effrayer, n'est
qu'une image de la mémoire disponible sur la machine. N'essayez pas
de le détruire pour « libérer » de l'espace disque...
J'ai tout d'abord installé Linux (Red Hat) sur le disque dur
hda
.
Or, j'ai depuis acheté un autre disque dur plus gros que j'ai mis en
maître sur ma première nappe, reléguant le précédent sur ma deuxième
nappe IDE... Mon ancienne installation de Linux se retrouve donc
maintenant en hdc
... Que faut-il modifier pour arriver à la faire
tourner comme avant mais en hdc
...?
Solution fournie par J.C. Richard :
boote sur une disquette rescue
. Puisque tu as la Red Hat, utilise
la disquette de boot fournie, mais tape rescue quand LILO
te demande ce que tu veux;
on va supposer que ton root linux est passé de hda1
à hdc1
pour t'expliquer la méthode.
mkdir /mnt/tmp mount /dev/hdc1 /mnt/tmp cd /mnt/tmp/etc vi fstab
(remplace alors tes occurences de /dev/hda1,2,3,4
par
/dev/hdc1,2,3,4
)
ensuite :
vi lilo.conftu devrais modifier de la manière suivante:
boot=/dev/hda (pour avoir LILO en MBR) map=/boot/map install=/boot/boot.b prompt image=/boot/vmlinuz label=linux root=/dev/hdc1 read-only
et tout le reste de ton lilo.conf
est à modifier dans le même sens,
si tu as des partitions Dos, NT et autres à installer;
Ne lance pas immédiatement lilo, cela ne fonctionne pas toujours;
reboote avec la disquette (ou sous DOS). Si tu passes via DOS,
utilises loadlin en lui indiquant
le montage root=/dev/hdc1
;
lors du démarrage effectué grâce à la disquette, au prompt LILO tape : mount root=/dev/hdc1
ensuite, tu te loges root et fais un lilo. Tout est réparé.
La solution indiquée ci-dessus n'est pas spécifique à Red Hat.
Afin d'éviter de rebooter sous un autre système (ou s'il n'y en a pas),
il suffit, après avoir correctement modifié lilo.conf
, d'exécuter
la commande suivante: lilo -C /mnt/tmp/etc/lilo.conf -r /mnt/tmp.
Comment repartitionner sans détruire de partition ?
Sous Linux (ext2) : lire la doc d'ext2resize et de GNU parted.
Le logiciel MS-DOS FIPS permet
cela, mais uniquement avec les FAT
16 bits.
Une version
plus récente traite les FAT32
.
Les devices sont numérotés selon leur ordre d'apparition et non en fonction de leurs addresses comme sur les Unix classiques.
Si la config hardware change par rajout de carte ou de périphèriques, il
faut modifier /etc/fstab
pour pouvoir amorcer Linux... Penser
aussi aux périphériques SCSI qui s'autoconfigurent en termes d'ID ou qui
sont "hot pluggables".
É. Dumas, édité par A. Gomes-do-Vale :
La solution s'appelle devfs. C'est intégré au noyau 2.4.
Comment ajouter une entrée dans
/dev
?
À chaque périphérique peut correspondre un (ou plusieurs) fichier spécial grâce auquel les programmes dialoguent avec le pilote de périphérique correspondant.
Règles:
créer les fichiers spéciaux grâce à MAKEDEV ou
mknod. Lire le fichier
Documentation/devices.txt
livré avec les
sources du noyau afin de déterminer les paramètres adéquats;
le nom du fichier spécial n'a aucune importance sur le plan logiciel, seuls comptent son type, sa majeure et sa mineure;
le fait que le fichier nécessaire existe dans /dev
n'est
pas suffisant, il faut aussi que le pilote de périphérique nécessaire soit
disponible (compilé dans le noyau ou sous forme de module).
La liste des numéros majeur et mineur des fichiers spéciaux et leur
signification se trouvent dans le fichier
/usr/src/linux/Documentation/devices.txt
(il faut
avoir installé les sources du noyau).
Que signifie le message
unable to get major
suivi d'un nombre ?
Un pilote de périphérique compilé dans le noyau (donc « intégré ») se trouve aussi disponible sous forme de module.
E. Decaen: utiliser modprobe -c pour étudier la liste des modules en ligne.
Comment déterminer quel processus utilise une ressource donnée (fichier, donc par extension périphérique)?
Employer l'utilitaire fuser, livré avec l'ensemble psmisc.
Exemple commenté :
$ fuser /dev/ttyS1 # qui donc utilise /dev/ttyS1 ? /dev/ttyS1: 245 # le processus numéro 245 $ ps -auxw|grep 245 # quel est ce processus ? root 245 0.3 6.8 8336 4356 ? S 10:34 1:29 X :0 # c'est X Window ! $ fuser /usr/bin/X11/X # qui donc utilise "/usr/bin/X11/X" ? /usr/bin/X11/X: 245 # programme exécuté par le processus 245
On peut aussi installer lsof.
Comment déterminer le type d'un exécutable ou obtenir la liste des bibliothèques partagées qu'il emploie ?
Commande ldd NOMFICHIER.
V. Bernat :
ldd ne donne pas le type de l'exécutable, il faut utiliser la commande file.
Mon PC rame sous Linux.
V. Bernat
Certaines distributions pensent que vous avez besoin de beaucoup de choses, comme un serveur httpd. Il est facile de gagner un peu de mémoire en désactivant les services dont vous n'avez pas usage, soit à l'aide de chkconfig, soit à l'aide de l'outil adéquat dans le panneau de contrôle. De plus, KDE et Gnome sont des environnements très complets disposant de beaucoup plus de fonctionnalités que l'explorateur de Windows : comparer les deux en terme de vitesse n'est pas une bonne idée. Vous pouvez essayer d'autres "interfaces" comme window maker ou fvwm2.
Alors que mon système ne fait rien et que je n'ai quasiment pas de processus qui tournent, la commande free indique que quasiment toute ma mémoire est utilisée!
O. Tharan:
C'est normal. Linux utilise la mémoire pour plusieurs choses. Tout d'abord pour le noyau lui-même, évidemment, c'est de la mémoire irrécupérable pour autre chose ; ensuite, la mémoire utilisée par les applications ; et puis tout le reste, en mémoire cache disque (dite "buffer cache").
La mémoire cache, c'est ce que le système a utilisé à un moment et n'utilise plus. Mais, il se pourrait que les données (programme, fichier) soient demandées par l'utilisateur d'ici peu, alors au lieu d'aller les rechercher sur le disque, on va chercher ces données dans la mémoire cache, ce qui est beaucoup plus rapide.
Linux utilise donc le maximum de mémoire disponible pour en faire du cache, mais s'il s'avère qu'une application a besoin de plus de mémoire, il libère une partie de la cache pour l'application. Donc, rien n'est perdu et tout le monde est satisfait. Avec un peu de recul, on comprendra qu'il n'est pas inutile d'investir dans de la RAM: plus on en aura, plus le système disposera de cache, et plus il paraîtra rapide (il faut mettre un bémol à ceci, car les performances se dégradent si on augmente la RAM sans augmenter par ailleurs le cache processeur).
Le test ultime pour vous faire prendre conscience de ceci: démarrez, lancez X puis Netscape; quittez et relancez Netscape et vous constaterez la différence de vitesse.
Linux ne prend pas en charge (commande free) plus de 64 Mo de RAM. Ou bien, le nombre de fichiers, d'i-noeuds ou de processus simultanément employés excède les limites du noyau.
Plus de 64 Mo RAM : utiliser un noyau 2.0.36 ou postérieur suffit, avec
certaines machines. À défaut employer le paramètre de démarrage
mem=xM
où x
remplace le nombre de Mo de mémoire installés (lire à ce propos the section called “Paramètres communiqués au noyau (LILO,
loadlin)”).
SETUP de la machine : ne pas laisser de "memory hole" (à 15 Mo).
J. Bertrand:
Certaines cartes mères (dont les Micronics) possèdent une option dans le BIOS qui s'appelle je crois 'Gestion de la memoire OS/2 / non OS/2'. En activant la gestion de la memoire OS/2 (si on a plus de 64 Mo), les transferts d'information ne se font plus en 16 bits, et Linux reconnaît toute la mémoire.
R. Card :
Dans sa version 2.0, le noyau Linux ne gère plus les descripteurs d'i-noeuds en mémoire et de fichiers ouverts sous forme de tables statiques, mais utilise des listes dont la taille peut varier de manière dynamique.
La taille maximale de ces deux « tables » est définie par
deux variables du noyau dont la valeur peut être modifiée grâce à
l'appel système sysctl(2)
. Il est
également possible d'accéder à la valeur de ces variables via les
fichiers virtuels /proc/sys/kernel/file-max
et
/proc/sys/kernel/inode-max
(fichiers accessibles
en lecture comme en écriture).
Afin de modifier le nombre maximal de descripteurs d'i-noeuds en
mémoire et de fichiers ouverts, il suffit donc de modifier le contenu
de ces fichiers virtuels. Par exemple, sur ftp.lip6.fr
, le fichier de commandes
rc.local
contient :
echo 16384 > /proc/sys/kernel/inode-max echo 8192 > /proc/sys/kernel/file-max
Le nombre maximal de processus est défini par la constante
NR_TASKS
, déclarée dans le fichier d'en-tête
<linux/task.h>
. Sa valeur par défaut est
512, ce qui est assez raisonnable. Toutefois, si l'on souhaite modifier
cette limite, il est nécessaire de recompiler le noyau car les
processus sont gérés sous forme d'une table de taille statique.
Quelles quantités de mémoire sont conseillées ?
Tout dépend de l'usage recherché :
4 Mo: c'est le grand minimum pour une machine utilisable. Utilisation simple en mode console, login distant sur d'autres machine. Prévoir entre 10 et 30 Mo de swap et une faible réactivité... L'installation ne se fera pas toute seule avec les distributions génériques récente : il faudra commencer par initialiser le swap (lire à ce propos the section called “Système x86 minimal”).
de 6 à 8 Mo: machine correctement utilisable en console, prévoir des problèmes d'installation similaires à la version 4 Mo et un swap de taille comparable.
de 12 à 16 Mo: configuration minimale pour utiliser un serveur X ou compiler (avec de la patience) des programmes élaborés et de taille toutefois réduite. L'utilisation d'un environnement graphique est peu confortable et demande de la patience au lancement. Prévoir un swap compris entre 8 et 40 Mo selon l'utilisation voulue.
de 16 à 24 Mo: machine pleinement fonctionnelle sous X, toutefois un peu légère par rapport aux « standards » d'aujourd'hui. Prévoir entre 8 et 48 Mo de swap...
de 32 à 128 Mo: machine standard d'aujourd'hui. Des environnements graphiques gourmands en mémoire (comme WMaker, Enlightment ou KDE) deviennent possibles ainsi que la compilation de gros projets.
de 128 Mo à 1 Go: pas de problèmes particulier sur du matériel
récent. À noter que sur une machine ayant énormément (1 Go) de
mémoire, il est possible d'avoir un délai d'une ou deux secondes
entre l'appel d'une commande et son exécution effective. Il semble
que ce phénomène soit lié à la recherche de l'exécutable dans le
cache. Un moyen de contrer cet effet est de diminuer la taille du
cache grâce à /proc/sys
. Par exemple,
sous root :
echo "2 10 35" > /proc/sys/vm/buffermem
pour limiter la taille maximale du cache à 35 % de la mémoire physique.
plus de 1 Go: il paraît que cela fonctionne bien ;-)
JC Delépine, édité par A. Gomes-do-Vale :
Le noyau fait appel à kmod
(ou
kerneld
, si antérieur à 2.2), qui demande à
modprobe, lequel recherche dans les
répertoires définis dans le fichier
/etc/modules.conf
(ou
/etc/conf.modules
avec des anciennes versions des
modutils) ou, à défaut dans les répertoires
/lib/modules/`uname - r`/*
Configuration de modprobe: modprobe -c.
Module
Howto,
/usr/src/linux/Documentation/modules.txt
Message d'avertissement concernant 'locale' lors du lancement d'un script Perl ou d'un programme X11.
Invoquer locale -a afin d'obtenir la liste des fichiers installés, donc des valeurs possibles pour les variables d'environnement.
P. Saratxaga :
Avec un système à libc5
il suffit de faire :
localedef -f ISO-8859-1 -i en_DK en_DK
puis
localedef -f ISO-8859-1 -i fr_FR fr_FR
Avec la glibc
2.0 un simple localedef -f ISO-8859-1 -i fr_FR
fr suffit. Avec la glibc
2.1 il faut en plus indiquer
l'option -u.
Pour X11 il faut, pour certaines locales non supportées par défaut, une
petite manipulation supplementaire. Par exemple pour le français en
iso-8859-15 éditer le fichier /usr/X11R6/lib/X11/locale.alias
pour
vous assurer d'avoir ces lignes-ci:
fr fr_FR.ISO8859-1 fr_FR fr_FR.ISO8859-1 fr_FR.iso88591 fr_FR.ISO8859-1 fr_FR.iso885915 fr_FR.ISO8859-15
et dans /usr/X11R6/lib/X11/locale.dir
avoir:
iso8859-1/XLC_LOCALE fr_FR.ISO8859-1 iso8859-15/XLC_LOCALE fr_FR.ISO8859-15
le principe est le même pour d'autres langues ou encodages non présents par défaut.
L'encodage UTF-8 utilisé par défaut sous Red Hat 8.0 n'est pas supporté par certaines applications.
Youri:
Pour remplacer le jeu de caractères UTF-8, sélectionné par défaut lors
de l'installation de Redhat 8.0, par ISO-8859-15 (ou autre, ça doit
être du même style, mais non testé), éditer le fichier
/etc/sysconfig/i18n
et remplacer toutes les
occurences de UTF-8
par
ISO8859-15
. Exemple de contenu:
Avant
LANG="fr_FR.UTF-8" SUPPORTED="en_GB.UTF-8:en_GB:en:fr_FR.UTF-8:fr_FR:fr" SYSFONT="latarcyrheb-sun16"
Après
LANG="fr_FR.ISO8859-15" SUPPORTED="en_GB.ISO8859-15:en_GB:en:fr_FR.ISO8859-15:fr_FR:fr" SYSFONT="latarcyrheb-sun16"
(Je n'ai pas fait de tests plus poussés pour voir si ça marche dans d'autres cas de figure que le mien...)
A. Gilardoni:
Je n'ai pas de Redhat (ça te fait une belle jambe ;-)) mais à la lueur
de la lecture des scripts d'init de la distribution et pour faire les
choses dans les régles de l'art, soit, si j'étais root et que je
veuille appliquer la modif à l'ensemble du système, j'éditerais le
contenu du fichier /etc/sysconfig/i18n
, soit,
comme utilisateur lambda, je recopierais le fichier susnommé en
$HOME/.i18n
et j'y appliquerais mes modifs
en m'aidant de la rubrique «/etc/sysconfig/i18n» du fichier
sysconfig.txt
qui devrait se trouver dans le
répertoire /usr/share/doc/initscripts-6.95
. Si
j'en juge par le contenu du paquet
glibc-common-2.2.93-5.i386.rpm
et hors alias, les
spécifications locales suivantes sont compilées par défaut pour le
français de France : fr_FR
,
fr_FR@euro
,
fr_FR.utf8
,
fr_FR.utf8@euro
. Ceci dit, utiliser
l'utf8 ne me paraît pas une aussi mauvaise idée que ça à condition,
entre autres, d'utiliser également des polices de caractères
kivontbien (c).