私は、初心者のユーザーをリモートでサポートしようとしています (teamviewer を使用)。彼女は、アップデート マネージャーが自動的に起動しないという問題を抱えています (今日まで数週間、ソフトウェア アップデート ウィンドウが表示されませんでした)。「ソフトウェアとアップデート」の設定を確認すると、すべて正常に見えます (毎日アップデートをチェックし、セキュリティ アップデートがある場合はすぐに表示します)。
では、update-manager はどのようにして自動的に起動されるのでしょうか? (これを知っていればデバッグを試みることができます) たとえば、私が期待している回答の種類を説明すると次のようになります:
- aptd? どのような構成で、どのようにトリガーされますか?
- init.d スクリプトですか? どれですか?
- upstart? どのジョブファイルですか?
- systemd? どのユニットファイルですか?
- cron? どのcrontabですか?
失敗する理由に関する手がかりがあればボーナスポイントがもらえます!
答え1
メカニズムは次のとおりです。
/etc/cron.daily/apt
毎日実行されますapt-get update
。実際の更新は「雷鳴の群れ」問題を避けるためにランダムな時間に行われます。- 長時間実行されるプロセスは、
update-notifier
GIO (おそらくそれ自体が inotify を使用している) を使用して、インストールする更新されたパッケージがある場合に apt によって変更された特定のファイルを監視します (新しい ubuntu リリースなど、他のものも監視します)。 - 更新がある場合、ユーザーに通知するために
update-notifier
実行されます(そのように構成されている場合)。update-manager
私の場合は Gnome Shell を実行しており、 がgnome-session
実行されているようですupdate-notifier
。おそらく Unity は他の手段でそれを実行するように手配しているのでしょう。