Menjaga sistem Anda tetap up to date merupakan faktor penting bagi siapa saja dari pengguna desktop sederhana, pengembang, sysadmin; Baiklah, mari kita hadapi itu, siapa pun yang memiliki perangkat yang secara khusus terhubung ke Internet. Debian, secara default, tidak diatur untuk pembaruan otomatis. Namun, dengan mengaktifkan dan mengonfigurasi paket peningkatan tanpa pengawasan, Anda dapat dengan mudah menerapkan keamanan, paket, atau bahkan peningkatan fitur baru dengan cara yang mudah, sederhana, dan efisien jika Anda tidak selalu punya waktu untuk memeriksa atau melupakan. Sangat disarankan untuk mengaktifkan ini hanya untuk keamanan saja.
Tutorial berikut akan mendemonstrasikan cara menginstal dan atau mengaktifkan dan mengonfigurasi peningkatan tanpa pengawasan di Debian 11 .
Prasyarat
- OS yang Disarankan: Debian 11 Bullseye atau Debian 10, 9 atau sistem Debian yang masih diperbarui.
- Akun pengguna: Akun pengguna dengan hak istimewa sudo atau akses root (perintah su) .
Memperbarui Sistem Operasi
Perbarui Debian 11 . Anda sistem operasi untuk memastikan semua paket yang ada mutakhir:
sudo apt update && sudo apt upgrade
Akses Root atau Sudo
Secara default, ketika Anda membuat akun Anda saat memulai dengan Debian dibandingkan dengan distribusi lain, itu tidak secara otomatis menerima status sudoers. Anda harus memiliki akses ke sandi root untuk menggunakan perintah su atau kunjungi tutorial kami tentang Cara Menambahkan Pengguna ke Sudoers di Debian.
Instal Paket Unattended-Upgrades
Pertama, jika Anda belum menginstal upgrade tanpa pengawasan atau telah menghapus paket, Anda harus menginstal ulang ini dengan perintah berikut:
sudo apt install unattended-upgrades
Secara default, ini harus diinstal.
Anda juga perlu menginstal paket apt-config-auto-update jika Anda ingin sistem Debian Anda restart setelah menerapkan upgrade yang membutuhkan sistem restart secara otomatis. Untuk melakukannya, gunakan perintah berikut di bawah ini:
sudo apt install apt-config-auto-update
Untuk pengguna laptop, Anda perlu menginstal paket powermgmt-base jika Anda berencana untuk menggunakan opsi tanpa pengawasan yang menggunakan opsi baterai.
sudo apt install powermgmt-base
Setelah instalasi selesai, secara default Debian harus memulai prosesnya. Untuk memverifikasi, gunakan perintah berikut:
sudo systemctl status unattended-upgrades
Contoh keluaran:
Berikut perintah systemctl akan menjelaskan opsi yang Anda miliki untuk memulai, menghentikan, mengaktifkan saat boot, menonaktifkan saat boot, atau memulai ulang layanan peningkatan tanpa pengawasan:
Untuk memulai layanan tanpa pengawasan:
sudo systemctl start unattended-upgrades
Untuk menghentikan layanan tanpa pengawasan:
sudo systemctl stop unattended-upgrades
Untuk mengaktifkan layanan tanpa pengawasan saat boot:
sudo systemctl enable unattended-upgrades
Untuk menonaktifkan layanan tanpa pengawasan saat boot:
sudo systemctl disable unattended-upgrades
Untuk memulai ulang pada layanan tanpa pengawasan:
sudo systemctl restart unattended-upgrades
Konfigurasi Peningkatan Tanpa Pengawasan
Setelah memeriksa atau memasang peningkatan tanpa pengawasan, sekarang kami mengedit 50peningkatan tanpa pengawasan config menggunakan editor teks terminal favorit Anda. Dari sini, Anda dapat mengonfigurasi peningkatan tanpa pengawasan dari beberapa contoh dalam tutorial ini dan menjelajahi beberapa opsi lain yang jarang digunakan; dokumentasi dalam file konfigurasi memberikan penjelasan yang baik tentang setiap pengaturan dengan sendirinya.
Anda dapat melakukannya dengan perintah berikut:
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
Contoh pembukaan jendela dan tampilan pertama:
Allowed-Origins and Updates
Paket peningkatan tanpa pengawasan tidak akan memproses baris yang dimulai dengan // sintaks . Secara default, hanya pembaruan keamanan yang diinstal secara otomatis, seperti yang ditunjukkan pada baris di bawah ini. Akan lebih baik jika Anda tidak pernah menonaktifkan pembaruan keamanan; namun, Anda dapat menambahkan opsi tambahan di sini.
Misalnya, untuk menyertakan pembaruan paket normal yang tidak aktif secara default:
Ubah dari:
// "${distro_id}:${distro_codename}-updates";
Ubah untuk mengaktifkan:
"${distro_id}:${distro_codename}-updates";
Contoh konfigurasi yang disertakan dengan default (disarankan untuk sebagian besar pengguna):
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-security";
// Extended Security Maintenance; doesn't necessarily exist for
// every release and this system may not have it installed, but if
// available, the policy for updates is such that unattended-upgrades
// should also install from here by default.
"${distro_id}ESMApps:${distro_codename}-apps-security";
"${distro_id}ESM:${distro_codename}-infra-security";
// "${distro_id}:${distro_codename}-updates";
// "${distro_id}:${distro_codename}-proposed";
// "${distro_id}:${distro_codename}-backports";
};
Contoh di lingkungan langsung:
Untuk memecahnya lebih jauh, opsi yang dapat Anda aktifkan selain default:
- “${distro_id}:${distro_codename}-updates”; – opsi ini akan sama dengan menjalankan Sudo apt update di terminal Anda untuk menarik pembaruan paket. Paling sering, ini tidak disarankan karena paket tertentu memerlukan intervensi manual saat memutakhirkan, jika Anda menyetel ini membuat setel ke daftar hitam paket tertentu yang Anda tahu akan menyebabkan masalah jika diperbarui tanpa pengawasan seperti yang dijelaskan nanti dalam tutorial.
- “${distro_id}:${distro_codename}-diusulkan”; – opsi ini akan menarik pembaruan dari pengujian, ini jelas tidak direkomendasikan untuk semua pengguna karena paketnya tidak stabil dan bahkan mungkin tidak masuk ke lingkungan langsung.
- “${distro_id}:${distro_codename}-backports”; – opsi ini akan mengaktifkan backport yang terutama digunakan untuk memperbarui paket, ini biasanya lebih stabil daripada yang diusulkan, tetapi untuk aturan menyeluruh, Anda harus menyelidiki sebelum mengaktifkannya karena dapat menyebabkan ketidakstabilan.
Kecualikan Paket dari Pembaruan
Dengan pembaruan, beberapa paket dapat menjadi tidak stabil atau rusak total jika Anda tidak mengawasi prosesnya. Misalnya, peningkatan otomatis Nginx untuk pengguna yang memiliki ModSecurity yang dikompilasi akan rusak; Anda sering tidak perlu mengisi apa pun di sini; ini hanya untuk server khusus yang menjalankan paket yang memerlukan intervensi.
Catatan, selalu lebih baik menggunakan ekspresi python untuk mencocokkan paket:
Contoh dari
// Python regular expressions, matching packages to exclude from upgrading
Unattended-Upgrade::Package-Blacklist {
// The following matches all packages starting with linux-
// "linux-";
// Use $ to explicitely define the end of a package name. Without
// the $, "libc6" would match all of them.
// "libc6$";
// "libc6-dev$";
// "libc6-i686$";
Contoh perubahan juga tidak termasuk aplikasi web Nginx:
// Python regular expressions, matching packages to exclude from upgrading
Unattended-Upgrade::Package-Blacklist {
// The following matches all packages starting with linux-
"nginx";
// Use $ to explicitely define the end of a package name. Without
// the $, "libc6" would match all of them.
// "libc6$";
// "libc6-dev$";
// "libc6-i686$";
Contoh di lingkungan langsung:
Hapus Dependensi yang Tidak Digunakan
Selanjutnya, lanjutkan ke hapus otomatis dependensi yang tidak digunakan, yang memiliki tiga pilihan; Nilai defaultnya salah. Namun, secara opsional Anda dapat mengaktifkan pengaturan ini. Pada dasarnya, jika Anda secara otomatis memperbarui sebuah paket, dependensi dan atau kernel dan yang lama tidak lagi digunakan, sisa-sisa tidak lagi diperlukan; itu akan secara otomatis membersihkan dan menghapus ini untuk Anda. Ini biasanya selalu aman dilakukan untuk sebagian besar pengguna.
Jika Anda tidak ingin melakukan ini, biarkan baris tersebut tidak tersentuh.
Contoh dari:
// Remove unused automatically installed kernel-related packages
// (kernel images, kernel headers and kernel version locked tools).
// Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
// Do automatic removal of newly unused dependencies after the upgrade
// Unattended-Upgrade::Remove-New-Unused-Dependencies "true";
// Do automatic removal of unused packages after the upgrade
// (equivalent to apt-get autoremove)
// Unattended-Upgrade::Remove-Unused-Dependencies "false";
Contoh perubahan juga:
// Remove unused automatically installed kernel-related packages
// (kernel images, kernel headers and kernel version locked tools).
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
// Do automatic removal of newly unused dependencies after the upgrade
Unattended-Upgrade::Remove-New-Unused-Dependencies "true";
// Do automatic removal of unused packages after the upgrade
// (equivalent to apt-get autoremove)
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Contoh di lingkungan langsung:
Pemberitahuan Email
Disarankan untuk menyiapkan pemberitahuan email, terutama jika menjalankan server tanpa pengawasan. Dalam pengaturan, opsi yang bagus adalah memilih email "saat perubahan", jadi Anda hanya menerima pemberitahuan saat perangkat lunak telah berubah. Atau, Anda dapat memilih “only-on-error”, sehingga Anda hanya menerima pemberitahuan saat terjadi kesalahan.
Disarankan untuk memilih on-change karena Anda harus tahu pembaruan apa yang terjadi di sistem Anda. Anda juga dapat mengatur alamat email di sini:
Perhatikan, ini akan mengharuskan Anda untuk menyiapkan email di server Anda agar notifikasi berfungsi.
Contoh dari:
// 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. A package that provides
// 'mailx' must be installed. E.g. "[email protected]"
//Unattended-Upgrade::Mail "";
Contoh perubahan juga:
// 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. A package that provides
// 'mailx' must be installed. E.g. "[email protected]"
Unattended-Upgrade::Mail "[email protected]";
Contoh di lingkungan langsung:
Opsi kedua untuk pemberitahuan email adalah tentang apa yang sebenarnya harus dilaporkan. Untuk sebagian besar pengguna, hanya on-error atau on-change yang cukup; menyetel pelaporan ke selalu akan berpotensi menimbulkan banyak email yang tidak diinginkan, tetapi untuk sistem kritis, hal ini mungkin diperlukan.
Di bawah ini adalah contoh untuk only-on-error, yang baik untuk pengguna desktop di lingkungan non-produksi/server web:
Contoh dari:
// Set this value to one of:
// "always", "only-on-error" or "on-change"
// If this is not set, then any legacy MailOnlyOnError (boolean) value
// is used to chose between "only-on-error" and "on-change"
//Unattended-Upgrade::MailReport "on-change";
Contoh perubahan juga:
// Set this value to one of:
// "always", "only-on-error" or "on-change"
// If this is not set, then any legacy MailOnlyOnError (boolean) value
// is used to chose between "only-on-error" and "on-change"
Unattended-Upgrade::MailReport "only-on-error";
Contoh di lingkungan langsung:
Opsi Reboot Otomatis
Gulir ke bawah ke opsi Reboot Otomatis. Secara default, ini dimatikan, dan hampir semua desktop dan terutama server yang menjalankan perangkat lunak dan atau layanan khusus tidak akan mengaktifkannya karena sering kali dapat menyebabkan gangguan besar pada layanan perangkat lunak tersebut.
Namun, misalkan layanan Anda hanya melayani beberapa orang. Dalam hal ini, opsi ini mungkin layak untuk digunakan. Sistem Linux/Ubuntu biasanya hanya akan reboot karena pembaruan Kernel Linux yang sangat penting, tetapi saya memiliki pemberitahuan otomatis untuk perubahan. Saya akan tahu itu perlu dilakukan dan dapat merencanakannya.
Contoh dari:
// Automatically reboot *WITHOUT CONFIRMATION* if
// the file /var/run/reboot-required is found after the upgrade
//Unattended-Upgrade::Automatic-Reboot "false";
Contoh perubahan juga:
// Automatically reboot *WITHOUT CONFIRMATION* if
// the file /var/run/reboot-required is found after the upgrade
Unattended-Upgrade::Automatic-Reboot "true";
Contoh di lingkungan langsung:
Jika Anda mengaktifkan opsi, Anda dapat mengatur reboot dengan pengguna yang masuk atau tidak. Ini harus dinonaktifkan, karena pengguna masuk dan dipaksa keluar karena reboot dapat menyebabkan gangguan pada lingkungan kerja, belum lagi frustrasi pengguna yang masuk.
Namun, jika Anda lebih suka ini di:
Contoh dari:
// Automatically reboot even if there are users currently logged in
// when Unattended-Upgrade::Automatic-Reboot is set to true
//Unattended-Upgrade::Automatic-Reboot-WithUsers "true";
Contoh perubahan juga:
// Automatically reboot even if there are users currently logged in
// when Unattended-Upgrade::Automatic-Reboot is set to true
Unattended-Upgrade::Automatic-Reboot-WithUsers "true";
Contoh di lingkungan langsung:
Jika Anda memiliki server kecil di zona waktu tertentu dan mengetahui waktu yang tepat untuk memulai ulang, katakan pukul 2 pagi, lalu sesuaikan hal berikut:
Contoh dari:
// If automatic reboot is enabled and needed, reboot at the specific
// time instead of immediately
// Default: "now"
//Unattended-Upgrade::Automatic-Reboot-Time "02:00";
Contoh perubahan juga:
// If automatic reboot is enabled and needed, reboot at the specific
// time instead of immediately
// Default: "now"
Unattended-Upgrade::Automatic-Reboot-Time "02:00";
Contoh di lingkungan langsung:
Daftar Periksa Akhir untuk Peningkatan Tanpa Pengawasan
Untuk memastikan file pemutakhiran otomatis ada di direktori /etc/apt/apt.conf.d/ dengan menggunakan perintah berikut:
cd /etc/apt/apt.conf.d
ls
Contoh keluaran:
ls
00CDMountPoint 10periodic 20packagekit 60icons
00trustcdrom 15update-stamp 20snapd.conf 70debconf
01autoremove 20archive 50appstream
01autoremove-kernels 20listchanges 50unattended-upgrades
Sekarang buka file /etc/apt/apt.conf.d/20auto-upgrades :
sudo nano /etc/apt/apt.conf.d/20auto-upgrades
Contoh keluaran:
Anda harus melihat kode perintah di bawah ini pada file berikut. Jika tidak, salin dan tempel:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
Secara default, pengaturan "1" diaktifkan. Namun, jika Anda ingin menonaktifkannya, Anda dapat mengubahnya menjadi "0", Jika Anda tidak suka memeriksa setiap hari, lanjutkan untuk mengubah nomor menjadi "2", yang membuat pembaruan otomatis memeriksa setiap hari. Dalam panduan kami, misalnya, hanya kami yang mengubahnya menjadi 2. Sebaiknya biarkan set ini ke “1”:
Contoh di lingkungan langsung:
Simpan file (CTRL+O), lalu tekan Y , setelah itu untuk keluar tekan (CTRL+X) untuk keluar dari editor teks.
Buat Cronjob untuk Peningkatan Tanpa Pengawasan
Opsional, jika Anda ingin kontrol penuh atas waktu upgrade otomatis Anda, Anda dapat membuat cronjob. Untuk melakukan ini, pertama, buka crontab:
sudo crontab -e
Selanjutnya, tambahkan baris ini di bagian bawah entri terakhir; Anda dapat mengubah "waktu" sesuka Anda. Jika Anda baru mengenal Linux, kunjungi Crontab.Guru, di mana Anda bisa mendapatkan bantuan, membuat dan menguji waktu pengaturan cron.
Di bawah ini akan didemonstrasikan untuk berjalan tepat setiap hari ke-3, pada jam 4:00 pagi.
Contoh:
00 04 * * */3 /usr/bin/unattended-upgrade -v
Contoh di lingkungan langsung:
Simpan file (CTRL+O), lalu tekan Y , setelah itu untuk keluar tekan (CTRL+X) untuk keluar dari editor teks.
Cara mengakses Log Peningkatan Tanpa Pengawasan
Terakhir, pemutakhiran tanpa pengawasan masuk ke direktorinya, jadi jika Anda ingin memeriksa file log untuk masalah apa pun dan menemukan kesalahan, Anda dapat menemukannya di jalur berikut:
/var/log/unattended-upgrades/
Alat Tambahan – Centang Mulai Ulang (Pernak-Pernik Debian)
Program yang sangat baik untuk memeriksa apakah Anda telah kembali ke server yang telah menerapkan pembaruan otomatis alih-alih memeriksa log atau email adalah dengan menjalankan perintah checkrestart yang akan memberi tahu Anda jika ada paket yang perlu dimulai ulang.
Untuk menginstal checkrestart, jalankan perintah berikut:
sudo apt install debian-goodies -y
Sekarang jalankan perintah berikut untuk memeriksa paket yang memerlukan restart:
sudo checkrestart
Contoh keluaran:
Found 0 processes using old versions of upgraded files
Seperti yang Anda lihat, mesin yang digunakan tutorial sudah mutakhir; namun, jika ada yang memerlukan restart manual, itu akan terdaftar di sini di output.