「Eudev」の版間の差分
細 (1版 をインポートしました) |
Kusakata.bot (トーク | 投稿記録) (Pkg/AUR テンプレートの更新) |
||
(2人の利用者による、間の6版が非表示) | |||
1行目: | 1行目: | ||
[[Category:ハードウェア検出とトラブルシューティング]] |
[[Category:ハードウェア検出とトラブルシューティング]] |
||
[[en:Eudev]] |
[[en:Eudev]] |
||
+ | {{Related articles start}} |
||
− | {{ic|eudev}} は Gentoo プロジェクトによって開始された [[udev|udev]] のフォークであり、[[systemd|systemd]] や [[SysVinit|sysvinit]] など、特定のシステム初期化から独立することを目標にしています。基本的に [[OpenRC|OpenRC]] と一緒に使うことを念頭に置いて作られていますが、[[runit]] や [[SysVinit|sysvinit]] など他の init システムで使うことも可能です。 |
||
+ | {{Related|OpenRC}} |
||
+ | {{Related|udev}} |
||
+ | {{Related articles end}} |
||
+ | {{Warning|udev を置き換えるために、このパッケージは [[systemd]] を削除します。そのため、eudev をインストールする前に [[OpenRC]], [[runit]], [[SysVinit]] など他の init システムをインストールして、その init システムで問題なく起動できるようにしておく必要があります。}} |
||
+ | {{ic|eudev}} は Gentoo プロジェクトによって開始された [[udev]] のフォークであり、[[systemd]] や [[SysVinit]] など、特定のシステム初期化から独立することを目標にしています。基本的に [[OpenRC]] と一緒に使うことを念頭に置いて作られていますが、[[runit]] や [[SysVinit]] など他の init システムで使うことも可能です。 |
||
== インストール == |
== インストール == |
||
− | [[ |
+ | [[Arch User Repository]] から {{AUR|eudev}} をインストールしてください。また、開発版の {{AUR|eudev-git}} を使うこともできます。 |
+ | このパッケージは {{Pkg|libsystemd}}{{Broken package link|置換パッケージ: {{Pkg|systemd-libs}}}} を削除します。欠けているライブラリは {{AUR|libsystemd-standalone}}{{Broken package link|パッケージが存在しません}} からインストールできます。systemd の依存関係を満たすために {{AUR|systemd-dummy}}{{Broken package link|パッケージが存在しません}} もインストールすると良いでしょう。 |
||
− | udev を置き換えるために、このパッケージは [[systemd|systemd]] を削除します。そのため、eudev をインストールする前に [[OpenRC|OpenRC]], [[runit]], [[SysVinit|sysvinit]] など他の init システムをインストールして、その init システムで問題なく起動できるようにしておく必要があります。 |
||
+ | |||
+ | さらに、libsystemd にリンクしているパッケージは [[ABS]] を使ってリビルドするか、[[AUR]] から {{ic|nosystemd}} が付くパッケージをインストールします。 |
||
+ | |||
+ | == systemd パッケージの置き換え == |
||
+ | |||
+ | ''systemd'' パッケージには init システムと systemd-udev 以外にも複数のコンポーネントが含まれています: |
||
+ | |||
+ | * [[Xorg]] などのソフトウェアから[[Wikipedia:ja:動的リンク|リンク]]されている systemd ライブラリ。[[#インストール]]を見て下さい。 |
||
+ | * システムの起動時に一時ファイルを作成する ''systemd-tmpfiles''。[https://github.com/OpenRC/openrc/blob/master/sh/tmpfiles.sh.in tmpfiles.sh] など、rc スクリプトで再実装することは可能です。 |
||
+ | * [[pacman]] の {{ic|.install}} ファイルでシステムのユーザーやグループを設定するための ''systemd-sysusers''。 |
||
== トラブルシューティング == |
== トラブルシューティング == |
||
− | === |
+ | === 再起動できない === |
+ | 新しい init で起動しないで systemd を削除した場合、通常の方法では再起動できなくなります。[[Wikipedia:ja:マジックSysRqキー|SysRq キー]]を有効にしてください: |
||
− | *eudev が起動しない |
||
+ | # sysctl kernel.sysrq=1 |
||
− | eudev の init スクリプトを確認して (udev にエイリアスされています、例えば OpenRC でセットアップした場合 /etc/openrc/init.d/udev になります) コマンドが /usr/bin/udev になってることを確認してください。 |
||
+ | そして {{ic|Alt-SysRq-S}}, {{ic|Alt-SysRq-U}}, {{ic|Alt-SysRq-B}} を連続で押して下さい。マウントされているファイルシステムが全て同期され、ディスクを全て読み取り専用で再マウント、システムを再起動します。最後のコマンドが使えない場合、{{ic|Alt-SysRq-O}} を押して電源を切って下さい。システムをリモートから操作している場合、再起動を実行する前にファイルシステムを同期して読み取り専用で再マウントする必要があります (ファイルシステムは適当に編集してください): |
||
− | *D-Bus が起動しない |
||
+ | # sync; mount -f /home -o remount,ro ; sync; mount -f / -o remount,ro |
||
+ | # echo b >| /proc/sysrq-trigger |
||
+ | === 起動しない === |
||
− | AUR パッケージ {{AUR|dbus-nosystemd}} をインストールして D-Bus が起動時に実行されるように init システムで設定してください。 |
||
+ | eudev の init スクリプトを確認して (udev にエイリアスされています、例えば OpenRC でセットアップした場合 {{ic|/etc/openrc/init.d/udev}} になります) コマンドが {{ic|/usr/bin/udevd}} になってることを確認してください。 |
||
− | *netctl が動作しない |
||
+ | |||
+ | === netctl === |
||
netctl は systemd ライブラリに依存しているため互換性がありません、代わりに、AUR の {{AUR|netcfg}} を使って下さい。 |
netctl は systemd ライブラリに依存しているため互換性がありません、代わりに、AUR の {{AUR|netcfg}} を使って下さい。 |
||
− | === |
+ | === デバイスの命名 === |
+ | |||
+ | ネットワークデバイスの名前は systemd 以前の形式に戻ります: 例えば {{ic|wlp1s0}} は {{ic|wlan0}} に名前が変わります。ネットワーク設定を適切に設定しなおして下さい。 |
||
+ | |||
+ | === sysctl === |
||
+ | |||
+ | {{Pkg|systemd}} を削除すると {{ic|/etc/sysctl.d/}} のファイルは消えてしまいます。OpenRC は {{ic|/etc/sysctl.conf}} を読み込みます。 |
||
+ | == 参照 == |
||
− | *NetworkManager が動作しない |
||
+ | * [https://github.com/gentoo/eudev Github: Eudev] |
||
− | AUR に systemd フリーのバージョンが存在します、{{AUR|networkmanager-openrc}} |
2019年2月21日 (木) 23:23時点における版
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
を読み込みます。