Eudev
eudev
は Gentoo プロジェクトによって開始された udev のフォークであり、systemd や SysVinit など、特定のシステム初期化から独立することを目標にしています。基本的に OpenRC と一緒に使うことを念頭に置いて作られていますが、runit や SysVinit など他の init システムで使うことも可能です。
目次
インストール
Arch User Repository から eudevAUR をインストールしてください。また、開発版の eudev-gitAUR を使うこともできます。
このパッケージは libsystemd[リンク切れ: 置換パッケージ: systemd-libs] を削除します。欠けているライブラリは libsystemd-standaloneAUR[リンク切れ: パッケージが存在しません] からインストールできます。systemd の依存関係を満たすために systemd-dummyAUR[リンク切れ: パッケージが存在しません] もインストールすると良いでしょう。
さらに、libsystemd にリンクしているパッケージは ABS を使ってリビルドするか、AUR から nosystemd
が付くパッケージをインストールします。
systemd パッケージの置き換え
systemd パッケージには init システムと systemd-udev 以外にも複数のコンポーネントが含まれています:
- Xorg などのソフトウェアからリンクされている systemd ライブラリ。#インストールを見て下さい。
- システムの起動時に一時ファイルを作成する systemd-tmpfiles。tmpfiles.sh など、rc スクリプトで再実装することは可能です。
- pacman の
.install
ファイルでシステムのユーザーやグループを設定するための systemd-sysusers。
トラブルシューティング
再起動できない
新しい init で起動しないで systemd を削除した場合、通常の方法では再起動できなくなります。SysRq キーを有効にしてください:
# sysctl kernel.sysrq=1
そして Alt-SysRq-S
, Alt-SysRq-U
, Alt-SysRq-B
を連続で押して下さい。マウントされているファイルシステムが全て同期され、ディスクを全て読み取り専用で再マウント、システムを再起動します。最後のコマンドが使えない場合、Alt-SysRq-O
を押して電源を切って下さい。システムをリモートから操作している場合、再起動を実行する前にファイルシステムを同期して読み取り専用で再マウントする必要があります (ファイルシステムは適当に編集してください):
# sync; mount -f /home -o remount,ro ; sync; mount -f / -o remount,ro # echo b >| /proc/sysrq-trigger
起動しない
eudev の init スクリプトを確認して (udev にエイリアスされています、例えば OpenRC でセットアップした場合 /etc/openrc/init.d/udev
になります) コマンドが /usr/bin/udevd
になってることを確認してください。
netctl
netctl は systemd ライブラリに依存しているため互換性がありません、代わりに、AUR の netcfgAUR を使って下さい。
デバイスの命名
ネットワークデバイスの名前は systemd 以前の形式に戻ります: 例えば wlp1s0
は wlan0
に名前が変わります。ネットワーク設定を適切に設定しなおして下さい。
sysctl
systemd を削除すると /etc/sysctl.d/
のファイルは消えてしまいます。OpenRC は /etc/sysctl.conf
を読み込みます。