Felhasználói eszközök

Eszközök a webhelyen


oktatas:linux:hogyanok:linux_konzolon_szemetes

< Hogyanok

Linux konzolon szemetes

  • Szerző: Sallai András
  • Copyright © Sallai András, 2012, 2015
  • Licenc: GNU Free Documentation License 1.3

Bevezetés

A Linuxos rendszereken általában ext3, ext4 fájlrendszert használunk. Állományok visszaállítása ezért nagyon nehéz. A megelőzés érdekében szemetest készíthetünk a Libtrash nevű csomag segítségével.

Nem sok idő telt el 2012 óta, ma 2015 van, a libtrash-t kivették a csomagok listájából. Az általam hivatkozott hup.hu weboldalon is azt írták korábban, hogy nem fejlesztik. Ez nem volt teljesen igaz, de a 2008-as kiadás után 6 év telt el az újabb kiadásig. 2014-ben volt újabb kiadás.

Közben születtek megoldások szemetes funkcióra, de azok nem automatikusak. Ilyen például a trash-cli. A projekt egy újabb parancsot hoz létre a törléshez, ami egy kukába történik. Pusztán ebből áll a trash-cli használata.

A libtrash viszont bármilyen törléssel működik, mivel a libc függvények előtt hajtódnak végre. A következő libc függvényeket írja felül, illetve hajtódik előttük végre:

  • unlink()
  • unlinkat()
  • rename()
  • renameat()
  • fopen()
  • fopen64()
  • freopen()
  • freopen64()
  • open()
  • openat()
  • open64()
  • openat64()
  • creat()
  • creat64()

Telepítés

# apt-get install libtrash

Mivel kivették a csomagok közül, ezért ez az utasítás már lényegtelen. Beszerzéshez látogassunk el a weboldalára:

Ott találunk egy linket a csomagra:

Szedjük le a legújabb verziót:

wget http://pages.stern.nyu.edu/~marriaga/software/libtrash/libtrash-latest.tgz

Csomagoljuk ki:

tar -xf libtrash-latest.tgz

Egy libtrash-3.3 könyvtárat kaptam (2015). Lépjünk be a könyvtárba:

cd libtrash-3.3

Fordítsuk le a forrást a következő paranccsal:

make

Telepítsük a libtrasht:

make install

A telepítés ezzel elkészült.

Beállítások

A Debian 5.x rendszeren

Megkeressük milyen néven települt a .so fájl:

# find /usr/lib -name libtrash.so*

Találatunk a következő lehet:/usr/lib/libtrash/libtrash.so.2.4

Globális használathoz:

# echo "/usr/lib/libtrash/libtrash.so.2.4" >> /etc/ld.so.preload

Kilépés-, belépés után működik.

Lokális használathoz:

$ echo "export LD_PRELOAD=/usr/lib/libtrash/libtras.so.2.4" >> ~/.bashrc

Debian 8.x rendszeren

Telepítés után után (make install) a következő helyen találunk egy linket:

/usr/local/lib/libtrash.so

Ez mutat a /usr/local/lib/libtrash.so.3.3 nevű fájlra.

Globális használathoz:

# echo "export LD_PRELOAD=/usr/lib/libtrash/libtras.so" >> /etc/.profile

Újraindulás után a /etc/.profile csak akkor lesz szerkeszthető, ha kikapcsoljuk a szemetest!

Lokális használathoz:

$ echo "export LD_PRELOAD=/usr/lib/libtrash/libtras.so" >> ~/.profile

Mindnight Commander felhasználók! Előbb ki kell lépni a Mindnight Commanderből, és akkor használjuk a trashon vagy trashoff parancsot.

Karbantartás

Időnként azonban mindenképpen ki kell kapcsolni és törölni a kukát. A szemetes automatikus törléséhez 3 perl scriptet is tartalmaz a feltelepített csomag a következő helyen:

/usr/share/doc/libtrash/examples/cleanTrash

Ha a weboldaláról szedtünk le egy .tgz állományt, akkor ott is találunk egy cleanTrash könyvtárat.

Alapesetben a rejtett és az üres (0 méretű) állományok nem kerülnek szemetesbe.

Használat

Tulajdonképpen semmit nem kell tennünk, működik. De hol találjuk a törölt állományokat az egyes esetekben.

Ha globálisan állítottam be a szemetes funkciót, akkor a rendszergazda könyvtárában létre jön egy Trash könyvtár.

/root/Trash

A root felhasználó által törölt állományok közvetlenül ebbe a könyvtárba kerülnek.

Ha felhasználó belép, számára is létrejön egy Trash nevű állomány.

~/Trash

Ha egy janos nevű felhasználó töröl egy elemet a saját könyvtárában, és jogosultsági problémák miatt a janos felhasználó számára nem töltődött be a libtrash.so, akkor az a következő helyre kerül:

/root/Trash/SYSTEM_ROOT/home/janos

A kuka kikapcsolása:

export TRASH_OFF=YES

Visszakapcsolás:

export TRASH_OFF=NO

Készíthetünk egy parancsot is, ami megkönnyíti a ki és bekapcsolást menet közben. Fűzzük ~/.bashrc vagy ~/.profile fájl végéhez:

# libtrash beállítások
alias trashon="export TRASH_OFF=NO"
alias trashoff="export TRASH_OFF=YES"
exprort TRASH_OFF=NO

Tesztelés

  1. Készítsünk egy fájlt, legyen a neve teszt_fajl
  2. Szerkesszük a teszt_fajl állományt és írjunk bele néhány karakter
  3. Töröljük a fájlt, majd ellenőrizzük a ~/Trash könyvtárat
$ echo "abc" > teszt_fajl
$ rm teszt_fajl 
$ ls ~/Trash/

Egyéb hogyan

oktatas/linux/hogyanok/linux_konzolon_szemetes.txt · Utolsó módosítás: 2019/08/21 14:16 szerkesztette: admin