Linux Kurulumu ve Başlangıç

Linux hakkında ilk dokümanlar yazıldığında, Linux çalıştırabilecek bilgisayarların özellikleri önemliydi. Linux 32 bitlik bir işletim olduğundan en az 80386SX işlemcilerle çalışmaktadır. 8086 ve 80286 işlemcili IBM-PC uyumlu kişisel bilgisayarlar Linux tarafından desteklenmemektedir. Bellek olarak en az 4 MB RAM (yoğun işlemler için 12 veya 16) tavsiye edilmektedir. Teknik olarak 2 MB ile de çalışabilmesi gerekir. Pratik olarak bugün piyasada bulunan hemen hemen her IBM-PC uyumlu kişisel bilgisayarda Linux çalışabilmektedir. 

8 MB RAM'a sahip herhangi bir 486 üzerinde hemen hemen her türlü uygulama rahatlıkla çalıştırılabilmektedir. Tabii ki daha fazla RAM ve daha hızlı işlemciler sistemin genel olarak daha hızlı çalışmasını sağlayacaktır. 

Linux tarafından desteklenen donanımlar her geçen gün değişiyor. Bilgisayarınızda bulunan herhangi bir donanımın desteklenip desteklenmediğini Hardware-HOWTO dosyasından öğrenebilirsiniz. 

Yine de daha önce yazılanları kısaca tekrar edersek, 

Kişisel bilgisayarlarda INTEL, AMD, CYRIX şirketlerinin tüm 80386, 486, 586, 686, Pentium, PentiumPro işlemcileri 
Tüm IDE, MFM, RLL sabit diskler 
Çoğu SCSI sabit disk denetçileri 
Çoğu ethernet ve G/Ç kartları 
Birçok VGA, SVGA, EGA, HERCULES görüntü kartları 
Linux tarafından desteklenmektedir. 

Linux başka işletim sistemleri ile aynı sabit diskte bulunabilir. Makinanıza Linux yüklemek için mevcut işletim sisteminizi kaldırmak zorunda değilsiniz. Fakat yine de Linux yükleyebileceğiniz, bir miktar alan ayırmak zorundasınız. Bir bilgisayara Linux yüklemek için bilgisayarınız üzerinde bir başka işletim sisteminin bulunmasına gerek yoktur, Linux tam anlamıyla kendi başına çalışabilen bir işletim sistemidir. 

``Linux sabit disk üzerinde ne kadar yer kaplar?'' sorusuna kesin bir cevap vermek oldukça zor, çünkü bu hangi yazılımları yükleyeceğinize ve ne kadar kullanıcı alanı istediğinize bağlıdır. Yine de ortalama rakamlar vermek gerekirse, 40 MB'lık bir alana çalışılabilir durumda ve işinizin çoğunu görebilecek bir Linux kurulabilir. Tüm paketleri yüklemeye kalktığınızda ise ortalama 600 MB. kadar yer kaplayacaktır. 

Linux, çok çeşitli gruplar tarafından sürekli geliştirilen bir işletim sistemidir. Belirli kişiler ve topluluklar Linux için geliştirilen temel işletim sistemini ve uygulama yazılımlarını bir araya getirerek dağıtımlar oluştururlar. Bir Linux dağıtımı temel olarak bir makineye Linux kurmak ve o bilgisayar üzerinde Linux'la çalışmak için gerekecek tüm yazılımları ve paketleri içerir. Bu yazılımların yüklenmesini, bir yükleme yazılımı sağlar. 

Şu an çok çeşitli Linux dağıtımları mevcuttur. Bu dağıtımlar içerdikleri paketler ve yükleniş şekilleri açısından bazı küçk farklılıklar gösterseler de temelde aynı işletim sistemini yüklerler. Bir Linux dağıtımı, bir araya getirildiği zamandaki güncel işletim sistemini içermektedir. Örnek olarak Linux işletim sisteminin temeli olan çekirdek neredeyse her hafta yenilenerek geliştirilmektedir. Oysa dağıtımlar senede ancak birkaç kere oluşturulurlar. 

Linux dağıtımları geleneksel olarak 3.5" lik disketler (her biri bir 3.5" lik diskete sığabilecek seri dizinler şeklinde.) halinde hazırlanır. Her konu ile ilgili bir seri disket bulunur (örnek olarak n serisi ağ uygulamaları için n1,n2,n3... şeklinde.) 

Mevcut Dağıtımlar 
Yaygın olarak kullanılan dağıtımlar aşağıda yer almaktadır. Burada anlatılacak olan kurulum bilgileri, Linux Slackware dağıtımına sahip olduğunuz kabul edilerek hazırlanmıştır. 

Slackware 
Belki de en yaygın olarak yer alan dağıtım Slackware dağıtımıdır. Bu doküman boyunca anlatılacak olan komutlar ve sistem özellikleri Slackware dağıtımına göre düzenlenmiştir. 

Slackware dağıtıcısı Walnut Creek 
Türkiye içerisinde Slackware Dağıtımı bulunduran bazı FTP arşivleri: 

Orta Doğu Teknik Üniversitesi 
Ege Üniversitesi 
İstanbul Teknik Üniversitesi 
Red-Hat 
RED-HAT Linux dağıtımı WWW sayfası 

Türkiye içerisinde Red Hat dağıtımı bulunduran FTP arşivleri 

Ege Üniversitesi 

ODTÜ 

Debian 
Debian Linux dağıtımı WWW sayfası 

Orjinal Debian FTP arşivi 

Türkiye içerisinde Debian dağıtımı bulunduran FTP arşivleri 

ODTÜ 

InfoMagic 
InfoMagic WWW sayfası 




 
Bu konuda daha ayrıntılı ve güncel bilgi için Distribution-HOWTO'dan yararlanabilirsiniz. 

Ne Şekilde Bulabilirim ? 
Geleneksel olarak dağıtımların disketler ile yapıldığını söylemiştik. Ancak günümüzde 100'den fazla disketle dağıtım pek pratik olmamaktadır. Linux kurduğunuz yere bağlı olarak değişik seçenekler olabilir. 

CD-ROM 
Çeşitli dağıtımlara ait CD-ROM'lar dükkanlarda satılmaktadır. Linux aslında ücretsiz bir işletim sistemidir. Alınan ücret CD'nin basımı dağıtımı, ambalajını karşılaması için alınmaktadır. Fiyatları ortalama 10$-30$ civarında (Şirketler tarafından yazılmış lisanslı paketler eklendiğinde bazen birkaç yüz doları da bulabiliyor.) değişmektedir. Bazı dağıtımlarda, telif hakkı olan kitapların bulunması, bu dağıtımları daha pahalı yapabilmektedir. Eğer herhangi bir şekilde bir İnternet erişiminiz yoksa ve bir akademik çevrede değilseniz en pratik Linux elde etme yöntemi CD-ROM'lardır. 

İnternet 
Tüm Linux dağıtımları İnternet üzerinde anonim FTP hizmeti ile sunulmaktadır. Ancak bireysel olarak dağıtımın tüm disketlerini bu yolla almak çok pratik olmayacaktır. Örnek olarak son slackware dağıtımı 110 MB civarında yer kaplamaktadır. İnternet aracılığıyla dağıtım elde etmek, yerel kullanıcılarına yeni dağıtımlar sunmak isteyen sistem sorumluları için ilginç bir çözüm olmaktadır. 

NFS 
Bir yerel bilgisayar ağına sahip kurumlarda paylaşılan bir disk alanı üzerinden Linux yüklemek mümkündür. Bu sayede CD-ROM veya İnternet aracılığı ile elde edilen bir dağıtım kurumda ortak bir disk alanına yerleştirilir ve ağa bağlı makinalara yükleme yapılabilir. 

Birçok kurumda Linux yüklemek için, geçici olarak bir ethernet kartı takılır, bilgisayar ağ desteği veren bir şekilde açılır ve Linux disketleri bu şekilde ağ üzerinden yapılır. 

Sabit Disk 
Herhangi bir şekilde Linux dağıtım disketleri bir sabit diske de kopyalanmış olabilir. Bu durumda mevcut sabit disk üzerindeki disketler kullanılarak da yükleme yapılabilir. Bu yöntem yine daha çok eğitim kurumlarında başka kaynaklardan elde edilmiş bir Linux dağıtımını kopyalamak için kullanılır. 

Bir kullanıcı makinesine Linux yüklerken tüm özelliklerini yüklemek istemeyebilir. Yüklediği yazılımların bazılarının gereksiz olduğunu düşünüyorsa ileride bazı uygulamaları kaldırabilir veya sonradan gerekli gördüğü yazılımları dağıtım disketlerinden rahatlıkla ekleyebilir. 

Linux sadece dağıtımlarda bulunan yazılımlarla sınırlı bir işletim sistemi değildir. Dağıtımlarda bulunan yazılımlara ek olarak başka uygulamalar mevcuttur. Bu ek yazılımların bir çoğu İnternet üzerinde FTP arşivlerinde bulunmaktadır. 

İnternet bağlantısı bulunan (özellikle akademik) kurumlarda güncel dağıtımların İnternet üzerinden aktarılması ve buradaki kullanıcılara NFS ve sabit disk üzerinde aktarılması daha pratik bir uygulamadır. Aynı kurumlar kendi çalışma alanları ile ilgili buldukları ek yazılımları da FTP arşivlerinden toparlayabilir ve kullanıcılarına bu ek yazılımları sunabilirler. 

Sabit Disk Üzerinde Linux İçin Yer Açmak 
Linux işletim sistemini yüklemek için sabit diskiniz üzerinde Linux için bir miktar yer ayırmak zorundasınız. Herhangi bir sabit diskin bir işletim sisteminde kullanılabilmesi için ilk olarak bölümlere (partition) ayrılır. Daha sonra bu bölümler işletim sistemine uygun şekilde formatlanır. Linux işletim sistemi kendi disk formatını (ext2) kullanır. En yüksek verimi sabit disk üzerinde, kendi bölümünde, kendi disk formatı altında çalıştığı zaman verebilir. Eğer ayrı bir bölümlendirme yapılamıyorsa, önerilmese bile MS-DOS formatlı bir disk üzerinde de Linux kurulabilir (UMSDOS) ancak bu sistemin performansı diğerine göre oldukça düşük olacaktır. Bu dökümanın geriye kalan tüm kısımlarında bilgisayarınıza Linux yüklemek için sabit disk üzerinde Linux'a özgü bir bölüm ayrılacağı ve bu bölüme yükleneceği kabul edilecektir. MS-DOS formatlı bir disk hiyerarşisi altına Linux kurmak için UMSDOS-HOWTO dökümanından yararlanabilirsiniz. Eğer bilgisayarınızı bir süredir kullanıyorsanız, büyük bir olasılıkla sabit diskinizin tümünü kullandığınız işletim sistemi için ayırmış durumdasınızdır. MS-DOS kullanıyorsanız diskiniz bir (sadece C:) veya birden fazla (C: D: ..) bölüme ayrılmış durumda olabilir. MS-DOS altında bir disk üzerinde en fazla 4 temel bölüm olabilir (primary partition). Eğer daha fazla bölüme ihtiyaç varsa temel bölümlerden biri genişletilmiş bir bölüm (extended partition) olarak ayrılır ve bu bölüm üzerinde mantıksal bölümler(logical partitions) ayrılır. 

Bilgisayarınızda birden fazla bölüm varsa bir bölümü boşaltıp bu bölümü Linux için ayırabilirsiniz. Eğer tek bölümünüz varsa veya mevcut bölümlerinizden birini tümüyle harcamak istemiyorsanız diskinizi yeniden bölümlemeniz gerekecektir. Klasik olarak bu durumda bölmek istediğiniz bölümdeki yazılımların yedeğini almanız, daha sonra MS-DOS altında fdisk yazılımı yardımı ile söz konusu bölümü silmeniz, yeni boyutu ile yeniden yaratmanız, bu bölümü format komutu ile formatlamanız ve yedeğini aldığınız yazılımları yeniden yerleştirmeniz gerekecektir. 

Bazı yazılımlar mevcut bölümünüzü iki parçaya ayırabilirler. Örnek olarak fips bu amaçla kullanılan bir yazılımdır. (Diskiniz üzerinde işlem yapan her yazılım az da olsa disk üzerindeki bilgilere zarar verme riski taşır. Bu tür yazılımlar ile çalışmadan önce önemli olduğunu düşündüğünüz bilgilerin yedeğini almaya özen gösterin.) Fips, defrag programı kullanıldıktan sonra bölümünüzü sizin belirleyeceğiniz boyutlarda iki bölüme ayırabilir. 

Eğer bilgisayarınızı yeni alıyorsanız veya yeni bir disk alıyorsanız, bu diskin tamamını veya bir bölümünü Linux için kullanabilirsiniz. Bu amaçla diskinizde sadece Linux kullanmak istemediğiniz bölümleri ayırmanız (ve gerisini boş bırakmanız) yeterlidir. Linux bölümlerinin Linux altından formatlanması gerekecektir. 

Linux sabit disk üzerinde bir bölümden fazlasını kullanabilir. Özel olarak normal dosyaların yazılmadığı, bellek gereken işler sırasında geçici bir alan olması amacıyla Linux bir takas alanına (swap space) ihtiyaç duyar. Bu takas alanı için en verimlisi sadece takas işlemi için ayrılmış küçük bir disk bölümü yaratmaktır. 

Yoğun olarak Linux kullanan yerler için standart olarak dağıtımdan gelen işletim sistemini ayrı bir bölüme yüklemeleri kullanıcı alanları (/home) ve sonradan yüklenen yazılımlar (/usr/local) için ayrı bir alan ayırmaları tavsiye edilebilir. Bu sayede, işletim sistemi güncellemek son derece kolaylaşır, yeni işletim sistemi yüklerken sadece işletim sisteminin bulunduğu bölüm üzerinde işlem yapılır ve bu sayede kullanıcı alanlarının veya sonradan (dağıtım dışı) yüklenen yazılımların zarar görmeleri engellenebilir. 

Her bir bölüm için ne kadar yer ayrılacağı hakkında çok şey yazılmıştır. Ne var ki yazılanların birçoğu sabit disklerin nadiren 200 MB sınırını geçtiği günlerden kalmaktadır. Linux'un kaplayacağı alan, hangi paketleri kullanacağınıza çok bağlıdır. Ortalama her disketin 2-3 MB arasında yer kaplayacağını düşünerek, yüklemek istediğiniz disketleri hesaplayarak kaba bir tablo çıkarabilirsiniz. Tecrübeli bir Linux kullanıcısı hangi yazılımları kullanıp hangilerini kullanmadığını daha iyi belirleyebilecek durumda olacaktır. Dolayısı ile yeni bir kullanıcı ortalama olarak 200 - 300 MB kadar bir yer ayırmak isteyecektir. Bu, günümüzün disk kapasiteleri düşünülünce o kadar büyük bir alan değildir. 

Takas alanı konusunda da çok şey yazılmıştır. Bir çok kaynak takas bölümü için ayrılması gereken alanının gerçek belleğin 2 katının biraz fazlası olarak kabul etmektedir. Pratikte 10-60 MB arasında bir alan fazlasıyla yeterli kalmaktadır. Ancak takas bölmeleri 128 megabaytdan daha büyük olamaz. Eğer 128 megabaytdan daha büyük takas alanı gerekiyorsa birden fazla takas bölmesi yaratmalısınız. Toplam 16 tane takas bölmeniz olabilir. 

Takas alanı kullanırken, bir seferde daha fazla uygulama çalışmanızı sağlayacak şekilde Linux kullanılmayan sayfaları bellekten diske taşır. Ancak, takas işlemi genelde yavaş olduğundan gerçek fiziksel belleğin yerini dolduramaz. Ama çok fazla bellek isteyen uygulamalar (X Window System gibi) eğer yeteri kadar fiziksel belleğiniz yoksa takas alanına bel bağlar. 

Tercih olarak, 1.2 GB'lık bir disk üzerinde, 

Linux nedir denemek isteyen bir kişi için 

Bölüm 1: DOS 1000 MB 
Bölüm 2: Linux 180-200 MB 
Bölüm 3: Linux 'swap' bölümü 10-20 MB 
İşinde arada sırada Linux kullanan birisi için 

Bölüm 1: DOS 400 MB 
Bölüm 2: Linux 400 MB 
Bölüm 3: Linux takas bölümü 32 MB 
Bölüm 4: DOS (DOS altında D: olarak gözükecek) 400 MB 
İnternet üzerinde sadece Linux kullanılan bir bilgisayar için 

Bölüm 1: Linux 100 MB 
Bölüm 2: Linux takas bölümü 60 MB 
Bölüm 3: Linux /usr 400 MB 
Bölüm 4: Linux /home 600 MB 
İLERİ 

Bilgisayarın Linux ile Açılması 
Bilgisayarın sabit diski üzerinde yer ayırdıktan, bir Linux dağıtımı bulduktan sonra artık Linux yüklemek için yapılması gereken, yükleme yapmanıza yardımcı olmaya yetecek şekilde bilgisayarınızı Linux altında çalıştırmaktır. Bu amaçla boot ve root disketi adı verilen iki disket kullanılması yeterlidir. Bu disketlerden boot disketi, bilgisayarınız üzerindeki donanıma uygun bir Linux çekirdeği (kernel) içerir ve bilgisayarın Linux ile açılmasını sağlar. Root disketi adı verilen diğeri ise makinanız Linux olarak açıldığı zaman çalıştıracağı yazılımları içeren ve Linux' un çalışması için gereken sistem programlarını içerir. Bu iki disketi, MS-DOS altındaki sistem disketine benzetmek mümkündür. 

Boot ve root disketleri, Linux dağıtımı ile birlikte gelirler. Eğer bir CD-ROM dağıtımı kullanıyorsanız, büyük olasılıkla disketler CD-ROM ile beraber geleceklerdir. Eğer dağıtımı İnternet'ten alıyorsanız bu dosyalar bir disket görüntüsü olarak bulunacaklardır. Yapmanız gereken, bu disket görüntülerini normal disketlere bu amaç için yazılmış bir yazılımla aktarmak ve açılış disketlerini oluşturmaktır. Bunun için RAWRITE.EXE programını kullanabilirsiniz. 

Root disketi için genelde bir veya iki seçenek bulunmaktadır. Genelde kullanılan disket color.gz adını alır. 

Boot disketi için aynı şeyi söylemek mümkün değildir. Zira boot disketi Linux çekirdeğini içermektedir. Her işletim sistemi, o işletim sistemi altında çalışacak olan bilgisayar üzerindeki donanıma erişebilmek için bazı destekler içerir. Ne var ki her donanım kendisine göre bir takım farklılıklar gösterir. Linux, bilgisayarınız üzerinde bulunan bir çok donanım için destek verebilir. Ancak tüm donanım desteğini tek bir çekirdekte toplamak, çekirdeğin gereksiz yere büyümesine ve hantallaşmasına (Bilgisayarınızda ses kartı donanımı yoksa çekirdeğin ses kartı desteğine ihtiyacınız olmayacaktır, yapılan sadece gereken destekleri ekleyerek çekirdeğin verimini artırmak demektir.) neden olacaktır. Linux çekirdeği gerektiğinde destek verdiği donanımları destekleyecek şekilde güncellenebilir. Ancak Linux yükleyebilmek için, seçeceğiniz yükleme yöntemine göre bazı donanımlara destek vermesi gereklidir. Örnek vermek gerekirse, NFS üzerinden Linux yüklemek için çekirdek içerisinde mutlaka ağ (network) desteğinin olması gerekmektedir. Ama ses kartı desteğinin olmasına gerek yoktur. Linux yükledikten sonra derleyeceğiniz bir çekirdeğe ses kartı desteği vermesini sağlayabilirsiniz. 

Bir işletim sisteminin sabit diske yüklenme aşamasında kullanıcıya sağlayacağı en büyük kolaylık, deneyimli kullanıcılar için tüm paketleri kurmadan önce sormak, Linux'u bilmeyen ve sabit diskine Linux kurmak isteyen yeni kullanıcılar için ise kurulum aşamasını mümkün olan en az soru ile bitirip daha önceden belirlenmiş bir takım paketleri otomatik olarak yüklemektir. 

Çok farklı donanımların olması Linux yükleyebilmek için bir dizi boot disketinin oluşmasına neden olmuştur. Güncel bir Linux dağıtımında hangi boot disketlerinin hangi donanımlara destek verebildiğini görmek için ilgili dağıtımla gelen README dosyalarına bakmak gerekecektir. Şu anki Slackware dağıtımı ile gelen boot disketlerinden bazıları 

bare.i IDE sabit disklere, sabit disk veya IDE/ATAPI CD-ROM'lardan yükleme yapmak için 
net.i IDE sabit disklere, NFS üzerinden yükleme yapmak için 
scsinet.s SCSI sabit disklere, NFS üzerinden yükleme yapmak için. Buna ek olarak değişik SCSI denetçileri için 25 kadar değişik boot disketi bulunmaktadır. 
xt.i Bu açılış disketinde sadece IDE ve XT sabit disk sürücüleri vardır. 
Boot disketleri hakkında geniş bilgi için Bootdisk-HOWTO dokümanından yararlanabilirsiniz. 

Boot ve root disketlerinizi de elde ettikten sonra artık bilgisayar ilk defa Linux altında çalışmak için hazırdır. Boot disketini takarak sistemi açın (PC'nin açılmasında BIOS boot sırasının A:,C: olmasına dikkat edin). Disket açılır açılmaz yaklaşık bir sayfalık bir mesaj verecek ve kullanıcıdan ek bir parametre isteyip istemediğini soracaktır. Bu noktada çalışacak olan çekirdeğe bir çok ek parametre verilebilir. Eğer herşey yolunda giderse bu noktada özel bir parametre belirtmeye gerek kalmayacaktır. Boot disketi parametreleri hakkında BootPrompt-HOWTO içerisinde detaylı bilgi bulabilirsiniz. Bu aşamayı geçtikten sonra çekirdek yüklenmeye başlayacak ve bir dizi mesaj geçecektir. Bu mesajlar çekirdeğinizin bilgisayar üzerindeki donanımları tanıması ve çeşitli hizmetleri çalıştırması ile ilgili mesajlardır. Çekirdeğin donanımınızı ne şekilde tanıdığı bu mesajlardan anlaşılır. Yükleme yapabilmek için, çekirdek sabit diski tanımış olmalıdır. Ağ bağlantısını kullanacaksanız ise, çekirdek bu kez ethernet kartını doğru olarak tanımış olmalıdır. 

Daha sonra kullanıcıdan root disketini yüklemesi için bir mesaj çıkacaktır. Bu aşamada boot disketi yerine root disketi takılmalıdır. Kısa bir yüklemeden sonra bir mesaj çıkacak ve ardından 

login: 
mesajı ile karşılaşılacaktır. Tebrikler ! Artık Linux altında çalışmaya başlayabilirsiniz. Bilgisayar şu anda sizden bir kullanıcı ismi beklemektedir. 'root' yazarak sisteme girin. 

Ön Hazırlıklar 
Slackware dağıtımında yükleme işi için 

setup 
isimli bir yazılım bulunmaktadır. Yüklemenin her aşaması bu yazılım tarafından yürütülebilir. Ancak ilk olarak Linux için disk alanlarının tanımlanması gerekmektedir. Bu amaçla 

fdisk 
programı kullanılır. Linux altında, bir bilgisayar bağlı her türlü ek donanıma bir dosya gibi erişmek mümkündür. Her ek donanıma karşılık gelen bir sistem dosyası mevcuttur. ek donanımlarla ilgili dosyalar /dev dizini altında yer alırlar. Burada, IDE sabit diskler "hd" SCSI, sabit diskler "sd" olarak adlandırılır. Aynı anda bir bilgisayara birden fazla disk bağlanmış olabilir. Diskler sırayla a b c d olarak adlandırılır. Her disk üzerinde birden fazla bölüm yer alabilir. bu bölümler ise 1 2 3 4 olarak numaralandırılır. Örnek olarak; 

/dev/hda, bir numaralı IDE (Primary Master) diski 
/dev/hda1, bir numaralı IDE diskin ilk bölümü ( DOS altında C:) 
/dev/hda2, bir numaralı IDE diskin ikinci bölümünü 
/dev/hdb, iki numaralı IDE (Primary Slave) diski 
/dev/hdc, üç numaralı IDE (Secondary Master) diski 
/dev/hdd, dört numaralı IDE (Secondary Slave) diski 
/dev/sdb3, ikinci SCSI sabit diskin üçüncü bölümünü 
göstermektedir. Birden fazla sabit diskiniz varsa hangi sabit disk'le ilgileneceğinizi belirtmeniz gerekir. Eğer iki sabit diskiniz varsa fdisk'i kullanırken dikkat edin, her an yanlış bir diski formatlama olasılığınız vardır. 

# fdisk /dev/hda 
Bu noktadan sonra artık fdisk ile istediğiniz bölümleri tanımlamanız mümkündür. 

fdisk komutu harddisk bölümlerinin düzenlenmesi için kullanılan bir yazılımdır. Eğer komut satırında bir parametre verilmezse fdisk ilk bulduğu disk üzerinde işlem yapacaktır. Birden fazla disk mevcutsa komut satırında istenilen diskin belirtilmesi gerekecektir. Aşağıdaki örnekte fdisk herhangi bir parametre ile çağrılmamış ve sistemde bulunan öncelikli disk olarak bir numaralı IDE disk (/dev/hda) seçilmiştir. 

fdisk, komutunun yanında bazı parameteler alır: 

/fdisk -v : Fdisk programının sürümü ekrana gelir. 
fdisk -l : /dev/hda, /dev/hdb, /dev/sda, /dev/sdb, /dev/sdc, /dev/sdd, /dev/sde, /dev/sdf, /dev/sdg ve /dev/sdh disklerinin (varsa) bölümlendirme tablosunu ekrana yazar ve çıkar. 
fdisk -s <disk-bölümü> : Eğer bir DOS bölümü değilse (bölüm numarası 10'dan büyük) , sözkonusu disk bölümünün büyüklüğü bayt cinsinden ekrana yazılır. 
Aşağıda, fdisk yazılımının kullanımı hakkında örnek bir fdisk çalışması yeralıyor. 

Örnek FDISK Çalışması 
Bu örnek içerisinde 1 GB'lık IDE sabit disk'e sahip bir makine üzerinde LINUX için gerekli kısımların ayrılması adım adım incelenmiştir. Sözkonusu sabit disk üzerinde kullanıcı önceden 400 MB'lık bir kullanıcı alanı tanımlamış ve geri kalan alanı LINUX için ayırmıştı. Düşünülen dağılım: 

400 MB DOS 
250 MB LINUX işletim sistemi 
60 MB Takas alanı 
ve geri kalan alan LINUX altında kullanıcı alanı. 

fdisk programı çalışır çalışmaz ilk iş olarak mevcut bölümler hakkında bilgi almak için p komutunu (Print Partition Info) kullanılır. 


 


Command (m for help): p 


 


Disk /dev/sda: 34 heads, 61 sectors, 1017 cylinders 

Units = cylinders of 2074 * 512 bytes 



  Device Boot   Begin    Start      End   Blocks   Id  System 

/dev/hda1   *        1        1      395   409584+   6  DOS 16-bit >=32M 
Bu tablo bize sadece tek bölüm ayrıldığını, ayrılan alanın DOS formatında olduğunu, boot edecek bölüm olduğunu belirtiyor. Bölümün adı /dev/hda1, yani ilk IDE sabit disk üzerinde tanımlanan ilk bölüm. İlk iş olarak LINUX işletim sistemi için yeni bir bölüm yaratmalıyız. 



Command (m for help): n 

Command action 

  e   extended 

  p   primary partition (1-4) 



Partition number (1-4): 2 

First cylinder (396-1017): 396 

Last cylinder or +size or +sizeM or +sizeK ([396]-1017): +250M 
n komutu ile kendimize yeni bir bölüm yarattık. İlk seçenek temel bir disk bölümümü yoksa gelişmiş bir disk bölümü üzerinde mi işlem yapacağımızı sordu. Temel bir bölüm için p komutunu girdik. Daha sonra hangi bölümü yaratacağımızı sordu. Halen mevcut 1 bölüm var, bu bölüm ikinci bölüm olacak bu yüzden 2 yazdık. 

Bölümün başlangıç adresini giriyoruz. Bu değer otomatik olarak bir önceki bölümün bitiş değerinden hesaplanmaktadır. Sadece onaylıyoruz. Daha sonra istediğimiz boyutu belirtiyoruz. +250M tanımı 250 MB'lık bir kısım istediğimizi belirtiyor. Yarattığımız bu bölümü p komutu ile inceliyoruz 



Command (m for help): p 



Disk /dev/hda: 34 heads, 61 sectors, 1017 cylinders 

Units = cylinders of 2074 * 512 bytes 



  Device Boot   Begin    Start      End   Blocks   Id  System 

/dev/hda1   *        1        1      395   409584+   6  DOS 16-bit >=32M 

/dev/hda2          396      396      642   256139   83  Linux native 
fdisk yaratılan her bölümü otomatik olarak (LINUX native) olarak yaratmaktadır. Şimdi takas alanı için 60 MB'lık 3. temel bölümü tanımlayalım: 





Command (m for help): n 

Command action 

  e   extended 

  p   primary partition (1-4) 



Partition number (1-4): 3 

First cylinder (643-1017): 643 

Last cylinder or +size or +sizeM or +sizeK ([643]-1017): +60M 



Command (m for help): p 



Disk /dev/hda: 34 heads, 61 sectors, 1017 cylinders 

Units = cylinders of 2074 * 512 bytes 



  Device Boot   Begin    Start      End   Blocks   Id  System 

/dev/hda1   *        1        1      395   409584+   6  DOS 16-bit >=32M 

/dev/hda2          396      396      642   256139   83  Linux native 

/dev/hda3          643      643      702    62220   83  Linux native 
Dikkat edilecek olursa bu bölüm de LINUX native olarak tanımlandı. LINUX tarafından takas bölümü olarak kullanılacak olan bölümler farklı bir yapıya sahiptirler ve ayrıca tanımlanmaları gerekmektedir. Bu amaçla t komutu ile herhangi bir bölümün tipini değiştirmek mümkündür. (Tip değiştirmekle o bölümün yapısı (formatı) değişmiş olmuyor, format sonradan yapılan bir işlemdir) 



Command (m for help): t 

Partition number (1-4): 3 

Hex code (type L to list codes): 82 

Changed system type of partition 3 to 82 (Linux swap) 



Command (m for help): p 



Disk /dev/hda: 34 heads, 61 sectors, 1017 cylinders 

Units = cylinders of 2074 * 512 bytes 



  Device Boot   Begin    Start      End   Blocks   Id  System 

/dev/hda1   *        1        1      395   409584+   6  DOS 16-bit >=32M 

/dev/hda2          396      396      642   256139   83  Linux native 

/dev/hda3          643      643      702    62220   82  Linux swap 
Yukarıda yapılan işlemle 3 numaralı bölümün tipini Linux swap olarak değiştirmiş olduk. Şu anda üç farklı türden alanımız mevcut. Son bölümü de yine n komutu ile ekleriz. 



Command (m for help): n 

Command action 

  e   extended 

  p   primary partition (1-4) 



Partition number (1-4): 4 

First cylinder (703-1017): 703 

Last cylinder or +size or +sizeM or +sizeK ([703]-1017): 1017 



Command (m for help): p 



Disk /dev/hda: 34 heads, 61 sectors, 1017 cylinders 

Units = cylinders of 2074 * 512 bytes 



  Device Boot   Begin    Start      End   Blocks   Id  System 

/dev/hda1   *        1        1      395   409584+   6  DOS 16-bit >=32M 

/dev/hda2          396      396      642   256139   83  Linux native 

/dev/hda3          643      643      702    62220   82  Linux swap 

/dev/hda4          703      703     1017   326655   83  Linux native 
Bu örnekte boyut MB cinsinden verilmedi. Zaten amaç kalan alanı tümüyle kullanıcı alanı olarak ayırmaktı. Bu nedenle son silindirin numarasının girilmesi yeterli oldu. Artık yapılması gereken bu bilginin diske yazılmasıdır. Şu ana kadar yapılan hiç bir değişiklik sistem üzerinde herhangi bir etki yapmamıştır. Ancak bölümleme bilgisi diske yazıldıktan sonra geri dönüş yoktur. Lütfen yaptığınız değişiklikleri bir kez daha gözden geçirin! 



Command (m for help): w 

The partition table has been altered! 



Calling ioctl() to re-read partition table. 

(Reboot to ensure the partition table has been updated.) 

Syncing disks. 

Reboot your system to ensure the partition table is updated. 
Sabit diski bölümleme esnasında karşılaşılan bazı sorunlar vardır. Bunların en önemlisi Linux'un nasıl çalıştırılacağı ile ilgilidir. Linux açmak için belli başlı üç yöntem vardır: 

LILO ile bir boot menüsünden 
DOS altından LOADLIN isimli bir yazılımla 
Yüklemek için yapıldığı gibi bir boot diskiyle 
Son iki yöntem herhangi bir sınırlama getirmezken ilk yöntemin bir sınırlaması vardır. LILO isimli yazılım ile kullanıldığı zaman bilgisayar açıldığı zaman minik bir yazılım çalıştırır ve gerektiğinde Linux çekirdeğini yükler. Ancak çekirdek yüklenmesine kadar geçen süre içerisinde sistemin BIOS komutları çalışır. Bu komutların önemli bir sınırlaması bir disk üzerindeki bir yazılımı belirleyen üç parametreden (silindir sayısı, kafa numarası, sektör numarası) silindir sayısının en fazla 1024 ile sınırlı olmasıdır. Bu bakımdan LILO kullanılacaksa Linux çekirdeğinin yer alacağı bölüm bu 1024 numaralı silindir sınırının altında kalmalıdır. Bu sınırlama tamamıyla DOS'un kullandığı BIOS'un bir sınırlamasıdır. Yeni BIOS'lar bu sınırlamadan kurtulmak için LBA adı verilen bir yöntem kullanırlar. Bu yöntemin temelinde BIOS'ta kafa sayısı için gereksiz yere ayrılan kısımların silindir sayısını belirtmek için kullanılmasıdır. (BIOS, bir sabit disk için 64'e kadar kafa kabul edebilmektedir. Pratik olarak 15 kafadan fazla sabit diskin üretilmesi çok zor olduğu için yapılan kafa sayısını iki veya dört ile çarparak, silindir sayısını iki veya dörde bölmektir.) Böylelikle 1654 silindirli 16 kafalı bir sabit disk, LBA olarak 827 silindirli ve 32 kafalı olarak tanımlanabilmektedir. İkinci durumda bu disk üzerinde tanımlanabilecek her bölümün yukarıda belirtilen sınırlama içerisinde kalacağına dikkat ediniz. 
Setup Programı 
Disk üzerindeki tanımlamaları da bitirdikten sonra artık setup yazılımı çalıştırılabilir. Setup Linux yüklemek için gereken temel birçok işlemi yapabilir. Ok tuşları yardımı ile menüler arasında gezerek işlemleri tamamlayabilirsiniz. Burada yukarıdan aşağıya doğru bir sıra izleyebilirsiniz. 

Şu anki güncel Slackware dağıtımının setup komutu çalıştırılınca ekrana gelen menüleri aşağıdadır. 


                 Welcome to Slackware Linux Setup. 


    Hint: If you have trouble using the arrow keys on your keyboard, 

    you can use ''+'', ''-'', and TAB instead. Which option would you like? 



          HELP       Read the Slackware Setup HELP file 

          KEYMAP     Remap your keyboard 

          MAKE TAGS  Tagfile customization program 

          TARGET     Select target directory [now: /] 

          SOURCE     Select source media 

          DISK SETS  Decide which disk sets you wish to install 

          INSTALL    Install selected disk sets 

          CONFIGURE  Reconfigure your Linux system 

          PKGTOOL    Install or remove packages with Pkgtool 

          EXIT       Exit Slackware Linux Setup 



                           <  OK  >      <Cancel> 
HELP Menüsü : Setup programı hakkında bazı ipuçları verecektir. 
KEYMAP Menüsü : Bu menü ile Amerikan klavye dışında bir klavye tanımlamak mümkün olacaktır. Henüz türkçe q veya f klavye desteği bulunmamaktadır. Bu destekler sonradan yüklenebilmektedir. 
MAKE TAGS Menüsü : Bu menü yardımı ile dağıtım disketlerinde özel uzantılı dosyalar hazırlayarak hangi paketlerin yükleneceğini otomatik olarak belirlemek mümkündür. Bu sayede eğer benzer makinalar yüklenecekse yüklenecek paketler bir kere belirlenir ve bir daha menülerden ekstradan paketlerin seçilmesine gerek kalmaz. 
ADDSWAP Menüsü : fdisk ile ayırdığınız takas bölümünü uygun şekilde formatlar ve bu bölümü kullanıma açar. Setup yazılımı hangi disk bölümünün takas bölümü olarak ayrıldığını otomatik olarak bulacaktır. Daha sonra sözkonusu alanları formatlayacak ve bu takas alanını sistem belleğine ekleyecektir. (Her adımda bir onay isteyecektir) 
TARGET Menüsü : Linux'un hangi bölüme yükleneceğini belirler. Bu menüye girildiği zaman Linux'un disk formatına (ext2) sahip (sabit disk bölümü numarası 83 olan) tüm disk bölümleri gösterilecek ve içerlerinden hangisine Linux kurulması istenileceği sorulacaktır. Bu aşamadan sonra o disk bölümü kullanıcı isterse formatlanacaktır. Burada iki format seçeneği vardır. Bu seçeneklerin ikincisinde disk önce hatalar için taranacak daha sonra formatlanacaktır. Eğer Linux disk formatında başka bölümler varsa bu bölümlerin kullanılmasının istenip istenmediği sorulacaktır. Bu sayede disk hiyerarşisinin herhangi bir kısmını bu ek disk bölümleri üzerine kurmak mümkündür. Son olarak Linux tarafından desteklenen başka disk bölümleri varsa (Örneğin DOS) bu bölümlere Linux altından erişim yapılmasının istenip istenmediği sorulacak ve bu bölümler için hiyerarşi içerisinde bir dizin atanması istenecektir. 
SOURCE Menüsü : Bu menü Linux dağıtımının nerede aranması gerektiğini belirler. Buradaki seçenekler 


            SOURCE MEDIA SELECTION 



      Where do you plan to install Slackware Linux from? 





             1 Install from a hard drive partition 

             2 Install from floppy disks 

             3 Install via NFS 

             4 Install from a pre-mounted directory 

             5 Install from CD-ROM 
1 Numaralı seçenek, Linux dağıtımını bir sabit disk bölümünde aramak için kullanılacaktır. Bu seçenekle örnek olarak DOS kısmında bulunan dağıtım disketlerinden yükleme yapılabilir. 
2 Numaralı seçenek, disketlerden yükleme yapmaktır. Çalışır bir sistemi birkaç disketle oluşturmak mümkündür. Ancak günümüzde pek tercih edilen bir yöntem değildir. 
3 Numaralı seçenek, NFS üzerinden yükleme yapmak için kullanılmaktadır. Burada bilgisayarın bir yerel bilgisayar ağına bağlı olması, Bu bilgisayar ağı üzerindeki bir sunucu üzerinde erişim izni bulunan bir dizin altında dağıtım disketlerinin bulunması gerekmektedir. Bu seçenekle yükleme yapmak için boot disketi içerisinde yer alan diskette ağ desteğinin bulunması gerekmektedir. Bu seçeneğin ardından bilgisayarın (geçici) IP numarası varsa ağ üzerindeki yönlendirici'nin (router-gateway) IP numarası, ağ maskesi (subnet mask), NFS sunucusu IP numarası ve sunucu üstünde dağıtım disketlerinin bulunduğu hiyerarşi gibi ağ ile ilgili parametreler sorulacaktır. Bu soruların cevabını sistem yetkilisinden öğrenmeniz ve onun onayını almanız gerekecektir. 
4 Numaralı seçenek, aslında 1 numaralı seçeneğe çok benzemektedir. Aradaki fark bu durumda sistem hiyerarşisine bağlanmış (mounted) bir dizin içerisinde dağıtım disketlerinin bulunmasıdır. 
5 Numaralı seçenek ise CD-ROM'dan yükleme yapmak içindir. 
DISKSETS Menüsü Artık nereye ve nereden yükleyeceğiniz belirlenmiştir. Sıra yüklemek istediğiniz disket serilerini seçmeye gelmiştir. Disk serileri: 


   CUS         Also prompt for CUSTOM disk sets 

   A           Base Linux system 

   AP          Various Applications that do not need X 

   D           Program Development (C, C++, Lisp, Perl, etc.) 

   E           GNU Emacs 

   F           FAQ lists, HOWTO documentation 

   K           Linux kernel source 

   N           Networking (TCP/IP, UUCP, Mail, News) 

   T           TeX typesetting software 

   TCL         Tcl/Tk script languages 

   X           XFree86 X Window System 

   XAP         X Applications 

   XD          X Server development kit 

   XV          XView (OpenLook Window Manager, apps) 

   Y           Games (that do not require X) 
A Serisi (8 disket) : Temel işletim sistemi bu disketlerde yer alır. Temel disk hiyerarşisi yaratılır, sistemin çalışması için hayati olan yazılımlar, terminal yazılımları, kabuklar (shell), disk düzenleme yazılımları, kütüphaneler, Linux çalıştırmak için LILO ve LOADLIN bu disketlerdedir. 
AP Serisi (5 disket) : X Window ortamı gerektirmeyen uygulama yazılımlar. Metin editörleri, ghostscript, man sayfaları, midnight commander (Norton commander benzeri bir yazılım) bu disketlerde yer alır. 
D Serisi (13 disket) : Tüm programlama dilleri ve destek yazılımları bu disketlerde yer alır. Eğer kendinize yeni bir Linux çekirdeği derlemeyi düşünüyorsanız bu seriye ihtiyacınız var. 
E Serisi (8 disket) : EMACS editörü. 
F Serisi (2 disket) : Linux hakkında birçok döküman ve açıklama bu disketlerde yer almaktadır. Yeni başlayan birisinin bu disketleri mutlaka yüklemesi gerekir. Söz konusu dökümanlar sıkıştırılmış halde 


/usr/doc 

/usr/doc/faq 

/usr/doc/faq/HOWTO 
dizinlerine yüklenecektir. Birçok kullanıcı cevap aradığı soruların birçoğunun zaten makinelerinde yazılı olduğunu sonradan öğrenince çok şaşırmaktadır. Dökümanlar sıkıştırılmış olduklarından 



zless 
gibi sıkıştırılmış dosyaları destekleyen bir yazılımla okunmaları gerekir. 

K Serisi (6 disket) : Çekirdeğin kaynak kodu burada bulunur. Eğer kendi donanımınıza uygun bir çekirdek derlemek istiyorsanız bu seriye muhakkak ihtiyaç duyacaksınız. FTP arşivlerinden kaynak kodu olarak bulacağınız bazı yazılımlar da bu hiyerarşi altında yer alan bazı dosyalara ihtiyaç duyacaklardır. 
N Serisi (6 disket) : Ağ desteği bu disketler ile sağlanmaktadır. E-posta okuma yazılımları, lynx, www sunucusu, haber grubu okuma yazılımları bu disketlerin içerisinde yer alan yazılımlardır. 
T Serisi (9 disket) : TeX. TeX yüklerken üç temel seçenekle karşılaşacaksınız. İlk seri seçenek hangi TeX yardımcı paketlerini isteyeceğinizi sorar, ikinci seçenekler hangi dil için makro tanımları istediğinizi sorar, son seçenek ise yazı tipleri hakkında tercihlerinizi sorar. (Burada gerçekten çok fazla seçenek var) 
TCL Serisi (2 disket) : X Window altında kullanımı basit bir programlama dili ve bu dili ile yazılmış bazı uygulama yazılımları (tkdesk) 
X Serisi (16 disket) : X Window desteği. Bu disketlerin büyük kısmı değişik grafik kartları için X window sunucuları ve yazı karakterlerinden oluşmaktadır. Linux yüklediğiniz bilgisayar üzerindeki grafik kartını bilmeniz ve buna uygun bir sunucu seçmeniz gerekmektedir. 
XAP Serisi (4 disket) : X window altında çeşitli uygulamalar: satranç, gnuplot, xv, xfileman, windows95 benzeri X Window arayüzü bu seriler içerisinde yer almaktadır. 
XD Serisi (3 disket) : Xserver geliştirmek için kütüphaneler ve uygulama yazılımları 
XV Serisi (3 disket) : OpenLook desteği veren yazılımlar. Bu sayede X Window altında Sun bilgisayarlarda yer alan OpenWindows benzeri bir ortam kullanılabilir. 
Y Serisi (1 disket) : Minik birkaç oyun. (özellikle bog) Seçtiğiniz disk serileri ilgi alanınızı genel olarak belirler. Her seri içerisinde birçok yazılım pakedi yer almaktadır. Bu paketlerden istediklerinizi yükleyebilirsiniz. 
INSTALL Menüsü Seçtiğiniz disk serilerini belirlediğiniz kaynaktan, belirtilen hedef disk bölümüne aktarır. Disk serileri içerisinde yer alan paketleri ne şekilde yüklemek istediğiniz konusunda birtakım seçenekleriniz olacaktır. Bunlar: 


   NORMAL         Use the default tagfiles for verbose prompting 

   MENU           Choose package subsystems from interactive menus 

   CUSTOM         Use custom tagfiles in the package directories 

   PATH           Use tagfiles in the subdirectories of a custom path 

   EXPERT         Choose individual packages from interactive menus 

   NONE           Use no tagfiles - install everything 
NORMAL : Sistem her disk serisi içerisindeki paketleri 'gerekli (required)', 'olsa iyi olur (recommended)' ve 'seçime bağlı (optional)' olarak sınıflar. Bu seçenek ile gerekli paketler yüklenir, diğer paketler için kısa bir açıklama yazılır ve kullanıcının fikri sorulur. İlk yüklemeler için tavsiye edilen bir seçenektir. Ancak özellikle T serisi insanın sabrını taşıracak derecede çok ufak tefek paket yüklemekte ve her paketi sormaktadır (mesela klingon fontlarını yüklemek isteyip istemediğinizi soruyor, bilmeyenler için Klingon'lar uzay yolu dizisindeki kötü uzaylı yaratıklardır :) ) 

MENU ve EXPERT : Bu seçeneklerde her disk serisi yüklenmeye başlanırken o seride yer alan tüm paketler bir menü içerisinde görülür. Kullanıcı istediği paketleri işaretler ve bunların yüklenmesini sağlar. 

CUSTOM ve PATH : Daha önce belirtilen TAGFILE dosyaları yardımıyla yükleme yapmak için kullanılır. Bu durumda belirli bir uzantıya sahip dosyalar içerisinde (TAGFILE) yüklenmesi gereken yazılımlar belirtilir. Bu seçenek ile TAGFILE' ların uzantısı belirtilir ve o uzantılı dosyalarda bulunan paketler yüklenir. 

NONE : Tembellerin seçeneği. Her şeyi kuracaktır. Sadece belirli paketler için anlamlıdır. Zira birçok paket içerisinde içinden seçilmesi gereken seçenekler mevcuttur. (Mesela Xserver 10 seçenek arasından seçilecektir) 

Bu noktadan sonra artık yükleme başlayacaktır. 

Konfigürasyon 
Yükleme bittikten sonra yapılacak iş artık sisteminiz için tanıtımlarınızı yapmaktır. Bu işlemin ilk aşaması sistemi açacak bir çekirdek belirlemektir. Bu konuda üç seçeneğiniz var: 



   bootdisk    Use the kernel from the installation bootdisk 

   cdrom       Use a kernel from the Slackware CD 

   floppy      Install a zimage or bzimage file from a DOS floppy 
Bootdisk : Bu seçenekte yüklemede kullandığınız çekirdek boot disketinden kopyalanacaktır. Sisteminizi yükleyebildiğinize göre bu çekirdek ile çalışabilirsiniz. Eğer bir değişiklik yapmamışsanız bu anda sürücü içerisinde boot disketi değil root disketi bulunuyor olmalı, değiştirmeyi unutmayın! 

CD-ROM : Slackware CD-ROM'unda bulunan önceden derlenmiş çekirdeklerden herhangi birini seçebilirsiniz. 

Floppy : herhangi bir DOS disketinde yer alan çekirdeği yüklemenizi sağlar. 

Daha sonra sisteminiz için bir boot disketi yaratmak isteyip, istemediğiniz, sorulacaktır. Ne olursa olsun, elinizin altında her zaman bir boot ve root disketi bulundurmak zorundasınız. Herhangi bir sorun olduğunda sisteminizi açmak için bir boot disketi bulmanız gerekecektir. Bunun için yükleme sırasında kullandığınız boot ve root disketlerini de kullanabilirsiniz. 

Ardından setup size modem, fare, CD-ROM, bulunduğunuz zaman dilimini soracak ve 

liloconfig 
yazılımı çalışacaktır. LILO, Linux Loader (Linux yükleyicisi) kelimelerinden meydana gelir. LILO Linux yüklemek için kullanılan çok pratik ve etkili bir yazılımdır. Bilgisayar açılır açılmaz, boot eden ilk sabit diskin üzerinde (boot partition) kendini yazar, bilgisayar açılır açılmaz, birden fazla işletim sistemi için seçenek sunabilir. Konfigürasyon sırasında LILO kendisinin nereye yazılacağını sorar, bu seçenekler arasında 



   1. The Master Boot Record of your first hard drive 

   2. The superblock of your root Linux partition 

   3. A formatted floppy disk 
yer alır. 

1 numaralı seçenek, birçok uygulamada kullanılacak olan seçenektir. MBR bir bilgisayar açarken ilk bakılan yerdir. 

2 numaralı seçenek, MBR'yi kullanmamaktadır. Bunun sebebi, MBR üzerinde bir başka işletim sisteminin benzer bir yazılımının bulunması olabilir. (örneğin OS/2 Bootmanager) 

3 numaralı seçenek'te LILO kendisini bir diskete yükleyecektir. Bu disketten açıldığı zaman menü ortaya çıkacaktır. 

Daha sonra boot işlemi sırasında çekirdeğe gönderilecek ekstra parametreler belirtilebilir. Birçok sistem için bu tür bir parametre gereksizdir. Bu parametre boot diski ile açıldığı zaman sorulan parametrenin aynısıdır. Sonraki seçenek LILO'nun yükleme sırasındaki davranışını belirler. LILO konfigürasyonu sırasında birden fazla boot edebilecek sabit disk bölümü tanımlanabilir. Shift tuşuna basıldığı zaman LILO mevcut bölümler için bir liste çıkaracaktır. LILO için tanımlı dört davranış vardır: 



   1 -- None, don't wait at all - boot straight into the first OS 

   2 -- 5 seconds 

   3 -- 30 seconds 

   4 -- Present a prompt and wait until a choice is made without timing out 
1 numaralı seçenek hiç beklemeden doğrudan listede belirtilen ilk işletim sistemini yükleyecektir. Sadece Linux bulunan bilgisayarlar için kullanılan seçenek budur. 

2 ve 3 numaralı seçenekler sırasıyla 5 ve 30 saniye beklerler, eğer bu süre içerisinde Shift tuşuna basılmazsa ilk sırada yer alan işletim sistemini yüklerler. 

4 numaralı seçenek bir işletim sistemi seçilene kadar bekler. 

Daha sonra sırasıyla yüklenmesini tercih ettiğiniz disk bölümlerini tanıtabilirsiniz. LILO her bölüm için sizden ayırdedici bir kelime isteyecektir. LILO yükleme anında sizden komut beklerken bu kelimeye göre işletim sistemi yükleyecetir. 

LILO hakkında bazı örnekler için LILO-NASIL dökümanından yararlanabilirsiniz. 

Makinayı Açmak 
Linux yükleme işlemi sona erdi. Artık bundan sonra sıra makinanızı Linux çalışacak şekilde çalışmasını sağlamaktır. Bunun için temel olarak iki değişik yöntem mevcuttur: 

LILO : en çok kullanılan en pratik açılış şekli. Burada bilgisayar açıldığı zaman isteğe göre bir süre bekler ve bu esnada shift,tab veya control tuşuna basılırsa birden fazla işletim sistemi ile çalıştırma seçeneği sunar. 
LOADLIN : Dos altından çalışan bir yazılımdır. DOS altında çalışırken Linux yüklemenize yarar. Eğer kurulum aşamasında LOADLIN pakedini (A serisi disketler içinde ) seçmişseniz bu paket /root dizini altında LOADLIN.ZIP ismi ile kaydedilmiş olacaktır. Yapmanız gereken bu yazılımı ve mevcut çekirdeğinizi (/vmlinuz ) DOS kısmına aktarmaktır. 
Aşağıda yer alan örnekte, 

IDE bir sabit disk kullanıldığı 
/dev/hda1'in DOS olduğu 
/dev/hda3 üzerine Linux yüklendiği 
DOS kısmına (henüz) Linux altından erişilemediği 
Makinanın Linux olarak açılmış olduğu 
varsayılmıştır. 



linux:~# ls /root 

lodlin16.txt  lodlin16.zip 

linux:~# mkdir /dos 

linux:~# mount -t msdos /dev/hda1 /dos 

linux:~# cd /dos 

linux:/dos# unzip /root/lodlin16.zip 

Archive:  lodlin16.zip 

creating: loadlin/ 

inflating: loadlin/readme.1st 

inflating: loadlin/loadlin.exe 

inflating: loadlin/copying 

inflating: loadlin/test.par 

inflating: loadlin/linux.bat 

extracting: loadlin/initrd.tgz 

inflating: loadlin/files 

  creating: loadlin/doc/ 

inflating: loadlin/doc/changes 

inflating: loadlin/doc/announce.txt 

inflating: loadlin/doc/lodlin16.lsm 

inflating: loadlin/doc/quicksta.rt 

inflating: loadlin/doc/initrd.txt 

inflating: loadlin/doc/manual.txt 

inflating: loadlin/doc/params.doc 

  creating: loadlin/src/ 

inflating: loadlin/src/loadlin.asm 

inflating: loadlin/src/loadlina.asm 

inflating: loadlin/src/loadlini.asm 

inflating: loadlin/src/loadlinj.asm 

inflating: loadlin/src/loadlinm.asm 

inflating: loadlin/src/makefile 

extracting: loadlin/src/srclinux.tgz 

inflating: loadlin/src/pgadjust.asm 

linux:/dos# cp /vmlinuz /dos/loadlin/zimage 

linux:/dos# cd loadlin 

linux:/dos/loadlin# ls 

copying*      files*        linux.bat*    readme.1st*   test.par* 

doc/          initrd.tgz*   loadlin.exe*  src/          zimage 

linux:/dos/loadlin# cat linux.bat 



rem  First, ensure any unwritten disk buffers are flushed: 

smartdrv /C 

rem  Start the LOADLIN process: 

c:\loadlin\loadlin  c:\loadlin\zimage  root=/dev/hda3  ro  vga=3 

linux:/dos/loadlin# cp linux.bat /dos 
Burada verilen örnekte yapılan sırasıyla 

Sabit diskin DOS kısmını Linux altından ulaşılır yapmak 
/root altında yer alan lodlin16.zip isimli dosyayı DOS diski altında açmak. Bu işlem C:\LOADLIN isimli bir dizin yaratıp içerisine gereken dosyaları yerleştirmektedir. 
Çalışan çekirdeği (/vmlinuz) bu dizine kopyalamak ve LINUX.BAT dosyasını kendimize uygun hale getirmek. Bu dosya C:\LOADLIN\ZIMAGE isimli bir çekirdeği kullanarak /dev/hda3 bölümünde Linux çalıştırmak için kullanılır. 
LINUX.BAT dosyasını PATH içinde tanımlı bir yere kopyalamak, mesela C:\DOS. 
Artık bilgisayar DOS açıldıktan sonra 



linux 
komutu ile tekrar Linux çalıştırmak mümkün olacaktır. 

Bilgisayarınıza Linux yüklediğiniz disketlerle her zaman bilgisayarınızı Linux olarak açıp çalışabilirsiniz. 

Tavsiye edilen mümkünse LILO kullanmaktır. LOADLIN ise bir ikinci alternatif olarak çokça kullanılır. Boot disketlerine ise genelde son çare olarak başvurulur. 

Bütün bu adımlardan sonra artık elinizde çalışmaya hazır bir Linux makine vardır. Makinayı kapatıp tekrar açın. Ekranda çekirdek mesajları geçtikten sonra 



login : 
belirecektir. Buraya root yazın ve sisteme girin. İlk denemeniz için 



# shutdown -rf now 
yazabilirsiniz. Linux bir makine çalıştığı sürece bellek içerisinde birçok tampon bellek açar. Mümkün olduğu kadar makineyi kapama tuşuna basarak kapatmayın. Shutdown komutu işletim sisteminin tampon belleklerde tuttuğu bilgileri güncellemesini sağlayacaktır. -r parametresi sistemin reboot etmesini sağlayacaktır. Bilgisayarı kapatmak için 



# shutdown -hf now 
komutunu kullanabilirsiniz. Burada yer alan h parametresi sistemin "halt" edeceğini (tamamen kilitlenme) ve bir daha açılmayacağını belirtecektir. 

Eğer herşey yolunda giderse makinanızın başında oturup çalışmaya başlayabilirsiniz. 

Sistemde çalışmaya başlamak üzere ilk iş olarak kendinize çalışmak amacıyla bir kullanıcı tanımlayın. Sistemde başka kullanıcı olacaksa, onlar için de hesap açacaksınız. Kullanıcı hesabı açmak için 



# adduser 
komutu size bu konuda yardımcı olacaktır. adduser (veya useradd) komutu , kullanıcı ismi, isim ve soyad, GID (grup kimliği), UID (kullanıcı kimliği) gibi birtakım sorular soracaktır. Bu komut hakkında detaylı bilgiyi gelecek sayılarımızda yer alacak Sistem Yönetimi bölümü altında bulabilirsiniz. Linux'ta root kullanıcısı sistem üzerinde sınırsız yetkiye sahip olduğundan sistem dosyalarını kazara değiştirmenize veya silmenize sebep olabilir. 

Şimdi yeni hesabınızla sisteme girebilirsiniz. Alt F1 'den Alt F6 'ya kadar olan tuşlarla birden çok ekranda (sanal ekranlar) aynı anda çalışabilirsiniz. 

Bu noktadan sonra bazı uygulamaların ayarlamalarını yapmanız gerekecektir. Artık Linux yüklemek ile ilgili bir sorunuzunun kalmamış olmasını umuyorum. DOS kullanıcılarına Linux hakkında bilgi veren sevimli bir döküman için DOS2Linux Mini-HOWTO iyi bir başlangıç olabilir. 

Açılış esnasında makinanızın ismi /etc/rc.d/rc.M dosyasında belirlenir. Bu dosyayı uygun şekilde değiştirerek makinanızın ismini de yeniden tanımlayabilirsiniz. Makinanızın ilk ismi darkstar olacaktır. Eğer TCP/IP ağ üzerinde çalışıyorsanız, /etc/HOSTNAME dosyasının içeriğini değiştirerek veya hostname komutu kullanılarak makina ismi de değiştirilebilir. 

Bunların dışında konfigürasyon gerektiren birçok durum vardır. Bunlar hakkında ayrıntılı bilgiyi NET-3 HOWTO dosyasında bulabilirsiniz. 





LILO Konfigürasyonu 

Eğer linux ve OS/2 ile birlikte aynı disk üzerinde çalışmayacaksanız, LILO'yu öncelikli yükleyici olarak diskinizdeki diğer işletim sistemlerinin açılışında rahatlıkla kullanabilirsiniz. Daha önce de belirttiğim gibi OS/2'nin kendine özgü önyükleyicisi olduğundan birincil önyükleyici olarak bunu kullanın, LILO'yu ise linux açmak için çalıştırın. 

Slackware LILO kurulum işlemi, bazı özel durumlar için yetersiz kalmaktadır. Bu gibi durumlarda dosyanın el yardımıyla konfigürasyonu gereklidir. 

LILO'yu değiştirmek için /etc/lilo.conf dosyası üzerinde değişiklikler yapmalısınız. Aşağıda bir LILO konfigürasyon örneği görülüyor. Burada Linux bölümü /dev/hda2'de , MS-DOS bölümü ise /dev/hdb1'de (ikinci sabit diskin ilk bölümü) bulunuyor. 



# LILO, /dev/hda uzerinde kurulacak. 

boot = /dev/hda 



# Linux yüklemek için 

image = /vmlinuz      (Cekirdegin diskteki ismi /vmlinuz) 

   label = linux       (Buna "linux" ismini ver. Acilis aninda 

                       ekranda "linux" yazisi gorunur) 

   root = /dev/hda2    (Kok dosya sistemi olarak /dev/hda2 kullan) 

   vga = ask           (VGA ekran modu icin kullanıcıdan komut bekle) 



# MS-DOS yüklemek için 

other = /dev/hdb1     (MS-DOS bölümü) 

   label = msdos       ("msdos" ismini ver) 

   table = /dev/hdb    (ikinci sürücü için bölümlendirme tablosu) 
Yukarıda bir örneği görülen /etc/lilo.conf dosyasında gerekli değişiklik veya düzeltmeleri yaptıktan sonra /sbin/lilo dosyasını root olarak çalıştırın. Bu komut LILO önyükleyicisini sabit diske kuracaktır. Bundan sonra her yeni çekirdek derlemenin ardından dosyada uygun değişiklikleri yapıp aynı komutu çalıştırmalısınız. 

Şimdi sistemi sabit diskten tekrar açabilirsiniz. LILO, /etc/lilo.conf dosyasındaki ilk işletim sistemini yükleyecektir. Başka bir sistemle açmak için önyükleme menüsünü ekrana getirmelisiniz. Bunun için makina açılırken shift veya kontrol tuşlarına basılı tutun. Ekrana bir açılış istemcisi gelecektir: 



Boot : 
Burada ya açılmasını istediğiniz işletim sisteminin ismini yazın (ilk kurulum sırasında MS-DOS veya linux), ya da tab tuşuna basarak listeyi ekrana getirin. 

OS/2 kullanabilmek için Linux önyükleyicisini ikincil kullanmanız gerekecektir. Linux'u OS/2 önyükleyicisinden açmalısınız. Bunu yapmak için Linux sabit disk bölümünü OS/2 fdisk kullanarak yaratın. Ardından sözkonusu bölümü FAT veya HPFS olarak formatlayın ki OS/2 tanıyabilsin. 

Bundan sonra LILO'yu linux dosya sisteminin olduğu bölüme kurun. (yukarıdaki örnekte /dev/hda2). /etc/lilo.conf dosyasının linux için kullanılan satırlarının son durumu şu şekilde olacaktır: 



      boot = /dev/hda2 



      image = /vmlinuz 

        label = linux 

        root = /dev/hda2 
/sbin/lilo dosyasının çalıştırılmasının ardından OS/2 önyükleyicisine linux bölümünü tanıtın. Benzer yordamları, sorun çıkaran işletim sistemleri için de kullanabilirsiniz. 

Sorun Çıktığında 
Tabii ki dileğimiz sorun çıkmaması, ama her nedense her zaman bu satırları okuyacak birkaç kişi olacaktır. Linux üzerinde kendi ihtiyacınıza göre ayarlanamayacak bir parametre yok gibidir. Bu özelliği sayesinde son derece esnek bir çalışma ortamı haline gelebilir. Aynı özellik kişilerin çoğu zaman kendi çözümlerini bulmalarını da beraberinde getirmektedir. Kendi bilgisayarınızda Linux çalışmak için bir miktar doküman karıştırmanız kaçınılmazdır. 

Çıkabilecek en önemli sorun bilgisayarın açılmamasıdır. Bunun birçok sebebi olabilir. Açılış esnasında 

İlk olarak LILO çalışır. 
Çekirdek yüklenir. 
Hizmet veren yazılımlar teker teker çalışmaya başlarlar. 
Her aşama birçok satırda durumunu belirtecektir. Çalışan yazılımlar veya yazılım parçalarının her biri birbirinden bağımsız olduğu için açılış sırasında geldiğiniz nokta çok önemlidir. LILO çalışmadığında veya çekirdek yüklenirken takılırsa boot disketi ile rahatlıkla sistemi açabilirsiniz. Örnek olarak Linux yüklü disk bölümünüzün /dev/hda2 olduğunu varsayalım. Boot disketi parametre istediğinde 



mount root=/dev/hda2 
yazmanız yeterli olacaktır. Bu durumda boot disketinde yer alan çekirdek ile belirttiğiniz bölümde yer alan Linux hiyerarşisi açılacaktır. Çalışan bu sisteminiz içerisinde artık hatanın kaynağını daha rahat bulabilirsiniz. 

Çekirdeğin yükleme sırasında takılması büyük ölçüde çekirdeğin donanımı doğru belirleyememesinden çıkar. Örneğin   ethernet kartınızı yanlış tanımış olabilir. Bunu çözmenin temel yöntemi çekirdek içerisinde kullanmayacağınız donanımlara ilişkin destekleri kaldırmak (Tüm ethernet kartlarını destekleyen bir çekirdek yerine sadece kullanmanızın muhtemel olduğu ethernet kartlarına destek veren bir çekirdek derlemek) veya çekirdeğe yardımcı olabilecek açılış parametreleri vermektir. 

Çekirdek derlemek hakkında Kernel-HOWTO ve boot parametreleri hakkında BootPromt-HOWTO yardımcı olabilirler. Çalışan sisteminizde bir arıza meydana gelip de makina aniden çalışmamaya başlarsa en son yaptığınız değişiklikleri gözden geçirin.

Ve son olarak, sistemin çalışmaması her zaman Linux'tan kaynaklanmayabilir. Donanım ile ilgili sorunlar da yaşayabilirsiniz. Rasgele davranışlar, durup dururken kilitlenmeler, panik mesajları altında bozuk sabit diskler, normalden yüksek frekansta çalıştırılan işlemciler ve sistem saatine göre yavaş kaçan veya bozuk olan RAM'lar neden olabilir. 

Başlangıçta 
Bu satırları okuduğunuza göre çalışır durumda bir Linux sisteminiz var demektir. Hala silmediniz mi yoksa? Şaka bir yana, büyük badireler atlattınız. Önünüze sayısız engeller çıkabilirdi. Kurarken elektrikler kesilebilirdi, sabit disk çizilebilirdi veya yanlış bölümü formatlayabilirdiniz. Özellikle Linux Slackware dağıtımını kurmak, dokümantasyon olmadan veya hatırlı bir arkadaşın yardımı olmaksızın gerçekten zordur. 

Bu bölümde Linux'a küçük bir giriş yapılacak, daha sonra da UNIX kullanmayanlar sistemle tanıştırılacaktır. Bölüm boyunca yapmanız gereken korkmadan sistem üzerinde kolaylıkla gezinti yapmak ve dosyaları kurcalamaktır. 

Önceki bölünde sisteme girebilmek için şifresi olmayan "root" kullanıcıyı kullanmıştınız. Bu kullanıcı sistemde en fazla yetkiye sahip kullanıcı olup sistem görevlisi (sorumlusu) adını alır. Eğer root dışında bir kullanıcı hesabı tanımlanmışsa onu kullanın. Şifre yazıldıktan sonra komut istemcisine, yani kısaca kabuk dediğimiz programa girilir. Şifre yazılırken, başkalarının görmemesi için ekranda görünmez. 

Kullanıcı isimleri veya şifrelerde büyük ve küçük harfler arasında fark vardır. Root, root ve ROOT, farklı kullanıcıları ifade eder. Klavyenin en sağındaki Caps Lock tuşunun yanmadığına emin olun. 

Sisteme ilk girişte, aşağıdaki gibi bir satırla karşılaşacaksınız. 



Welcome to Linux 1.2.13. 



linux login: root 

password: 

Last login: Thu Feb 13 12:46:35 on tty1 

Linux 1.2.13. 

You have mail. 

linux:~# 
Genellikle komut istemcisinin sonundaki karakter, root kullanıcısı için #, diğer kullanıcılar için $ olur. Bu karakterden önce de makina ismi yeralır. MS-DOS'ta olduğu gibi burada UNIX komutlarını girebileceğiniz kabuk (shell) üzerindesiniz. 

Şifreyi değiştirmek için kullanılan komut passwd 'dir. Bir kullanıcı sadece kendi şifresini değiştirirken root'a herkesin şifresini değiştirme yetkisi verilmiştir. Herhangi bir sistemde hesap şifrenizi unutursanız, bunu sadece root değiştirebilir. Root iken passwd yazın ve enter tuşuna basın. 



linux:~# passwd 

Changing password for root 

Enter new password: ******* 

Re-type new password: ****** 

Password changed. 

linux:~# 
Şifrenizi iyi saklayın. Root şifresini ele geçiren birisi sistemde istediği değişikliği yapabilir. 

Linux komutları hakkında bilgi almak için man komutu kullanılır. Eğer kurulum aşamasında man dosyalarının kopyalanması sorusuna olumlu yanıt verilmişse bunlar /usr/man dizini altında bulunurlar. Örneğin passwd komutu hakkında daha detaylı bilgi almak için 



$ man passwd 
yazın. Tüm man sayfaları /usr/man dizini altında 8 ayrı dizinde saklanır (man1 .. man8). Bazı komutların man dosyaları birden fazla dizin altında bulunur. Bir dosya komut hakkında temel bilgi verirken, diğeri sistem programcılarına yönelik olabilir. Örnek olarak mount komutu, hem 2, hem de 8 numaralı man dosyalarıyla birlikte arşivlenmiştir. C programlayıcısı, mount komutuna ulaşmak için 



$ man 2 mount 
yazarken normal kullanıcı, 



$ man 8 mount 
yazmalıdır. Bunun yanında başlığında belirli bir anahtar sözcüğü içeren tüm man dosyalarını araştırmak için apropos komutu kullanılır. 

Her komut, bir veya birden çok parametre alabilir. Örnek olarak, 



find . -name "*.txt" -print 
komutu, bulunduğunuz yerden itibaren tüm dosyaları araştıracak ve bunların arasından sonu .txt ile bitenleri ekrana basacaktır. Parametreler genel olarak "-" işaretleri ve bu işaretten sonra gelen parametre ismi ile belirtilirler. 

Linux Komut Yapısı 
UNIX ve benzeri işletim sitemlerinde kullanıcının komut yazmasını sağlayan, bu komutları yorumlayarak gerekli işlemleri yapan programlara kabuk (shell) adı verilir. UNIX'te bir kullanıcı bir dizi kabuktan istediğini seçebilir. Kabuklar ile ilgili ayrıntılı bilgi ileride verilecektir. Kullandığınız kabuk ne olursa olsun, gerek kabuktan kaynaklanan, gerekse UNIX komutlarının hepsinin uyduğu bazı standartlardan kaynaklanan bazı geleneksel yapılar vardır. Bunları bilmeniz ilk kez duyduğunuz bir komutun kullanımını bile kolayca çıkarabilmenizin yanı sıra, bir dizi genel hatadan kurtulmanızı sağlayacaktır. 

UNIX'te (ve Linux'ta) bütün komutlar ve dosya isimlerinde büyük/küçük harf ayrımı önemlidir. Sistem komutlarının ve dosyaların çoğu küçük harfle yazılır. 
Komut ve dosya adlarında kullanacağınız bazı karakterlerin gerek dosya ve dizin yapısı, gerekse kabuk ve diğer komutlar nedeniyle bazı özel anlamları vardır. Bu karakterlerden yeri geldikçe söz edilecektir. Örneğin, `/' karakteri hiçbir dosya adında bulunamaz (dosya ve dizinler için ayraç olarak kullanıldığından). `-' ile başlayan bir dosya oluşturulabilir olsa da silmeye kalktığında yeni bir UNIX kullanıcısının başına dert açabilir. 
UNIX'te komutlarında parametre verirken seçenekten önce `-' karakteri kullanılır. Örneğin ls -l 
UNIX komutları tersi istenmedikçe girdilerini standart girdiden (klavye) alır, çıktılarını standart çıktıya (ekran) yazar. Bu özellik ileride anlatılacak olan yönlendirme ve boru (pipe) operatörleri ile birlikte komut satırından birçok işlemi kolayca yapmanızı sağlar. 
UNIX kabukları komut satırından verilen komutu çalıştırmadan önce bir dizi karakteri yorumlayarak dosya ad(lar)ına çevirirler. Bu karakterler: 
* 0 dahil herhangi bir sayıda karakter yerine geçer. Örneğin rm * komutu bütün dosyaları siler, ls -l a* komutu `a' ile başlayan dosyaların listesini verir. 
? tek bir karakter yerine geçer. Örneğin ?? adı iki karakterden oluşan bütün dosyalar anlamına gelir. 
[] karakterleri arasında yazılan liste içindeki herhangi bir harfe dönüştürülür. Örneğin cp *[abc] /tmp komutu `a', `b' ya da `c' ile biten bütün dosyaları /tmp dizinine kopyalayacaktır. liste içinde aralarına `-' işareti koyarak aralıklar verebilirsiniz. Örneğin, [A-Z]* büyük harfle başlayan bütün dosyalar anlamına gelir. Liste içindeki `^' karakteri sonrasında belirtilen liste dışındaki bütün karakterler anlamına gelir. Örneğin *[^0-9]* adında rakam olmayan herhangi bir dosya anlamına gelecektir. 
Dosya ve Dizin Yapısı 
UNIX altında bazı karakterlerin özel anlamları vardır. Dizin ve dosya isimlerinin başında nokta olması durumunda bu dosyalar gizli dosya haline gelir ve parametresiz yazılan ls komutuyla görünmez. 

Dosya ve dizin isimleri 255 karakteri aşamazlar. 

Sisteme girince önceden tanımlanmış bir dizin altında bulunursunuz. Bu dizin normal kullanıcılar için genellikle /home/ ve ardından gelen kullanıcı dizini ismidir. Bulunduğunuz dizinin ismini görmek için pwd (print working directory) yazın. Temel dosya ve dizin kavramları hakkında detaylı bilgi alabilmek için MS-DOS veya, en iyisi bir UNIX kitabı edinin. 



$ pwd 

/home/gorkem 


UNIX komut yapısı DOS'a çok benzer. Dizin değiştirmek için cd , dizin yaratmak için mkdir komutlarını sistemde sıkça kullanılır. 



$ cd / 

$ pwd 


Hiyerarşik bir sıraya sahip olan UNIX'te en üstte / dizini (kök dizin) yeralır. Sistemdeki tüm diğer dosya ve dizinler bunun altında toplanırlar. 




işareti, kullanıcının ev dizinini gösterir. Ev dizinine geçin ve mkdir komutu ile benim isimli bir dizin yaratın. Dizini patikasını, bir başka deyişle kök dizininden itibaren ismini vererek de yaratabilirsiniz. 



$ cd ~ 

$ pwd 

/home/gorkem 

$ mkdir /home/gorkem/benim 
Dosya Listesi ve İçeriklerinin Görüntülenmesi 
Dosya ve dizinleri görebilmek için ls komutu kullanılır. Parametresiz yazarak bulunduğunuz dizin hakkında bilgi alın. Linux altında değişik uzantılı dosyalar okunabilirliği artırmak amacıyla farklı renkte görünecektir. /etc/DIR_COLORS dosyası, dosya renklerini ayarlar. Bu dosyayı değiştirerek belirli dosyalar için istenilen renkleri göstermesini sağlayabilirsiniz. 



linux:~$ ls 

README  article.txt     mail       typescript 

adres   linux           perl 
ls komutu -a parametresiyle birlikte kullanılırsa normalde görünmeyen ve nokta karakteriyle başlayan dosya ve dizinler de görünür. 



linux:~$ ls -a 

.               .bashrc         .term           article.txt     typescript 

..              .kermrc         .xinitrc                linux 

.Xdefaults      .less           README  mail 

.bash_history   .lessrc         adres           perl 
-l parametresi de dosyalar hakkında tüm bilgiyi verir. Bunlar, dosyanın sahibi, ne zaman yaratıldığı ve grubu gibi bilgilerdir. Dosya izinleri hakkında daha geniş bilgi bir sonraki bölümde verilecektir. 



linux:~$ ls -al 

total 91 

drwxr-xr-x   6 gorkem   users        1024 Feb 13 12:56 . 

drwxr-xr-x   4 root     root         1024 Jan  7  1980 .. 

-rw-r--r--   1 gorkem   users         390 Feb 13 12:56 .Xdefaults 

-rw-r--r--   1 gorkem   ftpadm        230 Feb 13 12:57 .bash_history 

-rw-r--r--   1 gorkem   users           1 Feb 13 12:57 .bashrc 

-rw-r--r--   1 gorkem   users         163 Nov 24  1993 .kermrc 

-rw-r--r--   1 gorkem   users          34 Nov 24  1993 .less 

-rw-r--r--   1 gorkem   users         114 Nov 24  1993 .lessrc 

drwxr-xr-x   2 gorkem   users        1024 Jan  7  1980 .term 

-rw-r--r--   1 gorkem   users          87 Feb 13 12:56 .xinitrc 

-rw-r--r--   1 gorkem   users       26264 Feb 13 12:53 README 

-rw-r--r--   1 gorkem   users        2795 Feb 13 12:55 adres 

-rw-r--r--   1 gorkem   users       47970 Feb 13 12:53 article.txt 

drwxr-xr-x   2 gorkem   users        1024 Feb 13 12:54 linux 

drwxr-xr-x   2 gorkem   users        1024 Feb 13 12:54 mail 

drwxr-xr-x   2 gorkem   users        1024 Feb 13 12:54 perl 

-rw-r--r--   1 gorkem   users           0 Feb 13 12:57 typescript 
Yukarıda her iki parametrenin de birleştirilerek birlikte kullanımı yeralmaktadır. Dosyaların içeriklerini görmek için kullanılan birkaç komuttan en pratiği less'tir. Ok tuşları ile dosya içinde hareket edebilir ve q karakteri ile dosyadan çıkarsınız. Dosyanın içeriği birden fazla sayfaysa dosya sayfalar halinde ekrana gelir. Tüm dosyayı ekrana getirmek için cat kullanın. 



$ cat README 
Bir dosyanın başından veya sonundan itibaren belirli miktarda satırı ekrana getirmek de mümkündür. Bunun için head ve tail komutları kullanıcının hizmetine sunulmuştur. 



linux:~$ head -6 README  (dosyanin ilk 6 satirini ekrana getirir.) 

This is the README file for the 28 August 1994 public release of the 

Info-ZIP group's portable UnZip zipfile-extraction program (and related 

utilities). 



unzip512.zip    portable UnZip, version 5.12, source code distribution 

unzip512.tar.Z  same as above, but compress'd tar format 



linux:~$ tail -3 README (dosyanin son 3 satirini ekrana getirir) 



-- Greg Roelofs (Cave Newt), UnZip maintainer/container/explainer and 

  developer guy, with inspiration from David Kirschbaum 
Dosyaların Kopyalanması 
Dosyaları kopyalamak için cp ve bir yerden başka bir dizine almak için mv komutu kullanılır. mv komutu, aynı zamanda dosya isimlerini değiştirmek üzere de işletilebilir. 



linux:~$ cp article.txt /tmp 

(article.txt isimli dosyayi /tmp dizinine kopyala) 

linux:~$ mv article.txt /tmp/article 

(article.txt isimli dosyayi /tmp dizini altına ismini article olarak değiştirerek koy 
Kopyalama işlemi yalnızca dosyalar üzerinde değil, dizinler üzerinde de yapılabilir. Farklı dosya sistemleri üzerinde olmamak kaydıyla bir dizin ve altındaki herşeyi, başka bir dizine kopyalayabilir veya hareket ettirebilirsiniz. Kopyalarken bu işlem için -R parametresi kullanılır, mv komutu için -r parametresine gerek yoktur. 



$ cp -R /home/gorkem/temp /tmp 

(/home/gorkem/temp dizinini ve içindeki her dosyayı /tmp altına kopyala) 

$ mv article.txt ~/benim 

(article.txt isimli dosyayı çalışma dizini altındaki benim dizinine kopyala) 
Dosyaların Silinmesi 
Bir daha kullanılmayacak olan dosyalar, rm komutuyla silinebilir. Dosyaları silerken iki kere düşünün, zira Linux altında silinen bir dosyanın geri dönüşü olmaz. Eğer bu tür hataları çok yapıyorsanız rm komutunu -i parametresi ile birlikte kullanın, bu sayede Linux, dosyayı silmeden önce kullanıcının da onayını alır. 



linux:~$ rm -i README 

rm: remove `README'? y  -> sileyim mi ? y(evet)/n(hayır) 

linux:~$ 
Eğer dosya ismi - karakteri ile başlıyor ise, rm komutunu kullandığınız zaman dosya ismi bir parametre olarak algılanacak ve hata verecektir. Bunun için dosya isminden önce -- karakterlerini yerleştirin. 



linux:~$ rm -- -dosya 
Bir dizin, boş iken rmdir komutu ile silinebilir, eğer boş değilse bu komut işe yaramaz. Onun yerine rm komutunu -r parametresiyle kullanın. 



linux:~$ rm mail 

rm: mail: is a directory 

linux:~$ rm -rf linux/          (linux dizinini içindekilerle birlikte silinir.) 
-f parametresi ile kullanıcının onayını almadan tüm dosyaları tek adımda silmek mümkündür. Bulunduğunuz dizindeki tüm dosyaları silmek için * karakterini kullanın. 



$ rm * 

-------------------------------------------------------------------------------- 

Türkiye Linux Kullanıcıları Grubu tarafindan yazılan Linux İşletim Sistemi adlı kitaptan derlenmistir 


 

     Kabuk İşlemleri 
    Sisteme girdiğiniz anda kabuk programının çalıştırıldığından bahsetmiştik. Bu andan sonra yapacağınız tüm işlemler bu kabuk programı tarafından yönetilir ve denetlenir. Kabuk, klavyeden girilen komutları çalıştırarak bir arabirim görevi yapar. UNIX (ve Linux) altında geliştirilen sayısız kabuk çeşidi ve bunların her birinin kendine ait özelliği vardır. Her programcı kendi zevkine hitap eden kabuğu seçebilir, sistemde yeralan kullanıcılar farklı kabuklar üzerinde çalışabilirler.

O an hangi kabuk üzerinde yeraldığınızı öğrenmek için echo $SHELL yazabiliriz. 

$ echo $SHELL 
/bin/bash 
Sıkça kullanılan kabuklar, 

sh (Shell ya da Bourne Shell): İlk UNIX kabuğu. 

ksh (Korn Shell): sh uyumlu, birçok ek programlama özelliği içeren bir kabuk. Bu kabuk da yaygın bir kitle tarafından kullanılıyor. 

  bash (Bourne Again Shell): Kullanım kolaylığı bakımından en çok rağbet gören bash, GNU tarafından kaynak kodu olarak dağıtılıyor. bash sh ve ksh uyumluluğunu korurken, özellikle etkileşimli kullanıma yönelik (komut tamamlama  gibi) birçok yenilik de içerir. 

  csh (C shell): Berkeley Üniversitesi'nde geliştirilen csh'in C diline benzer bir programlama yapısı vardır. 

  tcsh: csh'ın biraz geliştirilmiş hali. 

   Yukarıdaki kabuk programlarından sh, ksh ve bash birbirleriyle uyumludur ve yukarıda en ilkelden en gelişmişe göre sıralanmışlardır. Aynı durum csh ve tcsh için de geçerlidir. Kullanılan shell genellikle kişisel bir tercih nedeni olsa da, bütün sistem scriptleri sh ile yazıldığından, sistem yöneticilerine sh ailesinden bir kabuk kullanmaları önerilir. 

    Kabuk programları genellikle /bin dizini altında yeralır. Kullanıcının sisteme girerken hangi kabuğu kullanacağı /etc/passwd dosyasında yeralır. Bunu değiştirmek için chsh (change shell) komutunu kullanabilirsiniz. 


$ chsh 
Password: 
Changing the login shell for cagri 
Enter the new value, or press return for the default 

       Login Shell [/bin/sh]: /bin/bash 

    Sisteminizde NIS kullanılıyorsa chsh yerine yppasswd -s komutunu kullanmalısınız. 

     Yönlendirme 
    Kullanıcı, ekrana yazdığı bir komutun neler yaptığını en rahat şekilde komut tarafından ekrana yönlendirilen bilgilerden anlayabilir. Program, kullanıcıyı bilgilendirme amacıyla mümkün olduğu kadar çok, fakat ortalığı fazla karıştırmamak için de mümkün olduğu kadar az bilgiyi ekrana vermelidir. 

       Standart Girdi, Çıktı ve Hata 
    Linux'ta, ekrana yazılan program çıktı bilgisini iki sınıf altında toplayabiliriz. Birincisi, olağandışı bir durumu bildiren standart hata, diğeri de her türlü verinin yazıldığı standart çıktı. Program çalıştığı andan itibaren bu iki kanal üzerinden akan bilgiler, programın çalıştığı sanal terminale yazılırlar. Program girdilerini ise standart girdi aracı olan klavyeden alır. 

    Eğer bu bilgiler bir ekran boyundan (25 satır) fazla tutuyorsa bazı satırlar programcının gözünden kaçabilir. Bunu önlemek amacıyla standart çıktı ve hata bir dosyaya yazılacak şekilde ayarlanabilir. Yönlendirme olarakta bilinen bu işlem UNIX altında (DOS'ta olduğu gibi) > karakteri ile gerçekleştirilir. 

    Örnek olarak o an bulunduğunuz dizinde yeralan dosyaları ekrana getirin : 


$ ls -al 
    Bu komut, standart çıktı olarak dosyaların bilgilerini ekrana getirecektir. Bu çıktıyı, bir dosyaya yönlendirelim ve dosyanın içeriğine göz atalım: 


linux:~$ ls -al > liste 
linux:~$ cat liste 
total 16 
drwxr-xr-x   5 gorkem   users        1024 Feb 13 13:10 . 
drwxr-xr-x   4 root     root         1024 Jan  7  1980 .. 
-rw-r--r--   1 gorkem   users         390 Feb 13 12:56 .Xdefaults 
-rw-r--r--   1 gorkem   ftpadm       2016 Feb 13 13:09 .bash_history 
-rw-r--r--   1 gorkem   users           1 Feb 13 12:57 .bashrc 
-rw-r--r--   1 gorkem   users         163 Nov 24  1993 .kermrc 
-rw-r--r--   1 gorkem   users          34 Nov 24  1993 .less 
-rw-r--r--   1 gorkem   users         114 Nov 24  1993 .lessrc 
drwxr-xr-x   2 gorkem   users        1024 Jan  7  1980 .term 
-rw-r--r--   1 gorkem   users          87 Feb 13 12:56 .xinitrc 
-rw-r--r--   1 gorkem   users        2795 Feb 13 13:06 adres 
-rw-r--r--   1 gorkem   users           0 Feb 13 13:10 liste 
drwxr-xr-x   2 gorkem   users        1024 Feb 13 12:54 mail 
drwxr-xr-x   2 gorkem   users        1024 Feb 13 12:54 perl 
-rw-r--r--   1 gorkem   users           0 Feb 13 13:10 typescript 
linux:~$

karakteri standart hatayı dosyaya yönlendirmez. Bu işlem için 2> kullanılır. Ama hatayı görebilmek için, hata yaratan bir komut yazmalıyız, değil mi ?

$ ls /deneme 
/deneme : No such file or directory 
$ ls /deneme 2> hata 
$ cat hata 
/deneme : No such file or directory 
    Aşağıdaki komutun işletilmesinin ardından standart çıktı oku1 dosyasına, standart hata ise oku2 dosyasına yazılacaktır. Bu dosyaları komutu çalıştırdıktan sonra incelemek suretiyle neler olup bittiğini anlamak mümkün olur. 

$ mkdir ~/deneme           (deneme isimli bir dizin yarat) 
$ touch ~/deneme/gecici    (gecici isimli bir dosya yarat) 
$ cat ~/deneme 2>oku2 >oku1 
    Kabuk, standart çıktı ve standart girdi için sırayla 2 ve 1 numaralarının kullanımına izin verir. Yukarıda yeralan son komutta, standart hata mesajları için 2 kullanılarak hataların oku2 dosyasına yazılmıştır. Yönlendirme sayesinde ekrana gelmesi gereken mesajlar kullanılmayan 9. sanal konsola yönlendiriliyor. 

# make config 
# make dep > /dev/tty9 
# make clean > /dev/tty9 
# time make zImage > /dev/tty9 
    Son satırdaki time komutu, kendinden sonra gelen komutun ne kadar zaman içinde çalıştırıldığını gösterir. Çekirdek derlemede geçen zaman, makinenin gücü hakkında bir fikir verebilir. Peki ne hata, ne de çıktıyı ekranda görmek istemiyorsam ne yapmalıyım? Bunun için standart çıktı ve hatayı bir araya getirerek yönlendirilen her çıktının kaybolduğu ``kara deliğe'' atmak yeterlidir: 

$ ls /deneme > /dev/null 2>&1 
    Yukarıdaki komutun yazılış sırasına dikkat edin. 

    Standart çıktı ya da standart hatayı yönlendirirken, > işareti kullanırsanız: dosya yoksa, oluşturulur ve komutun çıktısı dosyaya yazılır. Dosya varsa, içeriği yok olur ve komutun çıktısı dosyanın yeni içeriği olur. Var olan bir dosyanın eski içeriğini tamamen silmek değil de komutun çıktısını dosyaya eklemek istiyorsanız >> kullanmalısınız. Bu durumda dosya varsa komutun çıktısı dosyanın eski içeriği korunarak sonuna eklenir, dosya yoksa oluşturulur ve komutun çıktısı dosyaya yazılır. Örneğin: 

$ echo deneme1 >>deneme.txt 
$ cat deneme.txt 
deneme1 
$ echo deneme2 >>deneme.txt 
$ cat deneme.txt 
deneme1 
deneme2 

    Örnekte görüldüğü gibi ilk komut deneme.txt dosyasını oluşturdu. İkincisi ise oluşan dosyanın içeriğini koruyarak ikinci komutun çıktısını bu dosyanın sonuna ekliyor. 

    Standart hata ve çıktıya ek olarak UNIX'in desteklediği bir yönlendirme daha vardır: Standart girdi sayesinde bir dosyayı oluşturan satırlar, bir komut veya programa yönlendirilebilir. Daha önce bir metin editör kullanarak hazırlamış olduğumuz raporu patrona kısa yoldan göndermek için, 

$ mail -s "rapor" patron < rapor.txt 
    Dosyanın içeriği, mail komutuna girdi olmuş ve rapor.txt dosyası patron kullanıcısına ``rapor'' konu başlığıyla e-posta ile gönderilmiştir. 

       Boru (pipe) İşlemleri 
    Bazı durumlarda, bir komutun çıktısı diğer bir komuta yönlendirilebilir. Başka bir deyişle, komutun standart çıktısını bir dosyaya değil, bu çıktıyı işleyecek başka bir komuta yönlendirmek istiyorsunuz. Bu amaçla UNIX altında (yine DOS'ta olduğu gibi) boru (|) karakteri kullanılır. Bu karakter, kendinden önce gelen komut veya komut serisinin çıktısını, kendinden sonra gelen komuta gönderir. Örneğin bir dizinde yeralan tüm dosyaları yazıcıya aktarmak için, 


$ ls -al | lpr 
    Komutları kullanılabilir. Artık ls -al komutunun ekrana vermesi gereken tüm bilgiler, lpr komutu aracılığıyla yazıcıya gönderilmiştir. İlk komutun standart çıktısı, ikinci komuta standart girdi olarak atanır. Diğer bir örnekte, README dosyasında kaç satır olduğu bulunuyor. Bir dosyadaki veya komut çıktısındaki satır, karakter ve kelime sayılarını bulmak için wc komutunu kullanabilirsiniz. 


$ who | wc -l 
40 
    Yönlendirme ve pipe işlemleri bazen insanın kafasını karıştırabilir. Yönlendirme, bir programdan bir dosyaya yapılabilir, fakat bir programdan başka bir programa yönlendirme yapamazsınız. Benzer şekilde, iki dosyanın arasında pipe işlemi uygulamak mümkün olmaz. 

    Şimdi de biraz karışık bir örnek: 


# ps -aux | grep inetd | grep -v grep|awk '{print $2}' | xargs kill -1 
    Yukarıdaki örnek kafanızı karıştırmak için verilmiş bir örnek değil, bir Linux sistem yöneticisinin her an kullanması gerekebilecek türden. Sadece pipe kullanarak ne kadar fazla sayıda komutun birbirine bağlanabildiğini göstermek amacıyla verdik. 

       Çokgörevlilik 
    UNIX'in en büyük silahlarından biri süreçlerdir. Her süreç sistemde bağımsız çalışan, birbirini etkilemeyen ve herbiri kendi kaynağını kullanan programdır. Süreçler arka planda veya kabuğun kontrolünde çalışabilir. Çekirdek, her sürecin kullandığı sistem kaynağından haberdar olur ve bu kaynakların süreçler arasında adilce paylaşılmasından sorumludur. 

    Bir süreç, aksi belirtilmedikçe çalıştığı süre içinde klavyeden bilgi alır ve ekrana bilgi verir. 

    Kullanıcıların haberi bile olmadan çalışan süreçler, Linux makinesindeki G/Ç işlemlerini gerçekleştirebilmek için sürekli faaliyet içinde bulunurlar. Onlarca süreçten bazıları kullanıcıların sisteme girmesini sağlarken (getty) bazıları da WWW ve FTP gibi İnternet tabanlı istekleri yerine getirir (httpd, ftpd). 

       Arka planda Çalıştırma 
    Bir komutu arka planda çalıştırmak için, komutun sonuna & karakteri getirin. Komutu girdikten sonra tekrar kabuk istemcisine düşecek ve kaldığınız yerden devam edebileceksiniz. Program, arka planda diğer süreçlerle çakışmadan bir süre çalışır ve işi bittiğinde durur. 


$ sort buyuk_dosya > buyuk_dosya.sirali & 
[1] 772 
    Komutun arka plana atılmasından sonra ekranda yeralan 1 , sürecin sıra numarasını, 772 sayısı ise süreç kimliğini (Process ID) gösterir. Her program, sistem kaynaklarını biraz daha azalttığından  makine yavaşlar. 

    Çalışan programların listesini görmek için ps komutunu kullanın. Hiç parametre vermeden yazılırsa sadece üzerinde çalışılan kullanıcının süreçleri ekrana gelir. Sık kullanılan bir başka parametre dizisi de uax tir. Bu sayede sistemdeki o anda çalışan tüm programlar daha ayrıntılı bir şekilde ekrana listelenir. 


$ ps 
PID TTY STAT  TIME COMMAND 
  76 v02 S     0:00 -bash 
111 v02 R     0:00 ps 

$ ps -aux 
USER       PID %CPU %MEM SIZE  RSS TTY STAT START   TIME COMMAND 
bin         63  0.0  5.5   64  364  ?  S    11:12   0:00 /usr/sbin/rpc.portmap 
gorkem      76  0.0  9.7  101  644 v02 S    11:12   0:00 -bash 
gorkem     112  0.0  5.0   59  332 v02 R    11:16   0:00 ps -aux 
root         1  0.0  5.0   56  332  ?  S    11:12   0:00 init [5] 
root         6  0.0  4.2   35  284  ?  S    11:12   0:00 bdflush (daemon) 
root         7  0.0  4.2   35  284  ?  S    11:12   0:00 update (bdflush) 
root        48  0.0  5.1   45  340  ?  S    11:12   0:00 /usr/sbin/crond -l10 
root        59  0.0  5.5   53  364  ?  S    11:12   0:00 /usr/sbin/syslogd 
root        61  0.0  5.0   44  336  ?  S    11:12   0:00 /usr/sbin/klogd 
root        65  0.0  5.5   62  364  ?  S    11:12   0:00 /usr/sbin/inetd 
root        67  0.0  5.8   79  388  ?  S    11:12   0:00 /usr/sbin/rpc.mountd 
root        69  0.0  6.0   88  400  ?  S    11:12   0:00 /usr/sbin/rpc.nfsd 
root        75  0.1  9.9  115  660 v01 S    11:12   0:00 -bash 
root        77  0.0  4.6   52  304 v03 S    11:12   0:00 /sbin/agetty 38400 tty3 
root        78  0.0  4.6   52  304 v04 S    11:12   0:00 /sbin/agetty 38400 tty4 
root        79  0.0  4.6   52  304 v05 S    11:12   0:00 /sbin/agetty 38400 tty5 
root        80  0.0  4.6   52  304 v06 S    11:12   0:00 /sbin/agetty 38400 tty6 
root        81  0.0  5.5   42  368  ?  S    11:12   0:00 gpm -t ms 
    Burada yeralan bilgiler sırasıyla : 

PID: süreç numarası. Her sürecin farklı bir numara alması sistem tarafından düzenlenir. 
%CPU: İşlemcinin % olarak ne kadarı süreç tarafından kullanılıyor ? 
%MEM: % olarak hafızada kapladığı yer 
SIZE: Programın toplam kullandığı bellek alanı (KByte) 
RSS: Programın bellekte kapladığı gerçel alan. Bu değer paylaşılan sistem kütüphaneleri (shared library) nedeniyle genellikle SIZE değerinden küçüktür. 
TTY: sürecin çalıştırıldığı (sanal) terminal 
STAT: süreç o sırada ne yapıyor ? 
S: Uyumakta, bu durum genellikle sürecin bir G/Ç işlemi (örneğin farenin hareketi ya da ağdan gelecek veriler) beklemesi sırasında olur. 
R: Çalışabilir. Çalışabilir süreçler, gereksinim duydukları bütün sistem kaynaklarına sahip olan süreçlerdir. Çekirdek (tek işlemcili bir makinede) belirli aralıklarla bu süreçlerden sadece birini çalıştırır. 
T: Durmuş. Bu durum sürecin kullanıcı tarafından (örneğin Control-Z tuşlarına basılarak) durdurulmasında görülür. 
Z: Zombie. Bu tür süreçler, kendisini çalıştıran sürece mesaj bırakamadıklarından takılmış süreçlerdir. Öldürülemezler ancak sitem kaynaklarını da kullanmazlar. 
D: Kesilemez uykuda. Bazı G/Ç işlemleri o sırada bu işlemi yapan sürecin kesilmemesini gerektirir. Böyle durumdaki süreçleri de ilgili G/Ç işlemi bitinceye kadar öldüremezsiniz. 
START: sürecin çalıştığı zaman 
COMMAND: komut satırından girilen programın ismi 
    ps komutuna bilgisayar üzerinde çalıştığınız her an ihtiyaç duymanız mümkündür, bu yüzden çeşitli parametrelerle kullanmayı öğrenmelisiniz. 

       Klavye Üzerinden Kesinti 
    Linux (ve UNIX) altında, klavyeden bazı tuş kombinasyonları yardımıyla çalışmakta olan program kesintiye uğratılabilir.

    Klavyeden kabuk komut satırına yazılan bir programın uzun sürmesi halinde, eğer daha önceden komutun arkasına & işareti koyup arka planda çalışır halde bırakılmamışsa, klavyeden yapılan bir müdahele ile durdurulup arka planda çalışır hale getirilebilir. Örnek vermek gerekirse, uzun sürmesi beklenen bir komutu klavyeden yazalım ve ardından Control-Z tuşlarına basalım: 


linux:/etc/rc.d# find /usr -name "o*" -print 
/usr/bin/od 
/usr/lib/lilo/doc/other.fig 
/usr/lib/lilo/doc/other.tex 
/usr/man/man1/od.1.gz 

[1]+  Stopped                 find /usr -name "o*" -print 
linux:/etc/rc.d# 
    Bu esnada sürecin çalışmasına ara verilmiş, fakat program tamamen durmamıştır. Programın çalışmasını arka planda sürdürmek için bg komutunu kullanın. 


$ bg 
    Bu komutu tekrar komut satırında çalışacak ve klavyeden bilgi girilecek şekilde terminale bağlamak için fg yazın: 


$ fg 
    Bir programı çalıştırmaya başlattıktan sonra tamamen durdurmaya karar vermişseniz klavyeden Control-C tuşlarına basın. 

    Durdurulup arka planda çalışmaya yönlendirilen süreçlere kısaca görev ismi verilir. Tüm görevleri görebilmek için 


$ jobs 
    yazın. Görevler, birden fazla oldukları zaman sıra numarası ile belirtilirler. 

       Süreçlerin Sona Erdirilmesi 
    Her an çalışan süreçlerden biri veya birkaçı, beklenmedik döngüye girebilir. Bunun sonucu olarak sistemin kaynaklarını, özellikle hafızayı tüketici bir duruma gelebilir. Bu tür kısır döngüye giren süreçleri bulup, eğer hayati önem taşımıyorlarsa `öldürmek' gerekir. Süreci öldürmekten kasıt, programı tamamen durdurarak sistemle ilişkisini kesmektir. Bu sayede programın hafızada kapladığı bölge serbest kalacak, çekirdek de hafıza düzenlemesini tekrar yaparak başka süreçlere daha fazla yer ayıracaktır. Bir süreci öldürmek için kill komutu kullanılır. Yukarıdaki 67 numaralı sürece ait /usr/sbin/rpc.mountd programını öldürmek için şunları yazın : 


$ kill 67 
    Bir çok süreç sizden bu mesajı aldıktan sonra, dosya sistemi üzerinde yarattığı geçici dosyaları, dosyalar üzerine koyduğu kilitleri temizlemek gibi yapması gereken işlemleri yaptıktan sonra çalışmasına son verecektir. Eğer öldürmeye çalıştığınız süreç herhangi bir nedenle takılmışsa ve bu komuta tepki vermiyorsa aşağıdakini deneyin: 


$ kill -9 67 
    Artık programın sistemle ilişkisi tamamen kesilmiştir. Kill komutu, -9 seçeneğiyle sürece 9 numaralı sinyali gönderir. Bu sinyali alan sürecin yukarıda sözü edilen iki özel durum dışında çalışmayı sürdürmesi olanaksızdır. -9 seçeneğini özellikle sistem süreçleri üzerinde gerekmedikçe kullanmamalısınız. Diğer sinyaller ve anlamları yeri geldikçe diğer bölümlerde anlatılacaktır. 

Türkiye Linux Kullanıcıları Grubu tarafından yazılan Linux İşletim Sistemi adlı kitaptan derlenmiştir. 



LİNUX KOMUTLARI 
Bu sayıdan itibaren sizlere en çok kullanılan komutları anlatmaya başlayacağız. 

ls 
Bir dizin içinde başka alt dizinler yanısıra ,dosyaları listelemek amacıyla kullanılır. 

ls[parametre][dosya veya dizin...] 

Parametreler 

-a : (.) ve (..) ile başlayan dosyalar dahil,dizini listeler. 
-A : (.) ve (..) ile baslayan dosyalar haric,dizini listeler. 
-b : Yazdırılamaz karakterleri 16'li düzende(oktal) yazdırır. 
-c : i-düğümlerinin(i-node)en son düzeltme tarihlerini sıralar (-t ile kullanılırsa) 
-d : Eğer dosya adı olarak bir dizin belirtilmişse,sadece adını yazdır.Çoğunlukla -l ile birlikte kullanılır. 
-e : Her dosyanın modunu,baglantı sayısını,grubunu,boyunu (byte olarak),son değişiklik tarihini,adını listeler. 
-f : Her bir argümanın bir dizin olarak yorumlanmasına neden olur. 
-F : Dosya isimleri sonuna (*),dizin isimleri sonuna (/)koy anlamına gelir. 
-g : Tüm bilgiler ile dosya sahibinin grup adını listeler. 
-i : Her dosyayı i-düğümleri(i-node)ile birlikte görüntüler. 
-l : Her dosyanın modunu,baglantı sayısını,grubunu,boyunu (byte olarak),son değişiklik sayısını listeler. 
-m : Dosya isimlerini virgülle ayırarak listeler. 
-n : -l ile aynı etkiye sahiptir.Farklı olarak kullanıcı ve grup adının yerine ID numaralarını listeler. 
-p : Dizinlerin sonuna (/) koyar. 
-q : Dosya isimleri içinde (?)gibi yazdırılamaz karakterler varsa onlari listeler. 
-r : Sıralamayı sondan başa doğru yapar. 
-R : Belirlenen bir dizin içindeki dosyaların yanı sıra,varsa tüm alt dizinleri içerikleriyle birlikte listeler. 
-s : Blok cinsinden dosyaların boyutunu kilobyte olarak listeler. 
-t : Dosyaları değişime uğrama zamanına göre listeler. 
-u : Dosyaları en son erişim zamanlarına göre listeler. 
-x : Çok sütunlu gösterir. 


chmod 
Dosya ve dizinlere erişim yetkilerini değiştirmek için kullanılır.İzin modlarını iki türlü ifade etme olanağı vardır.Bunlardan birincisi onaltılı sisteme (octal) göre tanımlama,ikincisi ise sembolik tanımlama şeklindedir.Onaltılı sisteme göre: 

chmod [-R][-h][-f] izin kodu {dosya...|dizin...} 

Yetki tanım grupları aşağıdaki gibi sayısal birer değerle eşleşterilir: 
r  : 4 
w : 2 
x  : 1 

Bu eşleştirmeler dosya/dizin sahibi (owner),grup ve diğerleri (others) için ayrı ayrı yapılır. 

Sembolik Tanımlama : 
chmod [-R][-f][-h][[u][g][o][a]]{{-|+|=}[r][w][x][s]}{dosya...|dizin...} 

Bu formda chmod komutu sembolik harflerle kullanılır.Bunlar: 

İzin değişiminin kiminle ilgili olduğu: 
    u : dosya/dizinin sahibi (user) 
    g : dosya/dizinin sahibiyle aynı grupta olanlar (group) 
    o : diğer kullanıcılar (others) 
    a : herkes (all) 

İzinler üzerindeki işlemler için: 
    + : yetki ekleme 
    = : yetki eşitleme 
    - : yetki çıkarma 

İzinlerin sembolleri: 
     r : okuma yetkisi (read) 
    w : yazma yetkisi (write) 
    x : çalıştırma yetkisi (execute) 
    s : programı çalıştıran kullanıcıların,progam çalıştığı sürece ve sadece bu programla ilgili komutlar açısından,program dosyasının sahibinin yetkilerine sahip olmalarını sağlar. 

Parametreler 
-f : Geçersiz izinler ve kullanım cümleleri dışında bütün hata mesajlarını ihmal eder. 
-h :Sembolik link tarafından gösterilen dosya veya dizinler için mod değişimini ihmal eder. 
-R :Tekrarlı olarak dizinlere iner.-R seçeneği her bir dizinin ve belirlenmiş bir şablona uyan bütün dosyaların dosya modu bitlerini değiştirir. 

date 
Sistem tarihini ve zamanını gösterir. 
date komutu "date +%X" seklinde kullanılır. Format "+%X" şeklindedir. X'in yerine gelebilecek seçenekler aşağıda sıralanmıştır. 

Parametreler 
S: saniyeyi gösterir 
M: dakikayı gösterir 
1-12 :arası saati gösterir 
p :am or pm (sabah veya öğleden sonra) 
H: 0-23 arası saati gösterir 
T :hh:mm:ss formatında zamanı göster(h:saat-m:dakika-s:saniye) 
Z :zaman dilimini göster 
A :gün ismini tam olarak yaz 
a : gün isminin ilk üç harfini yaz 
w :gün ismini sayısal olarak belirtir (0-6) 
d :ayın kaçı olduğunu belirt (1-31) 
j :yılın kaçıncı gününde bulunulduğunu belirt (1-366) 
U :yılın kaçıncı haftasında bulunulduğunu belirt (0-53) 
m :yılın kaçıncı ayında bulunulduğunu belirt (1-12) 
b :içinde bulunulan ay isminin ilk üç harfini yaz 
B :ay isminin tamamını yaz 
y :hangi yılda bulunulduğunu 2 basamaklı yaz 
Y :hangi yılda bulunulduğunu 4 basamaklı yaz 
D :tarihi MM/DD/YY (ay/gün/yıl) formatında yaz 
c : tarih va zamanı aynı anda yaz 
xxxxxx