22 Mart 2009 Pazar

Ubuntu'nun yeni sürümü Jaunty Jackalope ve Ubuntu hakkında

Ubuntu, Linux dağıtımları içinde en popüler olanı. 6 aylık düzenli sürümleri olmasıyla da yeni versiyonları düzensiz yayınlanan diğer dağıtımlardan farkını ortaya koyuyor. Bundan 1 ay sonra yeni sürüm 9.04 Jaunty Jackalope adıyla yayımlanacak. Bu yazıda biraz bu sürümdeki yeniliklerden bahsedeceğim. Ondan önce Ubuntu sürümlerine verilen isimlerin nasıl seçildiği üzerinde duralım. Nisan ve Ekim aylarında tam versiyonlar çıkmakta. 4. ve 10. aylardan hareketle başına sene de eklenerek sürümler 8.04, 8.10, 9.04 gibi numaralandırılıyor. Şu an geçerli sürüm 8.10 ve 2008'in 10'un ayında yayınlandı. Bu numaralar dışında bir de kod adları bulunmakta. Bu adlar bir sıfat ve bir hayvan isminden oluşuyor. İlginç olan bu iki kelimenin de baş harfleri aynı ve ilk yayınlanan iki sürüm dışında kod adları alfabetik olarak ilerlemekte. Böylece hangisinin daha yeni olduğunu kolayca çıkarabiliyoruz. Genelde kullanıcılar sadece sıfatları kullanmayı tercih ediyor (Hardy, Inrepid gibi.) Ubuntu masaüstü ortamı GNOME'un yeni sürümünden 1 ay sonra, GNOME da aynı şekilde X Window System'den 1 ay sonra kullanıcılara sunuluyor. Böylece her bir Ubuntu sürümü en yeni GNOME ve X versiyonlarıyla gelmekte. 6.06 (Dapper Drake) ve 8.04 (Hardy Heron) sürümleri Long Term Support (LTS) (Uzun Süreli Destekli) olarak etiketlendirildi. Bu destek süresi masaüstü dağıtımında 3, sürücü dağıtımında ise 5 yılı kapsıyor ve bu süre zarfındaki güncellemeleri içeriyor. Ubuntu'yu geliştiren Canonical şirketi de ücretli teknik destek sağlıyor. Zaten Canonical'ın tek gelir kaynağını da bu destek oluşturmakta. Aşağıda Ubuntu sürümlerinin bir tablosunu görebilirsiniz:

#VersiyonKod Adı
Yayın tarihiDestek verilecek son tarih
MasaüstleriSunucular
14.10Warty Warthog2004-10-202006-04-30.
25.04Hoary Hedgehog2005-04-082006-10-31
35.10Breezy Badger2005-10-132007-04-13
46.06 LTSDapper Drake2006-06-01Haziran 2009Haziran 2011
56.10Edgy Eft2006-10-262008-04-25
67.04Feisty Fawn2007-04-192008-10-19
77.10Gutsy Gibbon2007-10-18Nisan 2009
88.04 LTSHardy Heron2008-04-24Nisan 2011Nisan 2013
98.10Intrepid Ibex2008-10-30Nisan 2010
109.04Jaunty Jackalope2009-04-23Ekim 2010
119.10Karmic Koala2009-10Nisan 2011

Jaunty'nin şu an yayınlanmış Alpha sürümleri bulunmakta. Beta sürümü yakında çıkacak (26 Mart) ve en son olarak 23 Nisan'da son sürüme kavuşmuş olacağız. 9.04'ün taşıyacağı özelliklerden bazıları şunlar:
  • GNOME 2.26 - Bu versiyon özellikle bu masaüstü yöneticisini takip edenleri oldukça heyecanlandırmışa benziyor. Evolution, GNOME Control Center, GNOME Media, GNOME Power Manager, vb. eklentilerde çok iyi değişikler olacağı söylenmekte.
  • Kernel - En son kernel sürümü 2.6.28'i taşıyacak. Bu kernelle beraber desteklenen donanım adedi inanılmaz şekilde artırıldı. Öyle ki şu an yeryüzünde en çok ve farklı donanım aygıtını tanıyan ve kullanabilen işletim sisteminin Linux olduğu konusunda farklı raporlar yayınlandı. Bu donanımlar az kişinin bildiği veya kaynağı meçhul Çin üretimi handheld cihazlardan kablosuz aygıtlara ve binlerce webcam'e kadar uzanmakta. Linux kernel'i için gece gündüz donanım sürücüsü yazan grupların olduğu bir gerçek. 
  • OpenOffice 3.0.1 - MS Office'e rakip açık kaynak kodlu Office Suite'in son versiyonu.
  • GIMP 2.6.6 - Photoshop'la arasındaki mesafeyi günden güne kapatıyor, ve kimilerine göre bazı işlemleri daha hızlı yapıyormuş. Üstelik ücretsiz.
  • Mozilla Firefox 3.0.7 - İnternet tarayıcısı rekabetinde %25'lik pazar payına ulaşan Firefox'un son sürümü.
  • Mozilla Thunderbird 2.0.0.21 - Email client.
  • Transmission 1.51 - BitTorrent client.
  • Pidgin 2.5.5 - Chat client.
Aşağıda şu an itibariyle elimizde olan Alpha 6 sürümünden bazı ekran görüntülerini inceleyebilirsiniz. Geçtiğimiz 2 haftalık süreçte her gün ortalama 100MB arasında güncelleme yaptığımı düşünecek olursak (ilk release 300MB civarında bir değişiklikti) her geçen gün hızla olgunlaşan bir dağıtıma sahip olacağımız çok açık.

GIMP`in son versiyonuDenetim Merkezi


VMware ile Windows'u çalıştırmak sorunsuz.


Transmission penceresi ve mobil internet uygulamasıOpenOffice'in son sürümü


Bazı uygulamalarCompiz'in sunduğu harika görsel efektlerden bir tanesi olan alev uygulaması


21 Mart 2009 Cumartesi

Linux Dosya Sistemi

Bu yazıda Linux dosya sistemini inceleyeceğiz.

En üst seviyede 'root' dizinimiz var. Aslında ismi olmayan tek dizin 'root'tur. Çoğu insan bunun '/' olduğunu söylecektir ama aslında bu doğru değildir. Herhangi bir 'path' yazmaya çalıştığımızda '/' ile başlıyoruz ama root dizini söz konusu olduğunda yazacak başka birşey olmadığı için sadece bu yeterli oluyor.
Root'un altında '/root' diye bir dizin göreceğiz. Bu biraz karışıklığa sebep verebilir ama bu root dizini olmayıp sadece root olarak adlandırılan bir dizindir. Sistem yöneticisine ait olan bu klasör süper kullanıcının ev dizinidir. Sıradan kullanıcıların bu dizini okuma hakları yoktur. Aslında Linux izinleri 'bak ama dokunma' prensibiyle oluşur. Bunun yegane istisnası 'home' dizinleridir. Kullanıcılar burada istediklerini yapabilirler.

Root Partisyonu: Dosya sistemi organizasyonunu oluşturan prensiplerden bir tanesi de dosya sisteminin birden fazla disk partisyonuna (ya da birden fazla diske) bölünebilmesine izin vermesidir. Bu fikrin özünde de root partisyonu yer alır. Linux sistemi başladığında, kernel tek bir dosya sistemi partisyonunu tek başına ekler. Buna root partisyonu adı verilir. Eklenmesi gereken diğer partisyonlar mount komutuyla eklenir. Bu da genellikle /etc/fstab dosyasındaki girişlerin kontrolü altında yapılır. Başlangıç anının ilk aşamalarında sadece root dosya sistemi hazır olduğundan sistemin çalışabilmesi için gerekli olan herşeyi içermesi ve dosya sisteminin diğer parçalarını da eklemesi gerekir. Root partisyonundaki araçlar şunlardır: init programı (bütün diğer prosesleri başlatır), bir kabuk (shell), mount ve '/etc/fstab' dosyası. Dosya Sistemi Hiyerarşisi standardı root partisyonu içinde bulunması gereken dizinleri belirlemiştir.

/boot. Burada 'vmlinuz-2.6.19' şeklinde veya benzeri bir dosya bulunmaktadır. Bu Linux kernel'inin sıkıştırılmış image halidir. Linux sistemi başlatıldığında 'boot loader' (genellikle bu Grub olmaktadır) bu dosyayı hafızaya yükler ve çalıştırır. /boot içinde ayrıca initrd-2.6.19.img şeklinde bir başka dosya daha görülmektedir. Bu da başlangıç RAM disk image'idir. Bu kernel'in başlangıç aşamasında dosya sistemine kendisi daha ulaşamazken ihtiyaç duyduğu modulleri içermektedir. Bu dosyalar silindiği takdirde işletim sistemi bir sonraki sefer başlatılamayacaktır.

lost+found : Bu adda bir dizine 'ext2' veya 'ext3' dosya sistemlerine sahip bütün partisyonlarda rastlanılır. fsck dosya sistemi üzerine tutarlılık analizi yapan bir programdır. fsck bir dosyanın bozulmamış fakat bir isme de sahip olmadığını tespit ederse bu dosya için lost+found'da bir giriş yapacaktır. Fakat artık bu gibi durumlarla pek karşılaşılmamaktadır. Bu yüzden lost+found büyük ihtimalle boş bir klasör olarak öylece duracaktır.

Konfigürasyon dizinleri:

/etc : Tarihsel olarak bunun 'et cetera' (ve benzeri, ve diğerleri) kısaltması olduğu aşikar. Başka bir yere konulmayan dosyalar burada saklanırdı. Daha sonraları ve günümüzde kullanım şekli değişmiş ve büyük bir sistem konfigürasyon dosyaları ve scriptleri koleksiyonuna ev sahipliği yapmaktadır. Burada bulunan bazı dosyalar kritik öneme sahiptir. Örnek olarak: '/etc/passwd', lokal olarak tanımlanmış bütün loginlerin hesap bilgilerini (root dahil olmak üzere) tutar. '/etc/inittab', init programına neyi yapmasını söyler. init, çok özel bir programdır. Çünkü kernel tarafından otomatik olarak başlatılan tek programdır. Diğer bütün servislerin (login olmamıza izin verenler dahil) başlatılmasından sorumludur. '/etc/fstab', hangi diğer dosya sistemlerinin eklenmesi (mount) gerektiğini söyler. Bu dosyalarla ne yaptığınızı bilmiyorsanız oynamamanız iyi olacaktır, aksi takdirde bu dosyalardaki hatalar sistemin başlamasını veya sizin login olmanızı engelleyebilir. '/etc' içinde farklı ağ servisleri için konfigürasyon dosyalarına da rastlarız. '/etc/xinetd.conf', xinetd'yi konfigüre eder. '/etc/syslog.conf', syslog konfigürasyonunu içerir. Bütün bu dosyalar düz text dosyalarıdır. Dolayısıyla Linux'u konfigüre etmek için ihtiyacınız olan yegane araç bir text editörüdür. Bunun için de çok sayıda alternatif bulunmaktadır.

/home : Ayrı kullanıcıların home dizinleri burada bulunur. Örnek olarak "taha" kullanıcısı '/home/taha' dizinini kullanır. Default olarak '/home' altındaki permission'lar diğer kullanıcıların dosyalarını listelemenize ve incelemenize izin vermekle beraber değiştirmenize müsade etmez. Doğal olarak, kullanıcılar bu izinleri isterlerse daha zorlaştırıcı şekilde değiştirebilirler.

/mnt : Bu içinde diğer dosya sistemlerini mount etmek için kullanılan boş bir dizindir.

/media : Bu dizin, floppy sürücü veya CD-ROM'lar gibi çıkarılabilir medya için mount noktaları olarak kullanılacak alt-dizinleri içerir. 'Hotplug' sistemi media ünitesini bilgisayara takıldığı anda otomatik olarak buraya mount eder.

Sanal Kısımlar:

/proc : Bu ilginç dizindeki dosyalar kernel'in kendi oluşturduğu bilgilerden oluşur. Ama disk üzerinde yer alan hiç bir bilgiye karşılık gelmemektedirler. Kernel, hafıza kullanımı ve proseslerle ilgili bir sürü şeyi takip edebilmek için ('environment' değişkenleri gibi) bu dahili data yapılarına sahiptir. Eskiden, ps benzeri komutlar (çalışmakta olan proseslerle ilgili bilgileri gösterir) kernel'in hafıza image'i içinde gerekli bilgileri ararlardı. Daha sonraları bu arama işlemleri dosyalar aracılığıyla yapılmaya başlandı. Böylece programlar ihtiyaç duydukları bilgileri bu hayali dosyaları herhangi bir başka dosya gibi açıp okuyarak elde ederler. '/proc' içinde eğer ls -l komutunu verecek olursanız çoğu dosyanın sıfır büyüklükte olduğunu görürsünüz. Ama cat veya less ile dosya içeriklerine bakarsanız da boş olmadıklarını farkedeceksiniz. Yukarıda dediğimiz gibi bu sahte dosyalar dahili kernel data yapılarını düz text olarak gösterirler. Örnek olarak, cmdline kernel'in başlatıldığı argümanları gösterir. cpuinfo dosyası, kernel'in üzerinde çalışmakta olduğu CPU (ya da CPU'lar) hakkında ne bildiğini gösterir. 'meminfo' virtual memory hakkında bilgileri gösterecektir. '3412' ve benzeri isimde dizinlere dikkat edecek olursak, bunlar da proses ID'lere karşılık gelmektedir. Bu dizinlerin içinde ayrı proseslere ait bilgilere sanal dosyalar aracılığıyla erişebiliriz. man 5 proc ile bu konu ile ilgili dökümantasyona ve detaylı bilgiye ulaşılabilir. Ama top ve ps ile her bir prosese ait bilgileri daha anlaşılabilir şekilde elde etmek faydalı olacaktır. /proc'u çoğu zaman salt-okunabilir bir dosya sistemi olarak düşünebiliriz. Fakat aslında '/proc/sys' altında bazı kernel'i ayarlayabileceğimiz parametreleri içeren ve bunları yazabileceğimiz dosyalar da bulunmaktadır. Örnek olarak, TCP FIN TIMEOUT adında bir parametreyi 60'tan 50'ye şu şekilde değiştirebiliriz:

# cd /proc/sys/inet/ipv4
# cat tcp_fin_timeout
60
# echo 50> tcp_fin_timeout
# cat tcp_fin_timeout
50

/sys : Bu da hayali dosya sistemlerinden bir diğeridir. 2.6 kernel'ine kernel-seviyesinde kodun kullanıcı boşluğunda (user space) çalışan programlarla olan data alışverişlerini kolaylaştırmak için eklenmiştir (aygıt sürücüleri gibi). '/sys' altındaki hiyerarşi kernel'in keşfettiği donanım environment'ını (bus'lar, aygıtlar ve diğerlerini) görmemize olanak sağlar. Linux hotplug sistemini yeniden yazmaya kalkmadığımız sürece burayla bir işimiz olmayacaktır.

Diğer Dizinler:

/dev : 'Dev' 'devices' için bir kısaltmadır. Eğer burada ls -l komutunu deneyecek olursak satır başlarında 'b' veya 'c' gibi karakterleri ilk sırada göreceğiz. b'ler blok aygıtlarını göstermektedir. Bu aygıtlar blok yapısındadır ve rastgele erişilebilirler. Genellikle disk partisyonlarını kapsar. '/dev/hda1', ilk sabit diskin ilk partisyonuna karşılık gelmektedir. Bu bir blok aygıtıdır. Bu sistemde hda1 root partisyonudur (Sizin sisteminizde kuruluma göre değişiklik gösterebilir.) Aslında şu ana kadar incelediğimiz herşey bu dizinle gösterilen partisyon üzerinde yer alıyordu. Ayrıca tty aygıtlarını da burada göreceğiz. Bunlar karakter aygıtlarıdı. Karakter temelli terminalleri temsil ederler. Örnek olarak, Linux 6 adet sanal terminali desteklemek üzere konfigüre edilmiştir. Grafik ekranınızdan Ctrl+Alt+F1 ike Ctrl+Alt+F6 arasındaki kombinasyonlar aracılığıyla bunlara erişebilirsiniz. (Masaüstüne geri gelebilmek için Ctrl+Alt+F7'yi kullanabilirsiniz.) Bu altı sanal terminal /dev/tty1 ile /dev/tty6 arasındakilerdir. 'tty' ismi orijinal olarak 'teletype'ın kısaltılmasıydı. Teletype'lar klavyeye sahip mekanik birer daktilo türü yazıcıydılar. Özellikle ASR33 adında bir model 1970'lerde mini-bilgisayarlar üzerinde son derece popülerdi. Bu esnada Unix daha yeni geliştiriliyordu ve Linux henüz yoktu. Teletype'lar çok uzun süre önce kalktı fakat isimleri kaldı. Artık tty denildiğinde bir tür karakter temelli ekran anlıyoruz.

/bin ve /sbin : 'bin' binary kısaltmasıdır ve burada göreceğimiz çoğu dosya çalıştırılabilirdir. Neden iki tane var? Sıradan kullanıcıların kullanabileceği programlar -Vi, tar, rm, date gibi- '/bin' içinde bulunur. Sadece süper kullanıcıların kullanabilecekleri de /sbin'de yer alır. 'sbin'deki 's'i süper-kullanıcı ya da sistem olarak alabiliriz. Örneğin, ifconfig (ağ kartı parametrelerini oluşturur) ve iptables (firewall kurallarını kurar) /sbin içindedir. Çünkü bu işlemleri yapma hakkı sadece root'a tanınmıştır. Çoğu Linux dağıtımlarında, /bin normal bir kullanıcı hesabının arama path'inde yer alırken /sbin bulunmaz. Elbette, sıradan kullanıcılar da bu komutlara path'in tamamını kullanarak örneğin /sbin/iptables ile ulaşabilirler, ama bu komutların çoğu eğer root değilseniz herhangi bir şey yapmanıza izin vermeyeceğinden bir anlamı olmayacaktır.

/lib : 'lib' 'library' kısaltmasıdır. /bin ve /sbin içinde bulunan sistem programları tarafından ihtiyaç duyulan paylaşımlı kütüphaneler burada yer alır. (Windows'ta bunun karşılığı DLL kütüphaneleridir.) Hemen hemen herşey tarafından kullanılan kritik öneme sahip bir kütüphane standart C kütüphanesidir (libc.so). Bu dosyayı silecek olursak, çoğunlukla herşey çalışmasını durduracaktır.

/usr : Bu dizin genellikle başka bir partisyon üzerinde bulunur. Bu da başka bir 'mount' noktası anlamına gelmektedir. Bu dizini incelediğimizde, root dizininde bulunan diğer dizinlerin bazılarının tekrarlandığını görürürüz. Özel olarak, '/usr/bin', '/usr/sbin' ve '/usr/lib' dikkatimizi çekecektir. Gerçekten de, daha önce incelediğimiz dizinlerle benzer şeyleri barındırırlar. '/usr/bin' kullanıcı seviyesi komutları, '/usr/sbin' sistem yöneticisi komutlarını ce '/usr/lib' de kütüphaneleri içerir. Peki bu dosyalar neden iki ayrı dizin setine ayrılmıştır? Bunun cevabı partisyonlarda yatmaktadır. /usr içindekiler çoğu zaman ayrı bir partisyonda yer alır. Bu partisyon da dosya sistemine boot prosesi esnasında göreceli olarak geç bir evre gerçekleşinceye kadar eklenmez. Açılış esnasında gerçekten kritik öneme sahip komponentler root partisyonu içinde yer almalılar, /usr'de değil. Bu şekilde dosyalarımız bölmek, tek-kullanıcılı bir açılış yapmak için gerek duyacağımız eksiksiz dosya sistemi parçalarını minimumda tutmamızı sağlar. '/bin', '/sbin' ve '/lib' içindeki dosyalar gereklidir. /usr'dekiler ise değildir. /usr'yi dosya sistemine daha iyi bir güvenlik sağlamak için salt-okunur olarak mount etmek de mümkündür. Bir ağ üzerinde, /usr'yi tek bir dosya sunucusundan en azından ortak bir donanım yapısına sahip makineler arasında paylaştırmak da olasılık dahilindedir. Aslında, çalıştırılabilir dosyaların ve kütüphanelerin çok bir büyük bir çoğunluğunun '/usr' içinde yer aldığı görülmektedir. Çok azı da root partisyonundadır. Sistemin disk büyüklüğü kullanımına ilişkin bir araştırma şu şekilde sonuç veriyor:

$ du -sh /bin /sbin /lib /usr/bin /usr/sbin /usr/lib
4.9M /bin
6.3M /sbin
109M /lib
92M /usr/bin
5.7M /usr/sbin
625M /usr/lib

Kendi sisteminizde göreceğiniz sayılar elbette farklı olacaktır. Ama ana fikir aynı kalacaktır: çoğunluk /usr içinde, ve root partisyonu göreceli olarak küçük kalıyor.
Üzerinde durduğumuz dizinler dışında ayrıca '/var', '/tmp' ve '/opt' de bulunmaktadır ama şimdilik bu kadarı yeterli.

Dosya tipleri:
Dosya sisteminde 7 farklı tür bulunmaktadır. 'ls -l' ile ekrana gelen bilgilerde her satırın ilk karakteri o dosyanın türünü gösterir. Aşağıdaki tabloda bu türleri ve Ubuntu sisteminde bulunabilecek sayıları (elbette her sistemde farklılık göstereceği dikkate alınarak) listelenmektedir:

TürSayısıTanım
-102,314Sıradan bir dosya. Açık ara en çok rastlanılan dosya türü.
d 14,701 Dizin. Bir dizin diğerleri için bir konteynerdir. Klasör de denilebilir.
l 15,258 Sembolik link. Bunlar içinde başka bir dosyanın adını taşıyan çok küçük dosyalardır. Windows'taki kısayollara benzetilebilir. Eğer /etc/motd'den /var/run/motd'ye bir sembolik linkimiz olsaydı, ve bir program /etc/motd'yi açsaydı, kernel /var/run/motd'yi açacaktı. Sembolik linklere 'symlink' ya da 'soft link' de denilmektedir.
c785 Bir karakter aygıtı (ayrıca bazen 'raw device' veya karakter özel dosya da denilir). Bu girişler aygıtlara isim verme hizmetini görürler. /dev/console gibi bazıları gerçek fiziksel aygıtlara karşılık gelirler. Diğerleri sahte aygıtlara, örneğin /dev/random kernel'in rastgele sayı üretecine erişime izin verirler.
b65Bir blok aygıtı. Blok aygıtları çoğunlukla disklerdir. Örneğin /dev/hda2 hard disk a üzerinde 2.partisyonudur. Genel olarak, bir karakter aygıtı sıralı byte katarını okuyup yazmaya, ve bir blok aygıtı da rastgele erişime izin verir. Buna rağmen gerçek fark, kernel'in blok aygıtlar için tek seferde tam bir bloğu okuyup yazmaları için bir buffer layer'ı sağlamasıdır. Bunu karakter aygıtları için yapmaz. Pratik olarak bütün aygıt dosyaları /dev içinde yer alır.
s34Unix-domain'i soketleri. Bunlar dosya sisteminde haberleşme son-noktaları olarak adlandırılır. TCP ve UDP soketlerine çok yakın benzerlikte kullanılırlar. Farklı olarak, aynı makinede çalışan prosesler arasında inter-proses haberleşmeyi desteklerler.
p7İsimli pipe'lar. Artık çok nadirdirler. Unix-domain soketleri gibi, inter-proses haberleşme için kullanılan isimli son-noktalardır.


Kaynak: "Take the Linux Filesystem Tour" adlı yazıdan çevrilmiş ve özetlenmiştir.

10 Ekim 2008 Cuma

Ubuntu Pratik Bilgiler ve Terminal Komutları

1. Sürümler ve Dağıtımlar

Bazen kullandığımız makinada yüklü bulunan Ubuntu veya genel linux sisteminin versiyonuna ilişkin bilgi almak isteriz. Bunun için şu komutlar kullanılabilir:
  • Ubuntu sürüm kontrolü için, lsb_release -a

  • Kernel sürüm kontrolü için, cat /proc/version veya sadece versiyon için uname -v, sürüm yani release için uname -r, veya kernel'in ismi için uname -s.
'uname' komutu sistem hakkında bilgileri ekrana getirir. Tamamı için -a parametresi kullanılabileceği gibi donanım veya yukarıdaki gibi kernel bilgilerini de tek tek getirebilir. Bütün kullanımları için manual'ine bakmakta fayda var: man uname.
'lsb_release' ise dağıtım-spesifik bilgileri getirir.

2. Sürüm Yükseltme

Ana sürüm güncellemeleri şu şekilde yapılabilir: sudo do-release-upgrade. Önce yeni bir sürüm (release) denetlenir.

3. X'i kapatmak ve komut satırına düşmek

Bazen X'i tamamen kapatıp sadece terminalde kalmanız gerekebilir. Bunun için 2 yöntem var ( Belki de daha çok ).
  1. Kullandığınız window manager'ı durdurmak: Gnome için,sudo /etc/init.d/gdm stop veya KDE için benzer şekilde sudo /etc/init.d/kdm stop. Komut satırında işiniz bitip de yeniden X'i başlatmak için sudo /etc/init.d/gdm start veya X'teyken X'i tekrar başlatmak için sudo /etc/init.d/gdm restart denenebilir.

  2. Bu yöntemde init'imizi değiştiriyoruz. UNIX türevi sistemlerin önemli bir birleşenidir. Diğer bütün prosesleri kapsayan ve proses ID'si 1 olan init, sistemin çalışma seviyesini gösterir (runlevel). Normalde 2 olan runlevel 0 durumunda halt'ı 6'da ise reboot'a geçer. İşte biz de init'imizi 2 den 1'e çekersek single-user-mode'a yani terminale geri dönmüş oluruz. Bunun için sudo init 1 vermemiz yeterli.

4. Superuser'la program başlatma diyaloğu

Alt+F2 ile program başlatma diyaloğunu ekrana getirebiliriz. Burada çalıştırmak istediğiniz herhangi bir programı yazabilirsiniz, mesela bir menüde gösterilmeyen gconf-editor bu şekilde başlatılabilir. Fakat bir terminal ekranından gksu komutunu verirsek buna benzer bir diyalogla karşılaşırız. Bu sefer programlarımızı sudo gibi superuser olarak başlatabiliriz. Hatta bunu bir klavye kestirme yolu olarak da tanımlarsak, mesela Shift+Alt+F2 olabilir, her seferinde terminal açmak zorunda kalmayız.

5. cd komutu

cd komutunun değişik kullanım özellikleri vardır. Bunlardan iki tanesi şu şekilde: sadece cd kullanacak olursanız, sizi kullanıcı home dizinine götürecektir. Eğer cd - yazarsanız, bir önceki adımda hangi dizindeyseniz tekrar oraya dönersiniz.

6. PKILL ile programları kolayca sonlandırmak

Aslına bu iş için en çok kullanılan komutlar kill ve killall'dur. Fakat bunun için prosesin adını ya da proses ID'sini bilmemiz gerekiyor - ps|aux kullanarak. pkill ise buna gerek kalmadan kolayca bu işi yapmakta. Örneğin pkill firefox komutunu verecek olursak, firefox'la ilgili herşeyi SIGTERM sinyali göndererek sonlandıracaktır. pstree de oldukça kullanışlı bir komuttur. Bu da bütün çalışan prosesleri bir ağaç yapısı içinde kime ait oldukları şekliyle gösterir.

7. Ne kadar boş disk alanı olduğunu öğrenmek

Bunun için df kullanılır. Sadece bu komut verilirse, mount edilmiş bütün dosya sistemleri için boş blok sayıları gösterilecektir. df -h veya df -H kullanmanız daha iyi olacaktır, böylece byte cinsinden bu bilgiye ulaşabilirsiniz. -H takısı 10'un katları (yani 1K=1000), -h ise 2'nin katları (1K=1024) ile çalışmakta.

8. Login ekranını kaldırmak

Bilgisayarınız her açıldığında username/password yazmaktan bıktıysanız, login ekranını şu şekilde kaldırabilirsiniz: Gnome panel menüsünden System>Administration>Login Window, burada Security sekmesi altında Enable Automatic Login kutusunu işaretleyip kullanıcı adını seçin. Artık açılışlarınız otomatik olarak gerçekleştirilecektir.