OpenRC (Français)

From ParabolaWiki
Jump to: navigation, search


Warning: Le contenu ci-dessous n'a pas encore été approuvé et est toujours en phase de test, néanmoins vous n'êtes pas censé casser votre distribution si vous suivez attentivement les instructions.

OpenRC est un gestionnaire de services (rc) maintenu par l'équipe de développement de Gentoo. OpenRC fonctionne par dépendances et a comme programme d'initialisation sysvinit. Ce n'est pas un remplacement pour sysvinit.

1 Quelques notes

Un programme qui demande un daemon est normalement fourni avec le init de systemd. Puisque OpenRC n'est pas encore totalement supporté, il faut ajouter "-openrc" pour avoir le daemon. Par exemple, pour openvpn, il faut aussi installer : openvpn-openrc.

Toute la suite OpenRC est disponible via le dépôt PCR, il est donc requis d'activer ce dépôt afin d'obtenir les paquets.

Lors de la première installation, il est probable que la commande poweroff ne soit plus fonctionnelle. Je cherche encore un moyen de régler ce souci. Après le redémarrage, la commande poweroff fonctionne de nouveau.

Le logiciel netctl fonctionnant de paire avec systemd, il ne sera plus possible de l'utiliser avec OpenRC. Dans cette page, nous insinuerons que vous avez déjà une alternative, dans notre cas : networkmanager.

Si vous utilisez OpenRC, vous devez retirer plymouth. OpenRC ne démarrera pas correctement si vous avez plymouth.

Attention à bien avoir votre utilisateur dans le groupe audio, sinon vous n'aurez pas de son :

usermod -aG audio <votre utilisateur>

Tout comme le groupe audio, assurez-vous que votre utilisateur soit dans le groupe video, sinon vous aurez des lags dans certains jeux (et films):

usermod -aG video <votre utilisateur>

Vous pouvez à tout moment réinstaller systemd comme bon vous semble, toutes les dépendances seront à nouveau remplacées.

2 Installation de base

OpenRC est disponible dans le dépôt PCR. Installez le groupe OpenRC comme suit :

 pacman -S parabola-openrc eudev-base

Des conflits de paquets sont à prévoir :

:: openrc-core and systemd-sysvcompat are in conflict. Remove systemd-sysvcompat? [y/N] y
:: networkmanager-consolekit and networkmanager are in conflict. Remove networkmanager? [y/N] y
:: polkit-consolekit and polkit are in conflict. Remove polkit? [y/N] y
:: eudev and libsystemd are in conflict (libgudev-1.0.so). Remove libsystemd? [y/N] y
:: eudev-systemdcompat and systemd are in conflict. Remove systemd? [y/N] y

Dans ce cas, il vous suffit de faire y et tout sera alors remplacé, systemd ne sera plus requis.

3 Configuration

3.1 Daemons souvent nécessaires

Lorsque vous passez sur OpenRC, il vous est souvent nécessaire d'activer dbus, ou alors lvm2 etc. Voici la marche à suivre pour lvm2-openrc :

sudo rc-update add lvm boot

Pour cryptsetup-openrc :

sudo rc-update add dmcrypt boot

Pour dbus-openrc :

sudo rc-update add dbus default

Pour alsa-utils-openrc :

sudo rc-update add alsasound default

Pour cronie-openrc :

sudo rc-update add cronie default

À chaque installation d'un paquet contenant un démon à lancer, vous aurez de toutes façons ce genre de message :

      ==> rc 'rc-update add ... default'

3.2 Hostname

OpenRC a sa configuration dans /etc/conf.d/, il faut copier le hostname de cette façon :

# cp /etc/hostname /etc/conf.d/hostname

3.3 Réglages pour networkmanager

NetworkManager étant installé via le paquet networkmanager-openrc, il faut l'activer au démarrage de la machine :

sudo rc-update add networkmanager default


Afin de ne pas altérer le nom de la machine lors d'une connexion, décommentez la partie [keyfile] dans le fichier /etc/NetworkManager/NetworkManager.conf comme suit :

# hostname statique
[keyfile]
hostname=**Votre hostname**

3.4 Agencement du clavier

Tout comme le hostname, il faut régler le keymap dans le fichier /etc/conf.d/keymaps :

keymap="fr-latin9"

Si vous avez une utilisation avancée du keymap, vous pouvez régler les fonctionnalités supplémentaires (détaillées dans les commentaires).

3.5 Lancer X11 sans les droits roots

X11 ayant besoin de logind (et de systemd en premier processus) pour fonctionner sans root (juste startx dans un terminal virtuel), il faut ajouter un paramètre dans Xorg.wrap. [source]

Le fichier à éditer est /etc/X11/Xwrapper.config :

# Fichier de configuration pour Xorg.wrap
needs_root_rights = yes 

3.6 Gestionnaire de connexion graphique

Avec OpenRC, le lancement d'un gestionnaire se lance différemment. Par exemple, avec slim, il vous faut ajouter slim dans le fichier /etc/conf.d/xdm comme suit :

DISPLAYMANAGER="slim"

Activez le daemon pour xdm :

sudo rc-update add xdm default

Néanmoins, quelques DM ne fonctionnent pas avec OpenRC, comme xfce4-session


4 Équivalent entre systemctl et rc-update

4.1 Ajouter ou supprimer un service

Un service peut être ajouté de cette façon :

sudo rc-update add <service>

Et il peut être supprimé de cette façon :

sudo rc-update del <service>

4.2 Services en cours d'exécution

Pour voir les services en cours, arrêtés et autres, cette commande affiche un résumé :

sudo rc-status

4.3 Arrêter ou relancer un service

Pour relancer un service, il faut utiliser rc-service :

sudo rc-service networkmanager restart


5 Problèmes courants

5.1 Sysctl manquant

Vous pouvez rencontrer un problème si /etc/sysctl.conf est manquant. Pour régler cela, il suffit de le créer :

sudo touch /etc/sysctl.conf

5.2 /usr/lib/rc/cache n'existe pas

Si vous avez cette erreur à l'arrêt de la machine :

WARNING: /usr/lib/rc/cache is not writable!

La solution est de créer le dossier :

sudo mkdir /usr/lib/rc/cache

5.3 Le swap n'est pas activé

Systemd montant les partitions swap automatiquement, il vous est nécessaire de l'ajouter à nouveau dans /etc/fstab comme suit :

# /dev/sda2
UUID=0c3e9434-bc5c-461c-a5e4-4e9fe5f9a149	swap	swap	sw	0	0

5.4 tmpfs n'est plus présent

Tout comme le swap, systemd montait automatiquement un tmpfs. Il faut le rajouter manuellement dans /etc/fstab :

tmpfs		/tmp		tmpfs   nodev,nosuid          	0  	0