
のSystemd
ように使用して、ArchLinux の起動時にコマンドを実行するにはどうすればよいですか?rc.local
Sysv
答え1
コマンドによって異なります。最も一般的なケースでは、しないコマンドが必要です。
sysctl(のファイル
/proc/sys
)を調整したい場合は、以下で設定できます。/etc/sysctl.d/*.conf
(一般的99-sysctl.conf
にまたは99-local.conf
;マニュアルページ):kernel.sysrq = 1 kernel.pid_max = 4194304
の下にあるモジュールパラメータの場合
/sys/modules
、モジュールが最初にロードされたときに設定する必要があります。/etc/modprobe.d/*.conf
(一般的にはmodprobe.conf
、マニュアルページを参照してください):options kafs rootcell=stacken.kth.se
のデバイスパラメータに書き込みたい場合
/sys
、またはデバイスの設定を変更するプログラムを実行したい場合は、ユーデブデバイスが接続され、それを置いたときにこれを実行するルール/etc/udev/rules.d/*.rules
マニュアルページは でudev(7)
、udevadm info
適切なデバイスを一致させようとするときに役立ちます。ACTION=="add", SUBSYSTEM=="net", KERNEL=="eth*", \ RUN+="/usr/bin/ethtool -s %k wol d" # This rule checks if a device has an attribute in its /sys subdir: ACTION=="add", \ SUBSYSTEM=="scsi_host", \ TEST=="link_power_management_policy", \ ATTR{link_power_management_policy}="medium_power"
他の場所にファイルを書き込む場合、またはファイルやディレクトリを作成する場合は、
/etc/tmpfiles.d
(マニュアルページ)。あなたがしたい場合は負荷モジュールの場合は、その名前をファイルに記入します
/etc/modules-load.d/*.conf
(マニュアルページ)。最後に、一般的なコマンドを実行したりデーモンを起動したい場合は、
.service
ユニットファイル(多くのマニュアルページのうちの1つ)。 中に入れて/etc/systemd/system/*.service
、の多くの例を使用します/lib/systemd/system
。これは を通じて管理されますsystemctl
。注意すべき点がいくつかあります。
Type=
パラメータは正しく設定する必要があり (simple
とforking
とoneshot
)、ExecStart=
パラメータには単純なコマンド ラインが必要であり、シェルのような構文は受け入れません (>
、&&
、$(...)
などは受け入れず、単純な と のみ$ENVVAR
受け入れます%x
)。特定のデバイスが表示された後、(例)を使用してサービスを注文することが可能です。
After=name.device
After=sys-subsystem-net-devices-%i.device
両方# アーチリナックスそして#システムIRCチャンネルはフリーノード通信網。