Annexe Q. Trucs et Astuces

Table des matières
1. Allumer le verrouillage numérique
1.1. en console
1.2. sous X
2. Avoir un beau LILO
2.1. Méthode Woody
2.2. Méthode Sid
2.3. Réécrire sur le MBR
3. Afficher une image au démarrage
4. Brancher un périphérique IDE à chaud
5. Faire du SSH à travers un firewall
5.1. Changer de port
5.2. Monter un tunnel HTTP
5.3. Utiliser un proxy HTTPS

1. Allumer le verrouillage numérique

Les utilisateurs d'un ordinateur fixe sont souvent habitués à utiliser le pavé numérique... mais le NumLock n'est jamais allumé par défaut sous Linux !

1.1. en console

Décommentez les lignes suivantes dans le fichier zlogin (ce fichier se trouve dans le répertoire /etc/ sur une Woody et /etc/zsh/ sur une Sid :


# Pour les ordinateurs avec un pavé numérique...
# Active le pavé numérique quand on se loggue en console
case "`tty`" in /dev/tty[1-6]*)-
    setleds +num
esac

1.2. sous X

1.2.1. Méthode Woody

Téléchargez la version de la Sid du package numlockx sur le site de Debian et installez-le avec dpkg :


# dpkg -i numlockx_version_i386.deb

Lors de l'installation du package, il vous demande Enable NumLock automatically ? : répondez Oui.

Si vous utilisez GDM, il faut ajouter le script de lancement de numlockx au script de lancement de GDM :


# cat /etc/X11/Xsession.d/55numlockx >> /etc/gdm/PreSession/Default

puis redémarrez GDM.

1.2.2. Méthode Sid

Installez simplement le package :


# apt-get install numlockx

Lors de l'installation du package, il vous demande Enable NumLock automatically ? : répondez Oui.

Si vous utilisez GDM, il faut ajouter le script de lancement de numlockx au script de lancement de GDM. Pour cela, éditez le fichier /etc/gdm/PreSession/Default et importez le contenu du fichier /etc/X11/Xsession.d/55numlockx après la première ligne qui commence par PATH= (commande :r nom_du_fichier pour importer un fichier sous vim), puis redémarrez GDM.

2. Avoir un beau LILO

2.1. Méthode Woody

Pour avoir un beau LILO graphique avec une belle image, comme avec les autres distributions Linux, téléchargez la dernière version de l'archive debian-bootscreen-version.tar.bz2 en utilisant ce lien.

Décompressez-la :


% tar xvjf debian-bootscreen-version.tar.bz2

Ensuite, copiez le fichier contenant l'image du LILO graphique dans le répertoire /boot/ :


# cp debian-bootscreen-version/debian-bootscreen-woody.rle.bmp /boot/

Editez le fichier /etc/lilo.conf et remplacez la ligne :


install=/boot/boot-menu.b

par les lignes :


install=/boot/boot-bmp.b
bitmap=/boot/debian-bootscreen-woody.rle.bmp
bmp-colors=1,,0,2,,0
bmp-table=120p,173p,1,15,17
bmp-timer=254p,432p,1,0,0

2.2. Méthode Sid

Le package lilo de la Sid inclus les fichiers images. Il suffit donc de modifier le fichier de configuration de LILO ; éditez le fichier /etc/lilo.conf et remplacez la ligne :


install=/boot/boot-menu.b

par les lignes :


install=/boot/boot-bmp.b
bitmap=/usr/share/lilo/sid.bmp
bmp-colors=1,,0,2,,0
bmp-table=120p,173p,1,15,17
bmp-timer=254p,432p,1,0,0

2.3. Réécrire sur le MBR

Exécutez LILO pour qu'il écrive les changements sur le MBR :


# lilo

Au prochain redémarrage, vous pourrez alors découvrir un beau LILO graphique !

Figure Q-1. LILO graphique (Woody)

3. Afficher une image au démarrage

Avec quelques efforts, il est possible d'afficher une image à la place des logs de démarrage ou encore d'avoir une image "sous" la console.

Commencez par télécharger les fichiers requis :

Pour commencer, appliquez le patch aux sources du noyau :


% cd /usr/src/linux/
% patch -p1 < ../bootsplash-version.diff

Maintenant, il faut ajouter des options pour la compilation du noyau. Faites un make menuconfig et choisissez les options suivantes (dans le cas d'un noyau 2.6.x) :

Ensuite, compilez et installez votre nouveau noyau, comme indiqué au chapitre Compiler le noyau. Lorsque vous modifiez le fichier /etc/lilo.conf, il faut ajouter les paramètres suivants dans la section relative à votre nouveau noyau (juste en dessous de label=Truc) :


 vga=791
 initrd=/boot/initrd.splash
 append="splash=verbose"

La commande vga=791 indique au noyau qu'il faut changer la résolution en 1024x768 et 65000 couleurs. La commande append="splash=verbose" permet de choisir le mode verbose ou silent. Pour plus de détails, voir www.bootsplash.org. N'oubliez pas de laisser un accès à votre ancien noyau dans le /etc/lilo.conf, afin de pouvoir booter dessus en cas de problèmes (le framebuffer est parfois capricieux avec certaines cartes graphiques). N'exécutez pas encore lilo, il nous faut d'abord créer le fichier /boot/initrd.splash qui contient l'image à charger.

Il est temps de s'occuper des programmes que vous avez téléchargés :


% cd /usr/src
% tar xvjf bootsplash-3.0.7.tar.bz2
% tar xvjf Theme-Linux.tar.bz2
% cd bootsplash-3.0.7/Utilities
% make splash

puis en root :


# cp splash /usr/local/bin/
# cd /etc
# mkdir bootsplash
# cd bootsplash
# mkdir themes
# cp -R /usr/src/Linux themes/
# splash -s -f /etc/bootsplash/themes/Linux/config/bootsplash-1024x768.cfg > /boot/initrd.splash
# lilo

Vous pouvez alors redémarrer et admirer !

4. Brancher un périphérique IDE à chaud

Si vous avez un portable muni d'une media-bay et de périphériques IDE amovibles, un utilitaire très pratique permet l'ajout et le retrait à chaud de ces périphériques.

Attention

Les lecteurs de disquettes ne sont pas gérés par cet utilitaire.

Installez le package hotswap-text (malheureusement non disponible dans la Woody) :


# apt-get install hotswap-text

L'utilisation est très simple ; il suffit de taper le nom du programme en root :


# hotswap

et de se laisser guider par le programme comme illustré ci-dessous.

5. Faire du SSH à travers un firewall

Cas typique : vous êtes dans un entreprise et vous voulez vous connecter par SSH vers un serveur à l'extérieur du réseau de l'entreprise... mais il y a un firewall entre le réseau interne et Internet !

Avertissement

L'utilisation des techniques décrites ci-dessous est peut-être interdite par l'entreprise.

Il y a trois possibilités, sachant que seule la dernière est potentiellement réalisable si vous ne pouvez pas modifier la configuration du serveur.

5.1. Changer de port

Si le firewall a un port complètement ouvert (le port 80 par exemple), vous pouvez modifier la configuration du serveur pour que son démon SSH écoute sur le port 80 en plus du port 22 (attention, il ne doit pas y avoir de serveur Web qui écoute déjà sur le port 80). Pour cela, modifiez le fichier de configuration /etc/ssh/sshd_config pour qu'il contienne les deux lignes suivantes :


Port 22
Port 80

Puis relancez le serveur SSH :


# /etc/init.d/ssh reload
Reloading OpenBSD Secure Shell server's configuration.

Vous pouvez alors lancer votre client SSH en lui précisant d'utiliser le port 80 :


% ssh -p 80 login@nom_DNS_du_serveur

5.2. Monter un tunnel HTTP

Si le firewall surveille le port 80 et vérifie que seuls des packets HTTP passent par ce port, alors vous pouvez essayer d'utiliser le programme httptunnel. Ce programme doit tourner sur le client et le serveur. Il encapsule dans une connexion HTTP n'importe quel type de connexion (pas forcément une connexion SSH). Il permet aussi de faire passer la connexion par un Proxy. Installez le package sur le client et sur le serveur :


# apt-get install httptunnel

Lancez le serveur httptunnel sur le serveur :


% hts -F localhost:22 8888

Puis lancez le client httptunnel sur le client :


% htc -F 2222 nom_DNS_du_serveur:8888

ou, si vous devez passer par un Proxy proxy.exemple.org qui écoute sur le port 8080 :


% htc -F 2222 -P proxy.exemple.org:8080 nom_DNS_du_serveur:8888

Vous pouvez alors lancer votre client SSH :


% ssh -p 2222 login@localhost

5.3. Utiliser un proxy HTTPS

Récupérez le script ssh-https-tunnel :


% wget http://zwitterion.org/software/ssh-https-tunnel/ssh-https-tunnel
# mv ssh-https-tunnel /usr/local/bin/

Editez le fichier /usr/local/bin/ssh-https-tunnel contenant le programme et rentrez le nom DNS et le port du proxy du réseau interne dans les variables prévues à cet effet :


# Proxy details
my $proxy      = "proxy.exemple.org";
my $proxy_port = 8080;

Créez (s'il n'existe pas déjà) un fichier ~/.ssh/config contenant :


host nom_DNS_du_serveur
   ProxyCommand /usr/local/bin/ssh-https-tunnel %h %p
   Port 22

Puis essayez de vous connecter au serveur comme vous le faites normalement :


% ssh login@nom_DNS_du_serveur

Si cela ne marche pas, essayez de faire écouter le démon SSH du serveur sur le port 443 (port des connexions HTTP sécurisées), comme expliqué dans la première possibilité, et modifiez le fichier ~/.ssh/config en remplaçant 22 par 443, puis réessayez de vous connecter.