Ce guide fournit une liste d'outils utiles pour les administrateurs système Linux. Cette liste n'inclut aucun programme complexe (comme Ansible, Puppet) qui nécessite une courbe d'apprentissage abrupte pour être configuré et utilisé en production. La plupart des outils donnés ici ne sont que des scripts et sont très faciles à installer et à utiliser en temps réel. Si vous êtes un administrateur système Linux/Unix en herbe qui a une expérience limitée, utilisez ces programmes pour faire le travail facilement et rapidement. Ces outils ne sont peut-être pas toujours utiles, mais certains d'entre eux peuvent être utiles.
À propos de Sysadmin-util
Sysadmin-util est une collection de scripts qui aide les administrateurs système et les utilisateurs novices à effectuer diverses tâches.
Sysadmin-util se compose des scripts suivants :
- il y a
- chronique
- cidr2ip
- réduire
- dupes
- répertoire-vide
- expand-ipv6
- pare-feu affleurant
- graphite_send
- ipaddr
- peut-être
- mk-passwd-hash
- multi-ping
- mysql-slave-check
- pyhttpd
- randpass
- depuis
- afficher
- ssh-auth-types
- test ssh
- ssl-expiration-date
- délai d'expiration
- jusqu'à l'erreur
- jusqu'au succès
- en panne
- quand-up
- quel-coque
- avec cadenas
Voyons comment installer et utiliser certains de ces outils avec des exemples.
Installer sysadmin-util sur Linux
Comme je l'ai déjà dit, l'installation de tous les outils répertoriés ici est triviale. En fait, il n'y a pas besoin d'installer. Clonez simplement son référentiel et commencez à utiliser les outils en un rien de temps.
$ git clone https://github.com/skx/sysadmin-util.git
La commande ci-dessus clonera tout le contenu du référentiel Sysadmin-util dans le répertoire actuel. Cd dans ce répertoire et exécutez tous les outils de votre choix. C'est aussi simple que ça !
Sysadmin-util Fournit les outils utiles suivants pour les administrateurs système Linux
Il y a
Cet outil vous aide à savoir depuis combien de temps un fichier ou un répertoire a été modifié dans un format lisible par l'homme.
Assurez-vous d'être dans le répertoire sysadmin-util :
$ cd sysadmin-util
Pour savoir quand un fichier ou un répertoire a été modifié, il suffit de mentionner son chemin comme ci-dessous.
$ ./ago <path-to-file/directory>
Exemples :
$ ./ago /home/sk/sysadmin-util/ /home/sk/sysadmin-util/ 23 hours ago
$ ./ago /etc/ /etc/ 3 days ago
Comme vous pouvez le voir, /home/sk/sysadmin-util a été modifié il y a 23 heures et /etc/ répertoire a été modifié il y a 3 jours .
Lire connexe :
- Comment surveiller les modifications de fichiers à l'aide de fswatch sous Linux
- Rechercher et trier des fichiers en fonction de l'accès, de la date et de l'heure de modification sous Linux
Chronique
L'outil chronique exécute une commande silencieusement sauf si elle échoue, c'est-à-dire qu'il exécute une commande et masque STDOUT et STDERR s'il se termine avec succès. Il est utile pour les tâches cron . Au lieu d'essayer de garder la commande silencieuse et d'avoir à gérer des e-mails contenant une sortie accidentelle lorsqu'elle réussit, et une sortie pas assez détaillée en cas d'échec, vous pouvez simplement l'exécuter de manière verbeuse toujours et utiliser chronic pour masquer la sortie réussie.
Exemple :
Lors de la création d'une nouvelle tâche cron, au lieu d'utiliser la ligne suivante ;
0 1 * * * backup >/dev/null 2>&1
vous pouvez utiliser :
0 1 * * * chronic backup
Cidr2ip
Il convertit les blocs CIDR en leurs adresses IP constitutives.
Exemple :
$ ./cidr2ip 192.168.225.0/24 192.168.225.0 192.168.225.1 192.168.225.2 192.168.225.3 192.168.225.4 192.168.225.5 [...]
Réduire
L'outil de réduction supprime les lignes vides et les lignes contenant des espaces blancs du ou des fichiers donnés.
Exemple :
$ echo -e "Linux is not an OS.\n It is a Kernel. \n\nGnu/Linux is the OS.\n\n\n\n" | ./collapse Linux is not an OS. It is a Kernel. Gnu/Linux is the OS.
Dupes
L'outil de dupes signalera les fichiers qui sont identiques. Il vous aide à trouver des fichiers en double contenant le même contenu de manière récursive via le hachage SHA1.
Exemple :
$ ./dupes ./.git/logs/HEAD ./.git/logs/refs/remotes/origin/HEAD ./.git/logs/refs/heads/master
Lire connexe :
- Comment rechercher et supprimer des fichiers en double sous Linux
Répertoire vide
Cet outil testera si le répertoire donné est vide ou non.
Exemple :
L'exemple suivant montre si le répertoire donné /home/sk/ostechnix est vide ou non.
$ if ./empty-dir /home/sk/ostechnix; then echo "It is empty" ; fi It is empty
Si le répertoire n'est pas vide, vous ne verrez aucune sortie.
Développer-ipv6
Cet outil étend les adresses IPv6 abrégées/compressées données à leur forme complète. Cela peut être utile lors de la configuration des entrées DNS.
Exemple :
$ ./expand-ipv6 fe80::a00:27ff:feff:d2e0 fe80:0000:0000:0a00:27ff:feff:d2e0
Multi-ping
Il s'agit d'un wrapper ping multi-protocole. Il est utilisé pour tester la connectivité d'un hôte distant, qu'il s'agisse d'un hôte IPv6 ou IPv4. Signification - si la télécommande utilise IPv4, elle invoque la commande 'ping' pour tester la connectivité. Si l'hôte distant utilise IPv6, il appellera alors la commande 'ping6'.
L'utilitaire multi-ping nécessite Net::DNS module perle. Si vous ne l'avez pas encore installé, consultez le guide suivant.
- Comment installer des modules Perl sous Linux
Maintenant, envoyez un ping à n'importe quel domaine à l'aide de l'outil multi-ping, comme indiqué ci-dessous.
Exemple :
$ ./multi-ping google.com Host google.com - 216.239.36.117 - alive Host google.com - 216.239.32.117 - alive Host google.com - 216.239.38.117 - alive Host google.com - 216.239.34.117 - alive Host google.com - 2001:4860:4802:34:0:0:0:75 - alive
Lire connexe :
- Comment envoyer un ping à plusieurs hôtes à la fois sous Linux
- Pingez plusieurs serveurs et affichez la sortie dans l'interface utilisateur textuelle supérieure
- Prettyping - Rendre la sortie de la commande Ping plus jolie et plus facile à lire
Pyhttpd
Il s'agit d'un simple serveur HTTP Python qui vous permet de configurer instantanément un serveur de fichiers de base.
Exemples :
$ ./pyhttpd 8080 Serving HTTP on 0.0.0.0 port 8080 ...
Si vous souhaitez autoriser le serveur à être lié à localhost uniquement, plutôt que d'écouter sur toutes les interfaces, exécutez :
$ ./pyhttpd 127.0.0.1:8080 Serving HTTP on 127.0.0.1 port 8080 ...
Lire connexe :
- Comment configurer un serveur de fichiers de base à l'aide de simpleHTTPserver
Randpass
Comme son nom l'indique, l'utilitaire randpass est utilisé pour générer un mot de passe aléatoire à partir de la ligne de commande.
Exemples :
$ ./randpass Gb39KTBu
Pour générer un mot de passe avec une longueur spécifique, utilisez -n drapeau.
$ ./randpass -n 15 Xa7ZMA38tfOt7O2
Lire connexe :
- Différentes façons de générer un mot de passe fort sous Linux
Depuis
Il affiche tout nouveau contenu depuis la dernière lecture d'un fichier. Il est utile pour suivre les fichiers journaux.
Exemple :
Supprimez le contenu du fichier apt history.log :
$ ./since /var/log/apt/history.log >/dev/null
Maintenant, installez ou supprimez toutes les applications. Je supprime l'éditeur Vim :
$ sudo apt remove vim
Vérifiez maintenant le contenu du fichier history.log :
$ ./since /var/log/apt/history.log Start-Date: 2020-01-28 11:52:59 Commandline: apt remove vim Requested-By: sk (1000) Remove: ubuntu-server:amd64 (1.417.3), vim:amd64 (2:8.0.1453-1ubuntu1.1) End-Date: 2020-01-28 11:53:05
L'outil 'depuis' n'affichera que le contenu nouvellement ajouté dans un fichier depuis la dernière fois qu'il a été exécuté. S'il n'y a pas de contenu ajouté, ce script se termine silencieusement et vous ne verrez aucune sortie.
Ssl-expiration-date
Il affiche la date d'expiration du certificat SSL du domaine ou de l'hébergeur donné.
Exemples :
$ ./ssl-expiry-date google.com google.com Expires: Mar 31 15:47:12 2020 GMT Days: 63
Vous pouvez également spécifier plusieurs domaines séparés par des espaces :
$ ./ssl-expiry-date google.com ostechnix.com google.com Expires: Mar 31 15:47:12 2020 GMT Days: 63 ostechnix.com Expires: Oct 9 12:00:00 2020 GMT Days: 254
Pour afficher uniquement le nombre de jours restants sur le certificat, utilisez -d choix :
$ ./ssl-expiry-date -d google.com ostechnix.com google.com: 63 ostechnix.com: 254
Délai d'expiration
Il permet à l'utilisateur d'exécuter une commande pendant un intervalle spécifique et de la tuer.
Exemple :
$ ./timeout -t 10 top
Comme vous pouvez le voir, la commande ci-dessus tue la commande 'top' après 10 secondes.
Tuez une commande après 10 minutes et 10 secondes :
$ ./timeout -t 10:10 top
Tuez une commande après 10 heures, 10 minutes et 10 secondes :
$ ./timeout -t 10:10:10 top
Veuillez noter que l'utilitaire timeout est également disponible par défaut dans le cadre de GNU coreutils emballer. Donc, vous n'aurez probablement pas besoin du programme timeout du paquet sysadmin-uti.
Lire connexe :
- Comment exécuter une commande pendant une durée spécifique sous Linux
- Comment trouver le temps d'exécution d'une commande ou d'un processus sous Linux
- Comment exécuter une commande Linux toutes les X secondes pour toujours
- Comment ajouter des commandes Linux à la file d'attente et les exécuter une par une
Il existe quelques autres outils disponibles, tels que Jusqu'à l'erreur & Jusqu'au succès - répéter les commandes jusqu'à ce qu'elles échouent/réussissent, lorsqu'elles sont arrêtées &quand-up - attend qu'un hôte soit down/up, mysql-slave-check - trouver si l'hôte actuel est esclave ou non, quel-shell - trouver le shell sous lequel nous courons, etc.
Consultez la page GitHub du projet pour en savoir plus sur tous les outils.
- Dépôt GitHub de Sysadmin-util
Autres outils utiles pour les administrateurs système Linux et les noobs
Outre Sysadmin-util, il existe de nombreux autres outils disponibles qui pourraient être utiles aux administrateurs système Linux/Unix ainsi qu'aux débutants. Nous en avons déjà couvert certains.
1. Cockpit - Outil de surveillance du système basé sur le Web
Poste de pilotage est un outil d'administration de serveur gratuit et open source qui vous permet de surveiller et d'administrer facilement des serveurs Linux (uniques ou multiples) via un navigateur Web. Il aide les administrateurs système à effectuer des tâches d'administration simples, telles que le démarrage des conteneurs, l'administration du stockage, la configuration du réseau, l'inspection des journaux, etc. Consultez le lien suivant pour installer et utiliser Cockpit sous Linux.
- Cockpit – Surveiller et administrer les serveurs Linux via un navigateur Web
2. Netutils-linux - Outils de dépannage réseau et de réglage des performances pour Linux
Netutils-linux est une collection d'utilitaires utiles écrits en Python qui peuvent être utilisés pour simplifier le dépannage du réseau Linux et le réglage des performances. Pour en savoir plus sur ces outils, consultez le guide suivant.
- Une collection d'utilitaires pour simplifier le dépannage du réseau Linux et le réglage des performances
3. Moreutils - utilitaires Unix plus utiles
Si vous êtes un administrateur système Linux, vous aurez certainement entendu parler des utilitaires de base GNU . Il est pré-installé dans toutes les distributions Linux. Mais qu'en est-il de Moreutils ? Moreutils est une collection d'utilitaires Unix utiles qui ne sont pas inclus par défaut dans les systèmes d'exploitation de type Unix. Ces utilitaires sont souvent utiles pour effectuer facilement et rapidement diverses opérations sur votre serveur Linux. Plus de détails peuvent être trouvés dans le lien ci-dessous.
- Moreutils – Une collection d'utilitaires Unix plus utiles
4. Bash-Snippets - Scripts BASH utiles pour les gros utilisateurs de la ligne de commande
extraits bash est une collection de scripts BASH utiles pour les gros utilisateurs de ligne de commande qui vivent dans Terminal toute la journée. Vous voulez vérifier la météo d'un endroit où vous habitez? Il y a un script pour le vérifier rapidement. Vous vous demandez quel est le prix d'une action spécifique ? Il y a aussi un script pour ça. Je m'ennuie? Vous pouvez regarder des vidéos YouTube. Tout à partir de la ligne de commande !! Vous n'avez pas besoin d'installer d'applications graphiques lourdes et gourmandes en ressources. Cliquez sur le lien suivant pour savoir comment utiliser ces scripts.
- Une collection de scripts BASH utiles pour les gros utilisateurs de la ligne de commande
5. Debian-goodies - Outils en ligne de commande pour Debian et ses dérivés
Les bonus de Debian est encore une autre collection d'utilitaires utiles pour les systèmes basés sur DEB. Comme moreutils, Debian-goodies fournit également quelques commandes utiles supplémentaires qui ne sont pas disponibles par défaut. À l'aide de ces outils, les administrateurs système peuvent effectuer un certain nombre de tâches, telles que :
- quels programmes consomment le plus d'espace disque,
- quels services doivent être redémarrés après la mise à jour du système,
- rechercher un fichier correspondant à un motif dans un package,
- répertorier les packages installés en fonction de la chaîne de recherche et bien plus encore.
Consultez le lien suivant pour en savoir plus sur ces goodies.
- Debian-goodies :un ensemble d'utilitaires utiles pour les utilisateurs de Debian et d'Ubuntu
6. Quelques bonnes alternatives aux pages de manuel
Les pages de manuel sont géniales ! Il n'y aucun doute à propos de ça. Mais, de nombreuses pages de manuel sont complètes et manquent d'exemples utiles. Vous devrez peut-être parcourir toute la page de manuel pour trouver le détail d'une certaine option ou d'un drapeau. Cette tâche prend beaucoup de temps lorsque vous souhaitez apprendre un exemple pratique d'une commande Unix spécifique à l'aide de pages de manuel. Pas plus! Je connais quelques bonnes alternatives aux pages de manuel qui se concentrent principalement sur des exemples, en sautant toutes les autres parties de texte complètes. Lisez le lien ci-dessous pour en savoir plus.
- Bonnes alternatives aux pages de manuel que chaque utilisateur Linux doit connaître
7. Cli-fyi - Un outil de ligne de commande pour récupérer des informations sur l'adresse IP, l'e-mail, le domaine et plus encore
Cli.Pour info est un outil de requête en ligne de commande pour récupérer des informations sur les adresses IP, les e-mails, les domaines, les devises cryptographiques, les médias/url, la date/heure UTC, le pays et le langage de programmation, etc. Vous pouvez récupérer tous ces détails à partir de la ligne de commande ou du navigateur comme décrit ci-dessous. lien.
- Cli.Fyi – Un outil CLI pour récupérer des informations sur les adresses IP, les e-mails, les domaines et bien plus encore
8. ExplainShell - Un outil Web qui explique chaque argument d'une commande Linux
ExplainShell est une excellente ressource pour ceux qui souhaitent apprendre rapidement et facilement les arguments et les options de la ligne de commande Linux, sans avoir à consulter les pages de manuel. Il décompose la commande donnée et explique ce que fait chaque partie d'une commande Linux. Tout ce que vous avez à faire est de copier et coller une commande Linux sur le site Web ExplainShell, et il affichera instantanément la signification de chaque partie d'une commande Linux.
- ExplainShell – Découvrez ce que fait chaque partie d'une commande Linux
9. Kmdr - Obtenez l'explication des commandes CLI dans votre terminal
Kmdr est similaire à ExplainShell mais avec quelques fonctionnalités supplémentaires. L'ExpliqueShell vous aide à apprendre uniquement les commandes Linux. Mais que se passe-t-il si vous souhaitez apprendre d'autres commandes CLI, par exemple Python ? Vous ne trouverez pas d'explication des commandes Python dans ExplainShell. C'est là que Kmdr vient à la rescousse. Kmdr fournit des explications pour de nombreuses commandes CLI, y compris ansible , conda , menu fixe , git , allez , kubectl , mongo , mysql , npm , gemmes de rubis , vagabond et des centaines d'autres programmes tels que ceux intégrés à bash . Ça a l'air bien? Génial! Consultez le lien suivant pour apprendre à utiliser Kmdr.
- Kmdr - Afficher l'explication des commandes CLI dans le terminal
Comme je l'ai déjà dit, tous les outils susmentionnés peuvent ne pas être utiles tout le temps. Essayez-en un à la fois et découvrez si cela vous aide d'une manière ou d'une autre dans votre travail quotidien.
Ces outils ne sont pas seulement destinés aux administrateurs système, mais à tous ceux qui souhaitent améliorer leurs compétences en ligne de commande Linux en général. Je continuerai à ajouter des outils et des applications plus utiles dans cette liste. Si vous pensez qu'un autre outil devrait être ajouté à cette liste, n'hésitez pas à me le faire savoir dans la section des commentaires ci-dessous. Je vérifierai et mettrai à jour la liste en conséquence.