Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
OpenRCのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
OpenRC
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:Init]] [[en:OpenRC]] [[ru:OpenRC]] {{Related articles start}} {{Related|eudev}} {{Related|init}} {{Related|init 比較表}} {{Related|SysVinit}} {{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}} に置き換えてください。 == 設定 == 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 の移行] * [http://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 | システムログ |} [https://wiki.gentoo.org/wiki/Systemd#Native_services 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>}} network サービスはデフォルトで起動時のランレベルに追加されるため、これ以外の設定は必要ありません。 また、[[NetworkManager]] や [[dhcpcd]]、さらに {{AUR|netcfg}} などを使うことも可能です。それぞれのサービスを有効にしてください。 一般的な、ネットワークの設定の詳細においては[[ネットワーク設定]]を見て下さい。 === ログ === ====syslog-ng==== syslog-ng を使う場合、{{ic|/etc/syslog-ng/syslog-ng.conf}} 内の次の行をコメントアウトしてください: {{bc|unix-dgram("/run/systemd/journal/syslog")}} そして、代わりに次の行を追加してください: {{bc|unix-dgram("/dev/log");}} {{Note|この変更を行わないと syslog-ng が起動しないため何もログが残りません。}} ====起動時のログ==== OpenRC の起動時のログはデフォルトで無効になっています。有効にするには、{{ic|/etc/openrc/rc.conf}} 内の次の行をアンコメントしてください: {{bc|<nowiki>#rc_logger="YES"</nowiki>}} === ホストネーム === 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}} で読み込まれます。 ロケールの設定に関する詳細は、[[ロケール]]を参照してください。 == ヒントとテクニック == === ブートメッセージを消す === 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 === root 以外のユーザーで X サーバーが起動しない === Xorg のバージョン 1.16 から、X は systemd-login を使用して rootless で起動するようになっています。init システムとして OpenRC を使っている場合は {{ic|startx}} が機能しなくなります。 以下の内容で {{ic|/etc/X11/Xwrapper.config}} ファイルを作成することでこの問題は解決します: # Xorg.wraper configuration file needs_root_rights = yes === 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}} ファイルを作成することで設定を上書きできます。 == OpenRC でデスクトップ環境を使う == ''OpenRC'' で[[デスクトップ環境]]を使う場合、ConsoleKit が役に立ちます。[https://gist.github.com/ad73f9087f39d7cadd8e サービス] を {{ic|/etc/openrc/init.d}} にインストールして、有効化してください: # rc-update add consolekit default 詳しくは [[ConsoleKit]] を参照。 OpenRC 0.28 から SysVinit は openrc-init に置き換えられ、shutdown は openrc-shutdown に置き換えられています。consolekit を使用している場合、デスクトップセッションからシャットダウンした際にシステムがフリーズする可能性があります。{{AUR|elogind-openrc}}{{Broken package link|パッケージが存在しません}} を代わりに使うようにしてください。以下のコマンドで有効化できます: # rc-update add elogind default また、polkit-consolekit は {{AUR|polkit-elogind}} に置き換える必要があります。置き換えないと USB デバイスをマウントした際にシステムから "not authorized to perform operation" という警告が表示され、デスクトップセッションから再起動やシャットダウンができなくなります。 == systemd との比較 == {| class="wikitable" ! systemd !! OpenRC !! 説明 |- | {{ic|systemctl list-units}} || {{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-service daemon (start, stop, restart, status)}} || ユニット・サービスをすぐに起動・停止・再起動・状態を表示 |- | {{ic|systemctl (enable, disable) daemon.service}} || {{ic|rc-update (add, del) daemon}} || サービス・ユニットを追加もしくは削除 |} この表は [http://blog.dastergon.gr/demystifying-systemd/ この投稿] からの引用です。 == init を systemd に戻す == 大抵の場合 systemd に戻すのは簡単です。OpenRC から systemd に移行する際は、以下の点に注意してください: * カーネルコマンドラインの {{ic|1=init=}} パラメータの編集。 * OpenRC 向けに改造された、systemd を使用しないパッケージを標準のパッケージに置き換え (例: {{AUR|dbus-nosystemd}} を {{pkg|dbus}} に置換)。 == 外部リンク == * [[Wikipedia:OpenRC]] * [https://bbs.archlinux.org/viewtopic.php?id=152606 Arch 上の OpenRC に関するフォーラムスレッド] * [http://blog.notfoss.com/posts/openrc-on-arch-linux/ Blog: OpenRC on Arch Linux]
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Bc
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
OpenRC
に戻る。
検索
検索
OpenRCのソースを表示
話題を追加