AmazonLinuxで
systemctl list-unit-files --type=service
とかでサービス一覧を出したときにこんなんが大量に出ることがあります。 ※あまりに数が多くコマンドがハングしたように見えることも・・・。
run-5028.service static run-505.service static run-5072.service static run-508.service static run-5114.service static run-5124.service static run-5166.service static run-5253.service static run-5322.service static run-5345.service static run-5374.service static run-5474.service static
これは update-motd からの yum コマンドでコケたりするとできるようです。
以下のコマンドなどでなんなのかを見れます。
systemctl status run-5474.service
エラーとしては「yum locked retry of update-motd」というもののようです。
まあこの処理が問題のようです。
/etc/update-motd.d/70-available-updates --- if test -s /var/run/yum.pid; then logger -t update-motd "Yum database was locked, so we couldn't get fresh package info." &>/dev/null # An asynchronous retry "loop". It's okay if this fails. systemd-run --description "yum locked retry of update-motd" --on-active=30 --timer-property=AccuracySec=10s --quiet /usr/sbin/update-motd &>/dev/null exit fi ---
なんらかの理由で yum が使えない状態のときにこれでサービスが作られまくるようです。
で、勝手に消えてくれないようですので以下のコマンドで一括で削除可能です。
systemctl stop run-*.timer
これで消えない場合は以下のように手動削除
[確認] find /run/systemd/system -mindepth 1 -maxdepth 1 -mtime +30 -type f -name 'run-*' | xargs -p rm -f find /run/systemd/system -mindepth 1 -maxdepth 1 -mtime +30 -type d -name 'run-*' | xargs -p rm -rf [実行] find /run/systemd/system -mindepth 1 -maxdepth 1 -mtime +30 -type f -name 'run-*' | xargs rm -f find /run/systemd/system -mindepth 1 -maxdepth 1 -mtime +30 -type d -name 'run-*' | xargs rm -rf
この問題を発生させないためにはアップデートをおこなうのが手っ取り早いのですが、 それができない事情がある場合は、
update-motd --disable
で update-motd を無効化するか、
/etc/update-motd.d/70-available-updates
を削除するかになります。
systemctl stop update-motd.service systemctl disable update-motd.service
では効果はありません。