Eudev

提供: ArchWiki
移動先: 案内検索

関連記事

警告: udev を置き換えるために、このパッケージは systemd を削除します。そのため、eudev をインストールする前に OpenRC, runit, SysVinit など他の init システムをインストールして、その init システムで問題なく起動できるようにしておく必要があります。

eudev は Gentoo プロジェクトによって開始された udev のフォークであり、systemdSysVinit など、特定のシステム初期化から独立することを目標にしています。基本的に OpenRC と一緒に使うことを念頭に置いて作られていますが、runitSysVinit など他の init システムで使うことも可能です。

インストール

Arch User Repository から eudevAUR をインストールしてください。また、開発版の eudev-gitAUR を使うこともできます。

このパッケージは libsystemd を削除します。欠けているライブラリは libsystemd-standaloneAUR[リンク切れ: パッケージが存在しません] からインストールできます。systemd の依存関係を満たすために systemd-dummyAUR[リンク切れ: パッケージが存在しません] もインストールすると良いでしょう。

さらに、libsystemd にリンクしているパッケージは ABS を使ってリビルドするか、AUR から nosystemd が付くパッケージをインストールします。

systemd パッケージの置き換え

systemd パッケージには init システムと systemd-udev 以外にも複数のコンポーネントが含まれています:

  • Xorg などのソフトウェアからリンクされている systemd ライブラリ。#インストールを見て下さい。
  • システムの起動時に一時ファイルを作成する systemd-tmpfilestmpfiles.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 以前の形式に戻ります: 例えば wlp1s0wlan0 に名前が変わります。ネットワーク設定を適切に設定しなおして下さい。

sysctl

systemd を削除すると /etc/sysctl.d/ のファイルは消えてしまいます。OpenRC は /etc/sysctl.conf を読み込みます。

参照