Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
OpenRCのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
OpenRC
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:Init]] [[en:OpenRC]] [[pt:OpenRC]] [[ru:OpenRC]] [[tr:OpenRC]] {{Related articles start}} {{Related|init}} {{Related articles end}} {{Warning|デフォルトでは Arch は [[systemd]] を使用しています。OpenRC を使う場合、助けを求める時はそのことを明記して下さい。}} OpenRC は Gentoo の開発者によってメンテナンスされている init システムです。OpenRC は依存関係を前提とした init システムで、sysvinit などの init プログラムが動いているシステムで動作します。OpenRC は sysvinit を置き換えるものではありません。 == インストール == OpenRC は [[AUR]] から利用可能です。{{AUR|openrc}} または {{AUR|openrc-git}} パッケージを選んでインストールできます。 バージョン 0.25 から、OpenRC には独自の init が付属しており {{ic|/usr/bin/openrc-init}} にインストールされます。任意で {{Pkg|busybox}} や {{AUR|openrc-sysvinit}} (伝統的な sysvinit に多少のパッチがあてられたバージョン) など他の init を使うこともできます。{{ic|openrc-init}} を使用する場合、他のパッケージの {{ic|shutdown}} や {{ic|reboot}} コマンドの代わりに {{ic|openrc-shutdown}} を使う必要があります。そうしないとエラーが発生します。 基本的なサービスファイルは {{AUR|openrc-arch-services-git}} パッケージでインストールできます。他にもサービスファイルが含まれたパッケージが存在します。AUR を検索してください。 {{AUR|initscripts-fork}} との互換性を保つために、設定ファイルは {{ic|/etc/openrc/}} にインストールされます。 === ブート === OpenRC を使って起動するには使用する init を[[カーネルパラメータ]]に追加してください。 OpenRC に付属している init の場合は {{Ic|1=init=/usr/bin/openrc-init}} を追加します。 {{AUR|openrc-sysvinit}} を使用する場合は {{ic|/usr/bin/init-openrc}} に置き換えてください。 {{ic|openrc-init}} を使用する場合、{{ic|/etc/inittab}} ファイルは使用されないことに注意してください。 == 設定 == OpenRC の設定は {{Ic|1=/etc/openrc/conf.d}} ディレクトリと {{Ic|1=/etc/openrc/rc.d}} ファイルで行います。 設定に関する詳細な資料は以下を参照してください: * [http://www.calculate-linux.org/main/en/openrc_manuals OpenRC の man ページ] * [https://wiki.gentoo.org/wiki/OpenRC/Baselayout_1_to_2_migration/ja OpenRC の移行] * [https://wiki.gentoo.org/wiki/OpenRC gentoo wiki] [[systemd]] から移行する場合は [[Init#設定]]を参照。 === サービス === OpenRC のサービスは root で {{ic|rc-update add ''service_name'' ''runlevel''}} を実行することで有効にできます。最低でも以下のサービスを有効化することが推奨されます: {| class="wikitable" ! サービス名 ! [https://wiki.gentoo.org/wiki/OpenRC#Named_runlevels ランレベル] ! 説明 |- | udev | sysinit | デバイスのホットプラグ |- | alsa | default | [[ALSA]] の状態 |- | acpid | default | ACPI イベント |- | dbus | default | メッセージバス |- | dcron | default | スケジュール |- | syslog-ng | default | システムログ |} {{Warning|カーネルパラメータで {{ic|1=init=/usr/bin/openrc-init}} を使用する場合は、[[getty]] サービスを手動で有効にする必要があります。そうしないと、[https://github.com/OpenRC/openrc/blob/master/agetty-guide.md ドキュメント]で説明されているように対話型 TTY が残されなくなります。}} 必要に応じて、{{ic|/etc/openrc/init.d/getty}} へのシンボリックリンクを作成して、必要な [[getty]] ごとにサービスを作成します。例: {{ic|/dev/tty1}}: # ln -s /etc/openrc/init.d/agetty{,.tty1} # rc-update add agetty.tty1 default PAM が tty にログインした後に systemd に登録しようとするのを防ぐため ([https://bbs.archlinux.org/viewtopic.php?id=285505 が問題を引き起こす可能性があります])、{{ic|/etc/pam.d/system-auth}} 内の systemd に言及する行を削除するかコメントアウトすると安全です。 [[Gentoo:Systemd#Native services]] も参照してください。 === ネットワーク === ネットワークを立ち上げて動かす方法は複数存在します。一つは {{ic|/etc/openrc/conf.d/network}} ファイルを設定することです。{{ic|ip}} ({{Pkg|iproute2}}) と {{ic|ifconfig}} ({{Pkg|net-tools}}) 両方のコマンドがサポートされています。 以下は {{ic|ip}} を使った設定の例です。 {{bc| <nowiki>ip_eth0="192.168.1.2/24" defaultiproute="via 192.168.1.1" ifup_eth0="ip link set \$int mtu 1500"</nowiki>}} ネットワーク サービスはデフォルトでブートランレベルに追加されるため、それ以上の操作は必要ありません。一般的な、ネットワークの設定の詳細においては[[ネットワーク設定]]を見て下さい。 {{Note|1=それぞれのサービスを有効にすることで、[[NetworkManager]]、[[dhcpcd]]、または {{AUR|netcfg}} を使用することもできます。''netcfg'' は [[netctl]] の動作を模倣します (起動時にプロファイル接続を有効にしたい場合は、[https://bbs.archlinux.org/viewtopic.php?pid=1489283#p1489283] を参照してください {{ic|wpa_actiond}} が必要です) [https://archlinux.org/netcfg/features.html netcfg の機能 ]を参照してください。}} === ブートログ === ブートログを有効にするには、{{ic|/etc/openrc/rc.conf}} の {{ic|1=rc_logger="YES"}} 行のコメントを解除します。有効にすると、ブートログは {{ic|/var/log/rc.log}} に保存されます。 === ホストネーム === OpenRC は {{ic|/etc/openrc/conf.d/hostname}} からホストネームを設定します。 以下は設定ファイルの例: {{hc|/etc/openrc/conf.d/hostname| <nowiki>hostname="myhostname"</nowiki> }} === モジュールの自動ロード === OpenRC は {{ic|/etc/modules-load.d/}} フォルダを使用せず、そのかわりに {{ic|/etc/openrc/conf.d/modules}} を使います。 このファイルに以下のように行を追加してください: {{bc|<nowiki>modules=acpi_cpufreq</nowiki>}} === ロケール === OpenRC でロケールを設定する方法が備わっていません。しかしながら、{{ic|/etc/locale.conf}} ファイルを使って設定することが可能です。このファイルは {{ic|/etc/profile.d/locale.sh}} で読み込まれます。 ロケールの設定に関する詳細は、[[ロケール]]を参照してください。 == 使用方法 == このセクションでは、[[systemd]] と他の [[init]] システムとの類似点を示します。 特に [[カーネルパラメータ]] を一時的に編集する場合は、{{ic|.service}} および {{ic|.target}} 拡張子を省略できます。 {| class="wikitable" width="100%" ! systemd !! SysVinit !! OpenRC !! 説明 |- | {{ic|systemctl list-units}} || {{ic|rc.d list}} || {{ic|rc-status}} || 実行中のサービスのステータスを一覧表示する |- | {{ic|systemctl --failed}} || || {{ic|rc-status --crashed}} || 失敗したサービスを確認する |- | {{ic|systemctl --all}} || || {{ic|rc-update -v show}} || 利用可能なサービスをすべて表示します |- | {{ic|systemctl (start, stop, restart, status) daemon.service}} || {{ic|rc.d (start, stop, restart) daemon}} || {{ic|rc-service daemon (start, stop, restart, status)}} || サービス状態の変更 |- | {{ic|systemctl (enable, disable) daemon.service}} || {{ic|chkconfig daemon (on, off)}} || {{ic|rc-update (add, del) daemon}} || サービスをオンまたはオフにします |- | {{ic|systemctl daemon-reload}} || {{ic|chkconfig daemon --add}} || || 設定を作成または変更します |} == ヒントとテクニック == === ブートメッセージを消す === OpenRC でブートメッセージを非表示にするには、{{ic|/etc/inittab}} を編集して全ての openrc コマンドに {{ic|--quiet}} を追加してください。詳しい情報は {{ic|$ openrc -h}} で確認できます。 == トラブルシューティング == === /tmp のアンマウント時にエラーが起こる === システムをシャットダウンするときに、以下のようなエラーメッセージが表示されることがあります: {{bc|* Unmounting /tmp ... * in use but fuser finds nothing [ !! ]}} この問題は {{ic|/etc/openrc/conf.d/localmount}} に以下を追加することで修正できます: no_umounts="/tmp" {{Note|この問題は tmp が tmpfs でマウントされている場合のみ発生します。}} === IPv6 が無効にできない === OpenRC は {{Ic|/etc/openrc}} の sysconf ディレクトリにインストールした場合に起こります。 {{Ic|/etc/openrc/sysctl.d}} 下のファイル (拡張子は .conf にしてください) に以下を記述することで修正できます: # Disable ipv6 net.ipv6.conf.all.disable_ipv6 = 1 === シャットダウン中に読み込み専用での root の再マウントが失敗する === この問題が発生する場合、{{ic|/etc/openrc/init.d/mount-ro}} を編集して以下を: telinit u 次の行の後に記述してください: # Flush all pending disk writes now sync; sync === /etc/sysctl.conf not found === デフォルトで、sysctl の設定をロードするために {{ic|sysctl --system}} が実行されます [https://github.com/OpenRC/openrc/blob/master/init.d/sysctl.Linux.in#L17]。Arch では存在しない {{ic|/etc/sysctl.conf}} も読み込まれます [https://www.archlinux.jp/news/deprecation-of-etcsysctlconf/]。 ファイルが見つからないというエラーを表示させたくない場合、ファイルを作成してください: # touch /etc/sysctl.conf === opentmpfiles-setup failed to start === OpenRC の起動時に以下のようなメッセージが表示される場合: * Setting up tmpfiles.d entries ... chattr: Operation not supported while setting flags on /var/log/journal chattr: No such file or directory while trying to stat /var/log/journal/%m chattr: Operation not supported while setting flags on /var/log/journal/remote [ !! ] ERROR: opentmpfiles-setup failed to start {{ic|/usr/lib/tmpfiles.d/journal-nocow.conf}} で btrfs ファイルシステム上にジャーナルがある場合にしか使えないオプションが有効になっていることが原因です。詳しくは https://github.com/OpenRC/opentmpfiles/issues/2 を参照してください。 空の {{ic|/etc/tmpfiles.d/journal-nocow.conf}} ファイルを作成することで設定を上書きできます。 == systemd に戻す == 大抵の場合 systemd に戻すのは簡単です。OpenRC から systemd に移行する際は、以下の点に注意してください: * カーネルコマンドラインの {{ic|1=init=}} パラメータの編集。 * OpenRC 向けに改造された、systemd を使用しないパッケージを標準のパッケージに置き換え (例: {{AUR|dbus-nosystemd}} を {{pkg|dbus}} に置換) == 参照 == * [[Wikipedia:OpenRC]] * [https://wiki.gentoo.org/wiki/OpenRC Gentoo wiki] * [https://bbs.archlinux.org/viewtopic.php?id=152606 Arch 上の OpenRC に関するフォーラムスレッド] * [http://blog.notfoss.com/posts/openrc-on-arch-linux/ Blog: OpenRC on Arch Linux] * [https://wiki.manjaro.org/index.php?title=OpenRC,_an_alternative_to_systemd Manjaro wiki]
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Bc
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
OpenRC
に戻る。
検索
検索
OpenRCのソースを表示
話題を追加