OpenRC
OpenRC est un système d’init, reprenant les mêmes fonctionnalités de baselayout (le système d’init par défaut de Gentoo) c’est-à-dire la gestion, le démarrage et l’arrêt des services. Il est developpé en C contrairement à baselayout qui lui est en bash. Cela permet d’augmenter la rapidité de la gestion des dépendances et le lancement des services.
Une autre qualité est de supporter les services supportés par baselayout mais aussi par l’init des BSD, ce qui permet une migration douce et simple. Il permet aussi le lancement parallèle des services, augmentant la vitesse du démarrage.
OpenRC est stabilisé depuis le 08/05/2011.
Page officielle d’OpenRC : http://www.gentoo.org/proj/en/base/openrc/
Installation
Assurez-vous d’avoir votre arbre portage à jour :
emerge --sync
Et que les paquets soient bien à jour :
# emerge -avuDN @world
Lancez bien etc-update ou dispatch-conf selon votre choix, pour remplacer les nouveaux fichiers de configuration de openrc et les services.
Configuration
Vérifiez certains de vos fichiers de configuration:
/etc/rc.conf
Le fichier /etc/rc.conf est le fichier de configuration d’OpenRC. Vous devez y spécifier le type de sous-système :
# "" - nothing special
# "lxc" - Linux Containers
# "openvz" - Linux OpenVZ
# "prefix" - Prefix
# "uml" - Usermode Linux
# "vserver" - Linux vserver
# "xen0" - Xen0 Domain
# "xenU" - XenU Domain
rc_sys=""
/etc/hostname
Le fichier /etc/hostname pour le nom du système:
gentoo1
/etc/hosts
Le fichier /etc/hosts pour, en partie, le nom complet du système:
127.0.0.1 localhost
192.168.0.1 gentoo1.gentoofr.org gentoo1
/etc/conf.d/keymaps
Le fichier /etc/conf.d/keymaps pour la configuration du clavier:
keymap="fr"
/etc/conf.d/hwclock
Le fichier /etc/conf.d/hwclock le remplaçant du fichier /etc/conf.d/clock:
clock="local"
/etc/conf.d/modules
Attention, à la fin de l’installation, emerge vous dit que le fichier /etc/modules.autoload.d/kernel-2.6 est obsolete. OpenRC utilise un nouveau fichier pour la liste des modules à charger au démarrage : /etc/conf.d/modules. La syntaxe du fichier change : elle devient plus cohérente, dans le sens où on peut lister les modules à charger pour tel ou tel noyau. Par exemple :
modules_2_6_24_gentoo_r3="applesmc nvidia tun"
# et pour passer un argument à un module
modules_nvidia_args-2_6_24_gentoo_r3=""
Sinon, vous pouvez aussi les mettre dans la variable modules, mais ils seront chargés pour n’importe quel noyau:
modules="applesmc nvidia tun"
/etc/conf.d/net
Concernant la configuration réseau, il vous faudra modifier le ficher /etc/conf.d/net comme ce qui suit, car les arrays bash sont abandonnés.
Pour une configuration par DHCP:
config_eth0="dhcp"
Pour une configuration fixe (avec iproute2 dans l’exemple):
modules="iproute2"
config_eth0="192.168.0.2/24"
routes_eth0="default via 192.168.0.254"
Pour les utilisateurs de x11-apps/xinit, vous définirez la variable XSESSION dans le fichier /etc/env.d/99xsession.
/etc/env.d/99editor
Ne pas oublier de définir les variables PAGER et EDITOR qui ne se trouvent plus dans le fichier /etc/rc.conf. Elles sont définies par défaut par le fichier /etc/profile, mais vous pouvez les définir par utilisateur dans un .bashrc ou un .zshrc, sinon globalement en créant le fichier /etc/env.d/99editor:
PAGER="/usr/bin/less"
EDITOR="/usr/bin/vim"
/etc/local.d
Depuis la version 0.8, le fichier /etc/conf.d/local est obsolète et est remplacé par des fichiers ou scripts exécutables comportant l’extension .start ou .stop dans le répertoire /etc/local.d.
Options
LVM
SI vous utilisez des volumes logiques LVM, alors activez les services device-mapper et lvm au niveau boot d’exécution au démarrage :
rc-update add device-mapper boot
rc-update add lvm boot
Reiser4
Pour les utilisateurs de reiser4, pensez à modifier le fichier /etc/conf.d/fsck pour passer le bon argument à reiser4fsck:
fsck_args="-a"
Rebootez et appréciez…
Liens
La documentation officielle sur la migration vers OpenRC : http://www.gentoo.org/doc/fr/openrc-migration.xml