Last-modified: 2016-11-07 (月) 19:53:36
apt-get/自動アップデートがしたい

概要

セキュリティFixを自動でアップデートさせます。

手順

  1. cron-aptをインストールします。
    Everything is expanded.Everything is shortened.
      1
    
     
    
    apt-get install cron-apt
  2. /etc/cron-apt/configを編集します。
    Everything is expanded.Everything is shortened.
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
    
    -
    !
    -
    !
    -
    !
     
    -
    !
     
    -
    |
    |
    |
    |
    |
    |
    !
    
    # アップデートに使用するコマンド
    APTCOMMAND=/usr/bin/apt-get
    # /var/log/syslogに出力するログ種別
    SYSLOGON="upgrade"
    # cron-aptで使用するリポジトリ設定ファイル
    OPTIONS="-o quiet=1 -o Dir::Etc::SourceList=/etc/apt/cron-apt.security.sources.list"
     
    # メール送信先
    MAILTO="[email protected]"
     
    # メールで通知する情報のレベル
    # Value: error   (send mail on error runs)
    #        upgrade (when packages are upgraded)
    #        changes (mail when change in output from an action)
    #        output  (send mail when output is generated)
    #        always  (always send mail)
    #                (else never send mail)
    MAILON="upgrade"
  3. /etc/apt/cron-apt.security.sources.listを作成します。
    Everything is expanded.Everything is shortened.
      1
    
     
    
    grep security /etc/apt/sources.list >> /etc/apt/cron-apt.security.sources.list
  4. /etc/apt/security.sources.listを編集します。
    debはバイナリ提供、deb-srcはソース提供。
    今回はソースはいらないのでdeb-srcも削除しました。
    http://www.debian.org/doc/manuals/apt-howto/ch-basico.ja.html
    mainは、Debian公式パッケージ。
    contribは、対象はフリーライセンスですが、依存関係先がフリーではないパッケージ。
    non-freeは、ライセンスが煩わしいものらしいです。
    今回はとりあえず全てを指定しました。
    http://www.debian.org/distrib/packages
    Everything is expanded.Everything is shortened.
      1
    
     
    
    deb http://security.debian.org/ lenny/updates main contrib non-free
  5. 必要ならば/etc/cron-apt/action.d/3-downloadを編集します。
    例えば-dを外すとupgradeも行うようになります。
    Everything is expanded.Everything is shortened.
      1
    
     
    
    dist-upgrade -y -d -o APT::Get::Show-Upgraded=true
  6. /etc/cron.d/cron-aptを編集し、任意の間隔で実行するように設定します。

検証時の環境