Libtrash: Linux Altinda Yanlislikla Dosya Silmeye Paydos !

From Lapis Wiki

Jump to: navigation, search
Bu makale NASIL bölümü serisinin bir parçasıdır
MasaÜstü Donanım Dağıtımlar
Tarayıcılar Programlama Linux ve Oyunlar

Konu başlıkları

Giriş

Linux altında yanlışlık ile dosya silmek sizi dönüşü olmayan bir yere göturecektir. Fakat silinen dosyaları geri getirmenin bir yolu var: teşekkurler libtrash.


Her kullanıcı, raslantısal olsada, sistem adminine kadar dosyaları kazara şilmiş olabilir. Nede olsa insanız öyle değil mi?. Eğer Windows kullancısı iseniz bu gibi yapılan hataları geri dönüşüö kutusundan geri getirmeniz mumkun. Tabiki Linux kullancıları bundan mağdur değil. Üzülüp endişelenmeye gerek yok. Eğer libtrash kullanıyorsaniz dosyalarınızı geri getirebilirsiniz: root olarak silseniz bile, hatta shell altında silseniz bile...!


Libtrash nedir?

Libtrash basit bir yardımcı programdır. Paylaşımlı bir kütüphaneye sahip olan, dosyaları sildiğinizde geri getiren yardımcı bir program. Libtrash birkez kurulduğunda, silinmiş dosyalar ev dizininiz altında bulunan Trash klasorune atılacaktır, konsoldan silseniz bile. Libtrash kullanıcılara normal silme komutlarına özgürlük getirir ve libtrash sistemdeki herhangi bir dosya üzerinden silinerek işlem yapılır.


Libtrash'ın elde edilmesi

Libtrash'ın son sürümünü

http://pages.stern.nyu.edu/~marriaga/software/libtrash/

adresinden indirip,

./configure  --prefix=/usr
make
make install

komutlarını vererek kurabilirsiniz.


Gentoo kullanıyorsanız,

#  emerge  libtrash

Debian kullanıyorsanız,

#  apt-get install libtrash

Archlinux kullanıyorsanız,

#  pacman -S libtrash

komutunu vermeniz yeterli.

Libtrash'ın Yapılandırılması

Uyarı: Teori olarak Libtrash'ın yapılandırılması için hiçbir dosyayı ayarlamanıza veya değiştirmenize gerek yok. Aşağıdakiler sadece bilgilendirmek amacı ile verilmiştir. Okumak istemiyorsanız, doğrudan LIBTRASH KULLANIMI bölümüne geçebilirsiniz.

Libtrash derlendiüi zaman öntanımlı olarak /etc/libtrash.conf dosyası yaratılır.


Systemwide configuration : Butun kullanıcılar için geçerlidir. Bu yapılandırma dosyası / etc/libtrash.conf dosyasından okunur.

Personal configuration : Her kullanici kendine ayri bir yapilandirma dosyasini kullanabilir. ev dizini icerisindeki .libtrash dizini her kullanici icin ayri sekilde ayarlandigi taktirde bu olanak mumkun.


Systemwide configuration

Bu yapilandirma /etc/libtrash.conf dosyasini bicimlendirerek yapilir. Gerekli ayarlar libtrash derlenmeden once yapilmalidir. libtrash derlendikten sonra yapilandirma dosyasinin bicimlendirilmesi ontanimli programin calisma seklini degistirmeyecektir. Bu dusunceyi zorla kabul ettirmek gerekirse bu dosya asla bicimlendirilmeyecektir. sadece okuma izni verilmelidir. /etc/libtrash.conf dosyasi root kullanicisi dahil tum kullanicilar icin genel dosyadir. Buyuzden libtrash'i kurmadan once libtrash-1.8/libtrash.conf dosyasini bicimlendiriniz.


libtrash.conf dosyasinda dort varlik vardir. Bu degiskenler libtrash calistirildiginda kullanicilar tarafindan degistirilemez, bu dort secenek :

DEBUG
PERSONAL_CONF_FILE
WARNING_STRING
UNCOVER_DIRS


Diger dort secenek libtrash, linux standart dosyalar'i ismini degistirdiginde be bag cozdugunde kullanilan degiskenlerdir ,sizin icin en iyi bahis olarak ontanimli olarak, bu degiskenleri kullanmaktir :


INTERCEPT_UNLINK=YES
INTERCEPT_RENAME=YES
INTERCEPT_FOPEN
INTERCEPT_OPEN


Daha cok secenek, daha iyi kontrol demek , geri kalan secenekler libtrash uzerinde daha fazla kontrol saglamaniza yardimci olacaktir. Bu secenekler :


TRASH_CAN=Trash

Bu degisken silinen dosyalarin nereye konulacagini belirtir .Ontanimli adi trash dir. Herhangi bir isim kullanilabilir. Dizin ismini degistirmek icin, egik cizgi kullanmadan yazin.


IN_CASE_OF_FAILURE=

Bu ayar basarisizlikla karsilasildiginda libtrash'in nasil tepki gosterecegini belirler. Bu degisken

'in PROTECT olarak ayarlanmasi, standart linux fonksiyonlari tarafindan silinen dosyalari korumak icindir. Degiskenin ALLOW_DESTRUCTION olarak ayarlanmasi libtrash'i gormezden gelir.


SHOULD_WARN=YES

Bu ayar libtrash icin uyari secenegini etkinlestirir. Bu secenek sayesinde libtrash edilgenlestirildiginde kullanicilari kalici olarak dosyalarin silinmesinde uyarmaya yarayacaktir. Bu ozellikle kullanicilarin yeni oldugu dusunulurse veya libtrash in herzaman acik oldugunu dusunulurse faydali bir secenektir.


PROTECT_TRASH=YES

Bu secenek Trash icerisindeki dosyalarin silinmesini engellemek icindir. Kullanici Trash dizini icersindeki dosyalar ozel durum belirtir. Libtrash fonksiyonlari silinmis dosyalari kullanici ev dizini icerisindeki Trashcan icersine gonderecektir. Kullanici bu dosyalari silmek istediginde ontanimli libtrash calismayacaktir.


IGNORE_EXTENSIONS=

Bu ayar belirlediginiz uzantidaki dosyalari trashcan a kopyalanmadan silinmesini saglayacaktir.

libtrash tarafindan hangi uzantinin silinmesini belirlemek icin, gormezden gelincek dosyanin uzantisini (;) isareti ile birlikte uzantilar arasina koyulursa gormezden gelinecektir. uzanti oncesinde (.) isareti koymayin. Ornegin IGNORE_EXTENSIONS=o;c;log gibi


IGNORE_HIDDEN=YES


Gizli dosyalar veya gizli dizinler icerisindeki gizli dosyalar belki trashcan a gonderilebilir, bu degiskenin “yes” olarak ayarlanmasi linux bu dosyalari silerken trashcan e gondermeden silcegini belirtmektedir. Ontanimli olarak “yes” koyun ve her kullanici icin ayar yapin.


IGNORE_EDITOR_BACKUP=NO

Bu degisken onemli dosyalarin yedeklerini herzaman trash a gonderilmesini saglamaktadir. Bu dosyalar tilda (~) uzantisiyla biter. Ontanimli hali “YES” dir. Bu secenegini degistirmek iyi bir dusunce olabilir.


IGNORE_EDITOR_TEMPORARY=YES

Bu degisken sevilen editor programlar tarafindan yaratinlan gecici dosyalarla ilgilenir. Bu degiskenin “YES” olarak ayarlanmasi bu tip dosyalari trashcan a yollamadan silinmesini saglayacaktir.

“NO” derseniz dosyalar kullanici ev dizini altindaki trashcan e gonderilcektir. Ontanimli olarak “YES” koyun.


LIBTRASH_CONFIG_FILE_UNREMOVEABLE=YES

Bu degisken kullanicilarin kisisel dizinindeki yapilandirma dosyasinin korunmasi icindir. Bu yapilandirma dosyasinin kaldirilmasi beklenmeyen hareketlere sebeb olacaktir. Bu ayarla pek fazla oynamayin.


TRASH_SYSTEM_ROOT


Bu degisken GLOBAL_PROTECTION degiskeninin “yes” olarak ayarlanmasi halinde /root dizini altindaki trash 'in foksiyonlarinin konumunu belirleyen degiskendir. Eger global_protection kullanilmazsa TRASH_SYSTEM_ROOT degiskeni gormezden gelinecektir. TRASH_SYSTEM_ROOT degiskeni herzaman yan cizgi kullanilmadan ayarlanir ontanimli ayar ise TRASH_SYSTEM_ROOT = SYSTEM_ROOT dur.


UNREMOVEABLE_DIRS=/bin;/boot/;/dev;/etc;/lib;/sbin;/usr


Sistemdeki herhangi bir dizin kaldirilamayan dizin olarak isaretlenebilir. Herhangi bir kullanici tarafindan silinirse, bu dosyalar libtrash tarafindan korunacaktir. Aslinda libtrash in en onemli yapilandirma ozelligi budur. Korunacak olan dizinleri dikkatlice yerlestirin. Admin, kullanicilarin kaza da olsa bile bile de olsa dosyalari ve dizinleri silseler, bunun onune gecebilir.Bu degiskenin basindaki (#) isareti kaldirin ve aktif edin. Ekleme yapmakicin listenin sonuna (;) isaretini koyarak korumak istediginiz dizinleri ekleyin.


UNCOVER_DIRS=


Yukaridaki korunan dizinler gecici olarak UNCOVER_DIRS degiskenine eklenirse kaldirilabilir. Ontanimli olarak bostur. Bos birakin. Herhangi korunmasini istediginiz dosyalari bu liste ye koyabilirsiniz. Bu degisken sayesinde kullanicilarin silmesini istedigi dizinleri ayarlayabilirsiniz.


USER_TEMPORARY_DIRS=temp


Bu degisken gecici dosyalarinizin nereye yaratilcagini belirlemenize yarar, bu dizin altindaki dosyalar herzaman kalici olarak silinebilir. Eger bu secenegi gerek duymuyorsaniz bos birakin.


REMOVEABLE_MEDIA_NMOUNT_POINTS


“Global protection” kullanildigi zaman kitle erisim araclarinin trashcan a kopyalanmasini engellemek icin gereken degiskendir REMOVEABLE_MEDIA_NMOUNT_POINTS ayari ontanimli olarak aktif edilir. “global protection” edilgenlestirildiginde gormezden gelinir.


EXCEPTIONS

Korunmus olarak ayarli olan dosyalardan korunmayi kaldirmak icin kullanilan degiskendir.

Program tarafindan gerekli hareketleri izin verir ornegin ; kitli dosyalari silmek ve yaratmak da, veya baglanmis/baglanmamis suruculeri ve UNREMOVABLE _DIRS degiskeni icersindeki gerekli bazi dosyalari.


Sisteminiz icin gerekli olaran lari dusunerek , bu degiskenleri calisin. Birkez yapilandirma hazirlandiktan sonra, sonraki adim libtrash in kurulmasi.


Kişisel Yapılandırma Dosyasının Yaratılması

Kisisel yapilandirma dosyasi her kullanicinin ec dizini icersine yaratilir. yukaridaki ayarlar libtrash.conf dosyasi ile benzerdir. ve yukaridaki secenekleri ifade etmedikce umursamamaniz mumkun. Ornegin ~/.libtrash dizinini ev dizini altinda asagidaki degiskenlerle yaratabilirsiniz.


GLOBAL_PROTECTION=NO
IGNORE_EXTENSIONS=bat;exe;com


Bu degisken ile “global protection” edilgenlestirilecektir, ve bat,exe,com dosyalari trashcan e gonderilmeden kalici bir sekilde silinmesini saglayacaktir.


Cok kullanicili sistemlerde, Yonetici diger kullanicilarin ve kullanici gruplarinin libtrash i kullanmasini istecektir. Bu sistemlerde, kurulum olmadan once root kullanicisi her grup kullanicisi icin standart bir libtrash yapilandirma dosyasi yaratmasi gereklidir.

Libtrash Kullanılması

Libtrash paylaşılmış bir kütüphanedir. Çalıştırılabilir bir program ya da script değildir. Libtrash'ı çalıştırmak için bir komut yoktur. Kütüphaneleri libtrash ile ilişkilendirmek için sisteme login olmanız yeterlidir.

Şimdi sırası ile şunları yapabilirsiniz:


  • Libtash kütüphanesinin bulunduğu yeri tespit edin. Bu dosya genelde /usr/lib/libtrash.so şeklindedir. Fakat farklı kurulumlarda bu dosyanın yeri değişebilir. İcabında FIND komutunu kullanarak bu dosyayı aratarak yerini tespit edebilirsiniz.
  • Sonra tespit ettiğinizi dosyayı /etc/profile dosyasının en son satırına ilave edin
export LD_PRELOAD=/usr/lib/libtrash.so
  • Gene /etc/profile dosyasının en son satırına aşağıdaki 2 adet alias tanımlamasını ilave edin:
alias trashon='export TRASH_OFF=NO'
alias trashoff='export TRASH_OFF=YES'

Bu 2 alias tanımlaması sadece Shell altında girdiğimizde etkin hale gelecek şekilde ayarlayacağız.

  • Şimdi kullanıcının Home dizinindeki .bashrc dosyasının en son satırına şunu ilave edin:
trashon
  • Şimdi kullanıcının Home dizinindeki .bash_logout dosyasının en son satırına şunu ilave edin:
trashof


NOT: trashon ve trashoff aliasları sadece shell altında işlem yaparken işimize yarayacak. Shell konsolundan çıktığımızda ise kapatılacak. X altında silinen her dosya zaten Trash a otomatikman gidiyor.

Eğer .bashrc veya .bashrc_logout dosyalarının içine almak istemiyorsanız, kendiniz eliniz ile (manuel olarak)

$  trashon

veya

$  trashoff

komutlarını vererek yönetebilirsiniz.

Kurulumun test edilmesi

Libtrash'ın işlevselliğini test etmek için, shell altında sadece bir dosya yaratıp sonrada silmeniz yeterlidir (isteğinize göre silebilirsiniz). Dosya silindikten sonra ev dizininiz içerisindeki

Trash 

dizini içerisine gönderilecektir. TRASHON olduğu sürece Trash dizini içindeki dosyaları silmeniz imkansızdır. Eğer Trash dizinini temizlemek ve 100% olarak silmek istediğinizden emin iseniz, TRASHOFF komununa geçip silmeniz gereklidir.


Libtrash hata yaptığınızda, hataları kayıt eder

Libtrash sadece komut satır operasyonu ile sınırlı değildir. Libtrash grafik tabanli dosya yoneticilerinde, email uygulamalarında ve diğer uygulamalarda dosyalar silindiğinde de çalışır. Tüm Linux kullanıcıiları yanlışlık ile dosya silinmesine karşı sigortalıdır ve libtrash daima güvence sağlar. Eğer kayıp olmuş dosyalara karşı koruma istiyorsaniz, Linux makinanızda bulunması gereken tek araç bence Libtrash'dır.

Bağlantılar

http://www.builderau.com.au/program/unix/soa/Safely-delete-Linux-files-with-libtrash/0,339024638,320276636,00.htm

http://pages.stern.nyu.edu/~marriaga/software/libtrash/

http://forum.linux-sevenler.org/index.php/topic,3170.msg15219/topicseen.html#msg15219