Mempersiapkan untuk menerapkan pembaruan di Red Hat Linux

Mempersiapkan untuk menerapkan pembaruan di Red Hat Linux

Objektif

Tujuan kami adalah untuk memastikan bahwa memperbarui sistem operasi akan berjalan dengan lancar dan tanpa kesalahan.

Sistem Operasi dan Versi Perangkat Lunak

  • Sistem operasi: Red Hat Enterprise Linux 6+

Persyaratan

Akses istimewa ke sistem

Kesulitan

MUDAH

Konvensi

  • # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
  • $ - Diberikan perintah linux untuk dieksekusi sebagai pengguna biasa

Perkenalan

Menjaga sistem tetap mutakhir adalah tugas setiap hari untuk sysadmin, serta pengguna desktop. Dengan menerapkan perangkat lunak terbaru (stabil) yang tersedia pada sistem, kami dapat memanfaatkan fitur terbaru, dan akan lebih terlindungi dari masalah keamanan dan mudah -mudahan kurang menderita dari bug. Untuk memperbarui sistem, Anda perlu dikonfigurasi yum repositori yang bertindak sebagai sumber perangkat lunak yang diperbarui.

Jika Anda duduk di sebelah mesin yang menjalankan sistem operasi untuk diperbarui, Anda dapat dengan mudah bertindak jika ada yang salah selama pembaruan, seperti memeriksa output di terminal, atau boot ke sistem langsung jika yang ditingkatkan tidak kembali dari reboot - tapi ini tidak selalu terjadi. Pikirkan pusat data dengan ratusan atau ribuan mesin (virtual), atau hanya PC fisik yang harus Anda tingkatkan dari jarak jauh.

Ada langkah -langkah sederhana yang dapat kami lakukan untuk menyiapkan sistem untuk ditingkatkan, dan mungkin menghapus masalah apa pun yang akan membahayakan pembaruan yang berhasil.



Perbarui proses

Saat melakukan pembaruan tanpa syarat (artinya "perbarui semua"), yum akan mengambil semua metadata dari repositori yang tersedia, dan menghitung semua paket untuk ditingkatkan terhadap RPM Basis data yang berisi semua metadata tentang paket yang dipasang pada sistem.

Proses pembaruan juga menghitung semua dependensi dari paket yang ditingkatkan, dapat menggantikan paket lama, dan menghapus gambar kernel lama sesuai dengan konfigurasinya. Jumlah gambar kernel yang harus disimpan di /etc/yum.conf file konfigurasi, dan 3 secara default:

installOnly_limit = 3


Lagipula modifikasi yang dibutuhkan dihitung, yum Memberikan daftar ekstensif semua paket yang akan ditingkatkan, dihapus, atau diinstal untuk dependensi, dengan cara yang sama seperti itu saat menginstal atau meningkatkan paket tertentu.

Dalam sesi pembaruan interaktif yum akan memberikan ringkasan paket yang akan dimodifikasi, serta perhitungan ukuran data yang perlu diunduh untuk peningkatan seperti yang ditunjukkan di bawah ini:

Ringkasan Pembaruan Yum Interaktif

Setelah memeriksa hasilnya, kami dapat memutuskan apakah kami memulai pembaruan, atau membatalkannya. Karena Yum akan memperbarui semua yang dapat ditemukannya, kami mungkin ingin menghapus paket yang tidak dibutuhkan sebelumnya. Kami juga dapat melihat paket yang ditandai untuk pembaruan bahwa kami dikunci versi dengan perlu dikecualikan dari upgrade.

Setelah persetujuan, Yum akan mengunduh semua paket baru, dan menginstal/memperbarui satu per satu. Setelah selesai, itu akan memeriksa integritas paket yang diinstal/diperbarui, bersihkan file yang tidak dibutuhkan. Ini juga memberikan umpan balik selama proses, memberikan garis teks untuk setiap langkah, serta kode keluar yang mengisyaratkan jika peningkatan berhasil, atau jika beberapa masalah muncul. Ini juga akan membatalkan proses pembaruan jika masalah meningkat yang tampaknya kritis dari perspektif sistem yang konsisten - tetapi ada kalanya sudah terlambat, jadi mencegah masalah pembaruan terjadi adalah pendekatan yang lebih baik.

Ruang disk

cache yum

Dari proses yang dijelaskan di atas, kami dapat menebak bahwa kami membutuhkan ruang disk untuk proses pembaruan:

  • Metadata dari semua repositori yang dikonfigurasi perlu disimpan sampai perhitungan semua paket (dan ketergantungannya) untuk diperbarui selesai.
  • RPM Paket yang merupakan pembaruan itu sendiri harus disimpan secara lokal sampai diinstal dengan benar.

Data ini, dipanggil cache yum hanya diperlukan selama pembaruan, tetapi dapat mengambil ruang disk yang substansial. Lokasi default untuk cache ini ada di /var/cache/yum direktori. Tak perlu dikatakan bahwa jika tidak ada cukup ruang untuk menyimpan semua data yang dibutuhkan, proses pembaruan akan gagal. Beberapa unduhan yang belum selesai akan dijatuhkan, tetapi tidak semua ruang dapat dibebaskan, yang pada akhirnya memiliki sistem gagal pembaruan dan volume yang berisi /var/cache hampir penuh.

Banyak instalasi menyimpannya /var Direktori pada volume yang didedikasikan untuk penebangan, karena tempat default untuk logfile adalah /var/log pada sebagian besar distro, dan aplikasi yang paling baik akan berhenti bekerja atau bahkan macet jika mereka tidak dapat menulis file log mereka. Jadi mengisi volume yang mereka tulis adalah a sesuatu yang buruk.

Semakin banyak paket yang perlu ditingkatkan, dan semakin banyak repositori yang kita miliki, semakin banyak ruang pembaruan akan menempati sementara. Untuk menghitung ruang ini dari pembaruan ke pembaruan itu sulit, tetapi dapat diuji dengan solusi run kering yang dijelaskan nanti jika kami memiliki mesin uji dengan konten perangkat lunak yang tepat. Untuk contoh waktu nyata, memperbarui dari RHEL 7.1 hingga 7.5 (Instalasi Desktop dengan GNOME) dapat memakan ruang cache 4 GB, tetapi pemasangan beberapa perbaikan ke sistem yang hanya satu atau dua bulan yang tidak akan memakan waktu hanya beberapa MB.

Untuk memeriksa berapa banyak ruang yang kami miliki, kami dapat menggunakan df memerintah:

# df -h/var/ukuran sistem file digunakan tersedia digunakan% dipasang pada/dev/mapper/vg_sys -var 6.0g 1.7g 4.4G 28% /var 
Menyalin


Dalam contoh di atas kita memiliki 4.4 GB ruang kosong, yang akan cukup mengingat server diperbarui hanya beberapa bulan yang lalu. Untuk membebaskan ruang, langkah sepele adalah untuk membersihkan cache yum sudah disimpan (mungkin pada pembaruan terakhir). Untuk memeriksa berapa banyak ruang yang ditempati cache saat ini, kami dapat menggunakan du:

# du -mcd 1/var/cache/yum 1103/var/cache/yum/x86_64 1103/var/cache/yum 1103 total 
Menyalin


Angka -angka di atas ada di MB, jadi cache yum Dalam contoh ini membutuhkan sekitar 1 GB ruang disk dan menempati sebagian besar ruang di /var volume.



Membersihkan cache

Kami dapat menghapus seluruh cache dengan perintah berikut:

yum bersih semuanya

Tetapi sebagai yum Beri tahu kami dalam output perintah di atas pada versi RHEL 7, mungkin ada data yatim dari repositori yang dihapus atau dinonaktifkan, yang kemungkinan besar akan terjadi setelah rilis kecil Ugrades, dalam hal ini kami dapat dengan aman menghapus data dengan tangan:

rm -rf/var/cache/yum/*

Kami mungkin mendapatkan lebih banyak ruang untuk pembaruan dengan membersihkan data lain yang disimpan pada volume, seperti mengompresi/menghapus logfile lama, memindahkan file besar ke volume lain, atau memperluas ukuran volume.

Memindahkan cache

Untuk mengerjakan kemungkinan yum, Jika kita benar -benar rendah pada ruang disk, tidak dapat menghapus apa pun lebih lanjut, dan tidak dapat menambahkan lebih banyak ruang ke volume, kita dapat memindahkan lokasi cache yum ke volume lain dengan lebih banyak ruang kosong. Kami dapat mengonfigurasi lokasi cache di yum.conf file konfigurasi yang disebutkan di atas. Pertimbangkan pengaturan default:

Cachedir =/var/cache/yum/$ basa penelitian/$ rilis

Dengan mengubah jalan sebelumnya $ basearch Operasi yum berikutnya akan bekerja dengan struktur direktori yang sama, tetapi di jalur yang berbeda - semoga dengan lebih banyak ruang bebas untuk peningkatan. Kami juga dapat memindahkan cache ke volume lain dengan memindahkan seluruh direktori:

mv/var/cache/yum/extended_data_volume/


Dan membuat symlink di lokasi asli yang menunjuk ke tempat baru:

ln -s/extended_data_volume/yum/var/cache/yum


Adalah bijaksana untuk mengetahui bahwa pembaruan tidak akan gagal pada kesalahan sepele seperti ruang disk rendah. Pada sistem besar sysadmin menggunakan alat pemantauan seperti nagios yang dapat melaporkan ruang disk rendah pada semua mesin, membuat langkah ini jauh lebih sedikit memakan waktu dan rentan kesalahan.

Kesalahan jaringan

Jika ada masalah dengan konektivitas antara repositori dan mesin yang melakukan pembaruan, pembaruan mungkin gagal. Ini hanya dapat terjadi di metadata, atau tahap unduhan RPMS baru, dan tidak akan merusak sistem. Anda dapat memulai proses pembaruan lagi saat masalah jaringan terpecahkan.

Di sisi lain, jika pembaruan diinisialisasi dari sesi interaktif, pada pemadaman jaringan, koneksi dapat rusak, meninggalkan mesin pembaruan tanpa admin untuk menjawab pertanyaan yum mungkin bertanya. Jika Paket Instal/Pembaruan Tahap sudah dimulai, itu akan terus tidak dijaga, dan mungkin gagal atau lengkap jika seharusnya melakukannya. Setelah koneksi ulang proses dapat diikuti di /var/log/yum.catatan.



Yum Dry Run

Selain ruang disk dan masalah jaringan yang tidak mencukupi, pembaruan dalam banyak kasus dapat gagal pada dependensi paket yang belum terselesaikan. Ini perlu diselesaikan dengan alat yang dapat menghitung dan menangani dependensi paket, tetapi akan berguna untuk mengetahui akan ada masalah sebelum pembaruan yang sebenarnya (dan karenanya tidak membuang waktu henti yang selalu terlalu pendek dari sistem). Untuk mendapatkan informasi berharga ini, kami dapat menjalankan proses pembaruan karena akan menjalankan pembaruan yang sebenarnya, tetapi berhenti sebelum paket yang sebenarnya mengunduh, menginstal atau memperbarui telah terjadi.

Sekitar redhat 6.6 Opsi baru diperkenalkan yang akan menyebabkan yum untuk mengasumsikan "tidak" untuk setiap pertanyaan yang muncul selama pembaruan - termasuk persetujuan sebelum tahap manipulasi paket yang sebenarnya, dan sebagai akibatnya tidak ada interaksi aktual yang diperlukan menjalankan menjalankan kering:

UPDATE YUM --Assumeno

Ini bisa menjadi alat yang ideal untuk memberikan pembaruan kering yang akan datang, termasuk paket yang akan ditingkatkan, dan kesalahan apa pun yang mungkin terjadi. Pertimbangkan sederhana berikut pesta naskah:

#!/Pembaruan Bin/Bash YUM --assumeno &> $ (nama host).yum.Dryrun.$ (tanggal '+%y-%m-%d').keluar keluar $? 
Menyalin


Script di atas dapat dijalankan secara otomatis dan akan memberikan laporan teks dari dry run, serta kode keluar keseluruhan yang menunjukkan masalah apa pun. Output tidak perlu disimpan pada sistem file lokal. Target pengalihan output dapat berupa sistem file jaringan, atau laporan dapat diposting ke beberapa server pelaporan pusat, dapat dikumpulkan oleh skrip atau aplikasi lain. Laporan dapat dipublikasikan dan didistribusikan di antara departemen TI lainnya untuk disetujui, dengan cara ini semua orang yang terlibat dapat melihat dengan tepat paket apa yang akan diperbarui, dan versi apa.

Kerajaan kering dapat dijadwalkan untuk berjalan pada kerangka waktu tertentu (mungkin di malam hari untuk lebih sedikit mempengaruhi kinerja sistem) cron, atau dieksekusi dari sumber pusat dengan pengaturan boneka. Kode keluar juga dapat disimpan dan diproses dengan memantau atau facter, Untuk mengumpulkan kemungkinan hasil peningkatan yang akan datang sebelum melanjutkan.

Kesimpulan

Bahkan dengan satu atau beberapa komputer, kami harus mengumpulkan informasi sebelum memulai pembaruan seluruh sistem operasi, hanya untuk berada di sisi yang aman. Suatu hari akan ada masalah, dan jauh lebih menekan jika Anda dapat menyelesaikannya sebelum berdampak pada pekerjaan yang sebenarnya dari mesin tertentu. Pada skala yang lebih besar, tidak mungkin untuk duduk di sebelah setiap server atau desktop dan mendukungnya dengan kehadiran Anda dengan harapan ini akan membantu pembaruan untuk berjalan dengan sempurna.

Dengan mengetahui tahapan proses pembaruan, jebakan, serta solusi untuk mereka sangat penting untuk pembaruan yang berhasil. Memulai seluruh tahap pembaruan infrastruktur Anda berikutnya dengan keyakinan bahwa tidak akan ada masalah adalah melakukannya dengan gaya.

Tutorial Linux Terkait:

  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • File Konfigurasi Linux: 30 Teratas Paling Penting
  • Can Linux mendapatkan virus? Menjelajahi kerentanan Linux…
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Unduh Linux
  • Cara memperbarui firefox di linux
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…
  • Distro linux terbaik untuk pengembang
  • Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?