Editez le ficher /etc/syslog.conf
et ajoutez-y la ligne
suivante :
# Tout envoyer sur tty8
*.* /dev/tty8
Attention : PENSEZ � UTILISER DES TABULATIONS ! Syslog n'aime pas les espaces.
dj@destin.nfds.net
.De d�butant � d�butant, voici un petit script qui
facilite la lectures des howto. Mes howto sont dans
/usr/doc/faq/howto/
et sont compress�s avec
gzip
. Les fichiers s'appellent XXX-HOWTO.gz
, o� XXX est le
titre. J'ai appel� le script suivant howto
et je l'ai
plac� dans /usr/local/sbin/
:
#!/bin/sh
if [ "$1" = "" ]; then
ls /usr/doc/faq/howto | less
else
gunzip -c /usr/doc/faq/howto/$1-HOWTO.gz | less
fi
Appel� sans argument, il affiche la liste des howto disponibles. Quand on lui passe en argument la premi�re partie du nom du fichier (avant le trait d'union), il d�compacte le document (en laissant l'original intact) et l'affiche � l'�cran.
Par exemple, pour afficher le document Serial-HOWTO.gz
, tapez :
$ howto serial
zocki@goldfish.cube.net
.Voici un script qui v�rifie � intervalles r�guliers qu'il reste de la place sur tout ce qui est mont� (disques durs, CDROM, disquettes...)
En cas de p�nurie d'espace libre, un message est affich� � l'�cran toutes les X secondes et un courrier �lectronique est envoy� pour chaque p�riph�rique qui d�borde.
#!/bin/sh
#
# $Id: Tips-HOWTO.sgml,v 1.1.1.1 2003/01/03 02:38:54 traduc Exp $
#
#
# Depuis que j'ai �t� confront� � des
# messages d'erreur myst�rieux pendant les compilations
# quand les fichiers temporaires remplissaient mes disques, j'ai
# �crit �a pour �tre averti avant que les disques
# ne soient pleins.
#
# Si �a a empech� vos serveurs d'exploser, envoyez
# les courriers de remerciement � zocki@goldfish.cube.net.
# Si votre site flambe � cause de �a, d�sol�
# mais je vous avais pr�venu: c'est votre probl�me
# Si vous savez vraiment vous servir de sed, excusez moi :)
#
#
# Lancez-le et vous pouvez l'oublier: mettez "check_hdspace &"
# dans rc.local. Il v�rifie l'espace libre toutes les
# $SLEEPTIME secondes. Vous pouvez m�me surveiller vos
# disquettes et vos bandes. :)
# Si l'espace libre est inf�rieur � $MINFREE (Ko),
# le script va afficher un message d'avertissement et envoyer un
# courrier � $MAIL_TO_ME pour chaque p�riph�rique
# concern�. D�s qu'il y a � nouveau plus de place
# libre que la limite, le syst�me d'envoi de courrier est
# r�amorc�.
#
# RESTE � FAIRE:
# Des $MINFREE diff�rents pour chaque p�riph�rique
# Nettoyer les r�pertoires /*tmp des vieilleries en cas de
# p�nurie d'espace.
DEVICES='/dev/sda2 /dev/sda8 /dev/sda9' # vos disques
MINFREE=20480 # la limite
SLEEPTIME=10 # secondes entre deux v�rifications
MAIL_TO_ME='root@localhost' # la personne � avertir
# ------- rien � changer en dessous (j'esp�re :) -------
MINMB=0
ISFREE=0
MAILED=""
let MINMB=$MINFREE/1024 # oui, on fait �a bien :)
while [ 1 ]; do
DF="`/bin/df`"
for DEVICE in $DEVICES ; do
ISFREE=`echo $DF | sed s#.\*$DEVICE" "\*[0-9]\*""\*[0-9]\*" "\*## | sed s#" ".\*##`
if [ $ISFREE -le $MINFREE ] ; then
let ISMB=$ISFREE/1024
echo "WARNING: $DEVICE only $ISMB mb free.">&2
#echo "more stuff here">&2
echo -e "\a\a\a\a"
if [ -z "`echo $MAILED | grep -w $DEVICE`" ] ; then
echo "WARNING: $DEVICE only $ISMB mb free. (Trigger is set to $MINMB mb)" \
| mail -s "WARNING: $DEVICE only $ISMB mb free!" $MAIL_TO_ME
MAILEDH="$MAILED $DEVICE"
MAILED=$MAILEDH
# rajoutez ce qu'il reste � faire
# par exemple nettoyer les */tmp
fi
elif [ -n "`echo $MAILED | grep -w $DEVICE`" ] ; then
# Enlever le marqueur de courrier si
# l'espace disponible remonte
# au-dessus de la limite. Pour pouvoir
# envoyer un nouveau message en cas de
# besoin.
MAILEDH="`echo $MAILED | sed s#$DEVICE##`"
MAILED=$MAILEDH
fi
done
sleep $SLEEPTIME
done
Si vous �tes comme moi, vous avez une liste de diffusion avec
430 inscrits et plus de 100 messages qui arrivent tous les jours par
UUCP. Qu'est-ce qu'un bidouilleur peut bien faire avec ces
�normes fichiers journaux ? Il peut installer
chklogs
. chklogs
a �t� �crit par Emilio
Grimaldo, grimaldo@panama.iaehv.nl
, et la version 1.8 actuelle
est disponible sur
ftp.iaehv.nl:/pub/users/grimaldo/chklogs-1.8.tar.gz
. C'est
tr�s simple � installer (il faut bien s�r lire le
contenu du r�pertoire doc
). Une fois le paquetage
install�, rajoutez une entr�e � votre crontab :
# Lance chklogs tous les jours � 21h
00 21 * * * /usr/local/sbin/chklogs -m
Pendant que vous y �tes, n'oubliez pas de dire � l'auteur � quel point vous appr�ciez son logiciel :)
core
. Otto Hammersmith.Cr�ez un fichier rmcores
(l'auteur l'appelle
handle-cores
) contenant ceci :
#!/bin/sh
USAGE="$0 <directory> <message-file>"
if [ $# != 2 ] ; then
echo $USAGE
exit
fi
echo Deleting...
find $1 -name core -atime 7 -print -type f -exec rm {} \;
echo e-mailing
for name in `find $1 -name core -exec ls -l {} \; | cut -c16-24`
do
echo $name
cat $2 | mail $name
done
Et utilisez cron pour le lancer � intervalles r�guliers.
A.Cox@swansea.ac.uk
.(cd /r�pertoire_source && tar cf - . ) | (cd /r�pertoire_cible && tar xvf -)
[ Et pas cd /r�pertoire_source; tar...etc., qui laisse la
possibilit� de bousiller un r�pertoire en cas de
probl�me. Merci � Jim Dennis, jim@starshine.org
,
qui me l'a signal�. -le r�dacteur ]
Vous vous �tes d�j� demand� quels �taient les plus gros r�pertoires sur votre machine ? Voici une fa�on de les trouver.
du -S | sort -n
Bravo et merci � John Fisk, le cr�ateur de la Linux Gazette. C'est un excellent magazine en ligne, qui plus est GRATUIT ! Que demander de plus ? Vous pouvez le trouver � l'adresse :
http://www.linuxgazette.com
Au fait, il s'av�re que (1) la LG est maintenant mensuelle et (2) elle n'est plus maintenue par John Fisk, mais par l'�quipe de SSC.
stern@amath.washington.edu
.J'ignore si ce probl�me concerne de nombreux utilisateurs mais
l'une des caract�ristiques de la version 3.7 du GNU make ne
m'enthousiasme pas. Il s'agit du comportement d'un VPATH sur
r�pertoire absolu. Un robuste patch corrige cela, vous pourrez
l'obtenir aupr�s de Paul D. Smith
<psmith@wellfleet.com>
Veuillez r�diger votre courrier en anglais ! NDT. Ce dernier poste dans le groupe gnu.utils.bug un article contenant ce patch et sa documentation apr�s parution de chaque nouvelle version du GNU make. En ce qui me concerne... il est install� sur tous les syst�mes auxquels j'ai acc�s !
dal@wimsey.com
.R�ponse : Apr�s recompilation du noyau le syst�me de fichiers est consid�r� comme non v�rifi� ("marked as dirty"), ce qui implique que fsck sera mis en action lors de chaque d�marrage. Pour �viter cela lancer :
rdev -R /zImage 1
Cela modifie le noyau qui, d�s lors, consid�re que le
syst�me de fichiers est sain.Note : Ajoutez, si vous employez LILO,
read-only
� la section de l'image de boot
de votre fichier de configuration LILO (souvent nomm� /etc/lilo/config ou /etc/lilo.conf).
jon@gtex02.us.es
.Si votre syst�me conna�t de fr�quentes erreurs de type
"device busy" au d�marrage qui laissent le syst�me de
fichiers dans un �tat exigeant un fsck
, veuillez suivre
les recommandations suivantes :
Ajoutez, au fichier /etc/rc.d/init.d/halt
ou
/etc/rc.d/rc.0
, la ligne
mount -o remount,ro /mount.dir
pour tous vos syst�mes de fichiers mont�s, sauf la
racine, avant l'invocation de umount -a. Cela signifie que si, pour
une quelconque raison, "shutdown" ne parvient pas � tuer tous
les processus puis d�monter les partitions ces derni�res
seront malgr� tout consid�r�es comme saines lors
du red�marrage. Cette astuce a consid�rablement
�court� le temps de d�marrage de mon
syst�me !simon@foobar.co.uk
.ls -l | sort +4n
Pour ceux d'entre vous qui sont vraiment � l'�troit, �a prend du temps, mais �a marche bien :
cd /
ls -lR | sort +4n
mdickey@thorplus.lib.purdue.edu
.
#!/bin/sh
# /usr/local/bin/print
# Une simple sortie format�e pour permettre de
# perforer les feuilles afin de les mettre dans un classeur
cat $1 | pr -t -o 5 -w 85 | lpr
rockwell@nova.umd.edu
.Je d�signe, par "expressions rationnelles", les regexp
de "grep" et consorts.
J'ai appel� ce script "forall" et l'utilise ainsi :
forall /usr/include grep -i ioctl
forall /usr/man grep ioctl
Voici le script forall:
#!/bin/sh
if [ 1 = `expr 2 \> $#` ]
then
echo Syntaxe: $0 repertoire commande [arguments]
exit 1
fi
dir=$1
shift
find $dir -type f -print | xargs "$@"
Voici un petit script de deux lignes qui parcourt une arborescence et qui y efface les fichiers de sauvegarde (# et ~) d'emacs, les fichiers .o, et les fichiers .log de TeX. Il compacte �galement les fichiers .tex et README. Sur mon syst�me, je l'ai appel� "squeeze".
#!/bin/sh
#SQUEEZE efface les fichiers superflus et compacte les fichiers .tex
#et README.
#Par Barry tolnas, tolnas@sun1.engr.utk.edu
#
echo nettoyage de $PWD
find $PWD \( -name \*~ -or -name \*.o -or -name \*.log -or -name \*\#\) -exec
rm -f {} \;
find $PWD \( -name \*.tex -or -name \*README\* -or -name \*readme\* \) -exec gzip -9 {} \;
ps -aux | sort +4n
-OU-
ps -aux | sort +5n
vi
pour la programmation en C. Paul Anderson, r�dacteur du Linux Astuces HOWTO.Je passe beaucoup de temps � programmer en C, et j'ai pris le
temps de configurer vi pour me faciliter la t�che. Voici le
contenu de mon fichier .exrc
:
set autoindent
set shiftwidth=4
set backspace=2
set ruler
Qu'est-ce que �a fait ? autoindent
force vi �
indenter automatiquement toutes les lignes qui suivent la
premi�re ligne indent�e, shiftwidth
impose une
taille de 4 espaces pour ^T, backspace
configure la touche
d'espacement arri�re, et ruler
force l'affichage des
num�ros de lignes. Notez que pour placer le curseur sur une
ligne donn�e, par exemple la ligne 20, vous pouvez utiliser :
vi +20 monfichier.c
Beaucoup de bidouilleurs ont d�j� ctags sur leur
machine, mais ne s'en servent pas. Cela peut �tre tr�s
pratique pour �diter des fonctions sp�cifiques. Supposez
que vous avez une fonction dans l'un des nombreux fichiers sources
contenus dans un r�pertoire pour un programme que vous
�tes en train d'�crire, et que vous voulez �diter
cette fonction pour faire une mise � jour. Appelons cette
fonction foo(). Vous ne savez pas non plus o� elle se trouve
dans le fichier source. C'est l� que ctags peut �tre
tr�s pratique. Quand vous le lancez, ctags cr�e un
fichier nomm� tags
dans le r�pertoire courant, qui
contient la liste de toutes les fonctions, le fichier source dans
lequel elles se trouvent et leur emplacement dans ce fichier
source. Le fichier tags
ressemble � �a :
ActiveIconManager iconmgr.c /^void ActiveIconManager(active)$/
AddDefaultBindings add_window.c /^AddDefaultBindings ()$/
AddEndResize resize.c /^AddEndResize(tmp_win)$/
AddFuncButton menus.c /^Bool AddFuncButton (num, cont, mods, func, menu, item)$/
AddFuncKey menus.c /^Bool AddFuncKey (name, cont, mods, func, menu, win_name, action)$/
AddIconManager iconmgr.c /^WList *AddIconManager(tmp_win)$/
AddIconRegion icons.c /^AddIconRegion(geom, grav1, grav2, stepx, stepy)$/
AddStartResize resize.c /^AddStartResize(tmp_win, x, y, w, h)$/
AddToClientsList workmgr.c /^void AddToClientsList (workspace, client)$/
AddToList list.c /^AddToList(list_head, name, ptr)$/
Pour �diter, par exemple, AddEndResize() avec vim, tapez :
vim -t AddEndResize
Cela va ouvrir le bon fichier dans l'�diteur et placer le curseur au d�but de la fonction.
C'est un probl�me assez courant, presque au point d'en faire
une FAQ. Je ne sais pas si Red Hat corrige l'erreur dans sa
distributions, mais vous pouvez r�parer �a
vous-m�me. Si vous regardez dans votre fichier
/etc/hosts
, vous allez trouver quelque chose qui ressemble
� �a :
127.0.0.1 localhost votremachine
Quand sendmail d�marre, il fait une recherche sur le nom de
votre machive (votremachine
dans l'exemple). Ensuite, il trouve
que l'adresse IP de la machine est 127.0.0.1; sendmail n'aime pas
�a et recommence la recherche. Il continue comme �a
pendant un moment avant d'abandonner. Corriger ce probl�me est
tr�s facile : �ditez votre fichier /etc/hosts
et
mettez-y quelque chose comme �a :
127.0.0.1 localhost
10.56.142.1 votremachine
ls
en couleurs?Paul Anderson, paul@geeky1.ebtech.net
.La distribution Red Hat est fournie avec color-ls (ls en couleurs), mais je n'arrive pas � comprendre pourquoi ils ne le configurent pas pour utiliser les couleurs par d�faut. Voici une fa�on d'arranger �a.
Commencez par taper eval `DIRCOLORS`
Puis alias ls='ls --color=auto'
Enfin, mettez la ligne "alias .....
" dans votre
/etc/bashrc
.
Vous �tes en train de compiler un programme et vous avez oubli� de lier une biblioth�que n�cessaire? Et gcc qui ne donne que les noms des fonctions manquantes... Voici une commande pour trouver ce que vous cherchez :
for i in *; do echo $i:;nm $i|grep tgetnum 2>/dev/null;done
Remplacez tgetnum
par le nom de la fonction que vous cherchez.
Vous avez compil� le programme et cr�� un
programme appel� test
, non? Linux a d�j� un
programme test
, qui teste si une certaine condition est vraie et
qui n'affiche aucun r�sultat � l'�cran. Pour
lancer votre programme test
, tapez ./test
.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:24