Commandes de base pour les nouveaux administrateurs Linux
Pour gérer des serveurs Linux, les administrateurs Windows ont besoin de connaître quelques commandes pour voir, démarrer et stopper des processus.
Si vous êtes un administrateur Windows et que vous faites vos premiers pas avec Linux, il peut être utile de connaître quelques commandes basiques pour la gestion des processus. Quelle que soit la version de Linux que vous utilisez, tous les services s’exécutent sous la forme de processus sur votre serveur.
Déterminer les services en cours d’exécution
La première commande à connaître pour commencer à gérer les processus sur un serveur Linux est la commande ps , qui permet de lister les processus actifs. Depuis la ligne de commande, connectez-vous en tant que root . Vous pouvez le faire en tapant root lors du login et en saisissant le mot de passe associé ou en utilisant la commande sudo su pour ouvrir un shell en mode root.
Normalement la liste des processus que ps affiche est courte puisque la commande ne montre par défaut que les processus que vous avez lancés depuis le shell courant (voir figure 1.). Mais bien plus de processus sont actifs sur le serveur et il est possible d’en obtenir une liste complète en tapant la commande ps aux. Sur un serveur typique ne faisant rien de spécial, près de 150 processus sont actifs, voire plus.
Les administrateurs Linux cherchent souvent à savoir si un processus spécifique est actif. Plutôt que de parcourir la liste des processus actifs renvoyée par la commande ps, il est possible d’utiliser des « pipes » et la commande grep. L’utilisation des « pipes » consiste à faire traiter le résultat produit par une première commande par une seconde commande placée après le symbole de pipe (on appelle "pipe" la barre verticale ("|") que l’on obtient au moyen des touches Alt-gr et 6) : La seconde commande traitera les données fournies par la première. Il est ainsi possible d’utiliser la commande grep dans une pour chercher une série donnée de caractères parmi les résultats d’une commande. Par exemple, pour savoir si le serveur web Apache est en cours d’exécution, il est possible de chercher les lignes contenant le texte httpd, en utilisant la commande ps aux | grep httpd. La commande ps génère une liste de tous les processus en cours d’exécution, liste que la commande grep va ensuite filtrer pour ne montrer que les processus contenant le texte httpd (voir figure 3).
Lancer des services
Si le processus que vous recherchez n’est pas actif, il est possible de le lancer manuellement. Sur la plupart des distributions Linux, le dossier /etc/init.d contient une liste de scripts qu’il est possible d’éditer pour lancer des services : tapez cd /etc/init.d pour accéder à ce répertoire, puis ls pour afficher la liste des services actifs (cf figure 4). Cette procédure fonctionne avec la plupart des distributions, mais peut ne pas fonctionner avec certaines des distributions Linux les plus récentes qui utilisent des mécanismes d’initialisation de services différents (Core OS en est un exemple).
Dans la plupart des cas, les noms des scripts de démarrage de services sont intelligibles. Par exemple, le processus Apache httpd est lancé par le script de service httpd (cf figure 4). Une fois que vous avez localisé le nom du script qui vous intéresse dans le répertoire /etc/init.d, il est possible de la lancer avec la commande service . Dans l’exemple d’Apache, la commande à taper est service httpd start.
La commande service peut être utilisée dans d’autres buts, par exemple pour relancer un service ou obtenir des informations sur l’état d’un service. Par exemple pour déterminer si le service httpd est actif, il est possible d’utiliser service httpd status. Si le service est déjà actif et que vous désirez le redémarrer, il est possible d’entrer service httpd restart.
Par sécurité, veillez à quitter le shell root en tapant la commande exit. Il est en effet recommandé de ne jamais s’éloigner d’une console serveur qui a un shell en mode root actif.
À propos de l’auteur : Sander van Vugt est un formateur indépendant et consultant basé aux Pays-Bas. Il est expert de sujets comme la haute disponibilité en environnements Linux, la virtualisation et l’optimisation de performances. Il est l’auteur de plusieurs ouvrages en anglais sur Linux dont Beginning the Linux Command Line, Beginning Ubuntu LTS Server Administration et Pro Ubuntu Server Administration.