Saat ini, untuk mendapatkan informasi terkini tentang Raspberry Pi saya, saya harus mengetik sudo apt-get update
dan sudo apt-get upgrade
. Apakah ada cara untuk mengaturnya agar secara otomatis melakukan ini? Saya menjalankan Jessie Raspbian.
Saat ini, untuk mendapatkan informasi terkini tentang Raspberry Pi saya, saya harus mengetik sudo apt-get update
dan sudo apt-get upgrade
. Apakah ada cara untuk mengaturnya agar secara otomatis melakukan ini? Saya menjalankan Jessie Raspbian.
Jawaban:
alih-alih cron manual, Anda dapat menginstal unattended-upgrades
, yang berguna untuk memastikan kernel terbaru diinstal. Sebagian besar dirancang untuk keamanan.
https://wiki.debian.org/UnattendedUpgrades
apt-get install unattended-upgrades
Ada beberapa bit yang dapat disesuaikan / dikonfigurasi, tetapi standarnya baik-baik saja.
50unattended-upgrades
daftar "origin=Debian,codename=${distro_codename},label=Debian-Security";
dan tampaknya menemukan paket yang relevan dengan benar. Tentu saja itu mengabaikan banyak dari mereka. Saya belum mengatur daftar putih atau daftar hitam.
50unattended-upgrades
memang bodoh dan harus diubah agar ini bisa berfungsi pada Raspian. Tidak ada Raspian-Security
. Pembaruan keamanan tidak diberi label. Penting untuk menambahkan keduanya "origin=Raspbian,codename=${distro_codename},label=Raspbian";
dan "origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
ke/etc/apt/apt.conf.d/50unattended-upgrades
Di terminal, ketik:
sudo su
Untuk mengakses prompt level root. Lalu lari:
crontab -e
Untuk mulai mengedit crontab Anda, daftar tugas dijalankan secara otomatis pada waktu tertentu. Ini akan terbuka di editor teks pilihan Anda. Ubah untuk menyertakan baris berikut:
0 7 * * 1 apt update && apt upgrade -y
Untuk memperbarui dan meningkatkan aplikasi Anda secara otomatis pada pukul 07:00 setiap hari Senin. Baca di crontab untuk melihat cara menyesuaikan dengan keinginan Anda.
&&
karena mereka terkait dan tidak ada alasan untuk melakukan 'upgrade' jika 'pembaruan' gagal.
0
berarti hari Minggu tetapi dalam kode Anda, Anda telah meletakkannya 1
sehingga perintah akan dijalankan pada hari Senin, bukan hari Minggu
dist-upgrade
lebih baik daripada upgrade
, Anda akan berakhir dengan ketergantungan hanya menggunakan dependensi upgrade
. Anda juga tidak akan mendapatkan pembaruan yang membutuhkan konfirmasi dialog. @ tedder42 menunjukkan metode yang disukai oleh Debian (menggunakan unattended-upgrades
).
sudo
di sana; Anda telah beralih ke root
akun dengan menggunakan su
. Crontab superuser dijalankan dengan hak superuser.
Anda dapat menginstal dan mengkonfigurasi cron-apt. Instal dengan melakukan hal berikut:
apt-get install cron-apt
file konfigurasi utama adalah / etc / cron-apt / config
Satu hal yang saya tambahkan ke konfigurasi saya adalah:
MAILON="always"
ini akan mengirim email setiap kali berjalan, tidak hanya jika menemui kesalahan.
Perhatikan bahwa pengaturan default tidak akan secara otomatis menginstal pembaruan (ada beberapa alasan bagus untuk tidak melakukan ini), tetapi Anda dapat mengonfigurasinya untuk melakukannya. Satu kelebihan yang disediakan program ini daripada solusi cron sederhana adalah memberi Anda kendali atas apa yang diinstal (hanya mengunduh paket baru, menginstal pembaruan keamanan atau menginstal semua pembaruan).
Untuk mengatur waktu berjalan edit file /etc/cron.d/cron-apt.
Anda dapat menemukan lebih banyak info dan opsi konfigurasi di sini
Paket ini termasuk dokumentasi yang sangat bagus, namun ia di-gzip. Untuk mengekstrak file:
Dalam konfigurasi standarnya, unattended-upgrades
rusak di Raspbian Buster. Itu tidak akan menginstal pembaruan penting untuk kernel dan perangkat lunak lain. Pilihan Anda adalah:
Opsi yang Direkomendasikan:
sudo apt install unattended-upgrades
echo 'Unattended-Upgrade::Origins-Pattern {
// Fix missing Rasbian sources.
"origin=Debian,codename=${distro_codename},label=Debian";
"origin=Debian,codename=${distro_codename},label=Debian-Security";
"origin=Raspbian,codename=${distro_codename},label=Raspbian";
"origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
};' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-raspbian
Untuk pembaruan keamanan yang lebih cepat (tetapi stabilitasnya lebih rendah, karena paket belum disetujui untuk rasbian), Anda dapat menambahkan paket keamanan debian ke apt:
echo 'deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free' | sudo tee /etc/apt/sources.list.d/debian-security.list
Anda mungkin perlu menginstal kunci apt baru untuk repositori debian .
Pilihan lain:
Mengatasinya dengan menggunakan cron-apt:
sudo apt install cron-apt
Cara lain untuk mengatasinya.
Dianjurkan untuk menggunakan pembaruan tanpa pengawasan dan memperbaiki paket, karena itu paling cocok untuk tujuan tersebut. Cron-apt adalah pilihan terbaik kedua Anda, karena ini juga dirancang untuk tujuan yang sama. Saya tidak yakin dapat mem-boot ulang sistem Anda secara otomatis setelah pembaruan kernel. Upgrade tanpa pengawasan biasanya memiliki opsi itu, tapi saya tidak yakin itu bekerja dengan perbaikan di atas.
/var/log/unattended-upgrades/unattended-upgrades.log
file melaporkanAllowed origins are: []
jadi pada dasarnya itu tidak menarik pembaruan apa pun. Setelah memperbarui/etc/apt/apt.conf.d/50unattended-upgrades
untuk memasukkan"origin=Raspbian,codename=${distro_codename},label=Raspbian";
pembaruan mulai masuk.