Linuxové příkazy
tmux: Relace, které přežijí vaše připojení
tmux je terminálový multiplexer, který udržuje dlouhotrvající práci při životě, když vaše připojení SSH zanikne: proces odděleného serveru drží vaše okna a panely a jakékoli pozdější připojení (notebook, kancelářská síť, jiné město) se znovu připojí ke stejné živé relaci. Věnovaná součást našeho srovnání tmux-vs-screen: zvyky, které jej mění z novinky na provozní infrastrukturu.
Klíčové body
- Mentální model je server-klient: `tmux new -s deploy` vytvoří pojmenovanou oddělenou relaci; `Ctrl-b d` odpojí; `tmux připojit -t deploy` vrátí cokoli později z jakéhokoli připojení: nasazení, log tail a kompilace přežijí i přechod notebooků do režimu spánku uprostřed práce.
- Okna a panely jsou pracovní plocha: okna jsou karty úloh ve stylu Alt (Ctrl-b c pro vytvoření, n/p nebo čísla pro přepínání), podokna rozdělují okno (Ctrl-b % svisle, " horizontálně, navigace pomocí šipek): jedna obrazovka, jeden kontext — přihlášení v levém panelu, restart služby vpravo.
- Konfigurace se udržuje v ~/.tmux.conf: větší scrollback (limit historie), režim myši pro posouvání/výběr, kratší únikový čas (zpoždění ve stylu vi zabíjí manipulaci s klávesami citlivou na latenci) a viditelný stavový řádek zobrazující názvy relace a oken; konfigurace žije ve správě verzí jako všechno ostatní funkční.
- Režim kopírování je tichá superschopnost: Ctrl-b [ přejde do scrollbacku s hledáním (/) a výběrem kopírování; v kombinaci s předponami pro třídu grep obnovuje okamžik 'Viděl jsem chybu před třemi obrazovkami', který prostý scrollback SSH ztrácí.
- Týmové relace fungují: sdílené pojmenované sokety (tmux -S /tmp/pair.sock) umožňují dvěma inženýrům připojit se ke stejné živé relaci pro párové ladění nebo předání; relace přetrvává, dokud žije soket (a tedy také disciplína sdíleného prostředí: zmiň, nepřekvapuj).
- Skriptovací realita: `tmux new-session -d -s job 'run-script && send-keys...'`-třída automatizace a příkazy tmux z cronu provádějí bezobslužná nastavení sledování logu s více panely; spárujte jej s log-to-file pro cokoli, co musí přežít po recenzní smyčce (naše linuxové příkazy cat-hub pokrývají místo toho logy).
Poznámka z terénu
Nasazení, které trvalo tři hodiny na jednu baterii notebooku, použilo tmux, aby přežilo vybití baterie dvakrát uprostřed práce. Relace jsou infrastruktura a inženýr spal, když byla stavba dokončena.
Časté dotazy
tmux vs obrazovka pro nová nastavení?
tmux: lepší rozdělení, skriptovací slovník, komunita živých konfigurací. Obrazovka GNU: nainstalována tam, kde tmux není (starší záchranné obrazy, minimální počet hostitelů). Náš srovnávací článek obsahuje tabulku kompromisů: vyberte si tmux tam, kde si svobodně vybíráte, poznejte obrazovku, kdy se hostitel rozhodne za vás.
Jak se mohu odpojit, aniž bych zabil svou práci?
Prefix d (Ctrl-b d) odpojí pouze pohled klienta: relace (úlohy, shelly) běží na straně serveru; zabíjení vyžaduje explicitně `tmux kill-session`, takže odpojení je vždy bezpečné.
Mohou se připojit dva lidé, aby mohli číst stejnou relaci?
Ano, sdílené pojmenované soketové relace nebo prosté `tmux připojit -t` ke stejné relaci fungují obě; párový trénink, předání a příkaz k incidentu se staly běžným případem použití operačních systémů.
Jaká je minimální konfigurace, která se okamžitě vyplatí?
Větší historie scrollbacku, zapnutý režim myši, kratší únikový čas a stavový řádek s názvem hostitele a relace: čtyři řádky, které zabraňují většině incidentů typu „čekejte, na které pole jsem“.
Jak Kinetikatech pomáhá s linuxové příkazy
Upřímně, většina týmů se na nás obrací poté, co to nejdřív zkusila sama: Příkazy a skriptovací návyky, které rozhodují o tom, zda správce provozuje server nebo s ním bojuje: prohledávejte, transformujte, přenášejte a dohlížejte na text a procesy pomocí nástrojů, které jsou součástí každé základní instalace. Naše služba Zabezpečení linuxových serverů a Správa serverů je tu proto, abyste linuxové příkazy nepoznávali na vlastní kůži; my se postaráme o zprovoznění, dohled a překvapení ve tři ráno.