Bien, commençons par la chose utile : le clavier français. Normalement, les distributions configurent ça tout seul... mais on ne sait jamais !
Une fois logé en root. Tape la commande suivante :
/usr/bin/loadkeys /usr/lib/kbd/keytables/fr-latin1.map
.
Maintenant, ton clavier est français ! Attention, cela reste
temporaire. La solution la plus simple est de le rajouter
dans le fichier /etc/rc.local
avec la Slackware. Pour
la RedHat, réaliser l'opération avec le panneau de configuration
graphique.
LILO (LInux LOader) permet d'avoir un système multiple d'amorçage : MS-Windows, MS-Dos, Linux, etc. Ce programme va se loger dans le secteur de boot de ton disque pour te permettre de sélectionner la partition sur laquelle booter.
Si tu as installé LILO sur ton disque dur et que cela plante,
boote avec une disquette MS-DOS et tape FDISK /MBR
.
Le fichier de configuration LILO se trouve généralement dans
/etc/lilo.conf
. Les distributions permettent la génération
d'un fichier d'une manière automatique.
Voici un exemple de fichier (le mien) :
boot = /dev/hda # disque sur lequel on met le fichier lilo : delay = 300 # temps d'attente avant le lancement du boot. # permet d'avoir le temps de selectionner la partition # a amorcer. vga = normal # mode de l'ecran a choisir ramdisk = 0 # paranoia setting # Linux : derniere version : le Pc boote ici par defaut image = /vmlinuz # Noyau Linux 1 (chemin complet et nom du fichier) root = /dev/hda2 append="no-hlt, aha1542=0x230" label = linux read-only other = /dev/hda1 # Partition 1 : label = dos # texte a taper pour booter dessus : dos table = /dev/hda # disque : /dev/hda image = /zimage # Noyau Linux 2 root = /dev/hda2 # Racine (Partition 2 de mon disque) append="aha1542=0x230" # append... voir explication plus bas label = old # Texte a taper : old read-only #
Plusieurs questions te viennent à l'esprit :
halt
, reboot
et shudown
).
Cette vérification n'est de toutes manière lancée que sur les partitions
Linux.
C'est le programme fsck
qui effectue cette opération. Je te
déconseille de le lancer "pour voir" : une utilisation erronée
peut provoquer des pertes de données sur le disque !
Pour installer le fichier, tu exécutes /sbin/lilo
et c'est tout !
En cas de problème avec LILO il faut d'abord essayer de supprimer l'option "compact" qui peut se trouver dans son fichier de configuration.
Ne pas oublier de relancer LILO après chaque modification de son fichier de configuration.
Le fichier /etc/fstab contient toutes les informations concernant le montage de tes partitions.
Voici un exemple :
#/etc/fstab # Device Repertoire type options frequence passe # Linux /dev/hda2 / ext2 defaults 5 1 /dev/hdb2 /usr2 ext2 defaults 5 2 /dev/sda2 /usr3 ext2 defaults 10 2 # MS-DOS /dev/hda1 /dos msdos defaults 0 0 /dev/hdb1 /dos2 msdos defaults 0 0 # Processus none /proc proc defaults 0 0 # Partition de swap /dev/hda3 none swap defaults 0 0 # Fichier de swap /usr2/swap_file /usr2 swap defaults 0 0
Voici une descriptions des six colonnes :
dump
. Cette commande n'existe que pour ext2fs
(c'est un portage de la version 4.4BSD) mais n'est pas encore incluse dans
toutes les distributions.
Tu rajoutes ici les partitions dont tu as besoin.
Les volumes NFS profiteront des paramètres suivants :
rsize=8192,wsize=8192
, surtout si tu possèdes une carte rapide.
Pour autoriser un utilisateur à monter un volume il faut créer une ligne contenant l'option "user" Exemple (cas d'un CD-ROM SCSI) :
/dev/scd0 /mnt/cd iso9660 user,exec,dev,nosuid,ro,noauto
N'importe quel utilisateur pourra dès lors monter et démonter un CD
(utiliser mount /mnt/cd
, umount /mnt/cd
)
La page de man de mount, section 8 (man 8 mount
) explique la
signification des options possibles.
Comme nous l'avons vu dans le paragraphe précédent, les partitions
sont montées lors de l'amorçage grâce au fichier /etc/fstab
.
Tu peux toutefois les monter à la main. Il faut alors utiliser la
commande mount
. Par exemple, pour monter la disquette A:, tu fais :
mount -t msdos /dev/fd0 /mnt
.
Le -t
indique le type du support. Parmis les plus
courants, tu trouves
Bien évidement, il faut que ces types de filesystems aient été intégrés au noyau...
Le /dev/fd0
est le nom du fichier spécial correspondant au
périphérique. Le répertoire est le point de montage.
Pour démonter, tu tapes umount /mnt
.
Le support des quota disque a été intégré dans le noyau Linux depuis la version 1.3.46. Il te faut donc utiliser un noyau postérieur pour pouvoir bénéficier des quota.
Tu as également besoin des outils de gestion des quota. On peut les trouver sur :
ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota
ou, plus près, sur :
ftp://ftp.ibp.fr/pub/linux/kernel/sources/subsystems/quota
L'archive à récupérer s'appelle quota-1.51.tar.gz
et se trouve
dans le sous-répertoire utils
. Il y a également un sous-répertoire
doc
contenant des documentations (principalement les pages de
manuel des outils) au format HTML.
Après avoir extrait le contenu de l'archive quota-1.51.tar.gz
,
il te faut compiler ces utilitaires. Cela se fait en tapant tout simplement
make
. Dans certains cas (selon la version de bibliothèque C
que tu utilises), il peut être nécessaire d'ajouter -I.
à la
variable CFLAGS
définie dans le Makefile
.
Si tu utilises le système de fichiers ext2 et que tu as installé
les bibliothèques contenues dans la distribution e2fsprogs (utilitaires de
gestion du système de fichiers ext2), tu peux inclure le support ext2fs dans
les utilitaires des quota, afin d'accélérer leur exécution. Pour cela,
édite le fichier Makefile
afin que la variable CFLAGS
contienne -DEXT2_DIRECT
et que la variable EXT2LIBS
contienne -lext2fs -lcom_err
avant de compiler les programmes.
Après la compilation, installe les utilitaires par la commande
make install
. Attention, la commande quota
est installée
dans le répertoire /usr/ucb
qui n'existe pas sur la plupart des
installations Linux. Il te faut donc modifier le Makefile
pour
installer cette commande dans un autre répertoire (/usr/bin
est
un bon choix). Il peut également être nécessaire de définir la variable
LN
à la valeur ln -sf
.
Pour utiliser les quota, le noyau doit avoir été compilé avec le support des quota. pour cela, tu dois avoir un noyau dans lequel tu as répondu "Y" à la question "Quota support". Attention : le support des quota n'est pour l'instant effectif que sur les systèmes de fichiers ext2.
Il existe deux types de quota : les quota liés aux utilisateurs et les quota liés aux groupes d'utilisateur. Les premiers définissent le nombre maximal de fichiers et de blocs disque associés à chaque utilisateur, les seconds définissent le nombre maximal de fichiers et de blocs disque associés à chaque groupe d'utilisateurs. Les deux types de quota peuvent être activés séparément.
Pour activer les quota pour les utilisateurs, il faut indiquer
l'option usrquota
pour les systèmes de fichiers concernés dans
/etc/fstab
. Les quota concernant les groupes sont régis par
l'option grpquota
. Les fichiers de définition des quota s'appellent
respectivement quota.user
et quota.group
et sont situés
dans la racine de chaque système de fichiers concerné.
Il est possible de modifier les noms de fichiers de gestion des quota
en utilisant la syntaxe usrquota=nom_de_fichier
et
grpquota=nom_de_fichier
.
Voici un exemple de fichier /etc/fstab
:
/dev/hda2 / ext2 defaults,rw 0 1 /dev/hdb2 /home ext2 defaults,rw,usrquota,grpquota 0 1 /dev/sda1 /usr/src ext2 dzfaults,rw,usrquota 0 1
L'activation des quota est ensuite lancée par la commande
quotaon
. Pour les activer automatiquement lors du démarrage
du système, il faut ajouter dans un fichier d'initialisation (situé
généralement dans /etc/rc.d
) les lignes :
# Enable quota /usr/sbin/quotaon -avug
Il peut également être nécessaire de vérifier la cohérence des
informations de gestion des quota après des arrêts intempestifs. Pour
cela, il faut utiliser la commande quotacheck
:
/usr/sbin/quotacheck -avug
Si les utilitaires ont été compilés avec -DEXT2_DIRECT
, la
commande quotacheck
doit être relativement rapide. Dans
le cas contraire, elle peut être très lente car elle doit explorer
tous les répertoires du système de fichiers de manière hiérarchique. Il est,
de toutes façons, conseillé de la lancer automatiquement lors du démarrage
avant l'activation des quota par quotaon
:
# Check quota /usr/sbin/quotacheck -avug
La commande edquota
est utilisée pour affecter un quota à
un utilisateur ou à un groupe d'utilisateurs. Sa syntaxe est
edquota -u utilisateur
ou edquota -g groupe
. Cette commande
lance un éditeur de texte contenant la définition des quota attribués à
l'utilisateur ou au groupe et prend en compte leur nouvelle valeur lorsque
le fichier est ré-écrit.
Pour chaque utilisateur ou groupe, il existe deux limitations : le nombre de fichiers et le nombre de blocs disque (exprimés en blocs de 1024 octets). Pour chacune, il existe deux limites :
La limite "douce" se transforme en limite "dure" quand elle a été atteinte ou dépassée depuis un certain temps (sept jours par défaut).
Tout utilisateur peut obtenir l'état des quota qui lui sont
attribués (limites ainsi que le nombre de fichiers et de blocs qui lui
sont alloués) grâce à la commande quota
.
Le super-utilisateur peut obtenir les mêmes informations sur tout
utilisateur ou groupe avec la même commande : quota -u utilisateur
ou quota -g groupe
. Il peut de plus utiliser la commande
repquota
pour obtenir une liste des quota associés à un ou
plusieurs systèmes de fichiers.
L'implémentation des quota dans Linux est compatible avec l'implémentation originale dans 4.2BSD Unix. Toutes les documentations concernant les quota dans BSD, que ce soit au niveau des commandes ou au niveau de l'interface de programmation, sont donc utilisables.
Les pages de manuel des utilitaires sont assez claires et très instructives. Enfin, les documentations diffusées en format HTML forment une bonne introduction à la gestion des quota.
Plutôt que de monter tes partitions MS-DOS, je te conseille d'utiliser
les mtools. Il s'agit de l'équivalent des commandes MS-DOS, mais avec un
m
avant !
Exemple : mcopy toto.c a:
. Si tu veux copier un fichier texte
pour qu'il soit exploitable sous MS-DOS, ou l'inverse, n'oublie pas de rajouter
l'option -t
: cela convertit le caractère de fin de ligne qui est
différent entre les deux systèmes.
En principe, ils sont déjà à peu près configurés. Au cas où,
tu dois modifier le fichier /etc/mtools
.
drive a: file="/dev/fd0" exclusive drive b: file="/dev/fd1" exclusive # 1er disque Dur drive c: file="/dev/hda1" # 2nd disque Dur drive d: file="/dev/sda1" mtools_lower_case=1
Attention : le fichier a été modifié depuis la dernière version. C'est ici le dernier format qui est présenté car beaucoup plus clair et simple à utiliser. De plus, cette nouvelle version permet d'utiliser les noms longs (vfat de MS-Windows 95).
Pour rajouter une partition de swap de 8 Mo, il faut d'abord créer la
partition à l'aide du programme fdisk
, puis soit tu passes par le
programme setup, soit tu le fais à la main :
mkswap /dev/hda3 8192
Tu rajoutes la ligne
/dev/hda3 swap swap defaults 0 0
dans /etc/fstab
.
Enfin, pour que ça fonctionne, soit tu rebootes, soit tu fais un
swapon -a
.
Pour le fichier, c'est plus compliqué. Tu fais un
dd if=/dev/zero of=/usr2/swap_file bs=1024 count=8192 mkswap /usr2/swap_file 8192
Tu rajoutes dans /etc/fstab la ligne
/usr2/swap_file /usr2 swap defaults 0 0
.
Fais bien attention à mettre cette ligne après le montage de la partition /usr2. Sinon, ce n'est pas près de fonctionner.
Désormais, tu es obligé pour quitter Linux de faire un
swapoff -a reboot #Ou autre
En effet, si tu ne désactives pas le fichier d'échange, Linux ne va pas pouvoir démonter la partition, et donc, il fera un fsck dessus à chaque fois que tu relanceras ta machine. Il est aussi possible, avec certains systèmes, de placer la commande swapoff dans "/etc/rc.d/rc.K" afin d'automatiser cela.
Si tu possèdes la RedHat, utilises le panneau de configuration : c'est vraiment très bien fait.
Rajouter un utilisateur se fait en deux temps et trois mouvements.
Deux fichiers sont importants : /etc/passwd
et /etc/group
.
Une ligne du fichier passwd est composée de cette manière :
gandalf::501:100:Eric Dumas:/home/gandalf:/bin/bash sgandalf::0:0:Super Eric Dumas:/:/bin/sh
Une ligne est composée de 7 colonnes :
Le fichier /etc/group
contient la liste des groupes de la machine.
Par exemple, le groupe 100 est :
users::100:games,gandalf
Pour rajouter un utilisateur toto, tu fais
/etc/passwd
;/etc/group
;mkdir /home/toto cp /etc/skel/* /home/toto chown toto /home/toto chgrp le_groupe_de_toto /home/toto
passwd toto
.Tu n'as plus qu'à essayer.
Je te conseille très fortement de travailler sous un utilisateur commun. En effet, il est très dangereux de travailler en root. Une fausse manipulation et tu dois tout réinstaller, voire perdre tes précieux fichiers personnels.
C'est dans ce fichier que tu vas mettre tous les petits trucs personnels que tu veux lancer au boot. En voici une version :
#! /bin/sh # du menage en v'la,... echo "Cleaning /tmp..." /bin/rm -fr /tmp mkdir /tmp chmod 1777 /tmp # NOTE : ceci peut s'averer nefaste car certains programmes lances par # les fichiers rc executes avant rc.local peuvent employer des fichiers de # /tmp ... # Vive l'azertyuiop :-) echo "Loading french keyboard..." /usr/bin/loadkeys /usr/lib/kbd/keytables/fr-latin1.map
Ce qui est important, c'est le clavier français. Si tu rajoutes cette ligne, ton clavier sera français dès le boot.
En cas de problème il faut modifier ainsi fr-latin1.map :
keycode 3 = eacute two asciitilde keycode 8 = egrave seven grave keycode 10 = ccedilla nine asciicircum keycode 14 = Delete BackSpace
En plus du clavier, je fais un petit nettoyage de /tmp
. Ca peut
toujours être utile.
La crontab est une table qui contient des commandes qui doivent être lancées à intervalle régulier. Tu peux y mettre la sauvegarde journalière, etc.
Le format est assez simple :
# Faire une sauvegarde tous les Lundi a 2 heures du matin 0 2 * * 1 /home/gandalf/backup # Rebooter la machine tous 1ers et 15 du mois a 4h15. 15 4 1,15 * * /sbin/shutdown -r +3
Les 5 premières colonnes sont :
Ensuite vient la commande. Cette crontab est très utile si tu utilises UUCP (pour envoyer le courrier, récupérer les news, etc).
Tout utilisateur peut se créer une crontab grâce à la commande
crontab
.
Maintenant que ta machine fonctionne, voyons comment imprimer. Les imprimantes sont gérées par le programme lpc et par le démon lpd.
Le démon doit être lancé au boot. Il est lancé soit dans rc.M
soit dans rc.inetd2
. Normalement, lpd est lancé au boot. (Tu dois
le voir lorsqu'il lance tous les démons de ta machine. Si ce n'est
pas le cas, il faut que tu décommentes quelques lignes dans l'un des fichiers
cités).
Supposons que ton imprimante s'appelle betty. Dans un premier
temps, dans le fichier /etc/rc.d/rc.local
, rajoute
echo "Setting up printer betty" /usr/sbin/lpc up betty
Passons maintenant aux choses sérieuses. Le fichier dans lequel va être
décrit ton imprimante est le fichier /etc/printcap
.
Exemple :
betty|lp:lp=/dev/lp1:sd=/var/spool/lp1:sh:lf=/var/adm/lpd-errs:of=/etc/start-dj500:
La première colonne représente le nom de l'imprimante. J'ai mis
betty et lp car de cette manière, c'est l'imprimante par défaut. Ensuite,
la configuration se fait via des mots-clefs. Pour plus d'information, fais
man printcap
. Voici quand même une description de ceux utilisés.
Comment ça marche ? Bon, supposons que j'ai un fichier toto.ps.
Je fais donc lpr toto.ps
(ou lpr -Pbetty toto.ps
).
Le fichier va être déposé dans le répertoire /var/spool/lp1
.
Le démon va ensuite envoyer le fichier sur le programme de filtrage. Ce système permet d'imprimer des fichiers ayant des formats assez variés.
Voici le fichier de filtrage (Pour HP-500,510,520,etc).
#!/bin/sh # Script d'impression pour imprimante HP-500 Noir et Blanc # # Eric.Dumas@freenix.fr # # Version 2.0 # # 5/01/95 (ED) : Ajout du format dvi ; # 27/10/95 (ED) : Conversion des fichiers textes en fichier PostScript ; # 01/11/95 (ED) : Un peu de menage ; # 12/08/96 (ED) : modification pour gs # 04/12/96 (ED) : quelques corrections et rajouts. TmpDir=/tmp TmpFile=$TmpDir/deskjet.$$ # Utilisateur a prevenir en cas d'erreur NOTIFY=lp-owner # Programmes CAT=/bin/cat DVIPS=/usr/TeX/bin/dvips PGS=/usr/bin/gs AIIPS=/usr/local/bin/a2ps # Chemins d'acces pour GS GS_LIB=/usr/lib/ghostscript:/usr/lib/ghostscript/psfonts:/usr/lib/ghostscript/Type1:/usr/lib/ghostscript/fonts # C'est partit $CAT - > $TmpFile echo -ne '\033E' set -- `file $TmpFile` shift FileType=$* # Transformation du PostScript en format Deskjet500 # resolution a 300x300 - format a4 GS="$PGS -I$GS_LIB -q -sDEVICE=djet500 -r300x300 -sPAPERSIZE=a4 -dNOPAUSE -sOutputFile=- - /usr/lib/ghostscript/quit.ps || echo -ne '\033&10H'" case $FileType in *DVI*) # Fichier DVI $DVIPS -t a4 $TmpFile \ -f | $GS ;; *PostScript*) # Impression de fichiers Postscript $CAT $TmpFile | $GS ;; *text*|*script*) $CAT $TmpFile | $AIIPS -nP -r -8 | $GS ;; *data*) echo -ne '\033&;k0G' # C'est un et commercial sans ; ! /bin/cat $TmpFile ;; *) echo "Deskjet: Unknow filetype $FileType" >> /dev/console echo "Deskjet: $TmpFile Unknow filetype $FileType" | mail $NOTIFY ;; esac /bin/rm -f $TmpFile echo -ne '\033E'
Ce script permet d'imprimer aussi bien des fichiers texte que des fichiers Postscript, dvi. Si tu veux imprimer d'autres types de fichiers, il suffit de les rajouter ici. Merci de m'envoyer les modifications également : cela peut être bien que tout le monde en profite.
Timezone est un système fort utile qui permet la gestion de changement d'horaires d'été et d'hiver. La France se trouve dans une zone horaire : MET (Medium European Time, soit GMT + 1).
La zone "MET DST" correspond à l'heure d'été activé (GMT + 2). Mieux vaut ne pas laisser tout cela reposer uniquement sur la variable TZ.
Tu te places dans le répertoire /usr/lib/zoneinfo
et je te
conseille de lire le fichier time.doc.
Les fichiers binaires placés dans /usr/lib/zoneinfo
indiquent les
règles de calcul de l'heure dans différentes zones du globe.
Tu copies le fichier "MET" sous le nom de
/usr/lib/zoneinfo/localtime
, puis tu fais un lien symbolique de
ce fichier sur /usr/lib/zoneinfo/posixrules
.
Commandes :
# cd /usr/lib/zoneinfo # cp MET localtime # ln -sf localtime posixrulesUtilise ensuite la commande
clock
pour mettre le système à l'heure.
Deux possibilités :
- La machine est à l'heure GMT.
- La machine est à l'heure locale.
La première solution est préférable, mais MS-DOS ne gère pas correctement cette approche (:-)). L'horloge sera donc fausse sur ce système.
Par contre tous les changements d'heure, deux fois par an, seront pris en
charge par Linux.
Dans ce cas, tu dois rajouter dans /etc/rc.d/rc.local
,
la commande suivante : clock -u -s
.
Linux s'ajustera sur l'horloge sauvegardée.
Si la CMOS est à l'heure locale, la commande dans /etc/rc.d/rc.local
devient clock -s
et les changements d'heure ne seront automatiques que si la machine est
allumée au moment des changements d'heure.
Il faudra manuellement réécrire la nouvelle heure dans la CMOS par
clock -w
, ou mettre l'horloge à l'heure avec le setup.
La commande date
permet de vérifier la validité de l'heure :
elle renvoie heure et timezone
date -u
donne toujours l'heure en GMT :
plux:/home/rene $ date Tue Sep 28 20:16:46 MET 1993 plux:/home/rene $ date -u Tue Sep 28 19:16:49 GMT 1993(En été, "MET DST" (Daylight Savings Time) serait indiqué).
Il s'avère que cette année, la date de changement d'heure a été décalée.
Pour que Linux ne se mélange pas les pinceaux, il est
nécessaire de faire certaines modifications. La manipulation se base
sur l'utilisation du programme zic
, le time zone compiler.
Dans un fichier appellé europe
, tu met :
Zone MET 1:00 M-Eur MET%s Link localtime MET Rule M-Eur 1986 max - Mar lastSun 2:00s 1:00 " DST" Rule M-Eur 1986 1995 - Sep lastSun 2:00s 0 - Rule M-Eur 1996 max - Oct lastSun 2:00s 0
Pour mettre tout en place, lancer la commande :
gandalf# zic europe
Pour vérifier que tout s'est bien passé, tu dois avoir le résultat suivant :
gandalf# zdump -v MET | grep 1996 MET Mon Nov 11 12:29:02 1996 MET MET Sun Mar 31 00:59:59 1996 GMT = Sun Mar 31 01:59:59 1996 MET isdst=0 MET Sun Mar 31 01:00:00 1996 GMT = Sun Mar 31 03:00:00 1996 MET DST isdst=1 MET Sun Oct 27 00:59:59 1996 GMT = Sun Oct 27 02:59:59 1996 MET DST isdst=1 MET Sun Oct 27 01:00:00 1996 GMT = Sun Oct 27 02:00:00 1996 MET isdst=0
Lorsque tu installes le package GNU "find", en plus du
programme de recherche se trouve un programme locate
. Ce programme
permet de retrouver le nom complet d'un fichier. Ce programme se trouve dans
certaines distributions dans /usr/lib/locate
.
Lancer, en tant que root, /usr/lib/locate/updatedb
.
Cela invoque un find~/
sur les disques montés et place les
noms de tous les fichiers (sous forme hash) dans
/usr/lib/locate/find.codes
. locate
permet ensuite de
localiser l'un d'eux.
Remarque : lorsque tu lances ce programme, pense à démonter les partitions MS-DOS et ton CD-ROM !
Une autre solution assez agréable consiste à insérer dans la crontab
la ligne
updatedb --prunepaths='/tmp /usr/tmp /var/tmp /proc /users /root /dos
/mnt /var/adm /var/spool /var/catman /home'
.
Cette commande réalise la mise à jour de l'arborescence sans les fichiers
temporaires, l'arborescence utilisateur, une partition MS-DOS, etc.
Il est souhaitable d'exclure les répertoires "HOMES" des utilisateurs. En effet, ces partitions sont contiennent normalement de nombreux fichiers. Mais cela pose un grave problème de sécurité, car tout utilisateur peut sinon connaître le nom des fichiers du voisin.
Dans ce cas, il faut que tu crées les périphériques dans /dev
.
Lance MAKEDEV.ide1 dans le répertoire
/usr/src/linux/drivers/block
. Ensuite, il te suffit de faire
un fdisk /dev/hdc
par exemple.
Bon, les CD-ROM en général ne posent pas trop de problèmes, sauf les ATAPI. En effet, le CD est géré sur un deuxième contrôleur disque. Procédons dans l'ordre :
/usr/src/linux/drivers/block
.
Il y a un script qui s'appelle MAKEDEV.ide1. Tu le lances. Ce
script va créer les devices nécessaires pour ton second contrôleur disque.Linux hdd=cdrom
.
Attention : tu es en qwerty ici. ln -s /dev/hdd /dev/cdrom
.
/cdrom
et tu tapes :
mount -t iso9660 -o ro /dev/cdrom /cdrom
. Normalement, ton CD est
monté !En cas de problème il faut tenter de :
Certains utilisateurs peuvent voir mettre comme
console un minitel ou un vieux vt100 qui ne passe pas sur la
carte vidéo mais sur le port série. Il suffit de rajouter dans
le fichier lilo.conf
la ligne suivante :
append = "scon=0x03f8 serial=0,9600n8"
Certaines machines possèdent deux (ou plus) cartes Ethernet. Pour qu'elles soient toutes les deux reconnues, il est nécessaire dans la configuration de Lilo :
append="ether=0,0,eth1"
Voici la description des fichiers qui sont chargés lors de la connexion d'un utilisateur. Le nom du ou des fichiers est spécifique à l'interpréteur de commandes utilisé.
Dans le cas de bash
, c'est un peu compliqué. D'après
la page de manuel de bash
, lors d'une connexion
interactive, il exécute :
/etc/profile
s'il existe ;~/.bash_profile
s'il existe, sinon ~/.bash_login
s'il existe, sinon ~/.profile
s'il existe ;~/.bashrc
s'il existe.Dans le cas où bash
est invoqué en tant que
sh
, il n'exécute que les fichiers
/etc/profile
et ~/.profile
s'ils existent.
Dans le cas de ksh, la page de manuel est moins précise mais une étude rapide du code source montre que :
/etc/profile
est exécuté s'il existe ;~/.profile
est exécuté s'il existe, si le numéro d'utilisateur
effectif est identique au numéro d'utilisateur réel et si le numéro
de groupe effectif est égal au numéro de groupe réel ;/etc/suid_profile
est exécuté s'il existe, si les numéros
d'utilisateur effectif et réel diffèrent ou si les numéros de
groupe effectif et réel diffèrent ;ENV
est positionnée, le
fichier dont le nom est contenu dans "$ENV
est
exécuté s'il existe.Enfin, pour être complet sur les interpréteurs de commandes compatibles
avec le Bourne Shell, citons le cas de zsh
qui exécute :
/etc/zshenv
s'il existe ;~/.zshenv
(ou "$ZDOTDIR/.zshenv
si ZDOTDIR est positionné) s'il existe ;/etc/zprofile
s'il existe ;~/.zprofile
(ou "$ZDOTDIR/.zprofile
)
s'il existe ;/etc/zshrc
s'il existe ;~/.zshrc
(ou "$ZDOTDIR/.zshrc
) s'il existe.Dans le cas de csh
(enfin plutôt tcsh) :
/etc/csh.cshrc
est exécuté s'il existe ;/etc/csh.login
est exécuté s'il existe ;~/.tcshrc
est exécuté s'il existe, sinon ~/.cshrc
est exécuté s'il existe ;~/.history
(ou le contenu de la variable histfile) est chargé
en mémoire s'il existe ;~/.login
est exécuté s'il existe ;~/.cshdirs
(ou le contenu de la variable dirsfile) est
chargé en mémoire s'il existe.Comme tout système Unix, Linux fournit des outils standards pour réaliser les sauvegardes des disques. Principalement deux types d'outils sont actuellement utilisés.
Les outils dump
et restore
ont été adaptés pour
linux par Rémy Card. Ils sont livrés dans les distributions.
Une fois les sources compilés et installés, l'utilisation de
dump et restore est relativement simple. Pour effectuer la sauvegarde
d'une partition /dev/sda1
sur /dev/rmt0
, il suffit
de faire par exemple :
gandalf# dump 0sfu 3600 /dev/rmt0 /dev/sda1 gandalf# dump 0sfu ondee:/dev/rmt0 /dev/sda1
La deuxième commande permet de sauvegarder un disque sur un périphérique distant (par exemple situé ici sur la machine ondee). Les options de dump peuvent sembler complexes. En voici une courte description :
machine:fichier
;/etc/dumpdates
.Il existe deux modes pour effectuer une restauration : en ligne de commande ou en mode dit "interactif". Le deuxième mode est plus simple pour des restaurations partielles. Le premier est surtout utilisé pour des restaurations complètes.
Pour restaurer la bande en mode interactif il suffit de faire
gandalf# restore -if /dev/rmt0 gandalf# restore -if ondee:/dev/rmt0Dans ce cas, un mini-interpréteur de commandes est lancé. Utilise la commande help pour plus de détails.
Pour restaurer une bande complètement, lancer :
gandalf# restore rf /dev/rmt0
Note importante : pour l'utilisation de dump et restore
à travers un réseau (sauvegarde sur des périphériques distants), tu
dois utiliser des fichiers .rhosts
. Dans l'exemple de
sauvegarde ci-dessus, la machine ondre doit avoir :
#cat ~root/.rhosts gandalf #
L'utilisation de périphériques distants nécessite également la
présence du programme rmt
sur la machine gérant les périphériques
de sauvegarde. Ce programme est inclus dans la distribution source de
dump pour Linux.
A la différence de dump ou restore, tar permet de sauvegarder les fichiers désirés, d'exclure certains répertoires, etc. Il est à noter que le tar utilisé sous Linux est le tar GNU. Il possède certaines options particulières.
Pour connaître toutes les options possibles, je te conseille
de faire tar --help
. Une utilisation simple de tar peut
être illustrée avec la sauvegarde d'une partition d'utilisateurs :
# tar cvf /dev/rmt0 /users | mail backup-user
La liste des fichiers sera ainsi envoyée à l'utilisateur backup-user.
Certains sites utilisent exclusivement tar
pour effectuer leurs
sauvegardes, c'est un choix.
Pour configurer la touche Num Lock au démarrage (par exemple pour
qu'elle soit positionnée), il suffit de mettre dans /etc/rc.d/rc.local
for tty in /dev/tty[1-9]*; do setleds -D +num < $tty > /dev/null done
Certains développeurs aiment exploiter le contenu des fichiers
core
. Or, sous Linux, ils sont désactivés pas
défaut. Pour pouvoir les générer, il faut introduire :
ulimit -c unlimited
.
Le système d'accounting est implémenté dans Linux (mais bon,
j'ai jamais testé car ça fait un peu Big Brother is Watching You).
Il faut normalement compiler le paquetage acct-1.3.73.tar.gz et
suivre les instructions qui sont livrées avec. Ca se trouve sur
ftp.ibp.fr:/pub/linux/sunsite/system/Admin/accounts
, et
sur ftp://iguana.hut.fi/pub/linux/Kernel/process_accounting/
.
Attention : il est nécessaire d'avoir un noyau 1.3.* ou un 2.0.*.
Voici le résultat :
# lastcomm | more Command Flags User Tty PagFlt Time Endtime clear - merlin ttyp2 85 0.00 secs Tue Aug 6 13:26:07 in.identd - root __ 100 0.00 secs Tue Aug 6 13:23:23 color-ls - merlin ttyp2 121 0.01 secs Tue Aug 6 13:23:02 telnet - merlin ttyp2 142 2.77 secs Tue Aug 6 13:23:01 Pnews F merlin ttyp3 33 0.01 secs Tue Aug 6 13:22:15 sed - merlin ttyp3 132 0.02 secs Tue Aug 6 13:22:15 Pnews F merlin ttyp3 34 0.01 secs Tue Aug 6 13:22:15 sed - merlin ttyp3 145 0.02 secs Tue Aug 6 13:22:15 cat - merlin ttyp3 80 0.01 secs Tue Aug 6 13:22:13 Pnews F merlin ttyp3 29 0.00 secs Tue Aug 6 13:22:13
Il fait faire attention car ce système a tendance à prendre beaucoup de place. La solution pour résoudre ce problème est de lancer le système d'accounting de cette manière :
# Lancement de l'accounting accton /var/log/acct accttrim -n 2000 /var/log/acct 2> /dev/null
Chapitre suivant, Chapitre Précédent
Table des matières de ce chapitre, Table des matières générale
Début du document, Début de ce chapitre