Linux Nedİr ?

Siraç

Yönetici
Admin
Editör
#1
Linux Nedİr ?
1. LINUX NEDİR ?
1.1 Linux Tarihçe
Linux, UNIX benzeri, serbestçe dağıtılabilen , çok kullanıcılı, çok görevli ve güçlü bir işletim sistemidir. Linux'un kalbi olan kernel (çekirdek), başta Linus Torvalds olmak üzere dünyanın dört bir yanındaki yüzlerce programcı tarafından ortak geliştirilmiştir. Linux sadece Intel değil, Sparc, Alpha, Macintosh platformlarında da çalışabilir. Çok az donanım ihtiyacı olduğu için evinizde Linux'u rahatlıkla kurabilir ve kullanabilirsiniz.

Linux işletim sisteminin her aşaması açık olarak internet üzerinde yayınlanmakta, dünyanın dört bir yanında kullanıcılar tarafından test edilmekte, hataları ve eksiklikleri tespit edilerek düzeltilmekte ve geliştirilmektedir. Bu açıklık Linux’un en büyük avantajlarından biridir.

Linux, Andy Tannenbaum tarafından geliştirilmiş olan Minix işletim sistemine dayanmaktadır. Linux Torvalds boş zamanlarında Minix’den 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ı. Linux, 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 şeklinde belirtilen çekirdek türevlerinde y bulunulan seviyeyi, x gelişim aşamasını göstermektedir. Tek sayılı x’ler geliştirme aşamalarını çift sayılı x’ler ise güvenilir Linux çekirdeklerini göstermektedir. 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.47’dir.
1.2 Linux’un Desteklediği Donanımlar
Linux'un donanımdan sonuna kadar faydalanması neticesinde son derece düşük donanım maliyeti vardır. Desteklediği kartlar piyasada her an bulunabilir cinstendir.

En düşük donanım ihtiyacı 386 SX/16 işlemci ve 4Mb RAMEn az 150 Mb boş disk bölümü ve bir takas bölümü.

Kullanılabilir donanım ihtiyacı; Bir Pentium işlemci 32Mb RAM, 1.5 GB boş sabit disk alanı ve bir takas alanı; iyi bir grafik ekran görüntüsü alabilmek için en az 1 ya da 2Mb bellekli ekran kartı, fare (PS/2, Microsoft, Mouseman).

CPU (MİB - Merkezi İşlem Birimi)

386 ve üzeri Intel uyumlu tüm işlemciler (386, 486, Pentium, PentiumII, Pentium Pro, Celeron ve türevleri) ile değişik üreticilerin dağıttığı Intel uyumlu işlemcilerde (AMD, Cyrix) Linux sorunsuz olarak çalışabilir. Amiga'larda kullanılan Motorola işlemcilerde de (68020, 68030, 68040 ve 68060) Linux çalışabiliyor. Bunların yanında daha gelişmiş sayılan DEC Alpha, SPARC, StrongARM, MIPS, HP PA-RISC ve PowerPC (Macintosh'larda kullanılan) işlemcilerde de Linux kurulmuştur.

Mimari

ISA, EISA, VESA ve MCA (IBM PS/2'lerde kullanılan Micro Channel Architecture) mimarilerindeki anakartlar desteklenir. Yerel veri yollarından VLB ve PCI da Linux ile sorun çıkartmadan çalışacaklardır.

Bellek

4 GB'a kadar RAM desteklenmektedir.

Sabit disk

EIDE ve IDE diskler ile MFM ve RLL'e sahip 8 ve 16 bitlik sabit disk denetleyicileri Linux tarafından desteklenir. Benzer şekilde SCSI denetleyicisi desteklenen (Advansys, Adaptec AHA 1542, 1522, 1740, 27xx ve 29xx gibi) tüm SCSI sabit disk ve CD-ROM'larla Linux altında çalışabilirsiniz. CD-ROM aygıtlarından Matsushita/Panasonic, Mitsumu, Sony, Soundblaster, Toshiba ve ATAPI gibi türler de desteklenenler arasındadır.

Ekran

Metin ekranlarda SVGA, VGA, EGA, CGA veya Hercules kartlar ile X Window grafik ekranı altında S3, ATI Mach8/32/64, Trident, ET3000/4000, Paradise, Cirrus Logic gibi kartlar desteklenir.
Ağ kartları
Onlarca tip ethernet kartı desteklenir ve halen bu liste gittikçe artmaktadır. 3COM, WaveLAN, Western Digital, D-Link, Intel, DEC, HP, AMD, Zenith firmalarının ürettiği kartların çok büyük bir çoğunluğu tanınabilir. Genellikle en sık kullanılan ethernet kartları NE2000 ve 3COM uyumlulardır.

16450 ve 16550 UART tabanlı seri kartlar ve tüm asenkron modemler Linux altında çalışır. Internal (makinanın içine takılan) veya external (makinanın dışında duran) modemler ile Linux yardımıyla Internet'e bağlanabilirsiniz. Winmodem'leri Linux ile birlikte kullanamazsınız. ISA modemler Linux ile sorunsuzca çalışır.

Ses Kartları

Linux, SoundBlaster, ProAudio Spectrum, Gravis Ultrasound, AWE 32/64, Sound Blaster Live gibi en son çıkmış ses kartlarını destekler.

Yazıcılar

Linux'un yazıcı desteği nispeten kısıtlıdır. Windows uyumlu olduğu söylenen birtakım yazıcılar Linux altında çalışmazlar. Aslında temel bir kural olarak şunu belirtebiliriz ki paralel veya seri porta takılan her yazıcı ve çizici, sürücüsü olduğu sürece Linux tarafından desteklenir. Hatta bir yerel ağ üzerinden bu yazıcılar birden çok makinaya paylaştırılabilir.

Fare

Linux, Microsoft, Mousesystems ve Logitech serial mouse, ATI XL, Logitech ve Microsoft busmouse ile PS/2 mouse desteklenir.

Linux, 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 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 Gbyte’a 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-ATABI 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 Ultrasonud olmak üzere birçok ses kartı desteklenmektedir.
1.3 LINUX’un Desteklemediği Donanımlar
Birtakım donanım firmaları sadece windpws tabanlı ve uyumlu donanım parçaları üretmeleri ve yazılım firmalarının da bu işletim sistemini destekleyen sürücüleri çıkartamaması nedeniyle Linux altında bazı çalışmayan ürünler bulunmaktadır.bunlar:
Tüm HP Deskjet 820xx serisi ve sadece windows uyumlu yazıcılar.
Multiwave Innovation CommWave V.34 modem
US Robotics WinModem serisi ve tüm HCF modemler
US Robotics Sğortster Voice/Fax modem (X’ model 1785 internal PnP)
Boca modem (model M3361)
Boca Research 28.8 dahili modem (model MV34AI)
Zoltrix 33.6 Win HSP Voice/Speaker Phone modem
Motorola ModemSURFR dahili 56K
Compaq 192 PCMCIA modem/serial kartı
New Media Winsurfer PCMCIA mode/serial kartı
Sharp JX-9210 yazıcısı
1.4 LINUX’un En Önemli Özellikleri
Linux’un en önemli özelliklerini açıklayabilmek için Linux’un temel parçalarını ve bunların özelliklerini verelim.

Çekirdek

Linux’un çekirdeği bir bakıma sistemin beyni sayılabilir. Aslında çekirdeğin adı Linux’tur. Bütün versiyonları aynı çekirdeği kullanır. Değişenler dosya ve dizin yapısı, dağıtıma giren belgeler, paketler, dağıtımın fiyatı ve dağıtımın hedeflediği kullanıcılardır.

Çekirdek, sistemin düzgün çalışmasından, bilgisayar kaynaklarının düzenlenmesinden, kullanıcıların görevlerinin sırasıyla yapılmasından, bellek denetiminden, yan birimlerin (CD-ROM, teyp, disket sürücü vb.) çalışmasından ve benzeri işlemlerden sorumludur. Programlar, çekirdek içindeki “system call”lar (sistem çağrıları) yardımıyla birbiriyle haberleşirler. Çekirdeği oluşturan sistem çağrılarından kullanıcılarda yararlanabilir. Böylece bir CD, ethernet kartı ya da disk üzerindeki bir dosyaya erişim mümkün olur.
Linux’ta sistemin temel yönetimi çekirdek tarafından yapılır.

Birden Çok Kullanıcı

Linux, birden çok kullanıcıyı desteklemek için yazılmış ve ona göre programlanmıştır. Birden çok kullanıcı tarafından aynı kaynaklar paylaşıldığı için zamandan ve paradan tasarruf edilir.

Birden Çok Görevin Aynı Anda Yapılması

Linux, birden çok görevin aynı anda yapılmasına olanak veren bir sistemdir. Siz bir klavyaeye bastığınız zaman yapılan işlem ile makineye uzaktan bağlanan bir başka kullanıcının işlemleri birbirinden bağımsız çalışır. Aynı anda arka planda örneğin bir web sayfasını sunan programlar olabilir, ya da bir başkası ftp isteğinde bulunabilir. Diyebiliriz ki Linux çokgörevli bir işletim sistemidir.

Kararlılık

Linux, 1.0 sürümünün Internet sitelerine konulduğu 14 Mart 1994 yılından beri beta denemelrini geçmiş ve kararlı bir yapıya bürünmüştür. Çekirdekte halan hatalar vardır ve üzerine yeni kodlar eklendikçe bu hataların yenilerinin gelmesi kaçınılmazdır. Ancak Linux açık bir şekilde geliştiğinden sürekli bir kontrol altındadır. Çekirdeğin iki farklı sürümüde internette dağıtılır. Örnek olarak 1.2.13 kararlı bir çekirdek sürümüdür. 1.3.56 ise halen üzerinde geliştirme yapılıyor ve test ediliyor anl----- gelir. Çekirdek sürümünün ortasındaki rakam tek ise bu çekirdek deneyseldir. Hala test aşamalarından geçmekte ve üzerinde sürekli yeni kod yazılıyor demektir. Çift olması durumu ise bu çekirdeğin kullanılabilir ve çok büyük ihtimalle kararlı olduğu anl----- gelecektir.

Linux’un kararlı bir işletim sistemi olmasının en büyük kanıtı, Internet üzerindekullanıldığı alanların genişliği ve bu konudaki yönetici memnuyetleridir.

Çok İşlemci Desteği

SMP (symmetric multi processor - simetrik çok işlemci) desteği Linux’ta Intel ve SPARC platformlarında mevcuttur. Sürüm numarası 2.0 ile başlayan çekirdekler açılırken sistemde kaç tane işlemci olduğunu bulur ve buna göre kendini ayarlar. Linux ile 16 işlemciye kadar olan sistemler doğrudan desteklenebilir.

Linux ve Ağ Teknolojileri

Linux üç değişik şekilde ağa bağlanabilir: broadcast (örneğin ethernet), Token Ring (örneğin FDDI) veya noktadan noktaya (örneğin modemle PTT) bağlantı.

Linux, doğrudan doğruya internete bağlanabilmesi için TCP/IP desteği ile gelir. TCP/IP nin yanında NetBEUI, Samba (windows makinelerinin birbiriyle konuşmak için kullandıkları protokol), Appletalk (Macintosh makinelerin kullandığı protokol) gibi protokoller de desteklenir. Daha za kullanılan ama Linux’un desteklediği protokoller arasında Ipv6, AX.25, X.25, IPX ve Netrom bulunur. Linux, geniş bir ağ desteği ve protokol ailesi ile birlikte gelmektedir.

Güvenlik Meanizması

Linux, 386 ve üstü işlemcilerde korumalı kipte çalışır. Çalışan programlar arasında bir koruma vardır. Bu koruma yardımıyla bir program özel şartlar olmadıkça diğer programların çalışmasını engelleyemez. Çok kullanıcılı bir sistem için bu çok önemlidir. Benzer şekilde herhangi bir kullanıcı istediği gibi bir program yazıp sistemin kapanmasını veya çalışamaz hale gelmesine neden olamaz. Kullanıcıların dosya ve dizinleri basit bir koruma mekanizması kullanılarak diğer kullanıcıların görmesini engelleyecek şekilde saklanabilir. Linux, geniş güvenlik mekanizması içerir.

Linux ve çekirdek bunların yanında aşağıdaki özelliklere de sahiptir:
Birden fazla programın çalışması halinde bellekte bu programların sadece bir tanesi tutulur. Böylece bellekten tasarruf sağlanır.
Çalıştırılabilir bir program, belleğin tamamından büyük olabilir. Bu durumda programın sadece o an kullanılan bölümleri belleğe alınır ve çalıştırılır. Böylece bellek kısıtlaması programın çalışmasına engel teşkil etmez.
Disk alanı yadımıyla belleğin yetmediği durumlarda fazla veri diske yazılır. Bu bölüme takas alanı (swap space) denir. Her biri en çok 2Gb tutan 16 tane takas alanı açılabilir.
Paylaşılan kütüphaneler dinamik veya statik olabilir. Yani bir kütüphane aynı anda birden çok program tarafından yüklenebilir (dinamik), veya bir programın içine gömülebilir (statik). Linux’un çekirdeği büyük oranda POSIX , System V ve BSD standartlarıyla uyumludur. Pek çok klavye tipini destekler.
Aynı anda birden çok sanal ekranı destekler. Konsolda oturuken birden fazla (en çok 64) giriş yapabilirsiniz.
Minix, Xenix, FAT, VFAT, FAT^’, HPFS (OS/2’nin kullandığı dosya sistemi), HFS (macintosh’un kullandığı dosya sistemi) gibi dosya sistemleri desteklenir. Kendisine ait olan en hızlı ext2 dosya sistemi 4TB’a kadar bilgiyi adresleyebilir ve 255 karaktere kadar dosya isimlerini gösterebilir.
Joilet ve ISO9660 standartlarında yazılan CD-ROM’ları okuyabilir.
1.5 Linux’un Genel Kullanım Amaçları
Linux işletim sistemi özel kullanım başta olmak üzere birçok alanda yaygın olarak kullanılmaktadır.

1.5.1 Kişisel Kullanım

Linux evinde veya işinde UNIX işletim sistemi altında çalışmak isteyenler için ideal bir platformdur. Linux altında yer alan uygulamalar giderek sıradan bir kullanıcı için bile bu işletim sisteminin ilgili çekici hale getirmektir. 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.

1.5.2 Internet Sunucusu

Linux doğrudan TCP/IP desteğiyle gelmektedir. Bu yönüyle TCP/IP temelli bilgisayar ağlarında hem istemci hem de sunucu olarak yaygın kullanım bulmuştur. Üzerinde hali hazırda bulunana servislerin çeşitliliği, yeni çıkan servislere hızlı ayak uydurması, kolay konfigüre edilebilmesi ve özellikle de düşük maliyeti sebebiyle yaygın olarak internet servislerinin verilmesi amacıyla kullanılmaktadır. Zamanla verdiği ağ servisleri başka protokollere destek verecek şekilde 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, SAMBA sunucu (Windows 3.1, Windows 95; Windows NT ve WfW için disk ve yazıcı servisi), APPLE TALK sunucu (MacOS kullanan APPLE makineler için disk ve yazıcı servisi) verebilmektedir.

1.5.3 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ı ile bir yönlendirici (router) olarak da kullanılabilmektedir. Özellikle farklı protokoller arası bir geçiş elemanı olarak yaygın şekilde Linux’den yararlanılmaktadır. Ayrıca yönlendirici olarak kullanıldığında kolaylıkla güvenlik amacıyla firewall (alev duvarı) olarak konfigüre edilebilmektedir. Ayrıca bir ağ üzerinde bulunan iki segmanın trafiğini birbirinden ayıran bir köprü (bridge) olarak hizmet verebilmektedir. Birçok kurumda bir veya daha çok modemin bağlanması amacıyla bir terminal sunucu olarak Linux kullanılmaktadır.

1.5.4 Internet Haberleşmesi

Linux ile modem yardımıyla bağlandığınız sağlayıcının size sunduğu olanakların tamamını Linux ile kullanabilirsiniz. Linux kolay yapılandırılabilen, yeni çıkan servislere hızlı ayak uyduran, ucuz ve güvenli bir işletim sistemi olduğundan, yaygın olarak internet haberleşmesinde kullanım bulmuştur. Linux’ta çalışan Apache web sunucusu, dünya üzerindeki web servislerinin %57’sinde kullanılıyor. Tüm web sunucularının %10’unun Linux üzerinde çalıştığı tahmin ediliyor.

1.5.5 Yazılım Geliştirme

Linux geniş yazılım arşivi ve kütüphanesi ile birlikte sunuluyor. C, c++, Java, Ada, Fortran, Pascal, Lips, Scheme, Tcl/Tk başta olmak üzere hemen her programlama dilinin yorumlayıcı ve derleyicisini bulabilirsiniz. derleyicilerin yanı sıra daha kolay yazılım geliştirmeye olanak kılan hata ayıklayıcılar (debuggers), otomatik yapılandırma yazılımları (configure) ve programın performansını denetleyen paketler (gprof) bulunur. Gcc C derleyicisinin 100’den fazla seçeneyi var ve programcıya rahat bir programlama ortamı sunar.

Grafik tabanlı Tcl/Tk programlama dili; menüleri, pencereleri kolyca yaratmanızı sağlıyor. C tabanlı Xforms, Qt ve Gtk kütüphaneleri X Window altında hızlı grafik programlama için kullanılabilir. KDE Qt ile, X-ISP Xforms ile, GNOME pencere denetleyicisi ise Gtk kütüphanesi ile yazılmıştır.

Unıx/Linux makineler için geliştirilen yazılımlar genellikle çalıştırılabilir halde dağıtılmaz, kaynak kodları ile birlikte verilir. Bumları internetten indirdikten sonra açmalı ve uygun derleyicilerle derlemelisiniz.
1.6 LINUX’un Yazılım Özellikleri
1.6.1 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 yer alan hemen hemen tüm komutlar, Linux’a 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, Linux’ta 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 metim 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ınde zsh, ash, ksh ve csh sayılabilir.

1.6.2 Uygulama Programları

Doğru seçilmiş bir donanım üzerine kurulan bir Linux makinesi, hemen her tür çoklu ortam (multimedia) uygulamalarını rahatlıkla çalıştırabilir. En az pentium tabanlı, 32 Mbyte RAM ve 2 GB sabit diske sahip makine yardımıyla ticari olarak satılan çoklu ortam uygulamaları kullanılabilir. Linux, hemen her türlü ses kartını desteklediğinden ses dosyalarının, workman ve 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.

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

Ayrıca Doom, Quake, Abuse, Xtetris, FreeCiv, Imaze vb. onlarca oyun Linux’da oynanabilir.

1.6.3 Grafik Arabirimi (X Window Arabirimi)

Linux işletim sistemi altında X Window sistemiyle Windows altındaki gibi grafik arabirimiyle birlikte çalışabilinir. Windows ile uğraşan herkes X Window’a geçebilir. X ile ekranda aynı anda birden fazla pencere açılabilir (20 kadar pencere denetleyicisi vardır), fare yardımıyla birden fazla uygulama aynı anda kontrol edilebilir.

Pek çok uygulamanın (özellikle internet 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 klavyeyle fareden 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 olwm’dir.
1.7 Linux ve Diğer İşletim Sistemleri
Linux işletim sistemi, diğer sistemler ile birlikte aynı sabit diski paylaşabilir. UNIX’i öğrenmek için kesinlikle en kolay ve ucuz olan 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, internet bağlantılarını, e-posta ve haber grubu alışverişini Linux sayesinde yapmaktadır.

Genelde kişisel bilgisayar satın alındığında üzerinde MS-DOS veya türevi bir işletim sistemi yüklenmiş olur. Fakat MS-DOS arabirimi programlanırken ileriyi düşünmeyen programcılar, bu işletim sistemine Linux’te olan bazı hayati özellikleri kazandıramamışlardır. MS-DOS, çok kullanıcılı bir sistem değildir ve aynı birden çok işi yapamaz. Fakat Linux bu özelliklere sahiptir.

Tüm bu olumsuzluklara rağmen yine de MS-DOS kullanılmak isteniyorsa; ücretsiz dağıtılan MS-DOS ve Windows emülatörü yardımıyla MS-DOS altında çalışan programların hemen hepsi Linux’la da çalışabilir. WinWord 2.0, sysinfo, Civilization ve Qbasic Linux altında sorunsuz çalışan MS-DOS/Windows programlarından birkaçıdır.

Profesyonel bir yatırım sayılabilecek Windows NT’nin çok gö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 makine ister. IBM firmasının geliştirdiği OS/2 de NT2ye benzer şekilde çok görevli işletim sistemi olup fiyat/performans oranı açısından makul sayılabilecek bir işletim sistemi olarak göze çarpar.

İnternet’in kendisi UNIX tabanlı olduğu için Linux bu alanda yukarıda adı geçen sistemlerden daha avantajlı bir duruma gelir. Dağıtımı tek firma ile sabit olmadığı için değiştirme aşamasında dünyanın dört bir yanından katkı ve destek gelir. UNIX’e belirli bir standart getirilmesi için yapılan çalışmalara uyan Linux, POSIX standardı destekler.

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

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,
Bilgisayarla 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.

1.8.1 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 ücretsizdir. 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 hafızasını iki katına çıkarmak için harcanacak para ile bir Linux-PC’nin hafızasını iki katına çıkarmak için harcanması gereken parayı kıyaslamayı deneyin. Fakat şirketler bazında Linux’un 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şmektedir. 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 belirli bir donanım için daha hızlı destek verebilmektedir.

Linux çok değişik donanımlar ve servisler için ö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ırmaktır. (Örnek olarak SCSI donanımınız yoksa çekirdeğinizde SCSI ile ilgili alt programlara yer vermezsiniz)

1.8.2 Dezavantajları

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

Linux’un sürekli değişiyor olması en büyük dezavantajlarından biridir. Henüz tüm ihtiyaçlara cevap vermemesi, gelişimin bazı aşamalarında topyekün değişiklik 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çmaktadır.

Diğer işletim sistemlerinde olan teknik destek, dağıtım ve dökümantasyon alanlarında eksiklikleri vardır. Bu konudaki eksikleri 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 kutumlar 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.

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.

2. LINUX KURULUMU VE BAŞLANGIÇ

Linux hakkında ilk önemli dökümanlar yazıldığında, Linux çalıştırabilecek bilgisayarların özellikleri önemliydi. Linux 32 bitlik bir işletim sistemi 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ışması gerekir. Pratik olarak bugün piyasada bulunan hemen hemen her IBM-PC uyumlu kişisel bilgisayarda Linux çalışabilmektedir.

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

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

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

Linux başka işletim sistemleri ile aynı sabit diskte bulunabilir. Makinanıza Linux yüklemek için mevcut işletim sisteminizi kaldırmak zorunda değilsiniz. Fakat yine de Linux yükleyebileceğiniz bir miktar alan ayırmak zorundasınız. Bir bilgisayara Linux yüklemek için bilgisayarınız üzerinde bir başka işletim sisteminin bulunmasına gerek yoktur, Linux tam anlamıyla kendi başına 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 Mbyte’lık bir alana çalıştırı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ğılımlar oluştururlar. Bir Linux dağılımı temel olarak bir makineye Linux kurmak ve o bilgisayar üzerinde Linux’la çalışmak için gerekecek tüm yazılımları ve paketleri içerir, bu yazılımların yüklenmesi için bir yükleme yazılımı sağlar.

Şu an mevcut çok çeşitli Linux dağılımları mevcuttur. Bu dağılımlar içerdikleri paketler ve yükleniş çeşitleri açısında bazı ufak tefek farklılıklar gösterseler de temelde aynı işletim sistemini yüklerler. Bir Linux dağılı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ğılımlar senede ancak birkaç kere oluşturulurlar.

Linux dağılımları geleneksel olarak 3.5” lik disketler halinde hazırlanırlar. (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
2.1.1 Internet
Tüm Linux dağılı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ğılımı 110 Mbyte civarında yer kaplamaktadır. Internet aracılığıyla dağıtım elde etmek, yerel kullanıcılarına yeni dağılımlar sunmak isteyen sistem sorumluları için ilginç bir çözüm olmaktadır.

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

2.1.3 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ğılı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ı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ı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 Internet üzerinde FTP arşivlerinde bulunmaktadır.

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. Internet bağlantısı olan bir kurumda çalışmayan (veya bu tür bir kuruma erişimi bulunmayan) birisi için CD-ROM çok iyi bir çözümdür.

Internet bağlantısı bulunan (özellikle akademik) kurumlarda güncel dağıtımların Internet ü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.2 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ılmıyorsa, tavsiye edilmese bile MS-DOS formatlı bir disk üzerinde de kurabilir (UMSDOS) ancak bu sistemin performansı diğerine göre oldukça düşük olacaktır. Bu dökümanın geriye kalan tüm kısımlarında bilgisayarınıza Linux yüklemek için sabit disk üzerinde Linux’a özgü bir bölüm ayrılacağı ve bu bölüme yükleyemeceği kabul edilecektir.
MS-DOS formatlı bir disk hiyerarşisi altına Linux kurmak için USMDOS-HOWTO dökümanından yararlanabilirisiniz. 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 ayırmış durumdasınız.
MS-DOS kullanıyorsanız diskinizin bir (sadece CJ veya birden fazla (C: D:..) bölüme ayrılmış durumda olabilir. MS-DOS altında bir disk üzerinde en fazla 4 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 formatlandırmanız ve yedeğini aldığınız yazılımları yeniden yerleştirmeniz gerekecektir.

Bazı yazılımlar mevcut bölümünüzü iki parçaya ayırabilirler. Örnek olarak fips bu amaçla kullanılan bir yazılımdır. (Diskinizin ü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). Ftips, defrag programı kullandıktan sonra bölümünüzü sizin belirleyeceğiniz boyutlarda 2 bölüme ayırabilir.

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

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. Linux’un kaplayacağı alan, hangi paketleri kullanacağınıza çok bağlıdır. Kabaca bir disketin 2-3 Mbyte arasında yer kaplayacağını düşünerek, yüklemek istediğiniz disketleri hesaplayarak kaba bir tablo çıkartabilirsiniz. Tecrübeli bir Linux kullanıcısı hangi yazılımları kullanıp hangilerini kullanmadığını daha iyi belirleyecek 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 ayırması gereken alanın gerçek hafızanın 2 katının biraz fazlası olarak kabul edilmektedir. Pratikte 10-60 Mbyte arasında bir alan fazlasıyla yeterli kalmaktadır. Ancak takas bölmeleri 128 megabytedan daha büyük olamaz. Eğer 128 megabytedan daha büyük takas alanı gerekiyorsa birden fazla takas bölmesi ayartmalısınız. Toplam 16 tane takas bölmeniz olabilir.

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

Boot ve root disketleri, Linux dağılımı ile birlikte gelirler. Eğer bir CD-ROM dağıtımı kullanıyorsanız, büyük ihtimal disketler CD-ROM ile beraber geleceklerdir. Eğer dağıtımı Internet’ten alıyorsanız bu disketler bir disket görüntüsü olarak bulunacaklardır. Yapmanız gerek 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 gerekmektedir. Örnek vermek gerekirse, NFS üzerinden Linux yüklemek için çekirdek içerisinde mutlaka ağ (network) desteğinin olması gerekmektedir ama ses kartı desteğinin olmasına gerek yoktur. Linux yükledikten sonra derleyeceğiniz bir çekirdeğe ses kartı desteği vermesini sağlayabilirsiniz.

Bir işletim sisteminin sabit diske yüklenme aşamasında kullanıcıya sağlayacağı en büyük kolaylık, deneyimli kullanıcılar için tüm paketleri kurmadan önce sormak, Linux’u bilmeyen ve sabit diskine Linux kurmak isteyen yeni kullanıcılar için ise kurulum aşamasını mümkün olan en az soru ile bitirip daha önceden belirlenmiş 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örebilmek için ilgili dağıtımla gelen README dosyalarına bakmak gerekecektir. Şu anki Slackware dağıtımı ile gelen boot disketlerinden bazıları ;

Bare.i IDE sabit disklere, sabit disk veya IDE/ATAPI CD-ROM’lardan yükleme yapmak için
Net.i IDE sabit disklere, NFS üzerinden yükleme yapmak için.
Scsinet.s SCSI sabit disklere, NFS üzerinden yükleme yapmak için. Buna ek olarak değişik SCSI denetçileri için 25 kadar değişik boot disketi bulunmaktadır.
Xt.i Bu açılış disketinde sadece IDE ve XT sabit disk sürücüleri vardır.

Boot ve root disketlerinizi de elde ettikten sonra artık bilgisayar ilk defa Linux altında çalışmak için hazırdır. Boot disketini takarak sistemi açın, (PC’nin açılma sırasının A:,C: olmasına dikkat ediniz). 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 yeteneğ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ı kullanacaksını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ınız şu anda sizden bir kullanıcı ismi beklemektedir. “root” yazarak sisteme girin.


2.3.1 Ön Hazırlık

Yüklenmenin her aşaması setup yazılımı tarafından yürütülür. Ancak ilk olarak disk alanlarının tanımlanması gerekmektedir.Bu amaçla setup programı kullanılır.

Linux altında bir bilgisayara bağlı her cihaza bir dosya gibi erişilebilir. Her cihaza karşılık gelen bir sistem dosyası mevcuttur.cihazlarla ilgili dosyalar /dev dizini altında yer alır. IDE sabit diskler “hd”, SCSI sabit diskler “sd” olarak adlandırılır. Aynı anda bir bilgisayara birden fazla disk bağlanmış olabilir. Diskler sırasıyla a b c d olarak adlandırılır. Her disk üzerinde birden fazla bölüm olabilir. Bu bölümler 1 2 3 4 olarak numaralandırılır. Örnek:

/dev/hda, bir numaralı IDE (Primary Master) diski
/dev/hda1, bir numaralı IDE diskin ilk bölümü (DOS altında c

/dev/hda2, bir numaralı IDE diskin ikinci bölümü
/dev/hdb, iki numaralı IDE (Primary Slave) diski
/dev/hdc, üç numaralı IDE (Secondry Master) disk
/dev/hdd, dört numaralı IDE (Secondry Slave) disk
/dev/sdb3, ikinci SCSI sabit diskin üçüncü bölümü

göstermektedir.

2.3.2 FDISK

Birden fazla sabit disk varsa hangisi ile ilgilenecek belirtilmelidir. Fdisk’i kullanırken dikkat edilmelidir. Her an yanlış bir diski formatlama yapabilirsiniz.

Fdisk komutu hardisk bölümlerinin düzenlenmesi için kullanılır. Eğer komut satırında parametre verilmezse fdisk ilk bulduğu disk üzerinde işlem yapacaktır. Komut satırında istenilen disk belirtilmelidir.

Fdisk paremetreleri:
/fdisk -v: Fdisk programının sürümünü ekrana getirir.
Fdisk -l: /dev/hda, /dev/hdb, /dev/sda, /dev/sdb, /dev/sdc, /dev/sdd, /dev/sde, /dev/sdf, /dev/sdg ve /dev/sdh disklerinin (varsa) bölümlendirme tablosunu ekrana yazar ve çıkar.
Fdisk -s <disk-bölümü>: Eğer bir DOS bölümü değilse (bölüm numarası 10’dan büyük), sözkonusu disk bölümünün büyüklüğü bayt cinsinden ekrana yazılır.

Örnek FDISK Çalışması

Bu örnek içerisinde 1 Gbyte’lık SCSI sabit disk’e sahip makine üzerinde LINUX için gerekli kısımların ayrılması adım adım incelenmiştir. Söz konusu sabit disk üzerinde kullanıcı önceden 400 Mbyte’lık bir kullanıcı alanı tanımlamış ve geri alanı LINUX için ayırmıştır.

Fdisk programı çalıştığında ilk olarak mevcut bölümler hakkında bilgi almak için p komutunu (Print Partition Info) kullanılır.
Command (m for help): p
Disk /dev/sda: 34 heads, 61 sectors, 1017 cylinders
Units = cylinders of 2074*512 bytes

Device Boot Begin start End Blocks Ld System
/dev/sda1 * 1 1 395 409584+ 6 DOS 16-bit>=32M

bu tablo 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 Mbyte’lık bir kısım istediğimizi belirtiyor. Yarattığımız bu bölümü p komutu ile inceliyoruz .
Command (m for help): p

Disk /dev/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 Mbyte’lık 3.temel bölümü tanımlayalım:
command (m for help): n
command action
e extent
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ımlanmalrı gerekmektedir. Bu amaçla t komutu ile herhengi 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 partirion 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 yine n komutu ile ekleriz.

Command (m for help):n
Command action
e extent
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)


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/sda3 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 olur. 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ümlenme bilgisi diske yazıldıktan sonra geri dönüş yoktur.
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 disk.
Reboot your system to ensure the partition table is updated.
Sabit diski bölümleme esnasında karşılaşılan bazı sorunlar vardır. Bunların en önemlisi Linux’un nasıl çalıştırılacağı ile ilgilidir. Linux açmak için belli başlı üç yöntöm vardır:
LILO ile 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 kullanıldığı zaman bilgisayar açıldığı zaman minik bir yazılım çalıştırır ve gerektiğinde linux çekirdeğine 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 llLILO kullanılacaksa Linux çekirdeğinin yer alacağı bölüm bu 1024 numaralı silindir sınırının altında kalmalıdır. Bu sınırlama tamamıyla DOS’un kullandığı BIOS’un sınırlandırmasıdır. Yeni BIOS’lar 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 64’e kadar kafa kabul edebilmektedir). 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.

2.3.3 Setup Programı

Setup Linux yüklemek için gereken temel birçok işlemi yapabilir. Ok tuşları yardımıyla menüler arasında gezerek işlemleri tamamlayabilirsiniz.ekrana gelen menüler aşağıdadır.(Linux sürekli gelime halinda olduğu için zamanla değişiklikler olabilir.)
Hint: If you have trouble using the arrow keys on your keybord,
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 Memüsü: Bu menü ile Amerikan klavye dışında bir klavye tanımlamak mümkün olacaktı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 makineler yüklenecekse yüklenecek paketler bir kere belirlenir ve bir daha menülerden ekstradan paketlerin seçilmesine gerek kalmaz. Büyük ihtimalle buraya kadar henüz bir takas alanı tanımlamamışsınızdır. Setup yazılımı bu durumu anlar ise bir takas bölmesi oluşturulması için aşağıdaki menüyü ekrana getirecektir.

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öz konusu alanları form atlayacak ve bu takas alanını sistem belleğine ekleyecektir. (Her adımda bir onay isteyecektir.)

TARGET Menüsü: Linux’un hangi bölüme yükleneceğini belirler. Bu menüye girildiği zaman Linux’un disk formatına (ext2) sahip (sabit disk bölümü numarası 83 olan) tüm disk bölümleri gösterilecek ve içerlerinden hangisine Linux kurulması istenileceği sorulacaktır. Bu aşamadan sonra o disk bölümü kullanıcı isterse formatlanacaktır. Burada iki format seçeneği vardır. Bu seçeneklerin ikincisinde disk önce hatalar için taranacak daha sonra formatlanacaktır. Eğer Linux disk formatında başka bölümler varsa bu bölümlerin kullanılmasının istenip istenmediği sorulacaktır. Bu sayede disk hiyerarşisinin herhangi bir kısmını bu ek disk bölümleri üzerine kurmak mümkündür. Son olarak Linux tarafından desteklenen başka disk bölümleri varsa (Örneğin DOS) bu bölümlere Linux altından erişim yapılmasının istenip istenmediği sorulacak ve bu bölümler için hiyerarşi içerisinde bir dizin atanması istenecektir.

SOURCE Menüsü: bu menü Linux dağıtımının nerede aranması gerektiğini belirler. Buradaki seçenekler

SOURCE MEDIA SELECTION
Where do you plan to install slackware Linux from?

1 Install from a hard drive partition
2 Install from floppy disks
3 Install via NFS
4 Install from a pre-mounted directory
5 Install from CD-ROM

1 Numaralı seçenek, Linux dağıtımını bir sabit disk bölümünde aramak için kullanılacaktır. Bu seçenekle örnek olarak DOS kısmında bulunan dağıtım disketlerinden yükleme yapılabilir.
2 Numaralı seçenek, disketlerden yükleme yapılmaktadır. Çalışır bir sistemi birkaç disketle oluşturmak mümkündür. Ancak günümüzde tercih edilmemektedir.
3 Numaralı seçenek, NFS üzerinden yükleme yapmak için kullanılmaktadır. Burada 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-getway) IP numarası, ağ maskesi (subnet mask), NFS sunucu IP numarası ve sunucu üstünde dağıtım disketlerinin bulunduğu hiyerarşi gibi ağ ile ilgili parametreler sorulacaktır. Bu soruların cevabını sistem yetkilisinden öğrenmeniz ve onun onayını almanız gerekecektir.
4 Numaralı seçenek, aslında 1 numaralı seçeneğe çok benzemektedir. Aradaki fark bu durumda sistem hiyerarşisine bağlanmış (mounted) bir dizin içerisinde dağıtım disketlerinin bulunmasıdır.
5 Numaralı seçenek ise CD-ROM’dan yükleme yapmak içindir.

DİSKSETS Menüsü

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 sftware
TCL Tcl/Tk script languages
X Xfree86 X Window System
XAP X Aplications
XD X Server Development kit
XV Xview (Openlook Window Manager, apps)
Y Games (tahat do not require X)

A Serisi (8 disket): Temel işletim sistemi bu disketlerde yer alır. Temel disk hiyerarşisi yaratılır, sistemin çalışması için hayati olan yazılımlar, terminal yazılımları, kabuklar (shell), disk düzenleme yazılımları, kütüphaneler, Linux çalıştırmak için LILO ve LOADLIN bu disketlerdedir.

AP Serisi (5 disket): X Window ortamı gerektirmeyen uygulama yazılımlar. Metin editörleri, ghostscript, man sayfaları, midnight commander (Norton Commander benzeri bir yazılım) bu disketlerde yer alır.

D Serisi (13 disket): Tüm programlama dilleri ve destek yazılımları bu disketlerde yer alır. Eğer kendinize yeni bir Linux Çekirdeği derlemeyi düşünüyorsanız bu seriye ihtiyacınız var.

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

F Serisi (2 disket): Linux hakkında birçok doküman ve açıklama bu disketlerde yer alır. Yeni başlayan birisi bu disketleri mutlaka yüklemesi gerekir. Söz konusu dokümanlar sıkıştırılmış halde
/usr/doc
/usr/doc/faq
/usr/doc/faq/HOWTO
dizinlerine yüklenecektir. Dokümanlar sıkıştırılmış olduğundan zless gibi sıkıştırılmış dosyaları destekleyen bir yazılımla okunmaları gerekir.

K Serisi (6 disket): Çekirdeğin kaynak kodu burada bulunur. Eğer kendi donanımınıza uygun bir çekirdek derlemek istiyorsanız bu seriye ihtiyacınız var. FTP arşivlerinden kaynak kodu olarak bulacağınız bazı yazılımlar da bu hiyerarşi altında yer alan bazı dosyalara ihtiyaç duyacaklardır.

N Serisi (6 disket) : Ağ desteği bu diskler ile sağlanmaktadır. E-posta okuma yazılımları, lynx, www sunucusu, haber grubu okuma yazılımları bu disketlerin içerisinde yer alan yazılımlardır.

T Serisi (9 disket): TeX. TeX yüklerken üç temel seçenekle karşılaşacaksınız. İlk seçenek hangi TeX yardımcı paketlerini isteyeceğinizi sorar. İkinci seçenek hangi dil için makro tanımları istediğinizi sorar. Son seçenek yazı tipleri hakkında tercihlerinizi sorar.

TCL Serisi (2 disket): X Window altında kullanımı basit bir programlama dili ve bu dili ile yazılmış bazı uygulama yazılımları (tkdesk).

X Serisi (16 disket): X Window desteği. Bu disketlerin büyük kısmı değişik grafik kartları için X window sunucuları ve yazı karakterlerinden oluşmaktadır. Linux yüklediğiniz bilgisyar üzerindeki grafik kartını bilmeniz ve buna uygun bir sunucu seçmeniz gerekmektedir.

XAP Serisi (4 disket): X Window altında çeşitli uygulamalar: santranç, gnuplot, xv, xfileman, windows95 benzeri X Window arayüzü bu seriler içerisinde yer almaktadır.

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

XV Serisi (3 disket): OpenLook desteği veren yazılımlar. Bu sayede X Window altında Sun bilgisayarlarda yer alan Open Windows benzeri bir ortam kullanılabilir.

Y Serisi (1 disket): Minik birkaç oyun.

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çenekler 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 Cgoose individual packages from interactive menus
NONE Use no tagfiles-install everything

NORMAL: 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.

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 yer alı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 durmda 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: Herşeyi kuracaktır. Sadece belirli paketler için anlamlıdır.

2.3.4 Sistem Tanıtımları (Konfigürasyon)

Yükleme bittikten sonra yapılacak iş artık sistemimizin tanıtımlarını yapmaktır. İlk aşama sistemi açacak bir çekirdek belirlemektir. Bu konuda üç seçenek 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 kullandığınız çekirdek boot disketinden kopyalanacaktır.

CD-ROOM: Slackware CD-ROOM’unda bulunan önceden derlenmiş çekirdeklerden herhangi birisini seçebilirsiniz.

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

Daha sonra sisteminiz için bir boot disketi yaratmak isteyip istemediğinizi soracaktır. Ne olursa olsun, elinizin altında root ve boot disketleri bulundurmak zorundasınız. Bir sorun olduğunda sisteminizi açmak için bir boot disketi bulmanız gerekecektir.

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 Linuz 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, bilgisyar açılır açılmaz, birden fazla işletim sistemi için seçenek sunulur. Konfigürasyon sırasında LILO kendisinin nereye yazılacağını sorar, bu seçenekler arasında
The Master Boot Record of your first hard drive
The superblock of your root Linux partition
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ılacak yerdir.

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

3 numaralı seçenek, 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 parametre gereksizdir. Bu parametre boot diski ile açıldığı zaman sorulan parametrenin aynısıdır. Sonraki seçenek LOLO’nun yükleme sırasındaki davranışını belirler. LILO konfigürasyonu sırasında birden fazla boot edilebilecek 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:

None, don’t wait at all - boot straight into the first OS
5 seconds
30 seconds
Present a prompt and wait until a choice is made without timing out

1 numaralı seçenek, hiç beklenmeden doğrudan listede belirtilen ilk işletim sistemini yükleyecektir. Sadece Linux bulunan bilgisayarlar için kullanılan seçenel budur.

2 ve 3 numaralı seçenek, 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 sistemi yüklenir.

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 sistemini yükleyecektir.

2.3.5 LILO Konfigürasyonu

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

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

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

#LILO, /dev/hda üzerinde kurulacak.
boot = /dev/hda

#Linux yüklemek için
image = /vmlinuz (çekirdeğin disketteki ismi /vmlinuz)
label = linux (burada “linux” ismini ver. Açılış anında ekranda “linux” yazısı görünür.)
root = /dev/hda2 (Kök dosya sistemi olarak /dev/hda2 kullan)
vga = ask (VGA ekran modu için kullanıcıdan komut bekle)

#MS-DOS yüklemek için
other = /dev/hdb1 (MS-DOS bolumu)
label = msdos (“msdos” ismini ver)
table = /dev/hdb (ikinci sunucu için bölümlendirme tablosu)

Yukarudaki bir örneği görülen /etc/lilo.conf dosyasında gerekli değişiklik veya düzeltmeleri yaptıktan sonra /sbin/lilo dosyasını root olarak çalıştırın. Bu komut LILO önyükleyicisini sabit diske kuracaktır. Bundan sonra her yeni çekirdek derlemenin ardından dosyada uygun değişiklikleri yapıp aynı komutu çalıştırmalısınız.

Şimdi sistemi tekrar açabilirsiniz. LILO, /etc/lilo.conf dosyasındaki ilk işletim sistemini yükleyecektir. Başka bir sistemle açmak için önyükleme menüsünden ekrana girmelisiniz. Bunun için makine açılırken Shift veya CTRL tuşlarını basılı tutun. Ekrana bir açılış istemcisi gelecektir:
boot:
Burada ya açılmasını istediğiniz işletim sisteminin ismini yazın (ilk kurulum sırasında MS-DoS veya linux), ya da tab tuşuna basarak listeyi ekrana getirin. OS/2 kullanabilmek için Linux önyükleyicisini ikincil kullanmanız gerekecektir. Linux’u OS/2 önyükleyicisinden açmalısınız. Bunu yapmak için Linux sabit disk bölümünü OS/2 fdisk kullanarak yaratın. Ardından sözkonusu bölümü Fat veya HPFS olrak formatlayın ki OS/2 tanıyabilsin.

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

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

/sbin/lilo dosyasının çalıştırılmasının ardından OS/2 önyükleyicisine linux bölümünü tanıtın.
2.4 Makineyi Açmak
Linux yükleme işlemi sona erdi. Sıra makinenizi 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ış şeklidir. 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ında çalışan bir yazılımdır. DOS altında çalışırken Linux Yüklemenize yarar. Eğer kurulum aşamasında LOADLIN paketini (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 (/vmlinux) DOS kısmını aktarmaktır. (son yıllarda pek kullanılmaktadır.)

Bütün bu adımlardan sonra artık elinizde çalışmaya hazır bir linux makine vardır. Makineyi kapatıp tekrar açın . ekranda çekirdek mesajları geçtikten sonra:
Login:
Belirecektir. Buraya root yazın ve sisteme girin. İlk deneme için

# shutdown -rf now

yazabilirsiniz. Linux bir makine çalıştığı sürece hafıza içerisinde birçok tampon beelek 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 paremetresi sitemin reboot etmesini sağlayacaktır. Bilgisayarı kapatmak için

# shutdown -hf now

komutu kullanabilirsiniz. Burada yer aln h paremetresi sistemin “halt” edeceğini (tamamen kilitleme) ve bir daha açılmayacağını belirtir.

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 kullanılır. adduser (veya useadd) komutu, kullanıcı ismi, isim ve soyad, GID (grup kimliği), UID (kullanıcı kimliği) gibi birtakım sorular sorulacaktı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 akranlar) aynı anda çalışabilirsiniz.
Bu noktadan sonra bazı uygulamaların ayarlamalarını yapmanız gerekecek.

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. Makinenizin ilk ismi darkstar olacaktır. Eğer TCP/IP ağ üzerinde çalışıyorsanız, /etc/HOSTNAME dosyasının içeriğini değiştirerek veya hostname komutu kullanılarak makine ismi de değiştirilebilir.

2.4.1 Başlangıçta

Önceki bölümde sisteme girmek için şifresi olmayan “root” kullanıcıyı kullanmıştık. 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 gelir. Şifre yazılırken, başkalarının görmemesi için ekrana basılmaz, imleç sabit kalır.

Kullanıcı isimleri veya şifrelerde büyük ve küçük harfler arasında fark vardır. Root, root, RooT farklı kullanıcıları işaret eder. 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
Pasword:
Last login: Thu Feb 13 12:46:35 on tty 1
Linux 1.2.13.
You have mail.
Linux: ~#

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

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

linux:~# passwd
Changing password for root
Enter new password:
Re-type new password:
Password changed.
linux:~#

şifrenizi iyi saklayın. root şifresini ele geçiren birisi sistemde istediği değişiklikleri yapabilir. Şifre seçimi için Linux İşletim Sisteminde Güvenlik konusuna bakın.

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 bulunur. Örneğin passwd komutu hakkında detaylı bilgi almak için
$ man passwd
yazılır. Tüm man dosyaları /usr/man dizini altında 8 ayrı dizinde saklanır (man1...man8). bazı komutların man dosyaları birden fazla dizin altında bulanabilir. Bir dosya komut hakkında 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 gelen parametre ismi ile belirtilirler.
 

Siraç

Yönetici
Admin
Editör
#2
2.4.2 Sorun Çıktığında

Çıkabilecek en önemli sorun bilgisayarın açılmamasıdır. Bunun birçok sebebi olabilir. Açılış esnasında ilk olarak LILO çalışır. Çekirdek yüklenir. Hizmet veren yazılımlar teker teker çalışmaya başlar.

Her aşmada 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 isteğ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ğı daha rahat bulabilirsiniz.

Çekirdeğin yükleme esnasında takılması büyük ölçüde çekirdeğin donanımı doğru belirleyememesinden çıkar. Örneğin ethernet kartınızı yanlış tanımış olabilir. Bunu çözmenin temel yöntemi çekirdek içerisinde kullanmayacağınız donanımlara ilişkin destekleri kaldırmak veya çekirdeğe yardımcı olabilecek açılış parametreleri vermek.

Çalışan sisteminizde bir arıza meydana gelip de makine aniden çalışmamaya başlarsa en son yaptığınız değişiklikleri gözden geçirin.

Sisteminizin çalışması her zaman Linux’dan kaynaklanmayabilir, donanım ile ilgili sorunlar da yaşayabilirsiniz. Rastgele 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 RAM’ler yatabilir.
2.5 Linux Komut Yapısı
UNIX ve benzeri işletim sistemlerinde kullanıcının komut yazmasını sağlayan, bu bu komutları yorumlayarak gerekli işlemleri yapan programlara kabuk (shell) denir.Unıx’te bir kullanıcı bir dizi kabuktan istediğini seçebilir. Kullandığınız kabuk ne olursa olsun, gerek kabuktan kaynaklanan gerekse UNIX komutlarının uyduğu bazı standartlar vardır. Bunlar:
UNIX’te (ve Linux’te) 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.
Bazı özel karakterler kullanılamaz.
UNIX’te 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.
UNIX kabukları komut satırından verilen komutu çalıştırmadan önce bir dizi karakteri yorumlayarak dosya adlarına çevirirler. Bu karakterler:
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 ? tek bir karakter yerine geçer.
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 anl----- gelir. Liste içindeki ‘^’ karakteri, sonrasında bilirtilen liste dışındaki bütün karakterler anl----- gelir. Örneğin *[^0-9]* adında rakam olmayan herhangi bir dosya anl----- gelecektir.
2.6 Dosya ve Dizin Yapısı
UNIX altında bazı karakterlerin özel anlamları vardır. Dizin ve dosya isimlerinin başında nokta olması dosyaların gizli olduğunu gösterir 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ılır.

$ pwd
/home/gorkem
$

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

$ cd /
$ pwd

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

~ İşareti, kullanıcının ev dizinini gösterir. Ev dizinine geçip, mkdir komutu ile benim isimli bir dizin yaratalım.

$ cd ~
$ pwd
/home/gorkem
$ mkdir /home/gorkem/benim

2.6.1 Dosya Listesi ve İçeriklerinin Görüntülenmesi

Dosya ve dizinleri görebilmek için ls komutu kullanılır. parametresiz yazarak bulunduğumuz dizinler hakkında bilgi alınır. Linux altında değişik uzantılı dosyalar okunabilirliği artırmak için farklı renklerde görülür. /etc/DIR_COLORS dosyası, dosya renklerini ayarlar. Bu dosyayı değiştirerek belirli dosyalar için istenilen renkleri göstermesini sağlayabiliriz.

Linux:~$ ls
README article.txt mail typescript
adres linux perl
ls komutu -a parametresiyle birlikte kullanılırsa normalde gözükmeyen ve nokta karakteriyle başlayan dosya ve dizinleri de gözükür.

linux:~$ ls -a
. .bashrc .term article.txt typescript
.. .kermrc .xinitrc linux
.Xdefaults .less README mail
.bash_history .lessrc adres perl

-l parametresi dosyalar hakkında tüm bilgiyi verir. Bunlar, dosyanın sahibi, ne zaman yaratıldığı, sahibi ve grubu gibi bilgilerdir.

linux:~$ ls -al
total 91
drwxr-xr-x 6 gorkem users 1024 Feb 13 12:56 .
drwxr-xr-x 4 root root 1024 Jan 7 1980 ..
-rw-r--r-- 1 gorkem users 390 Feb 13 12:56 .Xdefaults
-rw-r--r-- 1 gorkem ftpadm 230 Feb 13 12:57 .bash_history
-rw-r--r-- 1 gorkem users 1 Feb 13 12:57 .bashrc
-rw-r--r-- 1 gorkem users 163 Nov 24 1993 .kermrc
-rw-r--r-- 1 gorkem users 34 Nov 24 1993 .less
-rw-r--r-- 1 gorkem users 114 Nov 24 1993 .lessrc
drwxr-xr-x 2 gorkem users 1024 Jan 7 1980 .term
-rw-r--r-- 1 gorkem users 87 Feb 13 12:56 .xinitrc
-rw-r--r-- 1 gorkem users 26264 Feb 13 12:53 README
-rw-r--r-- 1 gorkem users 2795 Feb 13 12:55 adres
-rw-r--r-- 1 gorkem users 47970 Feb 13 12:53 article.txt
drwxr-xr-x 2 gorkem users 1024 Feb 13 12:54 linux
drwxr-xr-x 2 gorkem users 1024 Feb 13 12:54 mail
drwxr-xr-x 2 gorkem users 1024 Feb 13 12:54 perl
-rw-r--r-- 1 gorkem users 0 Feb 13 12:57 typescript

yukarıda -a ve -l parametrelerinin birleştirilmiş hali gözükmektedir.

Dosyaların içeriklerini gösteren birkaç komuttan en pratiği less’tir. Ok tuşları ile dosya içinde hareket edebilir ve q karakteri ile dosyadan çıkarsınız. Dosyanın içeriği birden fazla sayfadan ibaretse dosya sayfalar halinde ekrana gelir. Tüm dosyayı ekrana basmak için cat kullanılır.

$ cat README

bir dosyanın başından ve sonundan itibaren belirli miktarda satırı ekrana getirmak de mümkündür. Bunun içinde head ve tail komutları kullanılır.
linux:~$ head -6 README (dosyanın ilk 6 satırını ekrana basar)
This is the README file for the 28 August 1994 public release of the Info-Zıp group’s portable UnZip zipfile-extraction program (and related utilities).

Unzip512.zip portable UnZip, version 5.12, source code distribution
Unzip512.tar.Z same as above, but compress’d tar format

linux:~$ tail -3 README (dosyanın son 3 satırını ekrana getirir.)

--Greg Roelofs (Cave Newt), UnZip maintainer/container/explainer and developer guy, with inspiration from David Kirschbaum

2.6.2 Dosyaların Kopyalanması

Dosyaları kopyalamak için cp ve bir yerden başka bir dizine almak için mv komutu kullanılır. mv komutu, aynı zamanda dosya isimlerini değiştirmek üzere de işletilebilir.

linux:~$ cp article.txt /tmp (article.txt isimli dosyayı /tmp dizinine kopyala)

linux:~$ mv article.txt /tmp/article (article.txt isimli dosyayı /tmp dizini altına, ismini article olarak değiştirerek koy.)

Kopyalama işlemi sadece dosyalar üzerinde değil, dizinler üzerinde de yapılabilir. Farklı dosya sistemleri üzerinde olmamak kaydıyla bir dizin ve altındaki herşeyi, başka bir dizine kopyalayabilir veya hareket ettirebiliriz. Kopyalarken bu işlem için -R parametresi kullanılır. mv komutu için -r parametresine gerek yoktur.

$ cp -R /home/gorkem/temp /tmp (/home/gorkem/temp dizini ve içindeki her dosyayı /tmp altına kopyala)
$ mv article.txt ~/benim (article.txt isimli dosyayı çalışma dizini altındaki benim dizinine kopyala)

2.6.3 Dosyaların Silinmesi
Bir daha kullanılmayacak olan dosyalar, rm komutu ile silinebilir. Linux altında silinen bir dosyanın geri dönüşü olamaz. rm komutuyla birlikte -i parametresi kullanılırsa, linux, dosyayı silmeden önce kullanıcının da onayını alır.

linux:~$ rm -i README
rm: remove ‘README’?y (sileyim mi?)
linux:~$


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

bir dizin boş iken rmdir komutu ile silinebilir, eğer boş değilse bu komut işe yaramaz. Onun yerine rm komutunu -r parametresi ile kullanırız.

lnux:~$ rm mail
rm: mail: is a directory
linux:~$ rm -rf linux/ (linux dizini içindekilerle birlikte silinir.

-f parametresi ile kullanıcının onayını almadan tüm dosyaları tek adımda silmek mümkündür. Bulunduğumuz dizindeki tüm dosyaları silmek için * karakterini kullanın.
$ rm *

3. KABUK İŞLEMLERİ

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. UNİX (ve Linux) altında geliştirilen sayısız kabuk çeşidi ve bunların her birinin kendine ait özelliği vardır. Her programcı kendi zevkine hitap eden kabuğu seçebilir, sistemde yer alan kullanıcılar farklı kabuklar üzerinde çalışabilirler.

O an hangi kabuk üzerinde ye aldığımızı öğrenmek için echo $SHELL yazın.

$ echo $SEHELL
/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 (Buourne 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 Üniversitesi’nde geliştirilen csh’nin 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ıştır. Aynı durum csh ve tcsh için de geçerlidir. Kullanılan shell genellikle kişisel ibr tercih nedeni olsa da, bütün sistem scriptleri sh ile yazıldığından, sistem yöneticilerine sh ailesinden bir kabul kullanmaları önerilir.
Kabuk programları genellikle 7bin dizini altında yer alır. Kullanıcının sisteme girerken hangi kabuğu kullanacağı /etc/passwd dosyasında yer alır. Bunu değiştirmek için chsh (change shel) komutunu kullanabilirsiniz.

$chsh
Password:
Changing the login shell for cagri
Enter the new v alue, 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ı ekranda yazdığı bir komutun neler yaptığını en rahat şekilde komut tarfı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 ekran vermelidir.

3.2 Standart Girdi, Çıktı ve Hata
Linux’ta, 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ü verini yazıldığı standart çıktı. Program çalıştırıldığı andan itibaren bu iki kanal üzerinden akan ilgiler, programın çalıştığı sanal terminale yazılırlar. Program girdileri standart girdi aracı olarak klavyeden alır.

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

Örnek olarak o an bulunduğunuz dizinde yer alan dosyaları ekran getirin :

$ Is-al

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

linux:~$ Is-al > liste
linux:~$ cat liste
total 16
drwxr-xr-x 5 gorkem users 1024 Feb 13 13:10 .
drwxr-xr-x 5 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:099 .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 .xinitre
-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 göndermez. 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?

$ Is/deneme
/deneme : No such file or directory
$ Is/deneme 2> hata
$ cat hata
/deneme : No such file o 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 yer alan son komutta, standart hata mesajları için 2 kullanılarak hatalar oku2 dosyasına yazılmıştır. Aşağıda, çekirdek derlemek için sürekli kullandığım program yer alı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 , makinenin gücü hakkında bir fikir verebilir. Peki ne hata, ne de çıktıyı ekranda görme istemiyorsam ne yapmalıyım? Bunun için standart çıktı ve hatayı bir araya getirerek yönlendirilen her çıktının kaybolduğu”kara deliğe”atamak yeterlidir:

$ Is/ deneme>dev/null2&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 içeriği olur. Var olan bir dosyanın eski içeriğini tamamen silmek değil de komutun çıktısını dosyaya eklemek istiyorsanız >> kullanmalısınız. Bu durumda dosya varsa komutun çıktısı dosyanın eski içeriği korunarak sonuna eklenir, dosya yoksa oluşturulur ve komutun çıktısı dosyaya yazılır. Örneğin:
$ echo deneme1>>deneme.txt
$ cat deneme.txt
denme1
$ echo deneme2<<denem.txt
$ cat deneme.txt
deneme1
deneme2
$

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

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

$ mail -s “rapor” patron< rapor.txt

dosyanın içeriği, mil komutuna girdi olmuş ve rapor.txt dosyası patron kullanıcısına “rapor” konu başlığı ile e-posta ile gönderilmiştir.

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

$ ls -al | lpr

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

$ who | wc -l
40

yönlendirme, bir programdan bir dosyaya yapılabilir, fakat bir programdan başka bir programa yönlendirme yapılamaz. Benzer şekilde, iki dosyanın arasında pipe işlemi uygulamak mümkün olmaz.

# ps -aux | grep inetd | grep -v grep|awk ‘{print $2}’ | xargs kill -l

Yukarıdaki örnek zorlama bir örnek değil, bir Linux sistem yöneticisinin her an kullanması gerekebilecek türden.

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

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

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

3.4.1 Arka Planda Çalıştırma

Bir komutu arka planda çalıştırmak için, komutun sonuna & karakteri getirilir. Komutu girdikten sonra tekrar kabuk istemcisine düşer ve kalınan yerden devam edilebilir. Program, arka planda diğer süreçlerle çakışmadan bir süre çalışır ve işi bittiğinde durur.

$ sort buyuk_dosya>buyuk_dosya.sirali &
[1] 772

komutun arka plana atılmasından sonra ekranda yer alan 1, sürecin sıra numarasını, 772 sayısı ise süreç kimliğini (Process ID) gösterir. Her program, sistem kaynaklarını biraz daha azalttığından Linux’çuların deyimiyle makine yavaşlar.

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

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

Burada yer alan bilgiler sırasıyla:
PID: Süreç numarası. Her sürecin farklı bir numara alması sistem tarafından düzenlenir.
%CPU: İşlemcinin % olarak ne kadarı süreç tarafından kullanılıyor?
%MEM: % olarak hafızada kapladığı yer.
SIZE: Programın toplam kullandığı bellek alanı (KB).
RSS: Programın bellekte kapladığı gerçel alan. Bu değer paylaşılan sistem kütüphaneleri (shared library) nedeniyle genellikle SIZE değerinden küçüktür.
TTY: Sürecin çalıştırıldığı (sanal) terminal.
STAT: Süreç o sırada ne yapıyor?
S: Uyumakta, genellikle sürecin bir G/Ç işlemi (örneğin farenin hareketi ya da ağdan gelecek veriler) beklemesi sırasında olur.
R: Çalışabilir. Çalışabilir süreçler, gereksinim duydukları bütün sistem kaynaklarına sahip olan süreçlerdir. Çekirdek (tek işlemcili bir makinede) belirli aralıklarla bu süreçlerden sadece birini çalıştırır.
T: Durmuş. Sürecin kullanılması tarafından (örneğin CTRL-Z tuşlarına basılarak) durdurulmasında görülür.
Z: Zombie. Bu tür süreçler, kendisini çalıştıran sürece mesaj bırakmadıklarından takılmış süreçlerdir. Öldürülemezler ancak sistem kaynaklarını da kullanamazlar.
D: Kesilemez uykuda.Bazı G/Ç işlemleri o sırada bu işlemi yapan sürecin kesilmemesini gerektirir. Böyle durumdaki süreçleri de ilgili G/Ç işlemi bitinceye kadar öldüremezsiniz.

START: Sürecin çalıştığı zaman.

COMMAND: Komut satırından girilen programın ismi.

ps komutuna bilgisayar üzerinde çalıştığınız her an ihtiyaç duymanız mümkündür. Bu yüzden çeşitli parametrelerle iyi bilinmesi gerekir.

3.4.2 Klavye Üzerinden Kesinti

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

Klavyeden kabuk komut satırına yazılan bir programın uzun sürmesi halinde, eğer daha önceden komutun arkasına & işareti koyup arka planda çalışır halde bırakılmamışsa, klavyeden yapılan bir müdahale ile durdurulup arka planda çalıştırılabilir. Örneğin, uzun sürmesi beklenen bir komutu klavyeden yazalım ve ardından CTRL-Z tuşlarına basılır.

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

[1]+ Stopped fin/usr-name “o*” -print
linux:/etc/rc.d#

Bu esnada sürecin çalışmasına ara verilmiş. Fakat program tamamen durmamıştır. Programın çalışmasını arka planda sürdürmek için bg komutu kullanılır.

$ bg

bu komutu tekrar komut satırında çalışacak ve klavyeden bilgi girilecek şekilde terminale bağlamak için fg yazılır.

$ fg

bir programı çalıştırmaya başladıktan sonra tamamen durmaya karar vermişseniz klavyeden CTRL-C tuşlarına basın.

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

$ jobs

yazılır. Görevler, birden fazla oldukları zaman sıra numarası ile belirtilirler.

3.4.3 Süreçlerin Sona Erdirilmesi

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

$ kill 67

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

$ kill -9 67

Artık prograın sistemle ilişkisi tamamen kesilmiştir. Kill komutu, -9 seçeneği sürdükçe 9 numaralı sinyali gönderir. Bu sinyali alan sürecin yukarıda sözü edilen iki özel durum dışında çalışmayı sürdürmesi olanaksızdır.-9 seçeneği özellikle sistem süreçleri üzerinde görmedikçe kullanılmamalıdır.
 

Siraç

Yönetici
Admin
Editör
#3
4. DOSYA VE DİZİN İŞLEMLERİ

Tıpkı MS-DOS’ta olduğu gibi Linux dosya yapısının da hiyerarşik bir yapıya sahip olduğu daha önce belirtilmişti. Temel dosya bilgisi önceki konularda anlatıldığında 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 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ürprizlere yol açabilir. Linux altında üç çeşit erişim hakkı vardır:

Okuma İzni : Dosyanın okuma izni varsa içeriği görülebilir, dizinin okuma izni varsa içerdiği dosyaların listesi alınabilir.
Yazma İzni : 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 İzni : Dosyayı çalıştırma hakkını verir.

Bir dosya veya dizin ilk yaratıldığında Linux tarafından ön tanımlı bazı izinler verilir. Genellikle bu izin çalıştırma ve okumadır. Dosyanın oluşma anında verilen izni değiştirmek için erişim yetki kalıbı olarak da bilinen umask komutu kullanılır.

Erişim haklarının dışında bir dosyanın üç izin düzeyi daha vardır. Bunla 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ştururken 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 Dosya İzinlerinin Değiştirilmesi
Dosya izin bilgilerini görebilmek için ls komutu, -l parametresiyle kullanılır.

Aşağıdaki dosya üzerindeki erişim haklarına göz atalım:
-rwxr-xr-x 2 gorkem users 182 Feb 12 03:58 deneme

Dosya bilgisinin an sol kısmında izin hakları yer alır. En baştaki “-“ işreti bunun düz dosya olduğunu belirtir. “gorkem”, dosyasının sahibi; “users” ise grubudur. Ardından sırayla uzunluk, son değiştirilme tarihi ve dosya ismi gibi bilgiler gelir. Son harf kümesine dosyanın modu da denir.

Solda yer alan r,w ve x karakterleri sırayla okuma, çalıştırma ve yazma haklarını belirtir. En soldaki “-“ işaretini ayırdığınız zaman geri kalan harfleri üçlü grup haline getirdiğimizde;

rwx r-x r-x

sırayla birinci harf kümesi dosya sahiplerinin izinlerini, ikinci harf kümesi grup izinleri ve son küme de diğer kullanıcıların izinlerini belirtir. Buna göre yukarıdaki dosyada
rwx : Kullanıcı okuyabilir, yazabilir, çalıştırabilir.
r-x : Grup okuyabilir, çalıştırabilir fakat yazamaz.
r-x : Diğerleri okuyabilir, çalıştırabilir fakat yazamaz.

Sol baştaki karakter “d” olsaydı, bir dizini inceliyor olacaktık.

Dosyanın izinlerini değiştirmek için chmod komutu kullanılır. Bu komutu kullanırken hangi izin düzeyine (kullanıcı, grup veya diğerleri) hangi izinlerin verileceği veya kaldırılacağı yazılır.


Örnek olarak yukarıdaki dosyanın okuma iznini kaldırmak için;

$ chmod -r deneme
kullanılabilir.”-“ işareti, iznin kaldırılacağını belirtir. İzin vermek için ise “+” yazılır. Dosyanın yeni görüntüsü şöyle olur:
--wx--x--x 2 gorkem users 182 Feb 12 03:58 deneme

sadece grubun, sadece kullanıcının veya sadece diğerlerinin erişim hakkını değiştirebilmek için her izin düzeyi için bir harf tanımlanmıştır. Kullanıcı adı için “u”, grup için “g” ve diğerleri için “o” yazarak belirli bir izin düzeyi için erişim hakkını değiştirmek mümkün olur. Bu üç harf, izinden hemen önce yazılır.

$ chmod u+x deneme (dosyanın sahibi çalıştırabilir)
$ chmod o+r t2sac (diğerleri okuyabilir)
$ chmod g-w deneme (dosyanın grubu yazamaz)

Her izin için aynı zamanda izinler tanımlanmıştır. Dosyanın erişim izinlerini değiştirmek için izne ait sayıları kullanabiliriz. Aşağıdaki tabloda, her izin düzeyi (dosyanın sahibi, grubu ve diğerleri) için üçer tane olmak üzere toplam 9 sayıdan oluşan izin numaralarını görebilirsiniz. Bir izni vermek için sırayla numaraları toplayın. Örneğim sahibin okuması (400), yazması (200), çalıştırması (100), grubun okuması (40), çalıştırması (10) ve diğerlerinin okuması (4) ve çalıştırması (1) için kullanılan rakamların toplamı 755’tir.

$ chmod 755 deneme

400 sahibi okur
200 sahibi yazar
100 sahibi çalıştırır

040 grubu okur
020 grubu yazar
010 grubu çalıştırır

004 diğerleri okur
002 diğerleri yazar
001 diğerleri çalıştırır

Başka bir örnekte; sahibinin okuması (400), yazması (100), grubun okuması (40), diğerlerinin okuması (4) için izin numarasını bulmak için bu cümlede parantez içinde yer alan sayıları toplarsak 644 yapacaktır.

$ chmod 644 deneme

Aynen dosyalarda olduğu gibi, bir dizinin de sahibi ve grubu vardır.

4.3 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 sahibi ozgur isimli kullanıcı ise;

# 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ştirebilme özeliğine sahiptir. Chown komutundan sonra kullanıcı ve grup isimleri aralarında bir nokta kalacak şekilde yazılırsa;

$ chown ozgur.www denem
$ ls-l deneme
-rwxr-xr-x 2 ozgur www 182 Feb 12 03:58 deneme

4.4 Diğer Dosya Sistemlerinin Kullanılması
Bir Linux işletim sisteminde dosyaların ve dizinlerin her birisi sabit disk, CDROM veya diğer bilgi saklamaya yarayan cihazların birer parçası olan “dosya sistemlerinde” tutulur. Linux’ un desteklediği pek çok dosya sistemi vardır ve bunların her birisinin veri depolarken kullandıkları yöntem birbirinden farklıdır.

Linux’ ta her dosya sistemi farklı bir dizinde tutulur ve bu dizinlerin bilgisi /etc/fstab dosyasında yer alır. Açılış anında bu dosyada hangi dosya sistemlerinin hangi dizinler altına yerleştirileceği okunur ve buna göre makine 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.1 Mount İşlemi

Bir dosya sisteminin kullanılabilmesi için boş bir dizin altına yerleştirilmesi gerekir. Ancak bu gerçekleşirse söz konusu dosya sistemini oluşturan dosyalar üzerinde işlem yapılabilir. Bu işlem mount komutu yardımıyla yapılır.

Mount komutu şu şekilde kullanılır:

Mount -t<tip><nereye><aygıt>

Tip: Dosya sitemi çeşidi. Örnek dosya sistem çeşitleri arasında ext2, minix, msdos sayılabilir. Genellikle mount programı ne tür bir diske eriştiğini otomatik olarak anlayacaktır.

Nereye: mount edilecek dosya sisteminin hangi dizinin altına yerleştirileceğini belirtir.

Aygıt: Üzerinde dosya sisteminin bulunduğu sabit disk CD-ROM benzeri aygıt.
Linux’a bağlı tüm donanımlara ait bir giriş,/dev dizinin altında bulunur. Bu dizin altındaki dosyalar özel olarak tanımlanmıştır ve bunlara kısaca “düğüm” adı verilir. Örneğin /dev/hda2, birinci IDE sabit diskin ikinci bölümünü; /dev/tty 1 ise birinci sanal konsolu gösterir.

Bir dosya sistemini erişilebilir hale getirebilmek için hangi düğüm ismine sahip olduğunu bilmemiz gerekir. Örnek olarak CD-ROM için /dev/cdrom, birinci disket sürücü için /dev/fd0 gibi.

CD-Rom sürücüsünü /mnt altına mount etmek için

# mount -t iso9660 /dev/cdrom/mnt
yazılır. Eğer çekirdekte CD-ROM dosya sistemi desteği varsa ve sistem açılırken çekirdek CD-ROM’u tanımışsa /mnt dizini altında CD’deki dosya sistemi yerleştirilir. Buna benzer bir şekilde MS-DOS disket içeren dike sürücüyü ve üzerinde ext2 dosya sistemi bulunan ikinci IDE sabit diskin birinci bölümünü sırasıyla /-mnt/disk dizinlerine bindirmek için;

# mount -t msdos /dev/fd0/mnt/disket
ve
# mount -t ext2 /dev/hdb1/mnt/disk

yazılabilir. Bir mount işleminin tersini yapmak ve dosya sistemini erişilmez kılmak için umount komutu kullanılır. /disk altındaki /dev/hdb1 sabit disk bölümünü umount etmek için

# umount /disk
veya
# umount /dev/hdb1

kullanılır. Her iki yazım şekli de kabul edilir. Son olarak o an sistemde bindirilmiş halde bulunan tüm dosya sistemlerini görmek için mount komutunu parametresiz yazalım.
Mount veumount komutları ile bir dizin yapısını disk üzerinde konumlandırırken veya ayırırken üzerinde işlem yapılan dizinde bulunmamalı, ya da o dizinde başka bir süreç çalışıyor olmamalıdır.

Aksi takdirde aşağıdaki hata mesajı alınır:

#pwd
/disk
#umount/disk
umount:/dev/hdb1: device is busy

Yapılması gereken, ayırılacak dizinden dışarı çıkıp tekrar denemek. Diğer bir seçenek de fuser konutunu kullnamak. Bu komut, ayırmak istediğiniz dizini kullanana tüm süreçleri ekranda gösterir. Böylelikle rahatlıkla yukarıdaki örnekteki gibi umount işlemi gerçekleştirebilir. fuser komutunun -km seçeneği ile o dizini kullanan süreçleri öldürelebilir.
#cd/

#fuser/disk
/disk: 78c
#fuser -km/disk
#umount/disk

fuser komutunu kullanırken dikkatli olama gerekir, zira sistemi kilitleme noktasına getirebilir.

4.4.2 Dosya Sistemi Bilgileri

Linux açılırken mount komutu yardımıyla root dosya sistemine akleyeceği her değişik dosya sistemini /etc/fstab dosyasından okur veişlem koyar. Aşağıda örnek bir fstab dosyası yer alıyor.

/dev/hda2 / ext2 defaults 1 1
/swap none swap defaults 1 1
/dev/cdrom /cdrom iso9660 defaults 1 1
none /proc proc defaults 1 1
/dev/hda1 /dos msdos defaults 1 1

Çekirdek açılış mesajları içinde

VFS: Mounted root (ext2 filesystem) readonly.

Gibi bir satır göreceksiniz. Sistem açılırken en önce /dosya sistemini mount eder. Bu sayede bu dosya sistemi altında yer alan ve hayati önem taşıyan yazılımlara(fsck, mount gibi) ulaşır. Daha sonra yerel dosya sistemleri ve en son da ağ üzerinden erişilen dosya sistemlerine (NFS) bağlanır. fstab dosyasında kullanıcının kendi dosyalarını yerleştirmediği, fakat sistem tarafından kullanılan swap ve proc dosya sistemleri için de mount bilgileri bulunur.

Yukarıdaki fstab dosyasında ext2 dosya sistemine sahip /dev/hda2 sabit disk bölümü, / dizinini oluşturuyor. MS-DOS formatlı /dev/hda1 bölümü de /dos dizinine erişilebilir olarak açılıl anında eklenecektir.

Sistemdeki CD-Rom sürücü /cdrom dizinini altına yerleştirilmiş olup root kullanıcı bunu istediği dizine koyabilir. Bu dosyaya, mount komutundaki gibi parametreler de eklenebilir. dördüncü sırada yer alan defaults parametresini yanına eklemek istediğimiz opsiyonları yazarız. Bu parametrelerden bir tanesi de “user” olup root dışındaki kullanıcılara mount hakkını verir. CD-ROM sürücüyü normal sistem kullanıcılarının mount veya umount yapabilmesi için fstab dosyasındaki ilgili satırı
/dev/cdrom /cdrom iso9660 defaults, user 1 1

satırıyla değiştirdiğimizde; defaults parametresi ise, halihazırdaki doya sistemini okunup yazılabildiğini, asenkron olduğunu, üzerindeki bilgileri bloklar halinde alıp verdiğini (buna diğer örnekler CD-ROM ve disket sürücüleridir), içerdiği programların çalıştırılabilir olduğunu ve normal kullanıcıların mount, umount yapamadığını gösterir.

4.4.3 Dosya Sistemi Desteğinin Eklenmesi

Çekirdek tarafından hangi dosya sistemlerinin desteklendiği /proc/filesystems dosyasından öğrenilebilir. Diğer modüller gibi dosya sistemlerinin hemen hemen tamamı çekirdeğe dışarıdan eklenen modüllerden oluşur.

$ cat /proc/filesystems
ext2
vfat
nodev proc
iso9660
nodev smbfs

yukarıdaki satırlar, çekirdekte ext2, vfat, proc, iso9660 ve smbfs dosya sistemi desteği olduğunu gösteriyor.

Linux’de tüm modüller /lib/modules/preferred dizini altında yer alır. Bu dizine geçin.
$ ls
block fs misc net scsi
cdrom ipv4 modules.dep pcmcia

block: Blok aygıtlara ilişkin modüller
cdrom: Değişik tipteki CD sürücü modülleri
fs: Dosya sistemi modülleri
misc: Çeşitli tipteki modüller (ses kartı, yazıcı)
net: Ağ modülleri
pcmcia: PCMCIA kartları modülleri
scsi: SCSI aygıt modülleri

normalde pek çok modül sizin isteyiniz dışında çekirdeğe eklenir ve çıkartılır. Bizim işimize yarayacak modüller fs dizini altındadır.




4.4.4 Dosya Sistemi Yaratılması ve Kontrolü

Bazen MS-DOS altında oluşturulamayan dosya sistemlerini (ext2 gibi) oluşturmak gerekebilir. Linux altında bir dosya sistemini oluştururken aynı zamanda bunu kontrol eden programlar vardır. Bunların en çok kullanılanı, Slackware sürümünde gelen mkfs/’tir.
Mkfs ile Linux native (ext2) dosya sistemi oluşturmak için mkfs.ext2 programı kullanılır.
Mkfs.ext2<aygit><blok-sayısı>
“aygıt” yerine üzerine dosya sistemi kurulacak olan cihazın /dev dizini altındaki düğüm dosyasının ismi yazılır. Blok sayısı yerine, fdisk yazılımından o bölümün kaç blok olduğunu öğrenip bu sayı girilmelidir. İbr blok 1024 bayttan oluşur. Örneğin;

# mke2fs/dev/hda3 163829

komutu, /dev/hda3 disk bölümünde ext2 dosya sistemini kurar. Bu komutu kullanmadan önce iyi düşünülmelidir, zira burada yer alan tüm dosyalar silinir ve bu hatanın geri dönüşü olmaz. Aşağıdaki komut ile ibr disket üzerinde ext2 dosya sistemi kuruluyor.

# mke2fs/dev/fd0 1440

mke2fs ile mkfs.ext2 komutları aynıdır. Benzer şekilde, MS-DOS dosya sistemi yaratmak için mkfs.msdos, minix dosya sistemi yaratmak için mkfs.minix kullanılabilir. Blok sayısı girilmez ise mke2fs bunu otomatik olarak bulacaktır.

Herhangi bir sebepten dolayı diskte bozulma ve veri kaybını aza indirmek için de yazılımlar vardır. Fsck ile dosya sistemi kontrolü yapılabilir. Fsck ile ext2, dosfsck (veya fsck.msdos) ile MS-DOS formatlı alanlar kontrol edilir.

Linux:~# fsck /dev/hda2
Parallelizing fsck version 0.5b (14-Feb-95)
E2fsck 0.5b, 14-Feb-95 for EXT2 FS 0.5a, 95/03/19
/dev/hda2 is mounted. Do you really want to contunie (y/n)? Yes

Pass1: checking inodes, blocks and sizes
Pass2: checking directory structure
Pass3: checking directory connectivity
Pass4 checking reference counts
Pass5 checking group summary information
Fix summary information<y>? Yes

Block bitmap differences:-46486 -46487 -46489 -46490. FIXED
Free blocks count wrong for group 5 (2803, counted=2808). FIXED
Free blocks count wrong (16326, counted=16331). FIXED

/dev/hda2: ***** FILE SYSTEM QWAS MODIFIED *****
/dev/hda2: ***** REBOOT LINUX *****
/dev/hda2:3494/29632 files, 42904/59235 blocks

Bir dosya sistemini kontrol etmeden önce okunan bölüm root dosya sisteminden ayrılır ve kontrol işleminden sonra kapatılıp tekrar açılır. Debugfs programı, dosya sistemi parametrelerini incelemek için kullanılır. Disk üzerine doğrudan erişim yaptığı için dikkatli kullanılmalıdır. Ext2fs yardımıyla kurtarılamayan bazı dosyalar (özellikle silinmiş dosyalar) debugfs yardımıyla kurtarılabilir.

4.5 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 sembolik bağlantı örneği yer alıyor. Sistem görevlisi, /root dizini altındayken /usr/scr/linux dizinine geçmek istiyor. /usr/scr/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 lodlinv15.zip
drwx------ 2 root root 1024 Jan 7 1980 mail
-r-r--r-- 1 root root 0 Feb 15 08:14 typescript
linux:~#ln-s /usr/scr/linux linux
linux:~3ls-l
total116
drwxr-xr-x 2 root root 1024 Feb 14 08:13 kernel
-rw-r--r-- 1 root root 115695 Sep 15 1994 lodlinv15.zip
drwx------ 2 root root 1024 Jan 7 1980 mail
lrwxrwxrwx 1root root 9 Feb 15 08:14 linux -> /usr/scr/linux
-r-r--r-- 1 root root 0 Feb 15 08:14 typescript

Bu işlemden sonra kullanıcının /usr/scr/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.6 Sabit Bağlantılar

Eğer -s parametresini kullanmazsanız, ln komutu iki dosya arasında sabit bağlantı (hard link) koyacaktır.
# ln /etc/group /etc/group2
#ls -al /etc/group*

-rw-r-r- 2 root root 390 Mar 17 20:15 /etc/group
-rw-r-r- 2 root root 390 Mar 17 20:15 /etc/group2

/etc/group dosyası üzerinde yapılacak tüm değişiklikler /etc/group2 dosyasınada anında yansıtılır. Sabit bağlantıları sistem yöneticileri genelde önemli sistem dosyalarının (/etc/paswd, /etc/shadow vb.) bir kopyasını tutmak için kullanır.

4.7 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ştirilir. tar komutu yardımıyla istenilen dosyalar arşivlenebilir, bunların üzerine yenileri eklenebilir, istenildiği zaman da tekrar açıp eski haline getirilebilir. 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ı yoksa bu iki komut her zaman işe yarayacaktır.

4.7.1 Dosya Arşivleme

Tar (tape Archive) programı, bir veya birden fazla dosyayı tek bir forma sokar. Genellikle bir dizin ve bu dizinin altında yer alan tüm alt dizinleri bir araya getirmek için kullanılır tar, dosyalarının üzerinde sıkıştırma işlemini normalde uygulayamaz. Fakat tar’ın GNU sürümü (Linux’ta kullanılan) bu işlemi gzip kullanmadan da yapabilir.
Tar konutuna bir örnek verilecek olursa;

$ tar -cf arşiv.tar tmp/

bu komut, -c (create archive) parametresi yardımıyla tmp dizini altındaki herşeyi pakatleyip arsiv.tar ismli dosyaya yollar. -f parametresi, hangi dosyaya yazılacağını belirtir. İstenldiği zaman dosyayı tekrar açmak istendiğinde:
$ tar -xf arsiv.tar
koutu kullanılır. -x (extract) parametresi, -f ile belirtilen dosyayı açacaktır.-r opsiyonu ile dah önce yaratılmış bir arşive dosya eklenebilir. Böylece dosyayı açma ve tekrar arşiv oluşturma işleminden kurtulunmuş olur.
# $ tar -rf arsiv.tar ekleme.txt

dosyanın içeriğini önceden görebilmek için -t parametresi kullanılır. Bazı durumlarda arşivlenmiş yazılım kendine ait bir dizin açmak yerine içerdiği dosyaları bulunduğu yere yazabilir.
Tar -tf arsiv.tar

Hangi dosyaların açıldığını ekranda görebilmek için -v parametresi eklenir:

#tar-zcvf tmp.tgz/tmp
tar:Removing leading /form absolite path names in the archive.
tmp/
tmp/tar-error
tmp/.X11-unix/
tmp/rc.inet1.Old
tmp/networks.OLD
tmp/linux/
tmp/linux/fss.txt
tmp/lilo.conf
tmp/PKGTOOL:REMOVED

aşağıdakş komut, arşivlenen dosyaları diske kaydetmaye yarıyor. Bunun için temiz bir disket yuvasına yerleştirilir ve aşağıdaki satır yazılır.
#tar -cf/dev/fd0 tmp/

tmp dizini altındaki her şey diskete kaydedilmiştir. Açmak için bilinen yöntem kullanılır.
#tar -xf/dev/fd0

4.7.2 Dosya Sıkıştırma ve Açma

Dosya sıkıştırma amacıyla sıkça kullanılan iki yazılım vardır: gzip ve compress. Her iki yazılımda da Slackware Linux dağıtımında bulunmaktadır. GNU’nun dağıtımı olan gzip, tar ile birlikte kullanılan ve dosya sıkıştırma ve arşivlemede neredeyse standart hale gelmiş bir program. Bir dosyayı sıkıştırmak için parametre girmeden gzip komutunun ardından bir dosya ismi yazıldığında;

$ gzip alvis
$ ls-al
elvis.gz

gzip ile sıkıştırma dosyalarının sonu .gz ile biter. Bunları açmak için gunzip komutu kullanılır
$ gunzip elviz.gz

compress ve unsompress de sırayla bir dosyayı sıkıştırmak ve açmak için kullanılır. Aslında Linux’ta uncompress adında bir yazılım yoktur, bu dosya ismi compress dosyasına bağlantılıdır compress il sıkıştırılan dosyaların sonu .Z ile biter.

$ ls-al web.html
-rw-r--r-- 1 gorkem users 41450 Jan 27 13:40 web.html
$ compress web.html
$ls-al web.html.Z
-rw-r--r-- 1 gorkem users 18906 Jan 13:40 web.html.Z

yukarıdaki web.html dosyasını sıkıştırdığımızda dosyanın boyutu 42450
bayttan 18906 bayta indi. Açmak için:
$ uncompress web.html.Z

Bir dosyanın uzantısından ne tür bir dosya olduğu anlaşılamaz ise file komutu yardıma koşar. Linux’ta belirli uzantılı dosyaların başı bilinen bir harf veya harf grubu ile başlar. File komutu dosyanın başındaki karakterleri kontrol ederek ve buları bir listeyle(/etc/magic) karşılaştırarak dosyanın ne tür olduğunu söyler.

#file tmp.gz
tmp.tgz:gzip compressed data-deflate method,last modified
at Feb 15 08:21:50 1997 os:Unix
# file tmp.tar.Z
tmp.tar.Z:compressed data 16 bits

4.7.3 Dosya Türleri

.Z Sıkıştırılmış dosya (compress ile)
.tar Arşivlenmiş dosya
.gz Sıkıştırılmış dosya (gzip ile)
.bz2 Sıkıştırılmış dosya (bzip ile)
.tgz tar ve gzip yardımıyla sılıştırılmış ve arşivlenmiş dosya
.txt düz metin dosya
.html HTML dosyası
.htm HTLM dosyası
.ps PostScript dosyası
.au ses dosyası
.wav bir başka ses dosyası
.xpm resim dosyası
.jpg Jpeg formatlı resim dosyası
.gif Gif formatlı resim dosyası
.png resim dosyası
.rpm RPM dosyası
.h C/C++ başlık dosyası
.c Cdosyası
.c++ C++ dosyası
.cxx C++ dosyası
.o C obje dosyası
.pl Perl dosyası
.tcl TCL/tk betiği (script)


4.7.4 Birlikte Kullanım

ftp adreslerimde Linux için yer alan yazımlar genellikle tar ve gzip, nadiren de ta ve compress ile sıkıştırılıp arşivlenerek saklanırlar. Çünkü ta komutu tek başına arşivi skıkştırmaz, bu işlem için gzip veya compres kullanılır. Bunların açılabilmesi için tar komutu ve birkaç parametre yeterli olur.
$ ls
netscape-4.0.linux-elf.tar.gz

yukarıdaki dosya önce tar ile arşivlenmiş, ardından gzip ile sıkıştrılmış. Tek adımda bu iki dosyayı açmak için tar dosyasına x ve f parametrelerinin dışında z parametresi de eklenir.
$ tar-zxf netscape-4.0.lınux-elf.tar.gz
$ls
netscape-4.0.lınux-elf

eğer dosya sıkıştırılırken compress komutu kullanılmışsa z yerine Z parametresi yazılır.

$ ls
folder.tar.Z
$ tar-Zxf folder.tar.Z
$ ls
folder

benzer şekilde, bir dosyayı aynı anda hem tar ile arşivlemek, hem de sıkışrtırmak istersek c ve f parametreleri dışında compress ile Z, gzip ile z parametrelerini girmek yeterlidir. Aşağıda sırayla gn-gopher dizisinin önce tar ve gzip ile,, ardından tar ve compress ile arşivlenmesi görülüyor.

$ ls
gn-gopher/
$ tar-zcf gopher.tgz gn-gopher/
$ tar-Zcf gopher.tar.Z gn-gopher/
 

Siraç

Yönetici
Admin
Editör
#4
4.8 Dizin Tarama

Linux işletim sistemi kurulduğu anda, yünlerce dizin altında binlerce dosya olacaktır. Find komutu, bu dosyaların arasında tarama yapabilmek için geliştirlmiştir. Bu komutla sadece dosya sistemlerine değil, dosyanın sahibi, eriim haklaı, son erişim tarihi gibi verilere de ulaşmak mümkündür. Find komutunun en ık kullanılılş şekli şudur:

Find<dizin-ismi>-name<ne-aratiliyor>

Dizin ismi yerine tarancak olna dosyanın bulunduğu dizin ismi yazılır. -name parametresinden sonra ise aranana dosyanın ismi girilir. Burada “*” ve “
*” gibi joker karakterleri de kullanılabilir.

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

$ find .-name “*.html”
(bulunduğunuz dizinden itibaren sonu.html ile biten dosyalarıarar)
$ find/home/halil-name “screeen”
(/home/halil dizininden itibaren screen isimli dosyaları arar)
Bu komut, -type d parametresi yardımıyla sadece dizin isimleri rarsında arama yapar.
$ find /usr/-name “linux” -type d

find komutuna bir alternatif olan locate komutu ile dosyalar çok kısa bir sürede taranabilir. Update koutu, her sabah belirli bir saatteki tüm dosya ve dizin isimlerini bir veri tabanına yükler. Daha sonra bu dosyada yer alan belirli bir dosya veya dizin ismi ile arayabilirsiniz:

# locate pico
/usr/bin/pico
/usr/man/man1/pico.1.gz

Yukarıdaki komut ile içinde pico kelimesi geçen dosyalar bulunur.

4.9 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 yer alan 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 : disket içeriğini görüntüler.

Linux:~ mdir a:
Volume in drive A i SYSTEM_BT
Directory for A:/
IO SYS 40566 9-30-93 6:20a
MSDOS SYS 38138 9-30-93 6:20a
AUTOEXECBAT 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ı Linux’tan diskete, disketten linux’a aktarır.
Linux:~# mcopy a:/autoexec.bat.

Copying AUTOEXEC.BAT

mdel : DOS dosyasını siler.
mformat : Disketi formatlar.
mmd : Disket üzerinde dizin oluşturulur.

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 mtools’un 2MB’lık disketleri okuyabilme özelliği de vardır. Mtools paketinin konfigürasyon dosyası /etc/mtools.conf’tur. bu dosyanın kullanımı için mtools(1) man dosyasından yararlanabilirsiniz.

5. LİNUX SİSTEM YÖNETİMİ

Linux’a, sorumluluk sahibi sistem yöneticisi tarafından açık tutulduğu süre içerisinde verimli ve düzgün çalışması için gerekli özen gösterilmelidir. Donanımsal etkenler bir tarafa bırakılırsa sistem yöneticisinin uyması gereken ve internet etikleri denilen davranış kuralları vardır. Bu kurallara öncelikle sistem sorumlusu uymalı ve kullanıcıları da uymaya zorlamalıdır.
5.1 Yetkili Kullanıcı
Sistemin en büyük sorumlusu root şifresini bilen kullanıcıdır. Sistem yöneticisi, makinedeki kullanıcıların karşılıklı güven içinde istek ve şikayetlerini yönelttikleri tek merci durumundadır.
Sistem yöneticisinin sahibinin haberi olmaksızın sistem kullanıcılarına ait dosyaların yerini ve izinlerini değiştirmesi uygun değildir. Yönetici zaman zaman kullanıcıları bilgilendirmelidir. ( Unix veya İnternet hakkında veya Linux’a eklenen uygulama programları ile ilgili dökümanlar kullanıcılara gönderilebilir.)
5.2 Sistem Kuralları
Hemen akla gelebilecek birkaç basit kural bir hesabın birden fazla kişiyle kullanılmaması, sistemin güvenliğini zedeleyecek crack, satan, cops gibi programların diğer kullanıcıların zararına çalıştırılmaması, sistem kaynaklarının sorumsuzca tüketilmemesi olarak sayılabilir.
5.3 Kullanıcı İşlemleri
5.3.1 Kullanıcı Hesabı Açmak (Adduser)

Kullanıcı hesabı açmak iki şekilde yapılabilir. Bunlardan birincisi adduser komutu yardımıyla yapmak , diğeri ise bu komutun yaptığı işlemleri sırasıyla elden yapmaktır. İlk önce adduser komutunu kullanmak için sisteme root olarak girilir ve bu komut çalıştırılır.

#adduser
Login name for new user ( 8 character or less ) [] : eyeze
Kullanıcı ismi en az 3 karakter en fazla 8 karakter olmalıdır.
User id for eyeze [ defaults to next available ] :
Initial group for eyeze [ users ] :

Eğer özel olarak değiştirmek istemezseniz her kullanıcının grup numarasını (GID = Group ID) 100 olarak tanımlayacaktır. Bu gruba karşılık gelen isim users ‘ tır. Kullanıcı kimliği (UID = User ID) ise genellikle 500’den sonra gelen ve kullanılmayan ilk sayı olarak atanır.

Additional groups for eyeze [] :
Eyeze’s home directory [ /home/eyeze]:
Eyeze’s shell [/bin/bash]:

Sisteme girişte çalıştırılacak kabuk için seçimi ya kullanıcıya bırakır ya da ön tanımlı olarak bash verebilirsiniz.

Eyeze’s account expiry date ( MM/DD/YY) []:

Changing password for eyeze
Enter the new password ( minimum of 6 , maximum of 8 character )
New password:
Re-enter new password:
Password changed.
Done...

Her şeyin doğru olduğunu emin olduktan sonra /etc/skel dizini altında yer alan tüm dosyalar bu kullanıcının dizinine kopyalanacaktır. Bu dizinin altına her kullanıcının home dizinine yüklenmesi istenen sistem dosyaları yerleştirilebilir. Bu işlemden sonra kullanıcı sisteme girebilir.

Adduser komutunu kullanmadan kullanıcı hesabı açmak için /etc/passwd ve /etc/shadow dosyalarına birer satır eklenmelidir. /etc/passwd dosyasına aralarına ‘:’ koyarak sırasıyla hesap ismi, ‘x’ , grup kimliği, kullanıcı kimliği, kullanıcı isim ve soyadı, ev dizini ve kabuk programı eklenir.

eyeze:x:100:504:Evren Demir:/home/eyeze:/bin/bash
/etc/shadow dosyasına ise ;
eyeze::9990:0:99999:7::::

satırı eklenir. Bu satırda kullanıcı şifresi daha sonra verileceği için ikinci girdi boş bırakılmıştır.

Tüm bunların ardından /home/eyeze dizini oluşturulur ve dizin grubu ayarlanır. Gelen e-postalar içinse /var/spool/mail dizininde bir dosya tanımlanır. /etc/skel içinde yer alan dosyalar kullanıcının dizinine kopyalanır ve sonra bu kullanıcı sisteme girebilir.

#mkdir /home/eyeze
#chown -R eyeze.users /home/eyeze
#touch /var/spool/mail/eyeze
#chown eyeze.mail /var/spool/mail/eyeze

5.3.2 Kullanıcı Grubu

Users grubuna bağlı kalmadan wwwadm veya ftpadm gibi grup isimleri belirtilebilir, bu gruplar da bir veya birkaç kullanıcıya ait olacak şekilde değiştirilebilir.
Bir kullanıcının kullanıcı kimliğini öğrenmek için id komutu kullanılır.

$ id eyeze
UID=504 (eyeze) GID=100 (eyeze)

Users grubunun dışında birden fazla grup tanımlaması sistemin denetlenmesini güçleştirse de sistem güvenliğini arttırır. Her kullanıcının en az bir grubu vardır. Bazı kullanıcıların birden fazla grubunun olmasıyla bu kullanıcılar sistemde root kullanıcısının üstlenmesi gereken işleri yapabilirler.

Grup kimliğinin değiştirilmesi veya yeni grubun eklenmesi için /etc/group dosyası kullanılır. Bu dosyaya grubun ismi, numarası, grup şifresi ve gruba ait kullanıcılar yazılır.
/etc/group dosyasının iki satırında yer alan parametreler;

root::0:root
sys::3:root,bin,sys,adm gibidir.

Sırayla ‘:’ ile ayrılmış her kolon grup ismi,grup şifresi,grup numarası ve gruba ait kullanıcılardır.
Grup ismi, ls -l komutunu işletince kullanıcı isminin hemen sağında görülen kelimedir.
Grup şifresi, gruba ait olmayan kullanıcıların dosyasına erişim için nadiren kullanılır.
Grup numarası, kullanıcının ait olduğu grubun karşılığıdır.
Gruba ait kullanıcılar ise her biri birer virgülle ayrılmış olarak yazılır.
Kullanıcı sisteme girdiği zaman otomatik olarak /etc/password dosyasında yer alan grup ismi aktif olur. Bu yüzden her kullanıcının ismi /etc/groups dosyasına yazılmaz.

Hangi grubun veya grupların içinde olduğumuzu öğrenmek için groups komutu kullanılır.
$ groups eyeze
users

5.3.3 Yeni Kullanıcı Grubu Eklenmesi

Sisteme yeni bir kullanıcı grubu eklemek için groupadd komutu kullanılır.
# groupadd deneme
Bir kullanıcıyı bu gruba dahil etmek içinse
# gpasswd -a eyeze deneme yazılır.

5.3.4 Kullanıcı Grubunun Silinmesi

Bir kullanıcı grubunu sistemden kaldırmak için groupdel komutu kullanılır.
#groupdel deneme

5.3.5 Kullanıcı Hesabının Silinmesi

Bir kullanıcıya ait hesabı silmek için /etc/passwd dosyasında bu kullanıcıya ait olan satırdaki şifre kolonunun başına ‘*’ işareti koyulabilir. Bir parolanın içinde * karakteri olmayacağından bu kullanıcı sisteme bir daha giremez.

Hesabı tamamen kaldırmak için sırasıyla aşağıdaki işlemler yapılır:
Kullanıcının home dizinini ve e-postalarını yedekledikten sonra sistemde kullanıcıya ait olan dosyalar ve home dizini silinir. /etc/passwd ve /etc/group dosyasından kullanıcının isminin geçtiği satırlar silinir. Sistemde kullanıcıya ait olabilecek tüm dosyaları silmek için /etc/passwd dosyasından kullanıcıya ait olan satırlar silinmeden önce $ find /-user eyeze -ls-exec rm {}\; komut satırı kullanılır.

5.4 Sistemin Yedeklenmesi
Makinenin belli aralıklarla yedeklenmesi sistem güvenliğinin bir parçasıdır. Yedekleme ile kullanıcı hatalarının önüne geçilebilir. Yedekleme genellikle tüm sistem üzerinde yapılmaz. Sadece önemli bilgileri içeren dizinler üzerinde yedekleme işlemi yapılabilir. Yedekleme üniteleri olarak teyp, disket veya başka diskler kullanılabilir. Kullanışlı olması için yedeklemeyi yapan program, yedeklenen dosyalar arasındaki belirli bir dosyayı açabilmelidir.

Yedeklenecek olan dizinlerden en önemlileri, sistem konfigürasyon dosyalarının yer aldığı /etc, bazı Xwindow dosyalarının bulunduğu /usr/X11/lib/X11 dizini altındaki bazı dosya ve dizinler, kullanıcı dizinlerinin yer aldığı /home, /usr ve /usr/local dizininde yer alan bazı dizin ve dosyalar ve /root dizinidir.

$ tar cvMf /dev/fd0 /usr /home

Yukarıdaki komut ile /usr ve /home dizinleri diskete yedeklenir. Sıkıştırarak yedeklemek için bu komuta z seçeneği vermek yeterlidir. Açmak içinse

$ tar xf /dev/fd0

komutu kullanılır. Eğer sıkıştırarak yedeklediyseniz açarken de z seçeneği kullanılır. tar’ın yanısıra kullanılan yedekleme komutları olarak dump, restore, cpio, dd kullanılabilir.

Bir TCP/IP ağınız varsa ve birden fazla Linux veya Unix makinesi kullanıyorsanız tek bir teyp sürücü ile bütün makinelerinizin hatta Windows makinelerinizin bile yedeğini alabilirsiniz.

5.5 Sistemin Güncellenmesi
Yeniden Linux yüklenecek olan makine üzerinde Linux bulunmasının yararları ve sakıncaları vardır. Yapılacak aslında işletim sisteminin bulunduğu bölümü değiştirmektir. Takas alanının ayrılması, kullanıcı alanını ayrılması gibi işlemler önceden yapılmış oluyor.

Değiştirecek bir sebep olmadığı sürece bir işletim sisteminin güncellemesinden kaçınılmalı veya en aza indirilmelidir. Yeni bir sistem, yeni bilinmeyenler ve az da olsa çalışmama riski getirecektir.

Eğer sistem üzerinde belirli hizmetler veriliyorsa o hizmetlerle ilgili verilerin güncelleme esnasında yok olmamasına dikkat edilmelidir. Makineye ait tanımların (/etc) ve standart dağılım dışında yüklenmiş paketlerin önceden yedeklenmesi gerekir.

Güncelleme için iki yöntem vardır. Biri doğrudan yeni sistemi eskisinin üzerine yüklemek, diğeri eskisini silerek yenisini yüklemektir. Güncelleme gerektiren dizinler; /var/spool/mail , /root dahil tüm kullanıcı dizinleri , /usr altında gerekli dizinler, /var/adm ve /etc ‘ dir.

Daha önce shadow kullanmayan bir sistemden shadow kullanılan bir sisteme geçerken /etc/passwd ve /etc/shadow dosyalarında gerekli değişiklikler yapıldıktan sonra yeni yerine kopyalanmalıdır.

5.6 Çekirdeğin Derlenmesi
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 düzenli bir şekilde dağıtımını üzerine alır.

Çekirdek kaynak dosyaları diskte çok yer tutar. Kullandığımız sisteme göre de çekirdeğin derlenme süresi değişkenlik gösterir. Çekirdek kaynak kodu tsk11.mit.edu adresinin yansısını tutan herhangi bir adresten alınabilir. Bu dizin altındaki Linux sürümlerinin bir tanesini seçtikten sonra altındaki dosya alınır. Dosyanın ismi linux-x.y.z.tar.gz yapısındadır.

5.6.1 Çekirdek Konfigürasyonu
/usr/scr/linux dizini altındayken make config yazılır. Bu komut bir konfigürasyon dosyası yaratmak için bazı sorular sorar. Bu sorulara ‘y’ evet veya ‘h’ hayır ile cevap vermek gerekir. Bazı aygıt sürücülerde ‘m’ seçeneği de olabilir. Bunun anlamı sistem o programı modül olarak derleyecek ve çekirdeğe dahil etmeyecek demektir. Kullanıcı derleme aşamasından sonra istediği zaman bu modülü çekirdeğe dahil edebilir, işi bittikten sonra çıkarabilir.

Bazı konfigürasyon parametreleri;

Matematikçi İşlemci Emülasyonu : Kullanılan makinenin işlemcisi yardımcı matematik işlemcisine sahip değilse bu seçeneğe evet cevabı verilmelidir.

Normal (MFM/RLL) disk ve IDE disk/cdrom desteği : Hemen herkesin kullandığı PC sabit diskleri standart olduğu için evet cevabı verilmelidir.

Ağ desteği : Makine herhangi bir ağ üzerinde ise veya internete bağlanmak için SLIP,PPP gibi programlar kullanılmak isteniyorsa bu seçeneğe evet cevabı verilmelidir. Fakat ağ üzerinde bulunulmasa bile yeni uygulama programlarının ve paketlerin ağ desteğine ihtiyaç duyduğu düşünülürse bu seçeneğe evet cevabı vermek şarttır.

En fazla 16 Mb hafıza: Bazı hatalı 386 DMA denetleyicileri hafızanın 16 Mb’tan yüksek bölümlerine ulaşamazlar. Eğer bu durum makinede varsa evet cevabı verilmelidir.

Sistem V IPC: IPC desteği verir. Bazı Perl programları ve oyunlar bu seçenek olmadan çalışmazlar.

İşlemci tipi: Çekirdek hangi makine için derleniyorsa onun tipi girilir.

SCSI desteği: SCSI aygıtlarınız varsa bu seçeneğe evet cevabı verilir ve sonra SCSI aygıtlarından uygun olanlar seçilir.

Ağ kartı desteği: Ağa bağlanmak için bir kart kullanılacaksa veya SLIP,PPP bağlantıları ya da paralel port üzerinden yapılacak her türlü işlemler için bu seçenek işaretlenmelidir. Sonra ekrana gelen kart tiplerinden uygun olanlar seçilir.

Dosya sistemleri: Bazı dosya sistemlerinden kullanmak istenilenler seçilebilir. Bu dosya sistemleri minix, extended file system, second extended file system, xiafs, msdos, umsdos, proc, NFS, ISO9660, OS/2 HPFS, system V’ dir.

Karakter aygıtlar: Yazıcı, fare, teyp yedekleme sürücüleri gibi karakter aygıtları(iletişimi karakter karakter sağlayan aygıtlar) için sürücüler eklenebilir.

Ses kartı: Linux’un ses kapasitesi için bu destek eklenmelidir.

Çekirdek işlemleri: Çekirdekten doğan hataların bulunmasını kolaylaştırmak için bu seçenek eklenmelidir.

5.6.2 Temizlik

Fazla dosyaları temizlemek, gerekli olan dosyaların yerinde olup olmadığını kontrol etmek için sırasıyla;
# make dep
# make clean
yazılmalıdır. Bunun ardından tüm nesne dosyaları ve eski sürümden kalan dosyalar silinecektir. Temizlik işleminden sonra
# make zImage
veya # make zdisk
yazılmalıdır. Eğer kişisel bir bilgisayarda çalışıyorsanız, ilk seçenekte çekirdek derlenip /usr/src/linux/arch/i386/boot dizini altına zImage adıyla yerleştirilecektir. Buraya yerleştirilmeden önce yerden kazanmak için çekirdek sıkıştırılır. Diğer durumda ise yeni çekirdek sabit diskiniz yerine disket sürücüsüne yazılır. Disket üzerine yazmanın bir avantajı karalı olmayan ve sistemi açmayan çekirdek ile karşılaşılması halinde sistemi sabit disk üzerindeki eski çekirdekten açabilme imkanı bırakmasıdır.

5.6.3 Ç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.

/etc/lilo.conf dosyasının içinde gerekli olan kurulum bilgileri vardır.
image = /vmlinuz
label = linux
root = /dev/hdal

other = /dev/hdal
label = dos
table = /dev/hda
image= ifadesi kurulu olan çekirdeği ifade eder. label= bölümünde hangi işletim sistemi veya çekirdek sürümünün açılışta kullanılacağını yazar. 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.

LILO programı çalıştırıldığında * karakteri çalıştırılacak ilk çekirdeği veya sistemi gösterir.

# lilo
Added linux *
Added dos

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/hdal
satırlarının kopyasını çıkarıp image, label, root yerlerine sırasıyla yeni derlenen çekirdeğin sabit disk üzerindeki yeri, ismi ve Linux işletim sisteminin kök dizini yazılır.

Açılış anında bekleme sağlamak ve seçim yapabilmek için konfigürasyon dosyasının başına delay=xxx eklenebilir. xxx sayısı, gecikme zamanı saniyenin onda biri olarak verilebilir
 

Siraç

Yönetici
Admin
Editör
#5
Linux Nedİr ?
16.7. hosts ve nslookup Programlarının Kullanımı

Host veya nslookup programları yardımıyla bind konfigürasyonumuzun ilgili sunucuda doğru çalışıp çalışmadığını test edelim. Örnek olarak, host komutunu kullanarak linux.org.tr için knidos.cc.metu..edu.tr’da girilmesi gereken tanımların doğruluğunu kontrol edebiliriz.

$nslookup
Default Server : knidos.cc.metu.edu.tr
Adress : 144.122.199.20

> linux.org.tr
Server : knidos.cc.metu.edu.tr
Adress : 144.122.199.20

Name : linux.org.tr
Adress : 144.122.199.199

> exit

Yukarıdaki satırlarda nslookup yardımıyla ön tanımlı DNS sunucusu olan knidos makinesine linux.org.tr makinesinin IP adresini sorduk. nslookup komutunun -t seçeneği yardımıyla bir makine hakkında daha başka veriler almak da mümkündür.

> server metu.linux.org.tr
Default Server : metu.linux.org.tr
Adress : 144.122.199.199

>ls -t HINFO linux.org.tr
[metu.linux.org.tr]
linux.org.tr. Linux 2.0.27
>
nslookup üzerinde daha fazla bilgi için komuta ait man sayfasına göz atın. host komutu da nslookup komutunun bir tamamlayıcısı gibidir. Aşağıda birkaç örnekle host komutu anlatılıyor.

$ host linux.org.tr
linux.org.tr has adress 144.122.199.199
linux.org.tr mail is handled (pri=10) by metu.linux.org.tr
$ host wwww.ege.linux.org.tr
wwww.ege.linux.org.tr is a nickname for ege.linux.org.tr
ege.linux.org.tr has adress 155.223.97.31

Yukarıda yer alan ilk komut yardımıyla linux.org.tr makinesinin isim-IP dönüşümü yapılmış ve makineye karşılık gelen adresin 144.122.199.199 olduğu anlaşılmıştır.

17. DİĞER KULLANICILARLA İLETİŞİM

Internet, baş döndürücü bir hızla gelişmekte. Dünyada İnternet’e her gün onbinlerce kullanıcı eklenirken İnternet’e bağlı Türk insanının sayısı (şimdilik) yüzbinlerle ifade ediliyor. Bunda özellikle medyanın, İnternet’in 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 İnternet’e 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. İnternet’le bilgisini, kültürünü arttı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 sihirden 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ğimizde bakmışsınız ki birkaç dakika sonra karşıda.

Bunun yanında her haber gruplarına bağlanmak ve onbinlerce tartışma grubundan hangisini okuyacağını şaşırmak da var. irc (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. Aşağıda iletişim kurabilmek için kullanan yazılımlardan birkaçı anlatılıyor.

17.1. Pine

Pine, e-posta atma ve okuma için en çok kullanılan yardımcı programlardan biridir. Kurulumu ve kullanılması kolay olan pine, Linux altında sürekli güncellenen bir yazılımdır.
Daha önce pine kurmadıysanız size en yakın sunsite arşivinden indirip kurmak mümkündür. Pine, açıldığı zaman aşağıdaki gibi bir görüntüyle sizi karşılar.
PINE 3.95 MAIN MENU Folder:INBOX 4 Messages

? HELP -Get help using Pine
C COMPOSE MESSAGE -Compose and sen a message
I FOLDER INDEX -View messages in current folder
L FOLDER LIST -Select a folder to view
A ADDRESS BOOK -Configure or update Pine
S SETUP -Congifure or update Pine
Q Quıt -Exit the Pine program

Copyright 1989-1994. PINE is a trademark of the University of Washington.
[Folder “INBOX” opened with 4 messages]
? Help P PrevCmd R ReINotes
O OTHER CMDS L[ListFldrs] N İleriCmd K KBLock
Pine programı, kursör tuşları ile kolayca yönetebilir. En üzt satırda pine hakkında detaylı bilgi alabileceğiniz bölüm vardır. Diğer satırlar sırayla:
COMPOSE MESSAGE : E-posta hazırlayır göndermek için
FOLDER INDEX : Gelen ve giden e-postaları gruplanabilir. Bu seçenek seçilen grup içindeki e-postaları ekrana getirir.
FOLDER LIST :posta grubu seçmek için
ADDRESS BOOK : Adres rehberi
SETUP : Pine’ın konfigürasyonu bu seçenekle yapılır.
QUIT : Programdan çıkar.

Pine’ın kullanıcı dostu özelliklerinden birisi, her komutu tek tuş ile belirtebilmesi ve bu tuşların ne işlerin yaradıklarının ekranın en alt kısmında sürekli görülebilmesidir. Bir komutu hazırlayamazsanız ekranın en alt kısmına bakın.

17.1.1. E-posta Gönderme

Bir e-posta gönderebilmek için karşıdaki kullanıcının e-posta adresini bilmeniz gerekecektir. Ana menüde COMPOSE MESSAGE satırının karşısına gelin ve return tuşuna basın. Bu andan itibaren pine’ın editörüne gireceksiniz.

To :
Cc :
Attchmnt :
Subject :
----- Message Text -----

To: kısmına mesaj göndermek istediğiniz kişinin e-posta adresini yazın. Cc: (Carbon Copy) bölümünde ise, gönderilen e-postanın ikinci kişi tarafından alınmasını da istiyorsanız o kişinin de e-posta adresinin belirtin.
Pine ile sadece mesajları değil, herhangi bir dosyayı da göndermek mümkündür. Attchmnt kısmına, dosyanın adını yazın. Pine, dosyayı ev dizininde arayacak ve atılacak e-postanın içine ekleyecektir.
Subject (başlık) kısmında, mesajın içeriğini belli eden birkaç kelime yazın ve return tuşuna basın. Artık istediğinizi yazabilirsiniz.
To:
evren@hotmail.com
Cc:
Attchmnt:1. /home/yesim/adresler (2.8 KB) “”
Subject:
-----Message Text -----

Selam,
İstediklerinizi ekte yolluyorum. Umarım isinize yarar.
Gorusuruz.

Mesajı yollamak için Control-X, vazgeçmek için Control-C tuşuna basın. Yukarıda da belirtildiği gibi, pine’ın tüm komutları ekranın alt kısmına yazılmıştır.

17.1.2. E-posta Okuma

Pine, açıldığı anda ana menüye gelir. Herhangi bir alt menüden ana menüye geçmek için m tuşuna basın. Buradayken gelen e-postaları okuyabilmek için FOLDER INDEX’e geçin.
+1 Sep 15 To:
root@linux.lin (4,394) Register with the Linux counter proje
+2 Sep 15 PATRİCK j. Volkerd (2,671) Welcome to Linux!
Burada gelen e-postaların ne zaman, kim tarafından yollandığı, uzunluğu ve başlığı yeralır. Okumak için ok tuşlarıyla bir tanesinin üzerine gelip return tuşuna basın.

17.1.3. E-posta Silme

Gelen e-postaların diskte fazla yer tutmasını önlemek için bazen kontorl etmelisiniz. Özellikle e-posta aracılığıyla fazla miktarda program alış-verişi yapıyorsanız kısa sürede yer kalmadığını görmeniz işten bile değil. Ayrıca eklenen e-posta üzerine yön tuşları ile gelip D tuşuna basın.
+D 1 Sep 15 To:
root@linux.lin (4,394) Register with the Linux counter
+2 Sep 15 PATRİCK j. Volkerd (2,671) Welcome to Linux!
Satırın başında D karakteri belirecektir. Silmek istediğiniz dosya diskten hemen silinemez. Sistemden çıkarken Pine, bunları silmek isteyip istemediğinizi sorar, sonra siler.

17.2. Etkileşimli İletişim Yöntemleri

Pine, kullanım kolaylığı ile kullanıcıya cazip gelirken, atılan mesajların karşıya anı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 makine üzerindeki kullanıcıyla anında iletişim kurmak mümkün olur. komut satırında write e konuşmak istediğiniz kullanıcının ismini yazmak yeterlidir.
linux: ~$ wite 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 her birinin 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 irc’ye 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.
Linux’unuzda irc yazılımı yoksa sunsite arşivinden alp kolayca kurabilirsiniz.

17.3. Haber Grupları

Haber gruplarını, milyonlarca kişinin e-posta alıp gönderdiği bir yer olarak düşünebiliriz. Dünya üzerinde haber gruplarına ait e-postaları dağıtma işlemini üstlenmiş pek çok omurga vardır. Bunlar, diğer alt haber grubu sunucularına ücreti karşılığında e-postaları gönderirler. Normal bir kullanıcı da bu sunuculara bağlanıp haberleri okur.

İnternet üzerinde bu haber sunucularına bağlanmak için NNTP protokolü kullanılır. Alternatif olarak kendi Linux makinanız üzerinde siz de küçük bir haber sunucu yaratabilirsiniz.

Haber gruplarına bağlandığınızda karşınıza bir menü çıkar. Bu menüde konularına göre sınıflandırılmış gruplar vardır. Kullanıcı bu gruplardan birini seçerek daha öne yollanmış e-postalaı okuyabilir ve iserse kendisi de bir e-posta gönderebilir. Her grubun bir ismi vardır ve bu isimlerde alt grupları belirtmek amacıyla noktalar kullanılır. örneğin Linux grubuna ait onlarca haber grubundan comp.os.linux, comp.os.linux.x ve comp.os.linux.setup örnek verilebilir.

Haber gruplarını okumak için en çok kullanılan iki program tin ve trn’dir. Tin’e girince ekranda üye olunmuş haber gruplarının bir listesi çıkar. Bunlardan, istediğiniz bir tanesine return tuşunu kullanarak girebilirsiniz. Ardından ekranda bu gruba gönderilen e-postalar yer alacaktır. Burada yapabilecekleriniz arasında bir mesajı okumak veya cevap yazmak vardır. q tuşuyla tin’den çıkabilirsiniz.

Aşağıda tin komutu çalıştırıldığı anda ekrana gelen haber grupları yer alıyor. İstediğiniz haber grubuna s (subscribe) tuşuyla üye olabilir, istemediklerinizi u (unsubcribe) ile silebilirsiniz. Linux’unuzun bağlandığı sunucunun kapasitesine göre teorik olarak onbinlerce haber grubunu okumak mümkündür.

Group Selection (news.metu.edu.tr 18) h=help
1 alt.os.linux Use comp.os.linux.*instead.
2 comp.os.linux
3 comp.os.linux.admin
4 comp.os.linux.advocacy Benefits of Linux compared to other o
5 comp.unix.shell Using and programming the Unix shell.
6 gnu.bash.bug Bourne Again Shell bug reports an su
7 comp.lang.perl
8 comp.graphics.agorithms Algorithms used in producing computer
9 metu.cc.hot-line
10 alt.2600 The magazine or the game system.
11 comp.sys.cbm The commodore computers
12 alt.2600.codez No description.
13 alt.3d Use alt.3d.misc instead.
14 alt.c64 Use comp.sys.cbm instead.
15 alt.cd-rom Discussions of optical storage media.
16 alt.cookies.yum.yum.yum Use rec.food.baking instead.
17 alt.music.ozzy Blizzard of Osbourne.

<n>=set current to n, TAB=next unread,/=search pattern, c)atchup,
g)oto, j=line down, k=line up,h)elp,m)ove,q)uit, r=toggle all/unread,
s)ubscribe,S)ub pattern, u)unsub pattern,y)ank in/out
Ekranın en altında tin komutlarının bir listesi vardır. bir e-postaya cevap yazmak için o mesajı okurken f tuşuna basın.
Diyelim ki farklı bir haber sunucusuna bağlanmak istiyorsunuz. tin, komutu, NNTPSERVER kabuk değişkenini okuyarak bu değişkende bulunan sunucuya bağlanır. Buradaki makinanın ismini değiştirmek suretiyle dilediğiniz bir sunucuya bağlanmanız olasıdır.
$ export NNTPSERVER=news.metu.edu.tr
$ tin-r

18. LİNUX İŞLETİM SİSTEMİNDE GÜVENLİK

Güvenlik bir bütün olarak ele alınmalıdır. Altyapıyı sağlam tutmak için öncelikle temel sistem güvenliğine özen göstermelisiniz. Bunun içine ağ ve kablo güvenliğini yerleştirebiliriz. Ardından makinelerin işletim sistemi güvenliği gelmelidir.

Ağ kabloların serbest bir şekilde ortada dolaşması sonucu mutlaka bir sorun çıkacaktır. Eğer yerden doğru geçirmeniz gerekiyorsa mutlaka yere sabitleyin veya özel koruyucu plastik içerisinden geçirin.
Ana sunucu bilgisayarı, herkesin ulaşamayacağı, tozdan, nemden uzak, özel, kapalı bir mekanda tutun.
Mutlaka sisteminizi günlük yedekleyin.
Sistemde elektrik kesilmesi ciddi bir sorundur. Henüz kaydedilmemiş bir çok dosya olabilir. Ayrıca sabit disklerin bozulmasındaki en etkili nedenlerden birisi bilgi okunurken/yazılırken elektrik kesilmesi sonucu meydana gelen hasarlardır. Bu sorunları önlemek için mutlaka bir kesintisiz güç kaynağı (UPS) kullanın.
Bir sistemin sağlam/güvenilir olması sadece sistem yöneticisine bağlı değildir. bir çok hacker ve cracker sadece kullanıcıların bilgisizliğinden yararlanarak çok kolay bir şekilde değerli bilgilerinize ulaşabilir. Bunu önlemenin yolu da kullanıcıları eğitmekten veya parola yaşlandırma ve sadece belli bir kalıba göre üretilen parolaların kullanılabilmesine izin vermekten geçer.

18.1. Fiziksel Güvenlik

Güvenliğin birinci kuralı fiziksel güvenliği sağlamaktır. Tüm modern kasalarda iki çeşit kilit bulunabilir. Bu kilit yardımıyla klavyenin yetkisiz kişiler tarafından kullanılması veya kasanın çalınmasının önüne geçebiliriz.

BIOS’a bir parola atanarak makinenin açılması sırasında benzer şekilde sadece bu parolayı bilen tarafından kullanılması sağlanabilir. Ancak hemen her farklı BIOS’un ön tanımlı bir parolası olduğundan bu parolayı bilen bir saldırgan rahatlıkla sistemi açabilir. Ancak BIOS parolası bir CMOS entegre içinde saklıdır ve anakart içindeki pilin yerinden çıkartılması ile kolaylıkla silinebilir.

BIOS’a benzer şekilde LILO’nun açılış esnasında bir parola sorması da istenebilir, bu konuda detaylı bilgiye lilo.conf kılavuz sayfasından erişebiliriz. Temel olarak, aşağıdaki iki satırın /etc/lilo.conf’a yerleştirilmesi yeterlidir.

restricted
password = Parola_ver

Yukarıdaki satırlar lilo.conf dosyasının tepesine yerleştirdikten sonra lilo komutunun işletilmesiyle MBR’a yazılan LILO programı, sistemin tekrar açılmasından sonra çekirdeğe verilecek her parametre için sizden parola isteyecektir. Böylece istenmeyen misafirlerin “linux 1”, ya da “linux single” gibi parametrelerle sisteme yalnız başlarına girmeleri engellenebilir.
Ancak yukarıdaki işlemleri yaptıktan sonra parolanın herkesçe görünmemesini sağlamak amacıyla

# chmod 700 /etc/lilo.conf

komutunun da işletilmesi gerekir.

xclock adlı program ile konsol başından ayrıldığınız anda X ekranının kilitlenmesi sağlanabilir. İşinizi bitirip tekrar başına döndüğünüzde root parolasını girerek kaldığınız yerden devam edebilirsiniz. Fakat bu yöntem ile makinenin fiziksel güvenliği tam olarak sağlanamaz. Saldırgan makineyi kapatabilir ve halihazırdaki görevlerin çalışma düzenini anlık da olsa bozabilir.

18.2. Ağ güvenliği

Ağ kabloların serbest bir şekilde ortada dolaşması sonucu mutlaka bir sorun çıkacaktır. Eğer yerden doğru geçirmeniz gerekiyorsa mutlaka yere sabitleyin veya özel koruyucu plastik/alüminyum içerisinden geçirin. Doğrusal (lineer) ve halka bağlantılarında tek bir kablonun kopması, tüm ağın kullanılmaz duruma gelmesine sebep olacaktır. Kablo ile konnektör bağlantılarını iyice kontrol edin. Herhangi bir temassızlık sonucunda tüm ağ bunlardan etkilenecektir.

Ana sunucu bilgisayarı, herkesin ulaşamayacağı, tozdan, nemden uzak, özel kapalı bir mekanda tutun. Bunların yanında ağ üzerinde paketleri dinleyebilen ve gerektiğinde bu paketlerde yer alan parolaları da yakabilen programlar mevcuttur. Bir sniffer Ethernet bağlantılarını dinler ve içinde “Pasword”, “Login”, “Su” gibi belirli anahtar kelimeler geçen paketleri yakalar. Bu paketlerin içinde bir saldırganın işini çok kolaylaştıracak parolalar bulunabilir. Bunu önlemek için ssh yöntemi geliştirilmiştir. Ssh protokolü yardımıyla iki makine, şifrelenmiş paketler ile haberleşebilir. Böylece ağ üzerindeki potansiyel saldırganlar paketleri dinleyemez.

Bazı ağ servislerinin dizayn açıklarından yararlanarak bunları tamamen durdurmak ya da kısmen iş göremez hale getirmek amacıyla yazılan saldırı programları da vardır.
Eğer sistem yöneticisi NFS kullanımı konusunda bilinçsiz ise sistemde kendi eliyle açık yaratma ihtimali de artar.

18.3. Zayıf parolalar

Bir makineye girmenin en kolay ve en sık kullanılan yolu zayıf parolaları kullanmaktır. Zayıf parola kolayca tahmin edilen ve bir takım yollar kullanılarak bulunabilen ve bu açıklığından yararlanarak, sisteme girilebilen parolalardır. Genel olarak kullanıcılar sistem güvenliğinden haberdar olmadıkları için kolaya kaçarak rahatça tekrar hatırlayabilecekleri zayıf parolaları seçerler. Eğer yüzlerce kişiyi barındıran bir sistemin başında iseniz kullanıcıların şifrelerini sürekli olarak değiştirmelerini sağlamalısınız. Bunu Linux altındaki /etc/shadow dosyası yardımıyla yapabilirsiniz. Zayıf parolaları bulan ve sistem yöneticisini uyaran Satan, Cops gibi programlar vardır.

Gerekmedikçe dosya ve dizinlere fazladan hak vermemeye, gruplara ve kişilere özel ayrıcalıklar tanımamaya özen gösterin.

Kullanıcıların /etc/passwd veri tabanından parolaları alıp bunları zorlama yöntemi ile diğer kullanıcılara ait parolaları bulmalarını önlemek için shadow yöntemini kullanmalısınız.

Bir dosyanın rm komutuyla silinmemesini, ya da içeriğinin root dışındaki kullanıcılar tarafından hiçbir şekilde değiştirilmemesini sağlamak için chattr komutunu kullanmalıyız. Örneğin lili.conf, passwd, shadow ya da group gibi dosyalarınıza hiç dokunmayacaksanız ve bir kazayla silinmesini istemiyorsanız. Aşağıdaki örneği inceleyin:

# chattr +i /etc/passwd

chattr komutuna verilen +i (immutable) parametresi bu dosyanın hiçbir şekilde değiştirilememesini sağlar. Root bile bu dosya üzerinde değişiklik yapamaz. Eski haline getirmek için;

# chattr -i /etc/passwd

komutunu kullanın.

18.4. Dosya Sistemi Güvenliği

Dosyaların güvenliği de en az parolalar kadar önemlidir. Bir kullanıcıya ait, ama herkes tarafından okunabilen bir e-postanın varlığı ya da /etc/passwd parola veritabanının yazılabilir olması sistem yöneticisini dehşete düşürmeye yeter.

Tripwire gibi yazılım paketleri sistemde değişen önemli dosyaları haber verir. Güvenlik gerektiren dosyaların özellikle bir kırıcı tarafından değiştirildiğinden şüphelendiğiniz anda gerekli önlemleri almalısınız.

Mutlaka sisteminizi günlük yedekleyin. Tüm işletim sistemini yedeklemenize gerek yoktur. Belli başlı dizinler yedeklendiği anda bir sorun çıktığında işletim sistemi yeniden kurulduktan sonra yedeklenen bölümler tekrar kurulur. Yedek alınması gereken belli başlı dizinler aşağıda verilmiştir:
Yapılandırma dosyaları (/etc altında)
E-postalar (/var/spool/mail)
Kullanıcı dosyaları (/home)
Sistem dosyaları (/var/log)
Hizmet veren programların verileri (/home/ftp, /home/httpd)
En kolay yedek alma işlemi tar, gzip ile boş bir disk şeklindedir.

Dosya sistemi güvenliği için;
kullanıcıların ev dizinlerinde çalışmaları gereken dosyalar istemiyorsanız, /home dizinini içinde barındıran disk bölümü için /etc/fstab’ta “noexec” parametresini kullanabilirsiniz. Bu durumda kullanıcılar sadece sistemde kendilerine izin verilen (ön tanımlı olarak /bin, /usr/bin ve /usr/X11R6/bin altında) programları çalıştırabilirler.
NFS ile dosya sistemi paylaşımı yapmanız halinde hangi bilgisayara hangi hakları verdiğinizi iki kez kontrol edin.
Aşağıdaki komut, sistemdeki tüm SUID (set user ID) ve SIGN (set grup ID) dosyalarını bulup gösterecektir. Sürekli olarak dağıtımların web sayfalarında bu konuda sorunlu olan programlar (paketler) yayınlanır ve yenisini kurmanız istenir.

# find / -type f \ ( -perm -4000 -o -perm -2000 \ )

Gerekiyorsa “chmod a-s dosyaadı” komutu yardımıyla yukarıdaki komutun çalıştırılması sonucu listelenen dosyaların üzerindeki SUID veya SGID bitlerini kaldırın.
Sistemde kesinlikle herkes tarafından yazılabilir hiçbir dosya bulunmamalıdır. Aşağıdaki komut yardımıyla bu türden dosyaları ve dizinleri bularak gerekli önlemleri alabilirsiniz:

# find / -perm -21 -type 1 -ls

18.5. Yerel Güvenlik

Eğer sisteminizde yeterli güvenlik yoksa, yerel kullanıcılardan bazıları öncelikle root parolasını ele geçirmek, ya da hatalı düzenlenmiş ya da kurulmuş bir programdan faydalanıp üst düzey haklara sahip olmak isteyecektir.

Yerel güvenliği arttırmak için;
Hesap açacağınız kişilere ek yetkiler vermeyin. Bu kişiler için fazladan ftp alanı, disk alanı sağlamayın ve /etc/passwd, /etc/shadow veritabanını sürekli olarak denetleyin. /etc/passwd kullanıcı numarası (user ID, UID) ya da grup numarası (group ID, GID) mutlaka 0’dan farklı olmalıdır. /etc/shadow’da tüm kullanıcıların parolası tanımlı olmalı, sisteme giriş için kullanılan kabuk tanımlanan kabuktan farklı olmamalıdır. adduser ile bir hesap açarken sistem sizin için bu ayarları düzgün yapacaktır.
Sisteme (telnet ile) giren kişilerin hangi IP numaralarından giriş yaptığını arada sırada denetleyin, aynı anda aynı kişinin birden fazla IP numarası üzerinden giriş yapması halinde mutlaka durumu açıklığa kavuşturun. Eğer sisteme girişleri sadece belirli alanlara kısıtlayabilirseniz işiniz oldukça kolaylaşır. Bunu için /etc/hosts.deny dosyasını kullanabilirsiniz.
Bir hesap açtıktan sonra son giriş tarihini sürekli kontrol edin. Eğer yapabiliyorsanız uzun süredir girilmeyen hesapları (kişinin bilgisi dahilinde) kapatın ve başkalarının kullanma riskini sıfıra indirin. Hesap kapatmak için deluser (bazı sistemlerde userdel) komutunu kullanılabilir, ya da /etc/shadow dosyasındaki şifrelenmiş parola dizgisinin başına “*” karakterini ekleyebilirsiniz.

Saldırı için kullanılan hesapların önemli bir kısmı uzun süredir bekleyen ve sistem yöneticisinin farkına varmadığı masum kullanıcı hesapları olabilir.
Yukarıdaki yöntemlerin yanında, root kullanıcısının uyması gereken bazı kurallar aşağıda belirtilmiştir.
Öncelikle günlük işlerinizi root kullanıcısı altında yapmamaya özen gösterin. Yapacağınız en küçük hata saatlerinize mal olacaktır.
Sisteme sadece güvendiğiniz bir bilgisayardan giriş yapın.

18.6. Sisteme İzinsiz Girenlerin Bulunması

Her çabanıza, geceli gündüzlü sistem gözetmenize rağmen istemediğiniz kişiler sisteminize izinsiz ziyaretlerde bulunabilirler. Böyle bir durumda kullanıcıyı fark ettiğiniz anda bilgisayarın erişimini kapatın. Ancak bunu ağ kartını çıkartarak yapın. Sistemin reboot edilmesi saldırganın deşifre olduğu hissini uyandıracaktır. Hemen ardından kayıt dosyalarını kullanarak bilgisayara nasıl girildiğini araştırın. Eğer saldırgan tekrar girmek amacıyla birtakım ‘backdoor’ları (daha önce erişim elde edebilmek için açık kapılar bırakılması) makinenize yerleştirmiş olabilir. Bunları bulmak gayet zordur. /etc/passwd, .rhosts, /etc/group dosyalarını kontrol edin. Eğer sisteme nasıl girildiğini bulamazsanız sistemi yeniden kurmanız gerekebilir.

Syslogd tarafından tutulan kayıtların bulunduğu /var/log dizininde düzenli olarak yapacağınız araştırmalar da sistemin güvenliğini denetlemenizde yardımcı olacaktır. Bu kayıtları (/var/log/messages ve /var/log/security) incelerken aşağıdaki temel kriterleri göz önünde bulundurmanızda fayda vardır.
Makinenin sebepsiz açılıp/kapatılması.
Nereden girdiği belli olmayan kullanıcılar (last komutuyla öğrenilebilir). Özellikle yine giriş noktası belirsiz kullanıcıların su komutu yardımıyla root haklarına sahip olması belirsiz bir durumdur.
Kayıp kayıt dosyaları. Herhangi dosyaların sistem açılırken yaratıldığını mutlaka bir kenara not etmelisiniz ki daha sonra karşılaştırma yapabilesiniz.
Kayıt dosyalarının sahibinin, ya da grubunun root dışındaki bir kullanıcısı olması ve/veya root dışındaki bir kullanıcı tarafından içinin okunabiliyor durumda bulunması.
Kayıt dosyalarının belirli bir bölümünün silinmiş olması, ya da çok uzun süre hiçbir aktivitenin dosyaya eklenmediğinin anlaşılması.
Crontab dosyalarında ve dizinlerinde (/etc/crontab, /etc/cron.*) anlamadığınız ve/veya sistem kurulduktan sonra oluşturulan, bu yolla belirli zamanlarda belirli komutların işletilmesini sağlayan girdiler.

18.7. Diğer Güvenlik Önlemleri

18.7.1. Güvenlik Duvarı Oluşturulması

Ağ trafiğini engellemek için 2.0 Linux çekirdeğiyle birlikte ipfwadm komutu gelmiştir. 2.1 sürüm ile birlikte gelen ipchains programı çekirdeğin içine gömülen güvenlik duvarını denetler. Her iki programda 2.4’ten sonra yerini netfilter paketine bırakacaktır. Ancak gerçekten güçlü ve port bazında güvenlik isteyen sistemler için ipchains gerçekten performanslı ve gayet yeterli bir programdır.

Hem ipfwadm, hem de ipchains IP, port numarası, arayüz ya da paketin geldiği kaynak adresine göre tanımlama kabul ederler. Örneğin “etf0’a 900. porttan, 1.2.3.4 Ip numarasından gelen hiçbir isteği kabul etme” gibi bir emir verilebilir. Ipchains bunların yanında bir porta gelen istekleri başka bir porta yönlendirebilir.

Aşağıda ipchains’e göre bir örnek verilecektir. Bu örnek kısa sürede bir güvenlik duvarını nasıl kurulacağını gösterecektir. Deneme yapacağınız makine üzerinde çift ethernet kartı olsun. Bir tanesi her an tehlikelerin gelebileceği dış dünyaya bakan, diğeri de içeride, korunması gereken makinalara doğru yönelmiş olan.

Bu program geçit (gateway) olarak kullanılan bir sisteme yerleştirilebilir.
Sistemde iki ethernet kartı vardır, eth0 dışarıya bakan, eth1 ise güvenilir olan iç ağa. Güvenilir ağdan dışarıya hiçbir bağlantı denetlenmemektedir, ancak içeriye yapılabilecek birtakım bağlantılar ipchains tarafından kesilecektir.

Öncelikle bazı değişken ayarlarını yapmamız gerekecek. Aşağıdaki değişkenleri kendi sistemimize göre modifiye edin. Satır sığmadığı zaman satır sonunda bir \ karakteri göreceksiniz, bu karakter aşağıdaki satırın kendisiyle bitiştiğini gösterir.

Programın ilk satırı
# ! /bin/bash
ile başlıyor. Eğer satır başında # karakteri varsa satırın geri kalanı göz ardı edilir. Ethernet kartlarının netmaskı C sınıfı için 24, B sınıfı için 16’dır.

! /bin/bash

ETH0IP: Dışarıdaki ağa bakan IP numarası
(ethernet 0 ya da eth0)
ETH0NET: Dışarıdaki ağın numarası
ETH0NETMASK: Dışarıdaki ağın maskesi
GUVENLI1: Dışarıdaki güvenli bir makine
GUVENLI2: Dışarıdaki bir başka güvenli bir makine
ETH1IP: İçerideki ağa bakan IP numarası
(ethernet 1 ya da eth1)
ETH1NET: Dışarıdaki ağın numarası
ETH1NETMASK: Dışarıdaki ağın maskesi

ETH0IP: 194.24.22.1
ETH0NET: 194.24.22.0
ETH0NETMASK: 24
GUVENLI1: 212.45.3.13
GUVENLI2: 193.12.54.9
ETH1IP: 192.168.1.1
ETH1NET: 192.168.1.1
ETH1NETMASK: 24

PATH değişkeni patikayı (yolu) ayarlıyor.
PATH=/shbin

-F parametresi tüm kuralları siliyor, bir başka deyişle daha önce verilmiş bir güvenlik kuralı varsa bunu iptal ediyor.
ipchains -F input
ipchains -F output
ipchains -F forward

Spoof adı verilen bir yöntem aynı ağ üzerindeki başka bir makinanın kendisini güvenilir bir sistem olarak algılatma metodolojisine dayanır. Aşağıdaki satırlar spoof’u engelliyor.

ipchains -A input -p all -j DENY -s 10.0.0.0/8 -i eth0 -d
0.0.0.0/0
ipchains -A input -p all -j DENY -s 127.0.0.0/8 -i eth0 -d
0.0.0.0/0
ipchains -A input -p all -j DENY -s 192.168.0.0/16 -i eth0 -d
0.0.0.0/0
ipchains -A input -p all -j DENY -s 172.16.0.0/16 -i eth0 -d
0.0.0.0/0
ipchains -A input -p all -j DENY -s $ETHOIP -i eth0 -d 0.0.0.0/0

Bu satırlar ICMP paketlerini düşürüyor. ICMP, ping yardımıyla bir makinaya ulaşmak istediğinizde kullandığınız protokole verilen isimdir.

ipchains -A input -p icmp -j DENY ACCEPT -s $ETH0NET/$ETH0NETMASK -i eth0
-d0/0
ipchains -A input -p icmp -j DENY -s 0.0.0.0/0 -i eth0 -D 0/0

0.0.0.0/0 yerine 0/0 da kullanılabilir. Eğer uzaktan ssh (secure shell) ile sisteme ulaştırmak isteyenler var ise bu IP’lere ssh’ın portu olan 22 açılıyor. Aslında aşağıdaki örneği çoğaltarak açmak isrediğimiz tüm servislere izin verebilirsiniz. Örnek olarak bu makine bir web sunuculuk görevi yapacaksa 22 yerine 80 yazmanız yeterli olacaktır.

ipchains -A input -p tcp -j ACCEPT -s $GUVENLI -i eth0 -d 0.0.0.0/0 22
ipchains -A input -p tcp -j ACCEPT -s $GUVENLI -i eth0 -d 0.0.0.0/0 22

Eğer Apache web sunucusu isteklerinin de alınmasını istiyorsak,

ipchains -A input -p tcp -j ACCEPT -s 0/0 -i eth0 -d 0.0.0.0/0 80
ipchains -A input -p tcp -j ACCEPT -s 0/0 -i eth0 -d 0.0.0.0/0 80

1 ve 1023 arası tüm portlar kapatılıyor. Bu portların özelliği sistemde çalışan belli başlı tüm servislerin dinlendiği portlar olmasıdır.

ipchains -A input -p tcp -j DENY -s 0.0.0.0/0 -i \
eth0 -d 0.0.0.0/0 1024:65535
ipchains -A input -p udp -j DENY -s 0.0.0.0/0 -i \
eth0 -d 0.0.0.0/0 1024:65535

1024 ile 65535 arası portları da kapatmak isterseniz, aşağıdaki satırlar işinizi görecektir. Aslında ek bilgi vermek amacıyla 1-1023 ve 1024-65535 arası portları ikiye ayıralım, normal olarak iki satırda işimizi halledebilirdik.

ipchains -A input -p tcp -j DENY -s 0.0.0.0/0 -i \
eth0 -d 0.0.0.0/0 1024:65535
ipchains -A input -p udp -j DENY -s 0.0.0.0/0 -i \
eth0 -d 0.0.0.0/0 1024:65535

IP Masquerading yapabilmek için aşağıdaki satırlara ihtiyacınız var.

ipchains -p forward DENY
ipchains -A forward -p all -j MASQ -s $ETH1NET/$ETH1NETMASK -d
0.0.0.0/0

18.7.2. Güvenlik Duvarı (FİREWALL )

Bilgisayarlardaki firewall özel bir ağı uçsuz bucaksız olan Internet'ten korumayı sağlayan bir araçtır. Firewall'un en basit şekli ( modem yada ethernet kartı ile ) Internet'e ya da özel ağlara bağlı bir Linux makinasıdır. Firewall görevini üstlenen bilgisayar, Internet'e ve de ağa erişebilir.Bu korumalı ağ Internet'e çıkamaz ve de Internet'te bu ağa giremez. Internet'e veya Internet'ten akan bilgiler firewall tarafından filtrelenir. Ağ içinde servisleri açma ya da kapatmada daha az özen gösterilir. Bu şekilde sadece bir makine üzerinde yoğunlaşılır. Firewall kurmak oldukça karmaşık bir iştir. İlk başta makinenize bağlı iki ethernet kartı gerekir. Sonra iki ethernet kartı arası bilgi köprülerinin filterelenmesini kurmak için ipchains isimli program kurulmalıdır.

18.7.3. SSH (Secure Shell)

Ssh, güvenli telnet bağlantısı için kullanılan bir protokoldür. Telnet benzeri olarak, uzaktaki bir makinaya girmenizi sağlar ve işlemlerinizi bu makine üzerinde yapmanıza imkan verir. Kullanıcı gözüyle bakılırsa, telnet’ten tek farkı programın güvenli bir port üzerinden çalışmasıdır. Aslında kullanılan portun güvenli olması söz konusu değildir, ancak bu porttan yapılacak bağlantılar özel bir kriptoloji yöntemiyle şifrelendiği için, ağı dinleyen birisi paketleri yakalasa dahi anlamsız mesajlarla karşılaşacaktır. Ssh’ın en önemli özelliği de budur. Uzaktaki makinaya yapacağınız güvenli telnet erişimi, ağ üzerindeki sniffer programlarının parolanızı ve kullanıcı adınızı yakalamasını engeller.

Ssh’ın iki sürümü (ssh-1 ve ssh-2) bulunuyor. Her iki sürüm de farklı protokollerde çalışıyor ve farklı lisanslama özelliklerine sahip. Aslında iş kuruluma geldiği zaman hiçbir farklılık yok.

Ssh’ın rpm halini kurmak için üç farklı dosyaya ihtiyacınız var.
Ssh: Halen 1.2 sürümünde olan ssh-1 paketinin ana dosyalarını içeren program. Bunun hem istemci, hem de sunucu tarafından kurulması gereklidir.
Ssh-clients: Eğer bir Linux makinasından ssh çalıştıran bir sisteme bağlanmak istiyorsanız istemciye ssh-clients de kurmalısınız.
Ssh-server: Sunucu tarafına kurulması gereken dosyaları içerir.

Ssh’ın yapılandırma dosyaları /etc/ssh dizini altındadır. Ssh_key dosyası özel bir anahtarı içerir ve diğer kullanıcılar tarafından görülmeyecek şekilde 600 iznine sahiptir. Ssh_host_key.pub ise 664 iznindedir. Eğer ssh taleplerinin sadece belli makinalardan gelmesini sağlamak istiyorsanız /etc/ssh/sshd_config dosyasındaki AllowHosts satırını değiştirebilirsiniz.

Bu aşamadan sonra güvenli telnet bağlantısının iş görebilmesi için sshd’nin her açılışta çalışması gereklidir. Bunu da sshd satırını /etc/rc.d/rc.local’ın sonuna yerleştirmekle yapabilirsiniz.

Eğer bir Linux altından, sshd çalıştıran sisteme bağlanmak isterseniz aşağıdaki örneği inceleyin. Bu örnekte “gazi” kullanıcısı ns.gelecek.com.tr makinasına ssh üzerinden bağlanıyor.

$ ssh -1 gazi ns.gelecek.com.tr


19. Mandrake Linux kurulumu
19.1 Ön hazırlıklar
Kuruluma başlamadan önce birtakım ön hazırlıklardan geçmeniz gerekiyor. Bunlardan kısaca söz edelim.

19.1.1 Genel bilgisayar bilgisi

Daha önce, önsözde de belirttiğimiz gibi bilgisayarlar hakkında detaylı olmasa da bazı ön bilgilere sahip olmalısınız. Özellikle bilgisayarın sabit diskinin büyüklüğü (Mb cinsinden), türü (IDE, SCSI), hafıza (Mb cinsinden), CDROM (varsa, IDE veya SCSI olmayan CD sürücülerin modeli) ve farenin tipi bilinmelidir. Bunları bilgisayarı satın aldığınız yerden öğrenebilirsiniz.
Video kartının özelliklerinden ve monitörünüzün tipinden haberdar olmalısınız. Özellikle monitörün hangi ekran çözünürlüğünü destekleyebildiğini öğrenin.
19.1.2 Ağ bilgisi

Eğer bir ağa bağlı iseniz ağ özelliklerini ve ağa bağlanabilmek için gerekli bilgileri sistem yöneticinizden öğrenin. Mandrake kurulumu için bir ağa bağlı olmak zorunda değilsiniz. Aşağıda yazılanlar, bilgisayarınızı Internet'e ethernet kartı yardımıyla bağlamak için gerekli bilgileri içerir. Eğer telefon hattı üzerinden Internet bağlantısı planlıyorsanız aşağıdakilerin hepsi işinize yaramayabilir.
Makinanızın IP adresi : 144.122.72.14 benzeri 4 adet birbirinden nokta karakteriyle ayrılmış rakamlardan oluşmalıdır.
Ağ maskesi : Yine IP adresine benzer şekildedir, genellikle 255.255.255.0 gibi bir rakamdır.
Arayüz (gateway) adresi : Bilgisayarınızın dış dünyaya açılan kapısı
Alan adı sunucusu (DNS) IP adresi : Makine adından IP adresini bulmak için kullanılır.
Alan adı (domain name), örnek olarak gelecek.com.tr
Makine adı (host name), örnek olarak penguen.gelecek.com.tr
19.1.3 Disk alanı
Sabit diskin hangi alanını Linux için ayıracağınıza şimdiden karar verin. En azından iki disk alanını Linux için kullanmanız gerekecektir. Bu disk alanlarından bir tanesi takas alanı (swap space) için ayrılacaktır.

Yeni bir diskiniz varsa ya da eski sisteminizden zaten kurtulmayı planlıyorsanız sorun yok, ancak boş ve Linux için ayrılmayı bekleyen bir disk alanınız yok ise bazı DOS yazılımları yardımıyla yeni disk bölümleri yaratmalısınız. Bunun için fips ve defrag ikilisi gayet ideal ve uzun yıllar boyu denenmiş programlardır. Yapılması gerekenler kabaca,
Önce bölmek istediğiniz yer için diskinizde yeteri kadar alan bulunup bulunmadığını kontrol edin.
Windows'un disk defrag yazılımı ile disk üzerindeki verilerin tamamını tek bir bölgede toplayın. Böylece kalan yeri bölebilirsiniz.
fips ile kalan bölgeyi ikiye bölün.Gerekiyorsa bu işlemi tekrarlayın.

19.1.4 Takas Alanı

Takas alanı kullanırken, bir seferde daha fazla uygulama ile çalışmanızı sağlayacak şekilde Linux kullanılmayan sayfaları bellekten diske taşır. Ancak, takas alanı genelde yavaş olduğundan gerçek fiziksel belleğin yerini dolduramaz. Takas alanı 2 Gb’tan fazla olamaz. toplam 16 tane takas bölmeniz olabilir. Takas alanını 80 Mb’tan fazla ayırmaya gerek yoktur, bu yetrli olacaktır.

19.1.5 CD-ROM'dan kurulum
Mandrake Linux'un en kolay kurulum yöntemi CD'dendir. Ancak CD'nin bulunamadığı zamanlarda da Mandrake'yi bir FTP adresinden, sabit diskten veya NFS sunucudan kurabilirsiniz.

19.1.6 Disk bilgileri

Kurulum yöntemini (bizim metodumuz CD'den olacaktır) ve ne kadar yeri Linux için açmanız gerektiğini şimdiden biliyor olmalısınız. Disk sıkıntınız varsa ve deneme amaçlı kuracaksanız 300Mb, diğer durumlarda en az 600Mb yer ayırmanız tavsiye edilir.

19.1.7 Kurulacak Sistemin Açılması

Sahip olduğunuz Manrake CD'si bootable yani doğrudan CD'den açılabilir durumdadır.CD'yi yerleştirdikten sonra BIOS'tan CD'den açılacak şekilde ayarlarsanız makine CD'den açılavak ve kurulum başlayacaktır.
Eğer bilgisayarınız CD'den açılmıyorsa disketlerden açmak için açılış disketlerini oluşturmalısınız. Bu disketler CD altında \images dizini altında bulunurlar. \dosutils dizinindeki rawrite.exe programını çalıştırarak \images\cdrom.img dosyasını bir diskete yazdırmanız gerekiyor. Buradaki cdrom.img dosyası kurulum CD'den yapılacağı için seçilmiştir. Temiz bir disketi A: sürücüsüne yerleştirin ve CD'nizi bilgisayara takın. Aşağıdaki işlemleri sırasıyla yapın.
D:\dosutils> RAWRITE
Enter disk image source file name: ..\IMAGES\CDROM.IMG
Enter target diskette drive: A:
Please insert a formatted diskette into drive A: and press -ENTER- :

Yukarıda sırasıyla hangi disket görüntüsünü (cdrom.img) ve bunu nereye (A: sürücüsü) yazdıracağımızı belirttik. Başka bir CD'ye ihtiyacımız olmadığı için artık kuruluma başlayabiliriz.
Diskete yazdırma işlemi bittiği zaman disketi yuvasından çıkartın ve bilgisayarı, disketten açılacak şekilde BIOS'tan ayarlayın. Anakartınız ve BIOS destekliyorsa herhangi bir ek diskete gerek kalmadan kurulum yapabilirsiniz. Sadece Manrake CD'sini yerine takmanız ve BIOS'tan açılış önceliğini CD'ye vermeniz gerekecektir.
Bilgisayarınız açılır açılmaz bir açılış ekranı ile karşılaşacaksınız.
Bu açılış ekranından itibaren yapabilecekleriniz,
Kurulum için değişik yöntemler belirlemek
Fonksiyon tuşlarını kullanarak değişik kurulum metodları hakkında bilgi almak
Ayrıca kurulu olan Linux sisteminiz varsa ve açılış ile ilgili hatalar varsa bunları düzeltmek
olabilir. Biz kuruluma başlayacağımız için verilen seçeneklerin ilkini kullanıyor ve sadece ENTER tuşuna basıyoruz. Eğer expert seçeneğini seçseydik kurulumu çok daha ayrıntılı biçimde yapacaktık.Bu durumda ise hata yapma olasılığımız oldukça yüksek olacaktı.
Linux, kurulumdam sonra birden çok sanal ekran destekler. Her bir ekranı görebilmek için ALT tuşu ve bir klavye üzerinden 1-7 arasında bir tuşa basmalısınız. Sistem açıldığı anda 1. ekran (ALT-1) üzerinde olursunuz. Diğer ekranların her birinden (nadiren gerekse de) kurulum ve çekirdek mesajlarını görmek mümkün olur. Şimdi etkileşimli kuruluma başlayabiliriz.
İlk olarak bir hoşgeldiniz yazısı sizi karşılar. "Ok" diyerek bu bölümü geçin. Ardından kurulumda kullanılacak dil seçimine geleceksiniz.
Bu bölüm istediğiniz bir dili seçin. Gördüğünüz gibi Mandrake Linux'un kurulum dilleri arasında Türkçe de bulunmaktadır. Eğer isterseniz Türkçe seçeneğini seçebilirsiniz, Türkçe'yi seçtiğimizde KDE'yi de Türkçe olarak ayarlıyor. Fakat CD'de Xwindows için gerekli olan Türkçe fontlar yüklü olmadığından dolayı ilk etapta sorun çıkarıyor. Bundan dolayı biz kurulumu da İngilizce olarak yapacağız.Eğer kurulum dilini Türkçe olarak seçerseniz Türkçe fontları ftp.gelecek.com.tr adresinden indirip sisteminize kurabilir, ve rahatlıkla Türkçe sorunu olmadan İnternet'te sörf yapabilirsiniz.
Karşımıza gelen ekrandan bahsedelim.Gördüğünüz gibi ekran 3 kısımdan oluşmaktadır. Sol tarafta işlemlerle ilgili bir seçenek sağ üstte işlemlerin yapılacağı ve ekranın çoğunu kaplayan bir kısım ve solda en altta gerekli açıklamaların olduğu bir kısım bulunmaktadır.Sol taraftaki menüde işlemler yeşil,kırmızı ve sarı ışıklarla işaretlenmiştir.Yeşil seçenekler tamamlanmış olan işlemleri, sarı seçenekler o anda yapılan işlemleri ve kırmızı seçenekler ise daha yapılmamış olan seçenekleri gösterir.Fare ile üzerleri tıklanarak işlemler üzerinde geri dönülebilir.Ekranın sol alt köşesindeki 3 renk ise ekranın 3 farklı renk seçeneğini göstermektedir. Bu seçenek tamamen görseliğe dayanan bir seçenektir. İşlemlerin herhangi bir anında bu renkler tıklanarak ekranın rengini değiştirebilirsiniz.Açıklama kısmında ise o andaki seçenekler hakkında ayrıntılı bilgi içerir.
19.1.8 Kurulum Çeşidi ve Donanımsal Seçimler

Şimdi ise nasıl bir kurulum yapacağımızı seçeceğiz.
Karşımıza üç seçenek çıkmaktadır. Recommended, Customized ve Expert. Şimdi bunlardan kısaca bahsedelim:
Recommended: Bu seçenek Linux'u ilk defa kuracaklar için hazırlanmıştır. Bu seçenek seçildiğinde ileride karşımıza çıkacak olan seçeneklerin birçoğu sistem tarafından ayarlanacak ve kullanıcının yapması gereken pek birşey kalmayacaktır.
Customized: Daha önce Linux kurmuş ve kullanmış kullanıcılar için hazırlanmış olan bir seçenektir.Bu seçenek ile hangi tür paketleri seçeceğimizi belirleyebiliriz.
Expert: Kurulum sırasında bütün paket seçenekleri tek tek seçebilirsiniz.Customized seçeneğinde sadece hangi tür paketlerin seçileceği belirlenir fakat bu seçilen türün içinden paketler tek tek seçilemez.
Eğer Customized veya Expert seçeneği seçilirse bundan sonra karşımıza bir seçenek daha gelir.
Bu seçenek ile kuracağımız sistemi hangi amaçla kullanacığımız sorulur. Geliştirme amaçlı kullanacaksanız Development seçeneğini, sunucu amaçlı kuracaksanız Server seçeneğini, bunların dışında bir amaçla kullanacaksanız ise Normal seçeneğini seçmelisiniz.Biz Normal seçeneğini seçerek kuruluma devam ediyoruz.
Bu aşamadan sonra ise makinemizdeki sabit disk ve cdrom gibi aygıtların tanınması için PCI araçlarının aranıp aranmamasını sorar. Evet seçeneğini seçerek devam ediyoruz.
Sistem PCI aygıtları tanıdıktan sonra SCSI araçların kullanılıp kullanılmadığı soruluyor. SCSI araçlar kullanılıyorsa çekirdeğin bazı ek desteklere ihtiyac duymasından dolayı bu soru sorulmaktadır. SCSI aracınız varsa bu seçeneği seçmeyi unutmayınız. Bizim SCSI aygıtımız olmadığından dolayı bu seçeneği No cevabı ile geçiyoruz.
19.2 Kurulum
Sistemin donanımı ile ilgili ön hazırlıklar bittiğine göre artık kuruluma başlayabiliriz. Şimdi ise bize sistemde kurulum veya güncelleme seçeneklerinden hangisini yapacağımız sorulmaktadır. Biz sistemi ilk defa kurduğumuz için Install seçeneğini seçiyoruz. Fakat daha eski bir Mandrake sürümümüz varsa Upgrade seçeneği ile Mandrake 7.0'a güncelleyebiliriz.

19.2.1 Sistemle İlgili Sorular

Bu aşamada bize sistemle ilgili bazı sorular sorulmaktadır.Bu sorulara göz atalım:
Use Hard Drive Optimisations: Bu seçenek sadece uzman Linux kullanıcılar tarafından seçilmelidir. bu seçenek sabit disk erişimi için izinlerin ayarlanmasında kullanılır.
Choose Security Level: Bu seçenek ile kurulacak olan sistemin güvenlik seviyesi belirlenir.Sistemin güvenliği ne kadar yüksek seçilirse o kadar güvenli olacak fakat aynı zamanda sistemin az da olsa yavaşlamasına sebep olacaktır.
Precise RAM Size If Needed(...): Eğer parantezler içinde belirtilen bellek (RAM) boyutu sizinkinden farklı ise bu seçenekteki kutucuğa makinenizin belleğinin boyutunu yazmalısınız.Büyük boyutlu bellekler Linux tarafından doğrudan tanınmayıp ek parametrelere ihtiyac duyulduğundan böyle bir seçeneğe gerek duyulmuştur.
Removable Media Automounting: Burada görülen supermount Mandrake'nin ilk defa 7.0 sürümü ile çıkardığı bir komuttur. bu seçeneği seçtiğinizde CDROM veya disketinizi kullanmak için mount etmenize gerek kalmayacaktır.
Enable Num Lock At Startup: Bu seçenek seçildiğinde bilgisayar açıldığında klavyedeki NumLock seçeneği aktif hale gelecektir.
19.2.2 Sabit Disk Bölümlemesi

Şimdi ise Linux'u sabit diskteki hangi bölüme kuracağımızı ayarlayacağız.Fakat bunun için ilk önce Linux'a sabit diskte yer açmamız gerekiyor. İlk durumda bizim sabit diskimiz boş durumdadır. Fakat sizinki biraz daha farklı olabilir.
Ekrandaki seçeneklerde bahsedelim.Üst kısımda değişik renklerdeki kutular oluşturulacak veya mevcut bölümlerin grafiksel olarak gösterilmesi için oluşturulmuştur.Ayrıca bu kısımdaki tuşların yani bu kutuların üstüne basarak bölüm oluşturmaya başlayabiliriz. 'Clear All' seçeneği ile bütün yapmış olduklarımızı silebiliriz.Doğrudan 'Auto Allocate' seçeneğini seçerseniz sistem bütün herşeyi kendi ayarlayacaktır.'Undo' ile yapmış olduğunuz değişikliği geri alabilir,'Reload' ile sabit diskteki bölümlemeyi programa tekrar okutabilirsiniz.Yaptığınız ayarları 'Save On Floppy' ile diskete kaydedebilir ve 'Restore From Floppy' ile daha sonra disketten istediğiniz ayarlara ulaşabilirsiniz.
Üst kısımdaki 'Filesystem Types' seçeneği ile ilk önce hangi tür sabit disk bölümü oluşturacağımızı seçeceğiz. Swap'in bulunduğu kısmı tıkladığımızda karşımıza gelen ekrandaki seçeneklere göz atalım.'Start Sector' ile oluşturacağımız bölümün sabit diskteki kaçıncı sektörden başlayacağı seçilir. Bu kısım her zaman otomatik olarak ayarlandığından seçeneği değiştirmemeniz tavsiye edilir.'Size In MB' ile oluşturacağımız bölümün boyutunu belirliyoruz. Swap (takas) için 90 MB her sistem için yeterlidir (Bellek miktarı 64Mb veya daha fazla ise takas alanını daha düşük - 30 Mb - tutabilirsiniz. Oluşturduğumuz takas bölümü sabit diskte bellek görevini görecektir.Sistemin gerektiğinde bellek ihtiyacını karşılayacaktır.
Takas seçeneğini seçtikten sonra alt kısımdaki 'Auto Allocate' seçeneğini seçerek siğer kısımların hepsinin sistem tarafından otomatik olarak ayarlanmasını sağlıyoruz.
Bölümleri istediğimiz şekilde ayarladıktan sonra bize değişiklerin kaydedilip kaydedilmemesini soracaktır. Ok ile onayladıktan sonra oluşturduğumuz bölümleri formatlama ile ilgili bir seçenek ile karşılacağız.Burada oluşturduğumuz bütün bölümleri formatlama seçeneğini seçmeliyiz.
Formatlanacak seçenekleri seçtikten sonra bize bu seçilen bölümlerin formatlanma sırasında diskteki hatalara karşı denetlenip denetlenmeyeceği sorulur. Bu seçeneği seçmenizde (OK tuşu ile) yarar vardır.
19.2.3 Paket Seçimi ve Kurulum

Kurulacak olan peketleri seçmeye başlayacağız.Karşımıza gelen ekranda oldukça fazla seçenek mevcut. Bu seçeneklerle ilgili ayrıntılı bilgi bundan sonraki adımda verilecektir. Eğer bütün seçenekleri seçerseniz bundan sonraki adım biraz uzun sürebilir fakat kuracağınız paketlerin ne olduğunu öğrenebilirsiniz.Biz bundan dolayı bütün paketleri seçtik.
Bundan sonraki adımda kuracağımız sistemin toplam ne kadar boyuta sahip olması gerektiğini seçeceğiz. Bu seçenek görüldüğü gibi kullanıcı için oldukça büyük avantajlar getirecektir.Çünkü sisteminin kapasitesine göre seçim yapmak zorunda kalacaktır.Eğer bizim kullandığımız gibi küçük bir diske sahipseniz bu aşamadan sonraki paket seçeneğinde oldukça rahat olunacaktır.
Şimdi ise kuracağımız paketleri teker teker seçeceğiz.Sağ taraftaki oklara basarak veya başlıklar çift tıklanarak alt seçeneklerin gelmesi sağlanabilir. Gelen seçenekler tıklandığında sağ tarafta seçilecek olan paket hakkında daha ayrıntılı bilgiye sahip olunabilir.Paketler çift tıklanarak seçilip seçilmemesi sağlanır. Bu seçenek sadece başlangıçta 'Expert' kurulum seçeneği seçilmişse gelecektir.
Alt taraftaki 'install' seçeneği ile paketlerin kurulması başlayacaktır.
19.2.4 Ağ (Network) Ayarları

Kurulum tamamlandığı zaman eğer ethernet kartı veya modem varsa ağ ayarları yapılacaktır. Eğer ethernet kartı veya modeminiz yok ise 'Do not setup networking' seçeneği ile diğer aşamalara geçebilirsiniz.Eğer ethernet kartına sahipseniz ve yerel bir ağda bulunuyor iseniz 'Local LAN' seçeneği ile ayarları yapabilirsiniz.Modeminiz var ise 'Dialup with Modem' ile modem ayarlarınızı yapıp internete bağlanabilirsiniz. Bunun için modeminizin ISA modem ya da harici modem olması gerekiyor. PCI modemlerin önemli bir bölümü Linux ile çalışmıyor.
Bizim ethernet kartımız olduğundan 'Local LAN' seçeneğini seçtik. 'Dialup With Modem' seçeneğini seçtiyseniz bundan sonraki seçeneklere benzer sorular ile karşılaşacaksınız.
'Local LAN' seçeneği seçildikten sonra sistem, kullandığınız ethernet kartını otomatik olarak bulacaktır. Eğer sisteminizde iki veya daha fazla ethernet kartı var ise gelen menüde size sorulan 'Başka bir kart var mı?' seçeneğine 'yes' cevabı ile karşılık vererek sistemin diğer kartı tanımasını sağlamalısınız.
Bundan sonra ise ethernet kartımızın IP numarasını ve ağ maskesini (genellikle 255.255.255.0 gibi bir rakamdır) gireceğiz. Bunu da yazdıktan sonra bize sisteme verilecek olan 'hostname' yani makinenin adını, DNS sunucu ve gateway adreslerini soracaktır.
Bu ayarları girdikten sonra eğer proxy kullanıyorsak proxy adresini de gireceğiz.Eğer proxy kullanılmıyorsa 'ok' ile bu seçeneği geçmeliyiz. Böylece ağ ayarlarını da bitirmiş olduk.
19.2.5 Cryptographic

Bu seçenek ise Linux ve Unix sistemlerin şifreleri saklama yöntemi olan cryptography ile ilgili ayarlamalar yapılacaktır. Mandrake ile bazı kriptografi paketleri lisans sözleşmeleri nedeniyle gelmemekte, sizin İnternet'ten almanız beklenmektedir. Karşınıza gelen ekranda bir lisans sözleşmesi ile karşılacaksınız. Bu sözleşmeyi okuyup 'OK' ile kabul ettikten sonra ise kriptografi ile ilgili programların nereden indirileceği sorulur. Bu seçeneğin uygulanması için makinenizin o an İnternete bağlı olması gerekmektedir. Eğer internete bağlı iseniz listeden herhangi bir seçeneği seçin ve programların gelmesini bekleyin.Eğer internet bağlantınız yok ise 'Cancel' ile bu seçeneği geçiniz.

19.2.6 Zaman Dilimi Ayarı

Şimdi ise bulunduğumuz bölgeyi seçerek zaman ayarlarının yapılmasını sağlamalıyız. Biz burada 'Turkey' i seçiyoruz.
Bölgemizi de seçtikten sonra bize sorulan soru ile saatimizin GMT uyumlu olup olmadığı soruluyor. Türkiye'nin saati GMT'ye göre ayarlı olduğundan bu seçeneği 'Yes' ile geçiyoruz.

19.2.7 Yazıcı Ayarları

Eğer bir yazıcıya sahipseniz yazıcınızı ayarlamaya başlayabilirsiniz. İlk sayfadan sonra gelecek olan seçenekte yazıcının hangi bağlı olduğu kuyruğun ismini ve hangı dizinde kayıtlarının tutulacağı soruluyor. Bunu 'Ok' ile geçmelisiniz.
Şimdi ise kuracağımız yazıcıyı hangi amaçla kullanacağımız soruluyor.'SMB/Windows95/98/NT' seçeneği ile yazıcıyı samba adlı program üzerinden windows makineler ile ortak kullanabilir,'Remote lpd' ile diğer makinelerin uzaktan erişimini sağlayabilir 'NetWare' ile netware üzerinden kullanilabilir veya 'Local Printer' ile sadece kurulan makine üzerinden çalışmasını sağlayabiliriz. Biz 'Local Printer' seçeneğini seçiyoruz. Ardından yazıcının bağlı olduğu portu seçmeliyiz. Standart olarak yazıcının bağlı olduğu port paralel port yani /dev/lp0'dır.
Ardından seçtiğimiz yazıcıya göre uygun baskı ayarlarını (sayfa boyutu için A4 gibi) seçiyor ve yaptığımız ayarları test ediyoruz. En son olarak ise yaptığımız ayarları test ediyoruz.
19.2.8 Root Şifresi

Şimdi root şifresini belirliyoruz. Burada root şifresini belirlemenin dışında şifreleme ile ilgili ek güvenlik seçenekleri vardır. 'Use Shadow File' ve 'Use MD5 Passwords' seçenekleri ile güvenliği arttırabiliriz. 'Use NIS' ile ise ağdan şifre paylaşımını sağlayabiliriz. Normalde sadece parolayı vermek yeterlidir.

19.2.9 Kullanıcı Ekleme

Eğer sisteme yeni kullanıcı eklemek istiyorsanız bu kısımdan ekleyebilirsiniz. Bu kısımı 'Done' seçeneği ile atlayıp daha sonra 'adduser' komutu ile yeni kullanıcı ekleyebilirsiniz.

19.2.10 Açılış Disketi Oluşturma

Eğer daha sonra sistemdeki arızaları gidermek için kurtarma disketi yapacaksanız bu seçeneği 'yes' ile cevaplamalısınız.

19.2.11 Lilo Ayarları

Lilo sistemin açılış yöneticisidir. Eğer bunu kurmazsanız hatalarla karşılaşabilirsiniz. İlk olarak Lilo'nun nereye yazılacağını seçmeliyiz. Bunun için 'Boot Device' olarak /dev/hda seçilmelidir.Eğer SCSI aygıtlara sahipseniz 'Linear' seçeneğini seçmelisiniz. Bunun dışındaki ayarlarla oynamanıza gerek yok.
Şimdi karşımıza gelen ekranda makinede kurulu olan işletim sistemlerine göre ayarlar zaten yapılmış olacaktır. Eğer bunlar üzerinde değişiklik yapmak istiyorsanız çift tıklamalısınız.
'Done' seçeneği ile lilo'nun ayarlanmasını bitirebilirsiniz.
19.2.12 X-Windows Ayarları

Makinenin ekran kartınızı kendisinin tanımasını istiyorsanız bu seçeneğe 'Yes' ile cevap veriniz. Eğer ekran kartınız tanınmadıysa karşınıza gelecek olan listeden seçmelisiniz.
Bundan sonra ise monitörünüzün desteklediği çözünürlükleri seçmelisiniz.
Bunu da seçtikten sonra makinenin monitörü test ederek uygun çözünürlükleri bulmasını sağlayabilirsiniz.
Bundan sonra size monitörünüzün birkaç defa kapanıp açılacağı söylenecektir.Buna da 'Ok' dedikten sonra monitörünüz tanınacak ve X-Windows ayarlarınız bitmiş olacaktır.
Artık kurulum tamamen bitmiştir. 'Ok' tuşuna basarak sistemin tekrar başlamasını sağlayabilirsiniz.

20. LINUX VE WINDOWS9X BİRARADA NASIL KULLANILACAK

20.1. Giriş

Linux birçok yönüyle Win95'ten daha iyidir. Bu yüzden Win95 yerine Linux kurulur. Ama bilgisayarda daha yeni olanlar veya Microsoft ürünlerini çok sevenler sabit diskine her ikisini de kurmayı tercih eder, böylece istediği zaman Win95 istediği zaman Linux açabilirler. Tabii bu size biraz sorun yaratacaktır. Eğer iki sabit diskiniz varsa bütün bu sorunlardan kurtulabilirsiniz. Bu belgenin devamında sizin 850Mb'lık bir sabit diskiniz olduğunu düşünüyoruz.

20.2. Sabit diskin bölümlenmesi:

Eğer daha önceden Win95 sabit diskinize yüklü ise, sabit diskinizden bir şeyler silmeniz gerekecektir. Çünkü sabit diskin yarısını Win95 diğer yarısını da Linux yapmayı düşünüyoruz. (Aslında 400 MB bile Win95 için fazla.) Bunun için ilk önce gereksiz ne varsa silin. Sonrada "FIPS" veya "Partition Magic" gibi programlardan yararlanarak iki tane bölüm daha oluşturun. (biri takas dosyası, diğeri de Linux'un kendisi için.)

Hatırlatma - 1: "FIPS" gibi programları kullanmadan önce size tavsiyem sabit diskinizdeki bölünmüş dosyaları bira araya getirin. Bu işi "defrag" veya Norton'un "speedisk"i ile yapabilirsiniz.

Hatırlatma - 2: Linux'un tek kötü yanı eğer Linux bölümünüz 1024. silindirden sonra olursa açmayacaktır. Buna dikkat etmeniz gerekir.

Şu anda sabit diskinizin görünümü şöyle olacaktır:

----------------------------------------------
| 400MB /dev/hda1 Win95 Bölümü :FAT/VFAT |
-----------------------------------------------
| 400MB /dev/hda2 Linux Bölümü :Ext2 |
-----------------------------------------------
| 50MB /dev/hda3 Takas Bölümü |
-----------------------------------------------

İsterseniz Linux'unuzu bir yerine bir kaç bölüme ayırabilirsiniz. Bu bölümü oluşturduktan sonra, Linux'u kurmaya başlayabilirsiniz.

20.3. Yeni Sistemi Kullanma:

Linux'unuzu kurduktan sonra şimdi onu kullanmaya başlayabilirsiniz. Linux'u açın ve /dos dizinine mount edin
# mount -t msdos /dev/hda1 /dos

Buradan Win95 bölümüne ulaşabilirsiniz. Hatta çekirdeğiniz VFAT destekliyor ise Win95'teki uzun dosya isimlerini de görebilirsiniz. Çekirdeğinizin VFAT'i destekleyip desteklemediğini /proc/filesystems dosyasına bakarak anlayabilirsiniz.

# cat /proc/filesystems
ext2
minix
msdos
vfat
nodev proc
nodev nfs
nodev smbfs
nodev ncpfs

Hatırlatma -3: Eğer Win95'in yeni sürümlerini kullanıyorsanız ve de bu sürüm FAT12 veya FAT16 yerine FAT32 kullanıyorsa biraz sorun yaşayacaksınız. Çünkü şu anki Linux sürümleri (Linux-2.0.20) henüz FAT32'yi desteklemiyor. Bu gibi bir durumda siz bindirme işlemini edemezsiniz. Win95'in FAT32 olup olmadığını Win95 açtıktan sonra "fdisk" komutunu kullanarak bulabilirsiniz.

Eğer FAT32'i kullanıyorsanız "LOADLIN" kullanarak Linux açarsınız, fakat Linux kullanıyorken Win95 bölümünü göremezsiniz. (Bu bence gayet doğal, çünkü Win95 kullanırken de Linux bölümünü göremiyorsunuz.)

20.4. Linux+Win95+DOS

Şu ana kadar yaptıklarınızla DOS'u da kullanabilirsiniz. Win95 açarken, "Starting Windows 95..." ("Windows 95 Başlıyor...") yazdığında 2 saniye bekler. Burada F8 tuşuna basarsanız küçük bir menü çıkar. Bu menüden "Command Prompt Only" ("Sadece Komut İstemi")'ni seçerseniz DOS v7.0 açmış olacaksınız. (Buradan "win" yazıp enter tuşuna basarsanız Win95 çalışır.) Eğer "Previous MS-DOS version" ("Önceki MS-DOS sürümü")'nü seçerseniz Win95'i kurmadan önce varolan DOS'u açmış olursunuz.

Not 1: "LOADLIN" programını kullanarak bilgisayarınızı kapatıp açmadan Linux'a geçebilirsiniz.

Not 2: Eğer menüde "Previous MS-DOS version" yoksa \MSDOS.SYS dosyasını "EDIT" komutunu kullanarak BootMulti=1 yazın;eğer BootMulti=0 gibi bir satır varsa bunu da değiştirebilirsiniz.

Not 3: Win95 açarken, "Starting Windows 95..." ("Windows 95 Başlıyor...") yazısından sonra F8 yerine F4'e basarsanız direk "Önceki MS-DOS sürümü"nden açar.


20.5. Karşınıza Çıkabilecek Problemler:

Ilk önce Linux yükleyip, bunun üstüne Win95 yüklerseniz Linux'unuz çalışmayacaktır. Çünkü Win95 kuruluş aşamasında MBR'yi (master boot record) silecektir. Bu gibi bir durumdaki kurtuluş yolunuz ya "LOADLIN" ya da daha önceden akıllılık edip açılış disketi oluşturduysanız, o disketen açmaktır. Yapabileceğiniz iş Linux'u açıp "LILO"yu yeniden kurmak olacaktır.

# liloconfig


21. LINUX VE WINDOWS NT BİRARADA NASIL KULLANILACAK


Hiç bir şart altında bölümleri formatlamak için NT 3.51 altındaki Disk Yöneticisi'ni (Disk Administrator) kullanmayın. Size "hiç bir zarar vermeyeceğini söylediği" bir imza yazıp yazamayacağını soracaktır. Bana bunu yaptığında bölüm tablomu, onu ileride anlatacağım 3. ve 7.basamakları uygulayıncaya kadar askıya almıştı. Bu sorunlar yüzünden, bir FAT NT bölümü ile sınırlı kalmıştım. Disk Yöneticisi'ni (Disk Administrator) doğru bir şekilde çalıştırabilseniz dahi Linux NTFS dosya sistemine sahip oluncaya kadar Linux ve NT arasında dosya transferi yapabilmek için küçük de olsa bir FAT bölümüne ihtiyacınız olacaktır.

NOT : Altıncı madde yalnızca Debian Linux 1.1, Linux 2.0.0, HP Vectra XU 6/150, Adaptec AIC 7880 Ultra (BIOS1.2S-HP), Quantum Fireball 1080S, Phoenix uyumlu BIOS GG.06.02. NT 3.51 ile alakalıdır. Bu örnekler bir SCSI disk (/dev/sda) için yazılmıştır; IDE sürücüler için /dev/hda kullanabilirsiniz.

1. Linux'u kurun. NT bölümleri de (NT bölümünü FAT olarak yapın) dahil olmak üzere tüm disk bölümlemesini Linux altında yapın.

2. /etc/lilo.conf dosyasını düzenleyin ve boot=/dev/sda (Linux Yükleyicisini (LILO) Linux bölümüne kurmakta başarılı olamadım - benim için /dev/sda idi) ve Linux Yükleyicisini çalıştırın ("lilo"). "ae" editörünü kullanmak zorunda kalacaksınız.

3. MBR'yi dd if=/dev/sda of=/dev/fd0 bs=512 count=1 şeklinde kayıt edin. Bu iş için disket kullanın, bana güvenin ayrıca bunu disk bölümleme tablosunu (partition table) her değiştirdiğinizde tekrarlayın.

4. NT, bölüm 1'i kurun. İşlemin ortasında makineyi açıp kapattığında bilgisayarınız Linux açacaktır.

5. /etc/lilo/conf dosyasına aşağıdaki gibi bir NT satırı ekleyin :

other=/dev/sda1
label=NT
table=/dev/sda

ve yine Linux Yükleyecisini çalıştırın (lilo). Eğer linux yükleyecisini buna itiraz ederse (Mesajı tam olarak hatırlayamıyorum) "linear" seçeneğini /etc/lilo.conf dosyasında "compact" anahtarının yanına yerleştirin. Hatta eğer bölümleme tablonuz NT tarafından işe yaramaz hale getirildi ise, ya "ignore-table" kullanın ya da 7. maddede söylenenleri uygulayın. Ayrıca "fix-table"a bir göz atın. LILO HOWTO size yardımcı olabilir.

6. Makinenizi kapatıp açın, Linux Yükleyicisinden NT'yi seçin ve NT'nin kurulumunu tamamlayın. Ağ sürücülerini yüklemek için "Boot Disk XU, HP Vectra AIC 7880 Driver A.01.02" disketine ve Matrox MGA Millennium ekran sürücülerini yüklemek için "XU/VT Drivers and Documentation" CD'sine ihtiyacınız olacaktır.

7. Linux'a döndüğünüzde, "fdisk"'i çalıştırın ve Linux bölümleri üzerinde "partition doesn't end on cylinder boundary" (Bölüm silindir sınırlarında bitmiyor) mesajları almadığınızdan emin olun. Bu mesaj NT bölümleri üzerinde görülebilir, bu normal bir durumdur.

/dev/sda1 1 1 322 329301 6 DOS 16-bit >=32M
Partition 1 does not end on cylinder boundary:
(Bölüm silindir sınırlarında bitmiyor)
phys=(321, 39, 9) should be (321, 63, 32)

Cfdisk sistemde "ilginçlik" olduğunu söyleyebilir, bunu dikkate almayın.

Unusable 0.04*
/dev/sda1 Primary DOS 16-bit >=32Mb 321.59*
Unusable 0.39*

Eğer Linux bölümleri üzerinde benzer hata mesajları alıyorsanız, cfdisk'i kullanarak "boot sector" gibi birkaç yerde değişiklik yapmanız gerekebilir.

Ancak, eğer NT bilgisayarınızı cfdisk'i bile (/dev/sda'yı göremediğini iddia ederek) çalıştıramayacak bir hale getirdiyse daha önce kayıt etmiş olduğunuz bölümleme tablosuna (MBR) ihtiyacınız olacaktır. Bunu aşağıdaki şekilde yapabilirsiniz :

dd if=/dev/zero of=/dev/sda bs=512 count=1
dd if=/dev/fd0 of=/dev/sda bs=510 count=1

8. Linux'un kalan kurulumunu tamamlayın?

Eğer NT'yi tercih ediyorsanız, linux yükleyicisi yerine bölümleme tablosunu (MBR) yazabilirsiniz. Bölümleme tablosunu temizlemek için aşağıdaki işlemleri uygulayabilirsiniz.

a) dd if=/dev/zero of=/dev/sda bs=446 count=1 (Linux'da) yazın veya SCSI yardımcı programlarını kullanarak sabit diskinizi düşük düzeyli (low-level format)formatlayın. IDE bir diski bu şekilde formatlamanın zararlı olduğunu duydum bu yüzden IDE disk kullanıyorsanız bunu yapmayın.

b) fdisk /mbr (tabii ki herşeyden önce içerisinde fdisk bulunan bir DOS disketi hazırlamıştınız) yazın.

c) NT bölümünü silin ve NT kurulum programı ile yeniden oluşturun.

d) NT kurulumuna devam edin.

Buraya kadar yazdıklarim Linux paketinde yeralan Linux-NT Nasıl'dan (HOW-TO) çevirdiklerimdi, şimdi de NT ile Linux'u beraber kurmak için -kendi yaptıklarımdan yola çıkarak- yapmanız gerekenleri maddeler halinde açıklayayım. Yalnız bu yaptıklarımda OS/2'n in sistem disketini kullandım, böyle bir alternatifi olmayanlara ancak fikir vermek açısından faydalı olabilir.

1. Diskim için OS/2 Warp 3.0'ın fdisk programını kullandım, bence ilk iş olarak (elinizde yoksa, bir arkadaşınızdan ödünç alabilirsiniz ;-)) bir OS/2 sistem disketi bulun.

2. Bilgisayarı açıp fdisk'i çalıştırın, OS/2'nin Açılış Düzenleyicisini (Boot Manager) kurun, Açılış Düzenleyici 2MB'lik bir yer kaplayacaktır. Daha sonra, iki adet birincil (primary) bölüm oluşturun. Bunlardan biri NT için diğeri de Linux için olacağında n büyüklüklerini istediğiniz gibi ayarlayabilirsiniz. Burada her iki bölümü de "Add to Boot Manager Menu" ile - birer isim vererek, Linux, WinNT gibi - Açılış düzenleyicisinin menüsüne ekleyin. Ve yaptıklarınızı kayıt edip çıkın. OS/2'nin fdisk'i ile işin iz bitti.

3. Bilgisayarınızı açtığınızda karşınıza açılış düzenleyicisi çıkacaktır. Burada hiçbir bölüm formatlı olmadığı için, herhangi biri ile açılış yapma şansınız olmayacaktır.

4. Bu yüzden NT'yi kurmadan, önce açılış düzenleyicisinden NT bölümünü seçerek Linux bölümünü "hidden" yapın.

5. Daha sonra bir sistem disketi ile açarak NT'nizi kurun. Göreceksiniz ki sorun çıkmayacaktır

6. Linux'u kurmak için Linux bölümünü aktif hale getirmenize gerek yok, ancak linux'u kurmadan fdisk ile "linux native" yapacağınız bölümü NT'nin bölümü ile karıştırmamaya özen gösterin.

7. Linux yükleyicisinin (lilo) ayarlarını yaparken de -mesajı tam hatırlamıyorum ancak- kendini MBR yerine kendi kullandığı bölümün başına (boot sector) kurmasını sağlayın. Bu sayede linux'un OS/2'nin açılış yükleyicisini etkisiz hale getirmesini engellemiş olursunuz, ayrıca açılıştaki bekleme süresini kaldırmak da (0 yapmak) iyi bir fikir olabilir, çünkü tüm işlemler OS/2 açılış düzenleyicisi tarafından yapılacaktır.

8. Linux'un kurulumunu da tamamladığınızda, eksik kalan hiç bir şey olmayacak, açılıştaki açılış düzenleyicisi ile istediğiniz bölümü açmanız mümkün.
 
Üst