Posted:
| Categories:
cheatsheet
| Tags:
cheatsheet,
systemctl
| オプション | 効果 |
|---|
| systemctl daemon-reload | 設定再読込 |
| systemctl restart daemon-name | デーモン再起動 |
| systemctl status daemon-name -l | ステータス確認 |
| systemctl enable daemon-name | 自動起動するように設定 |
| systemctl disable daemon-name | 自動起動をoff |
| systemctl is-enabled daemon-name | 自動起動か? |
| systemctl list-units –type service | ユニット一覧、サービスのみ |
| systemctl list-dependencies –reverse network-online.target | 影響を受けるユニット一覧 |
| systemctl list-dependencies network-online.target | 依存関係があるユニット一覧 |
| systemctl is-system-running | システムの状態を返す。running, degraded, maintenance など |
| systemctl list-units –state=failed | 失敗しているサービスやユニットをリストアップ |
| systemctl cat daemon-name | 設定ファイルを見る |
| systemctl edit daemon-name | 設定ファイルを編集 |
ログを見る場合はjournalctlで確認する。
Read more...Posted:
| Categories:
systemd
| Tags:
systemctl,
systemd
systemd関連の雑多なメモ
設定ファイルの場所
| /etc/systemd/system/ | ユーザーが作成またはカスタマイズしたユニットファイルが置かれる場所。 |
| /lib/systemd/system/ | システムのデフォルトのユニットファイルが置かれる場所。 |
| /usr/lib/systemd/system/ | いくつかのディストリビューションでは、システムのデフォルトのユニットファイルがここに配置される場合がある。 |
起動シーケンスの確認
systemd-analyze critical-chain unitname
事前の処理を追加したい場合 ExecStartPre=
man systemd.service 日本語訳 #Linux - Qiita
これが参考になった。
ntpdを使わずsystemd-timesyncdを使う
既存のntpdが起動しているとsystemd-timesyncdの設定があってもntpdが優先されるのでアンインストールしたほうが良い。
emerge –unmerge net-misc/ntp
その上で /etc/systemd/timesyncd.conf を参考に設定を行う。
/etc/systemd/timesyncd.confに書いてあるが、
/etc/systemd/配下にtimesyncd.conf.dというディレクトリを作成し配下にファイルをおいたほうが良い。
私は下記のシンプルな内容で設定した。
logrotateがうまく行かない
/var/log/messagesがログローテートされていない。
–forceを付けて実行するとローテートされる。が、rsyslogdが再起動していない。
logrotate --force /etc/logrotate.conf
/etc/logrotate.d/rsyslog は下記の内容だった。
/var/log/auth.log
/var/log/cron.log
/var/log/daemon.log
/var/log/kern.log
/var/log/lpr.log
/var/log/mail.log
/var/log/news.log
/var/log/user.log
/var/log/debug.log
/var/log/messages
{
rotate 4
daily
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
if type -p systemctl 2>&1 1>/dev/null && systemctl is-system-running 2>&1 1>/dev/null ; then
systemctl kill -s HUP rsyslog.service
else
test -r /run/rsyslogd.pid && kill -HUP $(cat /run/rsyslogd.pid) 2>&1 1>/dev/null
fi
endscript
}
postroteteの処理を追う。ifの条件が2つともtrueであればsystemctlで再起動、
falseであれば、/run/rsyslogd.pidにpidの番号がある事を期待し再起動を試みる。
Read more...