Saya memiliki sekitar 7 server Debian yang saya kelola, dan saya ingin mengaturnya agar secara otomatis memperbarui diri. Jadi, saya membuat skrip seperti:
#!/bin/sh
apt-get update
apt-get upgrade
dan meletakkannya root
di daftar crontab. Sayangnya, selalu hang di bagian Upgrade, menanyakan apakah saya yakin saya ingin memutakhirkan. Karena ini adalah pekerjaan cron, saya tidak melihat hasilnya sampai saya mengirim email mengatakan itu gagal. Apakah ada cara untuk mengabaikannya, dan lakukan saja peningkatan secara otomatis?
Jawaban:
Gunakan opsi -y untuk apt-get agar tidak meminta. Dari
man apt-get
:Anda juga dapat mengatur variabel env DEBIAN_FRONTEND
sumber
DEBIAN_FRONTEND
harus dilakukan Apakah ini digunakan untuk proses lain juga?DEBIAN_FRONTEND
. Itu tidak disebutkan dalam Debian sayaman debconf
, jadi itu mungkin hal Ubuntu.man 7 debconf
;)man 7 debconf
tetapi tidak mendapatkan apa-apa. Sekarang saya tahu mengapa :)Yah, mungkin Anda menggunakan alat yang salah.
unattended-upgrades
paket menginstal peningkatan keamanan setiap hari (dapat dikonfigurasi), Anda dapat mengonfigurasi paket apa yang akan ditingkatkan atau tidak ditingkatkan, dll. Dapat diinstal menggunakan:Dari
man unattended-upgrades
:sumber
/etc/apt/apt.conf.d/
tetapi hanya yang dimulai dengan yangUnattended-Upgrade::
diuraikan.sementara jawaban sebelumnya informatif mereka tidak menghindari 'masalah' input yang dibutuhkan oleh sarana manusia selama
upgrade
. oleh karena itu, saya menggunakan yang berikut ini:untuk memasukkan upgrade 'distribusi' seperti kernel menggunakan
dist-upgrade
perintah.silakan lihat manpgage dari
dpkg
informasi mendalam pada parameter ini.catatan impor : pemanggilan
sudo
termasuk-E
parameter diperlukan:Indicates to the security policy that the user wishes to preserve their existing environment variables. The security policy may return an error if the user does not have permission to preserve the environment.
jika tidak,
EXPORT
pernyataan tidak akan memengaruhi panggilanapt-get
!kredit diberikan kepada Remy van Elst ! Terima kasih!
sumber
root
- jadi Anda tidak perlu menggunakansudo
sama sekali. 'opsi lain' diatur untuk dijalankan tanpa pengawasan dalam hal apa pun. silakan lihatman
halaman referensi .Alat generik untuk hal semacam ini adalah
yes
:Jadi, misalnya, Anda bisa melakukannya
Harap dicatat bahwa dalam kasus tertentu
apt-get upgrade
menggunakan opsi yang disarankan oleh @Braiam atau @ArthurUlfeldt lebih baik.sumber
apt-get update && yes | apt-get upgrade
(server kami tidak seharusnya menggunakansudo
... Jangan tanya ...)