h-yuusuke 2022年3月8日 15時41分 お世話になっております。 掲題の件に関しまして、Armadilloの起動時にBaseOS上でスクリプトファイルを自動実行させたいと考えております。 BaseOS上でスクリプトファイルを自動実行させる場合、どのファイルを編集すればよいでしょうか? コメントを投稿するにはログインまたは登録をしてください コメント at_dominique.m… 2022年3月8日 16時45分 h-yuusukeさん、 > 掲題の件に関しまして、Armadilloの起動時にBaseOS上でスクリプトファイルを自動実行させたいと考えております。 > BaseOS上でスクリプトファイルを自動実行させる場合、どのファイルを編集すればよいでしょうか? 大きく別けて三つのやり方があります: - localのサービスを有効にして、/etc/local.d にファイルをスクリプトを入るか (xxx.start / xxx.stopの名前でなければなりません) armadillo:~# rc-update add local * service local added to runlevel default armadillo:~# printf "%s\n" "#!/bin/sh" "" "date > /tmp/boottest" > /etc/local.d/date_test.start armadillo:~# chmod +x /etc/local.d/date_test.start armadillo:~# persist_file -v /etc/runlevels/default/local /etc/local.d/date_test.start '/etc/runlevels/default/local' -> '/mnt/etc/runlevels/default/local' '/etc/local.d/date_test.start' -> '/mnt/etc/local.d/date_test.start' armadillo:~# reboot ... armadillo:~# cat /tmp/boottest Tue Mar 8 16:35:36 JST 2022 この場合はすでに/etc/swupdate_preserve_filesのデフォルトで保存するので、これだけでいいです。 - 自分のサービスを追加するか armadillo:~# cat /etc/init.d/myservice #!/sbin/openrc-run name="my service" start() { command command } armadillo:~# chmod +x /etc/init.d/myservice armadillo:~# rc-update add myservice * service myservice added to runlevel default armadillo:~# persist_file -vP /etc/init.d/myservice /etc/runlevels/default/myservice '/etc/init.d/myservice' -> '/mnt/etc/init.d/myservice' Added "POST /etc/init.d/myservice" to /etc/swupdate_preserve_files '/etc/runlevels/default/myservice' -> '/mnt/etc/runlevels/default/myservice' Added "POST /etc/runlevels/default/myservice" to /etc/swupdate_preserve_files (persist_file -P のオプションは12月のアップデートに搭載されたオプションで、なければ手動でswupdate_preserve_filesに追加する必要があります。swuでファイルを送る場合も同じです。) - コンテナに必要な制限を設定してコンテナで実行するか。 これは普通の /etc/atmark/containers/*.conf で行うので特に説明は不要だと思いますが、他のコンテナの管理や共有するマウンドも可能ですので、相談していただけたら不可能がないと思います。 のどれかの方法を使ってください。 よろしくお願いします。 コメントを投稿するにはログインまたは登録をしてください
at_dominique.m… 2022年3月8日 16時45分 h-yuusukeさん、 > 掲題の件に関しまして、Armadilloの起動時にBaseOS上でスクリプトファイルを自動実行させたいと考えております。 > BaseOS上でスクリプトファイルを自動実行させる場合、どのファイルを編集すればよいでしょうか? 大きく別けて三つのやり方があります: - localのサービスを有効にして、/etc/local.d にファイルをスクリプトを入るか (xxx.start / xxx.stopの名前でなければなりません) armadillo:~# rc-update add local * service local added to runlevel default armadillo:~# printf "%s\n" "#!/bin/sh" "" "date > /tmp/boottest" > /etc/local.d/date_test.start armadillo:~# chmod +x /etc/local.d/date_test.start armadillo:~# persist_file -v /etc/runlevels/default/local /etc/local.d/date_test.start '/etc/runlevels/default/local' -> '/mnt/etc/runlevels/default/local' '/etc/local.d/date_test.start' -> '/mnt/etc/local.d/date_test.start' armadillo:~# reboot ... armadillo:~# cat /tmp/boottest Tue Mar 8 16:35:36 JST 2022 この場合はすでに/etc/swupdate_preserve_filesのデフォルトで保存するので、これだけでいいです。 - 自分のサービスを追加するか armadillo:~# cat /etc/init.d/myservice #!/sbin/openrc-run name="my service" start() { command command } armadillo:~# chmod +x /etc/init.d/myservice armadillo:~# rc-update add myservice * service myservice added to runlevel default armadillo:~# persist_file -vP /etc/init.d/myservice /etc/runlevels/default/myservice '/etc/init.d/myservice' -> '/mnt/etc/init.d/myservice' Added "POST /etc/init.d/myservice" to /etc/swupdate_preserve_files '/etc/runlevels/default/myservice' -> '/mnt/etc/runlevels/default/myservice' Added "POST /etc/runlevels/default/myservice" to /etc/swupdate_preserve_files (persist_file -P のオプションは12月のアップデートに搭載されたオプションで、なければ手動でswupdate_preserve_filesに追加する必要があります。swuでファイルを送る場合も同じです。) - コンテナに必要な制限を設定してコンテナで実行するか。 これは普通の /etc/atmark/containers/*.conf で行うので特に説明は不要だと思いますが、他のコンテナの管理や共有するマウンドも可能ですので、相談していただけたら不可能がないと思います。 のどれかの方法を使ってください。 よろしくお願いします。 コメントを投稿するにはログインまたは登録をしてください
at_dominique.m…
2022年3月8日 16時45分
h-yuusukeさん、
> 掲題の件に関しまして、Armadilloの起動時にBaseOS上でスクリプトファイルを自動実行させたいと考えております。
> BaseOS上でスクリプトファイルを自動実行させる場合、どのファイルを編集すればよいでしょうか?
大きく別けて三つのやり方があります:
- localのサービスを有効にして、/etc/local.d にファイルをスクリプトを入るか (xxx.start / xxx.stopの名前でなければなりません)
この場合はすでに/etc/swupdate_preserve_filesのデフォルトで保存するので、これだけでいいです。
- 自分のサービスを追加するか
(persist_file -P のオプションは12月のアップデートに搭載されたオプションで、なければ手動でswupdate_preserve_filesに追加する必要があります。swuでファイルを送る場合も同じです。)
- コンテナに必要な制限を設定してコンテナで実行するか。
これは普通の /etc/atmark/containers/*.conf で行うので特に説明は不要だと思いますが、他のコンテナの管理や共有するマウンドも可能ですので、相談していただけたら不可能がないと思います。
のどれかの方法を使ってください。
よろしくお願いします。