Docs

Routeur Wifi sous GNU/Linux Debian (1)

Installation d’une Debian minimale pour le routeur

IPv4, IPv6, Wifi, serveur DNS....

Nicolas, le mardi 19 novembre 2013

Pour cette première partie, je vous propose d’installer une Debian minimale avec quelques modifications pour fonctionner sur une mémoire flash.

Préparation du système

L’installation d’un système Debian sur une carte de petit format (2 Go dans notre cas) impose de supprimer un certain nombre de paquets inutiles :

Les paquets suivants seront désinstallés par la commande apt-get purge [1] :

  • aspell et aspell-fr (correcteur orthographique),
  • bc (The GNU bc arbitrary precision calculator language),
  • bsdmainutils (des utilitaires provenant de FreeBSD)
  • man-db
  • busybox (des utilitaires Unix pour les systèmes légers [2]),
  • dc (calculatrice de bureau en notation polonaise inversée),
  • debian-faq (les questions fréquemment posées à propos de Debian et leurs réponses),
  • debian-policy (de la documentation),
  • developers-reference-fr (un recueil de conseils et de
  • pratiques établis par et pour la communauté des développeurs Debian),
  • dictionaries-common et les paquets dépendants,
  • doc-debian, doc-debian-fr, manpages*, maint-guide-fr, doc-linux-text et doc-linux-fr-text (documentations),
  • groff-base (langage de programmation pour écrire de la documentation),
  • info (Navigateur autonome pour la documentation GNU de type Info),
  • laptop-detect (tente de détecter un ordinateur portable),
  • m4 (Langage de traitement de macros),
  • mutt (un client mail en mode texte),
  • nano (un éditeur de texte),
  • nfs-common (à moins que vous souhaitiez monter des partitions à travers le réseau via NFS),
  • os-prober (utilitaire de détection d’autres systèmes d’exploitation),
  • patch (Applique un fichier « diff » à un fichier original),
  • procmail (un trieur de courriels),
  • python et les paquets dépendants (un langage de programmation),
  • sgml-base et xml-core,
  • exim (un serveur de courriels) : installer ssmtp (serveur SMTP léger, plus adapter à notre petit système) à la place,
  • tasksel (Outil pour sélectionner des tâches à installer sur des systèmes Debian),
  • texinfo (système de documentation),
  • wamerican (doctionnaire),
  • whiptail (Affiche des boîtes de dialogue conviviales à partir de scripts shell),
  • xauth (utilitaire d’authentification X),

Enfin, la commande suivante permettra de supprimer les paquets (librairies) qui ne sont plus nécessaires :

apt-get autoremove

Optimisation des accès disque

Une carte SD s’use vite.

Il convient de limiter les accès disque [3]. Le système n’écrira pas sur le disque la date du dernier accès s’il n’y a pas d’écriture dans la partition racine avec l’option noatime. Les fichiers temporaires du systèmes seront placés dans la mémoire vive (250 Mo tmpfs). Les paquets téléchargés par Apt seront également placés dans la mémoire vive (800 Mo). Ainsi, le fichier /etc/fstab ressemblera à celui-ci :

proc            /proc           proc    defaults        0       0                  
# Dossier temporaire
tmpfs      /tmp            tmpfs        defaults,size=250m           0    0
# Cache d'apt
tmpfs    /var/cache/apt/archives    tmpfs    defaults,size=800m    0    0
/dev/sda5       /               ext4    noatime,errors=remount-ro 0       1                        
/dev/sda1       none            swap    sw              0       0

Chacun adaptera la taille des partitions en fonction de ses besoins.

Minimiser l’usage de la mémoire SWAP en créant un fichier /etc/sysctl.d/swap.conf

(...)
vm.swappiness=0

La valeur 0 indique au système d’utiliser la mémoire SWAP quand la mémoire vive libre atteind 0 % (c’est à dire qu’elle est complètement pleine).

Après redémarrage, le système indique bien que /tmp et le dossier de cache des paquets est en mémoire vive :

root@antimoine:~# df -h
Sys. de fichiers    Taille  Uti. Disp. Uti% Monté sur
/dev/sda5             1,7G  565M 1023M  36% /
tmpfs                 999M     0  999M   0% /lib/init/rw
udev                  994M  156K  994M   1% /dev
tmpfs                 999M     0  999M   0% /dev/shm
tmpfs                 250M     0  250M   0% /tmp
tmpfs                 800M     0  800M   0% /var/cache/apt/archives

Paquets complémentaires

Afin de maintenir le système à l’heure, on installe le paquet ntp qui contient le démon ntp [4].

Notre système étant prêt, il ne reste plus qu’à installer la passerelle...

Notes :

[1L’option purge permet de supprimer, en plus des exécutables, les fichiers de configuration.

[2C’est paradoxal de l’enlever mais j’ai plus l’habitude avec les utilitaires équivalent GNU.

[3Voir à ce sujet l’article sur le Wiki Ubuntu-fr

[4Ne pas confondre avec le paquet ntpdate qui contient seulement l’utilitaire éponyme permettant de mettre ponctuellement l’heure système à jour. Dans les précédentes version de Debian, ce paquet s’appelait ntp.