![`fortune > /etc/motd` を systemd/tmpfiles.d で複製するにはどうすればよいですか?](https://rvso.com/image/1326429/%60fortune%20%3E%20%2Fetc%2Fmotd%60%20%E3%82%92%20systemd%2Ftmpfiles.d%20%E3%81%A7%E8%A4%87%E8%A3%BD%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
で説明されているアクションタイプのいずれもtmpfiles.d(5)一時ファイルの作成の一環としてコマンドを実行できるようです。たとえばアクション 'w' を使用してファイルに引数を書き込むことは可能ですが、実行することはできませんfortune > /etc/motd
。
Arch Linux で tmp ファイルを生成するための推奨方法は tmpfiles.d なので、systemd/rc.local ハックに頼らずにそれを実行する方法があると思います。
答え1
通常の.service
ユニットを作成し、起動時に実行するようにします。
[Service]
Type=oneshot
ExecStart=/bin/sh -c "fortune > /etc/motd"
特別な方法はありません。設定ファイルに動的な内容を書き込むことは、tmpfiles.d。