Questa guida fornisce un elenco di strumenti utili per gli amministratori di sistema Linux. Questo elenco non include programmi complessi (come Ansible, Puppet) che richiedono una curva di apprendimento ripida per la configurazione e l'utilizzo in produzione. La maggior parte degli strumenti forniti qui sono solo script e sono molto facili da installare e utilizzare in tempo reale. Se sei un amministratore di sistema Linux/Unix in erba con un'esperienza limitata, usa questi programmi per portare a termine il lavoro in modo facile e veloce. Questi strumenti potrebbero non essere sempre utili, ma alcuni di essi potrebbero essere d'aiuto.
Informazioni su Sysadmin-util
Utility amministratore di sistema è una raccolta di script che aiuta gli amministratori di sistema e gli utenti inesperti a eseguire varie attività.
Sysadmin-util è costituito dai seguenti script:
- fa
- cronico
- cidr2ip
- collasso
- inganni
- dir-vuota
- espandi ipv6
- Firewall a filo
- invio_grafite
- ipad
- forse
- mk-passwd-hash
- ping multiplo
- mysql-slave-check
- pyhttpd
- Randpass
- da
- mostra
- tipi-ssh-auth
- ssh-test
- data di scadenza SSL
- timeout
- fino all'errore
- fino al successo
- quando giù
- quando up
- quale shell
- con serratura
Andiamo avanti e vediamo come installare e utilizzare alcuni di questi strumenti con esempi.
Installa sysadmin-util su Linux
Come ho già detto, l'installazione di tutti gli strumenti qui elencati è banale. In effetti, non è necessario installarlo. Basta clonare il suo repository e iniziare a utilizzare gli strumenti in pochissimo tempo.
$ git clone https://github.com/skx/sysadmin-util.git
Il comando precedente clonerà tutto il contenuto del repository Sysadmin-util nella directory corrente. CD in quella directory ed esegui qualsiasi strumento di tua scelta. È così semplice!
Sysadmin-util Fornisce i seguenti strumenti utili per gli amministratori di sistema Linux
Fa
Questo strumento ti aiuta a scoprire quanto tempo fa un file o una directory è stata modificata in un formato leggibile dall'uomo.
Assicurati di essere nella directory sysadmin-util:
$ cd sysadmin-util
Per scoprire quando è stato modificato un file o una directory, menziona il suo percorso come di seguito.
$ ./ago <path-to-file/directory>
Esempi:
$ ./ago /home/sk/sysadmin-util/ /home/sk/sysadmin-util/ 23 hours ago
$ ./ago /etc/ /etc/ 3 days ago
Come puoi vedere, /home/sk/sysadmin-util è stato modificato 23 ore fa e /etc/ la directory è stata modificata 3 giorni fa .
Lettura correlata:
- Come monitorare le modifiche ai file utilizzando fswatch in Linux
- Trova e ordina i file in base all'accesso, alla data e all'ora di modifica in Linux
Cronica
Lo strumento cronico esegue un comando in modo silenzioso a meno che non fallisca, ovvero esegue un comando e nasconde STDOUT e STDERR se viene completato correttamente. È utile per lavori cron . Invece di cercare di mantenere il comando silenzioso e di dover gestire e-mail contenenti output accidentale quando ha esito positivo e un output non abbastanza dettagliato quando fallisce, puoi semplicemente eseguirlo sempre in modo dettagliato e utilizzare Chronic per nascondere l'output riuscito.
Esempio:
Quando si crea un nuovo lavoro cron, invece di utilizzare la riga seguente;
0 1 * * * backup >/dev/null 2>&1
puoi usare:
0 1 * * * chronic backup
Cidr2ip
Converte i blocchi CIDR nei loro indirizzi IP costituenti.
Esempio:
$ ./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 [...]
Comprimi
Lo strumento Comprimi rimuove le righe vuote e le righe che contengono spazi bianchi dai file specificati.
Esempio:
$ 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.
Due
Lo strumento duplicati segnalerà i file identici. Ti aiuta a trovare file duplicati che contengono gli stessi contenuti in modo ricorsivo tramite l'hash SHA1.
Esempio:
$ ./dupes ./.git/logs/HEAD ./.git/logs/refs/remotes/origin/HEAD ./.git/logs/refs/heads/master
Lettura correlata:
- Come trovare ed eliminare file duplicati in Linux
Dir vuota
Questo strumento verificherà se la directory specificata è vuota o meno.
Esempio:
L'esempio seguente mostra se la directory specificata /home/sk/otechnix è vuoto o no.
$ if ./empty-dir /home/sk/ostechnix; then echo "It is empty" ; fi It is empty
Se la directory non è vuota, non vedrai alcun output.
Espandi ipv6
Questo strumento espande gli indirizzi IPv6 abbreviati/compressi forniti nella loro forma completa. Può essere utile durante la configurazione di voci DNS.
Esempio:
$ ./expand-ipv6 fe80::a00:27ff:feff:d2e0 fe80:0000:0000:0a00:27ff:feff:d2e0
Più ping
È un wrapper ping multiprotocollo. Viene utilizzato per testare la connettività di un host remoto, indipendentemente dal fatto che si tratti di un host IPv6 o IPv4. Significato:se il telecomando utilizza IPv4, invoca il comando "ping" per testare la connettività. Se l'host remoto utilizza IPv6, invocherà il comando 'ping6'.
L'utilità multi-ping richiede Net::DNS modulo perl. Se non l'hai ancora installato, fai riferimento alla seguente guida.
- Come installare i moduli Perl su Linux
Ora esegui il ping di qualsiasi dominio utilizzando lo strumento multi-ping come mostrato di seguito.
Esempio:
$ ./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
Lettura correlata:
- Come eseguire il ping di più host contemporaneamente in Linux
- Esegui il ping di più server e mostra l'output nell'interfaccia utente di testo simile a quella superiore
- Prettyping – Rendi l'output del comando Ping più carino e più facile da leggere
Pyhttpd
È un semplice server HTTP Python che ti consente di configurare istantaneamente un file server di base.
Esempi:
$ ./pyhttpd 8080 Serving HTTP on 0.0.0.0 port 8080 ...
Se desideri consentire al server di essere associato solo a localhost, anziché essere in ascolto su tutte le interfacce, esegui:
$ ./pyhttpd 127.0.0.1:8080 Serving HTTP on 127.0.0.1 port 8080 ...
Lettura correlata:
- Come configurare un file server di base utilizzando simpleHTTPserver
Randpass
Come dice il nome, l'utilità randpass viene utilizzata per generare una password casuale dalla riga di comando.
Esempi:
$ ./randpass Gb39KTBu
Per generare una password con una lunghezza specifica, usa -n bandiera.
$ ./randpass -n 15 Xa7ZMA38tfOt7O2
Lettura correlata:
- Modi diversi per generare una password complessa in Linux
Da
Mostra qualsiasi nuovo contenuto dall'ultima volta che un file è stato letto. È utile per tenere traccia dei file di registro.
Esempio:
Rimuovere il contenuto del file apt history.log:
$ ./since /var/log/apt/history.log >/dev/null
Ora installa o rimuovi qualsiasi applicazione. Rimuovo l'editor Vim:
$ sudo apt remove vim
Ora controlla il contenuto del file 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
Lo strumento 'da' visualizzerà solo i contenuti appena aggiunti in un file dall'ultima volta che è stato eseguito. Se non ci sono contenuti aggiunti, questo script esce silenziosamente e non vedrai alcun output.
Data di scadenza SSL
Visualizza la data di scadenza del certificato SSL del dominio o dell'host specificato.
Esempi:
$ ./ssl-expiry-date google.com google.com Expires: Mar 31 15:47:12 2020 GMT Days: 63
Puoi anche specificare più domini con spazi separati:
$ ./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
Per visualizzare solo il numero di giorni rimanenti sul certificato, utilizza -d opzione:
$ ./ssl-expiry-date -d google.com ostechnix.com google.com: 63 ostechnix.com: 254
Timeout
Consente all'utente di eseguire un comando per un intervallo specifico e terminarlo.
Esempio:
$ ./timeout -t 10 top
Come puoi vedere, il comando sopra uccide il comando 'top' dopo 10 secondi.
Uccidi un comando dopo 10 minuti e 10 secondi:
$ ./timeout -t 10:10 top
Uccidi un comando dopo 10 ore, 10 minuti e 10 secondi:
$ ./timeout -t 10:10:10 top
Tieni presente che l'utilità di timeout è disponibile anche per impostazione predefinita come parte delle coreutils GNU pacchetto. Quindi probabilmente non sarà necessario il programma di timeout dal pacchetto sysadmin-uti.
Lettura correlata:
- Come eseguire un comando per un periodo di tempo specifico in Linux
- Come trovare il tempo di esecuzione di un comando o di un processo in Linux
- Come eseguire un comando Linux ogni X secondi per sempre
- Come aggiungere comandi Linux alla coda ed eseguirli uno per uno
Sono disponibili pochi altri strumenti, come Until-error & Fino al successo - ripeti i comandi finché non ha esito positivo/successo, quando è inattivo & quando è attivo - attende che un host sia inattivo/attivo, mysql-slave-check - trova se l'host corrente è slave o meno, quale shell - trova la shell in cui stiamo correndo, ecc.
Fare riferimento alla pagina GitHub del progetto per ulteriori dettagli su tutti gli strumenti.
- Repository GitHub Sysadmin-util
Altri strumenti utili per amministratori di sistema Linux e noob
Oltre a Sysadmin-util, sono disponibili molti altri strumenti che potrebbero essere utili per gli amministratori di sistema Linux/Unix e per i principianti. Ne abbiamo già trattati alcuni.
1. Cockpit - Strumento di monitoraggio del sistema basato sul Web
Pozzetto è uno strumento di amministrazione server gratuito e open source che consente di monitorare e amministrare facilmente i server Linux (singoli o multipli) tramite un browser web. Aiuta gli amministratori di sistema a svolgere semplici attività di amministrazione, come l'avvio di container, l'amministrazione dell'archiviazione, la configurazione della rete, l'ispezione dei registri e così via. Controlla il seguente link per installare e utilizzare Cockpit in Linux.
- Cockpit:monitora e amministra i server Linux tramite browser Web
2. Netutils-linux - Risoluzione dei problemi di rete e strumenti di ottimizzazione delle prestazioni per Linux
Netutils-linux è una raccolta di utili utilità scritte in Python che possono essere utilizzate per semplificare la risoluzione dei problemi della rete Linux e l'ottimizzazione delle prestazioni. Per saperne di più su questi strumenti, fai riferimento alla seguente guida.
- Una raccolta di utilità per semplificare la risoluzione dei problemi di rete Linux e l'ottimizzazione delle prestazioni
3. Moreutils - utilità Unix più utili
Se sei un amministratore di sistema Linux, sicuramente avrai sentito parlare di utilità di base GNU . Viene preinstallato in tutte le distribuzioni Linux. Ma che dire di Moreutils ? Moreutils è una raccolta di utili utilità Unix che non sono incluse per impostazione predefinita nei sistemi operativi simili a Unix. Queste utilità sono spesso utili per eseguire varie operazioni sul tuo server Linux in modo facile e veloce. Maggiori dettagli possono essere trovati nel link sottostante.
- Moreutils:una raccolta di utilità Unix più utili
4. Bash-Snippet - Utili script BASH per utenti pesanti da riga di comando
Bash-Snippet è una raccolta di utili script BASH per gli utenti pesanti della riga di comando che vivono nel Terminale tutto il giorno. Vuoi controllare il tempo di un luogo in cui vivi? C'è uno script per controllarlo rapidamente. Ti chiedi qual è un prezzo specifico di un'azione? C'è anche una sceneggiatura per questo. Sentirsi annoiati? Puoi guardare alcuni video di YouTube. Tutto da riga di comando!! Non è necessario installare applicazioni GUI pesanti e ad alta intensità di risorse. Fare clic sul collegamento seguente per sapere come utilizzare questi script.
- Una raccolta di utili script BASH per utenti pesanti da riga di comando
5. Debian-goodies - Strumenti da riga di comando per Debian e derivati
Debian-chicche è un'altra raccolta di utili utilità per i sistemi basati su DEB. Come moreutils, Debian-goodies fornisce anche alcuni utili comandi aggiuntivi che non sono disponibili per impostazione predefinita. Usando questi strumenti, gli amministratori di sistema possono svolgere un certo numero di attività, come;
- quali programmi stanno consumando più spazio su disco,
- quali servizi devono essere riavviati dopo l'aggiornamento del sistema,
- cerca un file che corrisponde a un modello in un pacchetto,
- elenca i pacchetti installati in base alla stringa di ricerca e molto altro.
Controlla il seguente link per saperne di più su questi gadget.
- Debian-goodies:un insieme di utili utilità per utenti Debian e Ubuntu
6. Alcune buone alternative alle pagine man
Le pagine man sono fantastiche! Non ci sono dubbi al riguardo. Ma molte pagine man sono complete e mancano di esempi utili. Potrebbe essere necessario scorrere l'intera pagina man per trovare i dettagli di una determinata opzione o flag. Questo è un compito davvero dispendioso in termini di tempo quando si desidera apprendere un esempio pratico di un comando Unix specifico utilizzando le pagine man. Non più! Conosco alcune buone alternative alle pagine di manuale che si concentrano principalmente su esempi, saltando tutte le altre parti di testo complete. Leggi il seguente link per saperne di più.
- Buone alternative alle pagine man che ogni utente Linux deve conoscere
7. Cli-fyi:uno strumento da riga di comando per recuperare informazioni su IP, e-mail, dominio e altro
Cli.Fiyi è uno strumento di query da riga di comando per recuperare informazioni su IP, e-mail, domini, valute crittografiche, media/url, data/ora UTC, paese e linguaggio di programmazione, ecc. Puoi recuperare tutti questi dettagli dalla riga di comando o dal browser come descritto di seguito collegamento.
- Cli.Fiyi – Uno strumento CLI per recuperare informazioni su IP, e-mail, domini e molto altro
8. ExplainShell - Uno strumento basato sul Web che spiega ogni argomento di un comando Linux
ExplainShell è un'ottima risorsa per coloro che volevano imparare gli argomenti e le opzioni della riga di comando di Linux in modo rapido e semplice, senza dover fare riferimento alle pagine man. Scompone il comando dato e spiega cosa fa ogni parte di un comando Linux. Tutto quello che devi fare è copiare e incollare un comando Linux nel sito Web ExplainShell e mostrerà immediatamente il significato di ciascuna parte di un comando Linux.
- ExplainShell:scopri cosa fa ogni parte di un comando Linux
9. Kmdr - Ottieni la spiegazione dei comandi CLI nel tuo Terminale
Kmdr è simile a ExplainShell ma con alcune funzionalità aggiuntive. ExplainShell ti aiuta a imparare solo i comandi di Linux. Ma cosa succede se vuoi imparare altri comandi CLI, ad esempio Python? Non troverai la spiegazione dei comandi Python in ExplainShell. È qui che arriva in soccorso Kmdr. Kmdr fornisce spiegazioni per molti comandi CLI tra cui ansible , conda , mobile mobile , git , vai , kubectl , mongo , mysql , npm , gemme di rubino , vagabondo e centinaia di altri programmi come quelli integrati in bash . Suona bene? Grande! Controlla il seguente link per imparare a usare Kmdr.
- Kmdr – Visualizza la spiegazione dei comandi CLI nel terminale
Come ho già detto, tutti gli strumenti di cui sopra potrebbero non essere sempre utili. Provane uno alla volta e trova se può essere d'aiuto per il tuo lavoro quotidiano in qualche modo.
Questi strumenti non sono solo per gli amministratori di sistema, ma per chiunque desideri migliorare le proprie competenze da riga di comando di Linux in generale. Continuerò ad aggiungere strumenti e applicazioni più utili in questo elenco. Se ritieni che qualsiasi altro strumento debba essere aggiunto a questo elenco, non esitare a farmelo sapere nella sezione commenti qui sotto. Controllerò e aggiornerò l'elenco di conseguenza.