Bagaimana cara mendapatkan pemutakhiran otomatis untuk bekerja di Server Ubuntu?

8

Saya mengikuti dokumentasi untuk mengaktifkan pemutakhiran otomatis di server Ubuntu, tetapi tidak benar-benar memperbarui apa pun.

/Etc/apt/apt.conf.d/50unattended-upgrades saya terlihat hampir seperti default.

// Automatically upgrade packages from these (origin, archive) pairs
Unattended-Upgrade::Allowed-Origins {
        "Ubuntu karmic-security";
        "Ubuntu karmic-updates";
};

// List of packages to not update
Unattended-Upgrade::Package-Blacklist {
//      "vim";
//      "libc6";
//      "libc6-dev";
//      "libc6-i686";
};

// Send email to this address for problems or packages upgrades
// If empty or unset then no email is sent, make sure that you
// have a working mail setup on your system. The package 'mailx'
// must be installed or anything that provides /usr/bin/mail.
Unattended-Upgrade::Mail "[email protected]";


// Automatically reboot *WITHOUT CONFIRMATION* if a 
// the file /var/run/reboot-required is found after the upgrade 
//Unattended-Upgrade::Automatic-Reboot "false";

Direktori / var / log / unattended-upgrade / kosong. Menjalankan /etc/init.d/unattended-upgrade mulai tidak terlalu bagus:

root@mozart:~# /etc/init.d/unattended-upgrades start
Checking for running unattended-upgrades: root@mozart:~#

Sepertinya ada yang rusak, tapi saya tidak yakin mengapa.

Saya memiliki pembaruan yang tertunda dan tidak sedang diterapkan:

root@mozart:~# aptitude safe-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Reading extended state information      
Initializing package states... Done
The following packages will be upgraded:
  linux-libc-dev 
1 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/743kB of archives. After unpacking 4096B will be used.
Do you want to continue? [Y/n/?]

Di semua server yang saya miliki, pembaruan tanpa pengawasan tampaknya telah dinonaktifkan:

root@mozart:~# apt-config shell UnattendedUpgradeInterval APT::Periodic::Unattended-Upgrade
root@mozart:~#

Ada ide apa yang saya lewatkan?

pupeno
sumber
libc adalah paket utama. Saya tidak akan membiarkan server memperbarui itu sendiri!
Antoine Benkemoun
Antoine, saya tidak punya masalah dengan itu; selain itu, libc-dev adalah paket devel, mungkin banyak .h dan hal-hal seperti itu. Dan ini hanya apa yang tertunda sekarang, sekarang apa yang akan ditunda, jadi membahas paket khusus ini tidak menambah banyak masalah.
pupeno

Jawaban:

4

Sudahkah Anda memeriksa /etc/apt/apt.conf.d/10 periodic?

seharusnya ada baris terakhir

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "1";
APT::Periodic::Unattended-Upgrade "1";
Tanarri
sumber
5
Pengaturan ini tidak semua hidup dalam 10 periodik tetapi didistribusikan lebih dari 10 periodik, 20auto-upgrade dan 50 unutended-upgrade. Jika Anda menempatkannya di tempat yang salah, pemutakhiran APT di masa depan mungkin akan menimpa mereka. 20auto-upgrade adalah tempat untuk menetapkan APT :: Periodic :: Unattended-Upgrade "1"; dan 50unattended-upgrade untuk menyempurnakan perilaku, seperti yang dijelaskan dalam Panduan Server Ubuntu.
daff
Bisakah Anda menaruh informasi detail di sini atau tautan? Saya tidak dapat menemukan mereka.
Tanarri
4
Ini seperti yang dijelaskan di help.ubuntu.com/10.04/serverguide/C/automatic-updates.html
Tony Edgecombe
Panduan Server Ubuntu 10.04 (resmi) tampaknya kedaluwarsa. Lihat jawaban saya untuk info lebih lanjut.
Hendy Irawan
2
URL terbaru untuk dokumen tersebut adalah: help.ubuntu.com/lts/serverguide/automatic-updates.html dan dikatakan bahwa keempatnya harus dalam 10 periode sebagai qrote Tanarri. Halaman untuk peningkatan tanpa pengawasan, tidak bertentangan dengan ini, meskipun ia menambahkan beberapa info berguna lainnya: help.ubuntu.com/community/AutomaticSecurityUpdates
SamGoody
8

Periksa dokumentasi aktual untuk versi Ubuntu Anda di sini:

/usr/share/doc/unattended-upgrades/README.gz

Untuk Ubuntu 11.10, untuk mengaktifkannya, Anda harus:

sudo dpkg-reconfigure -plow unattended-upgrades

(ini dialog interaktif) yang akan dibuat /etc/apt/apt.conf.d/20auto-upgradesdengan konten berikut:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Jadi memang informasi dalam panduan server Ubuntu 10.04 sudah ketinggalan zaman.

Jika Anda menggunakan Wayang seperti yang kami lakukan di Bippo dan Soluvas , Anda dapat menggunakan sesuatu seperti ini untuk mengotomatiskan konfigurasi peningkatan tanpa pengawasan yang tepat :

# Unattended upgrades
package { unattended-upgrades: ensure => present }
file { '/etc/apt/apt.conf.d/50unattended-upgrades':
  content => template('bipposerver/50unattended-upgrades'),
  mode    => 0644,
  require => Package['unattended-upgrades'],
}
file { '/etc/apt/apt.conf.d/20auto-upgrades':
  source  => 'puppet:///bipposerver/20auto-upgrades',
  mode    => 0644,
  require => Package['unattended-upgrades'],
}
service { unattended-upgrades:
  enable    => true,
  subscribe => [ Package['unattended-upgrades'],
                 File['/etc/apt/apt.conf.d/50unattended-upgrades',
                      '/etc/apt/apt.conf.d/20auto-upgrades'] ],
}

Pastikan untuk menyediakan template / file 50unattended-upgradesdan 20auto-upgradessesuai keinginan Anda.

Saya juga memperbarui halaman Wiki Ubuntu untuk mencerminkan hal ini.

Hendy Irawan
sumber
1
+1 FWIW, panduan server 13.04 masih kedaluwarsa.
deizel
6

Saya tidak melihat ada yang salah dengan Anda /etc/apt/apt.conf.d/50unattended-upgrades. Milik saya hampir seperti milik Anda tetapi saya hanya membiarkan peningkatan keamanan diterapkan secara otomatis, tidak ada yang lain. Saya juga mengaturnya untuk mengirim email hanya ke "root" (Postfix menangani sisanya).

Tetapi: skrip init /etc/init.d/unattended-upgradesbukan untuk menjalankan pemutakhiran tanpa pengawasan. Itu hanya memeriksa apakah proses upgrade tanpa pengawasan sedang berjalan dan menunggu sampai keluar. Saya tidak benar-benar tahu mengapa itu diperlukan atau mengapa ia melakukan apa yang dilakukannya (bahkan tidak ada pada versi Ubuntu sebelumnya) tetapi itu bukan cara untuk melakukan peningkatan tanpa pengawasan.

Sebaliknya ada, di Ubuntu, program Python disebut unnattended-upgradesyang berfungsi. Coba jalankan secara manual dan lihat apa yang terjadi. Periksa juga output dari perintah

apt-config shell UnattendedUpgradeInterval APT::Periodic::Unattended-Upgrade 

Seharusnya dikatakan UnattendedUpgradeInterval='1', menunjukkan bahwa Anda mengkonfigurasi APT dengan benar untuk memungkinkan peningkatan tanpa pengawasan.

Ubuntu berjalan /etc/cron.daily/aptsetiap hari dari cron. Jika Anda melihat skrip tersebut, Anda melihat bahwa skrip itu melakukan berbagai hal terkait APT, di antaranya adalah peningkatan tanpa pengawasan. Dugaan saya adalah bahwa Anda entah bagaimana menonaktifkan skrip cron itu sehingga tidak ada yang terjadi tanpa pengawasan.

Itu saja, kurang lebih, dari atas kepala saya. Silakan posting tindak lanjut jika Anda telah mencoba ide-ide saya tanpa hasil.

HTH

Daff
sumber
2
Terima kasih atas jawabannya daff. Saya menambahkan output "shell apt-config UnattendedUpgradeInterval APT :: Periodic :: Unattended-Upgrade" ke pertanyaan. Semua server saya tidak mencetak apa-apa untuk itu.
pupeno