CLI - Szemét eltávolítás

Adatmentést érintettük már, ma az adatok törlésével fogunk foglalkozni. A gépemen sok felesleges szemét van, azokat rendszeresen törölni kell. Ezek vagy olyan szemetek, melyeket programok hoznak létre, vagy olyan fájlok, amiket a felhasználó készít, tölt le. Ami nem kell azt érdemes törölni. Részben a hely felszabadítása miatt, részben az a magánélet szentsége miatt.

Ami nagy fejlesztése a Linuxoknak az a szemetes kuka. Erről eltérhet a véleménye mindenkinek, hogy ez hasznos, vagy felesleges, de mivel van és használják sokan így érdemes a témát körbejárni.

Sok Linux rendszerben a törlés alapértelmezett módon a grafikus fájlkezelőkben nem törlés, hanem csak átmozgatjuk a szemetesbe. Ez nagyon jó, ha valamit vissza szeretnénk állítani, de nagyon rossz, ha éppen abban a hitben vagyunk, hogy azt töröltük, de más „kikukázza” és visszaél vele. Gondolom senki nem dobja bele a szemetesébe a fontos, személyes adatokat is tartalmazó papír alapú leveleit, hogy azt bárki el tudja olvasni. Másik negatív eredménye az ilyen kukás megoldásnak a helyfoglalás. Eltérő megoldásokkal találkoztam a legtöbb Linux desktop rendszer limitálja a kuka méretét. Így nem tudjuk teleszemetelni a tárhelyünket.

A kuka (Trash) üríthető

Ez nem okoz gondot, hiszen sok rendszerben a kuka ikonra kattintva, vagy a fájlkezelőben a kuka/szemetes/Trash/akármihasonló mappára kattintva lehetőségünk van a kuka ürítésére.

Ez egy jó megoldás, de számomra egy plusz „feladat”, így körbejártam a témát és két megoldást találtam. Az egyik egy viszonylag egyszerű és szerintem kényelmes módja a kuka ürítésnek.

Írjunk egy nagyon "bonyolult" scriptet a kuka takarításhoz.

Első lépés természetesen az összes „kuka” könyvtár felderítése. Igen, van több is, hiszen a legtöbb meghajtón nagy lelkesen létrehoz egy-egy mappát. Ez logikus is, hiszen lemezen belül mozgatva gyors a „törlés”, de eltérő partíciók, lemezek stb. közt már kevésbé.

Így érdemes megkeresni az összest és azokra alkalmazni a törlést.

Nálam (MX17 linux) ilyen néven futnak a szemetesek: .Trash-1000, a legtöbb meghajtó gyökérében találhatóak és a /home/laci/.local/share/Trash/ címen.

Mivel én mindegyik fájlt és könyvtárat törölni akarom, így a lehető legegyszerűbben oldottam meg a problémát

rm -rf és az elérési útvonal.

Ez egy olyan !!veszélyes!!  parancs, ami kérdés nélkül töröl és minden alkönyvtárat, fájl. Így legyünk körültekintők és ha lehet (természeten lehet) ne gépeljük az elérési utat, hanem másoljuk egy fájlkelezőből (pld. a SpaceFM). Ami szintén fontos próbáljuk is ki, így biztosan azt és úgy teszi amit akarunk.

Ha minden biztosan jó, akkor már meg is írhatjuk a „nagyon fejlett” kukaürítő programunkat.

#!/bin/bash

rm -rf /media/laci/Menetes/.Trash-1000
rm -rf /home/laci/.local/share/Trash/

+ annyi sor, amennyi kukánk van és azt véglegesen üríteni akarjuk.

A script kezdeménynek egy nagy hibája van. Nem kérdez semmit, mindent töröl. Ez a célom, így ezen nem is akarok változtatni. A mások hibája, hogy bár át lehetne írni olyanra, hogy különféle ismérvek szerint töröljön: kor, méret vagy egyéb, de nekem annyit nem ér. Erre találtam egy külön programot. Nagy előnye, amiről majd később lesz szó, hogy ez egy sima „töröl ki a fájlokat” megoldás, így nem csak a kukát tudjuk törölni vele, hanem bármely olyan mappát, amit szeretnénk kitörölni. Erre szükségünk lesz majd!

Ha a cron-ba (én a cron.weekly-be rakom) megadva időszakosan purgálja a Trash-t.

Feltételezem másnak is problémákat okozott a kuka téma, így jó pár program készül erre. Én egyet mutatok be, ami természetesen CLI, azaz parancssoros.

Autotrash

Az Autotrash egy parancssori segédprogram, amellyel automatikusan törli a kukában lévő fájlokat. Törli azokat a régi fájlokat melyek egy bizonyos számú napnál régebbiel. Nem kell kiüríteni a kukát, vagy a SHIFT + DELETE billentyűkombinációt használni a fájlok/mappák végleges törléséhez ezentúl. Az Autortrash kezeli a kuka tartalmát, és automatikusan üríti őket egy bizonyos idő elteltével.

Illetve nem engedi, hogy a szemetesed túl nagy legyen, mert beállítható egy méretkorlát is. A kettő variálásával már jól szabályozhatjuk a kuka tulajdonságait is. Ez egy olyan kis program, ami szerintem minden további nélkül integrálható lenne a kuka funkcióba, azaz idő és méret korláttal rendelkezhetne a kuka. Bár egyes rendszereken a méretet megadhatjuk, de ez nem általános.

sudo apt-get install autotrash

Ha más rendszert használsz és nem MX17-es Linuxot, akkor a saját telepítési módszeredet használd! Önállóan. Ha meg nincs a tárolóban akkor a github oldalról simán le tudod szedni. ()

Majd a szokott mód érdemes a -h kapcsolóval a helpet átnézni, mert én csak pár (nekem) fontos lehetőségre térek ki.

autotrash -d 3

-d kapcsolóval adhatjuk meg a napok számát, melynél régebbit töröljön. Kényelemes egy átlagos felhasználású gépen, hogy a régi (egy bizonyos nap számnál régebbi) szemetet automatikusan törölni akarjuk.

autotrash --max-free 13312 --min-free 10240 -d 3

Ezt használom, azaz ha a szabad hely 13giga alá esik, akkor a három napnál régebbit törölni kezdi, ha meg 10giga alá, akkor a többit is. Ez egy reális elvárás kisebb lemezen, ahol kevesebb a hely, de a audió és videó vágás miatt kell a szabad hely a /var-ban.

Ez egy sokkal jobban konfigurálható megoldás, mint az első. Szintén érdemes a cron-ba rakni, mert akkor lefut időnként.

Ha máshol is van kukád, akkor a -T kapcsolóval meg tudod adni annak a helyét és így azt is rendszeresen üríteni tudod.

Lesz egy komolyabb és mást is takarító programról szó és az egyszerű Trash purgáló scriptet is fejlesztjük majd.

Ennyi.

Az eredeti bejegyzés a blogomban jelent meg