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 loggé en root, tapez la commande suivante :
/usr/bin/loadkeys /usr/lib/kbd/keytables/fr-latin1.map
Si vous avez un clavier suisse-romand, utilisez
sf-latin1.map.
Maintenant, le 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 mais
vous pouvez aussi utiliser le programme /sbin/setup
ou directement /usr/lib/setup/SeTkeymap. Pour la Red
Hat, réaliser l'opération avec le panneau de
configuration kbdconfig.
Avec ces deux distributions, la procédure d'installation aura normalement procédé à cette configuration et vous n'aurez probablement rien à faire, sauf si vous voulez changer de type de clavier...
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 votre disque pour vous permettre de sélectionner la partition sur laquelle booter.
Si vous avez installé LILO sur le disque dur et
que cela plante, bootez avec une disquette MS-DOS et tapez
FDISK /MBR pour restaurer les paramètres de
boot du DOS, et enlever LILO par la même occasion. Il
suffira de relancer LILO en ayant rebooté sous Linux
avec une disquette de boot.
Le fichier de configuration LILO se trouve
généralement dans le fichier
/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'écran a choisir
ramdisk = 0 # paranoia setting
# Linux : dernière version : le Pc boote ici par défaut
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 à 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 peuvent vous effleurer l'esprit :
read-only : lorsque vous amorcez
Linux, il va faire une vérification de la
cohérence des informations des partitions Linux. C'est une
vérification des systèmes de fichiers. Pour
réaliser cette opération, il est indispensable que la
partition soit en lecture seule. En effet, vérifier un
disque en cours d'utilisation pourrait tout détruire.
Cette vérification n'a pas lieu à tous les coups si
vous éteignez bien la machine (appuyez sur les touches
Ctrl-Alt-Del ou utilisez les commandes
halt, reboot et
shudown). Cette vérification n'est de toute
manière lancée que sur les partitions Linux.
C'est le programme fsck qui effectue cette
opération. Je vous déconseille de le lancer "pour
voir" : une utilisation erronée peut provoquer des
pertes de données sur le disque !append : Cette option est très
importante : elle permet de donner un ou plusieurs
paramètres au noyau Linux. Par exemple, ici je lui indique
que ma carte SCSI se trouve à l'adresse 230. Dans le cas
contraire, elle ne serait pas reconnue. Cette option est
utilisée également si vous avez plusieurs interfaces
réseau, SCSI, etc.Pour installer le fichier, exécutez
/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 surtout 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 vos 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 description 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.Ajouter ici les partitions dont vous avez besoin.
Les volumes NFS profiteront des paramètres
suivants : rsize=8192,wsize=8192, surtout si
vous possèdez une carte réseau 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 (en utilisant 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. Vous pouvez
toutefois les monter à la main. Il faut alors utiliser la
commande mount. Par exemple, pour monter la
disquette A:, faire : mount -t msdos /dev/fd0
/mnt.
Le -t indique le type du support. Parmi les plus
courants, on trouve
ext2 : filesystem Linux ;msdos : disque(tte)s MS-DOS ;vfat : disque(tte)s MS-Windows 95 ;iso9660 : Cd-ROM ;nfs : montage de partitions à
travers le réseau.Bien évidement, il faut que ces types de systèmes de fichiers 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, tapez umount /mnt.
Le support des quota disque a été intégré dans le noyau Linux depuis la version 1.3.46. Il vous faut donc utiliser un noyau postérieur pour pouvoir bénéficier des quota.
Vous avez é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.lip6.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.
Les utilisateurs de la Red Hat pourront préférer un paquetage rpm des sources ou précompilé.
Après avoir extrait le contenu de l'archive
quota-1.51.tar.gz, il vous faut compiler ces
utilitaires. Cela se fait en tapant tout simplement
make. Dans certains cas (selon la version de
bibliothèque C utilisée), il peut être
nécessaire d'ajouter -I. à la variable
CFLAGS définie dans le
Makefile.
Si vous utilisez le système de fichiers ext2 et que vous
avez installé les bibliothèques contenues dans la
distribution e2fsprogs (utilitaires de gestion du
système de fichiers ext2), vous pouvez inclure le support
ext2fs dans les utilitaires des quota, afin d'accélérer
leur exécution. Pour cela, éditez 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, installez 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 vous 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, vous devez avoir un noyau dans lequel vous ayez 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 les syntaxes suivantes :
usrquota=nom_de_fichier 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 defaults,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 -avugCette commande doit également être exécutée la première fois pour créer les fichiers deux fichiers de gestion des quotas :
quota.user et quota.group. En effet, ils
ne sont pas créés automatiquement.
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 (les limites sur 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 vos partitions MS-DOS, je vous
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 vous
souhaitez copier un fichier texte pour qu'il soit exploitable
sous MS-DOS, ou l'inverse, n'oubliez pas d'ajouter 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ù, vous devez modifier le fichier
/etc/mtools.conf.
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 (8192 Ko), il faut
d'abord créer la partition à l'aide du programme
fdisk, puis soit vous passez par le programme
setup de la Slackware, soit vous le faites à la main
(ATTENTION : commande DANGEREUSE, destruction du contenu de
la partition concernée ASSURÉE) : mkswap
/dev/hda3 8192
Rajoutez la ligne /dev/hda3 swap swap defaults 0
0 dans /etc/fstab.
Enfin, pour que ça fonctionne, réamorcez la machine
ou lancez swapon -a.
Pour le fichier, c'est plus compliqué. Invoquer :
dd if=/dev/zero of=/usr2/swap_file bs=1024 count=8192 mkswap /usr2/swap_file 8192
Ajoutez dans /etc/fstab la ligne :
/usr2/swap_file /usr2 swap defaults 0 0.
Faites bien attention à mettre cette ligne après le
montage de la partition /usr2. Sinon, ce n'est pas
près de fonctionner.
Désormais, vous êtes obligé pour quitter Linux de faire un
swapoff -a reboot #Ou autre
En effet, si vous ne désactivez pas le fichier
d'échange, Linux ne va pas pouvoir démonter la
partition, et donc, il fera un fsck dessus à
chaque fois que vous relancerez votre machine. Il est aussi
possible, avec certains systèmes, de placer la commande
swapoff dans /etc/rc.d/rc.K ou bien
/etc/rc.d/init.d/halt afin d'automatiser cela.
Si vous possèdez la Red Hat, utilisez le panneau de
configuration (control-panel ou bien directement
usercfg, utilisables par root sous X Window) :
c'est vraiment très bien fait.
Ajouter 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 :
Si le champ mot de passe contient le caractère
x, c'est que vous utilisez les shadow.
Le mot de passe chiffré se trouve dans le fichier
/etc/shadow. Cette configuration permet en plus de
définir la durée de validité des mots de
passe.
Le fichier /etc/group contient la liste des
groupes de la machine. Par exemple, le groupe 100 est :
users::100:games,gandalf
Pour ajouter un utilisateur toto, faire
/etc/passwd ;/etc/group ;
mkdir /home/toto
cp /etc/skel/* /home/toto
chown -R toto.le_groupe_de_toto /home/toto
passwd
toto .Vous n'avez plus qu'à essayer.
Je vous 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 vous devez tout réinstaller, voire perdre de précieux fichiers personnels.
C'est dans ce fichier que vous allez mettre tous les programmes personnels que vous souhaitez lancer au boot. En voici une version :
#! /bin/sh # du menage en v'la,... echo "Cleaning /tmp..." find /tmp -type f -mtime +1 | xargs -r rm find /tmp -type d -mtime +1 | xargs -r rmdir # 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 vous ajoutez cette ligne, le 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
La crontab est une table qui contient des commandes qui doivent être lancées à intervalle régulier. Vous pouvez 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 vous utilisez 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 la machine fonctionne, voyons comment imprimer.
Les imprimantes sont gérées par le programme
lpc et par le démon lpd.
Le démon lpd doit être lancé au
boot. Il est lancé soit dans rc.M soit dans
rc.inetd2 (vous devez le voir lorsqu'il lance tous
les démons de la machine. Si ce n'est pas le cas, il faut
décommenter quelques lignes dans l'un des fichiers
cités).
Supposons que l'imprimante s'appelle betty. Dans
un premier temps, dans le fichier
/etc/rc.d/rc.local, ajoutez
echo "Setting up printer betty" /usr/sbin/lpc up betty
Passons maintenant aux choses sérieuses. Le fichier dans
lequel va être décrit l'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, faites 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.org
#
# 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 ménage ;
# 12/08/96 (ED) : modification pour gs
# 04/12/96 (ED) : quelques corrections et ajouts.
TmpDir=/tmp
TmpFile=$TmpDir/deskjet.$$
# Utilisateur à 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'accès pour GS
GS_LIB=/usr/lib/ghostscript:/usr/lib/ghostscript/psfonts:\
/usr/lib/ghostscript/Type1:/usr/lib/ghostscript/fonts
# C'est parti
$CAT - > $TmpFile
echo -ne '\033E'
set -- `file $TmpFile`
shift
FileType=$*
# Transformation du PostScript en format Deskjet500
# résolution à 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 vous souhaitez 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.
Utiliser lprm pour retirer une requête
d'impression active.
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ée (GMT + 2). Mieux vaut ne pas laisser tout cela
reposer uniquement sur la variable TZ.
Placez-vous dans le répertoire
/usr/lib/zoneinfo et lisez 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.
Copier le fichier MET sous le nom de
/usr/lib/zoneinfo/localtime, puis faire un lien
symbolique de ce fichier sur
/usr/lib/zoneinfo/posixrules.
Commandes :
# cd /usr/lib/zoneinfo # cp MET localtime # ln -sf localtime posixrulesUtilisez ensuite la commande
clock pour mettre
le système à l'heure. Deux possibilités :
La première solution est préférable, mais MS-DOS ne gère pas 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, ajouter dans
/etc/rc.d/rc.local, la commande 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, depuis 1996, 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,
mettre :
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é, vous devez obtenir 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 vous installez le package GNU "find", en plus du
programme de recherche se trouve un programme locate
qui permet de retrouver rapidement l'emplacement d'un fichier. Ce
programme se trouve dans certaines distributions dans
/usr/lib/locate.
Lancez, en tant que root,
/usr/lib/locate/updatedb. Cela invoquera un
find / sur les disques montés et placera
les noms de tous les fichiers (sous forme d'une table de hachage)
dans /usr/lib/locate/find.codes. locate
permettra ensuite de localiser l'un d'eux.
Remarque : lorsque vous lancez ce programme, pensez à démonter les partitions MS-DOS et votre 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 utilisteurs des utilisateurs. En effet, ces partitions 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.
Bon, les CD-ROM en général ne posent pas trop de problèmes, sauf les ATAPI ancienne version. En effet, le CD est géré sur un deuxième contrôleur disque propriétaire. Procédons dans l'ordre :
Linux hdd=cdrom. Attention : vous
êtes en qwerty ici./dev/hdd
(ou hdc) et /dev/cdrom. ln -s
/dev/hdd /dev/cdrom./cdrom et
taper : mount -t iso9660 -o ro /dev/cdrom
/cdrom. Normalement, le CD est monté !En cas de problème il faut tenter de :
Avec les nouveaux lecteurs, il suffit d'activer le support ATAPI pour les lecteurs de CD-ROM, et lors de l'amorçage, le lecteur doit être détecté :
hdc: UJDCD6700, ATAPI CDROM drive
Certains utilisateurs peuvent vouloir 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 d'ajouter dans
le fichier lilo.conf la ligne suivante :
append = "scon=0x03f8 serial=0,9600n8"
Certaines machines possèdent deux (ou plus) cartes réseaux. Pour qu'elles soient toutes les deux reconnues, il est nécessaire d'ajouter 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 d'autres options. Pour plus renseignements, consultez les pages de manuel.
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/rmt0
Dans ce cas, un mini-interpréteur de commandes est
lancé. Utiliser la commande help pour plus de
détails.
Pour restaurer une bande complètement, lancez :
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), vous devez utiliser
des fichiers .rhosts. Dans l'exemple de sauvegarde
ci-dessus, la machine ondee doit avoir
#cat ~root/.rhosts gandalf #Attention toutefois aux failles de sécurité engendrées par les fichiers
.rhosts.
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 vous
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 par défaut. Pour pouvoir les
générer, il faut introduire : ulimit -c
unlimited sous bash ou limit
coredumpsize unlimited
Le système d'accounting (historique des programmes
invoqués) est implémenté dans Linux (mais
bon, je n'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. Ça se trouve sur le site
ftp.lip6.fr dans le répertoire
/pub/linux/sunsite/system/Admin/accounts ainsi que
sur le site
ftp://iguana.hut.fi/pub/linux/Kernel/process_accounting.
Attention : il est nécessaire d'avoir un noyau 1.3.* ou un 2.0.* au minimum.
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 faut 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 :
#!/bin/sh # Lancement de l'accounting accton /var/log/acct accttrim -n 2000 /var/log/acct 2> /dev/null