Bagaimana cara membuat CLI memeriksa pembaruan yang akan terjadi setiap 4 minggu dan menginstalnya secara otomatis tanpa pergi ke sumber Perangkat Lunak?

10

Saya memiliki satu set perintah khusus yang saya jalankan di komputer saya setelah saya menginstalnya. Bagaimana cara saya membuat Ubuntu memeriksa pembaruan setiap 4 minggu dan menginstalnya secara otomatis saat check?

Saya akan membutuhkan ini dilakukan melalui baris perintah sehingga saya dapat mengaturnya untuk pengguna biasa ketika saya mengatur komputer mereka.

Perintah pertama akan membuat manajer pembaruan memeriksa pembaruan setiap 2 minggu karena mereka tidak selalu datang begitu banyak dan untuk menghemat bandwidth server Ubuntu.

Saya juga perlu mengaturnya agar pengguna tidak perlu mengklik untuk menginstal pembaruan karena melelahkan setiap kali saya membantu seorang teman mengatur komputer.

Kanguru
sumber

Jawaban:

10

Pertama, aktifkan pembaruan otomatis seperti ini:

sudo apt-get install unattended-upgrades

Anda kemudian perlu mengedit konfigurasinya, ketik

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

(ganti nanodengan editor teks pilihan Anda jika Anda mau)

File terlihat seperti ini:

Unattended-Upgrade::Allowed-Origins {
        "Ubuntu maverick-security";
//      "Ubuntu maverick-updates";
};

The //berarti baris ini adalah komentar dan tidak akan dianggap oleh program, menghapus stroke untuk menyertakan update rilis stabil selain perbaikan keamanan. Juga, ganti maverickdengan versi Ubuntu yang Anda jalankan.

Untuk mengatur interval saat sistem memeriksa pembaruan, edit /etc/apt/apt.conf.d/10periodicfile dengan editor teks:

APT::Periodic::Update-Package-Lists "14";
APT::Periodic::Download-Upgradeable-Packages "14";
APT::Periodic::AutocleanInterval "14";
APT::Periodic::Unattended-Upgrade "14";

Dalam contoh ini, sistem diperbarui setiap dua minggu.

Untuk penjelasan lebih rinci, lihat Pembaruan Otomatis di panduan server Ubuntu.


Perhatikan bahwa jawaban papukaija berbicara tentang interval di mana dialog Update Manager muncul di layar Anda, saya kira itu bukan apa yang Anda inginkan, tetapi saya tidak yakin. :)

Stefano Palazzo
sumber
Dialog tidak perlu muncul dan tidak masuk dalam 1 baris. Jika saya mengatur sumber Perangkat Lunak 2 minggu untuk diperiksa, apakah mungkin dialog pembaruan muncul lebih awal atau lebih lambat? Yang diperlukan adalah bahwa dengan 1 baris akan memungkinkan untuk mengatur bahwa pengguna bahkan tidak akan tahu dia memiliki sistem beeing diperbarui setiap 4 minggu dan dia tidak perlu melihat pembaruan bertanya dan secara otomatis itu baru saja diinstal. Jadi saya tidak perlu mengatur itu secara manual dengan mouse di sumber Perangkat Lunak.
Kangarooo
Saya tidak yakin saya mengerti Anda. Anda dapat menonaktifkan notifikasi pembaruan dengan masuk ke System → Preferences → Startup Applications dan menghapus tanda centang di "Update Notifier". Apakah itu yang kamu maksud? Juga, tentu saja Anda dapat mengaturnya ke "30" dan bukan "14" hari (atau berapa pun jumlah yang Anda inginkan)
Stefano Palazzo
Dan itu bisa juga dilakukan dengan satu baris? Jika ya itu juga baik untuk dilakukan jika tidak- itu bukan hal utama yang saya inginkan. Hal utama adalah untuk mengatasi pengaturan sumber perangkat lunak untuk mengubah memeriksa pembaruan dan apa yang harus dilakukan. Saya ingin mengecek setiap 28 hari dan menginstal pembaruan tanpa meminta apa pun di terminal sehingga lebih cepat.
Kangarooo
Satu perintah baris dalam jawaban saya: apt-get update && apt-get upgrade -y
luri
@ luri bukan itu pertanyaannya
Stefano Palazzo
2

Jika Anda bermaksud memperbarui semua yang "dapat diupdate", yaitu memperbarui SEMUA paket Anda, saya kira Anda bisa cron (di dalam root cron) daripada setiap 28 hari apt-get update && apt-get upgrade -ydijalankan.

Beberapa orang memiliki masalah dengan pekerjaan kasar karena PATHpengaturan yang membatasi . Jika Anda memiliki masalah, Anda dapat menentukan PATHdi awal crontab -efile (seperti yang disarankan dalam CronHowto )

Juga, untuk memeriksa bahwa semuanya berjalan baik, saya akan mencatat hasilnya, seperti ini:

root@PORTATIL:/var/log$ crontab -l
* * */2 * * /usr/share/myupdate.sh > /var/log/myupdate.log

myupdate.sh bisa sesederhana ini:

#!/bin/bash
#Testing updates
echo "$(date) Crond myupdate sarting."
apt-get update -y
apt-get upgrade -y
echo "$(date)Crond myupdate finished."
luri
sumber
Ini tidak berhasil untuk saya. Ketika saya mendapatkan cron log saya, saya aptitude -y safe-upgrademengeluh tentang perlunya mengendalikan tty, dan kemudian banyak kesalahan jalur. Mungkin saya harus mengajukan pertanyaan ..
djeikyb
Apakah Anda mengaturnya di dalam root cron?
luri
Ya. Gagal karena beberapa masalah jalur yang berbeda, jadi saya membuat skrip di / root / bin, dengan #! / Bin / bash, dan path lengkap untuk apt-get. Ini bekerja lebih baik, tetapi masih tidak bisa ditingkatkan.
djeikyb
Posting kesalahan di log .... atau apa pun yang gagal
luri
Saya membuat pertanyaan terpisah: askubuntu.com/q/23795/8515
djeikyb
1

Anda dapat mengubah interval antara waktu ketika pembaruan-pengelola dijalankan dengan membuka gconf-editor (misalnya dengan Alt + F2 dan mengetik gconf-editor). Kemudian cari /apps/update-notifier.

Interval didefinisikan dalam kunci di regular_auto_launch_intervalmana nilainya adalah jumlah hari. Saya pikir metode ini tidak mempengaruhi updater otomatis non-grafis (unattended-upgrade).

Harap dicatat bahwa Ubuntu mungkin tidak secara otomatis menginstal pembaruan keamanan karena bug .

papukaija
sumber
4
Ini adalah versi baris perintah dari jawaban ini: gconftool -s /apps/update-notifier/regular_auto_launch_interval --type int 7(di mana 7 adalah interval dalam beberapa hari)
Stefano Palazzo
Saya baru saja memeriksanya sudah 7. Tapi dalam sumber-sumber Perangkat Lunak, pengaturannya 2 minggu. Mungkin di tempat lain?
Kangarooo
0

Saya menempatkan gconftool -s /apps/update-notifier/regular_auto_launch_interval --type int 1dan pembukaannya setiap hari menunjukkan saya belum menginstal pembaruan. Apakah terbuka jika tidak ada pembaruan baru? Jadi membuat pembaruan otomatis setiap 4 minggu tidak akan membuat ini muncul? Jadi bagaimana dengan CLI untuk menginstal pembaruan secara otomatis setiap pemeriksaan setiap 4 minggu? Itu yang saya mau. Dengan tidak pergi ke sumber Perangkat Lunak dan melakukannya dengan mouse. Dan melakukan hal itu mungkin karena tidak dapat diletakkan lebih dari 2 minggu di sana.

Kanguru
sumber