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/conf.d/hostname

Le fichier /etc/conf.d/hostname pour le nom du système:

hostname="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/timezone

La variable TIMEZONE qui n’est plus présente dans le fichier /etc/rc.conf, créez le fichier /etc/timezone:

Europe/Paris

/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