5 příkazů terminálu Linux, které opraví většinu mých problémů se systémem
I když jsou systémy Linux poměrně stabilní, každodenní používání může vyvolat určité chyby. Několik distribucí Linuxu zahrnuje nástroje s grafickým rozhraním, ale nejspolehlivější opravy probíhají v terminálu, protože vám poskytuje přesnější kontrolu nad opravami.
Po pár letech, kdy jsem opravoval spoustu těchto problémů s Linuxem, jsem si vytvořil sadu terminálových příkazů, které mi pomáhají téměř se všemi problémy, na které narazím. Nejde jen o příkazy, které spustíte na novém systému a zapomenete; jsou to každodenní nástroje.
Opravte poškozené balíčky dříve, než se rozšíří
Opravte chyby závislostí a neúplné instalace správným způsobem
Na Linuxu se celé balíčky mohou stát nestabilními, pokud je aktualizace nebo instalace softwaru přerušena, nebo pokud se určité závislosti nepodaří vyřešit. To často způsobuje, že stávající aplikace nelze spustit, a někdy selžou i nové instalace.
Abych to opravil, spustím níže uvedené příkazy postupně:
sudo dpkg --configure -a
sudo apt --fix-broken install
sudo apt clean
sudo apt autoremoveVýše uvedené příkazy jsou specifické pro Debian/Ubuntu (APT/dpkg). Na Fedoře použijte sudo dnf distro-sync; na Archu použijte sudo pacman -Syu.
Spouštím je v tomto pořadí, abych mohl obnovit poškozený balíčkový systém, aniž bych přeinstaloval operační systém. Jakýkoliv z následujících signálů může být pro mě spouštěcím signálem k provedení výše uvedených příkazů:
- Instalace softwaru selhává kvůli chybám závislostí
- Aktualizace se zastavují uprostřed
- Správce balíčků hlásí poškozené balíčky
- Aplikace selhávají po aktualizaci systému
První příkaz používám k dokončení instalace jakéhokoli nedokončeného balíčku. Příkaz --fix-broken řeší nesplněné závislosti stažením a instalací toho, co chybí. Příkaz clean odstraňuje uložené soubory balíčků, zatímco příkaz autoremove odstraňuje nepotřebné balíčky, které byly automaticky nainstalovány, aby vyhověly závislostem pro jiný balíček.
Zjistěte, co tiše zaplňuje váš disk
Odhaluje skladovací žrouty, které terminál okamžitě zobrazí
Z mé zkušenosti jsou problémy s místem na disku na Linuxu poměrně běžné. Tyto problémy mohou být spouštěny postupně hromadícími se logy a dočasnými soubory. Mohou být také způsobeny velkou cache. U mě jsou běžnými viníky obvykle mé Docker obrazy a kontejnery, staré jádra a cache aplikací.
Pokud je Docker zodpovědný za zaplnění vašeho disku, můžete bezpečně odstranit zastavené kontejnery spuštěním příkazu docker system prune. Tento příkaz také odstraní neoznačené obrazy, které nejsou použity žádným kontejnerem, a nepoužívanou mezipaměť sestavení. Chcete-li získat více místa odstraněním všech nepoužitých obrazů, přidejte přepínač -a: docker system prune -a
Každý z těchto příznaků může být připomínkou, abyste zkontrolovali využití disku:
- Jednotky se naplňují rychleji než očekáváno
- Aktualizace systému se odmítají instalovat
- Pomalé operace se soubory
- Varování o nízkém volném místě na disku
Spouštím df -h pro zobrazení celkového využití disku. Pro nalezení velkých adresářů spouštím:
sudo du -sh /* 2>/dev/null | sort -rh | head -20Jakmile je to hotové, mohu zúžit hledání na konkrétní adresáře, abych našel, co zabírá místo, a mohu použít příkaz ncdu /, abych měl jednodušší, interaktivní přehled. Jakmile začnu z tohoto kořenového adresáře, je snazší vidět problémové oblasti na úrovni systému, které by se obvykle neobjevily v grafických nástrojích.
Než spustíte příkaz ncdu, musí být na vašem počítači nainstalován. Můžete použít tento příkaz: sudo apt install ncdu
Obnovit síťové připojení bez restartu systému
Vyprázdnit DNS, restartovat rozhraní a ověřit konektivitu
Velmi často problémy se sítí pocházejí z vašeho počítače, ne z routeru nebo poskytovatele internetu. Běžné spouštěče jsou zastaralé DNS záznamy, nereagující síťové služby nebo závady rozhraní. Existuje několik příkazů, které používám k eventualnímu vyřešení problému, a impulsem pro vyzkoušení těchto příkazů je kterýkoli z následujících případů:
- Webové stránky se zasekávají nebo se načítají částečně
- Chyby „Dočasné selhání při rozlišení názvu“
- Přerušené stahování nebo nahrávání
- Ostatní zařízení fungují normálně, zatímco můj systém je offline
Prvním krokem je identifikovat síťové rozhraní. Tento příkaz s tím pomáhá: ip link show. Dále spusťím tento příkaz k vyprázdnění mé mezipaměti DNS: sudo resolvectl flush-caches.
Na starších systémech můžete místo toho spustit ekvivalentní příkaz:sudo systemd-resolve --flush-caches
Dále spusťte dva níže uvedené příkazy pro resetování síťového rozhraní:
sudo ip link set down
sudo ip link set up Nakonec můžete použít příkaz ping k testování konektivity:
ping -c 4 google.comNa systémech běžících s NetworkManager může přímé použití příkazu ip link způsobit, že NetworkManager přepíše vaše změny. Příkazy nmcli níže aplikují trvalé resetování přes NetworkManager.
nmcli networking off
nmcli networking onPřestaňte hádat, proč váš systém působí pomalu
Okamžitě seřaďte využití procesoru, paměti a disku
Není neobvyklé, že váš počítač občas působí pomalu. Nicméně stojí za to to zkontrolovat, zejména když zpomalení nenastávají při náročných úlohách. Všiml jsem si, že často může zpomalení způsobit nekontrolovaný proces, tlak na paměť nebo vysoká aktivita disku. Jakmile si všimnu některého z níže uvedených příznaků, začnu problém zkoumat:
- Aplikace zamrzají nebo se zasekávají
- Vysoká činnost ventilátoru
- Časté výkyvy CPU
- Pomalá odezva desktopu
Nejprve používám příkaz top k zobrazení aktuálního využití systémových zdrojů. Poté spustím tento příkaz: top -b -n 1 | head -20, abych zachytil snímek aktivních procesů. Dále spustím tento příkaz, abych zjistil, které procesy spotřebovávají paměť: ps aux --sort=-%mem | head -10. Pokud potřebujete sledovat aktivitu diskového I/O, spusťte tento příkaz: iostat -x 1 3.
Pokud není iostat nainstalován, nainstalujte balíček sysstat (například sudo apt install sysstat na Debianu/Ubuntu).
Také můžete použít příkaz htop, pokud dáváte přednost interaktivnějšímu prohlížeči procesů. Jakmile najdete proces, který nefunguje správně, poznamenejte si jeho PID a nejprve se pokuste jej ukončit čistě pomocí kill PID, který pošle signál SIGTERM a dá procesu šanci uložit data a ukončit se bez problémů. Pokud proces nereaguje, ukončete jej pomocí příkazu: kill -9 PID jako poslední možnost.
Opravte chyby souborového systému dříve, než způsobí ztrátu dat
Spusťte fsck bezpečně a ověřte integritu disku
Při používání počítače očekávejte systémové chyby. Náhlá ztráta napájení, poruchy hardwaru nebo nesprávné vypnutí jsou snadné spouštěče. Skutečným problémem však je, že tyto chyby se mohou hromadit a způsobit, že soubory zmizí. V některých případech může počítač přestat správně spouštět systém. Běžné příznaky, které vidím před opravou systémových souborů, jsou:
- Soubory se nepodařilo otevřít
- Neočekávané chyby čtení nebo zápisu
- Soubory systémy přecházejí do režimu pouze pro čtení
Než přistoupíte k jakýmkoli větším opravám, spusťte níže uvedený příkaz pro identifikaci oddílu: lsblk
Spusťte fsck pouze na odpojených oddílech; jeho spuštění na připojených souborových systémech může způsobit vážné poškození dat.
Obvykle provedu pouze čtecí sken, než použiju jakékoli automatické opravy pomocí následujícího příkazu:
sudo fsck -n /dev/sdXPokud zjistím jakékoli chyby, které potřebuji spustit automaticky, spustím níže uvedený příkaz (přepínač -y provádí opravy bez dalších dotazů):
sudo fsck -y /dev/sdXJe bezpečné spustit fsck z live USB prostředí, když potřebujete zkontrolovat kořenový souborový systém. Také používám nástroje jako smartctl k odhalení selhávajících disků.
Několik příkazů může vyřešit většinu problémů v Linuxu
Doporučuji určité obecné příkazy pro každodenní použití. Pro řešení běžných problémů v Linuxu jsou však tyto pět skupin příkazů vaší nejlepší volbou. Řešení mnoha problémů zabere jen několik minut. Můžete diagnostikovat problémy z grafického rozhraní, ale terminál umožňuje pokročilejší řešení problémů.









