「Eudev」の版間の差分
細 |
(同期) |
||
10行目: | 10行目: | ||
== インストール == |
== インストール == |
||
− | [[Arch User Repository]] から {{AUR|eudev}} をインストールしてください。また、{{AUR|eudev-git}} を使うこともできます。 |
+ | [[Arch User Repository]] から {{AUR|eudev}} をインストールしてください。また、開発版の {{AUR|eudev-git}} を使うこともできます。 |
+ | このパッケージは {{Pkg|libsystemd}} を削除します。欠けているライブラリは {{AUR|libsystemd-standalone}} からインストールできます。systemd の依存関係を満たすために {{AUR|systemd-dummy}} もインストールすると良いでしょう。 |
||
− | {{Note|衝突のために AUR から eudev パッケージを直接インストールすることができない場合があります。衝突を迂回するには、{{AUR|eudev}} をビルドしてから[[Pacman ヒント#カスタムローカルリポジトリ|ローカルリポジトリ]]に追加して、{{ic|makepkg -di}} を使って AUR から {{AUR|eudev-systemdcompat}} をビルド・インストールします ('''-d''' はビルド時の依存関係を無視します)。そのときに eudev が依存パッケージとして一緒にインストールされます。}} |
||
− | |||
− | === libsystemd === |
||
− | |||
− | このパッケージは {{Pkg|libsystemd}} も置き換えるので削除してしまいます。足りないライブラリは以下のパッケージから取得することができます: |
||
− | * {{AUR|libsystemd-standalone}} — 個々のパッケージに分割されたライブラリのパッケージグループ。 |
||
− | * {{AUR|eudev-systemdcompat}} — 公式の libsystemd パッケージの必要部分だけを取り出して足りないライブラリをインストールするパッケージ。 |
||
− | |||
− | また、systemd の依存関係を補充するために {{AUR|systemd-dummy}} もインストールすると良いでしょう。 |
||
さらに、libsystemd にリンクしているパッケージは [[ABS]] を使ってリビルドするか、[[AUR]] から {{ic|nosystemd}} が付くパッケージをインストールします。 |
さらに、libsystemd にリンクしているパッケージは [[ABS]] を使ってリビルドするか、[[AUR]] から {{ic|nosystemd}} が付くパッケージをインストールします。 |
||
28行目: | 20行目: | ||
''systemd'' パッケージには init システムと systemd-udev 以外にも複数のコンポーネントが含まれています: |
''systemd'' パッケージには init システムと systemd-udev 以外にも複数のコンポーネントが含まれています: |
||
− | * [[Xorg]] などのソフトウェアから[[Wikipedia:ja:動的リンク|リンク]]されている systemd ライブラリ。[[# |
+ | * [[Xorg]] などのソフトウェアから[[Wikipedia:ja:動的リンク|リンク]]されている systemd ライブラリ。[[#インストール]]を見て下さい。 |
* システムの起動時に一時ファイルを作成する ''systemd-tmpfiles''。[https://github.com/OpenRC/openrc/blob/master/sh/tmpfiles.sh.in tmpfiles.sh] など、rc スクリプトで再実装することは可能です。 |
* システムの起動時に一時ファイルを作成する ''systemd-tmpfiles''。[https://github.com/OpenRC/openrc/blob/master/sh/tmpfiles.sh.in tmpfiles.sh] など、rc スクリプトで再実装することは可能です。 |
||
* [[pacman]] の {{ic|.install}} ファイルでシステムのユーザーやグループを設定するための ''systemd-sysusers''。 |
* [[pacman]] の {{ic|.install}} ファイルでシステムのユーザーやグループを設定するための ''systemd-sysusers''。 |
||
+ | |||
+ | == トラブルシューティング == |
||
+ | |||
+ | === 再起動できない === |
||
新しい init で起動しないで systemd を削除した場合、通常の方法では再起動できなくなります。[[Wikipedia:ja:マジックSysRqキー|SysRq キー]]を有効にしてください: |
新しい init で起動しないで systemd を削除した場合、通常の方法では再起動できなくなります。[[Wikipedia:ja:マジックSysRqキー|SysRq キー]]を有効にしてください: |
||
39行目: | 35行目: | ||
# sync; mount -f /home -o remount,ro ; sync; mount -f / -o remount,ro |
# sync; mount -f /home -o remount,ro ; sync; mount -f / -o remount,ro |
||
# echo b >| /proc/sysrq-trigger |
# echo b >| /proc/sysrq-trigger |
||
− | |||
− | == トラブルシューティング == |
||
=== 起動しない === |
=== 起動しない === |
||
− | eudev の init スクリプトを確認して (udev にエイリアスされています、例えば OpenRC でセットアップした場合 {{ic|/etc/openrc/init.d/udev}} になります) コマンドが {{ic|/usr/bin/ |
+ | eudev の init スクリプトを確認して (udev にエイリアスされています、例えば OpenRC でセットアップした場合 {{ic|/etc/openrc/init.d/udev}} になります) コマンドが {{ic|/usr/bin/udevd}} になってることを確認してください。 |
=== netctl === |
=== netctl === |
2016年8月30日 (火) 00:00時点における版
eudev
は Gentoo プロジェクトによって開始された udev のフォークであり、systemd や SysVinit など、特定のシステム初期化から独立することを目標にしています。基本的に OpenRC と一緒に使うことを念頭に置いて作られていますが、runit や SysVinit など他の 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-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
を読み込みます。