bilibop - éxécuter Debian GNU/Linux depuis un support externe
Nombre de distributions GNU/Linux — au moins les plus populaires d'entre
elles — fournissent en téléchargement gratuit des images
de disque aux formats
.iso ou
.img, qui peuvent être
copiées sur une clé USB (parfois juste avec
cat(1) ou
dd(1), parfois par des méthodes plus complexes) et être
immédiatement utilisables 'telles quelles'.
Mais de tels systèmes d'exploitation ne sont pas conçus pour
être modifiés; Ils sont accessibles seulement en lecture, et
même s'ils fournissent une fonctionnalité appelée
'persistance', celle-ci est limitée. De plus, ces systèmes sont
couramment impossibles à maintenir, dans le sens où reconstruire
l'image complète du système de fichiers racine est le seul moyen
de mettre à jour le système ou de modifier ses
paramétrages en profondeur. C'est là souvent une tâche
lourde et difficile qui ne peut pas être effectuée depuis le
système lui-même: cela nécessite un espace de travail
dédié, extérieur au système en cours
d'éxécution, ce qui nécessite souvent de faire appel
à un autre système d'exploitation pour remplacer l'image de
disque par la nouvelle; et certaines de ces tâches ne peuvent
être effectuées que par des utilisatrices avancées. Les
autres doivent attendre la prochaine mise à jour officielle, si elle
arrive un jour.
Bilibop signifie '
Bilibop
Is
Live
Install
Boot
On
Pendrive'. Cet accronyme récursif est
maintenant obsolète, mais le nom a été conservé.
Le
projet bilibop est né comme une alternative aux
systèmes
LiveUSB.
En réalisant une installation standard de Debian directement sur un
support amovible — généralement une clé USB ou un
disque dur externe — il est possible de l'utiliser comme un
système LiveUSB, avec cette différence qu'il se comporte comme
n'importe quel système Debian installé: il peut être
maintenu, modifié, mis à jour, ou même cassé par
l'adminitratrice (root) à n'importe quel moment. En fait, sans un
paramétrage spécifique, il peut être cassé
n'importe quand par une utilisatrice sans privilèges; mais c'est aussi
le cas des systèmes LiveUSB.
Ainsi,
bilibop est un ensemble de scripts utilisant ou utilisés
par d'autres programmes (
initramfs-tools(7),
udev(7), ou
GRUB2) pour aider les administratrices à maintenir un
système d'exploitation
Debian GNU/Linux installé sur un
support amovible et inscriptible, même si certains de ces scripts
peuvent aussi être utilisés dans d'autres contextes. L'un de ses
buts principaux est de répondre à des problèmes de
sécurité ou de durcir des règles et des politiques
standard pour rendre le système plus robuste dans cette situation
particulière. Plutôt qu'une nouvelle distribution basée
sur Debian, encore une, vivant vite et mourrant jeune, bilibop a
été conçu comme un petit ensemble de paquets Debian.
bilibop-lockfs peut aussi être installé sur un ordinateur
portable ou sur un ordinateur public comme une alternative à
fsprotect ou
overlayroot, et
bilibop-udev (ou
bilibop-rules)
devrait aussi être installé sur un
LiveUSB.
- bilibop
- C'est un métapaquet, dépendant de plusieurs
autres paquets binaires issus du même paquet source
bilibop.
- bilibop-common
- Il founit principalement des fonctions shell et de la
documentation. Voir README.Debian dans la documentation du paquet
pour des détails sur ces fonctions. Il inclut aussi la commande
drivemap(1).
- bilibop-rules
- Ce paquet fournit des règles (rules) udev et des
scripts d'aide. Son but premier est de fixer le disque hébergeant
le système en cours d'éxécution, et toutes ses
partitions, comme propriété du groupe 'disk'
plutôt que 'floppy', comme c'est le cas actuellement pour
les supports amovibles. Il s'agit d'un contournement du bogue
#645466. Les règles udev fournies par ce paquet s'appliquent
même quand la racine du système est sur un
périphérique LUKS, un Volume Logique LVM, un
périphérique boucle (loop) ou un point de montage
aufs(5) ou overlay, bilibop-rules inclut aussi la
commande lsbilibop(8), et quelques scripts d'aide dans
/usr/share/bilibop, qui peuvent être
éxécutés manuellement ou avec
'dpkg-reconfigure bilibop-rules'. Voir README.Debian
dans la documentation du paquet pour les détails.
- bilibop-udev
- Ce paquet est une sorte de sous-ensemble de
bilibop-rules, et est plus adapté aux systèmes
LiveUSB. Il fait juste en sorte que le disque hébergeant le
système, et toutes ses partitions, appartiennent au groupe
'disk' plutôt que 'floppy'. Ses règles udev
créent aussi un lien symbolique (/dev/bilibop)
pointant sur le nom du disque. Voir README.Debian dans la
documentation du paquet pour les détails.
- bilibop-lockfs
- En utilisant un script initramfs et un programme d'aide
à mount(8), les systèmes de fichiers sont
montés en lecture seule comme branches inférieures d'un
point de montage aufs(5) ou overlay, les branches
inscriptibles correspondantes étant sur des systèmes de
fichiers temporaires. De plus, les périphériques en mode
bloc sont aussi paramétrés comme accessibles en lecture
seule, évitant ainsi les accès en écriture de bas
niveau, même par l'administratrice. Cela concourt à rendre
le système d'exploitation incassable, sauf avec un marteau. Voir
README.Debian dans la documentation du paquet pour les
détails.
Debian peut être installée sur un disque amovible comme
elle le serait sur un disque interne, avec les restrictions suivantes:
- •
- Il est hautement recommandé d'installer un
système chiffré. Autrement, que peut-il se passer si la
clé USB ou le DD externe a été perdu ou oublié
quelque part, ou même volé ? Malheureusement (mais il y a
des raisons de sécurité évidentes), cela ne peut pas
être complètement automatisé.
- •
- En raison des limites du nombre de cycles d'écriture
sur la mémoire flash, il n'est pas recommandé d'y installer
un espace d'échange (swap): cela peut réduire
considérablement la durée de vie du support.
- •
- Même si l'architecture amd64 est maintenant
la plus commune sur les ordinateurs personnels modernes, l'installation
d'un système compatible x86 le rendra plus versatile et
capable de tourner autant sur une architecture amd64 que i386 (et
même sur ia32, mais cela peut nécessiter un schéma de
partitionnement spécifique).
- •
- Prenez garde, vers la fin de l'installation, que le
chargeur de démarrage soit bien écrit sur le secteur
d'amorçage principal (MBR) du disque sur lequel le système
vient d'être installé: le choix par défaut, 'install
on MBR' l'installera sur le secteur d'amorçage principal du premier
disque !
- •
- En prenant en compte les recommandations
précédentes, choisissez 'Expert Install' ou
'Expert Graphical Install' dans le menu de
démarrage de l'installeur. Si vous devez installer Debian sur
plusieurs périphériques, n'effectuez pas une installation
automatique avec l'option 'Auto Install' dans le menu de
démarrage de l'installeur. Si vous avez vraiment besoin
d'automatiser ce processus pour gagner du temps, utilisez plutôt un
fichier preseed.
Le principal avantage d'une installation standard par rapport à un
système Live est que le système installé peut
répondre exactement à vos besoins: si les besoins
évoluent, le système peut être facilement modifié.
Il peut être installé et configuré pour être
utilisé dans différents contextes:
• usage quotidien (c'est mon cas)
• routeur et/ou pare-feu pour un réseau local
• serveur ftp et/ou http (c'est mon cas)
• récupération de données et analyse post-mortem
(c'est mon cas)
• mirroir d'un dépôt de paquets Debian embarqué
(c'est mon cas)
• système de test
• système à but pédagogique
• autres
Parce qu'un système d'exploitation tournant depuis un support externe est
généralement utilisé sur des ordinateurs
différents, avec des claviers, des architectures, des écrans,
etc. potentiellement différents, il peut être nécessaire
que certains paramétrages soient aussi flexibles que possible. Ce champ
est sans doute trop large pour être couvert dans une seule page de
manuel: voir
/usr/share/doc/bilibop-common/misc/* pour quelques trucs
et astuces, détails et suggestions de paramètrages possibles.
/usr/share/bilibop-common/README.Debian
/usr/share/bilibop-common/examples/bilibop.conf
/usr/share/bilibop-common/misc/*
/usr/share/bilibop-lockfs/README.Debian
/usr/share/bilibop-lockfs/examples/bilibop.conf
/usr/share/bilibop-rules/README.Debian
/usr/share/bilibop-rules/examples/bilibop.conf
bilibop.conf(5),
drivemap(1),
lsbilibop(8)
Cette page de manuel a été traduite de l'anglais par Alexandre
Martin <
[email protected]> dans le cadre du projet bilibop.