Quelques trucs & astuces pour GNU/Linusque
Les trucs qui me servent régulièrement.
1. Fortunes
Recréer le fichier index d'un fichier de fortunes :
strfile fortunes fortunes.dat
Marrez-vous comme des baleines, ça n'est apparu dans le man de fortune qu'il y a peu (1997).
2. Confs
Un inittab pratique (vieux) [Testé sur Red Hat (5.2 à 7.0, Debian (Potato 2.2rx et Woody 3.0rx)]
# à insérer dans /etc/inittab # un petit top en console tty11 (unsecure !!) 11:2345:respawn:/usr/bin/top -s -d 2 > /dev/tty11 # Redirection des messages système vers la console tty12 (unsecure !!) 12:2345:respawn:/usr/bin/tail -n 25 -f /var/log/messages > /dev/tty12
3. Pushd, Popd...
Découvrons les commandes suivantes :
- pushd
La commande 'pushd' vous place dans le repertoire indiqué tout en mémorisant le répertoire de destination ET le répertoire d'origine sur une pile LIFO (Last In - First Out).
[lois@lbox lois]$ pushd /var/www/ /var/www ~ [lois@lbox www]$ pushd /var/www/html/ /var/www/html /var/www ~ [lois@lbox html]$
- popd
La commande 'popd' vous ramène en arrière dans l'ordre de la pile.
[lois@lbox html]$ popd /var/www/ ~ [lois@lbox www]$ popd ~ [lois@lbox lois]$
- dirs
La commande 'dirs' affiche la pile de 'pushd' dans l'ordre de gauche à droite.
- cd -
La commande 'cd -' ramène au répertoire précédent.
Ces commandes sont des 'builtin's' de Bash.
4. DHCPd HS
[Testés sur Red Hat (6.2 à 7.0), Debian (Potato 2.2rx et Woody 3.0r0), FloppyFW 1.0.9]
S'insérer dans un réseau DHCP quand le serveur DHCP est inopérant (HS, surchargé, etc ...).
D'abord, obtenir les infos suivantes (auprès de l'admin du réseau) :
- une adresse IP libre ! [x]
- le masque du réseau [y]
- l'adresse IP de broadcast [z]
- l'adresse IP de la passerelle (s'il y en a une) [w]
- le nom de domaine et les adresses IP des serveurs DNS (s'il y en a)
Ensuite, passer sur une console et tapotez :
lois@skons:~$ifconfig eth0 xxx.xxx.xxx.xxx netmask yyy.yyy.yyy.yyy broadcast zzz.zzz.zzz.zzz lois@skons:~$route add default gw www.www.www.www
Si les DNS existent, rajoutez (manière brutale) :
lois@skons:~$echo "search le_nom_de_domaine.tld" > /etc/resolv.conf lois@skons:~$echo "nameserver adresseIP.du.premier.dns" >> /etc/resol.conf lois@skons:~$echo "nameserver adresseIP.du.second.dns" >> /etc/resol.conf
Si vous disposez d'un editeur de texte (vim, par exemple ;o), éditez /etc/resolv.conf (manière douce et civilisée) :
lois@skons:~$vi /etc/resolv.conf search le_nom_de_domaine.tld nameserver adresseIP.du.premier.dns nameserver adresseIP.du.second.dns
Pas besoin de relancer les services réseau (surtout pas, même). Testez avec un ping sur la passerelle, sur une adresse IP extérieure, et un nom de domaine. Si tout passe, c'est que vous êtes connecté !! Dingue.
5. Compil' noyau "à la Debian" (vieux)
[Ne fonctionne que sur les distributions équipées de 'kernel-package' (Debian), noyaux 2.2, 2.4 et 2.6]
Se compiler un noyau dans un paquet prêt à installer :
Je pré-suppose que vous en maitrisez un minimum sur l'installation des paquets, et
sur la configuration/compilation du noyau. Testé sur x86, Sparc32, Sparc64 et PPC (G3).
- d'abord, installer (ou vérifier qu'ils sont installés) les paquets suivants : make, bin86, binutils, gcc, libncurses5-dev, kernel-package, fakeroot.
- installer (et décompresser) les sources du noyau : depuis kernel.org ou par apt (kernel-source-2.x.x) et tar/gunzip/bunzip2.
- se placer dans le repertoire contenant les sources du noyau (/usr/src/linux-2.x.x/ ou /usr/src/kernel-source-2.x.x/ ou ~/src/linux/), et lancer un make-kpkg clean (le make mrproper n'est pas obligatoire).
- toujours dans le répertoire des sources du noyau, lancer la commande magique :
make-kpkg --rootcmd=fakeroot --config menu --us --uc --bzimage \ --append-to-version -$VERSION --revision=$REVISION kernel-image kernel-headers -$VERSION = nom de la machine, ou type du noyau (ce que vous voulez, en fait) $REVISION = `date +%Y%m%d%H%M`
Cette commande vous lance dans un make menuconfig
suivit de la compilation du noyau, des modules attenants, et finissant par la création d'un
(ou plusieurs) paquet Debian (kernel-x-2.x.x-$VERSION_$REVISION_$ARCH.deb), prêt à être
intallé, situé dans le répertoire inférieur au répertoire de compilation
(dpkg -i pour l'installer).
man make-kpkg et man dpkg/pour plus
d'infos.
Fonctionne bien à la fois avec lilo, silo et grub (les boot-loaders disponible chez Debian).
6. IPtables / Netfilter
[Toutes distributions avec noyau >= 2.4.x et NetFilter]
FIXME : Un script iptables à refaire ou améliorer.
- La première publication, SuperGoret v1,
- Une version légèrement modifiée (v1.1),
- Quelques ajouts (v1.2), dont l'usage du Wonder Shaper, que je vous conseille.