GNU/Linux >> Znalost Linux >  >> Linux

Potřebuje Linux občasné vyčištění?

Pokud jste byli dost staří na to, abyste mohli používat počítače v polovině roku 2000 (právě v té dekádě) a náhodou jste používali Windows a Linux, a jako pitomci jste se také účastnili diskuzí o výhodách tohoto operačního systému. , pak jste se jistě setkali s následujícím tvrzením:v Linuxu nemusíte provádět žádnou údržbu systému, je dostatečně chytrý, aby si s tím vším poradil sám.

Ve skutečnosti se na straně Windows často hovořilo o tom, že se systémy časem zpomalují, je naléhavá potřeba defragmentace (v NTFS na rozdíl od Ext3), čištění dočasných souborů a podobně. Linux byl často propagován jako bezúdržbový. Nyní je otázkou, jak moc je toto tvrzení skutečně pravdivé. Vlastně jsem měl možnost to otestovat na vlastní kůži, a to prostřednictvím dočasné náhody.

Co se stalo?

Prováděl jsem nějakou instalaci a odstranění balíčků v instanci Kubuntu 18.04 na mém Slimbooku a najednou se operace nezdařila. Apt, správce balíčků (příkazového řádku) mi řekl, že nemůže dokončit operaci, protože na zařízení nezbývá místo [sic]. Co.

gzip:stdout:Na zařízení nezbývá místo
E:mkinitramfs selhání najít 141 cpio 141 gzip 1
update-initramfs:se nezdařilo pro /boot/initrd.img-4.15.0-163-generic s 1.
dpkg:chyba zpracování balíčku initramfs-tools (--configure):
nainstalovaný balíček initramfs-tools poinstalační skript dílčího procesu vrátil chybový stav ukončení 1
Při zpracování došlo k chybám:
linux-image-4.15.0-166-generic
initramfs-tools

Zajímavé je, že jsem pracoval normálně, bez přerušení. Na mém disku BYLO místo, i když relativně malé (a menší, než jsem si myslel, ale stále nějakých ~20 GB zbývalo na 500GB SSD), a co je důležitější, ŽÁDNÁ zpráva nebo varování od systému, že by došlo k problému.

Ale pak jsem prozkoumal obsah oddílu /boot a ejhle:

df -lh /boot
Velikost souborového systému Použitá dostupnost Použití % Namontováno na
/dev/sda2 705M 705M 0M 100 % /boot

Co. Z nějakého zvláštního důvodu byl můj ne nevýznamný /boot oddíl zaplněn až po okraj, což znamenalo, že jakákoli operace jádra nebo initramfs od této chvíle selže. To není dobrá věc, zvláště když přemýšlím o tom, hej, co kdyby došlo k aktualizaci jádra?

Poté jsem se rozhodl spustit příkaz „autoremove“ pro apt, který vyčistí nepoužívané balíčky. Po několika minutách důsledného čištění se situace vrátila do normálu:

df -lh /boot
Velikost souborového systému Použitá dostupnost Dostupnost % Namontované na
/dev/sda2 705M 155M 500M 24% /boot

Lekce zde

Ukázalo se, že s nastavením úplného šifrování disku, nad kterým jsem při implementaci instalačním programem před třemi lichými lety neměl žádnou kontrolu, protože velikosti různých oddílů a podobně byly nastaveny automaticky, mi nakonec došel /boot prostoru po zhruba 3,5 letech používání, s typickou kadencí aktualizací jádra rodiny Ubuntu.

Nyní je samozřejmě náprava zřejmá - nepoužité obaly občas vyčistěte. Abychom byli spravedliví, apt vám to VŽDY řekne, když spustíte jakýkoli příkaz údržby. Říká vám, že existuje spousta věcí, které lze odstranit, což by mělo snížit využití disku. Na příkazovém řádku.

Ale. Ale. Žádná taková zpráva se nikdy nezobrazí při spuštění správců balíčků GUI, jako je například Discover. To znamená, že obyčejní lidé používající Linux klasickým desktopovým způsobem, tedy BEZ čarování s příkazovým řádkem, nakonec skončí v nepříliš bezúdržbových problémech na svých linuxových počítačích, pokud je budou používat dostatečně dlouho.

V rámci svého čištění jsem také spustil ncdu a našel jsem na disku všemožné nečistoty, včetně spousty zbytků pod /var, kontejnerů a virtuálních strojů, které se dlouho nepoužívaly a nikdy nebyly vyčištěny jejich příslušnými službami. Opět něco, co lze napravit rozmyslem, což by zahrnovalo:a) lepší oddělení adresářů jádra systému od uživatelských souborů (žádné ponechání virtuálních strojů pod /var) b) lepší automatické čištění c) aktuální varování a upozornění pro koncového uživatele .

Na tento celkový problém omezeného povědomí mezi službami v Linuxu jsem upozornil již dávno. Ve skutečnosti neexistuje žádná skutečná soudržnost. Pokud váš systém uvízne v zaváděcí smyčce, nic tuto smyčku nepřeruší, pokud ručně nezasáhnete. Pokud existuje služba, která zpomaluje systém, chybný kus kódu, něco, co se špatně integruje do systému, nic vám to neřekne. Všechno žije ve svém vlastním prostoru, a co je horší, bez jakýchkoli sebekontrolních nebo samoléčebných mechanismů.

Závěr

Toto je můj malý anekdotický příběh. Vůbec poprvé jsem narazil na problém. Dříve jsem pro své systémy používal jeden kořenový oddíl, bez šifrování disku, což znamenalo, že /boot byl stejně rozšiřitelný jako samotný systém, takže prostor po aktualizacích nebyl nikdy problém. Ale tady jsem narazil na něco, co by mohlo a bude kousat lidi, kteří používají své systémy nehloupým způsobem (přes GUI) a neprovádějí žádnou ruční údržbu.

Skutečným řešením je učinit linuxové systémy odolnějšími a mít mnohem, mnohem lepší správu chyb pro každou službu nebo program samostatně a poté v celém systému. To by také pomohlo vyřešit spoustu dalších problémů a chyb, které často zůstávají nezjištěné nebo nenahlášené, protože lidé prostě nemají žádné nástroje, jak zjistit, co se pokazilo nebo jak různé komponenty interagují. No, tady to je. Možná vás to bude zajímat. Uvidíme se.


Linux
  1. Linuxový příběh mé rodiny

  2. Moje 3 oblíbené verze Linuxu

  3. Proč potřebujeme soubor .so.1 v Linuxu?

  1. Plánování kapacity Linuxu:5 věcí, které musíte udělat

  2. Základy příkazů Linuxu:printf

  3. Zpackaný notebook:obnovení Linuxu

  1. Odstraňování problémů s pomalým WiFi v systému Linux

  2. Co je to linuxový server a proč jej vaše firma potřebuje?

  3. Linux – Musí být jádro kompilováno ve stejném vývojovém prostředí jako uživatelský prostor?