GNU/Linux >> Tutoriels Linux >  >> Linux

9 choses à faire dans vos 10 premières minutes sur un serveur Linux

Lorsque je teste des logiciels sous Linux (une partie régulière de mon travail), je dois utiliser plusieurs serveurs avec différentes architectures exécutant Linux. J'approvisionne les machines, j'installe les packages logiciels requis, j'exécute mes tests, je rassemble les résultats et je renvoie la machine au pool afin que d'autres puissent l'utiliser pour leurs tests.

Plus de ressources Linux

  • Aide-mémoire des commandes Linux
  • Aide-mémoire des commandes Linux avancées
  • Cours en ligne gratuit :Présentation technique de RHEL
  • Aide-mémoire sur le réseau Linux
  • Aide-mémoire SELinux
  • Aide-mémoire sur les commandes courantes de Linux
  • Que sont les conteneurs Linux ?
  • Nos derniers articles Linux

Comme je le fais si souvent (même plusieurs fois par jour), mes 10 premières minutes sur un serveur Linux sont devenues un rituel quotidien. Lorsque je me connecte pour la première fois à un serveur Linux, je recherche certaines choses à l'aide de commandes pour rassembler les informations dont j'ai besoin. Je vais passer en revue mon processus dans cet article, mais veuillez noter que, dans la plupart des cas, je donnerai simplement le nom de la commande, vous devrez donc identifier les drapeaux spécifiques pour ces commandes pour obtenir les informations dont vous avez besoin. La lecture des pages de manuel pour les commandes est un bon point de départ.

1. Premier contact

Dès que je me connecte à un serveur, la première chose que je fais est de vérifier s'il dispose du système d'exploitation, du noyau et de l'architecture matérielle nécessaires aux tests que je vais exécuter. Je vérifie souvent depuis combien de temps un serveur est opérationnel. Bien que cela n'ait pas beaucoup d'importance pour un système de test car il sera redémarré plusieurs fois, je trouve toujours cette information utile.

Utilisez les commandes suivantes pour obtenir ces informations. J'utilise principalement Red Hat Linux pour les tests, donc si vous utilisez une autre distribution Linux, utilisez *-release dans le nom du fichier au lieu de redhat-release :

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

2. Y a-t-il quelqu'un d'autre à bord ?

Une fois que je sais que la machine répond à mes besoins de test, je dois m'assurer que personne d'autre n'est connecté au système en même temps qu'il exécute ses propres tests. Bien que cela soit hautement improbable, étant donné que le système de provisionnement s'en charge pour moi, il est toujours bon de vérifier de temps en temps, surtout si c'est la première fois que je me connecte à un serveur. Je vérifie également s'il y a d'autres utilisateurs (autres que root) qui peuvent accéder au système.

Utilisez les commandes suivantes pour trouver ces informations. La dernière commande recherche les utilisateurs dans le /etc/passwd fichier qui ont accès au shell ; il ignore les autres services du fichier qui n'ont pas d'accès au shell ou dont le shell est défini sur nologin :

qui
qui -Hu
grep sh$ /etc/passwd

3. Machine physique ou virtuelle

Maintenant que je sais que j'ai la machine pour moi tout seul, je dois identifier s'il s'agit d'une machine physique ou d'une machine virtuelle (VM). Si je provisionnais la machine moi-même, je pourrais être sûr d'avoir ce que j'ai demandé. Toutefois, si vous utilisez une machine que vous n'avez pas provisionnée, vous devez vérifier si la machine est physique ou virtuelle.

Utilisez les commandes suivantes pour identifier ces informations. S'il s'agit d'un système physique, vous verrez le nom du fournisseur (par exemple, HP, IBM, etc.) ainsi que la marque et le modèle du serveur ; alors que, dans une machine virtuelle, vous devriez voir KVM, VirtualBox, etc., selon le logiciel de virtualisation utilisé pour créer la VM :

dmidecode -s fabricant-système
dmidecode -s nom-produit-système
lshw -c système | grep produit | head -1
cat /sys/class/dmi/id/product_name
cat /sys/class/dmi/id/sys_vendor

4. Matériel

Parce que je teste souvent du matériel connecté à la machine Linux, je travaille généralement avec des serveurs physiques, pas des machines virtuelles. Sur une machine physique, ma prochaine étape consiste à identifier les capacités matérielles du serveur, par exemple, quel type de processeur est en cours d'exécution, combien de cœurs possède-t-il, quels indicateurs sont activés et combien de mémoire est disponible pour exécuter des tests. Si j'exécute des tests de réseau, je vérifie le type et la capacité de l'Ethernet ou des autres périphériques réseau connectés au serveur.

Utilisez les commandes suivantes pour afficher le matériel connecté à un serveur Linux. Certaines commandes peuvent être obsolètes dans les nouvelles versions du système d'exploitation, mais vous pouvez toujours les installer à partir de yum repos ou passer à leurs nouvelles commandes équivalentes :

lscpu ou cat /proc/cpuinfo
lsmem ou cat /proc/meminfo
ifconfig -a
ethtool
lshw
lspci
dmidecode

5. Logiciel installé

Tester un logiciel nécessite toujours d'installer des packages, des bibliothèques, etc. , et je peux déboguer tout problème d'installation de paquet.

Utilisez les commandes suivantes pour identifier le logiciel installé :

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

6. Exécution de processus et de services

Une fois que j'ai vérifié le logiciel installé, il est naturel de vérifier quels processus sont en cours d'exécution sur le système. Ceci est crucial lors de l'exécution d'un test de performances sur un système - si un processus en cours d'exécution, un démon, un logiciel de test, etc. consomme la majeure partie du CPU/RAM, il est logique d'arrêter ce processus avant d'exécuter les tests. Cela vérifie également que les processus ou les démons requis par le test sont opérationnels. Par exemple, si les tests nécessitent l'exécution de httpd, le service de démarrage du démon peut ne pas s'être exécuté même si le package est installé.

Utilisez les commandes suivantes pour identifier les processus en cours d'exécution et les services activés sur votre système :

pstree -pa 1
ps -ef
ps auxf
systemctl

7. Connexions réseau

Les machines d'aujourd'hui sont fortement connectées en réseau et doivent communiquer avec d'autres machines ou services sur le réseau. J'identifie les ports ouverts sur le serveur, s'il existe des connexions entre le réseau et la machine de test, si un pare-feu est activé et, le cas échéant, bloque-t-il des ports et à quels serveurs DNS la machine communique.

Utilisez les commandes suivantes pour identifier les informations relatives aux services réseau. Si une commande obsolète n'est pas disponible, installez-la à partir d'un dépôt yum ou utilisez la commande équivalente plus récente :

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

8. Noyau

Lors des tests de systèmes, je trouve utile de connaître les informations relatives au noyau, telles que la version du noyau et les modules du noyau qui sont chargés. Je liste également tous les paramètres de noyau réglables et leur définition et vérifie les options utilisées lors du démarrage du noyau en cours d'exécution.

Utilisez les commandes suivantes pour identifier ces informations :

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

9. Journaux

À présent, j'ai une bonne idée du serveur, y compris des logiciels installés et des processus en cours d'exécution. Une autre chose à laquelle je ne peux pas échapper, ce sont les fichiers journaux :j'ai besoin de savoir où vérifier les informations qui sont continuellement mises à jour.

Utilisez les commandes suivantes pour voir les journaux de votre système :

dmesg
tail -f /var/log/messages
journalctl

Étapes suivantes

Bien que les commandes et les utilitaires changent, les informations sous-jacentes qu'ils affichent restent plus ou moins les mêmes. Vous avez besoin d'une vue d'ensemble des informations que vous recherchez et de la catégorie à laquelle elles appartiennent avant de pouvoir vous concentrer sur les commandes à maîtriser.

Étant donné que Linux enregistre la plupart des informations dans des fichiers, ces commandes lisent essentiellement les informations des fichiers et les présentent d'une manière facile à comprendre. Une bonne étape suivante consiste à identifier les fichiers que chaque commande utilise pour obtenir les informations à afficher. Un indice pour trouver cette information est le strace commande.


Linux
  1. Affichez les connexions réseau de votre serveur Linux avec netstat

  2. Configurez votre serveur OpenVPN sous Linux

  3. Installez OpenVPN sur votre PC Linux

  4. 7 étapes pour sécuriser votre serveur Linux

  5. Comment utiliser OpenSSH pour se connecter à votre serveur Linux

Comment installer KernelCare sur votre serveur Linux

Comment vérifier la charge de votre serveur dans le système Linux

12 choses à faire après l'installation d'un serveur Linux

Comment vérifier la disponibilité de votre serveur Linux

Comment configurer un démon Rsync sur votre serveur Linux

Comment configurer un pare-feu sur votre serveur Linux