web-dev-qa-db-ja.com

Sudo apt-get updateが自動的に行われないのはなぜですか?

最近、Sudo apt-get updateがパッケージのリストを最新バージョンにのみ更新し、Sudo apt-get upgradeを実行するまで実際にソフトウェアをインストールまたは更新しないことを知りました。

apt-get updateが自動的なものではない理由はありますか? Sudo apt-get updateを何らかの方法で自動起動スクリプトの一部として含めると、本当に必要なもの(アップグレード)を実行する前に手動で行う必要がなくなりますか?

4
DoubleBass

技術的に言えば、apt-get updateのGUIバージョンはすでに自動的にそれを行います-それらはすでにデスクトップユーザーのニーズに応えています。コマンドラインツールは、技術的なタイプのユーザーであり、通常はadminであり、何をしているのかを知っています。

ただし、スクリプトを作成して、時々ログを確認することを妨げるものはありません。たとえば、簡単なスケッチを次に示します。

#!/bin/bash

main()
{
  local DATE=$(date +%Y_%m_%d_%H_%M)
  local LOGFILE=AUTO_UPDATE_$DATE
  local DIR="/home/localuser/logs" # where to store logs

  apt-get update &> "$DIR"/"$LOGFILE"
}

main

そして、それをスクリプトとして使用して シャットダウンまたはリブート/etc/rc6.dディレクトリスクリプトを使用するか、代わりに-cronjobを実行して、特定の時刻にこのスクリプトをスケジュールします。ただし、ログの確認はあなたの責任であることを忘れないでください。

将来的にはsnappyが登場します-トランザクション更新用の新しいシステムは現在非常に若い段階にあり、おそらく16.04に到達するはずです。私の経験は多少限られていますが、Raspberry Piでは自動的に更新され、新しいバージョンのパッケージが利用可能になると自動的に再起動します。

追加

Muruの提案に従って、 nattended-upgrades を使用して更新を自動化することもできます。おそらく、私のソリューションよりも冗長な方法です。

4

アップグレードされるものや、インストール可能な新しいパッケージを確認したい場合があります。一部のパッケージをアップグレードすると問題が発生する可能性があるため、サーバーを管理している場合、これは特に重要です。気にしないデスクトップユーザーの場合、グラフィカルソフトウェアアップデーターはいずれにせよこれをすべて隠します。

1
msdin