GNU/Linux >> LINUX-Kenntnisse >  >> Linux

9 Dinge, die Sie in den ersten 10 Minuten auf einem Linux-Server tun sollten

Wenn ich Software unter Linux teste (ein regelmäßiger Teil meiner Arbeit), muss ich mehrere Server mit verschiedenen Architekturen verwenden, auf denen Linux ausgeführt wird. Ich stelle die Maschinen bereit, installiere die erforderlichen Softwarepakete, führe meine Tests durch, sammle die Ergebnisse und gebe die Maschine an den Pool zurück, damit andere sie für ihre Tests verwenden können.

Weitere Linux-Ressourcen

  • Spickzettel für Linux-Befehle
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Kostenloser Online-Kurs:RHEL Technical Overview
  • Spickzettel für Linux-Netzwerke
  • SELinux-Spickzettel
  • Spickzettel für allgemeine Linux-Befehle
  • Was sind Linux-Container?
  • Unsere neuesten Linux-Artikel

Da ich das so oft mache (sogar mehrmals am Tag), sind meine ersten 10 Minuten auf einem Linux-Server zu einem täglichen Ritual geworden. Wenn ich mich zum ersten Mal bei einem Linux-Server anmelde, suche ich mithilfe von Befehlen nach bestimmten Dingen, um die benötigten Informationen zu sammeln. Ich werde meinen Prozess in diesem Artikel durchgehen, aber bitte beachten Sie, dass ich in den meisten Fällen nur den Befehlsnamen gebe, sodass Sie die spezifischen Flags für diese Befehle identifizieren müssen, um die benötigten Informationen zu erhalten. Das Lesen der Manpages für die Befehle ist ein guter Ausgangspunkt.

1. Erstkontakt

Sobald ich mich bei einem Server anmelde, überprüfe ich als Erstes, ob er über das Betriebssystem, den Kernel und die Hardwarearchitektur verfügt, die für die von mir durchgeführten Tests erforderlich sind. Ich überprüfe oft, wie lange ein Server läuft. Während dies für ein Testsystem nicht sehr wichtig ist, da es mehrere Male neu gestartet wird, finde ich diese Informationen dennoch hilfreich.

Verwenden Sie die folgenden Befehle, um diese Informationen abzurufen. Ich verwende meistens Red Hat Linux zum Testen, wenn Sie also eine andere Linux-Distribution verwenden, verwenden Sie *-release im Dateinamen anstelle von redhat-release :

cat /etc/redhat-release
uname -a
hostnamectl
uptime

2. Ist noch jemand an Bord?

Sobald ich weiß, dass die Maschine meine Testanforderungen erfüllt, muss ich sicherstellen, dass niemand anderes beim System angemeldet ist, während er gleichzeitig seine eigenen Tests durchführt. Obwohl es sehr unwahrscheinlich ist, da das Provisioning-System dies für mich erledigt, ist es dennoch gut, es von Zeit zu Zeit zu überprüfen – insbesondere, wenn ich mich zum ersten Mal bei einem Server anmelde. Ich überprüfe auch, ob es andere Benutzer (außer root) gibt, die auf das System zugreifen können.

Verwenden Sie die folgenden Befehle, um diese Informationen zu finden. Der letzte Befehl sucht nach Benutzern in /etc/passwd Datei, die Shell-Zugriff haben; es überspringt andere Dienste in der Datei, die keinen Shell-Zugriff haben oder deren Shell auf nologin gesetzt ist :

who
who -Hu
grep sh$ /etc/passwd

3. Physische oder virtuelle Maschine

Jetzt, da ich weiß, dass ich die Maschine für mich alleine habe, muss ich feststellen, ob es sich um eine physische Maschine oder eine virtuelle Maschine (VM) handelt. Wenn ich die Maschine selbst bereitgestellt hätte, könnte ich sicher sein, dass ich das habe, wonach ich gefragt habe. Wenn Sie jedoch eine Maschine verwenden, die Sie nicht bereitgestellt haben, sollten Sie prüfen, ob die Maschine physisch oder virtuell ist.

Verwenden Sie die folgenden Befehle, um diese Informationen zu identifizieren. Wenn es sich um ein physisches System handelt, sehen Sie den Namen des Anbieters (z. B. HP, IBM usw.) sowie die Marke und das Modell des Servers. wohingegen Sie in einer virtuellen Maschine KVM, VirtualBox usw. sehen sollten, je nachdem, welche Virtualisierungssoftware zum Erstellen der VM verwendet wurde:

dmidecode -s Systemhersteller
dmidecode -s Systemproduktname
lshw -c System | grep-Produkt | head -1
cat /sys/class/dmi/id/product_name
cat /sys/class/dmi/id/sys_vendor

4. Hardware

Da ich oft Hardware teste, die mit der Linux-Maschine verbunden ist, arbeite ich normalerweise mit physischen Servern, nicht mit VMs. Auf einer physischen Maschine besteht mein nächster Schritt darin, die Hardwarefähigkeiten des Servers zu identifizieren – zum Beispiel, welche Art von CPU läuft, wie viele Kerne sie hat, welche Flags aktiviert sind und wie viel Arbeitsspeicher für die Ausführung von Tests verfügbar ist. Wenn ich Netzwerktests durchführe, überprüfe ich den Typ und die Kapazität des Ethernets oder anderer mit dem Server verbundener Netzwerkgeräte.

Verwenden Sie die folgenden Befehle, um die mit einem Linux-Server verbundene Hardware anzuzeigen. Einige der Befehle sind in neueren Betriebssystemversionen möglicherweise veraltet, aber Sie können sie immer noch aus Yum-Repositorys installieren oder zu den entsprechenden neuen Befehlen wechseln:

lscpu oder cat /proc/cpuinfo
lsmem oder cat /proc/meminfo
ifconfig -a
ethtool
lshw
lspci
dmidcode

5. Installierte Software

Das Testen von Software erfordert immer die Installation zusätzlicher abhängiger Pakete, Bibliotheken usw. Bevor ich jedoch etwas installiere, überprüfe ich, was bereits installiert ist (einschließlich der Version) und welche Repos konfiguriert sind, damit ich weiß, woher die Software stammt , und ich kann alle Probleme bei der Paketinstallation beheben.

Verwenden Sie die folgenden Befehle, um festzustellen, welche Software installiert ist:

rpm -qa 
rpm -qa | grep
rpm -qi
yum repolist
yum Repoinfo
yum install
ls -l /etc/yum.repos.d /

6. Ausführen von Prozessen und Diensten

Sobald ich die installierte Software überprüfe, ist es selbstverständlich, zu prüfen, welche Prozesse auf dem System ausgeführt werden. Dies ist entscheidend, wenn ein Leistungstest auf einem System ausgeführt wird – wenn ein laufender Prozess, Daemon, Testsoftware usw. den größten Teil der CPU/RAM verbraucht, ist es sinnvoll, diesen Prozess vor dem Ausführen der Tests zu stoppen. Dadurch wird auch überprüft, ob die für den Test erforderlichen Prozesse oder Daemons betriebsbereit sind und ausgeführt werden. Wenn beispielsweise für die Tests httpd ausgeführt werden muss, wurde der Dienst zum Starten des Daemons möglicherweise nicht ausgeführt, selbst wenn das Paket installiert ist.

Verwenden Sie die folgenden Befehle, um laufende Prozesse und aktivierte Dienste auf Ihrem System zu identifizieren:

pstree -pa 1
ps -ef
ps auxf
systemctl

7. Netzwerkverbindungen

Heutige Maschinen sind stark vernetzt und müssen mit anderen Maschinen oder Diensten im Netzwerk kommunizieren. Ich identifiziere, welche Ports auf dem Server offen sind, ob Verbindungen vom Netzwerk zur Testmaschine bestehen, ob eine Firewall aktiviert ist und wenn ja, welche Ports blockiert werden und mit welchen DNS-Servern die Maschine kommuniziert.

Verwenden Sie die folgenden Befehle, um Informationen zu Netzwerkdiensten zu identifizieren. Wenn ein veralteter Befehl nicht verfügbar ist, installieren Sie ihn aus einem yum-Repo oder verwenden Sie den entsprechenden neueren Befehl:

netstat -tulpn
netstat -anp
lsof -i
ss
iptables -L -n
cat /etc/resolv.conf

8. Kern

Beim Testen von Systemen finde ich es hilfreich, Kernel-bezogene Informationen zu kennen, wie die Kernel-Version und welche Kernel-Module geladen sind. Ich liste auch alle einstellbaren Kernel-Parameter und ihre Einstellungen auf und überprüfe die Optionen, die beim Booten des laufenden Kernels verwendet werden.

Verwenden Sie die folgenden Befehle, um diese Informationen zu identifizieren:

uname -r
cat /proc/cmdline
lsmod
modinfo
sysctl -a
cat /boot/grub2/grub.cfg

9. Protokolle

Inzwischen habe ich eine gute Vorstellung vom Server, einschließlich der installierten Software und der laufenden Prozesse. Eine andere Sache, der ich nicht entkommen kann, sind Protokolldateien – ich muss wissen, wo ich die Informationen überprüfen kann, die ständig aktualisiert werden.

Verwenden Sie die folgenden Befehle, um die Protokolle Ihres Systems anzuzeigen:

dmesg
tail -f /var/log/messages
journalctl

Nächste Schritte

Während sich Befehle und Dienstprogramme ändern, bleiben die zugrunde liegenden Informationen, die sie anzeigen, mehr oder weniger gleich. Sie benötigen einen allgemeinen Überblick über die Informationen, nach denen Sie suchen, und darüber, in welche Kategorie sie fallen, bevor Sie sich darauf konzentrieren können, welche Befehle Sie beherrschen müssen.

Da Linux die meisten Informationen in Dateien speichert, lesen diese Befehle im Wesentlichen Informationen aus den Dateien und präsentieren sie auf leicht verständliche Weise. Ein guter nächster Schritt besteht darin, die Dateien zu identifizieren, die jeder Befehl verwendet, um die anzuzeigenden Informationen abzurufen. Ein Hinweis zum Auffinden dieser Informationen ist der strace Befehl.


Linux
  1. Zeigen Sie die Netzwerkverbindungen Ihres Linux-Servers mit netstat an

  2. Konfigurieren Sie Ihren OpenVPN-Server unter Linux

  3. Installieren Sie OpenVPN auf Ihrem Linux-PC

  4. 7 Schritte zur Sicherung Ihres Linux-Servers

  5. So verwenden Sie OpenSSH, um eine Verbindung zu Ihrem Linux-Server herzustellen

So installieren Sie KernelCare auf Ihrem Linux-Server

So überprüfen Sie Ihre Serverlast im Linux-System

12 Dinge, die nach der Installation eines Linux-Servers zu tun sind

So überprüfen Sie die Betriebszeit Ihres Linux-Servers

So richten Sie einen Rsync-Daemon auf Ihrem Linux-Server ein

So richten Sie eine Firewall auf Ihrem Linux-Server ein