In diesem Artikel werden wir besprechen, wie man Pakete in Red Hat Enterprise Linux 7 installiert, aktualisiert und entfernt. Wir werden auch erläutern, wie man Aufgaben mithilfe von cron automatisieren kann, und diesen Leitfaden abschließen, indem wir erklären, wie man Systemprotokolldateien findet und interpretiert, wobei der Schwerpunkt darauf liegt, Ihnen beizubringen, warum all dies unverzichtbare Fähigkeiten für jeden Systemadministrator sind.

Pakete über Yum verwalten
Um ein Paket zusammen mit allen seinen noch nicht installierten Abhängigkeiten zu installieren, verwenden Sie:
# yum -y install package_name(s)
Wobei Paketname(s) mindestens einen echten Paketnamen darstellt.
Zum Beispiel, um httpd und mlocate (in dieser Reihenfolge) zu installieren, geben Sie ein:
# yum -y install httpd mlocate
Anmerkung: Der Buchstabe y im obigen Beispiel umgeht die Bestätigungsaufforderungen, die yum vor dem tatsächlichen Download und der Installation der angeforderten Programme anzeigt. Sie können ihn weglassen, wenn Sie möchten.
Standardmäßig installiert yum das Paket mit der Architektur, die zur OS-Architektur passt, es sei denn, Sie überschreiben dies, indem Sie die Paketarchitektur an seinen Namen anhängen.
Zum Beispiel installiert auf einem 64-Bit-System yum install package die x86_64-Version des Pakets, während yum install package.x86 (falls verfügbar) die 32-Bit-Version installiert.
Es wird Zeiten geben, in denen Sie ein Paket installieren möchten, dessen genauen Namen Sie jedoch nicht kennen. Die Suche alles oder Suche Optionen können jeweils nach einem bestimmten Schlüsselwort im Paketnamen und/oder in seiner Beschreibung in den derzeit aktivierten Repositories suchen.
Zum Beispiel wird
# yum search log
in den installierten Repositories nach Paketen mit dem Wort „log“ in ihren Namen und Zusammenfassungen suchen, während
# yum search all log
nach demselben Schlüsselwort in der Paketbeschreibung und „url“ Feldern suchen wird.
Wenn die Suche eine Paketliste zurückgibt, möchten Sie möglicherweise weitere Informationen zu einigen davon anzeigen, bevor Sie sie installieren. Das ist, wenn die Info Option nützlich sein wird:
# yum info logwatch

Sie können regelmäßig nach Updates suchen mit dem folgenden Befehl:
# yum check-update
Der obige Befehl gibt alle installierten Pakete zurück, für die ein Update verfügbar ist. Im im unten gezeigten Beispiel hat nur rhel-7-server-rpms ein Update verfügbar:

Sie können dann nur dieses Paket aktualisieren mit,
# yum update rhel-7-server-rpms
Wenn mehrere Pakete aktualisiert werden können, wird yum update alle auf einmal aktualisieren.
Was passiert, wenn Sie den Namen einer ausführbaren Datei kennen, wie ps2pdf, aber nicht wissen, welches Paket es bereitstellt? Sie können es mit yum whatprovides “*/[ausführbar]”
herausfinden:
# yum whatprovides “*/ps2pdf”

Wenn es darum geht, ein Paket zu entfernen, können Sie dies mit yum remove Paket tun. Einfach, oder? Das zeigt, dass yum ein umfassender und leistungsstarker Paketmanager ist.
# yum remove httpd
Weiterlesen: 20 Yum-Befehle zur Verwaltung des Paketmanagements von RHEL 7
Gute alte einfache RPM
RPM (auch bekannt als RPM Package Manager oder ursprünglich RedHat Package Manager) kann auch verwendet werden, um Pakete zu installieren oder zu aktualisieren, wenn sie in Form eigenständiger .rpm
Pakete vorliegen.
Es wird oft mit den Flags -Uvh
verwendet, um anzuzeigen, dass das Paket installiert werden soll, wenn es noch nicht vorhanden ist, oder es zu aktualisieren, wenn es installiert ist (-U)
, wobei eine ausführliche Ausgabe (-v)
und eine Fortschrittsanzeige mit Hash-Markierungen (-h)
während der Operation angezeigt werden. Zum Beispiel,
# rpm -Uvh package.rpm
Eine weitere typische Verwendung von rpm besteht darin, eine Liste der aktuell installierten Pakete mit dem Befehl rpm -qa
(kurz für Abfrage alles) zu erstellen:
# rpm -qa

Weiterlesen: 20 RPM-Befehle zum Installieren von Paketen in RHEL 7
Aufgabenplanung mit Cron
Linux und andere Unix-ähnliche Betriebssysteme enthalten ein Tool namens cron, mit dem Sie Aufgaben (d. h. Befehle oder Shell-Skripte) in regelmäßigen Abständen planen können. Cron überprüft jede Minute das Verzeichnis /var/spool/cron nach Dateien, die nach den Konten in /etc/passwd benannt sind.
Beim Ausführen von Befehlen wird jegliche Ausgabe an den Besitzer des Crontab (oder an den im MAILTO-Umgebungsvariablen in der Datei /etc/crontab festgelegten Benutzer) gemailt.
Crontab-Dateien (die durch Eingabe von crontab -e und Drücken von Enter erstellt werden) haben das folgende Format:

Wenn wir beispielsweise die lokale Dateidatenbank (die von „locate“ zum Auffinden von Dateien nach Name oder Muster verwendet wird) jeden zweiten Tag des Monats um 2:15 Uhr aktualisieren möchten, müssen wir den folgenden Crontab-Eintrag hinzufügen:
15 02 2 * * /bin/updatedb
Der obige Crontab-Eintrag lautet: „Führe /bin/updatedb am zweiten Tag des Monats, jeden Monat des Jahres, unabhängig vom Wochentag, um 2:15 Uhr aus„. Wie Sie sicher schon erraten haben, wird das Sternsymbol als Platzhalterzeichen verwendet.
Nach Hinzufügen eines Cron-Jobs können Sie sehen, dass eine Datei namens „root“ im Verzeichnis /var/spool/cron hinzugefügt wurde, wie wir zuvor erwähnt haben. Diese Datei listet alle Aufgaben auf, die der Cron-Daemon ausführen soll:
# ls -l /var/spool/cron

Im obigen Bild kann der Crontab des aktuellen Benutzers entweder mit cat /var/spool/cron/root oder wie folgt angezeigt werden:
# crontab -l
Wenn Sie eine Aufgabe auf einer feineren Basis ausführen müssen (beispielsweise zweimal täglich oder dreimal im Monat), kann Ihnen „cron“ auch dabei helfen.
Zum Beispiel können Sie zwei Crontab-Einträge wie folgt hinzufügen, um /mein/skript am 1. und 15. jeden Monats auszuführen und jegliche Ausgabe an /dev/null zu senden:
01 00 1 * * /myscript > /dev/null 2>&1 01 00 15 * * /my/script > /dev/null 2>&1
Aber um die Wartung der Aufgabe zu erleichtern, können Sie beide Einträge kombinieren:
01 00 1,15 * * /my/script > /dev/null 2>&1
Nach dem vorherigen Beispiel können wir /mein/anderes/skript um 1:30 Uhr am ersten Tag des Monats alle drei Monate ausführen:
30 01 1 1,4,7,10 * /my/other/script > /dev/null 2>&1
Wenn Sie jedoch eine bestimmte Aufgabe alle „x“ Minuten, Stunden, Tage oder Monate wiederholen müssen, können Sie die rechte Position durch die gewünschte Häufigkeit teilen. Der folgende Crontab-Eintrag hat die gleiche Bedeutung wie der vorherige:
30 01 1 */3 * /my/other/script > /dev/null 2>&1
Oder vielleicht müssen Sie eine bestimmte Aufgabe mit fester Frequenz oder nach dem Systemstart ausführen. Anstelle der fünf Felder können Sie eine der folgenden Zeichenfolgen verwenden, um die genaue Zeit anzugeben, zu der Sie möchten, dass Ihre Aufgabe ausgeführt wird:
@reboot Run when the system boots. @yearly Run once a year, same as 00 00 1 1 *. @monthly Run once a month, same as 00 00 1 * *. @weekly Run once a week, same as 00 00 * * 0. @daily Run once a day, same as 00 00 * * *. @hourly Run once an hour, same as 00 * * * *.
Weiterlesen: 11 Befehle zur Planung von Cron-Jobs in RHEL 7
Suchen und Überprüfen von Protokollen
Systemprotokolle befinden sich (und werden rotiert) im Verzeichnis /var/log. Gemäß dem Linux-Dateisystem-Hierarchie-Standard enthält dieses Verzeichnis verschiedene Protokolldateien, die von den entsprechenden Daemons während des Betriebs des Systems in es oder einem geeigneten Unterverzeichnis (wie z. B. audit, httpd oder samba im folgenden Bild) geschrieben werden:
# ls /var/log

Andere interessante Protokolle sind dmesg (enthält alle Nachrichten aus dem Kernel-Ringpuffer), secure (Protokolliert Verbindungsversuche, die eine Benutzerauthentifizierung erfordern), messages (systemweite Nachrichten) und wtmp (Aufzeichnungen aller Benutzeranmeldungen und -abmeldungen).
Protokolle sind sehr wichtig, da sie Ihnen einen Einblick in das Geschehen in Ihrem System zu jeder Zeit und in der Vergangenheit ermöglichen. Sie stellen ein unschätzbares Werkzeug zum Troubleshooting und Überwachen eines Linux-Servers dar und werden daher oft mit dem Befehl tail -f
verwendet, um Ereignisse in Echtzeit anzuzeigen, während sie passieren und in einem Protokoll aufgezeichnet werden.
Zum Beispiel, wenn Sie kernelbezogene Ereignisse anzeigen möchten, geben Sie den folgenden Befehl ein:
# tail -f /var/log/dmesg
Gleiches gilt, wenn Sie auf Ihren Webserverzugriff zugreifen möchten:
# tail -f /var/log/httpd/access.log
Zusammenfassung
Wenn Sie wissen, wie Sie Pakete effizient verwalten, Aufgaben planen und wo Sie Informationen über den aktuellen und vergangenen Betrieb Ihres Systems finden können, können Sie sicher sein, dass Sie nicht allzu oft auf Überraschungen stoßen werden. Ich hoffe, dieser Artikel hat Ihnen geholfen, diese grundlegenden Fähigkeiten zu erlernen oder aufzufrischen.
Zögern Sie nicht, uns über das untenstehende Kontaktformular zu kontaktieren, wenn Sie Fragen oder Kommentare haben.
Source:
https://www.tecmint.com/yum-package-management-cron-job-scheduling-monitoring-linux-logs/