Table des matières
Résumé
Vous trouverez dans ce chapitre des informations sur les différents paquetages logiciels ainsi que sur les consoles virtuelles et la disposition du clavier. En conclusion, vous trouverez une section consacrée aux adaptations locales et linguistiques (I18N et L10N).
Le programme bash lit et évalue dans cet ordre les fichiers d'initialisation lorsqu'il est appelé comme interpréteur de commandes à la connexion (shell de login) :
/etc/profile
~/.profile
/etc/bash.bashrc
~/.bashrc
Les utilisateurs peuvent ajouter leurs propres lignes dans
~/.profile ou dans ~/.bashrc. Pour
modifier ces fichiers comme il se doit, il est indispensable de recopier les
paramètres de base de /etc/skel/.profile ou de
/etc/skel/.bashrc dans le répertoire utilisateur. Il
est donc recommandé, après avoir effectué une mise à jour, de copier la
configuration à partir de /etc/skel. Exécutez les
commandes suivantes depuis un terminal afin de conserver une copie des
modifications que vous avez réalisées :
mv ~/.bashrc ~/.bashrc.old cp /etc/skel/.bashrc ~/.bashrc mv ~/.profile ~/.profile.old cp /etc/skel/.profile ~/.profile
Vous devez alors copier vos adaptations personnelles depuis les fichiers
*.old.
Les tables cron se trouvent maintenant dans
/var/spool/cron/tabs. Le fichier
/etc/crontab sert de planificateur horaire pour tout le
système. Entrez le nom de l'utilisateur qui doit exécuter une commande directement
après le tableau des horaires. Dans Exemple 10.1, « Exemple de déclaration dans /etc/crontab », l'utilisateur
root est entré. Des tableaux se
rattachant à un paquetage en particulier ont le même format et se trouvent
dans le répertoire /etc/cron.d.
Exemple 10.1. Exemple de déclaration dans /etc/crontab
1-59/5 * * * * root test -x /usr/sbin/atrun && /usr/sbin/atrun
Le fichier /etc/crontab ne peut pas
être édité à l'aide de la commande crontab -e mais il
doit être chargé directement dans un éditeur pour y recevoir les
modifications prévues et y être enregistré.
Un certain nombre de paquetages installent dans les répertoires
/etc/cron.hourly,
/etc/cron.daily,
/etc/cron.weekly et
/etc/cron.monthly des scripts
shell dont les instructions sont gérées par
/usr/lib/cron/run-crons. Toutes les quinze
minutes, la table principale (/etc/crontab) appelle
/usr/lib/cron/run-crons, ce qui permet de rattraper
éventuellement les étapes qui n'ont pas pu être traitées à temps.
Pour plus de clarté, les travaux de maintenance exécutés quotidiennement
sur le système sont répartis sur plusieurs scripts. Ils sont contenus dans le paquetage
aaa_base. Ainsi, le répertoire
/etc/cron.daily comporte, par exemple, les composants
backup-rpmdb, clean-tmp ou
clean-vi.
De nombreux services système (« démons ») ainsi que le noyau
lui-même enregistrent régulièrement l'état du système et d'éventuels
incidents dans des fichiers journaux
(logfiles). L'administrateur peut ainsi
déterminer de façon fiable dans quel état le système se trouvait à un
instant donné, identifier les erreurs ou les dysfonctionnements et réagir de
façon appropriée. Ces fichiers journaux se trouvent, conformément au
standard FHS, dans le répertoire /var/log et grossissent
de jour en jour. On peut contrôler la croissance de ces fichiers à l'aide de
logrotate.
Le fichier de configuration /etc/logrotate.conf définit
le comportement d'ensemble. La directive include
permet de nommer les fichiers supplémentaires devant être chargés. Il est
prévu que les différents paquetages de SUSE LINUX installent des fichiers
dans /etc/logrotate.d. (par exemple
syslog et YaST procèdent ainsi).
Exemple 10.2. Exemple de fichier /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly weekly
# keep 4 weeks worth of backlogs rotate 4
# create new (empty) log files after rotating old ones create
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own lastlog or wtmp - we'll rotate them here
#/var/log/wtmp {
# monthly
# create 0664 root utmp
# rotate 1
#}
# system-specific logs may be also be configured here.
logrotate lui-même est contrôlé par
cron et déclenché quotidiennement par
/etc/cron.daily/logrotate.
Pour un certain nombre de programmes GNU (par exemple
tar), les pages de manuel ne sont plus tenues à jour.
Utilisez alors l'option --help pour obtenir une présentation
rapide ou les page d'info.
Le programme info constitue le système hypertexte
du système GNU. La commande info info
donne accès à une première aide à l'utilisation. Les pages
info peuvent être vues dans
Emacs en exécutant emacs
-f info ou bien directement dans une console à l'aide de la commande
info. Vous pouvez également utiliser
les applications tkinfo, xinfo ou le système d'aide SUSE pour visualiser les pages info.
locate, qui permet de trouver rapidement des
fichiers, ne fait pas partie des logiciels installés par défaut. Installez-le
(find-locate) si vous souhaitez l'utiliser.
Le processus updatedb sera alors démarré quotidiennement de
façon automatique, la nuit ou environ 15 minutes après l'amorçage
du système.
La commande ulimit (user limits) permet de fixer des limites à l'utilisation des ressources système et d'afficher ces dernières. ulimit est utilisé notamment pour limiter la mémoire allouée aux applications. Ainsi, on peut éviter qu'une application ne monopolise la majeure partie ou la totalité de la mémoire et ne gèle le système.
Le programme ulimit peut être exécuté avec différentes options. Pour restreindre l'utilisation de la mémoire, utilisez les options affichées dans Tableau 10.1, « ulimit : configuration des ressources de l'utilisateur ».
Tableau 10.1. ulimit : configuration des ressources de l'utilisateur
| taille maximale de la mémoire physique |
| taille maximale de la mémoire virtuelle |
| taille maximale de la pile |
| taille maximale des fichiers Core (de vidage mémoire) |
| affichage des limites fixées |
La configuration pour tout le système peut être définie dans le
fichier /etc/profile. Activez-y la création de fichiers
core dont les programmeurs ont besoin pour
le « débogage ». Les utilisateurs normaux ne sont pas autorisés à
augmenter les valeurs fixées par l'administrateur système dans
/etc/profile. Ils peuvent toutefois saisir des
paramètres particuliers dans leur propre fichier
~/.bashrc.
Exemple 10.3. Paramètres ulimit dans ~/.bashrc
# Limitation de la mémoire réelle ulimit -m 98304 # Limitation de la mémoire virtuelle ulimit -v 98304
La mémoire doit être exprimée en Ko. Pour plus de précisions, reportez-vous à la page de manuel man bash.
![]() | Important |
|---|---|
Tous les interpréteurs de commandes (shells) ne prennent pas en charge les
directives ulimit. Dans le cas où vous auriez besoin de
définir des paramètres globaux fixant ces limitations, vous pouvez
utiliser PAM (par exemple | |
La commande free prête quelque peu à confusion lorsqu'il
s'agit de déterminer comment la mémoire vive est utilisée à un moment
donné. On trouve les informations correspondantes
/proc/meminfo. De nos jours, cela ne devrait préoccuper
aucun utilisateur d'un système d'exploitation moderne comme Linux. Le
concept de mémoire vive disponible remonte à l'époque où
la gestion unifiée de la mémoire (unified memory
management) n'existait pas encore. Le slogan La
mémoire disponible est de la mauvaise mémoire (free
memory is bad memory) s'applique bien à Linux. En conséquence,
Linux s'est toujours efforcé de trouver un équilibre entre les caches sans
jamais accepter la présence de mémoire réellement libre ou inutilisée.
Le noyau n'a aucune idée des programmes ou des données utilisateurs. Il gère les programmes et les données utilisateurs dans la mémoire cache. Lorsque la mémoire commence à être saturée, une partie est écrite dans la partition d'échange (swap) ou dans des fichiers à partir desquels elle peut être initialement lue à l'aide de la commande mmap (voir mmap).
À côté de cela, le noyau utilise également d'autres zones de caches,
comme le slab cache, qui
contient les caches utilisés pour l'accès réseau. C'est ce qui
permet d'expliquer d'éventuelles différences entre les valeurs dans
/proc/meminfo. On peut accéder à pratiquement
tous ces caches via /proc/slabinfo.
La résolution de noms est gérée par l'intermédiaire du fichier
/etc/resolv.conf. Voyez Chapitre 24, La résolution de noms.
Ce fichier
est actualisé par le script /sbin/modify_resolvconf
exclusivement. Aucun autre programme n'est autorisé à manipuler directement
le fichier /etc/resolv.conf. Cette règle doit être
respectée pour assurer la cohérence entre la configuration réseau et les
fichiers appropriés.
GNU Emacs est un environnement complexe. Pour de plus amples informations, consultez http://www.gnu.org/software/emacs/. Dans les sections suivantes, nous passerons en revue les fichiers de configuration sur lesquels GNU Emacs se base au démarrage.
Au démarrage, Emacs lit plusieurs fichiers contenant
les réglages de l'utilisateur, de l'administrateur système et du
distributeur pour s'adapter et se préconfigurer en fonction de leurs besoins
respectifs.
Le fichier d'initialisation ~/.emacs est installé, pour
chaque utilisateur, à partir de
/etc/skel dans le répertoire
personnel. Le fichier .emacs charge à son tour le
fichier /etc/skel/.gnu-emacs.
Pour personnaliser le programme, copiez le fichier
.gnu-emacs dans le répertoire personnel (avec
cp /etc/skel/.gnu-emacs ~/.gnu-emacs), puis
procédez aux réglages souhaités.
Dans .gnu-emacs, le fichier
~/.gnu-emacs-custom est répertorié comme
custom-file. Si les utilisateurs définissent des paramètres
avec les options customize, ces modifications
seront enregistrées dans ~/.gnu-emacs-custom.
Sous SUSE LINUX, avec le paquetage
emacs, le fichier
site-start.el est installé dans le répertoire
/usr/share/emacs/site-lisp. Le fichier
site-start.el est chargé avant le
fichier d'initialisation ~/.emacs. Le fichier
site-start.el permet entre autres de charger certains
fichiers de configuration installés avec des paquetages Emacs additionnels de
la distribution (par exemple le paquetage
psgml). De tels fichiers de
configuration se trouvent également dans le
répertoire/usr/share/emacs/site-lisp et commencent
toujours par suse-start-.
L'administrateur système local peut enregistrer des réglages s'appliquant à
tout le système dans le fichier default.el.
Pour plus d'informations, consultez le fichier info d'Emacs sous Init File : info:/emacs/InitFile. Il y est notamment décrit comment empêcher le chargement de ces fichiers (si besoin est).
Les composants d'Emacs sont répartis dans plusieurs paquetages :
Paquetage de base emacs
Paquetage emacs-x11 (généralement
installé) : programme avec prise en charge de X11.
Paquetage emacs-nox programme
sans prise en charge de X11.
Paquetage emacs-info :
documentation en ligne au format Info.
Paquetage emacs-el :
fichiers de bibliothèque non compilés en Lisp Emacs. Ceux-ci ne sont pas
nécessaires à l'exécution.
De nombreux paquetages supplémentaires peuvent être installés si besoin
est : le paquetage
emacs-auctex (pour
LaTeX) ; le paquetage psgml (pour
SGML/XML) ; le paquetage gnuserv
(pour l'utilisation en modes client et serveur), etc.
Pour beaucoup de travaux sur le système, mais également pour des travaux de programmation, on utilise encore aujourd'hui des éditeurs de texte. Dans le domaine Unix, le vi s'est au fil du temps imposé comme étant l'éditeur qui offre de fonctions confortables d'édition et est beaucoup plus ergonomique que beaucoup d'éditeurs prenant également en charge la souris.
On différencie en principe dans l'éditeur vi trois différents modes de fonctionnement : le mode insertion, le mode commande et le mode étendu. Les touches ont des fonctions très différentes selon le mode. La première chose à savoir est comment commuter entre les modes :
Il existe ici une grand nombre de possibilités, dont : a pour ajouter, i pour insérer ou o pour une nouvelle ligne sous la ligne actuelle.
Pour quitter le mode insertion, pressez la touche Esc. Dans le mode insertion, il n'est pas possible de quitter l'éditeur vi. C'est pourquoi il est important de garder la touche ESC en mémoire.
Le mode étendu de l'éditeur vi peut être activé en saisissant deux-points (:). Le mode étendu, appelé aussi mode ex, correspond à un éditeur indépendant fonctionnant ligne par ligne. Vous pouvez, à l'aide de ce mode, effectuer de nombreuses tâches, des plus simples au plus complexes.
Après l'exécution d'une commande dans le mode étendu, on revient en principe automatiquement dans le mode commande. Cependant, si vous décidez finalement de n'exécuter aucune commande en mode étendu, vous pouvez, à l'aide de la touche de retour en arrière, effacer les deux-points. L'éditeur repasse alors en mode commande.
Notez qu'une commutation du mode insertion vers le mode étendu nécessite toujours le passage intermédiaire par le mode commande. Une commutation directe n'est pas possible.
vi, comme d'autres éditeurs, possède sa propre procédure pour quitter le programme. Il est impossible de quitter vi en mode insertion. Quittez d'abord le mode insertion avec la touche Esc. Puis, on différencie deux cas de figure :
Quitter sans enregistrer : si vous désirez quitter l'éditeur sans enregistrer les modifications, saisissez, dans le mode commande, la combinaison de touches : q !. ! signifie à vi d'ignorer les modifications effectuées.
Quitter et enregistrer : pour enregistrer les modifications et ensuite quitter l'éditeur, vous disposez de plusieurs possibilités. Dans le mode commande, utilisez Z Z. Dans le mode étendu, utilisez : w q. Dans le mode étendu, w signifie « write » (écrire) et q signifie « quit » (quitter).
vi peut être utilisé comme un éditeur tout à fait normal. Dès que vous êtes en mode insertion, vous pouvez entrer du texte et en effacer à l'aide des touches de retour en arrière et d'effacement et . Pour bouger le curseur, utilisez les touches de contrôle du curseur.
Mais on est souvent confronté à des problèmes, justement avec ces touches de commande. Ceci provient du fait qu'il existe un grand nombre de types de terminaux différents qui utilisent chacun des codes de touches qui leur sont propres. C'est à ce moment qu'entre en jeu le mode commande. Appuyez sur la touche Esc pour passer du mode insertion en mode commande. Dans le mode commande, déplacez le curseur avec les touches H, J, K et L. Ces touches ont les significations suivantes :
déplace le curseur d'un caractère vers la gauche
déplace le curseur d'une ligne vers le bas
déplace le curseur d'une ligne vers le haut
déplace le curseur d'un caractère vers la droite
Les commandes en mode commande permettent diverses variations. Si vous désirez exécuter plusieurs fois une commande, vous pouvez entrer simplement sous forme de chiffre le nombre de répétitions, et ensuite appeler la commande voulue. Donc, si vous entrez la séquence de commande 5 L, le curseur bougera de cinq caractères vers la droite.
L'éditeur vi prend en charge énormément de commandes. ll permet l'utilisation de macros, de raccourcis, de tampons et beaucoup d'autres fonctionnalités. Les décrire ici en détails nous mènerait trop loin. SUSE LINUX contient une version améliorée de vi, le vim (vi improved). Il existe de nombreuses sources d'informations traitant de ce programme :
vimtutor est un didacticiel interactif pour vim.
Dans vim, saisissez la commande :help pour obtenir de l'aide
sur de nombreux sujets.
Un livre en ligne sur vim (en anglais) est disponible à l'adresse http://www.truth.sk/vim/vimbook-OPL.pdf.
Sur les pages web du projet vim, vous trouverez toutes les nouveautés, les listes de diffusion et autres documentations. Vous trouverez ces pages à l'adresse http://www.vim.org.
Vous trouverez sur internet également de nombreuses sources d'informations au sujet de vim : http://www.selflinux.org/selflinux/html/vim.html, http://www.linuxgazette.com/node/view/9039 et http://www.apmaths.uwo.ca/~xli/vim/vim_tutorial.html. Vous trouverez d'autres liens vers des didacticiels sous http://linux-universe.com/HOWTO/Vim-HOWTO/vim-tutorial.html.
![]() | La licence VIM |
|---|---|
vim est ce qu'on appelle un « logiciel de bienfaisance ». Ceci signifie que les auteurs ne veulent pas recevoir d'argent pour les logiciels mais qu'ils incitent à supporter un projet d'intérêt général à l'aide de dons. Ce projet servira à venir en aide aux enfants en Ouganda. Vous trouverez de plus amples informations à ce sujet sur internet sous http://iccf-holland.org/index.html, http://www.vim.org/iccf/ et http://www.iccf.nl/. | |