Tato příručka obsahuje seznam užitečných nástrojů pro správce systému Linux. Tento seznam nezahrnuje žádné složité programy (jako Ansible, Puppet), které vyžadují strmou křivku učení k nastavení a použití ve výrobě. Většina zde uvedených nástrojů jsou pouze skripty a velmi snadno se instalují a používají v reálném čase. Pokud jste začínající správce systému Linux/Unix a máte omezené zkušenosti, využijte tyto programy, abyste svou práci zvládli snadno a rychle. Tyto nástroje nemusí být užitečné vždy, ale některé z nich mohou pomoci.
O nástroji Sysadmin-util
Sysadmin-util je kolekce skriptů, která pomáhá začínajícím správcům systému a uživatelům provádět různé úkoly.
Sysadmin-util se skládá z následujících skriptů:
- před
- chronické
- cidr2ip
- sbalit
- nahánění
- prázdný adresář
- expand-ipv6
- flush-firewall
- graphite_send
- ipaddr
- možná
- mk-passwd-hash
- multi-ping
- mysql-slave-check
- pyhttpd
- randpass
- od
- roztáhnout
- ssh-auth-types
- test ssh
- ssl-expiry-date
- vypršel časový limit
- až do chyby
- až do úspěchu
- když-dole
- když
- který-shell
- se zámkem
Pojďme se podívat na to, jak nainstalovat a používat některé z těchto nástrojů s příklady.
Nainstalujte sysadmin-util v systému Linux
Jak jsem již řekl, instalace všech zde uvedených nástrojů je triviální. Ve skutečnosti není potřeba instalovat. Stačí naklonovat jeho úložiště a okamžitě začít používat nástroje.
$ git clone https://github.com/skx/sysadmin-util.git
Výše uvedený příkaz naklonuje veškerý obsah úložiště Sysadmin-util v aktuálním adresáři. Cd do tohoto adresáře a spusťte libovolné nástroje dle vašeho výběru. Je to tak jednoduché!
Sysadmin-util Poskytuje následující užitečné nástroje pro správce systému Linux
Před
Tento nástroj vám pomůže zjistit, jak dlouho byl soubor nebo adresář upraven ve formátu čitelném pro člověka.
Ujistěte se, že jste v adresáři sysadmin-util:
$ cd sysadmin-util
Chcete-li zjistit, kdy byl soubor nebo adresář změněn, stačí uvést jeho cestu jako níže.
$ ./ago <path-to-file/directory>
Příklady:
$ ./ago /home/sk/sysadmin-util/ /home/sk/sysadmin-util/ 23 hours ago
$ ./ago /etc/ /etc/ 3 days ago
Jak vidíte, /home/sk/sysadmin-util je upraveno před 23 hodinami a /etc/ adresář byl změněn před 3 dny .
Související čtení:
- Jak sledovat změny souborů pomocí fswatch v systému Linux
- Najděte a seřaďte soubory na základě přístupu, data a času úprav v systému Linux
Chronické
Chronický nástroj spustí příkaz tiše, pokud se nezdaří, tj. spustí příkaz a skryje STDOUT a STDERR, pokud bude úspěšně dokončen. Je to užitečné pro úlohy cron . Namísto toho, abyste se pokoušeli udržet příkaz v tichosti a museli se potýkat s e-maily obsahujícími náhodný výstup, když selže, a neuvádět dostatečně podrobný výstup, když selže, můžete jej jednoduše spustit vždy podrobně a pomocí chronického skrýt úspěšný výstup.
Příklad:
Při vytváření nové úlohy cron namísto použití následujícího řádku;
0 1 * * * backup >/dev/null 2>&1
můžete použít:
0 1 * * * chronic backup
Cidr2ip
Převádí CIDR bloky na jejich základní IP adresy.
Příklad:
$ ./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 [...]
Sbalit
Nástroj sbalení odstraní z daného souboru (souborů) prázdné řádky a řádky, které obsahují mezery.
Příklad:
$ 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.
Hlupáci
Nástroj dupes bude hlásit soubory, které jsou identické. Pomáhá vám najít duplicitní soubory, které obsahují stejný obsah, rekurzivně pomocí hash SHA1.
Příklad:
$ ./dupes ./.git/logs/HEAD ./.git/logs/refs/remotes/origin/HEAD ./.git/logs/refs/heads/master
Související čtení:
- Jak najít a odstranit duplicitní soubory v systému Linux
Prázdný adresář
Tento nástroj otestuje, zda je daný adresář prázdný nebo ne.
Příklad:
Následující příklad ukazuje, zda daný adresář /home/sk/ostechnix je nebo není prázdný.
$ if ./empty-dir /home/sk/ostechnix; then echo "It is empty" ; fi It is empty
Pokud adresář není prázdný, neuvidíte žádný výstup.
Expand-ipv6
Tento nástroj rozšiřuje dané zkrácené/komprimované IPv6 adresy do jejich plné podoby. Může to být užitečné při nastavování záznamů DNS.
Příklad:
$ ./expand-ipv6 fe80::a00:27ff:feff:d2e0 fe80:0000:0000:0a00:27ff:feff:d2e0
Multi-ping
Jedná se o víceprotokolový ping wrapper. Používá se k testování konektivity vzdáleného hostitele bez ohledu na to, zda se jedná o hostitele IPv6 nebo IPv4. Význam - pokud vzdálený používá IPv4, vyvolá příkaz 'ping', aby otestoval konektivitu. Pokud vzdálený hostitel používá IPv6, vyvolá příkaz 'ping6'.
Nástroj vícenásobného pingu vyžaduje Net::DNS modul perl. Pokud jste jej ještě nenainstalovali, postupujte podle následujícího průvodce.
- Jak nainstalovat moduly Perl v systému Linux
Nyní odešlete příkaz ping na libovolnou doménu pomocí nástroje pro více pingů, jak je znázorněno níže.
Příklad:
$ ./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
Související čtení:
- Jak pingnout více hostitelů najednou v Linuxu
- Ping pro více serverů a zobrazení výstupu v horním textovém uživatelském rozhraní
- Předpisování – výstup příkazu Ping bude hezčí a snáze čitelný
Pyhttpd
Je to jednoduchý Python HTTP server, který vám umožní okamžitě nastavit základní souborový server.
Příklady:
$ ./pyhttpd 8080 Serving HTTP on 0.0.0.0 port 8080 ...
Pokud chcete, aby se server vázal pouze na localhost, místo aby naslouchal na všech rozhraních, spusťte:
$ ./pyhttpd 127.0.0.1:8080 Serving HTTP on 127.0.0.1 port 8080 ...
Související čtení:
- Jak nastavit základní souborový server pomocí simpleHTTPserver
Randpass
Jak název napovídá, nástroj randpass se používá ke generování náhodného hesla z příkazového řádku.
Příklady:
$ ./randpass Gb39KTBu
Chcete-li vygenerovat heslo se specifickou délkou, použijte -n vlajka.
$ ./randpass -n 15 Xa7ZMA38tfOt7O2
Související čtení:
- Různé způsoby generování silného hesla v systému Linux
Od
Zobrazuje jakýkoli nový obsah od posledního čtení souboru. Je to užitečné pro sledování souborů protokolu.
Příklad:
Odeberte obsah souboru apt history.log:
$ ./since /var/log/apt/history.log >/dev/null
Nyní nainstalujte nebo odeberte všechny aplikace. Odebírám editor Vim:
$ sudo apt remove vim
Nyní zkontrolujte obsah souboru 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
Nástroj 'od' zobrazí pouze nově přidaný obsah v souboru od jeho posledního spuštění. Pokud není přidán žádný obsah, tento skript se tiše ukončí a neuvidíte žádný výstup.
Ssl-expiry-date
Zobrazuje datum vypršení platnosti SSL certifikátu dané domény nebo hostitele.
Příklady:
$ ./ssl-expiry-date google.com google.com Expires: Mar 31 15:47:12 2020 GMT Days: 63
Můžete také zadat více domén pomocí mezerou oddělených:
$ ./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
Chcete-li zobrazit pouze počet dní zbývajících na certifikátu, použijte -d možnost:
$ ./ssl-expiry-date -d google.com ostechnix.com google.com: 63 ostechnix.com: 254
Časový limit
Umožňuje uživateli spustit příkaz pro určitý interval a ukončit jej.
Příklad:
$ ./timeout -t 10 top
Jak můžete vidět, výše uvedený příkaz ukončí příkaz 'top' po 10 sekundách.
Zabijte příkaz po 10 minutách a 10 sekundách:
$ ./timeout -t 10:10 top
Zabijte příkaz po 10 hodinách, 10 minutách a 10 sekundách:
$ ./timeout -t 10:10:10 top
Vezměte prosím na vědomí, že nástroj pro časový limit je také k dispozici ve výchozím nastavení jako součást GNU coreutils balík. Pravděpodobně tedy nebude potřeba program timeout z balíčku sysadmin-uti.
Související čtení:
- Jak spustit příkaz po určitou dobu v systému Linux
- Jak zjistit dobu provedení příkazu nebo procesu v systému Linux
- Jak spouštět příkaz Linux každých X sekund navždy
- Jak přidat linuxové příkazy do fronty a spouštět je jeden po druhém
K dispozici je několik dalších nástrojů, například Until-error & Až do úspěchu - opakujte příkazy, dokud se nezdaří/nedaří, když &když nahoru - čeká, dokud se hostitel nespustí/nevypne, mysql-slave-check - zjistěte, zda je aktuální hostitel podřízený nebo ne, který-shell - najít shell, pod kterým běžíme atd.
Další podrobnosti o všech nástrojích naleznete na stránce projektu GitHub.
- Sysadmin-util GitHub Repository
Další užitečné nástroje pro správce systému Linux a noobs
Kromě Sysadmin-util je k dispozici mnoho dalších nástrojů, které mohou být užitečné pro správce systému Linux/Unix i pro nováčky. Některé z nich jsme již probrali.
1. Kokpit – Webový systém Monitorovací nástroj
Kokpit je bezplatný nástroj pro správu serverů s otevřeným zdrojovým kódem, který vám umožňuje snadno monitorovat a spravovat servery Linux (jeden nebo více) prostřednictvím webového prohlížeče. Pomáhá správcům systému provádět jednoduché administrativní úkoly, jako je spouštění kontejnerů, správa úložiště, konfigurace sítě, kontrola protokolů a tak dále. Chcete-li nainstalovat a používat Cockpit v Linuxu, zkontrolujte následující odkaz.
- Kokpit – monitorování a správa serverů Linux prostřednictvím webového prohlížeče
2. Netutils-linux – Nástroje pro odstraňování problémů se sítí a ladění výkonu pro Linux
Netutils-linux je kolekce užitečných nástrojů napsaných v Pythonu, které lze použít ke zjednodušení odstraňování problémů se sítí Linux a ladění výkonu. Další informace o těchto nástrojích naleznete v následující příručce.
- Sbírka nástrojů pro zjednodušení odstraňování problémů se sítí Linux a ladění výkonu
3. Moreutils – užitečnější unixové nástroje
Pokud jste správce systému Linux, určitě jste slyšeli o GNU core utilitách . Dodává se předinstalovaný ve všech distribucích Linuxu. Ale co Moreutils ? Moreutils je sbírka užitečných unixových utilit, které nejsou standardně obsaženy v unixových operačních systémech. Tyto nástroje jsou často užitečné pro snadné a rychlé provádění různých operací na vašem linuxovém serveru. Více podrobností naleznete v níže uvedeném odkazu.
- Moreutils – sbírka užitečnějších unixových nástrojů
4. Bash-Snippets - Užitečné BASH skripty pro náročné uživatele příkazového řádku
Bash-Snippets je sbírka užitečných skriptů BASH pro náročné uživatele příkazového řádku, kteří celý den žijí v Terminálu. Chcete zjistit počasí v místě, kde žijete? Pro rychlou kontrolu existuje skript. Zajímá vás, co je to konkrétní cena akcií? Je na to i scénář. nudit se? Můžete se podívat na některá videa na YouTube. Vše z příkazového řádku!! Nemusíte instalovat žádné náročné aplikace GUI náročné na zdroje. Kliknutím na následující odkaz zjistíte, jak tyto skripty používat.
- Sbírka užitečných skriptů BASH pro náročné uživatele příkazového řádku
5. Debian-goodies – nástroje příkazového řádku pro Debian a jeho deriváty
Dobrosti pro Debian je další sbírka užitečných nástrojů pro systémy založené na DEB. Stejně jako moreutils, i Debian-goodies poskytuje některé další užitečné příkazy, které nejsou standardně dostupné. Pomocí těchto nástrojů mohou systémoví správci provádět celou řadu úkolů, například;
- které programy zabírají více místa na disku,
- které služby je třeba po aktualizaci systému restartovat,
- hledejte soubor odpovídající vzoru v balíčku,
- seznam nainstalovaných balíčků na základě vyhledávacího řetězce a mnohem více.
Chcete-li se o těchto dobrotách dozvědět více, podívejte se na následující odkaz.
- Debian-goodies – sada užitečných nástrojů pro uživatele Debianu a Ubuntu
6. Některé dobré alternativy k manuálovým stránkám
Manuálové stránky jsou skvělé! O tom není pochyb. Mnoho manuálových stránek je však komplexních a postrádá užitečné příklady. Možná budete muset projít celou manuálovou stránku, abyste našli podrobnosti o určité možnosti nebo příznaku. To je opravdu časově náročný úkol, když jste se chtěli naučit praktický příklad konkrétního unixového příkazu pomocí manuálových stránek. Už ne! Znám několik dobrých alternativ k manuálovým stránkám, které jsou zaměřeny převážně na příklady a přeskakují všechny ostatní obsáhlé textové části. Přečtěte si níže uvedený odkaz, kde se o nich dozvíte.
- Dobré alternativy k manuálním stránkám, které musí znát každý uživatel Linuxu
7. Cli-fyi – nástroj příkazového řádku pro získávání informací o IP, e-mailu, doméně a dalších
Cli.Fyi je dotazovací nástroj příkazového řádku pro načítání informací o IP adresách, e-mailech, doménách, krypto měnách, médiích/url, datu/čase UTC, zemi a programovacím jazyce atd. Všechny tyto podrobnosti můžete načíst buď z příkazového řádku nebo prohlížeče, jak je popsáno v následujícím odkaz.
- Cli.Fyi – nástroj CLI pro získávání informací o IP adresách, e-mailech, doménách a mnoha dalších
8. ExplainShell – webový nástroj, který vysvětluje každý argument příkazu Linux
ExplainShell je skvělým zdrojem pro ty, kteří se chtěli rychle a snadno naučit argumenty a možnosti příkazového řádku Linuxu, aniž by museli odkazovat na manuálové stránky. Rozebírá daný příkaz a vysvětluje, co každá část příkazu Linuxu dělá. Vše, co musíte udělat, je zkopírovat a vložit příkaz Linux na web ExplainShell a okamžitě zobrazí, co jednotlivé části příkazu Linux znamenají.
- ExplainShell – Najděte, co dělá každá část příkazu Linux
9. Kmdr – Získejte vysvětlení příkazů CLI ve svém terminálu
Kmdr je podobný ExplainShell, ale s některými dalšími funkcemi. ExplainShell vám pomůže naučit se pouze příkazy Linuxu. Ale co když se chcete naučit další příkazy CLI, například Python? V ExplainShell nenajdete vysvětlení příkazů Pythonu. Zde přichází na pomoc Kmdr. Kmdr poskytuje vysvětlení pro mnoho příkazů CLI včetně ansible , conda , ukotvitelný panel , git , jdi , kubectl , mongo , mysql , npm ,rubínové drahokamy , tulák a stovky dalších programů, jako jsou ty zabudované do bash . To zní dobře? Skvělý! Chcete-li se naučit používat Kmdr.
, podívejte se na následující odkaz- Kmdr – Zobrazení vysvětlení příkazů CLI v terminálu
Jak jsem již řekl, všechny výše uvedené nástroje nemusí být vždy užitečné. Vyzkoušejte jeden po druhém a zjistěte, zda vám nějakým způsobem pomáhá při vaší každodenní práci.
Tyto nástroje nejsou jen pro systémové administrátory, ale pro každého, kdo chce obecně zlepšit své linuxové dovednosti příkazového řádku. Do tohoto seznamu budu průběžně přidávat další užitečné nástroje a aplikace. Pokud se domníváte, že by do tohoto seznamu měl být přidán jakýkoli jiný nástroj, dejte mi vědět v sekci komentářů níže. Seznam podle toho zkontroluji a aktualizuji.