Linux Admin - Systemaktualisierungen
Das CentOS 7-System kann auf drei Arten aktualisiert werden:
- Manually
- Automatically
- Aktualisieren Sie manuell auf wichtige Sicherheitsprobleme und konfigurieren Sie automatische Updates
In einer Produktionsumgebung wird empfohlen, die Aktualisierung für Produktionsserver manuell durchzuführen. Oder erstellen Sie zumindest einen Aktualisierungsplan, damit der Administrator die für den Geschäftsbetrieb wichtigen Dienste sicherstellen kann.
Es ist plausibel, dass ein einfaches Sicherheitsupdate rekursive Probleme mit allgemeinen Anwendungen verursachen kann, die ein Upgrade und eine Neukonfiguration durch einen Administrator erfordern. Seien Sie also müde, automatische Updates in der Produktion zu planen, bevor Sie zuerst auf Entwicklungsservern und Desktops testen.
Manuelles Aktualisieren von CentOS 7
Um CentOS 7 zu aktualisieren, sollten wir uns mit dem Befehl yum vertraut machen .yumwird für den Umgang mit Paket-Repositorys in CentOS 7 verwendet. yum ist das häufig verwendete Tool für -
- Aktualisieren Sie das CentOS 7 Linux-System
- Suche nach Paketen
- Installieren Sie Pakete
- Erkennen und installieren Sie die erforderlichen Abhängigkeiten für Pakete
Um yum für Updates verwenden zu können, muss Ihr CentOS-Server mit dem Internet verbunden sein. Die meisten Konfigurationen installieren ein Basissystem und fragen dann mit yum das Haupt-CentOS-Repository nach zusätzlichen Funktionen in Paketen ab und wenden Systemaktualisierungen an.
Wir haben yum bereits verwendet , um einige Pakete zu installieren. Wenn Sie yum verwenden, müssen Sie dies immer als Root-Benutzer tun. Oder ein Benutzer mit Root-Zugriff. Suchen und installieren wir also einen benutzerfreundlichen Texteditor namens nano .
[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]#
Lassen Sie uns nun den Nano- Texteditor installieren .
[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]#
Wir haben den Nano-Texteditor installiert. Diese Methode, IMO, ist viel einfacher als die Suche nach Dienstprogrammen auf Websites und das manuelle Ausführen der Installationsprogramme. Außerdem verwenden Repositorys digitale Signaturen, um Pakete zu validieren und sicherzustellen, dass sie von einer vertrauenswürdigen Quelle mit yum stammen. Es ist Sache des Administrators, die Authentizität zu überprüfen, wenn er neuen Repositorys vertraut. Aus diesem Grund wird es als bewährte Methode angesehen, Repositorys von Drittanbietern überdrüssig zu sein.
Yum kann auch zum Entfernen eines Pakets verwendet werden.
[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
Lassen Sie uns nun nach Updates suchen.
[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
Wie abgebildet müssen noch einige Dutzend Updates installiert werden. Tatsächlich gibt es insgesamt etwa 100 Updates, da wir automatische Updates noch nicht konfiguriert haben. Installieren wir daher alle ausstehenden Updates.
[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]:
Nach dem Drücken der Taste "y" beginnt die Aktualisierung von CentOS 7. Der allgemeine Prozess, den yum beim Aktualisieren durchläuft, ist -
- Überprüft die aktuellen Pakete
- Sucht im Repository nach aktualisierten Paketen
- Berechnet die für aktualisierte Pakete erforderlichen Abhängigkeiten
- Lädt Updates herunter
- Installiert Updates
Stellen wir jetzt sicher, dass unser System auf dem neuesten Stand ist -
[root@centos rdc]# yum list updates
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* updates: mirror.compevo.com
[root@centos rdc]#
Wie Sie sehen können, sind keine Updates aufgeführt.
Konfigurieren Sie automatische Updates für YUM
In einer Unternehmensumgebung können, wie bereits erwähnt, automatische Updates die bevorzugte Installationsmethode sein oder auch nicht. Lassen Sie uns die Schritte zum Konfigurieren automatischer Updates mit yum durchgehen.
Zuerst installieren wir ein Paket namens yum-cron .
[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]#
Standardmäßig lädt yum-cron nur Updates herunter und installiert sie nicht. Ob Updates automatisch installiert werden sollen, hängt vom Administrator ab. Die größte Einschränkung ist: Einige Updates erfordern einen Neustart des Systems. Außerdem erfordern einige Updates möglicherweise eine Konfigurationsänderung, bevor die Dienste wieder betriebsbereit sind.
Das Aktualisieren von Abhängigkeiten kann in der folgenden Situation möglicherweise zu einem rekursiven Problem führen:
Ein Update wird von yum für eine bestimmte Bibliothek empfohlen
Die Bibliothek unterstützt nur Apache Server 2.4, aber wir haben Server 2.3
Unsere Commerce-Website basiert auf einer bestimmten Version von PHP
Die neue Version von Apache, die für die Bibliothek installiert wurde, erfordert ein Upgrade von PHP
Unsere Produktionswebanwendungen wurden noch nicht mit der neueren PHP-Version getestet
Yum kann Apache und PHP ohne Vorankündigung automatisch aktualisieren, sofern dies nicht konfiguriert ist.
Wenn alle fünf Szenarien ablaufen, kann dies zu starken Kopfschmerzen am Morgen und zu einem möglichen Sicherheitskompromiss führen, bei dem die Benutzerdaten offengelegt werden. Während das oben erwähnte Beispiel eine Art perfekter Sturm ist, wollen wir nie, dass sich ein solches Szenario abspielt.
Es ist Sache des Administrators, auf mögliche Szenarien mit potenziellen Einnahmeverlusten zuzugreifen, die für die Wiederherstellung von Diensten aufgrund möglicher Ausfallzeiten aufgrund von Neustarts und Neukonfigurationen erforderlich sind. Diese Vorgehensweise ist möglicherweise nicht konservativ genug für beispielsweise eine E-Commerce-Website mit mehreren Millionen Dollar pro Tag und Millionen von Kunden.
Jetzt konfigurieren wir yum-cron so , dass Systemupdates automatisch installiert werden.
[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
Wir möchten apply_updates = no in apply_updates = yes ändern . Konfigurieren wir nun das Aktualisierungsintervall für yum-cron .
Auch hier kann die Frage, ob automatische Updates verwendet und Updates bei Bedarf installiert werden sollen, ein zweischneidiges Schwert sein und muss von einem Administrator für jede einzelne Situation geprüft werden.