[[oktatas:linux:hogyanok|< Hogyanok]]
====== Linux konzolon szemetes ======
* **Szerző:** Sallai András
* Copyright (c) Sallai András, 2012, 2015
* Licenc: GNU Free Documentation License 1.3
* Web: http://szit.hu
===== 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:
* http://pages.stern.nyu.edu/~marriaga/software/libtrash/
Ott találunk egy linket a csomagra:
* http://pages.stern.nyu.edu/~marriaga/software/libtrash/libtrash-latest.tgz
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 =====
- Készítsünk egy fájlt, legyen a neve teszt_fajl
- Szerkesszük a teszt_fajl állományt és írjunk bele néhány karakter
- 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 =====
* http://wiki.hup.hu/index.php/Libtrash (Leírás)
* http://pages.stern.nyu.edu/~marriaga/software/libtrash/ (Libtrash weboldala)
* https://github.com/termih/libtrash