12 Ağustos 2008 Salı

GNU/Linux Kilitlenince - Son Çare

Zaman zaman çalışan programlardan dolayı GNU/Linux kilitlenebiliyor. Eğer herşeyi denediğiniz halde bilgisayarınızı geri alamadıysanız bilgisayarı kapatmaktan başka çare kalmıyor.

MS-DOS® işletim sistemi ortadan kalktığından beri bilgisayarı çat diye kapatmak önerilmiyor. Özellikle GNU/Linux'un dosya sistemi yapısından dolayı bilgisayarın gücünü birden bire kesmek sıkıntı yaratabiliyor. Öyle ki kaydettiğinizi düşündüğünüz dosyaları bile geri döndüğünüzde bulamayabiliyorsunuz. Ext2 dosya sisteminde çok daha vahim sonuçlanan güç kesintisi Ext3 ve ReiserFS dosya sistemi kullanan yeni dağıtımlarda daha az sıkıntı yaratıyor.

Gücü birden kesilen, doğru şekilde kapatılmamış yeni GNU/Linux dağıtımlarında dosyalarda sorun çıkma olasılığı çok daha az olsa da bilgisayarın kapatma düğmesine basılı tutarak kapatmak insanın içini acıtıyor. GNU/Linuxlar'da son çare olarak kullanılan bir yöntem var. Bu yöntem ile veri kaybınızı en aza indirebilir ve bilgisayarı daha az zarar verdiğinizi düşünerek kendinizi avutabilirsiniz. Bu metodun adı: Raising Skinny Elephant Is Utterly Boring. Metodumuz bu cümleyi oluşturan kelimelerin ilk harflerini akılda tutmamız ile çalışıyor. (Güzel bir Türkçe açılım bulamadım, önerilere açığım.)

GNU/Linux bizden gelen tepkliere karşılık vermediği ve yapacak başka bir şey kalmadığı anda aşğıdaki tuşlara sırayla basıyoruz:

  1. Alt + SysRq + R
  2. Alt + SysRq + S
  3. Alt + SysRq + E
  4. Alt + SysRq + I
  5. Alt + SysRq + U
  6. Alt + SysRq + B
Teknik Açıklama:
  • + işareti belirtilen tuşlara aynı anda basılacağı anlamına geliyor.
  • SysRq tuşu Print Screen ile aynı tuş. Genelde tuş takımının sağ üst tarafında yer alır.
  • Tuşların büyük, küçük harf olması önemli değildir. Fakat "I" tuşu İngilizce klavyede bulunan I/i tuşu olduğuna dikkat edin.
Peki bu tuşlar ne iş yapıyor?

R : Tuş takımını temel moda alıyor. Böylece sonraki girişlerin doğru algılanmasını sağlıyor. (Raw Mode)
S : Bellekteki bilgiler ile diskteki bilgileri senkronize ediyor.
E : Tüm işlemlere sonlanma çağrısı yapıyor.
I : Tüm işelmeri öldürüyor.
U : Tüm dosya sistemlerini salt-okunur olarak yeniden bağlıyor.
B : Bilgisayarı yeniden başlatıyor.

Anlayacağınız üzere ilk tuş bileşimini uyguladıktan sonra geriye dönüş yok. Bilgisayarı yeniden başlatana kadar tüm tuşları sırası ile uygulamanız gerekiyor.

Bilgisayarınız yeniden başladığında eğer diskleri gözden geçirmem gerekiyor derse, izin verin. Bu işlemi iptal etmeyin.

Son not: Bu tuş bileşimlerinin uygulanabilmesi için Linux Kernel'ında açık olması gerekiyor. Bir çok Ubuntu sürümü için açık olan bu özelliğin sizin bilgisayardaki durumunu öğrenmek için:
$ ls /proc/sys/kernel/sysrq

komutunu verebilirsiniz. Eğer dosya oradaysa bu özellik sizin bilgisayarınızda açık demektir.

Kaynak: http://www.brunolinux.com/01-First_Things_To_Know/Skinny_Elephants.html


3 Ağustos 2008 Pazar

Tuşlar Takım Olarak Çalışır - Tuşların Değişimi

Klavye Güzeldir

Bilgisayarda işlem yaparken işlemleri tuş takımını yani klavyeyi kullanarak yaptıkça işlemleri daha hızlı yapabileceğinizi keşfedersiz. Özellikle yazım temelli şeyler ile uğraşıyorsanız elinizi sürekli fareye götürüp, bir iki yere tıklayıp tekrar tuş takımına dönmek ciddi bir zaman kaybıdır. GNU/Linux'ta da bir çok işlem için tuş takımı kısa yolları bulunmaktadır. Özellikle uçbirimi kullanırken öne çıkan bu kısa yollardan X Windows ortamında da bol bol bulunmaktadır. Örneğin;

Ctrl + Alt + D : Bütün pencereleri küçültür.
Alt + F1 : Uygulamalar menüsünü açar.
Alt + F2 : Çalıştır kutusunu ekrana getirir.
Alt + F7 : Pencereyi taşıyabilmenizi sağlar. (*)
Ctrl + PageUp : Sekme (tab) kullanan programlarda bir önceki sekmeye geçer.
Ctrl + PageDown : Sekme (tab) kullanan programlarda bir sonraki sekmeye geçer.
Ctrl + s : Bir çok programda açık bulunan belgeyi kaydeder.
Ctrl + Yön Tuşları: Metin içerisinde bir sözcük ya da bir paragraf olarak hareket edebilmenizi sağlar.

(*) Gnome + Compiz ayarı gerektirebilir.

Tuşların Yeri

Klavye üzerindeki bazı tuşların yerini beğenmeyebilirsiniz. Örneğin Unix, yani GNU/Linux'un atası, tasarlanırken şimdikinden daha farklı bir tuş düzeneği yaygındı. Kısa yolların buna göre tasarlandığı klavyede şimdi Caps Lock tuşunun olduğu yerde zamanında Control tuşu vardı. Bu yüzden özellikle uçbirim uygulamalarının çoğunda (o zamanlar) erişimi kolay olan bu tuş işlev tuşu olarak çok sık kullanılmış.

Eğer Caps Lock tuşunu Control tuşundan daha az kullanan çoğunluk içerisindeyseniz, Control tuşuna eski güzel yerini iade edebilirsiniz. Her şeyiyle özelleştirilebilir olan GNU/Linux'umuz klavyedeki bütün tuşların yeniden düzenlenmesine izin veriyor.

Tuşların yerlerini değiştirmek, daha doğru bir ifade ile tuşların görevlerini değiştirmek için xmodmap programını kullanacağız. Bu program yalnızca X ortamında tuşların yerini değiştiriyor. X ortamı dışında çok fazla kullanım olmadığı için şimdilik yalnızca xmodmap'ten bahsedeceğim.

xmodmap programı temel olarak şöyle kullanılıyor:
  • Tuşun ismine yeni bir görev atanabiliyor ör:
    keysym Caps_Lock = Control
  • Tuşun koduna yeni bir görev atabiliyor ör:
    keycode 37 = slash
  • Tuşların değiştiriciler ile nasıl kullanılacağı bildirilebiliyor ör:
    keycode 37 = 7 slash
Son örnekte Control tuşuna tek başına bastığımızda 7 yazmasını Shift ile bastığımızda bölü yani / karakterini yazmasını söylemiş oluyoruz.

Peki tuşların kodunu ya da ismini nerden öğreneceğiz? Kolayı var. Bir Uçbirim (Uygulamalar -> Donatılar -> Uçbirim) açarak
$ xev
yazıyoruz ve xev programını çalıştırıyoruz. Bu programa ekrana içinde siyah çerçeveli kare olan beyaz bir pencere getirecek. Programı çalıştırdığımız Uçbirim'de de sürekli yazılar akmaya başlayacak. Bu program kullanıcının tuş takımı ve fare ile yaptığı hareketlerin X Windows sistemi tarafından nasıl algılandığını görmeye yarar. Fare kutunun içindeyse fare hareketlerini de takip edeceğinden çok fazla bilgi ortaya çıkacaktır, bu yüzden şimdilik fareyi kutudan uzaklaştırın.

xev'i açtıktan sonra örneğin soldaki Windows logolu tuşa (Super Tuşu) basarsanız, aşağıdakine benzer bir çıktı alırsınız:
KeyPress event, serial 31, synthetic NO, window 0x4200001,
root 0x59, subw 0x0, time 3380334, (-283,270), root:(957,434),
state 0x0, keycode 115 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False

Ortadaki satır bizim için önemli olan satır. Gördüğünüz gibi tuşun kodu 115 adı ise Super_L imiş. Değişiklik yapmak istediğiniz tuşları deneyerek kodlarını ve isimlerini bi kenara not edin.

Control'ün İade-i İtibarı

Şimdi gelelim uygulamaya. Yukarıda bahsettiğim üzere amacım Control tuşunun itibarını ve yerini ona geri vermek. Bunu yapmak için aşağıdaki komutları uygulamam gerekiyor (nasıl uygulanacağına geleceğim):
remove Lock = Caps_Lock
remove Control = Control_L
keycode 37 = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L

Ne yaptık?
  • Control ve Caps_Lock tuşları özel, değiştirici tuşlardır. Bu yüzden bir değişiklik yapmadan önce remove ile bu görevlerini kaldırdık.
  • 37 kod numaralı tuşa (soldaki Control tuşu) artık senin görevin Caps_Lock olmak dedik
  • Caps_Lock isimli tuşa artık senin görevin Control_L (sol kontrol) olmak dedik
  • Caps_Lock görevli tuşu shift kilidi (Lock) ve Control_L görevli tuşu Control değiştirici yaptık.

Komutların uygulanması

Yukarıda gördüğünüz her bir komutu ve hızlıca uygulamanız gereken diğer başka komutları da, uçbirimden
$ xmodmap -e "remove Lock = Caps_Lock"

komutunu vererek uygulatabilirsiniz. Bu durumda her bir komutu teker teker girmeniz gerekir. Bilgisayarı her açtığınızda böyle bir zahmete girmemeniz için bu komutları kayıt altında tutabilirsiniz.

Uygulanmasını istediğiniz komutların hepsini bir dosyaya alt alta yazın. Daha sonra dosyayı kaydedin.
$ xmodmap dosyaAdi

komutunu verdiğinizde dosyaya yazdığınız komutların hepsi işletilecektir. Eğer bu dosyanın adını
.Xmodmap
yapıp başlangıç (ev) dizininize koyarsanız bilgisayar her açıldığında bu dosyayı işletecektir.

Hayırlı olsun. Notlar kısmına bakmayı unutmayın.

Notlar

  • .Xmodmap adlı dosyayı yarattıktan sonra bilgisayarınızı ilk açtığınızda Ubuntu size bu dosyanın içindeki ayarları kullanmak isteyip istemediğinizi soracaktır. Yanıt size kalmış ;)
  • Dosya içinde ! ünlem ile başlayan satırlar yorum satırlarıdır. Ünlem ile başlayıp açıklama yazabilirsiniz.
  • Aynı dosyayı xmodmap ile yeniden çalıştırdığınızda tuşlar eski haline gelecektir. (Yalnızca bu dosyadaki ayarlar için geçerlidir.)
  • Değiştirici tuşlar için sağlıklı çalışmamak ile birlikte tuşlara birden fazla görev atayabilirsiniz. Arasına boşluk koyarak atayacağınız bu görevler sırasıyla normal, shift, mod1, mod2, ..., mod8 tuşları ile birlikte basıldığında kullanılacaktır.
  • Değiştirici (modifier) tuş listesini görmek için konsoldan
    $ xmodmap -pm
    komutunu verebilirsiniz.
  • Geçerli olan tuş takımı atamalarını incelemek için
    $ xmodmap -pk
    komutunu verebilirsiniz.



20 Haziran 2008 Cuma

Dosya Sıkıştırma - tar, gz, bz2, 7z, rar...

Linux'un neredeyse ortaya çıktğı günden beri kullandığı temel sıkıştırma biçimleri tar.gz ve tar.bz2'dir. Bunlar dışında bir çok biçimi de destekler.

MS Windows ortamında WinRAR'ın haklı bir yaygınlığı vardır. Bu yüzden herhangi bir yerde rar biçimli dosyalara rastlamak oldukça olasıdır. Rar, patentli bir dosya sıkıştırma yöntemi olduğundan dolayı Ubuntu ilk kurulduğu hali ile rar dosyalarını desteklemez. rar dosylarını açmak için rar, unrar ya da unrar-free paketlerinden birini, rar oluşturmak için ise rar paketini kurmanız gerekmektedir. Hemen belirtelim ki kullanılabilecek paketlerin hiç biri grafik ara birim sunmamaktadır. Bu paketlerden rar ve unrar WinRar'ın kendisi tarafından sağlanmaktadır, özgür yazılım değildir. Bu yüzden bu paketleri kurabilmek için Multiverse deposu seçili olmalıdır. unrar-free için ise Universe deposunun seçili olması yeterlidir.


Sistem -> Yönetim -> Yazılım Kaynakları 'na tıklayarak bahsedilen depoları seçebilirsiniz.

unrar-free paketi rar'ın 2. sürümünü desteklemekte, 3. sürümünü desteklememektedir. Ben unrar-free kullanıyorum ve rar sıkıştırması yapmıyorum. Şimdiye kadar açamadığım dosya da olmadı. Siz de durumunuza uygun bir paketi seçin ve kurun. Synaptic'i ya da Aptitude'u kullanabileceğiniz gibi uçbirimi (Uygulamalar -> Donatılar -> _Uçbirim) de kullanabilirsiniz. Eğer depoları değiştirdiysek öncelikle uçbirimden;

$ sudo apt-get update

veya
$ sudo aptitude update


diyerek depoları güncelliyoruz. Daha sonra da seçiminize göre;

$ sudo apt-get install unrar-free

veya
$ sudo aptitude install unrar-free


diyerek unrar'ı kuruyoruz. Uygulama kurulduktan sonra rar dosyalarını açmak için yapmamız gereken uçbirimi açarak rar dosyasının olduğu dizine gelmek. Daha sonra;

$ unrar-free dosyaAdi.rar


diyerek dosyayı açabiliriz.

MS Windows ortamında yaygınlaşan bir başka dosya sıkıştırma biçimi ise 7z. Oldukça iyi sıkıştırma oranları sunan bu biçimin de desteği Ubuntu içinde hazır olarak gelmiyor. Ubuntu'nun 7z dosyları ile işlem yapabilmesi için p7zip paketini yüklememiz gerekiyor:
sudo apt-get p7zip


Bu paketi yükledikten sonra 7z dosyalarını çift tıklayarak açabilir ya da sıkştırmak istediğimiz dosyaları seçip, sağ tıklayarak, Arşiv Oluştur seçeneğini seçebilir ve buradan 7z soyadını deçebiliriz.



Linux Sıkıştırma Biçimleri

Yukarıda bahsettiğimiz üzere Linux yerel ve genel olarak iki sıkıştırma biçimi kullanır. Bunlar gzip (gz) ve bzip2 (bz2) dir. Bu sıkıştırma biçimleri birden fazla dosya üzerinde işlem yapmazlar. Yalnızca tek bir dosyayı sıkıştırırlar. Örneğin bir .tiff dosyasını ya da .xcf [1] dosyasını sıkıştırmak için

$ bzip2 dosya.tiff

veya
$ gzip dosya.tiff


komutlarını, açmak için

$ bunzip2 dosya.tiff.bz2

veya
$ gunzip dosya.tiff.gz


komutlarını kullanabilirsiniz.

Birden fazla dosyayı bu şekilde teker teker sıkıştırmak ve saklamak mantıklı olmayacağı için tar adı verilen başka bir sistem kullanılır. tar programı tek başına kullanıldığında yalnızca dosyaları art arda koyarak tek bir tar dosyası (tar ball - tar topu) oluşturur. Bu dosyayı yukarıdaki yöntemleri kullanarak ayrıca sıkıştırabilir ya da tar'ı kullanırken gerekli parametreleri verip tek bir komutla sıkıştırabilirsiniz. tar ile sıkıştırılan dosyayı sıkıştırmak için;

$ tar -cjf  dosyaAdi.tar.bz2 dizin


komutunu, açmak için

$ tar -xjvf  dosyaAdi.tar.bz2


komutunu kullanabilirsiniz.

Açıklama:
  • -c (create): sıkıştırılmış arşiv oluşturur.
  • -j (bzip2): sıkıştırmak için bzip2 yöntemi kullanılır.
  • -f (file): sıkıştırılmış ya da açılmış dosyanın adını belirtir.
  • -v (verbose): açılan her dosyayı ekrana yazar.
  • -z (zip): -j yerine kullanılırsa bzip2 yerine gzip yönetimini kullanarak sıkıştırır.

Bütün bu işlemleri yapmak için Arşiv Yöneticisi'ni de kullanabilirsiniz. Açmak için sıkıştırılmış dosyaya çift tıklamanız ya da sıkıştırılacak dosyaya sağ tıklayıp Arşiv oluştur demeniz yeterlidir.

[1] Resim düzenleyici GIMP'in dosya biçimidir. GIMP bu dosyalar üzerinde sıkıştırılmış .xcf.bz2 biçiminde de işlem yapabilir.