Linux Nedir ? Linux Hakkında Herşey ( Döküman )

FlatOut

New member
Katılım
28 Ocak 2006
Mesajlar
30
Reaction score
0
Puanları
0
1. Linux Nedir ?

Linux, serbestçe dağıtılabilen, çokgörevli, çok kullanıcılı UNIX işletim sistemi türevidir. Linux, İnternet üzerinde ilgili ve meraklı birçok kişi tarafından ortak olarak geliştirilmekte olan ve başta IBM-PC uyumlu kişisel bilgisayarlar olmak üzere birçok platformda çalışabilen ve herhangi bir maliyeti olmayan bir işletim sistemidir.

UNIX 70li yılların ortalarında büyük bilgisayarlar üzerinde çok kullanıcılı bir işletim sistemi olarak geliştirilmiştir. Zaman içerisinde yayılmış ve birçok türevi ortaya çıkmıştır. UNIX ismi UNIX Research Laboratories INC şirketinin tescilli markası olduğundan dolayı birçok şirket, aynı temele dayanan işletim sistemleri için değişik isimler kullanagelmişlerdir. Örnek olarak

Hewlett-Packard HP-UX
IBM AIX
Sun Microsystems SunOS
kullanmaktadırlar. Bugün kişisel bilgisayarlardan süper bilgisayarlara kadar biçok bilgisayar için yazılmış bulunan UNIX türevleri mevcuttur. Ne var ki bu türevlerin çoğu gelişimi belirli bir noktada durmuş ve yüksek fiyatla satılan ticari yazılımlardır.

Linux, temel olarak Finlandiya Üniversitesinde öğrenci olan Linus Torvaldsın ve İnternet üzerinde meraklı bir çok yazılımcının katkıları ile geliştirilmiştir. Linux gelişimi açık bir şekilde yapılmaktadır. Bunun anlamı, işletim sisteminin her aşaması açık olarak İnternet üzerinde yayınlanmakta, dünyanın dört bir yanında kullanıcılar tarafından test edilmekte, hataları ve eksiklikleri tesbit edilerek düzeltilmekte ve geliştirilmektedir. Zaman zaman bu deneme aşamaları belirli bir noktada durdurulur ve güvenilir bir işletim sistemi sunulup, geliştirme için ayrı bir seriye devam edilir. Geliştirmede yer alan bu açıklık Linuxun en büyük avantajlarından biridir. Gelişimi evrimseldir, hatalar anında kullanıcılar tarafından tesbit edilip rapor edilmekte ve birçok kişinin katkısıyla düzeltilmektedir. Bazı işletim sistemi sürümleri saatler içerisinde güncellenebilmektedir.

Linux, Andy Tannenbaum tarafından geliştirilmiş olan Minix işletim sistemine dayanmaktadır. Linus Torvalds boş zamanlarında Minixten daha iyi bir Minix işletim sistemi yaratmak düşüncesiyle 1991 Ağustos sonlarında ilk çalışan Linux çekirdeğini oluşturdu. 5 Ekim 1991 tarihinde 0.02 sürümü Linux ilk defa tanıtıldı. Linus, comp.os.minix haber grubuna gönderdiği yazıda yeni bir işletim sistemi geliştirmekte olduğunu ve ilgilenen herkesin yardımını beklediğini yazmıştı. İşletim sisteminin çekirdeği için verilen numaralar kısa sürede bir standart kazandı. a.x.y seklinde belirtilen çekirdek türevlerinde y bulunulan seviyeyi, x gelişim aşamasını göstermektedir. Tek sayılı xler geliştirme aşamalarını çift sayılı x ler ise güvenilir Linux çekirdeklerini göstermektedirler. a ise değişik Linux sürümlerini belirtir. Bu yazının hazırlandığı Ağustos 1997 içerisinde en son güvenilir (kararlı) Linux çekirdeği 2.0.30, en son gelişim aşamasındaki çekirdek ise 2.1.47dir.

Linux gerçekten son yıllarda hızlı bir gelişme göstermiş, çesitli ülkelerden birçok kullanıcıya erişmiş ve yazılım desteği günden güne artmıştır. Değişik kuruluşlar Linux sistemi ve uygulama yazılımlarını biraraya getirerek dağıtımlar oluşturmuşlar ve kullanımını yaygınlaştırmışlardır.

1.1 Linuxun Desteklediği Donanımlar
· · · Linux şu anda başta IBM-PC uyumlu kişisel bilgisayarlar olmak üzere Apple, Atari ve Amiga gibi 68000 tabanlı bilgisayarlar üzerinde, Sun Sparc işlemcili iş istasyonları, Alpha işlemcili kişisel bilgisayarlar, MIPS, PowerPC, HP PA-RISC ve ARM mimarilerinde çalışmaktadır.

· · · IBM uyumlu kişisel bilgisayarlar üzerinde 80386 ve üzeri (80486 80586 Pentium PentiumPro ve türevleri) değişik üreticilerin işlemcileri ile sorunsuz olarak çalışmaktadır. 80286 ve 8086 işlemcili bilgisayarlar için sınırlı kabiliyette Linux uygulamaları mevcuttur.

· · · PCI, VESA, ISA ve MCA mimarilerinde her türlü anakartı desteklemektedir.

· · · Teorik olarak 4 Gbytea kadar RAM desteklenmektedir.

· · · AT uyumlu diskler (IDE, EIDE ve 16 bitlik MFM,RLL veya ESDI) desteklenmektedir. Kontrol kartına uyumlu destek bulunduğu sürece SCSI diskler ve diğer cihazlar desteklenmektedir.

· · · IDE-ATAPI CD-ROM sürücüleri, ve bazı özel CD-ROM kontrol kartları desteklenmektedir.

· · · Metin ekranlarda CGA, EGA, VGA, Hercules veya uyumlu kartlar desteklenmektedir. X Window ortamında genel VGA ve SVGA uyumlu kartlar ve S3, ET4000, 8514/A, ATI MACH8, ATI MACH32 gibi birçok görüntü kartı desteklenmektedir.

· · · Birçok 10 ve 100 Mbit ethernet kartı, ISDN, ATM, FDDI, SLIP, CSLIP, PPP desteği verilmektedir.

· · · Başta SoundBlaster,Gravis Ultrasound olmak üzere birçok ses kartı desteklenmektedir.

Linux altında hangi donanımların desteklendiği ile ilgili ayrıntılı bilgiyi Hardware-HOWTOdan alabilirsiniz. HOWTO dökümanları hakkında daha geniş bilgi ve nereden temin edeceğiniz kitabın sonunda detaylıca anlatılmıştır.

Makinanızda Linux çalıştırmak için kullanacağınız uygulamalara bağlı olarak en az bir 386SX işlemci ve 4 Mbyte RAMa ihtiyaç duyacaksınız. Sabit disk üzerinde ise en az 40 Mbytelik bir alan ayırmanız gerekecektir. Rahat bir kullanım için en az 8 Mbyte RAM ve 200 Mbyte sabit disk ve bir 486 işlemci önerilmektedir.

1.2 Linuxun Kullanım Amaçları
Ücretsiz olarak dağıtılıyor ve gelişiminin hala devam ediyor olması biçcok kişinin Linuxun profesyonel alanlarda kullanılamayacağının düşünmesine yol açmaktadır. Oysa Linux işletim sistemini kullanan bilgisayarlar özel kullanım başta olmak üzere birçok alanda yaygın olarak kullanılmaktadırlar.

Kişisel Kullanım
Linux evinde veya işinde UNIX işletim sistemi altında çalışmak isteyenler için ideal bir platformdur. Özellikle işi veya eğitimi sırasında UNIX platformlar altında çalışmak, uygulamalar kullanmak veya yazılım geliştiren kişiler kendi kişisel bilgisayarlarında benzer ortamı yakalayabilmekte ve işlerini kendi kişisel bilgisayarlarında gerçekleştirebilmektedirler. Bunlara ek olarak Linux altında yer alan uygulamalar giderek sıradan bir kullanıcı için bile bu işletim sisteminin ilgi çekici hale gelmesini sağlamaktadır. Gelişimleri henüz tamamlanmamış olmasına rağmen, herhangi bir kişisel bilgisayardan beklenebilecek yazı editörleri, hesap cetvelleri, çizim yazılımları, veri tabanları birçok ihtiyaca cevap verecek düzeye gelmiştir. Örneğin LaTeX kullanıcıları MS-DOS altında buldukları desteğin çok daha fazlasını Linux altında bulabilmektedirler.

Internet Sunucusu
Linux doğrudan TCP/IP desteği ile gelmektedir. Bu yönü ile TCP/IP temelli bilgisayar ağlarında hem istemci hem de sunucu olarak yaygın kullanım bulmuştur. Üzerinde hali hazırda bulunan servislerin çeşitliliği, yeni çıkan servislere hızlı ayak uydurması, kolay konfigüre edilebilmesi ve özellikle de düşük maliyeti sebebi ile yaygın olarak İnternet servislerinin verilmesi amacıyla kullanılmaktadır. Zamanla verdiği ağ servisleri başka protokollere destek verecek sekilde genişletilmiştir. Şu anda Linux

WWW sunucu
DNS sunucu
NFS sunucu
NIS sunucu
X Window sunucu
BOOTP sunucu
SMTP sunucu
FTP sunucu
LIST sunucu
NEWS sunucu
gibi yaygın TCP/IP servislerinin yanısıra

NOVELL sunucu (Novell protokolü kullanarak disk ve yazıcı servisi)
· · · SAMBA sunucu (Windows 3.1, Windows95, Windows NT ve WfW için disk ve yazıcı servisi)

· · · APPLETALK sunucu (MacOS kullanan Apple makinalar için disk ve yazıcı servisi) verebilmektedir.

Ağ Elemanı
Linux yazılım desteği ile birçok ağ elemanının yerine geçebilecek bir alternatif olarak kullanılabilmektedir. Birden fazla ağın birbirine bağlanması amacıyla bir yönlendirici (router) olarak da kullanılabilmektedir. Özellikle farklı protokoller arası bir geçiş elemanı olarak yaygın şekilde Linuxtan yararlanılmaktadır. Ayırca yönlendirici olarak kullanıldığında kolaylıkla güvenlik amacıyla firewall (alev duvarı) olarak konfigüre edilebilmektedir. Buna ek olarak bir ağ üzerinde bulunan iki segmanın trafiğini birbirinden ayıran bir köprü (bridge) olarak da hizmet verebilmektedir. Birçok kurumda bir veya daha çok modemin bağlanması amacıyla bir terminal sunucu (terminal server) olarak Linux kullanılmaktadır.

1.3 Nereden Linux Bulabilirim ?
Linux işletim sistemiminin temelini oluşturan çekirdek, bu çekirdeğin kullandığı destek kütüphaneleri ve uygulama yazılımları bir araya getirilerek, yükleme yazılımları da eklenerek Linux dağıtımları meydana getirilmektedir. Bu dağıtımlar temel olarak bir kullanıcının Linux kullanmak için ihtiyaç duyabileceği bir çok yazılımı bir araya getirirler. Bu dağıtımların çoğu İnternet üzerinde anonim FTP arşivlerinde bulunabilmektedirler. İnternet erişimi bulunmayan kişilerinde (veya Internetten 120 Mbyte kopyalamak istemeyen kişilerin) yararlanabilmesi için çesitli CD-ROM şirketleri tarafından CD-ROM üzerinde dağıtımlar meydana getirilmiştir.

Doküman Temini
Linux hakkında yazılan kitapların sayısı gün geçtikçe artmaktadır. Yine de en güncel bilgi İnternet üzerinde bulunmaktadır. Elektronik ortamda bulunan iki temel döküman çeşidi bulunmaktadır. Bunlar:

Linux Documentation Project
NASIL (HOWTO) dökümanlarıdır.
.

1.4 Yazılım Özellikleri
Bir işletim sistemi, ne kadar mükemmel olursa olsun, uygulama yazılımlarının çokluğu ve kalitesi ile varolabilirler. Herhangi bir Linux dağıtımı içerisinde, değişik amaçlara hizmet eden birçok yazılım bulunmaktadır. Ancak her geçen gün bu dağıtımlarda yer almayan yeni yeni yazılımlar çıkmaktadır.

UNIX makinalar üzerinde yer alan uygulamaların çoğu, değişik platformlar altında bulunduğundan çalıştırılabilir (executable) olarak dağıtılmaz, kaynak kodu şeklinde sunulurlar. Sözkonusu yazılımı kullanmak isteyen bir kullanıcı bu kaynak kodunu kendi platformunda derleyerek çalıştırır. Bu tür yazılımların birçoğu Linux altında kolaylıkla çalıştırılabilmektedir. Bu tür yazılımları İnternet üzerinde çeşitli FTP arşivlerinde bulmak mümkündür.

Linuxa özel veya Linux üzerinde geliştirilen yazılımlar için standart bazı FTP arşivleri vardır. Bunların en bilineni Sunsite FTP arşividir. Burada çeşitli dizinler altında konularına göre ayrılmış bir durumda elektronik devre tasarım yazılımlarından oyun programlarına kadar birçok değişik yazılım bulunmaktadır. Bu arşivin Türkiyede yeralan bir kopyası adresinde vardır.

Linuxun bu denli sevilmesi ve yaygınlaşması çesitli şirketlerin (Macintosh, Sun, SSC gibi) Linux üzerinde çalışan ticari yazılımlar geliştirmesi sonucunu verdi. Bu konuda detaylı bilgi için Commercial-HOWTO dökümanından yararlanabilirsiniz.

Linux üzerinde bulunan uygulamaların ve yazılımların listeleri için aşağıdaki adreslerden yararlanabilirsiniz:

Linux Applications and Utilities
Scientific Applications on Linux
Linux Software Map


Temel Komutlar
Daha önce UNIX tabanlı bir işletim sisteminde çalışanlar için Linux, öğrenilmesi çok kolay bir sistem olacaktır. Standart bir UNIX sisteminde yeralan hemen hemen tüm komutlar, Linuxa taşınmıştır. Onlarca çeşit kabuğun yanı sıra, sed, awk gibi programcının işini kolaylaştıran diller, ls, less, finger gibi temel her türlü komut, Linuxta vardır.

Ağ ve İnternet uygulamaları için elm ve pine (Pine Is Not Elm :) yanında metin editörleri olarak vi, vim (viın daha gelişmiş sürümü), pico ve joe sayılabilir. Editörlerden, bizde fazla bilinmeyen Emacs da Linux altında denemeye değer programlardandır. Kelime işlem programlarından troff, groff (GNU troff) ve daha modern metin işleme yazılımlarından TeX ve LaTeX sayılabilir.

Bazı program isimlerinin (GNU-tar, GNU-bash gibi) başında görebileceğiniz GNU (Gnu is Not UNIX!), Linux için de yazılım ve programlar üreten bir kuruluştur. GNU, lisansını ve yazarını korumak koşuluyla programları kaynak koduyla birlikte Linux kullanıcılarına dağıtır. GNU bash ve tcsh, Linux altında en çok rağbet edilen iki kabuk ismidir. Diğer kabuklar arasında zsh, ash, ksh ve csh sayılabilir. Kabuklar hakkında daha geniş bilgiyi, Bash konu başlığı altında bulabilirsiniz.

Uygulama Programları
Linux üzerinde ver tabanı uygulamaları ortalama bir kullanıcının ihtiyacını karşılayabilir. Postgres, Mbase, msql ve Ingres gibi profesyonel yazılımlar Linux ve diğer platformlarda istemci/sunucu bazda görev yapabilirler. Özellikle Postgres, uygulama kolaylığı ve C, perl, tcl gibi birçok dile yönelik arabirimiyle göze çarpar.

Mühendislik yazılımları arasında gnuplot (grafiksel veri analiz yazılımı), xspread ve xfractint (fraktal yaratma programı) sayılabilir.

Doğru seçilmiş bir donanım üzerinde kurulan bir Linux makinası, hemen her tür çokluortam (multimedia) uygulamalarını rahatlıkla çalıştırabilir. En az Pentium tabanlı, 32Mbayt RAM ve 2GB sabit diske sahip makina yardımıyla ticari olarak satılan çokluortam uygulamalarını kullanabilirsiniz. Linux, hemen her türlü ses kartını desteklediğinden ses dosyalarının, workman, Cdplayer gibi programlar yardımıyla kolayca çalınması mümkün olur. MIDI editörleri ve bir sentezleyici ile kendi müzik stüdyonuzu kurabilirsiniz.

Biraz oyun oynamak mı istediniz ? Doom, Quake, Abuse, Xtetris, FreeCiv(ya da CivNet), Imaze ve benzeri onlarca oyun Linuxta da var. ODTÜde yüzlerce öğrenciyi bilgisayar başına mıhlayan MUD (Multi User Dungeon) oyunlarını sunan makinaların birkısmı Linux idi.

X Window Arabirimi
Linux işletim sistemi altında X Window sistemi ile Windows altındaki gibi grafik arabirimiyle birlikte çalışabilirsiniz. Windows ile uğraşan herkes rahatlıkla X Windowa geçiş yapabilir. X ile ekranda aynı anda birden fazla pencere açılabilir, fare yardımıyla birden fazla uygulama aynı anda kontrol edilebilir.

Pekçok uygulamanın (özellikle İnternet tabanlı) X üzerinde çalışan sürümleri vardır. Bu sayede metin tabanlı ekrana (vt100) dönmeden her işinizi X yardımıyla tamamlayabilme şansınız olur. Bu sayede Linux, bir iş istasyonu görünümüne ve kullanışlılığına sahip olacaktır.

X pencere denetleyici (window manager - wm) kullanıcı ile X arasında bekler ve klavye ile fareden aldığı emirleri ekranda yerine getirir. Bu emirler, pencerelerin açılması, kapatılması ve yerlerinin değiştirilmesi gibi komutlardır. Sıkça kullanılan pencere denetleyicileri fvwm, twm ve olwmdir.

1.5 Linux ve Diğer İşletim Sistemleri
Linux ve diğer işletim sistemleri arasındaki ilişkiyi, benzerlikleri ve farklılıkları bilmek önemlidir. Linux işletim sistemi, diğer sistemler ile birlikte aynı sabit diski paylaşabilir. UNIXi öğrenmek için kesinlikle en kolay ve ucuz yol olan Linux, diğer işletim sistemlerine karşı her zaman güçlü bir alternatif olmaktadır. İnternet servis sağlayıcılarının büyük çoğunluğu, Linux kullanmakta, İnternet bağlantılarını, e-posta ve haber grubu alış-verişini Linux sayesinde yapmaktadır.

Bir kişisel bilgisayarı satın aldığınız zaman çok büyük ihtimalle üzerinde MS-DOS veya türevi bir işletim sistemi yüklenmiş olduğunu göreceksiniz. Her kullanıcı o veya bu şekilde MS-DOS ile tanışır. MS-DOS, üzerinde en fazla program yazılan işletim sistemi olmuş, bu yüzden modern işletim sistemleri çıkmadan önce her kullanıcının kurtarıcısı gözüyle bakılmıştır. Fakat MS-DOS arabirimi programlanırken ileriyi düşünemeyen programcılar, bu işletim sistemine Linuxta olan bazı hayati özellikleri kazandıramamışlardır. MS-DOS, çok kullanıcılı bir sistem değildir ve aynı anda birden çok işi yapamaz. İsterseniz çalıştırılabilecek en geniş programın büyüklüğünü görmek için mem komutunu kullanmayı deneyin. Linux, sadece üzerindeki hafıza ile sınırlıdır. 80x86 tabanlı mikroişlemcinin her özelliğini sonuna kadar kullanır. Bunun sonucu olarak verimli bir işletim sistemi sayılabilir.

Tüm bu olumsuzluklara rağmen yine de MS-DOS kullanmak istiyorsunuz. Onun da kolayını bulmuş Linux programcıları. Ücretsiz dağıtılan MS-DOS ve Windows emülatörü yardımıyla MS-DOS altında çalışan programların hemen hepsi Linuxla birlikte de çalışabilir. WinWord 2.0, sysinfo, Civilization ve Qbasic Linux altında sorunsuz çalışan MS-DOS/Windows programlarından birkaçı.

Profesyonel bir yatırım sayılabilecek Windows NTnin çokgörevlilik ve hafızayı mükemmel kullanma gibi özellikleri vardır. Buna karşılık fiyatı oldukça yüksektir ve çalışmak için gayet yüksek standartlı bir makina ister.

IBM firmasının geliştirdiği OS/2 de NTye benzer şekilde çokgörevli işletim sistemi olup fiyat/performans oranı açısından makul sayılabilecek bir işletim sistemi olarak göze çarpar.

Linux, herkese göre bir işletim sistemi değildir. UNIXi benimsemeyen bir kullanıcıdan Linuxu kullanmasını bekleyemezsiniz. İnternetin kendisi UNIX tabanlı olduğu için Linux bu alanda yukarıda sözü geçen sistemlerden daha avantajlı bir duruma gelir. Dağıtımı tek firmayla sabit olmadığı için geliştirilme aşamasında dünyanın dört bir yanından katkı ve destek gelir. UNIXe belirli bir standart getirilmesi için yapılan çalışmalara uyan Linux, POSIX standardını destekler.

RedHat, Caldera gibi çeşitli Linux sürümleri da piyasada satılmakta, çok zengin bir döküman ve arşiv kaynağı ile kullanıcılara sunulmaktadır. 80x86 tabanlı işlemciler üzerinde kurulabilen ve İnternet üzerinde bedava dağıtılan diğer işletim sistemlerinden birisi FreeBSDdir. FreeBSD, bir grup programcı tarafından BSD standartını 80x86 bilgisayarlara taşımak üzere geliştirilmiştir ve Linux ile büyük benzerlikleri bulunur.

Linux işletim sisteminin güvenilir ve sağlam yapısından haberdar olmayan, hatta bu gerçeği bilerek ücretli sistemlerdem medet uman kişiler vardır. Sabit fikirli olmadan önce bu sistem hakkında daha fazla verinin dağıtılması, kullanıcıların bilinçlendirilmesi gereklidir. Bu da ancak, Linuxun yapabildiklerini göstermekle olabilir.

1.6 Türkiyede ve Dünyada Linux
Eğer Linuxu sever ve bu sistemin yaygınlaşmasında, bihaber kullanıcılara tanıtımında öncülük etmek isterseniz, bu bölüm tam size göredir.

Henüz tüzel kişiliği olmayan Türkiye Linux Kullanıcıları Grubu sayfası Türkiyede Linux çalışmaları için iyi bir başlangıç noktasıdır. Türkçe ve İngilizce Türkiyedeki en geniş kapsamlı Linux sunucusunun genişlemesinde yeni fikirlere, çözüm önerilerine ihtiyaç vardır. Bu da ancak Linux seven bir kitlenin varlığıyla mümkündür.

Dünyada ve Türkiyede İnternet Servis Sağlayıcıları (İSS) Linuxu uzunca bir süredir ticari olarak kullanıyorlar. Uygulama yazılımları da bu yönde kullanıcıların hizmetine sunuluyor. Fakat güvenlik sorunları nedeniyle Linux kullanan servis sağlayıcıları, müşterilerini bu hizmetten yoksun tutuyorlar. Açık sistem kavramının yaygınlaşması da bu sebepten dolayı sekteye uğruyor. http://www.10mb.com/linux/ adresinde, ticari uygulama yazılımlarına destek veren bir proje yeralmaktadır.

SSC (Specialized Systems Consultants - http://www.scc.com), ``Linux Journal adında bir dergiyi başarıyla dağıtıyor. Tirajı onbinleri bulan bu aylık dergide bu işletim sistemini aktif kullanan herkes için, her konuda, her düzeyde makale bulmak mümkündür.

1.7 Linux ve Donanım Desteği
Bir işletim sisteminin tüm kartları tanıması, tüm sabit disklerle çalışabilmesi, tüm giriş/çıkış kartlarıyla uyum içinde çalışması mümkün değildir. Bu konuda çok iddalı olan tak-çalıştır sistemine sahip Windows95 bile bazen yetersiz kalabilmekte. Linux da piyasada yeralan hemen hemen bütün donanımlarla birlikte çalışabilir.

Linux, üzerinde matematiksel işlemci olsun veya olmasın Intel 386SX/DX, 486SX/DX/SX2/DX2/DX4, Pentium ve PentiumPro işlemcilerde sorunsuz çalışır. Bunlarla beraber (Cyrix 486 tabanlı işlemcilerinde nadiren sorun çıkarsa da) AMD, Cyrix gibi firmaların işlemcileri de Linux tarafından desteklenir. Matematik işlemcisi olmayan bilgisayarlarda Linuxun beyni sayılan çekirdek, matematik işlemcisine gerek duyulan kod parçalarında bu işlemciyi emüle edebilir. Burada belirtilen IBM uyumlu PCler dışında ALPHA, PowerPC, MIPS, farklı Sparc modelleri, PA-RISC gibi birçok farklı işlemciye de başarılı bir şekilde taşınmıştır.

Linux, kişisel bilgisayarlarda kullanılan ISA, VLB (Vesa Local Bus - yerel veri yolu), EISA, MCA (IBM Microchannel) veya PCI veriyolu mimarisi ile çalışabilirler.

Linux, SMP (symmetric multi processor) olarak da bilinen birden fazla işlemcili bilgisayarlar üzerinde de çalışabilir ve birden fazla işlemciyi en verimli şekilde kullanır.

Kişisel bilgisayarların kullandığı 80x86 tabanlı işlemciler dışında, taşınan ve sorunsuzca çalıştığı bilinen işlemciler ve bilgisayarlar ile konu hakkında daha fazla bilgi alınabilecek İnternet adresleri aşağıda verilmiştir.

Linux/68000
Linux/MIPS
Linux/PowerPC
Linux for Acorn
MacLinux
Compaq Deskpro XL
IBM PS/2 MCA systems
Compaq Contura Aero
IBM ThinkPad
Linux/MIPS
Linux/Alpha
HP PA-RISC
SPARC/Linux
Linux, metin modu kullanırken tüm ekran kartlarıyla (Hercules, CGA, EGA, CGA, IBM monokrom) sorunsuz çalışır. X Window çalıştırmak isterseniz hızlandırılmış bir SVGA kart önerilir. Sürekli yenileri eklense de aşağıda şu anda desteklenen kartların tam listesi vardır.

Hercules mono
VGA / VGA Mono
EGA
ARK Logic ARK1000PV/2000PV, ARK1000PV/VL
ATI VGA Wonder, ATI Mach32, ATI Mach8, ATI Mach64
Cirrus 542x, 543x, 62x5, 6420/6440
OAK OTI-037/67/77/87
Trident TVGA8900, TVGA8800, TVGA9xxx
Tseng ET3000/ET4000/W32, ET4000/W32/W32i/W32p, ET4000AX
IBM 8514/A, IBM XGA, XGA-II
IIT AGX-010/014/015/016 (16 bpp)
Oak OTI-087, OTI-067, OTI-077
S3 911, 924, 801, 805, 928, 864, 964, Trio32, Trio64, 868, 968
Weitek P9000 (16/32 bpp)
Diamond Viper VLB/PCI
Orchid P9000
Western Digital PVGA1, WD90C00/10/11/24/30/31/33
Avance Logic AL2101/2228/2301/2302/2308/2401
Chips & Technologies 65520/65530/65540/65545
Compaq AVGA
Genoa GVGA
MCGA (320x200)
MX MX68000/MX68010
NCR 77C22, 77C22E, 77C22E+
RealTek RTG3106
Video 7 / Headland Technologies HT216-32
Western Digital/Paradise PVGA1, WD90C00/10/11/24/30/31/33
Hyundai HGC-1280
Sigma LaserView PLUS
Sabit Diskler ve Sabit Disk Denetleyicileri
Linux, standart IDE, bazı ESDI, hemen hemen tüm SCSI ve nadiren kullanılsa da MFM ve RLL denetleyicilerini desteklerler. Aslında Linux çalıştırmak için sabit diske gerek yoktur. Ağ üzerinden, Bootp protokolü yardımıyla Linux yüklü başka bir bilgisayarın kaynaklarını kullanmak mümkündür. Sabit disk denetleyiciniz en az 16 bit olmalıdır. Genellikle MS-DOS altında sorunsuz çalışan her sabit diski Linux da görebilir.

Sabit disk üzerinde Linux için bir miktar yer ayırmalısınız. Birden fazla disk de kullanabilirsiniz, Linux her diski ayrı bir dizin altından erişebilir. Bu konuda daha geniş bilgiyi Linux kurulumu bölümünde bulabilirsiniz.

Sabit diskler, denetleyicileri desteklendiği sürece Linux altında kullanılabilirler. Artık neredeyse tüm CD-ROMlar SCSI denetleyicilerle çalışıyorlar. Bir SCSI denetleyiciniz varsa makinanız CD-ROMu da tanıyacaktır. Linux, CD-ROMların standart iso9660 dosya sistemini de tanır.

Desteklenenen kartlar,

AMI Fast Disk VLB/EISA
Adaptec AVA-1505/1515, AHA-1510/152x, AHA-154x, AHA-174x, AHA-274x, AHA-2940/3940, ACB-40xx
Always IN2000
BusLogic (ISA/EISA/VLB/PCI)
DPT PM2001, PM2012A (EATA-PIO)
DTC 329x (EISA) (Adaptec 154x compatible)
Future Domain TMC-16x0, TMC-3260 (PCI), TMC-8xx, TMC-950
Media Vision Pro Audio Spectrum 16 SCSI (ISA)
NCR 5380 generic, 53c400, 53c406a, 53c7x0, 53c8x0 (PCI)
Qlogic / Control Concepts SCSI/IDE (FAS408) (ISA/VLB)
Seagate ST-01/ST-02 (ISA)
SoundBlaster 16 SCSI-2 (ISA)
Trantor T128/T128F/T228 (ISA)
UltraStor 14F (ISA), 24F (EISA), 34F (VLB)
Western Digital WD7000 SCSI
AMD AM53C974, AM79C974 (PCI)
Adaptec SCSI-MFM/RLL bridgeboard
Iomega PC2/2B
Qlogic (ISP1020) (PCI)
Ricoh GSI-8
Ethernet Kartları
Piyasada çok çeşitli ethernet kartları vardır. Genellikle yaygın olarak kullanılanlar 3Com veya NE2000 uyumlulardır. Aşağıda desteklenen ethernet kartların bir listesi yeralmaktadır. PCMCIA, Tokenring, ISDN, AX25 kartlarının uyumlu olanları, çok nadir kullanıldıkları için burada belirtilmeyecektir.

3Com 3C501, 3Com 3C503, 3C505, 3C507, 3C509/3C509B (ISA) / 3C579 (EISA)
AMD LANCE (79C960) / PCnet-ISA/PCI (AT1500, HP J2405A,
NE1500, NE2100, NE2000, NE1000
AT&T GIS WaveLAN
Allied Telesis AT1700
Ansel Communications AC3200 EISA
Apricot Xen-II
Cabletron E21xx
DEC DE425 (EISA) / DE434/DE435 (PCI), DEC DEPCA
HP PCLAN 27245, 27247, 27252A, 10/100VG PCLAN
Intel EtherExpress, EtherExpress Pro
New Media Ethernet
Racal-Interlan NI5210, NI6510
PureData PDUC8028, PDI8023
SEEQ 8005
SMC Ultra
Schneider & Koch G16
Western Digital WD80x3
Zenith Z-Note / IBM ThinkPad 300 built-in adapter
Ses Kartları
Linux üzerinde hemen her türlü ses kartı desteği var. SoundBlaster16 ses kartlarının üzerinde ASP çipi veya 4.11 ve 4.12 DSP (digital signal processor - sayısal ses işleyici) bulunanları Linux üzerinde kullanamazsınız.

Desteklenen ses kartları,

6850 UART MIDI
Adlib (OPL2)
Audio Excell DSP16
Aztech Sound Galaxy NX Pro
Crystal CS4232
CHO-PSS (Orchid SoundWave32, Cardinal DSP16)
Ensoniq SoundScape
AWE 32
Gravis Ultrasound, Gravis Ultrasound MAX
Logitech SoundMan Games, Logitech SoundMan Wave
Logitech SoundMan 16 (PAS-16 uyumlu)
MPU-401 MIDI
MediaTriX AudioTriX Pro
Media Vision Premium 3D (Jazz16), Pro Sonic 16 (Jazz), Pro Audio Spectrum 16
Microsoft Sound System (AD1848)
OAK OTI-601D cards (Mozart)
OPTi 82C928/82C929 cards (MAD16/MAD16 Pro)
Sound Blaster, Sound Blaster Pro, Sound Blaster 16
Turtle Beach Wavefront cards (Maui, Tropez)
Wave Blaster
Fare:
Linux, Microsoft serial mouse, Mouse Systems serial mouse, Logitech Mouseman serial mouse, Logitech serial mouse, ATI XL Inport busmouse, Microsoft busmouse, Logitech busmouse ve PS/2 mouse destekler.

Genellikle kullanacağınız farenin türü Microsoft ya da Mouse Systems serial mouse olacaktır.

Modem, Yazıcı ve Oyun Çubuğu
Hem internal (kasa içine takılan) hem de external (kasanın dışında kalan) tüm modemler Linux tarafından desteklenir. Aynı şekilde paralel veya seri porta takılan her yazıcı ve çizici desteklenir. İsterseniz bunları yerel bir ağ üzerinden birden fazla makinaya paylaştırabilirsiniz. Linux altında lpr yazılımı, yazıcılara erişimi sağlamak için kullanılır.

Oyun çubukları için sürücüler ister doğrudan çekirdeğe eklenebilir, istenirse de modül olarak derlenebilir.

Aşağıda, Linuxun desteklediği giriş/çıkış kartlarının geniş bir listesi vardır.

AST FourPort and clones
Accent Async-4
Arnet Multiport-8
Bell Technologies HUB6
Boca BB-1004, 1008, BB-2016, IO/AT66, IO 2by4
Computone ValuePort
DigiBoard PC/X (4, 8, 16 port)
Comtrol Hostess 550 (4, 8 port)
PC-COMM 4-port (4 port)
SIIG I/O Expander 4S (4 port, uses 4 IRQs)
STB 4-COM (4 port)
Twincom ACI/550
Usenet Serial Board II (4 port)
Cyclades Cyclom-8Y/16Y (8, 16 port) (ISA/PCI)
Stallion EasyIO, EasyConnection 8/32, 8/64
1.8 Linux Avantaj ve Dezavantajları
Pekçok insan, ``neden Linux? diye sorabilir. Belki de cevap önce kullanıcının kendini tanıması ile bulunabilir. Değişik yerlerde Linux kullanılması ve bunun sonuçları hakkında gözlemlediklerimizin ışığı altında çok kabaca: Eğer, bilgisayarla ilişkiniz belirli paket programlara dayanıyorsa, bilgisayar kullanmak için bilgisayar konusunda bilgi sahibi olmanız gerektiğine inanmıyorsanız, bilgisayar ile uğraşmak hoşunuza gitmiyorsa, sorunlarınızı kendi başınıza çözmeyi denemekten hoşlanmıyorsanız, bir sorun çıktığında para vererek de olsa bu sorununuzu birisi aracılığı ile çözmek istiyorsanız Linux kesinlikle size göre değil. Ama eğer, bilgisayarınızla ilgilenmekten hoşlanıyorsanız, bilgisayarda çıkan problemlerle uğraşmak hoşunuza gidiyorsa, diğer işletim sistemlerinin sizi sıktığına ve sınırladığına inanıyorsanız, donanımınızdan daha çok performans istiyorsanız, UNIX işletim sistemi ile çalışmayı seviyorsanız Linux size göre olabilir.

Avantajları
UNIX işletim sistemine sahip bir bilgisayar kullanmak istiyorsanız ve bu işletim sisteminde platforma bağımlı bir yazılım kullanmıyorsanız, Linux ideal bir çözümdür.

Linux ücretsizder. Sadece işletim sisteminin maliyeti açısından değil, verdiği performans için ihtiyaç duyduğu donanım açısından da çok ucuzdur. Üstüne üstlük çok kullanılan ve bol yedek parçası bulunan bir platform altında çalıştığı için belirli bir Linux sisteminin performansını artırmak için yapılması gereken yatırım başka bir UNIX iş istasyonunu aynı oranda geliştirmek için gereken yatırıma göre çok düşüktür. Herhangi bir Sun bilgisayarın hafizasını iki katına çıkarmak için harcanacak para ile bir Linux-PCnin hafizasını iki katına çıkarmak için harcanması gereken parayı kıyaslamayı deneyin. Fakat şirketler bazında Linuxun bedava bir işletim sistemi olması genelde gözardı edilir.

Bir Linux makine bu sayede sadece işletim sistemi açısından değil donanım olarak da ucuza gelmektedir.

Linux hızla geliştirilmektedir. Bu gelişimin en büyük yararı, eksikliklerin kullanıcıların talepleri ve çabaları sonucunda hızla giderilmesidir. Linux diğer tüm işletim sistemlerine göre belirli bir donanım için daha hızlı destek verebilmektedir.

Linux çok değişik donanımlar ve servisler icin özel olarak hazırlanır. İşletim sisteminin temelini oluşturan çekirdek kullanıcı tarafından da derlenebildiği için, bu derleme sırasında sadece kullanım amacına yönelik alt programlarla donatılır. Bu genel olarak daha sistemin performansını artırmaktadır. (Örnek olarak SCSI donanımınız yoksa çekirdeğinizde SCSI ile ilgili alt programlara yer vermezsiniz)

Dezavantajları
Linuxun serbestçe dağıtılıyor olması bir çok kişinin bu işletim sistemine güvenmemesine yol açmıştır. ``Ciddi bir şey olsa, bedava olmazdı ! kanısı oldukça yaygındır.

Linuxun sürekli gelişiyor olması en büyük dezavantajlarından biridir. Henüz tüm ihtiyaçlara cevap vermemesi (hala Windows95 programlarını çalıştıramıyor ), gelişimin bazı aşamalarında topyekün değişiklikler yapılması, gelişimi takip etmek için bazen sürekli yenileme yapılması, birçok kullanıcının bu işletim sistemine güvenmemesine yol açmıştır.

Linux herhangi bir ticari destek altında gelişmemektedir. Bunun en büyük yararı işletim sisteminin ticari kaygılar taşımamasıdır. Ancak bunun yanı sıra diğer işletim sistemlerinde olan teknik destek, dağıtım ve dökümantasyon alanlarında eksikleri vardır. Özellikle teknik destek eksikliği, anahtar teslim çözümlere alışmış kullanıcıların çokluğu Linux kullanıcılarının sayısını sınırlayan temel faktörler olmuşlardır.

Bu konudaki eksikliği gidermek için çeşitli gönüllü kuruluşlar, kullanıcı grupları oluşmuştur. Zamanla Linux teknik desteği ticari bir konu olarak ortaya çıkmıştır. Şu anda tüm dünyada Linux çözümleri konusunda teknik destek veren danışmanlar bulunmaktadır. Bu kişiler ve kurumlar hakkında ayrıntılı bilgiyi Consultants-HOWTO dökümanında bulabilirsiniz.

Linux işletim sistemini geliştirenlerin ticari kaygılar gütmemeleri bazı ticari yazılımların Linux üzerinde gelişmemesine sebep olmuştur. Linux üzerinde belirli konularda diğer işletim sistemlerinden aşağı kalmayan yazılımlar bulunmasına rağmen, belirli bazı konularda çok zayıf kalmıştır. ( Mesela oyunlar )

Linux üzerinde yer alan çözümlerin hepsi, basit kullanıcıların rahatça kullanabileceği düzeyde değildir. Bazı çözümler kullanıcıların belirli bir yazılım ve işletim sistemi bilgisine sahip olmalarını gerektirmektedir.

Sonuç olarak: Biz uzun süre Linux kullandık ve çok zevk aldık. Diğer işletim sistemleri ile yapamadığımız birçok uygulamayı Linux sayesinde gerçekleştirdik. Belirli bir donanım ile gösterdiği performansın bir çok işletim sisteminin üzerinde olduğunu gördük. Ne var ki her uygulama için Linuxun ideal bir çözüm olarak ortaya çıkmadığının bilincinde olmak gerekir. Belki ilerleyen senelerde üzerinde geliştirilen uygulama yazılımları daha çok kişiyi başka işletim sistemleri kullanmaktan vazgeçirecektir.
 
2. Linux Kurulumu ve Başlangıç
Linux hakkında ilk dökü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. Hafıza olarak en az 4 Mbyte RAM (yoğun işlemler için 12 veya 16) tavsiye edilmektedir. Teknik olarak 2 Mbyte ile de çalışabilmesi gerekir. Pratik olarak bugün piyasada bulunan hemen hemen her IBM-PC uyumlu kişisel bilgisayarda Linux çalışabilmektedir.

8 Mbyte RAMa 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ğlayacaklardı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,

1. 1. 1. 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, zira bu hangi yazılımları yükleyeceğinize ve ne kadar kullanıcı alanı istediğinize çok bağlıdır. Yine de kaba rakamlar vermek gerekirse, 40 Mbytelı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 kabaca 250 Mbyte 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 Linuxla çalışmak için gerekecek tüm yazılımları ve paketleri içerir, bu yazılımların yüklenmesi için bir yükleme yazılımı sağlar.

Şu an mevcut çok çeşitli Linux dağıtımları mevcuttur. Bu dağıtımlar içerdikleri paketler ve yükleniş şekilleri açısından bazı ufak tefek 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 halinde hazırlanır. (her biri bir 3.5" lik diskete sığabilecek seri dizinler şeklinde). Her konu ile ilgili bir seri disket bulunur (örnek olarak n serisi ağ uygulamaları için n1,n2,n3... şeklinde)

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

Slackware
Belki de en yaygın olarak yer alan dağıtım Slackware dağıtımıdır. Bu döküman boyunca anlatılacak olan komutlar ve sistem özellikleri Slackware dağıtımına göre düzenlenmiştir. Diğer dağıtımlar için anlatılan işlemlerin karşılıkları için dağıtım hakkındaki açıklamalara başvurabilirsiniz. Slackware dağıtımlarının temin edilebileceği yerler,

Slackware dağıtıcısı Walnut Creek
Orjinal Slackware FTP arşivi

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

İnternet
Tüm Linux dağıtımları Internet ü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 Mbyte civarında yer kaplamaktadır. Internet aracı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 Internet 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 çok çeşitli başka uygulamalar mevcuttur. (Örnek olarak Netscape hiç bir Linux dağıtımında bulunmamaktadır). Bu ek yazılımların birçoğu İnternet üzerinde FTP arşivlerinde bulunmaktadırlar. Kitabın sonundaki ek, Linux uygulama yazılımlarının nerede bulunduğu hakkında biraz bilgi veriyor.

CD-ROM üzerindeki dağıtımlarda, dağıtımların yanısıra bir çok tanınmış FTP arşivinde yer alan yazılımlar ve çeşitli dökümanlarda yer alır. İnternet bağlantısı olan bir kurumda çalışmayan (veya bu tür bir kuruma erişimi bulunmayan) birisi için bir CD-ROM çok iyi bir çözümdü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.

2.3 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 disk 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, tavsiye edilmese 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 Linuxa ö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 ihtimalle sabit diskinizin tümünü kullandığınız işletim sistemi için ayrımış 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 olarak ayrılır (extended partition) ve bu bölüm üzerinde mantıksal bölümler ayrılır (logical partitions).

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 (Çok iş )

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 bilgisayaranı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ığı, hafıza 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 Mbyte sınırını geçtiği günlerden kalmaktadır. Linuxun kaplayacağı alan, hangi paketleri kullanacağınıza çok bağlıdır. Kabaca her disketin 2-3 Mbyte 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 Mbyte 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 hafızanın 2 katının biraz fazlası olarak kabul etmektedir. Pratikte 10-60 Mbyte 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ı hafızadan diske taşır. Ancak, takas işlemi genelde yavaş olduğundan gerçek fiziksel hafızanın yerini dolduramaz. Ama çok fazla hafıza isteyen uygulamalar (X Window System gibi) eğer yeteri kadar fiziksel hafızanız yoksa takas alanına bel bağlar.

Tercih olarak, 1.2 Gbytelık bir disk üzerinde,

Linux nedir denemek isteyen bir kişi için

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

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

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

2.4 Bilgisayarin 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ı ullanıyorsanız, büyük ihtimal disketler CD-ROM ile beraber geleceklerdir. Eğer dağıtımı İnternetten alıyorsanız bu disketler 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, ne var ki tüm donanım desteğini tek bir çekirdekte toplamak çekirdeğin gereksiz yere büyümesine ve hantallaşmasına neden olacaktı (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). 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, Linuxu 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ş birtakı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-ROMlardan 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-HOWTOdökü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 (PCnin açılma 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 çekirdeğin sabit diskinizi ve ağ bağlantısı kullanacaksanız ethernet kartınızı doğru olarak tanımış olması gerekecektir.

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.

Örnek FDISK Çalışması
Bu örnek içerisinde 1 Gbytelık SCSI sabit diske 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 Mbytelık bir kullanıcı alanı tanımlamış ve geri kalan alanı LINUX için ayırmıştı. Düşünülen dağılım:

400 Mbyte DOS
250 Mbyte LINUX işletim sistemi
60 Mbyte 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ıyoruz.

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/sda1 * 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/sda1, yani ilk SCSI 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)
p
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 Mbytelı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/sda: 34 heads, 61 sectors, 1017 cylinders
Units = cylinders of 2074 * 512 bytes

Device Boot Begin Start End Blocks Id System
/dev/sda1 * 1 1 395 409584+ 6 DOS 16-bit >=32M
/dev/sda2 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 Mbytelık 3. temel bölümü tanımlayalım:


Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
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/sda: 34 heads, 61 sectors, 1017 cylinders
Units = cylinders of 2074 * 512 bytes

Device Boot Begin Start End Blocks Id System
/dev/sda1 * 1 1 395 409584+ 6 DOS 16-bit >=32M
/dev/sda2 396 396 642 256139 83 Linux native
/dev/sda3 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/sda: 34 heads, 61 sectors, 1017 cylinders
Units = cylinders of 2074 * 512 bytes

Device Boot Begin Start End Blocks Id System
/dev/sda1 * 1 1 395 409584+ 6 DOS 16-bit >=32M
/dev/sda2 396 396 642 256139 83 Linux native
/dev/sda3 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)
p
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/sda: 34 heads, 61 sectors, 1017 cylinders
Units = cylinders of 2074 * 512 bytes

Device Boot Begin Start End Blocks Id System
/dev/sda1 * 1 1 395 409584+ 6 DOS 16-bit >=32M
/dev/sda2 396 396 642 256139 83 Linux native
/dev/sda3 643 643 702 62220 82 Linux swap
/dev/sda4 703 703 1017 326655 83 Linux native
Bu örnekte boyut Mbyte 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 Linuxun 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 DOSun kullandığı BIOSun bir sınırlamasıdır. Yeni BIOSlar bu sınırlamadan kurtulmak için LBA adı verilen bir yöntem kullanırlar. Bu yöntemin temelinde BIOSta 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 64e 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.

· · · 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ü : Linuxun hangi bölüme yükleneceğini belirler. Bu menüye girildiği zaman Linuxun 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
o o o 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.

o o o 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.

o o o 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önlendiricinin (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.

o o o 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.

o o o 5 Numaralı seçenek ise CD-ROMdan 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)
1. 1. 1. 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.

2. 2. 2. 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.

3. 3. 3. 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.

4. 4. 4. E Serisi (8 disket) : EMACS editörü.

5. 5. 5. 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

6. 6. 6. /usr/doc
7. 7. 7. /usr/doc/faq
8. 8. 8. /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.

9. 9. 9. 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.

10. 10. 10. 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.

11. 11. 11. 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)

12. 12. 12. 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)

13. 13. 13. 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.

14. 14. 14. 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.

15. 15. 15. XD Serisi (3 disket) : Xserver geliştirmek için kütüphaneler ve uygulama yazılımları

16. 16. 16. 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.

17. 17. 17. 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 klingonlar 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-ROMunda 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, mouse, 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, MBRyi 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çenekte 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 LILOnun 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, dont 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ıredici bir kelime isteyecektir. LILO yükleme anında sizden komut beklerken bu kelimeye göre işletim sistemi yükleyecetir.

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/hda1in 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:loadlinloadlin c:loadlinzimage 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:LOADLINIMAGE 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 COS.

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 hafıza 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 Sistem Yönetimi bölümü altında bulabilirsiniz. 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ılara makina ismi de değiştirilebilir.

Bunların dışında konfigürasyon gerektiren birçok durum vardır. Bunlar için NET-3 HOWTO dosyasını iyice okumalısınız.

2.5 Sorun Çıktığında
Tabii ki temennimiz 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 dökü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 esanasında takılması büyük ölçüde çekirdeğin donanımı doğru belirleyememesinden çıkar. Mesela 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 vermek.

Ç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 Linuxtan kaynaklanmayabilir, donanım ile ilgili sorunlar da yaşayabilirsiniz. Rasgele davranışlar, durup dururken çakılmalar, 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 RAMlar yatabilir.

2.6 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, dökümantasyon olmadan veya hatırlı bir arkadaşın yardımı olmaksızın gerçekten zordur.

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

Önceki bölümde 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 ekrana basılmaz.

Kullanıcı isimleri veya şifrelerde büyük ve küçük harfler arasında fark vardır. Root, root ve ROOT, farklı kullanıcılara işaret 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-DOSta 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 roota 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. Şifre seçimi için Linux İşletim Sisteminde Güvenlik konu başlığına göz gezdirin.

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.

2.7 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. UNIXte 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 kaçınmanızı da sağlayacaktır.

· · · UNIXte (ve Linuxta) 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.

· · · UNIXte komutlara seçenek 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) öperatorleri 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:
o o o * 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.

o o o ? tek bir karakter yerine geçer. Örneğin ?? adı iki karakterden oluşan bütün dosyalar anlamına gelir.

o o o [] 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.

2.8 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ı DOSa ç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 UNIXte 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
3. 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 herbirinin 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 yazın.

$ 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. Bu yazının hazırlandığı 1997 Temmuz ayı başlarında Bash 2.0.1 sürümü çıkmıştı.

csh (C shell): Berkeley Üniversitesinde geliştirilen cshin 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.

3.1 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.

3.2 Standart Girdi, Çıktı ve Hata
Linuxta, programın ekrana yazılan bilgiyi 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 olarak da bilinen bu işlem UNIX altında (DOSta 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. Aşağıda, çekirdek derlemek için sürekli kullandığım program yeralıyor. 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, makinanın 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ı biraraya 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 dosyayını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ügü 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 UNIXin 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 editor 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.


3.3 Çok görevlilik
UNIXin 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 arkaplanda 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 makinasındaki 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).

4. Dosya ve Dizin İşlemleri
Tıpkı MS-DOSta olduğu gibi Linux dosya yapısının da hiyerarşik bir yapıya sahip olduğunu söylemiştik. Temel dosya bilgisi önceki konularda anlatıldığından burada sadece dosya ve dizinlerle ilgili özelliklere değinilecektir.

4.1 Erişim Hakları
Erişim hakları, Linux dosya sistemi güvenliğinin belkemiğini oluşturur. Her dosyaya ayrı verilebilen erişim izinleri sayesinde çok daha rahat bir sistem yönetimi gerçekleştirilebilir. Bu, konuya sadece sistem görevlisi tarafından yaklaşıldığı zaman çıkartılabilecek bir sonuçtur. Kullanıcı bazında erişim hakları bazen daha da anlamlı olabilir. Yanlış kullanıldığında hoş olmayan süprizlere yol açabilir. Linux altında üç çeşit erişim hakkı vardır :

· · · Okuma izni : Dosyanın okuma izni varsa içeriği görülebilir, dizinin okuma izni varsa içerdiği dosyaların listesi alınabilir.

· · · Yazma izni : Dosyanın yazma izni varsa dosyayı değiştirebilir veya silebilirsiniz. Dizine yazma izni verildiğinde dizin altındaki dosyalar yazılabilir veya silinebilir.

Çalıştırma izni : Dosyayı çalıştırma hakkını verir.
Bir dosya veya dizin ilk yaratıldığı anda Linux tarafından öntanımlı bazı izinler verilir. Genellikle bu izin çalıştırma ve okumadır. Dosyanın oluşma anında verilen izini değiştirmek için erişim yetki kalıbı olarak da bilinen umask komutu kullanılır. Daha fazla bilgi için komuta ait man dosyasına bakın.

Erişim haklarının dışında bir dosyanın üç izin düzeyi daha vardır. Bunlar, dosyanın sahibi, dosyanın grubu ve diğer kullanıcılardır. Dosyanın sahibi, o dosyayı oluşturan kişidir. Her kullanıcının bir grubu da olduğu için, dosya oluşturulurken kullanıcı hangi grupta ise dosya da o gruba ait olacaktır. Dosyanın sahibi olmayan ve grubu da dosyanın grubuyla uyuşmayan sistemdeki kullanıcılar ``diğer sınıfına girerler.


4.2 Dosyanın Sahibinin ve Grubunun Değiştirilmesi
Bir dosyanın sahibini sadece sistemdeki root kullanıcı değiştirebilme yetkisine sahiptir. Dosya sahibinin değiştirilmesi için chown komutu kullanılabilir. Yukarıdaki dosyanın sahibini ozgur isimli kullanıcı yapalım.

# chown ozgur deneme
Dosyanın yeni hali şöyle olur :

-rwxr-xr-x 2 ozgur users 182 Feb 12 03:58 deneme
chgrp komutu yardımıyla da dosyanın grubunu değiştirilebilir. Yukarıdaki dosyanın grubunu www yapmak için

# chgrp www deneme
komutu kullanılabilir. chown komutu, dosyanın hem kullanıcısını, hem de grubunu değiştirme özelliğine sahiptir. chown komutundan sonra kullanıcı ve grup isimlerini aralarında bir nokta kalacak şekilde yazın.

$ chown ozgur.www deneme
$ ls -l deneme
-rwxr-xr-x 2 ozgur www 182 Feb 12 03:58 deneme
4.3 Diğer Dosya Sistemlerinin Kullanılması
Bir Linux işletim sisteminde dosyaların ve dizinlerin herbirisi sabit disk, CDROM veya diğer bilgi saklamaya yarayan cihazların birer parçası olan "dosya sistemlerinde" tutulur. Linuxun desteklediği pek çok dosya sistemi vardır ve bunların her birisinin veri depolarken kullandıkları yöntem birbirinden farklıdır.

Linuxta her dosya sistemi farklı bir dizinde tutulur ve bu dizinlerin bilgisi /etc/fstab dosyasında yeralır. Açılış anında bu dosyada hangi dosya sistemlerinin hangi dizinler altına yerleştirileceği okunur ve buna göre makina açılır. Linux, kendisi için özel olarak geliştirilen ext2 dosya sistemini kullanır.

Bir sistem görevlisi olarak çeşitli dosya sistemlerini tanımalı, bu dosya sistemleri üzerinde hata oluşması durumunda zararı en aza indirecek yolu bilmelisiniz. Bilgisayar başında geçireceğiniz zamanınızın büyük bir bölümünü dosya sistemleri üzerinde harcayacaksınız.

4.4 Sembolik Bağlantılar
Bazı durumlarda, bir dosyayı oluşturup bu dosyanın başka bir dosyayı işaret etmesi istenebilir. Genellikle sistem yöneticileri tarafından kullanılan sembolik bağlantı yardımıyla bir dosya veya dizin, bunlara karşılık gelen başka bir dosya veya dizin olarak gösterilir.

Aşağıda bir sembolik bağlantı örneği yeralıyor. Sistem görevlisi, /root dizini altındayken /usr/src/linux dizinine geçmek istiyor. /usr/src/linux dizinine işaret eden bir bağlantı kurmak için ln komutu kullanılır. -s parametresi, bu bağlantının sembolik olacağına işaret eder.

ln -s <nereye-baglanti-yapilacak> <hangi-isimle-yapilacak>
linux:~# ls -l
total 116
drwxr-xr-x 2 root root 1024 Feb 14 08:13 kernel
-rw-r--r-- 1 root root 115695 Sep 15 1994 lodlin15.zip
drwx------ 2 root root 1024 Jan 7 1980 mail
-rw-r--r-- 1 root root 0 Feb 15 08:14 typescript
linux:~# ln -s /usr/src/linux linux
linux:~# ls -l
total 116
drwxr-xr-x 2 root root 1024 Feb 14 08:13 kernel
-rw-r--r-- 1 root root 115695 Sep 15 1994 lodlin15.zip
drwx------ 2 root root 1024 Jan 7 1980 mail
lrwxrwxrwx 1 root root 9 Feb 15 08:14 linux -> /usr/src/linux
-rw-r--r-- 1 root root 0 Feb 15 08:14 typescript
Bu işlemden sonra kullanıcının /usr/src/linux dizinine geçmesi için cd linux" yazması yetecektir. Sembolik bağlantı dosyasını diğerlerinden ayıran, satırın en solundaki l karakteridir.

4.5 Dosya Arşivleme ve Sıkıştırma
Linux altında dosya arşivlenmesi ve sıkıştırılması neredeyse belirli ve standartlaşmış birkaç komut ile gerçekleştiriliyor. tar komutu yardımıyla istenilen dosyaları arşivleyebilir, bunların üzerine yenilerini ekleyebilir, istediğiniz zaman da tekrar açıp eski haline getirebilirsiniz. GNU gzip komutu ise dosyaların sıkıştırılması (zip) ve sıkıştırılmış dosyaların açılması (unzip) işlemlerini yapabiliyor. Fazla disk alanınız yoksa bu iki komut her zaman yardımınıza koşacaktır.

4.6 Dizin Tarama
Linux işletim sistemini ilk kurduğunuz anda, yüzlerce dizin altında binlerce dosyanız olacaktır. find komutu, bu dosyaların arasında tarama yapabilmek için geliştirilmiştir. Bu komutla sadece dosya isimlerine değil, dosyanın sahibi, erişim hakları, son erişim tarihi gibi verilere de ulaşmak mümkündür. find komutunun en sık kullanış şekli şudur :

find <dizin-ismi> -name <ne-aratiliyor>
dizin-ismi yerine taranacak olan dosyanın bulunduğu dizin ismi yazılır. -name parametresinden sonra ise aranan dosyanın ismini girin. Burada "*" ve "?" gibi joker karakterlerini de kullanabilirsiniz. (Bu gibi özel karakterler hakkında daha geniş bilgi Bash kabuğu konusu altında bulunabilir)

Aşağıda, find komutunun kullanımına ilişkin birkaç örnek yeralıyor.

$ find . -name "*.html"
(bulundugunuz dizinden itibaren sonu .html ile biten dosyalari arar)
$ find /home/halil -name "screen"
(/home/halil dizininden itibaren screen isimli dosyalari arar)
Bu komut, -type d parametresi yardımıyla sadece dizin isimleri arasında arama yapar.

$ find /usr/ -name "linux" -type d
find komutuna bir alternatif olan locate komutu ile dosyalar çok kısa bir sürede taranabiliyor. update komutu, her sabah belirli bir saatte sistemdeki tüm dosya ve dizin isimlerini bir veri tabanına yükler. Daha sonra bu dosyada yeralan belirli bir dosya veya dizin ismini locate ile arayabilirsiniz:

# locate pico
/usr/bin/pico
/usr/man/man1/pico.1.gz
Yukarıdaki komut ile içinde pico kelimesi geçen dosyaları bulduk.
 
4.7 mtools MSDOS Arabirimi
Linux altından, MS-DOS formatlı disketlere ulaşmayı kolaylaştıran paketin ismi mtools olarak biliniyor. Bu isim, paketin tüm komutlarının ilk harfinin "m" olmasından kaynaklanmış. Paketle birlikte gelen çeşitli yardımcı programlar sayesinde MS-DOS formatlı diskette yeralan dosyalar listelenebilir, silinebilir, disket formatlanabilir, hatta disketin kimliği değiştirilebilir.

Son çıkan mtools paketi, 2MB formatlı disketleri de tanıyabiliyor. Aşağıda, mtools paketinden çıkan bazı komutlar ve örnek kullanımları gösteriliyor.

mdir : disketin içeriğini görüntüler.

linux:~# mdir a:
Volume in drive A is SYSTEM_BT
Directory for A:/

IO SYS 40566 9-30-93 6:20a
MSDOS SYS 38138 9-30-93 6:20a
AUTOEXEC BAT 91 3-29-95 10:23a
NDD <DIR> 3-29-95 10:26a
CHKLIST MS 81 11-07-96 7:00p
VGA_45 <DIR> 3-29-95 10:28a
YARDIM <DIR> 3-29-95 10:17a
UTIL <DIR> 3-29-95 10:17a
VIRUS <DIR> 3-29-95 10:17a
9 File(s) 291328 bytes free
linux:~#
mcopy : Bir dosyayı Linuxtan diskete, disketten Linuxa aktarır.

linux:~# mcopy a:/autoexec.bat .
Copying AUTOEXEC.BAT
mdel : DOS dosyasını siler

mformat : Disketi formatlar.

mmd : Disket üzerinde dizin oluşturur.

MSDOS mtools arabirimi aynı zamanda VFAT tipi uzun dosya isimlerini de ekranda gösterebilir. Eğer dosya ismi, tek bir DOS ismi içine sığmıyorsa ve 8+3 kuralını bozuyorsa uygun bir kısa isim yaratılır.

Bunun yanında mtoolsun 2 Mblık disketleri okuyabilme özelliği de vardır. mtools paketinin konfigürasyon dosyası /etc/mtools.conftur. Bu dosyanın kullanımı için mtools(1) man dosyasından yararlanabilirsiniz.

5. Linux Sistem Yönetimi
Bir işletim sistemi, marka ve modeli ne olursa olsun bakım isteyen bir araçtır. Yapılacak küçük bir hata, veya hatayı gösteren bir işaretin gözardı edilmesi, zaten değerli olan zamanın boşa gitmesine neden olur. Linux da açık bir işletim sistemi olduğundan, sorumluluk sahibi sistem yöneticisi tarafından açık tutulduğu süre içinde verimli ve düzgün çalışması için gerekli özen gösterilmelidir. İnternet üzerinde üzerinde 500 kullanıcı olan , veya ftp.linux.org adresi gibi her hafta onbinlerce ziyaretçisi olup ağır sorumluluklar yüklenen Linux makinaları vardır. Bunların bir saat boyunca bile kapalı kalması, o anda bağlanmayı bekleyen pek çok kullanıcıyı mağdur durumda bırakacaktır.

Performansı etkileyen unsurların başında, önlemek pek de elinizde olmasa da elektrik kesintileri ve makinanın kapalı olduğu zamana denk gelen çekirdek değişimleridir. Bu tür donanımsal etkileri bir tarafa bırakırsak sistem yöneticisinin uyması gereken ve İnternet etikleri dediğimiz davranış kuralları vardır. Bu kurallara öncelikle sistem sorumlusu uymalı ve kullanıcıları da uymaya zorlamalıdır. Açık işletim sistemlerinin en büyük sorunlarından biri olan güvenlik konusuna sistem yöneticisi belirli günler zamanının bir bölümünü ayırmalıdır. Kullanıcılardan gelebilecek her türlü saldırı, sisteme onarılması çok zor olabilecek zararlar verebilir. Bunun için düzenli olarak dosyaları kontrol edin ve şüpheli durumlarda araştırma yapmaktan çekinmeyin.

Yukarıdaki tabloya bakarak işinizin zor olduğu kanısına kapılmayın, zira tüm bu denetleme mekanizmasını basitleştirebilirsiniz. Yapılacak tüm rutin işleri bir programa yazıp günün veya haftanın belirli saatlerinde bu programı çalıştırın ve olabilecek tüm hata mesajlarını bir dosyaya yazın. Bu dosyayı boş bir vakitte inceleyerek programın ne kadar düzgün çalıştığını gözlemleyebilirsiniz. Bunun yanında sistem yönetimini zevkli kılacak uygulama programları da vardır. Bu uygulama yazılımlarından bazıları o kadar gelişmiştir ki yapamadıkları tek iş yemek pişirmektir.

Yabancı kaynaklı yayınlardan Essential System Management (Frisch) ve Essential System Administration (OReilly) bu yönde tavsiye edilebilecek kitaplar. Piyasada bulunan Türkçe kitapların hiçbirisinde sistem yönetimine ciddi olarak değinilmediği için Türkçe yayın bulmak gayet zor.

5.1 Yetkili Kullanıcı ve Diğer Kullanıcılarla İlişkiler
Sistemin en büyük sorumlusu root şifresini bilen kullanıcıdır. Yukarıda da belirtildiği gibi bu şifrenin sorumluluğu büyüktür. Sistem yöneticisi, makinadaki kullanıcıların isteklerini ve şikayetlerini yönelttikleri tek merci durumundadır. Burada karşılıklı güven sözkonusudur, bunu da sistem görevlisi herkese hissettirmelidir. root kullanıcısının, başkalarından gözünüz gibi sakladığınız e-posta ve dosyaları sizden habersiz okuduğunu öğrenseydiniz tepkiniz ne olurdu ?

Root kullanıcısının sahibinin haberi olmaksızın sistem kullanıcılarına ait dosyaların yerini ve izinlerini değiştirmesi de uygun değildir. Zorda kalsanız bile, başkalarına ait hiçbir dosyayı silmeyin veya içeriğini değiştirmeyin. Belki de sıkışık bir durumdan kurtulmanın başka bir yolu vardır ?

Temel olarak zaman zaman kullanıcıları bilgilendirmek hoş bir davranış olarak karşılanır ve onların Linuxa olan ilgilerini perçinleyebilir. Örneğin /etc/motd ve /etc/issue dosyalarına periyodik olarak çekirdek değişimlerini ve eklenen uygulama programlarını haber veren birkaç satır iliştirebilirsiniz. Sistemde açılan her kullanıcı hesabına Linux Çokça Sorulan Sorular (Linux ÇSS), çeşitli UNIX belgeleri ve İnternet hakkında bilgilendirici dökümanlarının yeraldığı bir dizi e-posta da yollanabilir. Bu konuda yaratıcılığınızı konuşturun.

5.2 Sistem Kuralları
Kullanıcı hesabı açmadan önce birkaç basit kuralı tanımlayıp kullanıcılardan bunlara uymalarını istemelisiniz. En basitinden birkaç kural, bir hesabın birden fazla kişi ile kullanılmaması, sistemin güvenliğini zedeleyecek crack, cops, satan gibi programların diğer kullanıcıların zararına çalıştırılmaması ve sistem kaynaklarının sorumsuzca tüketilmemesi olarak sayılabilir.

Siz, en iyisi yukarıda yeralan kuralları birkaç madde halinde yazın ve sistemdeki herkesin bu maddelere uyacağını taahhüt eden imzasını alın. Tatsız durumların çıkmaması için de önlem almayı ihmal etmeyin.

5.3 Sistemin Yedeklenmesi
Makinanızın belirli aralıklarla yedeklenmesi, sistem güvenliğinin bir parçası sayılabilir. Donanımdan meydana gelen bir hata sonucu veya yanlışlıkla girilen bir komut, sistemi açılamaz hale getirebilir. Ancak yedekleme ile bu tür kullanıcı hatalarının önüne geçebilirsiniz. Yedekleme genellikle tüm sistem üzerinde yapılmaz. Sadece önemli sistem bilgilerini içeren dizinler yedekleme aşamasına girmelidir.

Yedekleme üniteleri olarak teyp, disket veya başka diskler kullanılabilir. Teypler, büyük miktarda yedekleme işlemleri için ön plana çıksa da birkaç dosyadan oluşan paketlerin korunması söz konusu olacaksa disketler daha pratiktir. İnternet üzerinde ise bağımsız bir makina, kendi rutin görevi dışında yerel ağda bulunan makinaların yedeklerini belirli gün ve saatlerde almak üzere programlanabilir.

Sistemde fazla miktarda kullanıcı varsa yedekleme işlemi ciddi bir düzene oturtulmalıdır. Sistemdeki hayati dosyalar örneğin her hafta, üzerinde kullanıcıların bulunmadığı akşam saatlerinde yedeklemeye sokulabilir.

Yedekleme için birkaç yol önerilebilir. Kullanışlı olması için yedeklemeyi yapan program, yedeklenen dosyalar arasındaki belirli bir dosyayı kolayca açabilmelidir. Bunun yanında, yedek bilginin de bozulması ihtimali vardır. Yedeğin içindeki tek baytın bozulması, bazı durumlarda tüm yedeğin çöp yığını haline gelmesine yol açabilir. Doğru yedekleme programının kullanılması bu anda önem kazanır.

Yedeklenecek olan dizinlerden en önemlileri, sistem konfigürasyon dosyalarının yeraldığı /etc, kullanıcı dizinlerinin yeraldığı /home, bazı X Window dosyalarının bulunduğu /usr/X11/lib/X11 dizini altındaki bazı dosya ve dizinler, /usr ve /usr/local dizinde yeralan bazı dizin ve dosyalar ile /root dizinidir. Şart olmasa da yedekleme için yeriniz bolsa /tmp dizinini de koyabilirsiniz.

Elektronik postaları ( /var/spool/mail) da unutmamak gerekir. Yoksa, çok meşhur olan "e-meyılım cyber-spacede kayboldu" cümlesini sıkça duymaya başlarsınız.

Aşağıdaki komut, /usr ve /home dizinlerini diskete yedekler.

$ tar cvMf /dev/fd0 /usr /home
tar komutununa verilen M parametresi yardımıyla bir disket dolduğu zaman başka bir diskete devam etmenizi sağlar. Dizinleri sıkıştırarak atmak için z seçeneğini vermek yeterli olur. Sıkıştırarak yedekleme disket ya da teypte yer kazandıracaktır, ancak hata olduğunda verilerin kurtarılması daha zor olacaktır. Açmak için

$ tar xf /dev/fd0
komutu yeterlidir. Sıkıştırılarak diskete atılan yedekler için açarken de "z" kullanın. Disketleri sıra ile numaralandırmayı ihmal etmeyin, yoksa bir disketten fazla yer kaplayan arşivleri açamazdınız.

Linuxta gerek SCSI, gerek floppy teyp desteği vardır. Özellikle çok veri yedekleyecekseniz teypler kaçınılmaz olur. Teyplere yedek alırken de yukarıdaki floppy orneklerindeki gibi tar kullanabilirsiniz. tarın yanı sıra sıkça kullanılan yedekleme komutları arasında dump ve restore, cpio ve dd gösterilebilir. Linuxta ilk SCSI teyp sürücüye /dev/st0, ikinciye /dev/st1 ... kullanarak, PClerde sıkça kullanılan ``floppy teyplere de /dev/ftape üzerinden erişebilirsiniz. Piyasada bulacağınız ortalama floppy teyplerin kapasiteleri 120M, 4mm SCSI teyplerin 4G, 8mm SCSI teyplerin ise 7G kadar olacaktır. Teybin kapasitesi kullandığınız sürücünün yeteneğine ve teybinizin uzunluğuna göre değişir. Örnek olarak, bütün sistemin tar kullanarak ilk SCSI teybe yedeklemek için,

# tar cvf /dev/st0 /
Bir TCP/IP ağınız varsa, ve birden fazla Linux ya da UNIX makinası kullanıyorsanız, tek bir teyp sürücü ile bütün makinalarınızın, hatta Windows makinalarınızın bile (Linuxun yardımıyla) yedeğini alabilirsiniz. Bu iş için amanda gibi daha özelleşmiş ve yedekleme işlemini otomatikleştiren bir program kullanabileceğiniz gibi, GNU tardan da yararlanabilirsiniz. Örneğin tar ile, cclub.metu.edu.tr makinasından, linux.org.tr makinasındaki floppy teybe yedek almak için,

cclub:~# tar cvf linux.org.tr:/dev/ftape /home
yukarıdaki komutun çalışması için linux.org.tr makinasının rootunun .rhosts dosyasında cclub makinasının rootuna izin verilmiş olması gerekir. Bu işlem güvenlik için sakıncalı olduğundan, bu iş için özel bir kullanıcı açmak gibi bir yönteme başvurulabilir. Örneğin linux.org.trda yedek adlı bir kullanıcı açtığımızı düşünelim. Bu durumda yukarıdaki komutu,

cclub:~# tar cvf [email protected]:/dev/ftape /home
şeklinde yazabiliriz.

5.4 Sistemin Güncellenmesi
Tekrar Linux yüklenecek olan makina üzerinde halihazırda Linux bulunmasının yararları olduğu gibi bazı sakıncaları vardır. İlk olarak yararlarına değinmek gerekirse, yapılacak aslında sadece işletim sisteminin bulunduğu bölümü değiştirmektir. Takas alanının ayrılması, kullanıcı alanının ayrılması gibi işlemler bu durumda önceden yapılmış oluyorlar. Ancak yeni işletim sisteminin yüklenmesinin bazı zararları da var.

Herşeyden önce çalıştığı bilinen bir işletim sistemi yenisi ile değiştiriliyor. Gerçekten bunu gerektirecek bir sebep olmadıkça bu tür güncellemelerden kaçınılması veya en aza indirilmesi gerekir. Yeni bir sistem, yeni bilinmeyenler ve az da olsa bile çalışmama riski getirecektir.

Eğer sistem üzerinde belirli hizmetler veriliyorsa o hizmetlere ilişkin verilerin bu güncelleme esnasında yok olmamasına dikkat edilmeli. Mesela makina bir web sunucu olarak kullanılıyorsa web dosyalarının bir şekilde yeni sisteme aktarılması gerekecektir .

Benzer bir şekilde makinaya ait tanımların (/etc) ve standart dağıtım dışında yüklenmiş paketlerin önceden yedeklenmesi gerekir. Yoksa herşeye yeniden başlamak gerekebilir.

Güncelleme için iki yöntem akla gelebilir, doğrudan yeni sistemi eskisinin üzerine bindirmek veya eskisini silerek yeniden yüklemek. Slackware sürümü için en sağlıklısı eski sistemi silmektir. Çünkü değişik dağıtımlarda dosya dağılımı farklılıklar göstere bilmektedir. Bunun sonucunda bazı dosyalar birden fazla yerde gözükebilmektedirler. Bir diğer sakınca ise setup yazılımının bazen bu durumda şaşırabilmesi ve hata vermesi. Bazı ticari Linux sürümleri (Red-Hat, Debian, Caldera gibi) eski sürümü silmeye gerek bırakmadan sistemi güncelleme özelliğine sahipler.

Güncellemeniz gerekebilecek dizinler, /var/spool/mail, kullanıcı dizinleri (root dahil), /usr altında gerekli dizinler,/var/adm/ ve /etc olarak sayılabilir. Bazen /etc içinde yer alan dosyaların yeri veya şekli değişmiş olabilir. Onun için en güvenlisi teker teker dosyaları inceleyip kopyalamaktır. Belirli dosyaları yeni sistemi kurduktan sonra hemen kopyalayabilirsiniz :

/etc/group
/etc/printcap
/etc/hosts ...
Daha önce shadow kullanmayan bir sistemden shadow sistemine geçiyorsanız, /etc/passwd ve /etc/shadow dosyalarında gerekli değişiklikleri yapmadan yeni yerine kopyalamayın.

5.5 Çekirdeğin Derlenmesi
Bu bölümde, çekirdeğin konfigürasyonu ve derlenmesi için gerekli bilgiler vardır. Çekirdek derleme uzun ve zahmetli bir işlemdir. Derleme aşamasını en kısa zamanda ve en uygun yoldan gerçekleştirmek gerekir. Derleme işlemi, kullanıcının önüne kafasını karıştıracak kadar çok seçenek sunar.

Nedir bu çekirdek? Genel anlamda çekirdek, yazılımın ve donanımın arasında bekleyerek iletişimi sağlayan bir arabirimdir. Çalışan tüm programların ve süreçlerin hafıza ile olan ilişkilerini düzenler. İşlemcinin gücünün tüm bu programlar arasında adil bir şekilde dağıtımını üzerine alır. Bu işlemleri kullanıcının haberi olmadan her an durmaksızın yapar.

Çekirdek kaynak dosyaları diskte hatırı sayılır bir alan tutar. Örneğin sürüm 2.0.20 yaklaşık 6Mb disk alanı kaplar. Açıldığı zaman ise toplam kapladığı alan 24 Mb olur. Derleme aşamasından sonra bu rakam 30 Mbyi geçer. Her eklenen aygıt sürücü desteği bir miktar daha yer alır.

Kullandığınız sisteme göre çekirdeğin derlenme süresi değişkenlik gösterir. 12 Mb 486DX4/100 makinasında, 5 dosya sistemi desteği, ağ desteği ve ses kartı sürücüsü ile yaklaşık 30 dakika sürer. Aynı konfigürasyonu içeren çekirdeğin derlenmesi ise daha güçsüz bir makina olan 8Mb 386DX/40 altında 1.5 saati bulur. Derlerken gidip çayınızı için, biraz televizyon seyredin. Makinaniz 386 ise bir banyo alıp dışarı çıkın, alışveriş yapın. Çok ümitsiz bir durumdaysanız, yapılacak en iyi şey en yakın bilgisayar satıcısına uğrayarak yeni fiyatları sormak :)

Çekirdek kaynak kodu , ODTÜ ftp arşivindeki adresinden veya tsx-11.mit.edu adresinin yansısını tutan herhangi bir adresten alınabilir. Bu dizin altındaki Linux sürümlerinin bir tanesini (v1.2, v2.0, v2.1 gibi) seçtikten sonra altındaki dosyayı alabilirsiniz. Dosyanın ismi linux-x.y.z.tar.gz yapısındadır.

Aşağıdaki örnekte ODTÜ ftp arşivinden 2.0.20 sürümünün alınışı gösterilmektedir:

$ ftp ftp.metu.edu.tr
Connected to ephesus.cc.metu.edu.tr.
220-
220-Welcome to METU Ftp Site !
220-
220-All logins and transfers are logged with your hostname.
220-If you do not agree with this policy, please cancel now.
220-
220 ephesus FTP server (Version wu-2.4(5) Wed Jan 10 18:06:56 EET 1996) ready.
Name (ftp.metu.edu.tr:gorkem): ftp
331 Guest login ok, send your complete e-mail address as password.
Password:
230-################################################## ########################
230-## Welcome to the Middle East Technical University Ftp Archive ##
230-################################################## ########################
230-
230-
230-Hello [email protected] !
230-You are the 19. anonymous user.
230-Maximum number of users allowed is 100.
230-Local Time is Tue Nov 5 12:19:41 1996.
230-
230-Mirrored sites are placed under the directory /pub
230-This archive is maintained by [email protected]
230-You can reach this archive via FSP at port 21.
230-
230-You can reach public directories via "cd dirname"
230-command independent of your current location;
230-e.g. "cd linux" instead of "cd /pub/linux"
230-
230 Guest login ok, access restrictions apply.
ftp> cd /pub/linux/tsx/sources/system/
250-Please read the file README
250- it was last modified on Mon Sep 16 11:36:00 1996 - 50 days ago
250 CWD command successful.
ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 66
-rw-r--r-- 1 ftpload ftp-adm 36981 Sep 16 12:36 CREDITS
drwxr-xr-x 3 ftpload ftp-adm 512 Oct 13 15:59 Historic
-rw-r--r-- 1 ftpload ftp-adm 12056 Sep 16 12:36 README
drwxr-xr-x 2 ftpload ftp-adm 512 Oct 14 11:47 SillySounds
drwxr-xr-x 2 ftpload ftp-adm 512 Oct 13 18:17 testing
drwxr-xr-x 2 ftpload ftp-adm 512 Oct 14 11:47 v1.0
drwxr-xr-x 2 ftpload ftp-adm 2048 Oct 31 21:55 v1.1
drwxr-xr-x 2 ftpload ftp-adm 1024 Jun 25 11:34 v1.2
drwxr-xr-x 2 ftpload ftp-adm 6656 Sep 27 04:24 v1.3
drwxr-xr-x 2 ftpload ftp-adm 1536 Nov 2 00:05 v2.0
drwxr-xr-x 2 ftpload ftp-adm 512 Nov 2 21:33 v2.1
226 Transfer complete.
ftp> cd v2.0
250 CWD command successful.
ftp> bin
200 Type set to I.
ftp> dir linux*
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 141009
-rw-r--r-- 1 ftpload ftp-adm 5859566 Jul 3 11:22 linux-2.0.1.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5940281 Jul 27 06:39 linux-2.0.10.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5952403 Aug 5 03:01 linux-2.0.11.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5954278 Aug 9 12:53 linux-2.0.12.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5981780 Aug 16 06:19 linux-2.0.13.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5984960 Aug 20 11:52 linux-2.0.14.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5986368 Aug 25 06:20 linux-2.0.15.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5990228 Aug 31 14:03 linux-2.0.16.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5991606 Sep 2 06:37 linux-2.0.17.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5993351 Sep 5 10:38 linux-2.0.18.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5997342 Sep 11 10:21 linux-2.0.19.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5861789 Jul 5 12:09 linux-2.0.2.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5997693 Sep 13 08:53 linux-2.0.20.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5999162 Sep 20 09:51 linux-2.0.21.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 6009488 Oct 8 13:02 linux-2.0.22.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 6010694 Oct 18 08:20 linux-2.0.23.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5931967 Jul 6 07:53 linux-2.0.3.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5926911 Jul 8 08:48 linux-2.0.4.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5927899 Jul 10 08:23 linux-2.0.5.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5929807 Jul 12 07:22 linux-2.0.6.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5931378 Jul 15 07:38 linux-2.0.7.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5936467 Jul 20 02:52 linux-2.0.8.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5939510 Jul 26 04:09 linux-2.0.9.tar.gz
-rw-r--r-- 1 ftpload ftp-adm 5843677 Jun 9 23:36 linux-2.0.tar.gz
226 Transfer complete.
ftp> get linux-2.0.20.tar.gz
200 PORT command successful.
150 Opening BINARY mode data connection for linux-2.0.20.tar.gz (5997693 bytes).
226 Transfer complete.
5997693 bytes received in 136 secs (43 Kbytes/sec)
ftp> quit
221 Goodbye.
Sisteme root olarak giriş yapın ve /usr/src dizinine geçin. Linuxun kurulması aşamasında çekirdekleri de kurmuş iseniz bu dizinde linux isminde ve eski çekirdeğin kaynak kodlarını kapsayan bir alt dizin göreceksiniz. Genellikle her kullanıcının yaptığı, bu dizinin ismini o an çalışan çekirdeğin sürümüne göre değiştirmektir. Çekirdek sürümünü bulmak için ise uname -r komutunu kullanabilirsiniz.

$ uname -r
2.0.23
Bu komuttan çekirdeğin 2.0.23 sürümü olduğunu anlayabiliriz.

Çekirdek kodunu içeren paketi açmadan önce /usr/src dizinine kopyalayın, ve açmadan önce bu dizinde linux isimli bir dizinin olmadığına emin olun. Şimdi /usr/src içinde iken sıkıştırılmış çekirdek kodunu tar komutu yardımıyla açın.

# tar -zxf linux-x.y.z.tar.gz
Komutun işletimi bitince linux dizini oluşur. İlk defa derleme işlemi yapacaksanız aşağıdaki komutları sırasıyla yazın.

# cd /usr/include
# rm -rf asm linux scsi
# ln -s /usr/src/linux/include/asm-i386 asm
# ln -s /usr/src/linux/include/linux linux
# ln -s /usr/src/linux/include/scsi scsi
# cd /usr/src/linux
# make mrproper
Çekirdeğin Kurulması
LILO, bilgisayarın açılışı anında çekirdek ile ilgili düzenlemeleri okur, buna göre hangi çekirdekten açması gerektiğini anlar. Konfigürasyon dosyası biraz karmaşık olmasına rağmen kullanım aşamasında büyük yararlar sağlar. /etc/lilo.conf dosyasının içinde gerekli olan kurulum bilgileri vardır. Bu dosyanın bir bölüm aşağıda görülüyor.

image = /vmlinuz
label = linux
root = /dev/hda1

other = /dev/hda1
label = dos
table = /dev/hda
image = ibaresi kurulu olan çekirdeğe işaret eder. Çoğu kullanıcı bu kısma vmlinuz yazar. label = bölümünde hangi işletim sistemi veya çekirdek sürümünun açılışta kullanılacağı yazılır. Hemen altındaki root bölümünde ise label = kısmında seçilen işletim sisteminin hiyerarşik sırada en üst dizin yapısı yazılır. Eski çekirdeğin bir yedeğini alın ve yeni derlediğiniz çekirdeği image = satırında belirtilen yere kopyalayın.

# cp zImage /vmlinuz
Şimdi LILO programını çalıştırın. Komut satırında lilo yazmak yeterlidir. `* karakteri, çalıştırılacak ilk çekirdeği veya sistemi gösterir.

# lilo
Added linux *
Added dos
LILO ve konfigürasyonu hakkında , daha fazla bilgi LILO-NASIL çevirisinden alınabilir.

Yeni bir çekirdeği derledikten sonra LILO üzerinden ekleme yapmak ve açılış anında kullanmak için /etc/lilo.conf dosyasındaki

image = /vmlinuz
label = Linux
root = /dev/hda1
satırlarının kopyasını çıkarın, image , label ve root yerine sırasıyla yeni derlenen çekirdeğin sabit disk üzerindeki yerini, ismini ve Linux işletim sisteminizin kök dizinini yazın. Bunlara ek olarak, açılış anında bekleme sağlamak ve seçim yapabilmek için konfigürasyon dosyasının başına delay = xxx ekleyebilirsiniz. xxx sayısı, gecikme zamanı saniyenin onda biri olarak verilir. Bu sayede açılış anında , örneğin shift tuşuna basılarak istenen çekirdeğin ismi (label = satırında yazılan isim) seçilir ve çalıştırılır.

Çekirdeğin Yamanması (patch)
Çekirdeğin her yeni sürümüyle birlikte bir önceki sürümünun yaması da gelir. Yamayı uygulamak, tüm çekirdeğin tekrar derlenmesinden daha kolaydır. Örnek olarak, elinizde 2.0.10 çekirdeği var ve ftp adresinde 2.0.11 sürümü bekliyor. Halihazırdaki çekirdeği 2.0.11 sürümüne yükseltelim:

Yamayı önce /usr/src dizinine kopyalayın. Bu dizin altında iken

# zcat patch-2.0.11.gz | patch -p0
veya eğer sıkıştırılmış değilse

# patch -p0 < patch-2.0.11
yazın. Bu komutun ardından satırlar ekrandan kaymaya başlayacak ve yama işlemi tamamlanacaktır. Satırlar bazen o kadar hızlı kayar ki neler yazdığını bile göremeyebilirsiniz. Yamanın başarılı bir şekilde tamamlandığından emin olmak amacıyla, /usr/src/linux dizini altında .rej uzantılı dosyalara bakın.

# find . -name *.rej -print
Komut, .rej uzantılı dosyalar bulursa yama işlemi tamamlanamamış demektir. Eğer yama işlemi tamamlanırsa, sırasıyla

# make clean
# make config
# make dep
komutlarını yazın. Bu komutlarla ilgili detaylı bilgi önceki konuda anlatılmıştır.

patch komutunun alabildiği bazı seçenekler vardır. patch -s komutu oluşabilecek tüm hata mesajlarını ekrana yazar. Diğer yama seçenekleri man patch yazarak görülebilir.

Birkaç yamanın ardından, .orig uzantılı dosyalar etrafta dolaşmaya başlar. Bu dosyalar gereksizdir, büyük yer kapladıkları için silinmeleri gerekir. Aşağıdaki komut yardımıyla /usr/src/linux dizini altında .orig uzantılı dosyaları silebilirsiniz.

# find /usr/src/linux -name *.orig -exec rm -f {} ;

5.6 Modüller (Yüklenebilir Çekirdek Parçaları)
Linux işletim sistemi çekirdeğinin boyu genellikle 400-600Kb arasındadır. Hantal çekirdeklerde bu sayı 800Kblara kadar çıkabilir. Çekirdeğin boyunun büyümesi, sistemin performansını olumsuz yönde etkiler. Özellikle bilgisiz kullanıcıların gerekli gereksiz tüm desteği çekirdeğe yüklemesi sıkça görülür. Bunun önüne geçmek de deneyim ister.

Linuxa özgü özelliklerden birisi modüllerdir (yüklenebilir çekirdek parçaları). Modüller sayesinde nadiren gerekli duyulan bir çekirdek parçası sadece gerektiği zaman çekirdeğe eklenir. Örneğin Java programlarını her zaman çalıştırmak istemiyorsanız, bu desteği modül olarak derleyip bir kenara koyarsınız. Ne zaman bir Java programı çalıştırılacaksa bu modül hafızaya yüklenecektir.

Bir modül, çekirdeğin derleme aşamasında `M parametresiyle tanımlanır. Her desteğin modülü henüz geliştirilmemiş olmasına rağmen bu sayı gün geçtikçe artmaktadır. İlginizi çekebilecek modüller arasında disket desteği, yazıcı desteği, minix dosya sistemi desteği veya SCSI aygıt sürücü desteği sayılabilir.

Bir modülü derledikten sonra modüle ait dosya /lib/modules dizini altında yeralır. Burada istenilen bir modül

# insmod modul-ismi
komutuyla çekirdeğe eklenir. Modülü hafızadan çıkarmak için

# rmmod modul-ismi
yazın. Hafızadaki modüllerin bir listesini görebilmek için de lsmod komutu kullanılabilir.

kerneld komutu, arkaplanda çalışarak gerekli olan modülleri anında yükler. Bu sayede çekirdeğe eklemek için insmod komutuna gerek kalmaz. Ayrıca belirli bir süre içinde kullanılmayan modülleri de çekirdekten atar.

5.7 Yeni Yazılımların Yüklenmesi
Linux işletim sistemi, benzerlerine nazaran çok büyük bir hızla genişliyor. Her an yeni bir program, yeni bir yazılım piyasaya çıkıyor ve bunları takip etmek de gittikçe zorlaşıyor. Bir ftp adresini kontrol ettikten iki gün sonra tekrar bakıyorsunuz ki üç-beş yeni yazılım gelivermiş.

Tabi ki her an her programı makinanıza indirip açmak zorunda değilsiniz. Buna ne zamanınız, ne de sabit diskiniz yeter (Linuxun sunsite arşivi 20GBtan fazla yer kaplıyor!). Öyleyse tespih çeker gibi program indirmek veya varolan yazılımları güncellemek komik olur. Sadece gereken zamanda gereken dosyaları makinanıza kurmalı veya güncellemelisiniz.

Bu işlem çekirdek için de geçerlidir. Bazı çekirdek fanatikleri çekirdeği çıktığı anda makinalarına indirir ve derlerler. Linuxa çok önemli bir fonksiyon kazandırmayacaksa her an çekirdek derlemek hem zaman kaybı olur, hem de derleme esnasında sistemi yavaşlatarak diğer kullanıcıları kızdırır.

Kurmak istediğiniz ve ftp adresinden bulup getirilen dosya çok büyük ihtimalle tar ve gzip ile arşivlenip sıkıştırılmıştır. Bu dosyanın sonu genellikle tar.gz, tgz veya tar.Z ile biter. Dosya kaynak koduyla veya çalıştırılabilir program olarak dağıtılıyor olabilir . Her iki durumda da yapılacak işlemler birbirine benzer.

Öncelikle yazılımın açıldığı zaman hangi dizine kendini yerleştireceğine bakmak gerekir. Bunu tar komutunun -t seçeneği ile kontrol edin. compress ve gzip ile sıkıştırılmış dosyalar için,

# tar -ztvf dosya.tar.gz
komutu kullanılabilir. Çok nadir durumlarda dosya, kendine ait bir dizin yaratmaz, onlarca programı ve konfigürasyon dosyasını bulunduğunuz dizine yazar. Karmaşıklık yaratan bu durumdan ancak arşivi ayrı bir dizin altında açmakla kurtulabilirsiniz.

Linuxçular yeni bir yazılımı denemek istediklerinde arşivi genellikle /usr/src veya /usr/local/src dizini altına kopyalarlar ve burada açarak biraz sonra anlatılacak konfigürasyon işlemini uygularlar. Derleme gerektirmeyen bazı programların ise doğrudan kök dizinde açılmaları gerekebilir. Bu programlar açıldıkları anda çalışmaya hazırdırlar.

/usr/src veya /usr/local/src dizini altına dosyayı açtıktan sonra bol miktarda dosya ve dizinle karşılaşabilirsiniz. Buna en iyi örnek Linux çekirdeğidir. Burada yeralan bazı anahtar dosyalar yazılımın kurulması için hayati önem arzeder.

Öncelikle README, README.linux ve varsa INSTALL dosyalarının gözden geçirilmesi gerekir. Bunlar sırayla bir kullanıcı olarak dosyaları nasıl kuracağınızı ayrıntılarıyla söyler. Kurma aşamasında dikkat edilecek dosyalardan ilki Makefile veya makefile dosyasıdır. Bu dosyanın içinde (nadiren) küçük birkaç değişiklik yapmak gerekebilir. Diğer kontol edilmesi gereken dosya ise varsa config.h dosyasıdır. Bunu da sistem gereksinimize göre değiştirmelisiniz. Bazen başta derleyici olmak üzere sistemdeki yazılımı baştan aşağı kontrol eden programlar olabilir (configure gibi). Bunların da komut satırından çalıştırılmaları gerekir. Varsa Makefile dosyasına göre yazılımı kurmak için make komutunu kullanın. make komutu kuruluma make all, make install gibi bazı parametreler alabilir. make all, halihazırda yeralan tüm yazılımları kurarken make install, bu yazılımı konfigürasyon dosyalarının gösterdiği dizinlere yerleştirirler.

Çoğu büyük paketler, man dosyalarıyla birlikte gelirler. Bunları da diğer man dosyalarının yanına (/usr/man) koymak için ayrı bir make install.man türü komut kullanmak gerekebilir.

Her durumda, mutlaka README dosyasını okuyun. Biraz sıkıcı gelse de sizi zaman kaybından kurtaracaktır.

Slackware dağıtımını kullanıyorsanız, yüklenmiş yazılımları silmek için 2 yolunuz var. Birincisi, root olarak sisteme girip, istemediğiniz programları tek tek komut satırından silebilirsiniz. Ama bu size önerebileceğimiz bir yol değil ve çok fazla sakıncası var. Örneğin, programı silip, ona olan bağlantıları unutabilirsiniz. Ya da tam tersi olabilir. İkinci yol ve en geçerlisi, Slackware dağıtımı ile gelen pkgtool programı kullanmanız. pkgtool seçenekleri arasındaki remove package işinize yarayacaktır.


5.8 Sistem Açılış Dosyaları
Linux makinası açılırken onlarca dosyayı okur. Birkaç dakika içinde çekirdeği hafızaya yükler, belirli dizinlerin altındaki programları arkaplanda çalıştırır. Sistem uyanırken hatırı sayılır nicelikte konfigürasyon dosyası elden geçer. Açık bir işletim sistemini diğerlerinden ayıran bir özellik de kullanıcının büyük bir kolaylıkla bu konfigürasyon dosyalarını değiştirebilmesidir. Sistem açılış dosyalarında , özellikle ağ temelli dosyalarda değişiklik yapabilmek için TCP/IP konusunda basit temelleri anlayabilmiş olmanız gerekir.

Açılış dosyalarında, tek bir kullanıcı için veya sistemde hesabı olan herkese yönelik olarak değişiklik yapmak mümkündür. Pek çok kullanıcı bu açılış dosyalarıyla oynayarak Linuxu daha yakından öğrenme imkanına sahip olur.

İnternet servisi veren bir makina bu servisini daemonlar aracılığıyla yapar. Bir daemon, her makina tarafından bilinen bir port numarasını açar ve dinlemeye koyulur. Eğer sorumlu olduğu port adresine istek gelirse bu isteğe cevap vererek servise başlar.

Bash kabuğunun anlatıldığı konu içinde sisteme girerken okunan dosyaları anlatmıştım. Sistemde yeralan önemli dizinler de dosya sistemi yapısı konusunda detaylı olarak belirtilmişti. Bu bölümde daemonlardan kısaca bahsedip açılış anında çalıştırılan programlara ve bunların konfigürasyon dosyalarına kısa bir giriş yapılacaktır.
 
5.9 Linux Dosya Sistemi Yapısı
Bu bölümde Linuxun kullandığı dosya sistemi hakkında bilgi verilecektir. Dosya sistemini oluşturan dizinler, kapsadıkları dosyalar ve bunların Linux işletim sistemindeki görevleri de kısaca belirtilecektir.

Bir işletim sisteminin dosya sisteminin performansı, hızı ve buna benzer çeşitli özellikleri sistemin verimli ve kararlı çalışması üzerinde doğrudan etkisi vardır. Linux dizin yapısının geliştirilmesinde FSSTND (file system standard) grubunun çalışmalarının payı çok büyük oldu. Programcılardan oluşan grup, standartların belirlenmesinde ve uygulama aşamasında Linux ile ilgilenenlere yardım etti. 1993 yılında Olaf Kirsh, Linux haber grubuna yazdığı bir e-postasında Linux dosya sistemi üzerindeki çalışmaların tamamlandığını haber verdi.

Linux dizin yapısında bazı dizinlerin işlevi birbiriyle aynıdır. Bu durum, özellikle birbirini takip eden iki Linux sürümünde belirginleşir. Örnek olarak bir dağıtımda /usr/bin dizini altında yeralan dosya, diğer sürümde /bin altına yerleştirilebiyor.

Dosya sistemleri ve dizinler paylaşımlı olarak da kullanılabilir. Birden fazla kişisel bilgisayarın bağlandığı ağda, disk alanından yer kazanmak için bir makina sunucu (ana makina) olarak tayin edilir. Ağ üzerindeki diğer makinalar da sunucu üzerindeki diski paylaşır. Buna örnek olarak kullanıcı ev dizinlerinin yeraldığı /home, çalıştırılabilir dosyaların bulunduğu /usr, e-posta ve haber grubu bilgilerinin bulunduğu /var/spool/mail ve /var/spool/news dizinleri verilebilir.

Kök dizini, kendisine bağlı diğer tüm dizinleri de içerdiğinden, Linux dosya sisteminde önemli bir yere sahiptir. Linux açılırken önce kök dizini /etc/fstab dosyasına uygun şekilde bağlanır. Diğer dosya sistemlerinin onarımı ve kontrolü için gerekli olan fsck programları, bu dizinde bulunmalıdır. Benzer şekilde yedekleme için gerekli olan tar, zip, compress gibi arşiv programlarına da kök dizin altından erişilebilmeli, açılış esnasında hafızaya yüklenen çekirdek de kök dizininde yeralmalıdır.

Bir programı yerine koymadan önce bazı "dengelerin" gözönünde tutulmasında yarar vardır. Programlanan her yazılımı kök dizinine koyarsanız, bir süre sonra bu dosya sisteminin şiştiğini görürsünüz. Kök dizinini başlangıçta küçük (20-30Mb kadar) tutmak, geliştirilen programları daha önceden belirlenen başka bir dosya sistemi altına koymak akıllıca olur. Bu yol, ağ üzerinden genellikle paylaşımı mümkün olmayan kök dizininin her makinadaki sabit diskte mümkün olan en az yer işgal etmesini sağlar.

Sistemdeki önemli dizinlere göz atarsak,

/bin : Sistemin açılışı ve kontrolü için gerekli komutlar. Hem kullanıcıların, hem de sistem görevlisinin kullanabileceği dosyalar (kök dizinde ise fazla şişmemesi koşuluyla) buraya atılabilir. Sadece root kullanıcının ihtiyaç duyacağı init, getty, updatedb gibi programlar /sbin veya /usr/sbinde durabilir. Bu dizinde bulunan dosyalara örnek olarak cat, chgrp, chown, date, dd, df, ln, mkdir, mount, ps, rm, sh, su, sync ve umount verilebilir.

/dev : G/Ç dosyaları. Linux çekirdeğinde desteklenen her aygıta ait dosya /dev dizini altında bulunur. Kurulum anında bu dosyalar yerine yerleştirilir, bu dosyaların silinmesi durumunda /dev/MAKEDEV ile tekrar yaratılabilirler.

/etc : Sistem konfigürasyon dosyaları. Bu dizinde çalıştırılabilir dosyalar bulunmamalıdır.

· · · skel : Buradaki dosyalar, kullanıcı hesabı açıldığında kullanıcının ev dizinine kopyalanır.

· · · rc.d : Bu dizinin içinde, init sürecinin başvurduğu konfigürasyon dosyaları vardır. Bunlara "rc dosysları" da denir.

· · · passwd : Kullanıcı veritabanı

· · · fstab : Linuxun açılışı esnasında bindirilecek dosya sistemleri burada listelenir.

· · · group : passwde benzer şekilde kullanıcıların gruplarını tutar.

· · · inittab : init daemon için konfigürasyon dosyası

· · · motd : Kullanıcı sisteme girdikten sonra ekranına basılması istenen mesaj burada tutulur.

· · · profile : Kullanıcı sisteme girdiği zaman çalıştırılan dosya (csh ve sh türevi kabuklar için)

· · · shells : Sistemde kullanılabilecek kabuk isimleri burada tutulur.

· · · login.access : login komutu için konfigürasyon dosyası. Sisteme girişi kullanıcı bazında sınırlamak için kullanılir.

/home : Kullanıcılara ayrılmış dizin. Başka şekilde ayarlanmamış ise, açılan her hesaba ait kullanıcı, burayı kullanır. Büyük sistemlerde, bu kısım alt parçalara ayrılabilir (/home/ftpadm /home/ogrenci gibi)

/lib : Kütüphane dosyaları.

/mnt : Geçici mount edilen dosya sistemleri. Sadece bu iş için kullanıldığından sistem görevlisine zaman kazandırır.

/proc : Süreç kontrollerini ve diğer sistem bilgilerini tutan dosya sistemi. Bu dosya sistemi aslında disk üzerinde yer kaplamaz, tüm dosyalar çekirdeğin bir uzantısı sayılabilir.

· · · cpuinfo : işlemci modeli, tipi ve performansını bildirir.

· · · devices : Halihazırda çalışan çekirdek içinde desteği bulunan aygıt sürücülerini listeler.

· · · dma : Hangi dma kanallarının kullanıldığını belirtir.

· · · filesystems : Halihazırda çalışan çekirdek içinde desteği bulunan dosya sistemlerini listeler.

· · · interrupts : Hangi kesintilerin kullanımda olduğunu söyler.

· · · iports : Halen hangi giriş/çıkış iskelelerinin kullanıldığını belirtir.

· · · kcore : Sistem hafızasının görüntüsü

/root : Sistem görevlisinin ev dizini. Mümkünse bu dizini sistemdeki diğer kullanıcıların görmeyeceği şekilde ayarlayın.

/sbin : Hayati sistem komutları. Bir zamanlar bu dosyalar /etc dizini altında yeralıyorlardı. Sadece sistem görevlisinin ihtiyacı olan komutlar, /sbin veya /usr/sbin içinde bulunur.

/tmp : Geçici dosyaların koyulduğu dizin. Belirli zaman aralıklarında temizlenmelidir.

/usr : Diğer önemli sistem dosyalarını tutar. Bu bölüm genelde en kalabalık dizindir, zira yeni kurulan tüm programlar buraya konulur.

· · · X11R6: X Window sistemi bilgileri tutulur.

· · · doc: Belge ve dökümanlar, genellikle HOWTO ve FAQ dosyaları.

· · · lib: Bazı kütüphaneler

· · · man: Man dosyaları

· · · src: Bazı kaynak dosyaları ve linux çekirdeğini oluşturan kodları (/usr/src/linux) içeren dizin.

· · · sbin : Kök dosya sisteminde yeralması gerekmeyen çalıştırılabilir sistem görevlisi dosyaları

· · · /var : Sürekli değişen sistem bilgileri burada tutulur. İstisnalar dışında diğer makinalarla paylaştırılmaz.

· · · adm: Sistem yönetimini ilgilendiren kayıtlar

· · · preserve : Sistemin göçmesinden sonra zarar görmesi mümkün dosyaların kaydedildiği yer.

· · · spool : Sonra işlenecek olan veriler buraya atılır (e-posta gibi)

Eğer sistem yöneticisi iseniz düzenli olarak dosya ve dizin yapısını kontrol etmelisiniz. Örneğinn /tmp dizini normal kullanıcıların kullanımına açık olduğu için çok kısa bir sürede dolabilir. Burayı periyodik olarak silmek için find komutu işe yarayabilir :

# find /tmp -atime +7 -exec rm -rf {} ;
Yukarıdaki komut, tmp dizini altında yeralan tüm dosyaları kontrol edecek ve 7 günden daha eski dosyaları silecektir. Benzer şekilde, kullanıcıların dosyalarının yer aldığı /home dizini de çok kısa bir sürede dolmaya mahkumdur. Sistemde ne kadar büyük sabit disk olursa olsun bir gün gelecek burası dolacaktır. Periyodik olarak buraya da göz gezdirmek gerekir. Aşağıda yeralan kısa program, /home dizininde yeralan kullanıcı dizinlerideki disk kullanımını büyükten küçüğe doğru disk isimli dosyaya yollayacaktır. Bu dosyanın incelenmesiyle hangi kullanıcıları "cezalandıracağınızı" görebilirsiniz

# du -skx /home/* | sort -rn > disk
du (disk usage), sistem kullanıcılarının sıkça başvurduğu bir komuttur. Kullanılabilecek parametreler için du(1) man sayfasına bakın.

UNIX, (ve dolayısıyla Linux) iki tip aygıt tanır. Bunlardan ilki karakter aygıtları, başka bir deyişle veri alışverişini bayt bazında yapan cihazlar, diğeri de blok aygıtları, yani veri alışverişini blok cinsinden yapan cihazlardır. Karakter aygıtlarına örnek olarak seri bağlanan cihazlar ve teypler, disk aygıtlarına örnek olarak da diskler verilebilir. Bu cihazlardan bir bilgi yazılıp okunduğunda dosya sistemi altında bunları tanımlayan dosyalar (/dev/*) kullanılmış olur. Örnek olarak bir yazıcıya bilgi göndermek için,

$ cat dosya > /dev/lp1
komutunu kullanabilirsiniz. Dosya, yazıcının anlayabileceği bir yapıda olmalıdır (örneğin düz metin).

Her aygıt, bir dosya olarak dosya sisteminde kendine yer bulduğuna göre hangi aygıt dosyalarının bulunduğunu görmek mümkün olabilir.

$ ls -l /dev/cua0
crw-rw-rw- 1 root uucp 5, 64 Nov 30 1993 /dev/cua0
İlk kolondaki ilk karakter (c), bu dosyanın bir karakter aygıtına ait olduğunu belirtiyor. Normal dosyalar için buradaki karakter - olmalıydı. Benzer şekilde blok aygıtlar için ise b kullanılr.

Aygıt sürücü desteği çekirdekte olmasa bile /dev dizini altında genellikle tüm aygıt dosyaları bulunur. Bu demektir ki /dev/sda dosyasına sahip olduğunuz halde bir SCSI sabit diski sistemde takılı olmayabilir. Tüm aygıt sürücülerinin bulunması, programların kurulumunu ve yeni donanımın eklenmesini kolaylaştırır.

6. Bash Kabuğu
UNIX için geliştirilen en önemli ve en çok kullanılan kabukların başında tcsh, bash (Bourne Again Shell) ve ksh (Korn Shell) gelir. Bash, Bourne Shellin biraz daha geliştirilmiş sürümüdür. Tcsh ise C-shell üzerine eklenen yeniliklerle genişletilmiştir. Unix altında, bash kabuğu diğer benzerlerine nazaran daha fazla özelliğe ve işleve sahiptir. Linux işletim sistemi için de derlenen bash ise hem tcsh, hem de kshdan özellikler taşır.

Bir Slackware dağıtımında tüm bu kabuklar kullanıcının hizmetine sunulmuş olup bash kabuğu sistem ilk açıldığında tanımlıdır. Kullanıcı sisteme girdiği zaman bu kabuk aktif olur, bundan sonra kullanıcı herhangi bir kabuk altında çalışmalarına devam edebilir. Bunun için sadece ismini komut satırında yazması yeterlidir.

6.1 Bash Özellikleri
Bashin kullanıcıya zaman kazandıran en önemli özelliklerinden birisi de dosya isimlerini tamamlamasıdır. Komut satırında tamamlanmamış bir komut veya dosya ismi yazdıktan sonra TAB tuşuna basılırsa satır tamamlanacaktır. Eğer komut satırındaki karakter kümesiyle başlayan birden fazla komut varsa bir sinyal sesi duyulacak ve sizden yeteri kadar karakteri yazmanızı bekleyecektir.

$ ls
postgres mandel.doc lilo-howto
$ vi post <TAB>
$ vi postgres
Komut satırındaki karakterler dosyayı veya komutu tanıtmaya yetmiyorsa, <TAB> tuşunun iki kez ard arda basılmasıyla ekrana mümkün olan tüm dosya isimleri getirilebilir.

$ ta <TAB> <TAB>
tac tail talk tar
$ talk
Bash, komut satırında iken satırın kolayca değiştirilebilmesini sağlar. Böylece komut çalıştırılmadan önce birkaç tuş darbesiyle üzerinde değişiklik yapılabilir. Klavye üzerindeki alt ve üst yön tuşları, daha önce yazdığınız komutları görmenizi ve arasında seçim yapmanızı sağlar. Sağ ve sol yön tuşları ile seçtiğiniz komutun üzerinde değişiklikleri uygulabilirsiniz.

6.2 Takma Adlar (alias)
Alias komutu ile bir komut veya komut kümesinin yerine bir isim tahsis edilebilir. İşleyişi bir makroya benzeyen bu komut yardımıyla uzun komutlar, daha kısa komutlarla tanımlanabilir. Bir alias komutu , anahtar kelimeyle başlar, ardından bir eşittir (=) işareti ve yerine kullanılacağı komut yazılır. Arada boşluk bırakılmaz.

$ alias dir=ls -al
$ dir
total 668
-rw-r--r-- 1 gorkem users 1016 Dec 7 13:51 .profile
-rw-r--r-- 1 gorkem users 277 Nov 26 13:02 .signature
drwxr-xr-x 4 gorkem users 1024 Dec 3 18:24 .tin/
drwxr-xr-x 2 gorkem users 1024 Nov 12 10:58 .wine/
-rw-r--r-- 1 gorkem users 231 Nov 23 17:40 .xinitrc
drwxr-xr-x 2 gorkem users 1024 Oct 3 16:17 Mail/
-rw-r--r-- 1 gorkem users 26721 Dec 3 14:55 NIS-HOWTO
drwxr-xr-x 2 gorkem users 1024 Nov 17 14:09 News/
Daha karmaşık alias lar da tanımlanabilir:

$ alias yedek="cd /var/log; tar -zcvf yedek.tgz cron debug lastlog; cd -"
6.3 Özel Kabuk Tanımları
Bazı özellikleriyle bash, benzeri kabuklar arasından kolayca sıyrılır. Bunlardan birisi de tanımlardır. Tanımlamalar set komutu yardımıyla yapılır, tüm tanımlar küçük harflerle yazılırlar, bu özellikleri yardımıyla değişkenlerden ayrılırlar.

$ set -o tanim # tanimi isletir
$ set +o tanim # tanimi kaldirir
Aşağıda en çok kullanılan iki tanım yeralmaktadır:

noclobber : Bu tanımın seçilir kılınmasından sonra bir komutun çıktısı bir dosyaya gönderildiğinde, dosyanın eski içeriği aynı kalır. Bu tanım sayesinde kazara bir dosyanın üzerine başka bilgilerin yazılması önlenebilir.

$ ls -al dosya
-rw-r--r-- 1 gorkem users 1409 Nov 29 13:58 dosya
$ set -o noclobber
$ ls > dosya
bash: dosya: Cannot clobber existing file
ignoreeof : ignoreeof, kabuktan control-d tuş takımı ile çıkılmasını engeller. Yanlışlıkla basılan control-d ile sistemden anından çıkmak mümkün olduğu için kullanışlı bir tanımdır.

$ set -o ignoreeof
$ (control-d ye basin)
Use "logout" to leave the shell.
$ set +o ignoreeof
$ (control-d ye basin, sistemden hemen cikar)
$ ignoreeof=4
Yukarıdaki son örnekte 4 kere control-d tuşuna basılırsa kabuktan çıkılır.

6.4 Özel Kabuk Değişkenleri
Sisteme girdiğiniz zaman Linux size bir kabuk tahsis eder ve kabuk üzerinde değişkenler tanımlayabilmenize izin verir. Kabuk içinde bir kabuk programı (script) çalıştırılınca sistem tarafından bir alt kabuk daha yaratılır. Bu andan itibaren iki kabuk çalışır, birisi sisteme girdiğiniz anda tahsis edilen, diğeri de programın çalıştırılabilmesi için sistem tarafından çağırılan. Program bittiği anda alt kabuğun işlevi sona erer ve sistem tarafından öldürülür.

Bir kabuk altında tanımlanan değişken o kabuğa özgüdür. Bir kabuk altında erişilebilen değişkene diğer bir kabuk erişemez. Fakat bash kabuğu altında bir çevre değişkeni yaratılırsa, sistem tarafından her alt kabuğa bu çevre değişkeni kopyalanır. Böylece bir değişken yaratılır, ama her alt kabuk tarafından kullanılabilir. bash kabuğunda yaratılan çevre değişkenlerinin normal değişkenlerden tek farkı, bu değişkenin diğer alt kabuklar tarafından tanınmasıdır.

Bir çevre değişkeni belirtmek için export komutu kullanılır. Aşağıdaki örnekte dosyam isimli çevre değişkeni tanımlanıyor.

$ export dosyam="internet.97.txt"
$ echo $dosyam
internet.97.txt
Bu esnadan sonra tüm kabuklar altında bu değişken tanımlı olacaktır.

env komutu yardımıyla sistemde öntanımı yapılan veya sonradan tanımlanan tüm değişkenler ekrana listelenir.

$ env
HOME=/home/gorkem
SHELL=/bin/bash
LS_OPTIONS=--8bit --color=tty -F -b -T 0
PS1=h:w$
PS2=>
LOGNAME=gorkem
OSTYPE=Linux
Sisteme girdiğiniz anda tanımlanan bazı komutlar ve açıklamaları aşağıda verilmiştir:

HISTFILE : Tüm yazdığınız komutlar .bash_history adlı bir dosya içinde tutulur. Her kullanıcının kendi ev dizinleri içinde kullanıcıya özgü bu dosyadan vardır. $HISTFILE değişkeni ile dosyanın ismi değiştirilebilir.

$ echo $HISTFILE
/home/gorkem/.bash_history
$ HISTFILE="komutlar"
$ echo $HISTFILE
komutlar
PATH : PATH değişkeninde bir komut yazıldığı anda sistem tarafından aranacak olan patika listesi görüntülenir. Örnek olarak who komutu /usr/bin/ dizini altındadır ve bu bilgi PATH değişkeninde saklı tutulur. Kullanıcının yaptığı programları çalıştırabilmesi için PATH değişkeninde bulunduğu dizini de tanımlaması gerekir.

PATH değişkeninde her dizin iki nokta üstüste işareti ile birbirinden ayrılır. Örnek olarak /usr/local/bin:/usr/bin dizisi sırasıyla /usr/local/bin ve /usr/bin patikalarına karşılık gelir.

Kullanıcı PATH değişkenine yeni girdiler ekleyebilir. Aşağıdaki örnekte bunun nasıl uygulandığı görülüyor. Kullanıcı kısaca PATH değişkeninin sonuna kendisinin istediği patikayı veya patikaları ekler.

$ echo $PATH # PATH degiskenini ekrana bas
$ export PATH=$PATH:/usr/net # buna /usr/net patikasini ekle
SHELL : O an kullanılan kabuğun patika ismini verir. Kabuk programları genellikle /bin dizini altında tutulurlar. Her kabuğun patika ismi sistemdeki /etc/shells dosyasında bulunmalıdır.

$ echo $SHELL
/bin/bash
HOME : Kullanıcının ev dizinini gösteren patikayı ekrana basar. Her kullanıcının ev dizini, sistemde hesap açılırken sistem görevlisi tarafından belirlenir. Linux Slackware dağıtımı altında bu dizin öntanımlı olarak /home dur. Aşağıdaki örnek kullanıcının ev dizinine ait patikayı ekrana basıyor.

$ echo $HOME
/home/gorkem
LOGNAME : Sistemdeki kullanıcı hesabınının ismini tutar. Her kullanıcı için farklı bir değerde olur.

$ echo $LOGNAME
gorkem
TERM : Kullanıcının halen üzerinde çalıştığı terminal tipini görüntüler. vi ve pico gibi editörler çalıştırıldıkları anda TERM çevresel değişkenine bakarlar. Bu sayede ekran ile ilgili bilgileri önceden düzenleyebilirler. Aşağıdaki komut önce halihazırdaki TERM değişkenini görüntülüyor, ardından değişkene başka bir değer atıyor.

$ echo $TERM
linux
$ export TERM=vt100
$ echo $TERM
vt100
PS1 ve PS2 : Ekranda komut satırının başına gelecek olan karakterleri belirlerler. Komut isteminin en başındaki yazı bu iki değişken yardımıyla değiştirilebilir. PS1, birinci satırın karakterlerini tutarken satıra sığmayan komutlar bir satır aşağı geçeceklerinden ikinci satırın karakterlerini de PS2 belirler. Aşağıdaki satır, bu iki değişkenin öntanımlı olan "$" işaretini bir kelimeyle değiştiriyorlar.

$ export PS1=->
-> export PS2=>
->
Önceden tanımlanan kodlar yardımıyla komut satırı değiştirilebilir. Her kodun başında karakteri vardır. Bu kodların herbiri örneğin o anki saati, makinanın ismini veya bulunduğunuz dizini ekrana yazabilirler. Örneğin h ve w kodları sırasıyla çalışılan makinanın ismini ve çalışma dizinini gösterirler. Bu örnekte PS1 değişkeni bu iki kod yardımıyla değiştiriliyor.

$ export PS1=h:w$
linux:~$ # yeni komut satiri goruntusu
linux:~$ cd /tmp
linux:/tmp$ # calisma dizinini de gosteriyor
Aşağıda, sıkça kullanılan kodların bir listesi görülüyor.

, saat
d , tarih
s , kabuk ismi
w , çalışma dizini
u , kullanıcı ismi
h , makina ismi
6.5 Döngüler
Diğer hemen tüm programlama dillerinin en büyük gücü olan döngü işlemlerine kabuk altında da izin veriliyor. Burada programcı tarafından en çok kullanılan 2 döngü tipi anlatılacaktır: while ve for. while komutu her döngüde bir denetleme mekanizmasını harekete geçirirken for döngüsü daha değişik bir mantıkla çalışır.

while-do Döngüsü
Döngü bloğu while anahtar kelimesiyle başlar, ardından gelen koşul sağlandığı sürece döngü işletilir. Önce koşulun sağlanıp sağlanmadığına bakılır. Döngüden çıkabilmek için mutlaka döngü içindeki koşul ifadesinin değerini yanlış yapacak bir durum oluşmalıdır, aksi halde sonsuz döngü oluşur.

while kosul ifadesi
do
komutlar
done
if komutuyla birlikte kullanılan test komutu, while döngüsünde koşul ifadesi olarak da yer alabilir. Aşağıda 1den 100e kadar sayan ve ekrana basan bir döngü görülüyor.

#!/bin/bash
deger=0
while [ $deger -lt 100 ]
do
deger=$((deger+1))
echo $deger
done
Yukarıda kullanılan (( ve )) karakterleri arasına matematiksel bir işlem getirilebilir. Bu özellik bash kabuğuna özgüdür.

for-do döngüsü
Bir liste dahilindeki tüm değerlere sırayla erişimi sağlar. for komutundan sonra yeralan liste sırayla kullanılır ve herbirisi için döngü çalıştırılır. Listenin sonuna gelindiğinde ise döngüden çıkılır.

for degisken1 in deger1 deger2 ... degerX
do
komutlar
done
Aşağıdaki örnek bu döngüyü kullanarak ekrana bir dizi kelime yazıyor. Döngü boyunca akasya, elma ve visne kelimeleri "agac" değişkenine kopyalanıyor ve her döngüde bu değişkenin içerdiği bilgiler ekrana yazılıyor.

for agac in akasya elma visne
do
echo $agac
done
for-do döngüsü, dosya isimleri üzerinde yapılan işlemlerde de büyük kolaylıklar sağlar. Bunun için özel karakterlerden yararlanmak da olasıdır. Örnek olarak * karakteri o anki çalışma dizini içindeki tüm dosyaları seçer.

for a in *.pl ; do
file $a
done
7. Sed ve Vi
7.1 SED (Stream editor)
Metin dosyaları üzerinde sürekli işlem yapanlar için sed ve vi hemen imdada yetişir. Bu iki programın yapabildiklerini etkileşimli olarak bir metin editörü üzerinden gerçekleştirebilmek de mümkündür. sed ve vi tam anlamıyla zaman kaybını önleyen kullanıcı dostu iki uygulamadır. Yapısal olarak diğer programlama dillerinden biraz farklı olduklarından öğrenmesi biraz zaman alır. Buna rağmen eğer metin editörlüğü işinizin bir parçası ise sed ve viı öğrenip bunlardan verimli bir şekilde yararlanmanız uygun olacaktır.

Sed ve Özellikleri
Sed bir dosyadan veya standart girdiden(klavyeden) bilgi okur ve standart çıktıya (ekrana) okuduğu bilgileri kullanıcının belirlediği düzene sokarak yazar. Bu veriyi de kullanıcı genellikle bir dosyaya yerleştirir.

Sed komut satırında iken veya bir kabuk programı içinden kullanılabilir.

7.2 vi Editörü
Bir linux sistemde her kullanıcının zevkine hitap eden çeşitli metin editörler vardır. Bunların arasında en çok kullanılan ve standart olan ed ve vi, UNIX sistemler için özel olarak tasarlanmış editörlerdir. vi kadar çok kullanılmasa da ed, pico ve joe da büyük bir taraftar kitlesine sahiptir. vi ilk başta karmaşık görünse de hızı ve verimi ile her kullanıcının işini büyük ölçüde kolaylaştıracak bir editördür. En çok kullanılan komut takımlarını öğrendikten sonra vi ile aynı dili konuşuyor olduğunuzu göreceksiniz.

via Başlangıç
PC editörlerin büyük çoğunluğunda klavye, editör komutlarını almak ve basılan tuşları ekrana göndermek için kullanılan iki gruba ayrılmıştır. Kullanıcı aynı anda hem komut işletip hem de yazı yazabilir. Bu tip editörler geniş bir klavye haritasına sahip oldukları için, örneğin fonksiyon tuşlarını veya klavyenin en sağındaki nümerik tuşları da kullanıyor olabilirler. vi ın tasarım aşamasında bu durumdan kaçınılmış, standart dışı klavyesi olan bilgisayarların da var olabileceği düşünülerek klavye üzerinde kullanılması gereken tuşların sayısını mümkün olduğunca indirilmesine çalışılmıştır. Burada karşımıza vi editörünün çalışma aşamasında üç ayrı işlev geliyor. Birincisi, bilgisayara komutların girdisi sırasında kullanılan komut modu, ikincisi yazı yazarken kullanılan yazı modu ve satır modu.

Komut modunda klavye üzerinde görevi olan tüm tuşlar, bilgisayar komut vermek için kullanılıyor. Yazı modunda ise diğer editörlerdekine benzer şekilde yazı yazmak mümkün oluyor. Klavye modunu değiştirdiğinizde klavye tuşlarının işlevleri de hemen değişiyor. vi editörünü ilk çalıştırdığınız anda komut moduna girersiniz. Bu anda her tuşa ait bir komut çalıştırılmaya hazırdır (örneğin `j bir karakter aşağı, `k bir karakter yukarı gider). Bu anda kullanıcı yazı moduna geçmek isterse `i tuşuna basabilir.

Yazı moduna iken klavyeden girilen her karakter ekranda görünür. Bundan sonrası daktilo kullanmaya benzer. Tekrar komut moduna geçmek için ESC tuşu yardımcı olur. Bir dosya yazarken veya düzeltmede bulunurken her iki yazım stili arasında sürekli gidip geldiğinizi farkedeksiniz.

Bunlara ek olarak dosya işlemleri veya eşleme (substitution) yaparken iki mod da kullanılmaz. Linux kullanıcısı vi üzerinde çalışırken en alt satırda vi mesajlarını görür ve gerektiği zaman satır modunda komutları girer. Satır moduna geçmek için `: (iki nokta üstüste) karakteri kullanılır. Bu tuşa basıldığında ekranın en altında bir satır açılır ve vi sizden bir komut girmenizi bekler. vi komutunu yazdıp entera bastıktan sonra tekrar editör komut moduna geçersiniz.

8. TCP/IP
Diğer açık sistemler gibi Linuxun da en büyük özelliklerinden biri ağ protokolleri ve uygulamalarının sistemin en doğal parçalarından biri olmasıdır. Dolayısıyla ağ yapısını bilmeyen bir yöneticinin, açık sistemler üzerindeki bilgisini daha da geliştirebilmesi mümkün değildir. Bu bölümde anlatılacaklar Linux üzerinde TCP/IPye bir giriş yapılmasını sağlayacaktır. Ayrıntılı bilgi TCP/IP servislerinin ve uygulamalarının anlatıldığı diğer bölümlerden ve aşağıda sözü edilen kitap ve dökümanlardan edinilebilir.

TCP/IP üzerine önerebileceğimiz bir kitap, ilk baskıları TÜBİTAK tarafından bastırılan, ve büyük bir okuyucu kitlesi bulmuş Herkes İçin İnternet (Kürşat Çağıltay) tir. Bunun dışında İngilizce Prentice Hall tarafından yayınlanan Internetworking with TCP/IP Volume I (D.E. Comer), OReilly & Associates tarafından yayınlanan, TCPIP Network/ Administration (Craig Hunt) ve Linux Network Administrators Guide (NAG - Olaf Kirsh). NAG, Linux Documentation Projectin bir parçası olduğundan elektronik kopyası İnternet üzerinden ücretsiz olarak edinilebilir.

Linux Documentation Project grubunun hazırladığı NET-3-HOWTO, TCP/IP temelleri ve ağ uygulamalarını örnekleriyle işlemiş. Bu dökümanı nasıl temin edebileceğinizi kitabın sonunda bulabilirsiniz. NET-3, TCP/IP ve buna bağlı protokollerin Linux için geliştirilen bölümüne verilen isimdir.

8.1 Temel TCP/IP
TCP/IP, ilk defa ABDde ARPANet (Advanced Research Projects Agency Network) adı altında, askeri bir proje olarak geliştirildi. Önceleri askeri amaçlı düşünülen proje önce ünivesiteler tarafından kullanılmaya başlandı. Ardından ABDnin dört bir yanında birbirinden bağımsız geliştirilen ağlar, tek bir omurga altında NSFNet olarak adlandırıldı ve ulusal boyutu aşarak dünyaya yayıldı. İnternetin doğuşu da bu tarihe denk gelir.

Bir sokak üzerinde yeralan evlerin adresleri gibi, İnternete bağlı olan her makinanın da bir adresi vardır. Bu adres sayesinde bir bilgisayardan diğerine ulaşmak mümkün olur. İnternet adresi 4 bayttan (32 bit) ibaret olup yazılırken her bayt arasına bir nokta konulur. En çok kullanılan bu gösterim şekline örnek olarak, ODTÜdeki bir bilgisayarın adresi olan 144.122.199.20yi verebiliriz.

Bununla beraber, 4 baytlık numaraların kolayca hatırlanmasının mümkün olmadığından, İnternet üzerindeki makinalara alfanümerik adlar da verilebilir. Yukarıda örneğini verdiğim adresin ismi, knidos.cc.metu.edu.trdır. ilk noktaya kadar olan kelime, makina adıdır(yukarıdaki örnekte knidos), bundan sonraki noktayla ayrılmış bölümler özelden genele doğru makinanın ait olduğu kurum, kurumun tipi ve ülke gibi bilgiler içerir. Bu adlandırma yöntemiyle ilgili ayrıntılı bilgiyi Alan İsimlendirme Sisteminin (Domain Name System - DNS) anlatıldığı bölümde bulabilirsiniz.

8.2 İnternet Adresleri
İnternet üzerinde 3 sınıf adres vardır. Avrupada RIPE (Réseaux IP Européens) tarafından dağıtılan bu adresler daha sonra o yerin ağ yöneticisi tarafından uygun şekilde bölünebilir. Bu bölümlendirmeye ``subnetting işlemi adı verilir. Bu sayede ağlar gruplanarak herbirisinin yönetimi bağımsız hale getirilmiş, aynı zamanda da kısıtlı olan IP adresleri daha verimli bir şekilde kullanılmış olur.

Üç çeşit İnternet adresi şunlardır :

· · · A sınıfı İnternet adresi: Adresin ilk baytı 1 ile 126 arasında bir sayıdır. Bu adrese verilen yetkiyle toplam 2^24 makina adreslenebilir. Dünya üzerinde 126 tane A sınıfı adres vardır.

· · · B sınıfı İnternet adresi: Adresin ilk baytı 128 ile 192 arasında bir sayıdan oluşur. Bu adresin subnetlere bölünmesiyle 65534 farklı makina adreslenebilir.

· · · C sınıfı İnternet adresi: Adresin ilk baytı 192 ile 223 arasındadır. C sınıfı bir adresi blokuyla bağlı 254 bilgisayar adreslenebilir.

A ve B sınıfı adreslerin hepsi dağıtılmış ve şu anda intenet C sınıfı adreslerde de sıkıntı çekilmektedir. Adres yetersizliğine çözüm getirmek amacıyla IPv6 ya da IPNG adlarıyla daha uzun İnternet adresleri kullanan protokoller geliştirilme ve test aşamasındadır.

Bir İnternet adresi iki kısımdan meydana gelir: ağ adresi ve düğüm adresi. Her makina, bir ağ üzerinde bulunur ve bu adres ``ağ adresi olarak adlandırılır. Üç sınıf (A, B ve C) İnternet adresinin ağ ve düğüm adresleri farklı farklıdır. A sınıfı İnternet adreslerinde ağ adresini 1 bayt tayin eder. Örnek olarak hayali yazılan 74.198.59.33 makinasını tanımlayan ağ adresi 74tür. Ağ adresi uzun halde yazıldığı zaman kalan 3 baytın yerine 0 konur. Bu durumda yukarıda adı geçen makinaya ait ağ adresi 74.0.0.0 olacaktır.

Ağ adresinden geriye kalan düğüm adresi, bir makinanın İnternet sınıfına göre 1,2 veya 3 bayttan ibaret olabilir. Örnek olarak,

195.12.288.3 makinasının (C sınıfı) ağ adresi 195.12.288.0, düğüm adresi 3tür.

130.11.195.62 makinasının (B sınıfı) ağ adresi 130.11.0.0, düğüm adresi 195.62dir.

Düğüm adresleri yerine 4 baytı da kullanmak da olası. Yukarıdaki iki örnek için düğüm adreslerini sırasıyla 195.12.288.3 ve 130.11.195.62 olarak kabul edebiliriz.

Yukarıda sözedilen subnetting (alt ağlara ayırma), çok sıkça kullanılan bir yöntem olup getirdiği birtakım kolaylıklar vardır. Büyük bir iletişim ağı alt ağlara ayrılırsa, kontrol edilmesi daha kolaylaşır.

Bir kuruluş, kendine ait olan B sınıfı adresi subnetlere bölmek isteyebilir. Gerekli düzenlemeleri yaparak bir B sınıfı adresi (örneğin) 255 adet alt adrese ayırabilir. ODTÜnün NICden aldığı 144.122.0.0 ağı, 254 parçaya bölünmüş, bu parçalardan 144.122.71.0 alt ağı Bilgisayar Mühendisliği bölümüne, 144.122.34.0 alt ağı Kimya Mühendisliği bölümüne verilmiştir. Bundan sonra her bölüm kendi ağı ve üzerindeki makinalardan sorumlu olur.

8.3 Protokoller
Internet protokollerinin yaygınlaşmasındaki en önemli etkenlerden biri herhangi bir ağ donanımına ya da firmaya özel olmamalarıdır. Bilgisayarınız, işletim sistemiz ya da ağ bağlanma yönteminiz ne olursa olsun intenete bağlamanız mümkündür. İnternet protokolleri RFC adı verilen dökümanlarda açıklanır, bu dökümanlar herkese açıktır ve ücretsizdir. RFClere NIC ya da ODTÜdeki yansısından erişebilirsiniz.

Internet protokollerinin temeli Intenet Protocol (IP)dir. İnternet üzerinde yönlendirme(routing) gibi temel ağ işlemlerinin gerçekleştirildiği protokol katmanıdır. IP paketlerinin her biri kendi başlarına aradaki ağ cihazları tarafından yönlendirileren paket içinde belirtilen adrese ulaştırılır. Bu sırada fiziksel ağ farklılıklarından kaynaklanan paket parçalanmaları(fragmentation) ve bunların yeniden birleştirilmeleri aradaki ağ cihazlarının aşırı yüklenmelerini önlemek gibi görevler de IP katmanı tarafından gerçekleştirilir.IP bağlantı temelli(connection oriented) bir ağ protokolü değildir. Bunun yanı sıra IP paketlerin içeriklerinin doğruluğunu da garanti etmez. IP katmanı sadece başlık kısmında oluşan hataları bulur ve düzeltir. Internet üzerinde yönlendirme, yukarida sözü edilen adreslerden yararlanılarak yapılır.

Kullanıcı uygulamalarının IP katmanına doğrudan ulaşımları yoktur. IP ve uygulama programları arasındaki bağlantıyı sağlayan iki protokol vardır: Transmission Control Protocol (TCP) ve User Datagram Protocol (UDP). TCP, İnternet protokolleri arasındaki en önemli protokollerden biridir (İnternet protokol ailesi bu nedenle TCP/IP diye adlandırılır.). TCP, IP katmanının sağlamadığı bağlantı temelli, güvenilir servisi sağlar. TCP kullanarak ağ üzerinden veri aktaran programlar, bir dosyadan okuyormuş ya da yazıyormuş gibi güvenle ağ bağlantısını kullanabilirler. Arada oluşan hatalar TCP tarafından onarılır. IP protokol katmanına uygulma programları doğrudan erişemediklerinden, hata kontrolü ve bağlantı gerektirmeyen ya da bu işlemleri kendileri gerçekleştirmek isteyen uygulamalar UDP kullanarak ağ üzerinden iletişim sağlarlar.

Yukarıdaki protokollerin yanı sıra İnternet standardı olmuş birçok uygulama protokolü de vardır. Bunlar arasında, TELNET, FTP, SMTP ve HTTP gösterilebilir.

İnternet üzerinde paketler son makinaya ulaştıktan sonra, ilgili uygulama programına ulaşabilmesi için port adı verilen sanal numaralar kullnılır. Servis veren uygulamalar, önceden belirlenmiş standart port numraları kullanırlar. Örnek olarak SMTP 25 numaralı TCP portunu, talk ise 518 numaralı UDP portunu kullanır. Sisteminizin kullandığı port numaraları ve bunların isimlerini /etc/services dosyasından görebilirsiniz.

8.4 İnternete Bağlanma
Linuxu İnternete bağlamak ilk aşamada biraz zor görünse de biraz teori, biraz pratik yardımıyla mantık kolayca anlaşılabiliyor. Ağlar, bilgisayar sistemlerinde hata olma olasılığı en yüksek, en çok sorunun çıktığı alandır. Bu bölüm, özelde bir ethernet kartı ile bağlantı yapıldığı varsayılarak anlatılmıştır. Ancak anlatılan birçok kavram herhangi bir yapıdaki İnternet bağlantısı için geçerli olacaktır.

8.5 Yönlendirme
Daha önce de belirtildiği gibi birden fazla ağa fiziksel bağlantısı bulunan ve ağlar arası bilgi paketlerinin geçişine olanak tanıyan araçlara yönlendirici (router) adı verilir.

İki ayrı ağda yeralan makinaların haberleşmesine imkan tanıyan yönlendiriciler, kendilerine gönderilen paketleri bir ağdan diğerine iletirler.

Herhangi bir ağ içerisinde yer alan makinalar aynı IP ağ içerisinde bulunan makinalarla (ağ konfigürasyonları doğru olduğu sürece) haberleşebilirler. Başka adreslere ulaşabilmek için bulunulan ağ dışındaki ağlarla bağlantısı olan ve o ağ üzerinde bulunan bir makina ile haberleşmeleri gereklidir. Bu makina bilgisayar tanımlarında gateway (yönlendirici, arabirim, arayol) olarak verilir.

Minimum yönlendirme, bir ağa bağlı olmayan makinalarda, ifconfig yardımıyla yapılan yönlendirmedir. En çok kullanılan statik yönlendirme çeşidinde, az sayıda arayol ile dışarıya bağlı olan bir makinada, route komutuyla yapılır. Aynı adrese ulaşan birden fazla arayol olması durumunda ise, kendi yönlendirme tablosunu ağın durumuna göre değiştirebilen dinamik yönlendirmeye başvurulabilir.

Linuxun yönlendirici olarak kullanılmasına bir örnek verilebilir. Elimizde var olduğunu bildiğimiz iki ağ olsun. Bu ağlardan birincisini, 144.122.71.0 ağı, diğeri de 144.122.1.0 ağı olarak kabul edelim. 144.122.71.0 ağının İnternete bağlanabilmesi için 144.122.1.0 ağına ulaşması gereklidir. Yönlendirici olarak kullanılacak makinayı 71.0 ağında kurup gerekli yönlendirme talimatları verildiği anda bu ağa bağlı olan diğer makinalar da İnternete açılabilecektir.

8.6 NFS
NFS (Network File System), bir ağ üzerinden disklerin paylaşımını sağlamak üzere geliştirilmiştir. NFS sayesinde bir makinada yeralan belirli bir disk bölümü, başka makinalar tarafından okunabilir veya yazılabilir. Bu işleme özellikle büyük organizasyonlarda, disk alanından tasarruf etmek için başvurulur. Her makinada aynı dosyalar, çalıştırılabilir programlar olması yerine bunlar tek sunucuda toplanır, diğer bilgisayarlar bu alanı ortaklaşa paylaşırlar. Paylaşılan dizin, sanki yerel makinanın bir diziniymiş gibi davranır. Kendi disk alanını paylaştıran makinaya NFS sunucusu, bu diske erişim yapan makinalara da NFS istemcisi adı verilir.

NFS kullanımının pek çok avantajı sayılabilir. Bunlar kısaca:

· · · Yerel bir işletmede tüm kullanıcılar tek bilgisayar üzerindeki aynı disk alanını paylaşabilirler. Diğer bilgisayarlar açıldıktan sonra bu diskleri kendi dosya sisteminlerine bindirebilirler. NFSin NIS ile birlikte kullanımı sayesinde bir kullanıcı herhangi bir makinaya girip diğer kullanıcılarla birlikte aynı dosya yapısı ile çalışabilir.

· · · Paylaşım sayesinde büyük disk alanı isteyen programlar tek bir sunucuda toplanabilir ve bu sayede önemli miktarda diskten tasarruf sağlanabilir.

· · · Bir makina üzerinde yapılan değişiklik, her makinada yapılmış gibi olur. Böylece aynı yazılımı örneğin 20 bilgisayara yüklemek zorunda kalmazsınız.

8.7 Uzaktan Bağlantı Kurulması
İnternet üzerinde kesinlikle yanlız olmadığınıza göre, kimi durumlarda kendi Linuxunuz dışındaki sistemlere girmek isteyeceksiniz. Bunun için uyarlanmış çeşitli komutlar mevcuttur. Bu komutlar sadece bağlanmak için değil, iki makina arasında birtakım dosya transferi gerçekleştirmek için de kullanılabilir.

Linux (ve UNIX) için ağ uygulamalarında kullanılmak üzere geliştirilen temel olarak iki sistem vardır. Bunlardan UUCP (Unix to Unix CoPy), genel olarak iki makina arasında bir kere bağlantı kurup veriyi iletir ve bağlantıyı kapatır. Eski bir protokol olan UUCP, genellikle modemler arası veri iletişiminde işe yarar.

TCP/IP ise daha önce de belirtildiği gibi yerel ağ veya İnternet üzerinde rahatlıkla kullanılabilen bir protokoldür. TCP / IP nin uzaktan bağlantı komutları "r" harfi ile başlar. Örneğin rlogin (remote login) bir sistemden diğerine telnet bağlantısı yaparken rcp (remote copy) ise bir makinadan diğerine dosya kopyalar. Bu ve buna benzer uzaktan bağlantı komutları iyi bilmeniz size çalışmalarınız sırasında zaman kazandıracaktır.

"r" komutlarını kullanabilmeniz için kesinlikle TCP/IP protokolünü tanıyan bir ağ (PPP, Ethernet, SLIP gibi) üzerinde olmalısınız.

rlogin : Geçerli bir hesabınızın olduğu makinaya girmenizi sağlar. telnet komutuyla benzerlik gösterir. Ayrıldıkları nokta, karşıdaki sisteme girerken gerekli konfigürasyonlar yapılırsa şifre sormamasıdır. Bu kısma ileride değineceğim.

Aşağıdaki komut ile ordek isimli makinaya giriş yapılıyor.

$ rlogin ordek
Eğer yukarıdaki gibi yazarsanız, ordek makinasına ait IP numarası veya bu adresin tam isminin, örneğin ordek.cclub.metu.edu.tr/etc/hosts dosyasında yeraldığına emin olmanız gerekir. Karşı makinada bağlanılacak kullanıcı ismi de komut satırından belirlenebilir.

cclub:~$ rlogin ordek -l httpd
Password:
Last login: Fri Feb 21 22:02:46 from cclub.metu.edu.tr
Linux 2.0.27.
ordek:~$
Yukarıda yaptığımız, cclub makinasından ordek isimli makinadaki httpd kullanıcısına bağlanmak oldu. Üzerinde Linux çalışan ordek makinası doğal olarak bana bu kullanıcıya ait şifreyi sordu. ordek makinasında yeralan bir dosya üzerinde değişiklik yaparak istersem şifre sorulmadan anında girilmesini sağlayabilirim. Bunu .rhosts (remote hosts) dosyası sağlar.

.rhosts dosyasında makinaya bağlanabilecek olan kullanıcılar ve bunların hangi makinalardan bağlanacaklarını gösteren bir liste vardır. Biraz karışık mı oldu ? Şu örneği inceleyelim :

ordek:~$ uname -a
Linux ordek 2.0.27 #1 Sun Jan 19 13:06:08 EET 1997 i486
ordek:~$ whoami
httpd
ordek:~$ cat ~/.rhosts
cclub.metu.edu.tr gorkem
Yukarıda ördek makinası üzerindeki httpd kullanıcısının çalışma dizininde bulunan .rhosts dosyasında iki sütun yeralıyor. İlki, güvenilen makinanın ismi (cclub.metu.edu.tr), ikincisi de bu makina üzerindeki güvenilen kullanıcı (gorkem). .rhosts dosyası şifrenizi başkalarına vermeden istediğiniz makinadaki bir kullanıcının hesabınızı kullanmasını sağlar. Kısaca bir satırda herhangi bir kullanıcının makina ismi ve hesap ismi bu dosyada varsa, sisteme giriş izni verilir.

Bu aşamadan sonra cclub.metu.edu.tr adresindeki gorkem kullanıcısı şifre girmeden ordek.cclub.metu.edu.tr adresindeki httpd kullanıcısı olarak çalışmak isterse yapması gereken :

cclub:~$ whoami
gorkem
cclub:~$ rlogin ordek.cclub.metu.edu.tr -l httpd
Last login: Sun Feb 23 11:19:04 from cclub.metu.edu.tr
Linux 2.0.27.
ordek:~$
Artık ordek makinası üzerindeyiz. Şifre girmeden bir makinadan diğerine atlamış olduk. .rhosts dosyasında eğer makina ismi yerine "+" işareti kullanılırsa her makinanın veya kullanıcı ismi yerine "+" işareti kullanılırsa her kullanıcının giriş izni olduğu anlaşılır. Makina isimleri yerine IP adreslerini de kullanabilirsiniz. Birkaç örnek :

144.122.71.55 +
# (144.122.71.55 makinasi uzerindeki tum kullanicilara giris izni ver)
+ murat
# Butun makinalar uzerindeki murat kullanicilarina giris izni ver.
# (Cok buyuk bir guvenlik acigi)
rsh : Bazı durumlarda çalıştığınız makinada dışındaki bir sistemde bir veya birkaç kısa komut çalıştırmak isteyebilirsiniz. Örneğin karşı sistemde kimler, hangi işleri yapıyor veya çalışma dizininde yeralan dosyaları görmek gibi. Bütün bunlar telnet veya rlogin programına gerek duymadan rsh (remote shell) ile yapılabilir. Tek şart, üzerinde komut işletilecek makinadaki .rhosts dosyasında gerekli makina ve kullanıcı ismi girişi olmasıdır.

Diyelim ki davul.cclub.metu.edu.tr makinası üzerindeki /home/gorkem dizininde yeralan tüm dizin ve dosyaları görmek için :

$ rsh davul.cclub.metu.edu.tr ls -al /home/gorkem
komutunu girmelisiniz. rsh komutundan sonra uzaktaki sistemin ismi, ardından da çalıştırılacak olan komut gelmelidir. Diğer bir örnek

$ rsh davul.cclub.metu.edu.tr cat README | lpr
karşı sisteme giriş yapmadan README dosyasını yazıcıdan çıkmasını sağlayacaktır.

8.8 NIS
NIS Network Information Service kelimelerinin baş harflerinden oluşmaktadır. Amacı bir ağ üzerindeki bütün makinalara, bütün ağ tarafından bilinmek kaydıyla bilgi akışı sağlamaktır. NIS tarafından dağıtılacak bilgiler, hesap isimleri, şifreler, kullanıcı dizinleri ve grup bilgileri olabilir.

NIS yardımıyla, örneğin size ait şifre NIS veri tabanında kayıtlı ise, ağ üzerinde NIS istemci programlarını çalıştıran bütün makinalara girebilirsiniz.

NISin biraz daha gelişmiş bir sürümü olan NIS+ , verileri korumak amacıyla şifreleme yöntemi kullanır. Bu avantajına rağmen NIS+ ın kurulumu ve kullanımı daha zordur.

NISin Çalışma Prensipleri
Bir ağ üzerinde en az bir makina NIS sunucusu olmak zorundadır. İster herbiri farklı NIS ``domain lerine hizmet eden çoklu NIS sunucularına sahip olabilirsiniz, ya da beraber çalışan NIS sunucularınız olur. Bu durumda sunuculardan biri ana NIS sunucusu, diğerleri ise ikincil (slave) NIS sunucusu olabilirler.

İkincil sunucular sadece NIS veritabanının kopyalarına sahiptirler ve bu kopyaları ana NIS sunucusunda bulunan veri tabanlarında değişiklik yapıldığı zaman ana sunucudan alırlar. Ağ üzerinde bulunan makina sayısına ve ağ güvenliğine bağlı olarak bir veya daha fazla ikincil sunucu kurulabilir. Bir NIS sunucusu kapandığında veya çok yavaş cevap verdiğinde, diğer NIS istemcileri çalışan veya daha hızlı bir sunucu bulmaya çalışacaktır.

NIS veritabanları DBM adı verilen yapıdadır ve bu yapı ASCII veritabanlarından çıkarılır. Ana NIS sunucusu hem ASCII veritabanlarını hemde DBM veritabanlarını içermelidir. NIS sunucusu, ASCII yapıdaki /etc/passwd gibi veri tabanlarını DBM veri tabanına çevirerek /var/yp dizini altında tutar.

İkincil sunucular NIS haritalarında oluşacak değişikliklerden yppush programı aracılığıyla haberdar edilecek ve veritabanlarını senkronize etmek için otomatik olarak gereken değişiklikleri alacaklardır. NIS istemcilerinin bunu yapmasına gerek yoktur çünkü sunucudaki DBM veritabanlarında bulunan bilgileri okumak için devamlı olarak NIS sunucusu ile bağlantı kurmaktadır. İkincil sunuculara gayet büyük ağlar üzerinde ihtiyaç duyulur.

NIS İstemcisi
NISi kurmak için herşeyden önce /usr/sbin/rpc.portmap programını çalıştırmanız gerekir. Bazı Linux dağıtımları (örneğin Slackware) bu daemonu çalıştırmak için gereken kodu /etc/rc.d/rc.inet2 dosyasında barındırırlar.

RPC portmapper (man 8 portmap) programı bir sunucu olup RPC program numaralarını TCP/IP (veya UDP/IP) protokol port numaralarına çevirir. RPC portmapper o makina üzerinde RPC çağrılarını (NIS istemci yazılımının yaptığı iş) RPC sunucularına (NIS sunucuları gibi) yapılabilmesi için çalışıyor olmalıdır. Bir RPC sunucusu başladığı zaman, portmapa hangi port numarasını dinlediğini ve hangi RPC program numaralarına hizmet edeceğini bildirir. Bir istemci verilen bir program numarasına RPC çağrısı yapmak istediği zaman, ilk önce sunucu makina üzerindeki portmap ile bağlantı kurarak RPC paketlerinin nereye gönderileceğini belirler. Normal olarak, bazı RPC sunucuları inetd(8) tarafından başlatılır, bu yüzden portmap, inetdden önce çalıştırılmalıdır.

NIS kurmadan önce, yukarıda da belirtildiği gibi iki durumu değerlendirmek zorundasınız. Ya sizin makinanız halihazırdaki NIS sunucularının bulunduğu bir ağın parçası olacaktır, ya da henüz ağınızda herhangi bir NIS sunucusu yoktur.

Birinci durumda, sadece istemci programlara (ypbind, ypwhich, ypcat, yppoll, ypmatch) ihtiyacınız vardır. En önemli program ypbinddır. Bu programı her zaman çalıştırıyor olmalısınız. ypbind çalışır çalışmaz, makinanız bir NIS istemcisi durumuna gelir.

9. DNS (Alan İsimlendirme Sistemi)
9.1 Giriş
Bilgisayar ağlarının günümüzde oldugu kadar yaygın olmadığı dönemlerde makina, sunucu, yazıcı vb. ağ üzerindeki cihazlara ilgili nümerik adresleri ile erişmek kullanıcılar için fazla zor değildi. İnternetin beklenenden daha hızlı büyümesiyle birlikte artan kullanıcı ve ağ üzerindeki cihazlarla birlikte nümerik isimler yerine alfanümerik hatırlanması kolay bir yapı geliştirildi. Bu yapıya Alan İsimlendirme Sistemi (Domain Name System) adı verilmektedir. Genellikle kısaltılmış şekliyle DNS olarak da kullanılmaktadır.

Alan isimleri verilirken alt isimler (subdomain) genelden özele doğru sıra izler. Örneğin, Türkiye Linux Kullanıcıları Grubu olarak ODTÜde yer alan kullanıcıların kullanabileceği alan adı,

metu.linux.org.tr

şeklindedir. Burda alt isim (.) ile birbirinden ayrılmıştır. En alt seviye olan metu ODTÜde yer alan Linux kullanıcılarını, linux Linux grubunu, org Linux grubunun ticari kaygılar gütmeyen bir organizasyon olduğunu, tr ise ISO tarafından belirlenen Türkiyenin ülke kodudur.

En üst düzeydeki bazı alan isimleri asağıda listelenmiştir.

.com ticari kuruluşlar (commercial)
.edu üniversite düzeyindeki eğitim kurumları (educational)
.k12 lise düzeyindeki eğitim kurumları
.org ticari olmayan organizasyonlar
.mil askeri kuruluşlar (military)
.net ağ organizayonları (network)
.ülke kodu ISO tarafından belirlenen ülke kodu
10. Diğer Kullanıcılarla İletişim
İnternet, başdöndürücü bir hızla gelişmekte. Dünyada İnternete her gün onbinlerce kullanıcı eklenirken İnternete bağlı Türk insanının sayısı (şimdilik) yüzbinlerle ifade ediliyor. Bunda özellikle medyanın, İnternetin tanıtımına yaptığı etki çok büyük. Konuyla ilgili hemen her yazıda, bu dev ağın diğer ucundaki kullanıcılardan bahsediliyor. İletişim teknolojisiyle birlikte karşılıklı konuşmayı iyice azaltan kesimlerin İnternete olan merakı da buradan geliyor.

Gerçekten de İnternete bağlandığınızda hiç de yalnız olmadığınızı farkediyorsunuz. Biraz merakla, biraz uğraşla dünyanın öteki ucundan bağlanan insancıklarla bağlantı kurmak gayet kolay. İnternetle bilgisini, kültürünü artıran, yalnızlıktan kurtulan, hoşça vakit geçiren, hatta evlenenlere bile rastlanıyor. Bazen de bunun tam tersine, hayal kırıklığına uğrayanlar da var. Ama çoğunluk bu sonsuz derinliğe bir girdiği zaman sihrinden kurtulamıyor.

Diğer kullanıcılarla iletişim kurabilmek için sayısız yol yöntem var. Bunlardan en çok bilineni e-posta. Mektupla varışı günlerce sürebilecek bir mesaj, e-posta ile gönderdiğinizde bakmışsınız ki birkaç dakika sonra karşıda.

Bunun yanında haber gruplarına bağlanmak ve onbinlerce tartışma grubundan hangisini okuyacağını şaşırmak da var.

İrc (internet relay chat) ile binlerce odalı bir eve girip her ülkeden, her zevkte süresiz arkadaşlıklar kurmak mümkün.

Bunların hepsi Linux ile mümkün. Yazılımları kurduğunuz anda yüzlerce ülkeden milyonlarca kullanıcı sizi ekran karşısında bekliyor.

10.1 Etkileşimli İletişim Yöntemleri
Pine, kullanım kolaylığı ile kullanıcıya cazip gelirken, atılan mesajların karşıya anınında gitmemesi, hatta yolda kaybolması olasılığı bile vardır. Buna karşın bir kere atıldığı zaman e-postayı alan kişi bunu istediği zaman okur, yani e-posta atılırken karşıdaki kullanıcının sistemde o an bulunması şart değildir.

Write, talk ve irc, daha pratik ve anında iletişime izin veren programlardır. write ile aynı makina üzerindeki kullanıcıyla anında iletişim kurmak mümkün olur. Komut satırında write ve konuşmak istediğiniz kullanıcının ismini yazmak yeterlidir.

linux:~$ write gorkem
cok aciktim. yemege gidelim
Mesaj gönderme bittiği zaman Control-C yardımıyla çıkılabilir. Aynı şekilde mesajı alan kullanıcı da write ile cevap verebilir.

write, kısa süren mesajlaşmalarda etkili olurken uzun sürecek konuşmalarda genellikle talk kullanılır. talk yardımıyla mesajlaşan kullanıcıların herbirinin ekranları enine ikiye bölünür. Ekranın bir yarısında gelen mesajlar, öteki yarısında giden mesajlar görünür.

talk ve write genellikle iki kişi arasında iletişim kurmak için kullanılır. Bunların yanında irc, aynı anda binlerce kullanıcının bağlandığı bir dünyadır. Uygun bir yazılımla dünyanın dört bir yanında bulunan sunuculara bağlanmak suretiyle ircye girilebilir. Çok basit birkaç komutla yüzlerce kanala girip her kanaldaki onlarca kişiyle yazışmak olasıdır. İster özel mesaj gönderirsiniz, ister belirli bir konuda yapılan konferansa katılırsınız.
TeşekkürLer..
 
işe yarar şeyler yapmışsın eline koluna sağlık
 
eline sağlık güzel paylaşım
 
Allah Razi Olsun KardeŞŞ....
 
tşk arkadaşım eline sağlık
 
Paylasım için tşk ellerine sağlık .............
 
selam neden giremiyorum siteye ?? zararli icreik diyip engelliyor. googledan bu sayfayi buldum ancak bu sayfaya girebiliyorum :S anasayfaya giris war ama forumada war ama forumlarin icerigine giremiyorum



Reported Attack Page!













This web page at www.hackhell.com has been reported as an attack page and has been blocked based on your security preferences.










Attack pages try to install programs that steal private information, use your computer to attack others, or damage your system.

Some attack pages intentionally distribute harmful software, but many are compromised without the knowledge or permission of their owners.
 
Geri
Üst