Linux Yöneticisi - Sistem Güncellemeleri
CentOS 7 sistemi üç şekilde güncellenebilir -
- Manually
- Automatically
- Büyük güvenlik sorunları için manuel olarak güncelleme yapın ve otomatik güncellemeleri yapılandırın
Bir üretim ortamında, üretim sunucuları için manuel olarak güncelleme yapılması önerilir. Ya da en azından bir güncelleme planı oluşturun, böylece yönetici iş operasyonları için hayati önem taşıyan hizmetleri temin edebilir.
Basit bir güvenlik güncellemesinin, bir Yönetici tarafından yükseltilmesi ve yeniden yapılandırılmasını gerektiren yaygın uygulamalarda yinelemeli sorunlara yol açması olasıdır. Bu nedenle, önce geliştirme sunucularında ve masaüstlerinde test etmeden önce üretimde otomatik güncellemeleri planlamaktan yorulun.
CentOS 7'yi Manuel Olarak Güncelleme
CentOS 7'yi güncellemek için yum komutuna aşina olmak isteyeceğiz .yumCentOS 7'deki paket depolarıyla uğraşmak için kullanılır. yum , yaygın olarak kullanılan bir araçtır -
- CentOS 7 Linux Sistemini Güncelleyin
- Paket arayın
- Paketleri yükleyin
- Paketler için gerekli bağımlılıkları algılayın ve yükleyin
Yum'u güncellemelerde kullanmak için CentOS sunucunuzun İnternet'e bağlı olması gerekir. Çoğu konfigürasyon bir temel sistem kuracak, ardından yum'u kullanarak paketlerdeki ek işlevsellik için ana CentOS deposunu sorgulayacak ve sistem güncellemelerini uygulayacaktır.
Birkaç paketi kurmak için yum'u zaten kullandık . Kullanırken yum daima kök kullanıcı olarak bunu gerekecektir. Veya root erişimi olan bir kullanıcı. Öyleyse nano adında kullanımı kolay bir metin düzenleyici arayalım ve kuralım .
[root@centos rdc]# yum search nano
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.rackspace.com
* epel: mirror.chpc.utah.edu
* extras: repos.forethought.net
* updates: repos.forethought.net
======================================================================
N/S matched: nano
======================================================================
nano.x86_64 : A small text editor
nodejs-nano.noarch : Minimalistic couchdb driver for Node.js
perl-Time-Clock.noarch : Twenty-four hour clock object with nanosecond precision
Name and summary matches only, use "search all" for everything.
[root@centos rdc]#
Şimdi nano metin düzenleyicisini kuralım.
[root@centos rdc]# yum install nano
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.keystealth.org
* epel: pubmirror1.math.uh.edu
* extras: centos.den.host-engine.com
* updates: repos.forethought.net
Resolving Dependencies
--> Running transaction check
---> Package nano.x86_64 0:2.3.1-10.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch
Version Repository Size
================================================================================
Installing:
nano x86_64
2.3.1-10.el7 base 440 k
Transaction Summary
Install 1 Package
Total download size: 440 k
Installed size: 1.6 M
Is this ok [y/d/N]: y
Downloading packages:
nano-2.3.1-10.el7.x86_64.rpm
| 440 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : nano-2.3.1-10.el7.x86_64
1/1
Verifying : nano-2.3.1-10.el7.x86_64
1/1
Installed:
nano.x86_64 0:2.3.1-10.el7
Complete!
[root@centos rdc]#
Nano metin düzenleyicisini kurduk. Bu IMO yöntemi, web sitelerinde yardımcı programları aramaktan ve yükleyicileri manuel olarak çalıştırmaktan çok daha kolaydır. Ayrıca, havuzlar, yum ile güvenilir bir kaynaktan geldiklerini garanti etmek için paketleri doğrulamak için dijital imzalar kullanır. Yeni depolara güvenirken kimlik doğrulaması yöneticiye kalmıştır. Bu nedenle, üçüncü şahıs depolarından bıkmak en iyi uygulama olarak kabul edilir.
Yum, bir paketi çıkarmak için de kullanılabilir.
[root@centos rdc]# yum remove nano
Loaded plugins: fastestmirror, langpacks
Resolving Dependencies
--> Running transaction check
---> Package nano.x86_64 0:2.3.1-10.el7 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
Şimdi güncellemeleri kontrol edelim.
[root@centos rdc]# yum list updates
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.keystealth.org
* epel: pubmirror1.math.uh.edu
* extras: centos.den.host-engine.com
* updates: repos.forethought.net
Updated Packages
NetworkManager.x86_64 1:1.4.0-17.el7_3 updates
NetworkManager-adsl.x86_64 1:1.4.0-17.el7_3 updates
NetworkManager-glib.x86_64 1:1.4.0-17.el7_3 updates
NetworkManager-libnm.x86_64 1:1.4.0-17.el7_3 updates
NetworkManager-team.x86_64 1:1.4.0-17.el7_3 updates
NetworkManager-tui.x86_64 1:1.4.0-17.el7_3 updates
NetworkManager-wifi.x86_64 1:1.4.0-17.el7_3 updates
audit.x86_64 2.6.5-3.el7_3.1 updates
audit-libs.x86_64 2.6.5-3.el7_3.1 updates
audit-libs-python.x86_64
Gösterildiği gibi, yüklenmeyi bekleyen birkaç düzine güncellememiz var. Aslında, henüz otomatik güncellemeleri yapılandırmadığımız için toplam yaklaşık 100 güncelleme var. Böylece, bekleyen tüm güncellemeleri yükleyelim.
[root@centos rdc]# yum update
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.usc.edu
* epel: pubmirror1.math.uh.edu
* extras: repos.forethought.net
* updates: repos.forethought.net
Resolving Dependencies
--> Running transaction check
---> Package NetworkManager.x86_64 1:1.4.0-14.el7_3 will be updated
---> Package NetworkManager.x86_64 1:1.4.0-17.el7_3 will be an update
selinux-policy noarch 3.13.1102.el7_3.15 updates 414 k
selinux-policy-targeted noarch 3.13.1102.el7_3.15 updates 6.4 M
systemd x86_64 21930.el7_3.7 updates 5.2 M
systemd-libs x86_64 21930.el7_3.7 updates 369 k
systemd-python x86_64 21930.el7_3.7 updates 109 k
systemd-sysv x86_64 21930.el7_3.7 updates 63 k
tcsh x86_64 6.18.01-13.el7_3.1 updates 338 k
tzdata noarch 2017a1.el7 updates 443 k
tzdata-java noarch 2017a1.el7 updates 182 k
wpa_supplicant x86_64 1:2.021.el7_3 updates 788 k
Transaction Summary
===============================================================================
Install 2 Packages
Upgrade 68 Packages
Total size: 196 M
Total download size: 83 M
Is this ok [y/d/N]:
"Y" tuşuna bastıktan sonra, CentOS 7'nin güncellenmesi başlayacaktır. Yum'un güncelleme sırasında geçirdiği genel süreç şudur:
- Mevcut paketleri kontrol eder
- Güncellenmiş paketler için depoya bakar
- Güncellenen paketler için gereken bağımlılıkları hesaplar
- Güncellemeleri indirir
- Güncellemeleri yükler
Şimdi, sistemimizin güncel olduğundan emin olalım -
[root@centos rdc]# yum list updates
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* updates: mirror.compevo.com
[root@centos rdc]#
Gördüğünüz gibi, listelenen güncelleme yok.
YUM için Otomatik Güncellemeleri Yapılandırma
Daha önce belirtildiği gibi bir Kurumsal ortamda, otomatik güncellemeler tercih edilen yükleme yöntemi olabilir veya olmayabilir. Yum ile otomatik güncellemeleri yapılandırma adımlarını gözden geçirelim.
İlk önce yum-cron adında bir paket kuruyoruz .
[root@centos rdc]# yum -y install yum-cron
Install 1 Package
Total download size: 61 k
Installed size: 51 k
Downloading packages:
yum-cron-3.4.3-150.el7.centos.noarch.rpm
| 61 kB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : yum-cron-3.4.3-150.el7.centos.noarch
1/1
Verifying : yum-cron-3.4.3-150.el7.centos.noarch
1/1
Installed:
yum-cron.noarch 0:3.4.3-150.el7.centos
Complete!
[root@centos rdc]#
Yum-cron , varsayılan olarak yalnızca güncellemeleri indirir ve yüklemez. Güncellemelerin otomatik olarak yüklenip yüklenmeyeceği Yöneticiye bağlıdır. En büyük uyarı şudur: bazı güncellemeler sistemin yeniden başlatılmasını gerektirecektir. Ayrıca, bazı güncellemeler, hizmetlerin yeniden çalışmaya başlaması için bir yapılandırma değişikliği gerektirebilir.
Bağımlılıkları güncellemek, aşağıdaki durumda muhtemelen yinelemeli bir sorun oluşturabilir:
Yum tarafından belirli bir kitaplık için bir güncelleme önerilir
Kitaplık yalnızca Apache Server 2.4'ü destekliyor, ancak sunucumuz 2.3 var
Ticaret sitemiz belirli bir PHP sürümüne güveniyor
Kitaplık için kurulan Apache'nin yeni sürümü PHP'nin yükseltilmesini gerektiriyor
Üretim web uygulamalarımız henüz yeni PHP sürümüyle test edilmemiştir
Yum devam edebilir ve yapılandırılmamışsa Apache ve PHP'yi haber vermeden otomatik olarak yükseltebilir.
5 senaryonun tümü gerçekleşirse, sabahları büyük bir baş ağrısından kullanıcı verilerini açığa çıkaran olası bir güvenlik tehlikesine kadar her şeye neden olabilir. Yukarıda bahsedilen örnek mükemmel bir çeşit fırtına olsa da, böyle bir senaryonun gerçekleşmesini asla istemiyoruz.
Güncelleme yeniden başlatmalarından ve yeniden yapılandırmalardan kaynaklanan olası kesinti süreleri nedeniyle hizmetleri geri yüklemek için gereken zamandan kaynaklanan olası gelir kaybı senaryolarına erişmek Yöneticinin sorumluluğundadır. Bu uygulama, örneğin milyonlarca müşteriye sahip günlük multi-milyon dolarlık bir e-ticaret sitesi için yeterince muhafazakar olmayabilir.
Şimdi yum-cron'u sistem güncellemelerini otomatik olarak yükleyecek şekilde yapılandıralım .
[root@centos rdc]# vim /etc/yum/yum-cron.conf
# Whether updates should be applied when they are available. Note
# that download_updates must also be yes for the update to be applied.
apply_updates = yes
Apply_updates = no değerini apply_updates = yes olarak değiştirmek istiyoruz . Şimdi yum-cron için güncelleme aralığını yapılandıralım .
Yine, otomatik güncellemeleri kullanıp kullanmamak ve talep üzerine güncellemeleri yüklemek, iki ucu keskin bir kılıç olabilir ve her benzersiz durum için bir yönetici tarafından dikkate alınması gerekir.