|
|||||||
| Reklam İrtibat | Mail+MsN | SiteMap | Tags | Üye Ol | Üye Listesi | Şifremi Unuttum | Arama | Günün Mesajları | Konuları Okundu İşaretle |
|
|
#1 | ||||
Linuxu TanıyaLım 1 LINUX NEDİR ?1 1 Linux TarihçeLinux, 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ımlarLinux'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ımlarBirtakı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 modemUS 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 modemMotorola 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 ÖzellikleriLinux’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ımLinux 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 SunucusuLinux 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şmesiLinux 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ştirmeLinux 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 Özellikleri1 6 1 Temel KomutlarDaha ö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 SistemleriLinux 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ımlar2 1 1 InternetTü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 NFSBir 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 DiskHerhangi 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çmakLinux 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 hesapla***** 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çinNet 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ındanlogin: 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ıkYü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 FDISKBirden 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ırla***** 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çeneklerSOURCE 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ındaThe 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ürasyonuEğ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çmakLinux 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” -printkomutu, 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![]() 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ğindemount 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ı yorumla***** 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 -lUNIX 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 yorumla***** 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 ko***** 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ülenmesiDosya 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 typescriptadres 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 lessrcdrwxr-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 txtdrwxr-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 distributionUnzip512 tar Z same as above, but compress’d tar formatlinux:~$ 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 SilinmesiBir 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önlendirmeKullanı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 HataLinux’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 lessrcdrwxr-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 txtdenme1 $ echo deneme2<<denem txt$ cat deneme txtdeneme1 deneme2 $ örnekte görüldüğü gibi ilk komut deneme txt dosyasını oluşturdu İkincisi ise oluşan dosyanın içeriğini koru***** 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 txtdosyanı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) İşlemleriBazı 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örevlilikUNIX’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ırmaBir 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 portmapgorkem 76 0 0 9 7 101 644 v02 S 11:12 0:00 -bashgorkem 112 0 0 5 0 59![]() 332 v02 R 11:16 0:00 ps -auxroot 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 -110root 59 0 0 5 5 53 364 ? S 11:12 0:00 /usr/sbin/syslogdroot 61 0 0 5 0 44 336 ? S 11:12 0:00 /usr/sbin/klogdroot 65 0 0 5 5 62 364 ? S 11:12 0:00 /usr/sbin/inetdroot 67 0 0 5 8 79 388 ? S 11:12 0:00 /usr/sbin/rpc mountdroot 69 0 0 6 0 88 400 ? S 11:12 0:00 /usr/sbin/rpc nfsdroot 75 0 0 9 9 115 660 v01 S 11:12 0:00 -bashroot 77 0 0 4 6 52 304 v03 S 11:12 0:00 /sbin/agetty 38400 tty3root 78 0 0 4 6 52 304 v04 S 11:12 0:00 /sbin/agetty 38400 tty4root 79 0 0 4 6 52 304 v05 S 11:12 0:00 /sbin/agetty 38400 tty5root 80 0 0 4 6 52 304 v06 S 11:12 0:00 /sbin/agetty 38400 tty6root 81 0 0 5 5 42 368 ? S 11:12 0:00 gpm -t msBurada 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 KesintiLinux (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 ErdirilmesiHer 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
Linkleri Görebilmek Yada Dosyaları İndirebilmek İçin Kayıt Olmanız GEREKMEZ ! Yorum yada Mesaj Yazın Yorum yada Mesaj Göndermek için Lütfen Üye Girişi Yapın. |
|||||
|
|
|
|
#2 | ||
|
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ştirilmesiDosya 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 dosyadarwx : 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ştirilmesiBir 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 İşlemiBir 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 BilgileriLinux 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 pcmciablock: 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)? YesPass1: 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 FIXEDFree blocks count wrong for group 5 (2803, counted=2808) FIXEDFree 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ılarBazı 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 zipdrwx------ 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 zipdrwx------ 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ılarEğ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ırmaLinux 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şivlemeTar (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 tarkoutu 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 txtdosyanı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 tarHangi dosyaların açıldığını ekranda görebilmek için -v parametresi eklenir: #tar-zcvf tmp tgz/tmptar:Removing leading /form absolite path names in the archive ![]() tmp/ tmp/tar-error tmp/ X11-unix/tmp/rc inet1 Oldtmp/networks OLDtmp/linux/ tmp/linux/fss txttmp/lilo conftmp/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çmaDosya 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 gzgzip ile sıkıştırma dosyalarının sonu gz ile biter Bunları açmak için gunzip komutu kullanılır$ gunzip elviz gzcompress 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 Zyukarıdaki web html dosyasını sıkıştırdığımızda dosyanın boyutu 42450bayttan 18906 bayta indi Açmak için:$ uncompress web html ZBir 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 gztmp tgz:gzip compressed data-deflate method,last modifiedat Feb 15 08:21:50 1997 os:Unix# file tmp tar Ztmp tar Z:compressed data 16 bits4 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ımftp 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 gzyukarı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-elfeğ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/4 8 Dizin TaramaLinux 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 gzYukarıdaki komut ile içinde pico kelimesi geçen dosyalar bulunur ![]() 4 9 mtools MSDOS ArabirimiLinux 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 23aNDD <DIR> 3-29-95 10 26aCHKLIST 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 BATmdel : 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ı İşlemleri5 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 ‘:’ ko***** 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/eyeze5 3 2 Kullanıcı GrubuUsers 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 EklenmesiSisteme 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 SilinmesiBir kullanıcı grubunu sistemden kaldırmak için groupdel komutu kullanılır ![]() #groupdel deneme 5 3 5 Kullanıcı Hesabının SilinmesiBir 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 YedeklenmesiMakinenin 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üncellenmesiYeniden 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 DerlenmesiGenel 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 TemizlikFazla 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ındakiimage = /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
Yorum yada Mesaj Yazın Yorum yada Mesaj Göndermek için Lütfen Üye Girişi Yapın. |
|||
|
|
|
|
#3 | ||
|
5 6 4 Çekirdeğin YamanmasıÇekirdeğin her yeni sürümüyle birlikte bir önceki sürümünün yaması da gelir Yamayı uygulamak tüm çekirdeğin tekrar derlenmesinden daha iyidir![]() Yama önce /usr/src dizini içine kopyalanmalıdır Bu dizin altında iken# zcat patch -2 0 11 gz | patch -p0sıkıştırılmış değilse # patch -2 0 11yazılır Bu komutun ardından satırlar ekrandan hızla kaymaya başlayacak ve yama tamamlanmış olacaktır![]() Yamanın başarılı bir şekilde tamamlandığından emin olmak için /usr/src/linux dizini altında rej uzantılı dosyalara bakılır![]() # find -name’* rej’ -printBu komut rej uzantılı dosyaları bulursa yama işlemi tamamlanamamış demektir![]() Yama işlemi tamamlandıktan sonra sırasıyla # make clean # make config # make dep komutları uygulanır ![]() Patch komutunun aldığı bazı seçenekler vardır Patch -s komutu ile oluşabilecek tüm hata mesajlarını ekrana yazar Diğer yama seçenekleri komut satırına man patch yazarak görülebilir![]() Birkaç yamadan sonra orig uzantılı dosyalar oluşmaya başlar Bu dosyalar gereksizdir ve çok yer kapladıkları için silinmeleri gerekir![]() # find /usr/src/linux -name’* orig’ -exec rm -f {}komutu ile bu orig uzantılı dosyalar silinebilir![]() 5 6 5 Çıkabilecek SorunlarEğer bir çekirdek güncellemesinden sonra yeni çekirdek garip şeyler yapıyorsa yeni çekirdeği derlemeden önce make clean komutu kullanılmamıştır ![]() Eğer çekirdek çok fazla hafıza harcıyorsa ayarlanmış bir çok gereksiz parça vardır Çekirdeğin ne kadar yer kapladığı free komtuyla öğrenilebilir Aynı şekilde bu değere dmesg komutu ile de ulaşılabilir![]() LILO’ yu çalıştırmak unutulmuşsa veya sistem hiç açılmıyorsa disketten açılış yapılır ![]() Eğer eski çekirdek 1 2 X veya daha düşükse ve bu 2 0 X sürümüne yükseltilmek isteniyorsa, 2 0 X çekirdek kurulumunda getirilen bazı değişiklikler sorun çıkartabilir /usr/src/linux/documantation/changes dosyasında yapılması gereken değişikliklerin bir listesi vardır![]() 5 7 ModüllerLinux işletim sisteminin çekirdeğinin boyu genellikle 400-600 Kb arasındadır Bazı çekirdeklerde bu sayı 800 Kb’a kadar çıkabilir Çekirdeğin boyunun büyümesi sistemin performansını olumsuz yönde etkiler![]() Linux’a özgü özelliklerden birisi modüllerdir Modüller sayesinde nadiren gerekli olan bir çekirdek parçası sadece gerektiği zaman çekirdeğe eklenir![]() Bir modül çekirdeğin derleme aşamasında M parametresiyle tanımlanır Modüller arasında disket desteği, yazıcı desteği, minix dosya sistemi desteği veya SCSI aygıt sürücü desteği vardır![]() Bir modülü derledikten sonra o modüle ait dosya /lib/modules dizini altında yer alır Burada istenilen bir modül# insmod modul-ismi komutuyla çekirdeğe eklenir ve # rmmod modul-ismi komutu ile hafızadan çıkarılır ![]() Hafızadaki modüllerin bir listesini görmek için lsmod komutu kullanılır Kerneld komutu arka planda çalışarak gerekli olan modülleri anında yükler Belirli bir süre içinde kullanılmayan modülleri çekirdekten atar![]() 5 8 Yeni Yazılımların YüklenmesiSadece gereken zamanda gereken dosyalar makineye kurulmalı veya güncellenmelidir Her çıkan yeni yazılım sisteme kurulmamalıdır Bu işlem çekirdek için de geçerlidir Linux’a çok önemli bir fonksiyon kazandırmayacaksa her an çekirdek derlemek hem zaman kaybı olur hem de derleme esnasında sistemi yavaşlatır![]() 5 9 Kaynak Kodun DerlenmesiKurmak istenilen ve ftp adresinden getirilen dosya genellikle tar veya gzip ile sıkıştırılmıştır Bu dosyanın sonu tar gz, tgz veya tar Z ile biter![]() Öncelikle yazılımın açıldığı zaman hangi dizine yerleştirileceği ayarlanır Bu tar komutunun -t seçeneği ile kontrol edilir Compress ve gzip ile sıkıştırılmış dosyalar için# tar -ztvf dosya tar gzkomutu kullanılır ![]() Yeni bir yazılımı denemek için arşiv genellikle /usr/src veya /usr/local/src dizininin altına kopyalanır ve burada konfigürasyon işlemleri uygulanır Öncelikle Readme,Readme linux veya Install dosyaları incelenmelidir Bunlar sırasıyla bir kullanıcı olarak dosyaların nasıl kurulacağını anlatılmaktadır Kurma aşamasında dikkat edilecek dosyalardan biri makefile dosyasıdır Bu dosyanın içinde nadiren değişiklik yapmak gerekebilir Diğer kontrol edilmesi gereken dosya ise config h dosyasıdır Bu da sistem gereksinimlerine göre değiştirilebilir Varsa Makefile dosyasına göre yazılımı kurmak için make komutu kullanılır Bu komut make all, make install gibi parametreler alabilir Make all bulunan bütün yazılımları kurar Make install ise bu yazılımı konfigürasyon dosyalarının gösterdiği dizinlere yerleştirir Çoğu büyük paketler man dosyalarıyla birlikte gelirler Bunları da diğer man dosyalarının yanına koymak için ayrı bir make install man türü komut kullanmak gerekir![]() 5 10 Sistem Açılış DosyalarıLinux makinesi açılırken birçok dosya okur Birkaç dakika içinde çekirdeği hafızaya yükler, belirli dizinlerin altındaki programları arka planda çalıştırır Açık bir işletim sistemini diğerlerinden ayıran bir özellik kullanıcının büyük bir kolaylıkla konfigürasyon dosyalarını değiştirmesidir Sistem açılış dosyalarında ( özellikle ağ temelli dosyalarda ) değişiklik yapabilmek için TCP/IP konusundaki basit temeller anlaşılmış olmalıdır![]() Açılış dosyalarında tek bir kullanıcı için veya sistemde hesabı olan herkese yönelik olarak değişiklik yapmak mümkündür Pek çok kullanıcı bu açılış dosyalarıyla oyna***** Linux’u yakından öğrenir![]() İnternet servisi veren bir makine bu servisini daemonlar aracılığıyla yapar Bir daemon her makine tarafından bilinen bir port numarasını açar ve dinlemeye başlar Eğer sorumlu olduğu port adresine istek gelirse bu isteğe cevap vererek servise başlar![]() 5 10 1 inetd ve /etc/inetd confinetd en önemli internet servislerindendir Bu program sistem açılırken arka planda çalışmaya bırakılır İnetd’nin görevi belirli portları dinleyerek bu portlara yapılan bağlantıları denetlemektir Bir bağlantı yapıldığı anda inetd bu portla ilgilenecek olan programı çalıştırır İnetd’nin kullandığı konfigürasyon dosyası /etc/inetd conf’dur /etc altında bir konfigürasyon dosyasını değiştirmek için o dosyayı okuyan ve arka planda çalışıyor durumda bulunan süreçlerin haberdar olması gerekir Çünkü bu dizindeki bazı dosyalar açılışta okunur inetd, inetd conf dosyasını açılışta okur Değişiklik yaptıktan sonra inetd’nin bu değişiklikten haberinin olması için bu sürecin PID numarası ps -aux komutu ile elde edilir![]() # kill -HUP <PID -inetd> PID-inetd yerine elde edilen süreç numarası girilir Bu sayede inetd kendisine ait olan inetd conf dosyasını tekrar okuyacak ve değişiklikler işleme konacaktır Her bilgisayar tarafından bilinen servislerin isimleri ve hangi portları kullandıkları /etc/services dosyasında tutulur![]() 5 10 2 syslogd ve /etc/syslog confsyslogd programı Linux’taki çeşitli olayların kayıtlarını tutar Bunlar genellikle hata mesajları veya çekirdek mesajları gibi kayıtlardır Syslogd sistem açılırken arka planda işlemeye bırakılır![]() /etc/syslog conf syslogd programının konfigürasyonu için kullanılır Normal olarak sistem kayıtları /usr/adm/messages dosyasının sonuna eklenir![]() Syslod conf dosyasında, en solda yer alan ve nokta ile ayrılmış olan iki kelimeden ilki kaydı yapılan program grubudur Bu kısma kern ( çekirdek mesajları ), mail ( sendmail mesajları ), login ( sisteme giriş veya çıkış mesajları ), cron ( cron mesajları ), lpr ( yazıcı mesajları ), auth, authpriv veya security ( güvenlik mesajları ), news ( haber grubu mesajları ), daemon( daemonlardan gelen mesajlar ), user ( kullanıcı mesajları ), uucp ( uucp mesajları ) yazılabilir Noktanın sağındaki kelime ise kaydı yapılan program grubunun mesaj önem sırasını belirler Bu kısımda önem sırasına göre debug, info, notice, warning, err, crit, alert ve emerg bulunur Dosyanın sağında yer alan kısımda ise bu mesajların hangi dosyaya yazılacağı vardır Başka bir makineye kayıt tutturmak da mümkündür Uzak makinenin ismi syslog conf dosyasının sağ bölümüne yazılır Bazı kritik ve sistemin düzgün çalışmadığını haber veren mesajlar konsola yönlendirilmelidir![]() kern crit /dev/consoleSisteme bağlanmış olan kullanıcılar hakkında bilgiyi /var/adm/wtmp dosyası tutar Bu dosya ASCII olmadığından doğrudan okunamaz, last komutu ile içeriği incelenebilir![]() 5 10 3 init ve /etc/inittabinit sistemde ilk çalışan programdır İnit sayesinde açılış anında hangi programların çalışacağı belirlenir Bu programları da /etc/inittab dosyasından öğrenir![]() Bir Linux makinesinin birkaç tane çalışma düzeni vardır Bunlardan birkaçı 3 ( çok kullanıcılı konum ), 1 ( tek kullanıcılı konum ) ve 4 ( X Window konumu ) ‘ dur Her konum, bir sayı veya bu sayılara karşılık gelen tek harften oluşur Bir konum altında çalışırken diğerine geçebilmek için init veya telinit komutu kullanılır![]() /etc/inittab’ da yer alan dosya isimleri değiştirilebilir veya kullanıcının isteği doğrultusunda her çalışma modu için farklı dosyalar çalıştırılabilir ![]() İnit komutundan sonra açmak istenilen çalışma düzenine ait olan sayı yazılmalıdır Örneğin init 0 komutu sistemi kapatır![]() /etc/inittab dosyasında yapılacak her değişikliğin ardından # init q komutu verilerek init programının inittab dosyasını tekrar okuyup değişikliklerden haberdar olması sağlanmalıdır O an sistemin hangi konumda çalıştığını bulmak için runlevel komutu kullanılabilir Örneğin;$ runlevel N 3 5 11 Çekirdek MesajlarıÇekirdek, hafızaya yüklenip çalıştırıldıktan sonra kendisi ve sistemdeki donanım hakkındaki her türlü bilgiyi ekrana yazar Mesajda swap alanı belirlenmesi, sabit diskin tanınması, aygıt sürücülerinin ve ethernet kartının tanınması, disketin tanınması, ekranın özellikleri gibi bilgiler vardır Bu bilgilere sistem açıldıktan sonra /var/adm/messages dosyasından erişilebilir![]() 5 12 Linux Dosya Sistemi YapısıBir işletim sisteminin dosya sisteminin performansı, hızı ve buna benzer özellikleri sistemin verimli ve kararlı çalışması üzerinde doğrudan etkilidir Linux dizin yapısında bazı dizinlerin işlevi birbiriyle aynıdır Bu durum, özellikle birbirini takip eden iki Linux sürümünde belirginleşir Dosya sistemleri ve dizinler paylaşımlı olarak da kullanılabilir![]() Kök dizini, kendisine bağlı diğer tüm dizinleri de içerdiğinden Linux dosya sisteminde önemli bir yere sahiptir Linux açılırken önce kök dizini /etc/fstab dosyasına uygun şekilde bağlanır Diğer dosya sistemlerinin onarımı ve kontrolü için gerekli olan fsck programları bu dizinde bulunmalıdır Benzer şekilde yedekleme için gerekli olan tar, zip, compress gibi arşiv programlarına da kök dizini altından erişebilmeli, açılış esnasında hafızaya yüklenen çekirdek de kök dizininde yer almalıdır Kök dizini başlangıçta küçük tutulmalı ve geliştirilen programlar daha önceden belirlenen başka bir dosya sistemi altına koyulmalıdır Sistemdeki önemli dizinler;/bin : Sistemin açılışı ve kontrolü için gerekli komutlar, hem kullanıcının hem de sistem görevlisinin kullanabileceği dosyalar yer alır Bu dizinde bulunan dosyalara örnek olarak date, chown, cat, mkdir, mount, ps, rm, sh, su dd, df, ln, chgrp verilebilir![]() /dev : G/Ç dosyaları yer alır Linux çekirdeğinde desteklenen her aygıta ait dosya /dev dizini altında bulunur Kurulum anında bu dosyalar yerine yerleştirilir Bu dosyaların silinmesi halinde /dev/makedev ile tekrar yaratılabilir![]() /etc : Sistem konfigürasyon dosyaları yer alır Bu dizin içinde çalıştırılabilir dosyalar bulunmamalıdır![]() skel: Buradaki dosyalar kullanıcı hesabı açıldığında kullanıcının home dizinine kopyalanır ![]() rc d: Bu dizinin içinde init sürecinin başvurduğu konfigürasyon dosyaları vardır![]() passwd: Kullanıcı şifre veritabanıdır ![]() fstab: Linux’un açılışı esnasında yüklenecek dosya sistemleri burada listelenir ![]() group: Kullanıcıların gruplarını tutar ![]() inittab: init daemon için konfigürasyon dosyasıdır ![]() issue: Kullanıcı sisteme girmeden hemen önce ekranına yazılması istenen mesaj burada tutulur ![]() motd: Kullanıcı sisteme girdiği zaman ekranına yazılması istenen mesaj burada tutulur ![]() profile: Kullanıcı sisteme girdiği zaman çalıştırılan dosyadır ( csh ve sh türü kabuklar için )shells: Sistemde kullanılabilecek kabuk isimleri burada tutulur ![]() login access: login komutu için konfigürasyon komutudur Sisteme girişi kullanıcı bazında sınırlamak için kullanılır![]() shadow: Kullanıcı şifrelerinin şifrelenmiş halidir ![]() /home : Kullanıcılara ayrılmış dizindir Başka şekilde ayarlanmamış ise açılan her hesaba ait kullanıcı burayı kullanır![]() /lib : Kütüphane dosyaları yer alır ![]() /mnt : Geçici mount edilen dosya sistemleri yer alır ![]() /proc : Süreç kontrollerini ve diğer sistem bilgilerini tutan dosya sistemi yer alır Bu dosya sistemi disk üzerinde yer kaplamaz Tüm dosyalar çekirdeğin bir uzantısı sayılır![]() cpuinfo: İşlemci modeli, tipi ve performansını bildirir ![]() devices: Çalışan çekirdek içinde desteği bulunan aygıt sürücülerini listeler ![]() dma: Hangi dma kanallarının kullanıldığını belirtir ![]() filesystems: Çalışan çekirdek içinde desteği bulunan dosya sistemlerini listeler ![]() interrupts: Hangi kesintilerin kullanımda olduğunu belirtir ![]() iports: Hangi G/Ç portlarının kullanıldığını belirtir ![]() kcore: Sistem hafızasının görüntüsünü verir ![]() /root : Sistem görevlisinin home dizinidir ![]() /sbin : Sistem komutları yer alır Sadece sistem görevlisinin ihtiyacı olan komutlar /sbin veya /usr/sbin dizinlerinin içinde bulunur![]() /tmp : Geçici dosyaların koyulduğu dizindir Belirli zaman aralıklarında temizlenmelidir![]() /usr : Diğer önemli sistem dosyalarını tutar Bu bölüm genelde en kalabalık dizindir Yeni kurulan tüm programlar buraya koyulur![]() X11R6: X Window sistemi bilgileri tutulur ![]() doc: Belge ve dökümanlar tutulur ( Genellikle HOWTO ve FAQ dosyaları )lib: Bazı kütüphaneler tutulur ![]() man: Man dosyaları tutulur ![]() src: Bazı kaynak dosyaları ve Linux çekirdeğini oluşturan kodları tutan dizindir ![]() sbin: Kök dosya sisteminde yer alması gerekmeyen çalıştırılabilir sistem görevlisi dosyaları tutulur ![]() /var: Sürekli değişen sistem bilgileri tutulur ![]() adm: Sistem yönetimini ilgilendiren kayıtlar tutulur ![]() preserve: Sistemin göçmesinden sonra zarar görmesi mümkün dosyalar tutulur ![]() spool: Daha sonra işlenecek veriler burada tutulur ![]() Sistem yöneticisi dosya ve dizin yapısını düzenli olarak kontrol etmelidir ![]() Unix ve Linux iki tür aygıt tanır Bunlardan biri karakter aygıtları ( veri alışverişini bayt bazında yapan aygıtlar ), diğeri ise blok aygıtları (veri alışverişini blok cinsinden yapan aygıtlar ) dır Karakter aygıtlarına örnek seri bağlanan aygıtlar ve teypler, blok aygıtlarına ise diskler verilebilir Bu cihazlardan bir bilgi yazılıp okunduğunda dosya sistemi altında bunları tanımlayan dosyalar kullanılmış olur![]() Her aygıt bir dosya olarak dosya sisteminde yer bulduğuna göre hangi aygıt dosyalarının bulunduğu öğrenilebilir ![]() $ ls -l /dev/cua0 crw-rw-rw- 1 root uucp 5,64 may 13 1997 /dev/cua0 İlk karakter (c) bu dosyanın bir karakter aygıtına ait olduğunu gösterir Normal dosyalar için bu karakter ‘-‘ , blok aygıtlar içinse ‘b’ olmalıdır![]() Aygıt sürücü desteği çekirdekte olmasa bile /dev dizini altında tüm aygıt dosyaları bulunur Tüm aygıt sürücülerinin bulunması programların kurulumunu ve yeni donanımların eklenmesini kolaylaştırır![]() 5 13 LILO YapılandırmasıLILO öncelikli yükleyici olarak diskteki diğer işletim sistemlerinin açılışında kullanılabilir LILO’yu değiştirmek için /etc/lilo conf dosyası üzerinde değişiklikler yapılmalıdır /etc/lilo conf dosyası üzerinde değişiklik yapabilmek için metin editörlerden pico kullanılabilir![]() /etc/lilo conf dosyasında gerekli değişiklikler yapıldıktan sonra /sbin/lilo programı root yetkisiyle çalıştırılmalıdır Sistem sabit diskten tekrar açıldığında LILO /etc/lilo conf dosyasındaki ilk işletim sistemini yükleyecektir Eğer makine başka bir sistemle başlatılmak isteniyorsa ekrana ön yükleme menüsü getirilmelidir Bunun içinde makine açılırken shift veya kontrol tuşlarına basılmalıdır![]() Bu yapılanların normalde düzgün bir kurulumdan sonra yapılmasına gerek yoktur Ama eğer Linux yüklü bir makineye Windows kurulacaksa /etc/lilo conf dosyasında gerekli değişiklikler yapılmalıdır![]() 5 14 X Window İle Konsolda Türkçe YazmakBunun için standart olmayan karakterlerin ( Türkçe karakterler ) ekranda görüntülenebilmesi ve bilgisayara standart dışı bir klavye olduğunun belirtilmesi gerekir Türkçe yazabilme sorunuyla her işletim sisteminde karşılaşılır Linux altında Türkçe desteğini sağlamak için birkaç işlem yapılmalıdır Bu işlemlerin başında Linux’a Türkçe destekli klavye ve font tanıtmak gelir![]() Yapılması gereken işlemler; - Bir metin düzenleyicisinde /etc/X11/XF86Config dosyası açılır ‘FontPath’ satırının hemen üzerine aşağıdaki satırlar eklenir![]() FontPath “/usr/share/fonts/ISO8859-9/100dpi:unscaled” FontPath “/usr/share/fonts/ISO8859-9/75dpi:unscaled” FontPath “/usr/share/fonts/ISO8859-9/misc:unscaled” FontPath “/usr/share/fonts/ISO8859-9/100dpi” FontPath “/usr/share/fonts/ISO8859-9/75dpi” FontPath “/usr/share/fonts/ISO8859-9/misc” - X Window’a girilir Eğer KDE kullanılıyorsa kvt altında Türkçe karakterleri görmek için bir terminal açılır Terminal içinden Options menüsü seçilir Font ‘ISO-8859-9’ olarak değiştirilir![]() - Türkçe klavye haritasını yüklemek için kvt’den çıkılır ve Q Türkçe klavye için aşağıdaki komut yazılır ![]() xmodmap /usr/x11r6/lib/x11/etc/xmodmap trq5 15 Belirli Zamanlarda Komut İşletilmesicrontab dosyası yardımıyla sistem üzerinde olunmadığı zamanlarda belirli işler yapılabilir crontab dosyası /etc dizini altında yer alır Bu dosyada 6 alan bulunur Bunlardan ilk beşi komutun ne zaman işleneceğini gösterir Son alan ise çalıştırılacak olan komuttur Zamanı belirten sütunlardan ilki dakikayı ( 0-59 arası ), ikincisi saati ( 0-23 arası ), üçüncüsü günü ( 0-31 arası ), dördüncüsü ayı ( 1-12 arası ), beşincisi ise haftanın gününü ( 0 Pazar olmak üzere 0-6 arası ) gösterir Eğer bir zaman alanına * girilirse bu her zaman anlamına gelir![]() 15 08 * * * updatedb Bununla her gün saat 8:15’te updatedb programı çalıştırılır ![]() 0 1 9,19,29 * * find /tmp -atime 3 -exec rm -rf {}*; Bu örnekte ise her ayın 9,19,29’unu gösterir Aynı alanda birden fazla sayı kullanılacaksa arada boşluk bırakılmamaya dikkat edilmelidir![]() Bu girdileri bir crontab dosyasına yazmak için sisteme root olarak girilir ve # crontab -e yazılır Ekrana bilgisayar ilk kurulduğu andaki ön tanımlı crontab satırları gelir Buraya istenilen kadar crontab girdisi girilebilir![]() crontab dosyasının işletilmesinden crond sorumludur Sistem açılırken /etc/rc d dizini içindeki dosyalardan biri crond programını çalıştırır ve o andan itibaren crontab -e komutuyla yaratılan dosyadaki emirler zamanı geldikçe işletilir![]() 5 16 Yazıcı EklenmesiLinux geniş bir paralel yazıcı desteği sunar Linux ile sadece makineye bağlı yazıcıya değil ağ üzerindeki herhangi bir yazıcıya da erişilebilir![]() 5 16 1 Yazıcının BulunmasıSistem açılırken ekrana gelen mesajlar dmesg komutuyla tekrar ekrana getirilir ![]() # dmesg | grep lp lp0 at 0x0380,(polling) böyle bir satırla karşılaşırsa Linux yazıcıyı tanımış demektir Bu mesaj /dev/lp0 düğümünde bir yazıcı olduğunu gösterir![]() 5 16 2 Yazıcının TanınmasıYazıcıların ayarlanması printtool komutu ile sağlanır ![]() # printtool Ekrana printtool’un ana ekranı gelir Buradan Add butonu ile yazıcı tanımlaması yapılır Gelen pencerede uygun olan seçenek seçilir:Local printer:Bulunulan makineye bağlı yerel yazıcı ![]() Remote Unix (lpd) Queue: Ağ üzerinde bir başka makineye bağlı yazıcı ![]() Lan Manager Printer (SMB): SMB protokolünü kullanan Lan Manager yazıcısı ![]() Netware Printer (NCP): Bir Novell Netware sistem üzerindeki yazıcı ![]() Yerel bir yazıcının tanıtımı için; Printtool bağlı olan yazıcıyı otomatik olarak bulur Bu pencerede OK butonuna basıldıktan sonra yazıcı adı ve diğer ek bilgilerin bulunduğu bir pencere gelir Burada sadece yazıcı adı değiştirilir ve yazıcı tipi için ‘select ‘ butonuna basılır Yazıcı tipi seçilir ve isteğe bağlı olarak Resolution ve Paper Size değişkenleri değiştirilir Yazıcının özelliklerini veren pencerede Ok’lenip geçilir Yazıcıdan bir test sayfası çıkışı için menüden Tests seçilir Yazıcı sorunsuz çalışıyorsa printtool programından çıkılabilir![]() 5 16 3 Yazıcıdan Çıktı AlınmasıLinux altında yazıcı sistemini lpq programı kontrol eder bu program arka planda sürekli çalışır Bir programın ya da komut satırının yazıcı isteğini karşılar![]() Linux’ta belgelerin lpr komutu yardımıyla çıktısı alınabilir ![]() # lpr -plp belge txt-p parametresi yazıcının adını belirtir ![]() Linux’ta lpr yardımıyla hem metin dosyaları hem de Postscript yazıcıya gönderilebilir ![]() 5 16 4 Yazıcı Kuyruğunun GösterilmesiLinux çok kullanıcılı bir işletim sistemi olduğu için bir yazıcıyı birden fazla kullanıcı kullanıyor olabilir Sırada bekleyen yazıcı işlemleri lpq komutu ile görülür![]() # lpq -plp 5 16 5 Yazıcı İşlemlerinin DurdurulmasıYazıcı işlerinin durdurulması için lpq komutunun çıktısında yer alan job numarasına ihtiyaç vardır Lprm komutu ile yazıcıya gönderilen bir belgenin çıktısının alınması işi durdurulabilir![]() # lprm 13 5 17 Zaman Ayarlarının YapılmasıSistem zaman ayarı timetool programı yardımıyla yapılır ![]() # timetool Gelen pencerede saat istenilen bir zamana ayarlanıp ‘ Set System Clock ‘ tuşuna basılır Eğer saatin değişmesi istenmiyorsa ‘Exit Time Machine’ tuşuna basılır![]() 5 18 Ses KartıLinux pek çok ses kartını tanıyabilen bir yapıya sahiptir ![]() 5 18 1 Ses Kartı Ayarlarının YapılmasıSes kartı ayarlarının yapılması için sndconfig programı kullanılır Bu program sistemde bulunan kartı tanıyacak ve gerekli modülleri yükleyecektir Sndconfig programını çalıştırmak için sisteme root olarak girilmelidir![]() # sndconfig program bir süre sonra ses kartını tanıdığına dair bir mesaj verir ve örnek bir ses çıkarır Eğer kart otomatik olarak tanınmazsa gelen pencereden kartın modeli ve ardından kartın I/O numarası ile DMA ve IRQ gibi bilgiler seçilir![]() 6 BASH KABUĞUUnix için geliştirilen en önemli ve en çok kullanılan kabukların başında tcsh, bash ve ksh gelir Bash Bourne Shell’in biraz daha geliştirilmiş sürümüdür Tcsh ise C-Shell üzerine eklenen yeniliklerle genişletilmiştir Linux işletim sistemi için de derlenen bash ise hem tcsh hem de ksh’dan özellikler taşır![]() Tüm bu kabuklar kullanıcının hizmetine sunulmuş olup bash kabuğu sistem ilk açıldığında tanımlıdır Kullanıcı sisteme girdiği zaman bu kabuk aktif olur, bundan sonra kullanıcı herhangi bir kabuk altında çalışmalarına devam edebilir Bunun için sadece çalışmak istediği kabuğun adını komut satırına yazması yeterlidir![]() 6 1 Bash ÖzellikleriBash’ın kullanıcıya zaman kazandıran en önemli özelliklerinden birisi dosya isimlerini tamamlamasıdır Komut satırında tamamlanmamış bir komut veya dosya ismi yazdıktan sonra Tab tuşuna basılırsa satır tamamlanır Eğer komut satırındaki karakter kümesiyle başlayan birden fazla komut varsa bir sinyal sesi duyulur ve bilgisayar yeterince karakter yazılmasını bekler![]() Bash komut satırında iken satırın kolayca değiştirilebilmesini sağlar Böylece komut çalıştırılmadan önce birkaç tuşa basarak üzerinde değişiklik yapılabilir Klavye üzerindeki alt ve üst yön tuşları daha önce yazılan komutları görmeyi ve arasında seçim yapmayı sağlar Böyle seçilen komut üzerinde değişiklik yapılabilir![]() 6 2 Takma Adlar ( Alias )alias komutu ile bir komut veya komut kümesinin yerine bir isim kullanılabilir İşleyişi bir makroya benzeyen bu komut yardımıyla uzun komutlar daha kısa komutlarla tanımlanabilir Bir alias komutu anahtar kelimeyle başlar, ardından ‘=’ konur ve yerine kullanılacak komut yazılır Arada boşluk bırakılmaz![]() $ alias dir=’ls -l’ $ dir Bir takma ismin tanımı unalias komutu ile kaldırılabilir ![]() 6 3 Özel Kabuk TanımlarıTanımlamalar set komutu yardımıyla yapılır Tüm tanımlar küçük harfle yazılır Bu özellikleri yardımıyla tanımlar değişkenlerden ayrılırlar![]() $ set -o tanım $ set +o tanım Yukarıdaki komutlardan ilki tanımı işletir, diğeri ise tanımı kaldırır ![]() Noclobber: Bu tanımın seçilmesinden sonra bir komutun çıktısı bir dosyaya gönderildiğinde dosyanın eski içeriği aynı kalır ![]() Ignoreeof: Kabuktan yanlışlıkla kontrol-d tuş takımı ile çıkılmasını engeller ![]() Env komutu ile sistemde ön tanımı yapılan veya sonradan tanımlanan tüm değişkenler ekrana listelenir ![]() Sisteme girildiği anda tanımlanan bazı komutlar; HISTFILE : Tüm yazılan komutlar bash_history adlı dosya içinde tutulur Her kullanıcının kendi home dizini içinde kullanıcıya özgü bu dosyadan vardır $HISTFILE değişkeni ile dosyanın ismi değiştirilebilir![]() PATH: PATH değişkeninde bir komut yazıldığı anda sistem tarafından aranacak olan yolların listesini verir PATH değişkeninde her dizin ‘:’ ile birbirinden ayrılır Kullanıcı PATH değişkenine yeni girdiler ekleyebilir![]() SHELL: O an kullanılan kabuğun yolu ismini verir Kabuk programları genellikle /bin dizini altında tutulur Her kabuğun yol ismi sistemdeki /etc/shells dosyasında bulunur![]() HOME: Kullanıcının home dizinini gösteren yolu ekranda gösterir Her kullanıcının home dizini sistemde hesap açılırken sistem görevlisi tarafından belirlenir![]() LOGNAME: Sistemdeki kullanıcı hesabının ismini tutar ![]() TERM: Kullanıcının halen üzerinde çalıştığı terminali gösterir ![]() PS1 ve PS2: Ekranda komut satırının başına gelecek olan karakterleri belirler PS1 birinci satırın karakterlerini tutarken PS2 ise birinci satıra sığmayan komutlar bir alt satıra geçtiğindeki karakterleri tutar Bu karakterler ön tanımlı olarak $ işaretidir Önceden tanımlanan kodlar yardımıyla komut satırı değiştirilebilir Her kodun başında \ karakteri vardır Sıkça kullanılan kodların listesi;\t : saat, \d : tarih, \s : kabuk ismi, \w : çalışma dizini, \u : kullanıcı ismi, \h : makine ismi şeklindedir ![]() EDITOR: Ön tanımlı metin düzenleyicidir ![]() HISTSIZE: bash_history dosyasındaki satır sayısını verir![]() HOSTTYPE: Sistem mimarisini verir ![]() 6 4 Sisteme Giriş DosyalarıSisteme girerken her giriş anında çalıştırılan dosyalar vardır Bash kabuğu ile ilgili olan dosyalar ;/etc/profile ~/ bash_profile~/ bash_login~/ profile~/ bashrc ‘ dır![]() Kullanıcı bu dosyaların kendisine ait olanlarını istediği gibi değiştirebilir ![]() /etc/profile dosyasını tüm kullanıcılar kullanır Her kullanıcı sisteme girdiğinde sistem tarafından bu dosya çalıştırılır Bu dosyada kullanıcıların ihtiyacına yönelik özel sistem değişkenleri bulunur ve birtakım kontrol ve kayıt işlemleri yapılır![]() bashrc dosyası her bash kabuğu veya alt kabuk çalıştırıldığı anda okunur her kabuk programı çalıştırılınca bir alt kabuğa ihtiyaç olduğunda bu durumda bashrc dosyası da okunacak ve içerdiği değişkenler program çalışmadan önce tanımlanacaktır![]() Sistemden çıkarken varsa çalıştırılan dosyanın ismi bash_logout ‘ tur Bu dosya ile kullanıcı sistemden çıkarken fazladan işlemler yapabilir![]() 6 5 Kabuk Programlamaya GirişHer kabuğun kendine özgü programlama dili yapısı vardır Bash kabuğu ise güçlü programlama özellikleriyle karışık programların rahatça yazılmasını sağlar Mantıksal operatörler, döngüler, değişkenler ve daha birçok özellik bash kabuğunda da vardır ve işleyişi neredeyse aynıdır![]() Genellikle bir programı oluşturacak olan komutlar bir dosyaya yazılırlar ve ardından bu dosya çalıştırılır Herhangi bir editörde yazılan program daha sonra kabuk altında çalıştırılır Bir kabuk programı diğerlerini de çalıştırabilir![]() 6 5 1 Kabuk ProgramlarıKabuk programları bir veya birden fazla linux komutunu tutan dosyalardır Bu dosya yaratıldıktan sonra doğrudan ismi girilerek veya dosya isminden önce ‘ ’ karakteri getirerek çalıştırılır Bir kabuk programı çalıştırma bitinin 1 yapılmasıyla çalıştırılabilir hale getirilir![]() $ chmod +x komut-ismi şeklinde de bir programı çalıştırılabilir yapabiliriz Daha sonra programın ismi yazılarak program bir linux komutuymuş gibi çalışır![]() Kabuk programları yazarken dosyanın işlevini ve her satırdaki komutların ne amaçla kullanıldığını gösteren açıklama satırları kullanılabilir Bir açıklama eklemek için satır başına veya boş bir satıra # işareti eklenir ve ardından açıklama cümlesi yazılır![]() Bir kabuk altında çalışırken başka bir kabuk için yazılmış bir programı çalıştırmak mümkündür Örneğin tcsh altında çalışırken bash kullanılarak yazılmış bir program çalıştırılmak istenebilir Bunun için programın en başına #! karakteri ve ardından programın çalışacağı kabuğun yolu yazılır![]() 6 5 2 Değişkenlerin KullanımıBir değişkene değer atandığı anda sistem tarafından tanınır Değişkenler alfabetik veya nümerik karakterlerden oluşabilir Ama bir değişken sayısal bir karakter ile başlayamaz Bir değişkene değer ataması ‘=’ ile yapılır İçeriği olan bir değişkene başına ‘$’ işareti koyularak ulaşılır![]() $ mesaj=” Ders çalışmalısın!!” $ echo artık $mesaj artık ders çalışmalısın!! 6 5 3 Giriş/Çıkış İşlemleriBir kabuk programı çalışırken kullanıcının klavye ile bilgi girmesi sağlanabilir Bu tür işlemler için tanımlanan read komutu klavyeyi okur ve bu bilgiyi bir değişkene atar![]() $ echo Bir sayi giriniz: $ read b $ echo Girilen sayi : $b 6 5 4 Aritmetik İşlemlerBash kabuğunda aritmetiksel işlemlere büyük sınırlamalar getirilmiştir Tamsayı değişkeni dışında matematiksel değişken kullanmak için bu işlemler için geliştirilmiş awk ve bc kullanılabilir Aritmetiksel işlemler için eval komutu veya bash kabuğu altında yerleşik komut olan let komutu kullanılabilir![]() Aritmetik değişken tanımlamanın bir diğer yolu da typeset komutudur ![]() $ typeset -i cevap $ e=10 ; y=12 $ cevap=e*y $ echo $cevap 120 6 5 5 if-else Kalıbı ve Kontrol İşlemleriHemen her programlama dilinde olan if kalıbı bir Linux komutunun çalışmasını kontrol eder if komutu yerleşik bir komuttur ve her if komutu bir fi komutuyla biter İf komutunun ardından gelen Linux komutu çalıştırılır ve komutun çıkış durumu göz önüne alınarak ardından gelen then deyimiyle birlikte devamı işletilir Genellikle komutun iki türlü çıkış durumu olacağından else komutunun ardından gelen komut zinciri diğer çıkış durumunda çalıştırılır![]() if Linux komutu then komut1 komut2 ![]() ![]() ![]() ![]() else komut1 komut2 ![]() ![]() ![]() ![]() fi if komutu genellikle kendine test komutu ile kullanım bulur Bu komut yardımıyla mantıksal işlemler yapılabilir, sayılar ve diziler karşılaştırılabilir Anahtar sözcük olan test’ten sonra opsiyonlar veya karşılaştırılacak olan değerler yazılır Her opsiyon bir mantıksal işleme karşılık gelir Komutun işletilmesinden sonra kabuğa bir değer döner Bu değer komut başarılı olmuşsa 0, başarılı değilse 1’dir Son çalıştırılan tüm Linux komutlarının çıkış değeri $? değişkeninde tutulur Test komutunun çıkış değeri bu yolla öğrenilebilir![]() $ e=8 $ test $e -eq 4 $ echo $! 1 Test komutu yerine [] ‘de kullanılabilir Kullanırken araya boşluk konulmamalıdır Ama parantezler komut olarak algılandıkları için sağına ve soluna bir boşluk konulmalıdır![]() $ [$e -eq 4] Aritmetik Karşılaştırmalar Dizisel Karşılaştırma -gt büyük -z boş dizi -lt küçük -n tanımlı dizi -ge büyük eşit = eşit diziler -le küçük eşit != farklı diziler -eq eşit -ne eşit değil Dosya Karşılaştırması Mantıksal Karşılaştırma -f dosya var -a ve -s dosya boş değil -o veya -r dosya okunabilir ! değil -w dosya yazılabilir -x dosya çalıştırılabilir -h sembolik bağlantı -c karakter aygıt -b blok aygıt #!/bin/bash echo “0 ile 20 arasında bir sayı giriniz:” read sayi if [ $sayi -gt 10 ] then echo “Sayı çift basamaklıdır ![]() else echo “Sayı tek basamaklıdır ”fi 6 5 6 case KalıbıBirkaç alternatif arasından seçim yapmak için kullanılan bir komut olan case bir eşleştirme gördüğü anda belirli bir komut kümesini işleme sokar Case yapısı case komutu ile başlar, eşleştirilecek olan anahtar sözcük yazılır ve seçenekler alt alta her seçeneğe ait komut ile birlikte yazılır Tüm yapı esac komutu ile biter![]() Case anahtar-sözcük in seçenek1) komutlar ;; seçenek 2) komutlar ;; *) komutlar ;; esac Seçenekler arsında özel karakterler kullanılabilir Hiçbir eşleme yapılmadığı zaman *) seçeneği değerlendirilir ve buna ait olan komutlar işletilir * kullanımı isteğe bağlıdır![]() #!/bin/bash echo “1- Ekranı Temizle” echo “2- Sistemdekileri Göster” echo -n “Bir seçim yapınız:” read secim case $secim in 1) clear ;; 2) w ;; *) echo “Hatalı seçim yaptınız!” esac 6 6 DöngülerDiğer hemen tüm programlama dillerinin en büyük gücü olan döngülere kabuk altında da izin veriliyor ![]() 6 6 1 While-do DöngüsüDöngü bloğu while anahtar kelimesiyle başlar, ardından gelen koşul sağlandığı süre boyunca devam eder önce koşulun sağlanıp sağlanmadığına bakılır Döngüden çıkabilmek için mutlaka döngü içindeki koşul ifadesinin değerini yanlış yapacak bir durum oluşmalıdır![]() while koşul-ifadesi do komutlar done (( )) karakterleri arasına matematiksel bir işlem getirilebilir Bu sadece bash kabuğunda olan bir özelliktir![]() #!/bin/bash say=0 while [ $say -lt 10] do say=$((say+1)) echo $say done Yorum yada Mesaj Yazın Yorum yada Mesaj Göndermek için Lütfen Üye Girişi Yapın. |
|||
|
|
|
|
#4 | ||
|
6 6 2 for-do DöngüsüBir liste dahilindeki tüm değerlere sırayla erişimi sağlar For komutundan sonra yer alan liste sırayla kullanılır ve her birisi için döngü çalıştırılır Listenin sonuna gelindiğinde ise döngüden çıkılır![]() for degisken1 in deger1 deger2 ![]() ![]() for meyve in seftali elmado do komutlar echo $meyve done done for-do döngüsü dosya isimleri üzerinde yapılan işlemlerde de kolaylık sağlar Bunun için özel karakterlerden de yararlanılır![]() for s in * pl ;do file $s done 6 7 Örnek Kabuk ProgramıSistem görevlisinin en çok kullandığı komutlardan birisi ps-aux | grep -i xxx komutudur Bu komut ile çalışan xxx isimli program hakkında detaylı bilgi elde edilir Ps komutu detaylı bir süreç listesini ekrana verirken çıktı grep komutuna yönlendirilir ve sadece istediğimiz bilgi ekranda görünür Her zaman bu satırı yazmaktansa bu satırı bir dosyaya gönderip bu dosya adı ile çalıştırmak daha kolay olacaktır![]() #!/bin/bash if [ $#=1 ] then ps-aux | grep -i $1 else ps-ax fi Ardından dosya PATH değişkeninin işaret ettiği dizinlerden /usr/local/bin dizininin altına yerleştirilir Dosyanın çalıştırılabilir olması için chmod +x /usr/local/bin/t komutu uygulanır![]() Grep komutu bir dosyadaki veya standart girişteki satırlar içinden belirli bir kelime, harf veya harf grubunu bulmaya yarar ![]() $ w | grep demir Bu komut ile sistemde demir isimli kullanıcı olup olmadığına bakılır ![]() Örneğin ilk satırı bu dosyanın /bin/bash programı tarafından çalıştırılacağını gösterir İkinci satırda ise komut satırı üzerinde kaç tane opsiyon olduğunu gösterir $# çevresel değişkeni her biri Tab veya boşluk tuşu ile ayrılmış komut satırı opsiyonlarını verir Komut satırından çalıştırılan komut ise $0 değişkenine aktarılır![]() 6 8 Kabuk FonksiyonlarıDiğer programlama dillerindeki gibi bir program parçacığı birden fazla yerde parametre vererek kullanılmak istendiğinde fonksiyonlar kullanılır ![]() 6 8 1 Örnek Bir Fonksiyon#!/bin/bash deneme(){ case $1 in ‘ ‘ ) echo “$0: Kullanım: deneme sayı” exit;; ‘1000’) echo “1000 rakamı giremezsiniz!!” exit;; esac echo “ $1 sayısını girdiniz!” } echo “Bir sayı giriniz:” read sayi deneme $sayi 7 SED VE VI7 1 SED ( Stream Editor )Sed bir dosyadan veya standart girdiden (klavye) bilgi okur ve okuduğu bilgiyi kullanıcının belirlediği düzene sokarak standart çıktıya (ekran) yazar Genellikle bu veri bir dosyaya yerleştirilir Sed komut satırında veya bir kabuk programında kullanılabilir![]() Sed kullanırken en çok ‘s’ işlemcisi kullanılır Bu bir karakteri veya karakter kümesini başka bir diziye çevirir![]() sed ‘s/hastahane/hastane/g’ dosyam Bu komut ile dosyam içinde yer alan bütün ‘hastahane’ kelimelerini ‘hastane’ kelimesi ile değiştirilir Burada kullanılan ‘g’ işlemcisi ise sed’in bulduğu satırların tamamını araştırması içindir![]() Sed ile kullanılan özel karakterler; * [ ] ^ $ \ & dir![]() Her özel karakterin başına ‘\’ karakteri getirilerek özel anlamlarını kaybetmesi sağlanabilir ![]() Aynı anda birden çok değiştirme yapabilmek içinse her argüman için -e kullanılmalıdır ![]() Bir dosya üzerinde işlem yapıp çıktıyı ekrana değil başka bir dosyaya göndermek için; Sed ‘s/ \ /usr \ / bin / \ /bin/g’ dosyam>yenidosya 7 1 1 Düzgün DeyimlerSed metin işleyen birçok program gibi düzgün deyimlerden yararlanır ![]() => ^ karakteri satır başını gösterir ![]() sed ‘s/^Prş /Perşembe/’ dosyam Satır başında Prş varsa bunu Perşembe yapar ![]() => $ karakteri satır sonunu gösterir ![]() sed ‘s/$/SatırSonu/’ dosya Her satırın sonuna SatırSonu yazar ![]() => karakteri herhangi bir karakter anlamına gelir![]() sed ‘s/^ ![]() //’ dosyaDosyanın başındaki ilk iki karakteri siler ![]() => [] birden fazla karakter arasından seçim yapar ![]() sed ‘s/[Oo]penwin/openwin/g’ dosya => - karakteri ile sağındaki ve solundaki dahil olmak üzere tüm harfleri seçer ![]() sed ‘s/[A-Z] //g’ dosya => ^ karakteri, karakter kümesinin dışında kalan karakterleri seçmek için kullanılır ![]() sed ‘s/[^1-9a-z]//g’ dosya => * karakteri, kendisinden bir önce gelen karakterin veya küme içine alınmış karakter gruplarının sıfır veya daha fazla tekrarı için kullanılır ![]() sed ‘s/ ^ *//’ dosya => * karakteri harf kombinasyonu herhangi bir sayıda karakter grubu anlamındadır![]() => ‘\(‘ ve ‘\)’ operatörleri yardımıyla eşleştirildiği anda belleğe kaydedilen kelime grupları daha sonra tekrar çağrılabilir ![]() sed ‘s/^ \([A-Za-z] [A-Za-z]*\) /\1/’ dosya => Tüm dosya üzerinde değil de bazı özellikleri sağlayan satırlar üzerinde işlem yapmak için adresleme yapılmalıdır Adresleme işlemi s işlemcisinden hemen önce yapılmalıdır![]() sed ‘1,12s/Ege/Akdeniz/g’ dosya => Bir kelime ile başlayan tüm satırlarda işlem yapmak için; sed ‘/^Makine/s/Endüstri /Elektronik /g’ dosya => Bir kelime ile başlamayan tüm satırlarda işlem yapmak için; sed ‘/^Makine/!s/Endüstri /Elektronik /g’ dosya 7 1 2 SED Kaynak DosyasıEğer sed kaynak satırı bir iki satıra sığmayacak kadar büyükse komutlar bir dosya altında toplanabilir Daha sonra sed komutu -f parametresiyle çalıştırılır![]() $ sed -f dosyam sed dosya7 2 Metin DüzenleyicilerHem konsolda hem de X Window altında kullanılabilen bir çok metin düzenleyici vardır Pico, vi, nedit, gedit,mc, joe, xjed, ed bunlardan sadece birkaçıdır![]() Linux için programlanmış ve ticari destek gören bazı düzenleyiciler vardır Bunlardan en çok kullanılanı Star Office’ dir Star Office hem bir metin düzenleyici, hem de tablolama yazılımı, veritabanı uygulaması, sunum programı gibi eklentileri olan bir masaüstüdür Linux altında kullanılan ticari programlar için Commercial-HOWTO dosyasına bakılabilir![]() Pico kolay kullanımlı bir metin düzenleyicidir Komut istemcisi üzerindeyken sadece pico yazılarak program çalıştırılabilir İlk önce boş bir ekran gelir Ekranın alt kısmında iki satır halinde gerekli olan komutlar yer alır Bir dosya yüklemek için Control-R tuşuna basılmalıdır Dosya üzerinde yapılan bir değişikliği kaydetmek için Control-O tuşuna basılır Tüm komutlar Control tuşu ile kullanılır Bir grup komut listesi;Bir Satır Yukarı Yukarı ok tuşu Bir Satır Aşağı Aşağı ok tuşu Sola Git Sol ok tuşu Sağa Git Sağ ok tuşu Satırın Sonuna Git Control-E Satırın Başına Git Control-A Satırı Sil Control-K Arama Yap Control-W Pico’dan Çık Control-X Bir Sayfa Aşağı Control-V Bir Sayfa Yukarı Control-Y Pico hakkında bilgi edinmek içinse Control-G tuşuna basılır ![]() 7 3 Vi EditörüVi biraz karmaşık ama hızı ve verimi ile her kullanıcının işini kolaylaştıracak bir editördür ![]() PC editörlerin büyük çoğunluğunda klavye, editör komutlarını almak ve basılan tuşları ekrana göndermek için kullanılmaktadır Vi’nin tasarım aşamasında bu durumdan kaçınılmış, standart dışı klavyesi olan bilgisayarların da olabileceği varsayılarak klavye üzerinde kullanılması gereken tuşların sayısı mümkün olduğunca indirilmeye çalışılmıştır Vi ile çalışırken karşılaşılan vi editörünün çalışma aşamasında üç ayrı işlev vardır Bunlardan birincisi bilgisayara komutların girdisi sırasında kullanılan komut modu, ikincisi yazı yazarken kullanılan yazı modu diğeri ise satır modudur![]() Komut modunda klavye üzerinde görevi olan tüm tuşlar bilgisayara komut vermek için kullanılır Yazı modunda ise diğer editörlere benzer şekilde yazı yazılabilir Klavye modu değiştirildiğinde klavye tuşlarının işlevleri hemen değişir![]() Vi editörü ilk çalıştırıldığında komut moduna girilir Bu anda her tuşa ait bir komut çalıştırılmaya hazırdır ( Örneğin k karakteri bir karakter yukarı gider ) Yazı moduna geçmek için ‘i’ tuşuna basılır Yazı modunda iken klavyeden girilen her karakter ekranda görünür Tekrar komut moduna dönmek için ESC tuşuna basılır Dosya işlemleri veya eşleme yaparken iki mod birlikte kullanılmaz En alt satırda vi mesajları görülür ve gerektiğinde satır modunda komutlar girilir Satır moduna geçmek içinse ‘:’ karakteri kullanılır![]() 7 3 1 Dosya İşlemleriSisteme girip komut satırında $ vi dosya yazıldığında bir metin üzerinde arama ve değiştirme görüntüsü monitörde görülür ve program çalışır Yazmak istenenler yazıldıktan sonra ESC ve iki kere ‘Z’ tuşuna basılırsa komut dizisi önce dosyaya kaydedilir, sonra vi editöründen çıkılıp kabuğa dönülür![]() İsimsiz bir dosyada çalışırken dosyayı sabit diske yazmak için ‘w’ satır komutu kullanılır Vi editörden çıkmak için ‘:q’ yazılmalıdır![]() 7 3 2 vi’ da Yazmavi editörüne girildiğinde ‘i’ tuşuna basılınca yazı moduna geçilir İstenilenler yazıldıktan sonra satır sonuna gelindiğinde Enter tuşuna basılarak yazmaya devam edilir Satır sonuna gelindiğinde ESC ile komut satırına geçilip yön tuşları ile dosya içinde gezinilebilir Yön tuşlarının görevini h, j, k, l tuşları yapabilir![]() J, imleci bir satır aşağı indirir ![]() K,imleci bir satır yukarı çıkartır ![]() H, imleci bir karakter sola alır ![]() L, imleci bir karakter sağa alır ![]() Enter tuşu komut modunda ‘j’ tuşu yerine kullanılabilir ![]() ‘i’ komutu imlecin bulunduğu yerden itibaren ‘a’ komutu ise bir karakter sağdan yazmayı sağlar ‘o’ komutu ise imlecin bulunduğu yerin altında bir satır boşluk bırakır ve boş satırın başına geçerek yazı moduna geçer![]() Control-F tuşu bir sayfa ileri gitmek, Control-B tuşu ise metni bir sayfa geri almak için kullanılır Vi her satırı kendi içinde numaralandırır Belirli bir satıra gitmek için yön tuşlarının yanında satır numarası da kullanılır Bunun için komut modunda iken satır numarası girilir ve G tuşuna basılır Eğer satır numarası girilmezse imleç dosya sonuna konumlanır![]() 7 3 3 Silme ve KopyalamaYazı modunda iken BackSpace tuşu, komut modundayken ise ‘x’ komutu ile istenilen kadar harf silinebilir ‘dd’ komutu ile imlecin üzerinde bulunduğu satır tümden silinir ve satırlar bir satır yukarı alınır Satırın sonundayken imlecin otomatik olarak bir alt satıra geçmesi için :set wm=n satır komutu yardımıyla yapılır Burada n sondan kaç karakter boşluk kalacağını gösterir ‘dd’ veya ‘x’ komutlarıyla silinen harf ya da harf grupları belleğe alınır ve istenildiği zaman imlecin bulunduğu yerden itibaren ‘p’ komutuyla getirilir İmlecin bulunduğu yerden satır sonuna kadar silmek için ‘d$’, metnin sonuna kadar silmek için ‘dg’ komutları kullanılır![]() Tek bir harfi değiştirmek için ‘r’ komutu, bir kelimeyi değiştirmek için ‘cw’ komutu kullanılır ‘yy’ komutu üzerinde bulunulan satırı kopyalar Eğer komuttan önce sayı girilirse o kadar satır kopyalanır ‘yy’ komutu yerine ‘Y’ komutu da kullanılabilir Kopyalanan satırlar ‘p’ komutu ile istenilen yere basılır Bir hata yaptıktan sonra eski konuma dönmek için ‘u’ komutu kullanılır Bu komut üzerinde değişiklikler yapılan metni son çalıştırılan komuttan önceki duruma getirir Yeni konuma tekrar dönmek için Control-R tuşlarına basılır![]() 7 3 4 Komut TekrarıKomutun kaç defa tekrarlanacağı komuttan önce girilmelidir Girilen rakamlar ekranda görünmezler Örneğin ‘6x’ komutu 6 karakter siler![]() 7 3 5 Arama ve EşleştirmeKomut modunda iken ‘/’ karakteri ile arama konumuna geçilir Ekranın en alt kısmında açılan satıra aranılan kelime yazılır ve Enter tuşuna basılır Vi imlecin bulunduğu yerden itibaren bu kelimeyi arar ve eğer bulunmuşsa imleç oraya konumlanır ‘/’ komutu dosyanın sonuna doğru ‘?’ komutu ise başına doğru arama yapar Aynı kelimeyi tekrar aratmak için ‘n’ tuşuna basılır![]() :[a,b] s/nümerik/sayısal/işlemci Yukarıdaki komut metin içinde a ve b satırları arasındaki nümerik kelimelerini sayısal kelimesi ile değiştirir Tüm dosya üzerinde eşleştirme yapmak için % karakteri, satır sonunu belirtmek için $ karakteri kullanılır “c” işlemcisi her eşleşmeden önce kullanıcıdan izin alır “g” işlemcisi her satırda rastlanan ilk eşleşmeyi yapar “i” işlemcisi ise aramayı büyük-küçük harf gözetmeksizin yapar Sed ile kullanılan ‘\(‘ ‘\)’ operatörleri vi’de de kullanılır![]() 7 3 6 Diğer Dosyaların Metne Eklenmesiİmlecin bulunduğu yerden itibaren başka bir dosyayı metne kopyalamak için; :r dosyam txtkomutu kullanılır ![]() 7 3 7 Kabuk Komutlarının Çalıştırılmasıvi altında iken kabuk komutlarını çalıştırmak için (örneğin ls komutunu kullanmak için); :! ls -al kullanılır Komut çıktısını ekran yerine bir dosyaya göndermek içinse;:r! ls -al şeklinde kullanılır ![]() 7 3 8 vi Başlangıç Dosyalarıvi her açıldığında belirli dosyalar okunur ve gerekli düzenlemeler yapılır Bunun için set komutu kullanılır Vi her açılışta önce bulunulan dizin içindeki sonra home dizini içindeki exrc dosyasına bakar Açılış anındaki ayarlama işlemleri için bu dosya kullanılır Dosyaya her satıra bir set komutu gelecek şekilde istenildiği kadar komut yerleştirilebilir![]() set ignorecase set wrapmargin set tabstop=5 Bu seçeneklerde ignorecase arama yapılırken büyük-küçük harf ayırımı yapılmamasını, wrapmargin sol taraftan iki karakter boşluk bırakılmasını, tabstop ise Tab tuşuna basıldığında imlecin 5 karakter ileri gitmesini sağlar ![]() 8 X WİNDOW GRAFİK ARABİRİMİ8 1 Giris:İlk olarak Massatchutses Institute of Technology (MIT/ABD) tarafından UNIX işletim sistemleri için yazılıp geliştirilen X Window Sistemi güçlü bir grafik düzenlemesine sahiptir Yaklaşık dünya üzerindeki her UNIX iş istasyonu X Window sisteminin çeşitli varyasyonlarını kullanmaktadır![]() MIT X Window Sistem surum 11, dağıtım 6'nın (X11R6), 80368/80486 ve Pentium mimariye sahip UNIX işletim sistemleri için ücretsiz dağıtılabilen bir sürümü David Wexelblat'ın dwex@XFree86<img src="images/smilies...lineimg" />org önderliğindeki bir grup programcı tarafından geliştirilmiştir XFree86 adıverilen bu dağıtım, Linux dahil olmak üzere System V/386, 386BSD ve diğer x86 kullanan tüm UNIX sistemlerinde kullanılabilir Ayrıca gerekli olan tüm ana ve yardımcı programlarını, destekleyici dosyaları ve kütüphanelerini de bünyesinde bulundurur![]() Açık sistemlerin kullanıcıya sunduğu en büyük özelliklerden biri olan X Window, Linux’un doğduğu andan itibaren destek görmeye başladı İnternet üzerinde bedava dağıtılmasıyla Linux dağıtımı altında bir standart olarak kendine yer edindi Daha önce bir UNIX sistem üzerinde X Window kullandıysanız bu bölümü kavramak gayet kolay olacaktır![]() X Window’un Linux altındaki son sürümü Nisan 1994’te çıkan X11R6’dır Aradan uzunca bir süre geçmesine rağmen bu sürümde kayda değer bir değişiklik olmadı Bunun yanında X Window’da kullanılan pencere yöneticisi (window manager) çeşidi neredeyse 20’ye yaklaştı Pencere denetleyicilerin her birinin farklı özellikleri vardır Bunlar, X Window’a açılan ve uygulama programları ile kullanıcı arasındaki bilgi alışverişini sağlayan arabirimdir![]() X Window (veya kısaca X) istemci-sunucu modeline göre çalışır Ana makine üzerinde çalışan X sunucusu, grafik donanımı üzerindeki tüm giriş-çıkış yetkilere sahiptir Bir X istemcisi, sunucuya bağlanarak istediği işlemleri sunucuya yaptırır İstemcinin görevi emir vermek, sunucunun ise verilen emri görünür hale getirmektir![]() Aslında bilinmesi gereken en önemli kavram, X’in ağ tabanlı bir yapıya sahip olmasıdır Bir istemci ve sunucunun olduğu her yerde ağdan da söz edebiliriz X, ,ster konsol üzerinde (yerel makinede) isterse ağ üzerinde (uzak makinede) çalışabilir Başka bir makine üzerindeymiş gibi o makinenin X Window uygulama ve kaynaklarından yararlanabilirsiniz![]() Yukarıda kısaca bahsedilen pencere yöneticisi, ekrandaki pencerelerin denetiminde söz sahibi olan tek programdır Her pencerenin nasıl görüneceğini, ne kadar büyük olduğunu bilir; kullanıcı tarafından verilen küçültme, pencere kapatma gibi komutları işler![]() Desteklenen standart SVGA chipsetleri aşağıda gösterilmiştir: · Tseng ET3000, ET4000AX, ET4000/W32, ET6000 · Western Digital/Paradise PVGA1 · Western Digital WD90C00, WD90C10, WD90C11, WD90C24, WD90C30, WD90C31, WD90C33 · Genoa GVGA · Trident TVGA8800CS, TVGA8900B, TVGA8900C, TVGA8900CL, TVGA9000, TVGA9000i, TVGA9100B, TVGA9200CX, TVGA9320, TVGA9400CX, TVGA9420, TGUI9420DGi, TGUI9430DGi, TGUI9440AGi, TGUI9660XGi, TGUI9680 · ATI 18800, 18800-1, 28800-2, 28800-4, 28800-5, 28800-6, 68800-3, 68800-6, 68800AX, 68800LX, 88800GX-C, 88800GX-D, 88800GX-E, 88800GX-F, 88800CX, 264CT, 264ET, 264VT, 264VT2, 264GT · NCR 77C22, 77C22E, 77C22E+ · Cirrus Logic CLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428, CLGD5429, CLGD5430, CLGD5434, CLGD5436, CLGD5440, CLGD5446, CLGD5462, CLGD5464, CLGD6205, CLGD6215, CLGD6225, CLGD6235, CLGD6410, CLGD6412, CLGD6420, CLGD6440 · OAK OTI067, OTI077, OTI087 · Avance Logic ALG2101, ALG2228, ALG2301, ALG2302, ALG2308, ALG2401 · Chips & Technologies 65520, 65530, 65540, 65545, 65520, 65530, 65540, 65545, 65546, 65548, 65550, 65554 · MX MX68000, MX680010 · Video 7/Headland Technologies HT216-32 · SiS 86C201, 86C202, 86C205 · ARK Logic ARK1000PV, ARK1000VL, ARK2000PV, ARK2000MT · RealTek RTG3106 · Alliance AP6422 · Matrox MGA2064W · NVidia/SGS Thomson NV1, STG2000 Desteklenen hızlandırılmıs SVGA chipsetleri ise asagıdadır: · 8514/A (ve benzerleri) · ATI Mach8, Mach32, Mach64 · Cirrus CLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428, CLGD5429, CLGD5430, CLGD5434, CLGD5436, CLGD5440, CGLD5446, CLGD5462, CLGD5464 ![]() · S3 86C911, 86C924, 86C801, 86C805, 86C805i, 86C928, 86C864, 86C964, 86C732, 86C764, 86C765, 86C868, 86C968, 86C325, 86C988 · Western Digital WD90C31, WD90C33, WD90C24A · Weitek P9000 · IIT AGX-014, AGX-015, AGX-016 · IBM XGA-2 · Tseng ET4000/W32, ET4000/W32i, ET4000/W32p, ET6000 · Ark Logic ARK1000PV, ARK1000VL, ARK2000PV, ARK2000MT · MGA2064W Bu chipsetleri kullanan ekran kartları PCI ve VLB de dahil olmak üzere bütün (bus) tiplerince desteklenmektedir ![]() Avance Logic, MX ve Video 7 chipsetleri haricinde yukarıdaki chipsetlerin tamamı 256 renk ve monochrome kiplerini destekler Avance Logic, MX ve Video 7 chipsetleri ise sadece 256 renk kipini desteklemektedir![]() Üzerinde Linux işletim sistemi ve XFree86 bulunan bir makine en az 486 işlemciye, 8 MB hafızaya ve yukarıdaki chipsetlerinden birini kullanan bir ekran kartına ihtiyaç duyar Ancak ideal bir performans için Pentium işlemci (ve ya Pentium Pro), 16 MB hafızaya ve hızlandırılmış kart olan S3 ekran kartı kullanılabilir Unutmamanız gereken bir gerçek ise makineniz ne kadar çok fiziksel hafızaya sahipse o kadar az swap yapacak, sabit diske anlık yazma ve okuma azalacaktır Sabit diskin hafızadan daha yavaş çalıştığını hatırlarsak 16 MB fiziksel hafızaya sahip olmak 16 MB sanal hafızaya sahip olmaktan daha iyidir![]() 8 2 X Window Kurulumu ve KonfigürasyonuX Window’un 386 ve yukarı tabanlı makineler için geliştirdiği sisteme Xfree86 adı verilir Linux da Xfree86’yı Slackware dağıtımına ekleyerek kullanıcıların hizmetine sunmuştur Xfree86 sürüm 3 1’in desteklediği kartlara ait çipsetler kitabın başında verilmiştir Bu çipsetler, PCI ve VLB dahil, her tür veri yoluna sahip ana kartlar üzerinde sorunsuz çalışır![]() Linux ile uyumlu çalışabilen yer alan çipsetlerin hepsi 256 renk (8 bit) desteklerler Eğer kart üzerinde yeteri kadar RAM var ise (en az 2MB), ekranınızı 16 bit (65536 renk) açma imkanınız olur Özellikle S3 kartları Linux Xfree86 altında sorun çıkartmadan 65536 rengi kolayca gösterebilirler![]() X Window üzerinde rahatça çalışabilmek için en az 486 tabanlı bir bilgisayara ihtiyacınız var Rahat bir çalışma için 16MB RAM ve Pentium 100 bilgisayar işinizi görecektir Renk sorunu yaşamamak için ise 2MB, görüntü hafızası olan bir grafik kartı kullanın X Window, sistemi fazlaca yüklediğinden takas alanı için fazla söz söylemeye gerek yok X’e yatırım yapmak istiyorsanız paranızı hafıza için ayırın![]() Xfree86, Slackware tarafından dağıtılan paketlerin X bölümünde yer alıyor Herhangi bir nedenden dolayı sistemde X yoksa ‘pkgtool’ yardımıyla sisteminize kurun Gerekli kütüphaneleri eklemeyi unutmayın![]() 8 3 X KonfigürasyonuX Window kurulumu basit olmasına rağmen konfigürasyonu biraz başınızı ağrıtabilir Slackware 2 2 dağıtımı ile gelen konfigürasyon programları, kullanıcının hata yapmasını affetmiyordu Yanlışlıkla basılan bir tuş yüzünden baştan başlamak zorunda kalınabiliyordu Slackware 3 3 altında, grafik arabirimini kullanan XF86Setup programı ile bir fare yardımıyla rahatlıkla ve kısa sürede X konfigürasyonu tamamlanabiliyor Ücretli sürümlerden bir tanesi elinizin altında ise işler daha da kolaylaşıyor, neredeyse donanım hakkında hiçbir şey bilmeden X kurulabiliyor![]() Konfigürasyon işlemlerinden önce hazırlık aşamasında XF86Config(1) ve Xfree86(1) man sayfalarını okuyun bu dosyalarda X Window için oluşturulacak olan /etc/XF86Config dosyasının hakkında detaylı bilgi vardır XF86Config dosyası X açılırken okunur ve fare, ekran çözünürlüğü, renk sayısı gibi özellikler belirlenir Ekranınızın kalitesine göre açmak istediğiniz çözünürlük hakkında bir miktar fikir sahibi olmalısınız Bazı eski ekranlar 1024x768 çözünürlüğü desteklemezler, bu yüzden 800x600 gibi düşük bir çözünürlük ile işe başlayın Daha ayrıntılı bilgi için Xfree86-HOWTO dokümanlarına göz atabilirsiniz![]() Linux’un Slackware 3 3 sürümü, kullanıcıya X konfigürasyonu için iki program sunar Birincisi, yukarıda da belirtilen ve zayıf bir arabirimi olan xf86config, diğeri de XF86Setup İkincisini kullanmanız, her bakımdan avantaj olarak göze çarpıyor Program, bazı ayarlamaları kullanıcıya bırakmadan (örneğin çipsetin seçimi) kendisi hallediyor Burada yeralan soruları doğru bir şekilde cevapladıktan sonra X açmaya hazırsınız demektir![]() Aşağıda XF86Config dosya formatı hakkında biraz bilgi verilmiştir X Window’u kurduktan sonra kendi zevkiniz doğrultusunda bu dosya üzerinde değişiklik yapabilirsiniz Dosya, pek çok bölümden (section) oluşur ve her bölüm, Section “bölüm-ismi” ve Endsection kelimeleri arasında yer alır Ekran yazı tiplerinin ve kullanılacak renklerin patikasını belirleyen bölüm dosya altında şu şekilde görünecektir:Section “Files” RgbPath “/usr/X11R6/lib/X11/rgb” FontPath “/usr/X11R6/lib/X11/fonts/misc” FontPath “/usr/X11R6/lib/X11/fonts/75dpi” EndSection İstediğimiz kadar yazı tipi girişi yapabiliriz Üç tanım satırının arasına, örneğin X altında kullanacağımız Türkçe yazı tiplerini yerleştirelim![]() Section “Files” RgbPath “/usr/X11R6/lib/X11/rgb” FontPath “/usr/X11R6/lib/X11/fonts/misc” FontPath “/usr/X11R6/lib/X11/fonts/75dpi” FontPath “/usr/X11R6/lib/X11/fonts/turkce/75dpi” EndSection Klavye ve farenin tanımlandığı bölümler, “Keyboard” ve “Pointer” adı altındadır Açıklama satırlarının başında “#” karakteri yer alır örnek dosyanın yer aldığı makinede farenin kullandığı protokol, “MouseSystems” olup hemen her standart fare için bu protokol önerilir Diğer protokoller arasında Busmouse, Logitech, Microsoft, MMSeries, Mouseman, MouseSystems, PS2, MMHitTab/ vardır X açıldığı zaman herşey yolunda gitmesine rağmen farenin ikonu hareket etmiyor veya ekranda deli gibi oradan buraya koşuşturuyorsa farenin kullandığı protokolü değiştirin Bazı farelerin altındaki küçük anahtarın bulunduğu konumu değiştirmeniz de işe yarayabilir![]() Section “Keyboard” Protokol “Standart” Autorepeat 500 5 ServerNumLock Endsection Section “Pointer” Protokol “MouseSystems” Device “/dev/mouse” Emulate3buttons # iki tuslu microsoft farede 3 tusun,# iki tusla basilmasini saglamak icin ![]() ![]() ![]() ChordMiddle # 3 tuslu Logitech fareler icin EndSection Farenin kullandığı seri port /dev/mouse’dur Bu dosya, genellikle uygun olan bir seri arabirime (örneğin/dev/ttyS0) bağlıdır![]() XF86Config dosyasının en önemli bölümü monitörle ilgili bilgilerin yeraldığı kısımdır Bu bölümde monitörün yatay (Horizontal Sync), düşey frekansları (VertRefresh) ve frekans aralıklarıyla sürücü saat frekansı (dot-clock frequency) belirtilir Kullandığınız monitörle ilgili konfigürasyon sırasında girilen bilgiler bu bölümde yer alır![]() Section “Monitör” Identifier “CTX 5468 NI” HorizSync 30-38, 47-50 VertRefresh 50-90 # Modes : Name Dotclock horiz vert modeline “640x480” 25 640 664 760 800 480 491 ![]() ![]() ![]() ![]() ![]() ![]() EndSection “Identifier”, kullanılan monitörün tipini verir X bunu kullanmaz, istediğiniz herhangi bir kelimeyi yazabilirsiniz HorizSync, monitörün yatay frekansını kHz cinsinden belirtir VertRefresh ise monitörün tazeleme frekansı olup Hz cinsindendir Her iki değer, frekans aralığı veya tek sayı olarak verilebilir “Modeline” kelimesi ile başlayan satırda belirli bir çözünürlük için gerekli “Dotclock” (sürücü saat frekansı) ile yatay ve düşey tarama frekansları MHZ cinsinden yazılıdır Monitör bilgilerinin yer aldığı bölümden sonra ekran ve alt bölümü olan görüntü bölümü gelir![]() Section “Screen” ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Depth 8 Modes ViewPort 0 0 Virtual 1024 768 EndSubsection EndSection Driver kısmında kullanılacak olan X sunucusunun tipi (SVGA, hızlandırılmış, vb ) girilir S3, Wieitek, ATI gibi hızlandırılmış bir görüntü kartı kullanılıyorsa “Accel”, normal(generic) bir kart ve kaliteli bir monitör varsa “SVGA” ve siyah beyaz VGA bir monitörle birlikte tek renk (monochrome) destekleyen kart kullanılıyorsa “VGA2” yazılıdır![]() “Display” alt bölümünde, görüntü özellikleri yer alır “Depth” kelimesinin karşısında yer alan rakam, piksel başına kaç bitin, başka bir deyişle kaç rengin kullanılacağını belirtir Günümüz Xfree86 sunucuları genellikle 256 (8 bit), 65536 (16 Bit) ve 16 7 milyon (24 Bit) renge kadar çıkabilirler![]() “Modes” karşısında yer alan ekran çözünürlük listesi, Linux’un X altında, çalışırken görüntüleyebileceği çözünürlükleri belirtir “Virtual” karşısında yer alan x ve y sayıları sırayla ekranın genişliğini ve yüksekliğini belirtir “Virtual girdilerinin ardından verilen “ViewPort” parametresi de ekranın sol üst köşesinin hangi koordinatlara tekabül edeceğini tanımlar![]() 8 4 Cıkabilecek Sorunlar:X sunucusunu çalıştırdığınızda (startx) eğer bir şeyler yanlış gittiyse ve bir şekilde sunucunuz çalışmadıysa problem büyük ihtimalle konfigürasyon dosyanızdandır /etc/XF86Config dosyasını gözden geçirmeniz bir bakıma faydalı olabilir Monitör zaman ayarlamaları OFF ya da ekran kartınızın Clock ayarları yanlış olabilir Eğer "couldn't find any screens" ya da "none of the devices found" gibi hata mesajlarıyla karşılaştıysanız /etc/XF86Config dosyasında "Clock" satırı ile başlayan satırları comment ediniz (satırın basına # ko*****) ve bir de boyledeneyiniz ![]() Şayet görüntü sık sık kayıyor ya da köşeler dikenli gibi duruyorsa monitör zaman ayarlamaları ya da Clock yanlış ayarlanmış demektir Ayrıca doğru ekran kartını ve chipsetini seçtiğinizden, doğru X sunucusunu kullandığınızdan ve /usr/X11R6/bin/X dosyasının doğru sunucuya sembolik linkli olduğundan emin olunuz![]() Ornek: Linux:~# cd /usr/X11R6/bin/ Charisma:/usr/X11R6/bin# ls -al X lrwxrwxrwx 1 root root 9 May 31 17:59 X -> XF86_SVGA* Linux:/usr/X11R6/bin# Ekran kartım Cirrus Logic ve kullandığım sunucu XF86_SVGA, görüldüğü gibi X dosyası XF86_SVGA dosyasına sembolik olarak linklenmiş ![]() Eğer; /bin/ls: X: No such file or directory gibi bir hata mesajıyla karşılaşırsanız aşağıdaki komutları giriniz: Linux:~# cd /usr/X11R6/bin/ Linux:~# ln -fs XF86_SVGA X Sonra startx komutuyla sunucunuzu yeniden test ediniz ![]() Şayet herşeye rağmen tekrar çalışmıyorsa X sunucunuz; X > /tmp/x out 2>&1komutuyla sorunun ne olduğunu anlayabilirsiniz ![]() 8 6 X Window Komutları$ startx Ekranda X sunucusunun dosyadan okuduğu satırlar ile ilgili bilgileri sırayla göreceksiniz Ardından ekran kararacak ve X açılacaktır CTRL+ALT+Bspace tuşlarıyla X sunucusu öldürülüp başlanılan yere vt100 terminaline geri dönülür Ekran karadı fakat X açılmadıysa konfigürasyonda hatalar olabilir Örneğin çipset veya ekran kartı bilgileri yanlış girilmiş olabilir Görüntü kartı hafızası ekranı açmaya yetmeyebilir![]() X sunucusunu başlatmaya yarayan startx komutu, ev dizini içindeki xinitrc dosyasını arar Bulamazsa sistemde /usr/X11/lib/X11/xinit/ dizini içinde yer alan xinitrc dosyasını okur Bu dosyanın içine X açıldığı zaman başlayacak olan programları koyabilir, ekranın renk düzenlemesini yapabilirsiniz![]() 8 7 Fvwm Pencere YöneticisiFvwn, Linux için özel olarak geliştirilmiş bir wm‘dir Diğer wm’lere karşı belirli üstünlükleri olan fvwm’nin rahatça konfigüre edilebilir bir rc dosyası, renkli ikon desteği, “pager” ( birden fazla ekranı aynı anda kontrol etme yeteneği), farenin tuşlarına basıldığı zaman ekrana gelen “popup” menüleri ve Motif desteği vardır “Pager”, fvwm’i üstün kılan ve kullanıcının “olsa da kullansak” beklentilerine tam anlamıyla cevap veren bir özelliktir Ekranın bir köşesine yerleştirilen bir pencere ile farenin tuşlarına basarak istediğiniz başka bir ekrana geçmek mümkün olur Fvwm, çalıştığı zaman ev dizininde yer alan fvwmrc dosyasını okumaya çalışır, bu dosyayı bulamazsa sistemdeki örnek fvwmrc dosyasını açılış konfigürasyon dosyası olarak kabul eder![]() 9 LINUX AĞ YÖNETİMİ9 1 Linux ‘un Ağ Donanım DesteğiMakinenizi ağ üzerinde kullanabilmek için Linux altında geliştirilen bir teknolojiye ve bu teknolojiyi sağlayan protokol desteğine ihtiyaç vardır Örneğin ağa ethernet kartı ile bağlanılacaksa bir ethernet sürücü ve TCP/IP desteğine, modem ile bağlanılacaksa SLIP/PPP desteği ve seri bağlantı için gerekebilecek bir yazılıma gereksinim duyulur![]() Başlangıç için bulunulan ağ ile ilgili bilgiler ve paket yazılımlar elde edilmelidir Ağ yapılandırmasına geçmeden önce aşağıdaki bileşenler alınmalı ve bilgisayara yüklenmelidir![]() Yeni Bir Çekirdek Kaynak Kodu: Kullanılan çekirdek çok küçük bir ihtimalle de olsa kullanması planlanan ağ tipi veya kartı için destek içermiyor olabilir![]() Ağ Araçları: Bunlar yan cihazları kontrol eden programlardır Örneğin route komutu yardımıyla yönlendirme yapılabilir, netstat ile ağ istatistiği çıkartılabilir![]() Bütün ağ araçları Net-Tools paketinin içinde yer alır Bu paketi sisteme kurmak için en yakındaki bir sunsite yansısında yer alan /system/network/sunacm/NetTools dizininde yer alan Net-Tools programını almak ve derlemek gerekir![]() Ağ Uygulama Programları: Telnet ve FTP programları Net-Tools paketi ile gelmezler Bu gibi ek yazılımlar NetKit paketi yardımıyla elde edilebilir![]() Adresler: Yerel ağa bağlanılmışsa aşağıda ki bilgiler gereklidir![]() Kurulan makinenin IP adresi ve adı Yerel alan ağı adresi IP broadcast (yayın) numarası Ağ maskesi Geçit (gateway) adresi DNS adresi Eğer internet ‘e bağlanmayacaksanız kendiniz adres tanımlayabilir veya bu iş için ayrılmış özel adres bloklarından yararlanabilirsiniz Bu da ileride internet bağlantısı yapılırken büyük kolaylık sağlayacaktır Eğer kendiniz ağınızı kuracaksınız ve internet‘ e bağlanmayacaksanız özel adres blokları içinden bir adres seçmek zorunda değilsiniz Bu adres blokları standartlaşma sağlamak amacıyla belirlenmiştir İnternet ‘teki RFC1597 belgesine göre bu özel adres blokları aşağıda görüldüğü şekilde tanımlanmıştır![]() Sınıf Ağ Maskesi Ağ Adresi A 255 0 0 0 10 0 0 0 - 10 255 255 255B 255 255 0 0 172 16 0 0 - 172 31 255 255C 255 255 255 0 192 168 0 0 - 192 168 255 2559 2 Linux ‘a Ağ Desteği VerilmesiLinux ‘un en büyük avantajlarından birisi de kurulumdan sonra internet ‘e bağlanmaya hazır bir hale gelmesidir Ek olarak kurulum yapıldıktan sonra büyük çoğunlukla yeniden ayarlanmaya ya da paket kurmaya gerek kalmaz Çekirdek içinde ağ kartlarına ait sürücüleri (aygıt sürücüleri) ve kullanılabilecek protokollerin destekleri bulunmalıdır Bu iki temel yapıdan yoksun olan bir çekirdek ile ağ hizmeti vermek veya servis almak mümkün değildir Ancak çekirdek derlenmesi son zamanlarda çıkan dağıtımlarda gereksiz hale gelmiş, sistemin modüler yapısıyla birlikte tüm destek sistemleri bir istek geldiği zaman otomatik olarak çekirdeğe bağlanır bir yapıya kavuşmuştur![]() PPP, seri hat üzerinden IP bağlantısı kurarak veri iletişimini sağlayan bir protokoldür Linux ile PPP bağlantısı yardımıyla ister uzaktaki bir makineye erişebilir, isterseniz PPP sunucu kurabilir ve evindeki kullanıcılara PPP hizmeti verebilirsiniz Tüm internet servis sağlayıcıları PPP bağlantıyı destekler Pek azı SLIP de destekleyebilir PPP desteği de modülerdir ve çekirdeğin derlenmesine gerek kalmaz![]() 9 3 Linux Ağ YapılandırılmasıBazı UNIX sistemlerde ağ aygıtlarına erişmek için düğümler tanımlanmıştır ve diğer düğümler gibi /dev dizini altında bulunurlar Ancak Linux ‘da ağ arayüzleri çekirdek içinde dinamik olarak desteklenir ve özel bir düğüme ihtiyaç duymazlar![]() Ağ aygıtları aygıt sürücüleri tarafından yapılandırılır ve birinci ethernet kartı eth0, ikincisi eth1, ![]() ![]() adını alır Bir ağ yapılandırmasını tanımlarken ağ aygıtına belirli bir IP adresi, ağ maskesi ve benzeri parametreler verilir Bunu için ifconfig (interface configure) komutu kullanılır Yani inconfig komutu, ağ bağlantısı yapan kartın belirli parametreler ile konfigürasyonunu sağlar Bu komut, sadece ethernet kartını yapılandırır Örnek olarak 192 168 99 10 IP ‘sine sahip ve internet ‘ten bağımsız bir C sınıfı ağa bağlanması düşünülen makine için loopback ifconfig satırı şu şekilde yazılır![]() # /sbin/ifconfig lo 127 0 0 1# /sbin/ifconfig eth0 192 168 99 10 netmask 255 255 255 0Yukarıda temel olarak makinenin kendi ağ aygıtı (loopback device) ve ethernet kartı tanımlanmıştır İfconfig komutunun tek başına kullanılması halinde Linux ‘a tanıtılan ağ aygıtlarının bir listesi alınabilir![]() $ /sbin/ifconfig lo Link encap:local Loopback inet addr: 127 0 0 1 Bcast: 127 255 255 255 Mask:255 0 0 0UPBROADCAST LOOPBACK RUNNİNG MTU:3584 Metric:1 RX packets:493 errors :0 dropped:0 overruns:0 TX packets:493 errors :0 dropped:0 overruns:0 eth0 Link encap: 10Mbps Ethernet Hwaddr 48:54:33:00:e8:3a inet addr: 192 168 99 10 Bcast: 192 168 99 10 Mask:255 0 0 0UP BROADCAST RUNNİNG MTU:1500 Metric:1 RX packets:71956 errors :0 dropped:0 overruns:0 TX packets:13212 errors :3 dropped:0 overruns:0 İnterrupt : 3 Base address : 0x300 Bu makine üzerinde tek ethernet kartı olup, inconfig bilgisinde ikinci sırada yeralıyor Kartla ilgilidetaylı bilgi ( her karta özgü donanım numarası, alınan ve verilen paket sayısı gibi) inconfig çıktısında vardır![]() İfconfig komutunun sonuna down parametresi getirilirse söz konusu ağ aygıtı işlev dışı kalır, down parametresi verilen bir ağ aygıtı up ile tekrar açılırsa normal çalışmasına devam eder ![]() # ifconfig eth0 down ethernet bağlantısını yeniden açmak için # ifconfig eth0 up Yönlendirme ayarlarının yapılmasından sonra ağın çalışması kontrol edilebilir Her paket gönderileceği adrese gitmeden önce bir tabloya bakar Bu tablo, paketin gideceği adresi barındırır Tabloyu oluşturmak için route komutundan yararlanılır Eğer ethernet kartını ifconfig ile ayarladıktan sonra route komutu çıktısında192 168 99 0 255 255 255 0 U 0 0 143 eth0gibi bir satır görülmüyorsa, elinizde çok eski bir sürüm Linux vardır Bu durumda# route add -net 192 168 99 0 netmask 255 255 255 0komutu yardımıyla ethernet kartının ağı görmesi sağlanmalıdır ![]() 9 3 1 İfconfig BilgileriRX ve TX packets karşısında yer alan sayılar sırasıyla ne kadar paketin alındığını (received) ve kaç paketin gönderildiğini (transmitted), bu paketler alınırken kaç hata yapıldığını, kaç paketin silindiğini (örneğin donanım yetersizliğinden), kaç “overrun” olduğunu belirtir Overrun genellikle düşük hızlı makinelerde görülür ve ağ üzerinde gidip gelen paketlerin yetersiz hız nedeniyle çekirdek tarafından yakalanamaması durumunda oluşur![]() Up ve down: Up bir ethernet kartını etkin hale getirirken, down ise kartı düşürür ![]() Netmask maske: Ağ maskesini ayarlamak için kullanılır Eğer ağ maskesi girilmezse Linux o IP ‘e uygun bir tanım yapmaya çalışır![]() Broadcast adres: İfconfig ile ethernet kartı tanımı yaparken eskiden yayın (broadcast) adresini de girmek gerekiyordu Şimdiki ifconfig programı broadcast’ten sonra vereceğiniz IP numarasını kendi kendine buluyor![]() Mtu bayt: MTU (Maximum Transfer Unit), bir defada aktarılacak olan paketin en büyük boyutunu verir ![]() 9 3 2 Ağın Çalışmasını GözlemlemekÇekirdeğin yönlendirme tablosunu göstermek route komutundan yararlanılır örneğin ağa bağlı olmayan, ayrıca ethernet kartı da etkin durumda bulunmayan bir makine için aşağıdakine benzer bir çıktı alınabilir![]() Route komutunun genel kullanımı şu şekildedir: route [add | del] [ -net | -host] varis_adresi [gw yonlendirici] secenekler ![]() ![]() ![]() ![]() Host: Paketin gideceği yer başka bir makine Net: Paketin gideceği yer başka bir ağ Varış_adresi: Paketin gideceği yer Yönlendirici: Bu paketin gidebilmesi için geçmesi gereken yönlendirici Add: Tabloya ekle Del: Tablodan sil Tablonun genel durumunu kontrol etmek için route komutuna parametre vermeden komut satırından yazdık ![]() $ /sbin/route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 127 0 0 0 * 255 0 0 0 U 0 0 1 loDestination: Paketin varacağı adres Gateway: Bu adrese varmak için paketin hangi noktaya yollanması gerektiği Genmask: Kullanılan ağ maskesi İface: Paketin kullanacağı arayüz (yukarıdaki örnekte lo) Ağa bağlı bir makinede route komutunu çalıştıracak olursak aşağıdakine benzer bir sonuç alırız Burada ek olarak 192 168 99 ağı üzerinde kullandığımız ethernet kartına ait yönlendirme (routing) bilgileri de verilmiştir![]() $ /sbin/route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192 168 99 0 * 255 255 255 0 U 0 0 143 eth0127 0 0 0 * 255 0 0 0 U 0 0 1 lodefault router71 ceng m 0 0 0 0 UG 1 0 204 eth0Örnek tabloda üç ayrı yönlendirme girişi vardır Birincisi, makinanın kendisi ile haberleşmesini sağlayacak olan loopback İkinci satırda, yerel ağa gidecek olan tüm paketlerin yönlendiriciye verilmeden ağa yönlendirilmesi Son sırada ise (default) paket ilk iki satırda yer alan varış adresinden farklı bir adrese gidecekse, önce yönlendiriciden geçip sonra dış dünyaya açılacağından yönlendiricinin IP adresi yazılmıştır![]() $ ping localhost PING localhost (127 0 0 1) : 56 data bytes64 bytes from 127 0 0 1 : icmp_seq = 0 ttl = 64 time = 0 1 ms64 bytes from 127 0 0 1 : icmp_seq = 1 ttl = 64 time = 0 1 ms64 bytes from 127 0 0 1 : icmp_seq = 2 ttl = 64 time = 0 1 ms--- localhost ping statistics --- packets transmitted, 3 packets received, 0% packet loss round - trip min/avg/max = 0 1/0 1/0 1 msPing ile makineye belirli uzunlukta üretilen paketleri göndermek ve bu paketlerin geriye gelmesiyle aradaki gecikme farkını ölçmek mümkündür Bu örnekte paketler makinenin kendisine yollanıyor ve ethernet kartı kullanılmıyor Paketlerin her birisinin boyu 64 bayttır Paketin gönderilmesiyle alınması arasında geçen süre 0 1 milisaniyedir 3 paket yollanmış 3 paket ise geri alınmıştır ve paket kaybı yüzde sıfırdır Paketlerin ortalama gidiş-dönüş süresi 0 1 milisaniyedir![]() Herhangi bir makineyi kontrol etmek için; $ ping 192 168 99 13 yazılabilir![]() Ping komutunun parametreleri: - c sayı : sayı kadar paketi gönderdikten sonra işlem kesilir ping -c 10 192 168 1 1-f (Flood ping) : Mümkün olan en yüksek hızda veya her saniyede 100 paket yollanacak şekilde işlem yapılır ![]() -q : Sessiz çalışır Alınan ve verilen hiçbir paket ekranda gösterilmez, sadece istatistiki bilgiler verir![]() -s paket_boyu : paket boyunu düzenlememizi sağlar ![]() Ağın çalışmasını gözlemlemek amacıyla kullanabileceğimiz bir başka komut da netstat ‘dır O anki mevcut bağlantıların tamamını, TCP/IP oturumlarını, TCP, UDP ve IP protokollerinin kullanım istatistiklerini ekranda göstererek bilgi verir![]() 9 4 Alan Adı Sunucusunun TanımlanmasıTCP/IP, sembolik makine adlarını IP adreslerine dönüştürürken /etc/hosts dosyasından faydalanır Örneğin hedef makinenin adı darkstar olsun Bu makineye erişmek için Linux önce /etc/hosts dosyasına bakar ve oradaki satırlarda ‘darkstar’ kelimesini eşleştirebildiği IP numaralarını arar Zira bir makineye ulaşmak için makine adına değil, IP numarasına ihtiyacımız vardır İnternet bağlantılarında mutlaka DNS (Berkeley Internet Domaaın Name Service) kullanılmalıdır DNS, IP adreslerinin tanınmasına ve makine adlarıyla eşlenmesine yardımcı olur Internete bağlanırken DNS adresini ya bağlandığınız servis sağlayıcıdan, ya da sistem yöneticiden öğrenmek gereklidir![]() 9 4 1 Alan Adı Sunucusunun Aranması/etc/resolv conf dosyasında adres çözümleyicinin hangi alan adı sunucusuna bağlanması gerektiği yazılıdır En az bir alan adı sunucusunun IP numarasının bu dosya içinde yazılması zorunluluğu vardır![]() $ cat /etc/resolv confdomain gelecek com trnameserver 192 168 91 2nameserver 144 122 199 20search gelecek com tr gen trYukarıdaki resolv conf dosyası internet üzerinde DNS sunucusu olan bir makine için yeterli bilgilere sahiptir Domain seçeneği alan adını verir Nameserver ise sistemin alan adı sunucusunun IP adresini içerir![]() 9 5 Diğer Yapılandırma DosyalarıTCP/IP uygulamalarında pek çok yapılandırma dosyası hizmet verir Bunların da tamamı /etc dizini altında yer alır Bu dosyalar herhangi bir editör yardımıyla değiştirilebildiği gibi açıklama satırları da satır başına # karakteri konularak yaratılabilir![]() 9 5 1 Kontrol Dosyaları - Makine Adları ve IP Karşılıkları ( /etc/hosts)Konfigürasyonu tamamlamak için /etc dizini altında yer alan bazı dosyaların elden geçirilmesi gerekir Bu dosyalar sistemin daha güvenli ve verimli çalışmasına yardım eder Bu dosyaların belli başlı olanları ve ne işe yaradıklarını görelim![]() /etc/hosts dosyasında makinelerin IP numaraları ve internet adresleri yazılır Buraya sürekli kullanılan belli başlı önemli makinelerin girişi yapılabilir Her makinenin uzun isimleri yerine kısa bir kelime yazılarak söz konusu makineye ulaşılabilir Örnek bir etc/hosts dosyası :127 0 0 1 localhost144 122 199 20 knidos cc metu edu tr knidosİlk satırda loopback IP numarası ve buna karşılık gelen makine ismi vardır Bu satırı silmemelisiniz İkinci satırda ise knidos cc metu edu tr makinesinin IP numarası 144 122 199 20 olarak belirtilmiş ve bu bilgisayara “knidos” ismi ile de ulaşılabilmesi sağlanmıştır /etc/hosts allow ve /etc/hosts deny konfigürasyon dosyaları, başka bir makineden Linux ‘unuza yapılan bağlantıları denetler /etc/hosts deny içine, sınırlandırma getirmek istediğiniz internet servislerini ve hangi makinalar için sınırlandırma istediğinizi yazabilirsiniz![]() $ cat /etc/hosts deny# in fingerd: ALL except localhost, localhost:\echo “request from %d@%h” >> /tmp/req; in telnetd : net trYukarıdaki hosts deny dosyasında dışarıdan gelebilecek finger istekleri filtreleniyor ve bu istekler hakkında detaylı bilgi (hangi kullanıcı, hangi makineden) /tmp/req dosyasına ekleniyor Sonraki satır in telnetd yazılımını çalıştıran isteklerin * net tr adreslerinden gelmesi halinde bunların gözardı edileceğini belirtir hosts allow dosyasında, genellikle hosts deny dosyasına gruplanan makine isimlerinin sınırlandırma istenmeyen bir veya birkaç tanesi yazılır Eğer bir makine ismi ve karşılık gelen internet adresi her iki dosyada da varsa, sözkonusu servise izin verilir![]() /etc/resolv conf dosyasında alan adı ve alan adı sunucusunun IP numarası yazılır![]() $ cat /etc/resolv confdomain linux org trnameserver 144 122 199 20Yukarıdaki satırlardan üzerinde bulunduğum makinenın alan adının (domain name) linux org tr, alan adı sunucusunun ise 144 122 199 20 IP numaralı knidos makinesi olduğu anlaşılıyor![]() 9 5 2 Ağ İsimleri ( /etc/networks)Ağ isimlerinin de bir ya da daha fazla takma adı bulunabilir Ancak bu amaç için kullanılan /etc/networks dosyasına erişim o denli sık olmaz![]() 9 5 3 Ağ Protokolleri ( /etc/protocols)Bu dosya bir tablo halinde protokolün adını ve karşılık gelen protokol numarasını tutar Az kullanılır![]() 9 5 4 Ağ servisleri ( /etc/services)Bu dosya bir servis protokol adı ile port numarası arasında eşleme yapar ![]() Örnek bir /etc/services dosyası aşağıdaki gibidir ![]() Systat 11/tcp users Daytime 13/tcp Daytime 13/udp Daytime 13/udp ------ ftp-data 20/tcp ftp 21/tcp telnet 23/tcp smtp 25/tcp mail ------ Eğer bir servisi ait olduğu port yerine başka bir porttan vermek isterseniz /etc/services dosyasında gerekli değişiklikleri yapmak gereklidir Örnek olarak telnet servisini 23 numaralı port yerine 10000 porttan sağlamak için, /etc/services dosyasında yer alan telnet 23/tcp satırını telnet 1000/tcp olarak değiştirmeliyiz Hemen belirtelim, uzaktan erişim imkanı sağlayan telnet programı sadece linux ’ta yok Windows 9X, NT ve 2000 ile de geliyor![]() 9 5 5 Ftp Kullanıcıları ( /etc/ftpusesrs )Bu dosya, FTP protokolü ile sisteme giren kullanıcıların sınırlandırılmasına yarar Ftpd tarafından sisteme bir FTP isteği geldiği zaman bu dosya okunur ve eğer FTP isteği yapan kullanıcının adı dosyanın içinde yer alıyorsa FTP oturumu kapatılır Şu şekildedir![]() # /etc/ftpusers - users not allowed to login via ftp # ftp ile sisteme giremeyen kullanıcıların listesi root uucp bin Yukarıdaki dosya uzaktan root, uucp, bin ve mail kullanıcılarının makineye ftp ile bağlanamayacaklarını gösterir ![]() 9 5 6 Güvenlik Dosyaları ( /etc/securetty, hosts allow ve hosts deny)Sisteme root kullanıcı tarafından telnet protokolü ile girilme isteği halinde /etc/securetty dosyası okunur Bu dosya içindeki yer alan tty ‘lardan sisteme girme isteği kabul edilir Host deny ve host allow dosyaları tcpd programının konfigürasyondosyalarıdır Tcpd programı, inetd tarafından /etc/inetd conf dosyasında tanımlanan FTP, telnet, gopher gibi servislere cevap vermek amacıyla çağırılır![]() 9 6 YönlendirmeDaha önce de belirtildiği gibi birden fazla ağa fiziksel bağlantısı bulunan ve ağlar arası bilgi paketlerinin geçişine olanak tanıyan araçlara yönlendirici (router) adı verilir İki ayrı ağda yer alan makinelerin haberleşmesine imkan tanıyan yönlendiriciler, kendilerine gönderilen paketleri bir ağdan diğerine iletilirler Herhangi bir ağ içerisinde yer alan makineler aynı IP ağ içerisinde bulunan makinelerle (ağ konfigürasyonları doğru olduğu sürece) haberleşebilirler Başka adreslere ulaşabilmek için bulunulan ağ dışındaki ağlarla bağlantısı olan ve o ağ üzerinde bulunan bir makine ile haberleşmeleri gereklidir Bu makine bilgisayar tanımlarında gateway ( yönlendirici, arabirim, arayol ) olarak verilir Minimum yönlendirme, bir ağa bağlı olmayan makinelerde, ifconfig yardımıyla yapılan yönlendirmedir En çok kullanılan statik yönlendirme çeşidinde, az sayıda arayol ile dışarıya bağlı olan bir makinede, route komutuyla yapılır Aynı adrese ulaşan birden fazla arayol olması durumunda ise, kendi yönlendirme tablosunu ağın durumuna göre değiştirebilen dinamik yönlendirmeye başvurulabilirLinux ‘un yönlendirici olarak kullanılmasına bir örnek verilebilir Elimizde var olduğunu bildiğimiziki ağ olsun Bu ağlardan birincisini, 144 122 71 0 ağı, diğerini de 144 122 1 0 ağı olarak kabul edelim 144 122 71 0 ağının internet ‘e bağlanabilmesi için 144 122 1 0 ağına ulaşması gereklidir Yönlendirici olarak kullanılacak makineyi 71 0 ağında kurup gerekli gerekli yönlendirme talimatları verildiği anda bu ağa bağlı olan diğer makinelerde internet ‘e açılabileceklerdir Örnek olarak 144 122 71 0 ağı üzerindeki bir makine için ifconfig satırı;İfconfig eth0 144 122 71 1 broadcast 144 122 71 255 netmask 255 255 255 0olarak görülür Bu makinenin yönlendirici olarak görev yapabilmesi için route komutu kullanılır Bu sayede bu bilgisayar, diğerlerine ulaşacaktır![]() Route add - net 144 122 71 0 netmask 255 255 255 0 dev eth0Bu, 144 122 71 0 ağında olan makinelerin eth0 kartı üzerinden erişilebileceğini gösterir Diğer adreslere erişebilmek için ise bir çıkışa (gateway) ihtiyaç duyulmaktadır![]() Route add default gw 144 122 71 1 dev eth0Bu satır sayesinde eldeki tablo yardımıyla çözümlenemeyen adreslere gitmesi gereken tüm paketler 144 122 71 1 üzerinden gönderilmektedir Bu durumda bu makinenin paketleri nereye göndereceğini bildiği varsayılmaktadır![]() Bu makine içinde iki adet ethernet bağlantısı bulunmaktadır Bunlardan biri yönlendiriciyi 144 122 71 0 ağına bağlarken diğeri 144 122 1 0 ağına bağlamaktadır İlk olarak bu iki kart için gereken tanımlamalar /etc/rc d/rc inet1 içerisinde aşağıdakine benzer şekilde tanımlanmıştır![]() İfconfig eth0 144 122 71 1 broadcast 144 122 71 255 netmask 255 255 255 0İfconfig eth1 144 122 1 200 broadcast 144 122 71 255 netmask 255 255 255 0Birinci ethernet kartı için eth0, ikinci ethernet kartı için de kısaltmaları kullanılabilir Doğal olarak her iki ağ için bir ‘route’ satırı gerekmekte:route add - net 144 122 71 0 netmask 255 255 255 0 dev eth0route add - net 144 122 71 0 netmask 255 255 255 0 dev eth0Bu sayede diğer makinelerden farklı olarak yönlendirici hem 144 122 1 0 ağı, hem de 144 122 71 0 ağı üzerindeki adreslere direk ulaşabilmektedir![]() Ağa bağlanmak amacıyla birden fazla kart kullanıyorsanız, arp komutunu incelemek gereklidir Bu komut pek çok opsiyon alır ve sistem yöneticisinin Linux üzerindeki ağı kontrolünü kolaylaştırır![]() # arp -a IP address HW type HW address 191 72 1 3 10Mbps Ethernet 00:00:C0:5A:42:C1191 72 1 2 10Mbps Ethernet 00:00:C0:90:B3:42191 72 2 4 10Mbps Ethernet 00:00:C0:04:69:AA9 6 1 Birden Fazla Ethernet Kartının TanıtılmasıYukarıda örneğini verdiğimiz Linux yönlendirici üzerinde iki ethernet kartı bulunuyor Bu sayede Linux makinesi iki ethernet ağı arasında bir yönlendirici olarak kullanılabilmektedir Bir Linux ‘a birden fazla ethernet kartı takmak mümkündür Bu kartları takarken aşağıdaki maddelere dikkat etmek gerekir: Çekirdek içerisinde her iki kart için destek bulunmalıdır![]() Ethernet kartları sistemdeki diğer IO ve IRQ ayarlarına çakışmayacak şekilde ve farklı değerlerde olmalıdır![]() Birden fazla ethernet kartı (ya da herhangi iki veya daha fazla PPP, SLIP gibi ağ bağlantısı) olan makine bir yönlendirici olarak kullanılacaksa, çekirdek IP FORWARDING desteğiyle derlenmelidir Linux açılırken çekirdek tanıdığı donanımları teker teker ara***** bulmaya çalışır (probing) Birden fazla ethernet kartı kullanımına sık rastlanmadığından Linux ilk ethernet kartını bulduktan sonra ikinci ve daha fazla ethernet kartı aramadığında iki kartınız bile olsa sadece birini görecektir Çekirdeğe ethernet kartı ile ilgili parametreler vererek birden fazla ethernet kartının açılışta bulunması sağlanabilir LILO kullanıldığı zaman /etc/lilo conf içinde append=”ether=0,0,eth1” olmalıdır![]() Yukarıda ki parametre ile çekirdek ikinci ethernet kartını da arayacaktır Aynı şekilde arka arkaya ether=![]() ![]() ![]() ![]() ![]() parametreleri vererek varsa üçüncü veya daha fazla kartın aratılması da mümkündür Ethernet kartlarınızın adreslerini biliyorsanız, kartların yanlış sırayla bulunması tehlikesini de önlemek için,Append=”ether=5,0x340,eth0 ether=15,0x300,eth1” gibi bir satır eklenmesi yeterli olacaktır ![]() Sistem açıldıktan sonra gerçekten istenen kartların istenen adreste çalıştığına emin olmak için /var/adm/messages dosyasına bakabilirsiniz, ya da dmesg komutuyla çekirdek mesajlarını görebilirsiniz ![]() 10 Desteklenen ProtokollerLinux ’un protokol desteği diğer işletim sistemlerine nazaran daha çok gelişmiştir Bu da Linux ‘u ağ ortamında rakipsiz kılan özelliklerden birisidir Linux diğer tüm işletim sistemleriyle uyum içinde çalışabilir ve aynı ağ üzerinde kaynak paylaşımı yapabilir![]() 10 1 TCP/IPTCP/IP desteği tüm dağıtımlar ile hazır gelir, zira Internet ‘e bağlanın ya da bağlanmayın, makinenin kendisini tanıyabilmesi için bu protokole ihtiyacı vardır ve X Window gibi bazı uygulamalar TCP/IP desteği talep ederler TCP/IP desteği İnternet ve pek çok yerel Intranet ’ler üzerinde kullanılır![]() 10 2 IPX ve Novell DesteğiNCP (NetWare Core Protocol), IPX üzerinde yer alan ve Novell NetWare istemcilerinin sunucularla konuşmasını sağlayan protokole verilen isimdir Bu seçenek ile, NetWare dosya sunucularına diğer UNIX makinelerde ki gibi bağlanmak olasıdır![]() NetWare dosya sistemlerine erişebilmek için özel bir mount programı (ncpmount/ncpumount) kullanılması gerekecektir Bu ve diğer gerekli programlar, en yakın sunsite arşivindeki /system/filesystem/ncpfs dizininden indirilebilir Novell NetWare dosya ya da yazıcı sunucularına erişmek istiyorsanız IPX protokol desteğinin çekirdekte bulunması gerekiyor, modem dağıtımların tümünde bu destek vardır![]() Çekirdeğe eklenen IPX desteğinin yanı sıra sunsite arşivindeki /system/filesystem/ncpfs/ipx tgz paketinde yer alan uygulama yazılımları ile ağ aygıtlarının IPX desteği almasını ve sistemin bir IPX yönlendirici gibi çalışması sağlanabilir Böylece tıpkı bir IP yönlendirici gibi IPX paketlerinin de iki IPX ağı arasında yönlendirilmesi mümkün olur Linux aynı zamanda IP temelli bir ağda IPX paketlerini tünelleme metodu ile bir noktadan başka bir noktaya aktarılabilir![]() 10 3 Samba (Netbeuı ve Netbios Desteği)SMB, Windows 3 1, NT ve Windows 95 tarafından kullanılan, disk ve yazıcı paylaşımına olanak veren bir protokoldür Linux, Samba desteği ile bu işletim sistemleri veya kendi üzerinde bulunan disk ve yazıcıların tüm makineler tarafından paylaşılmasını sağlar Andrew Tridgel tarafından geliştirilen Samba programı ve yardımcı programlar kullanarak, UNIX (Linux da dahil) makinelerde disk ve yazıcılarını Windows makineleri ile paylaşabilir Samba ile yapılabilecek dört şey vardır:1 Linux dizin ve sürücülerini Windows makineleri ile paylaştırmak![]() 2 Windows dizin ve sürücülerini Linux makineleri ile paylaştırmak![]() 3 Linux yazıcılarını Windows makineleri ile paylaştırmak![]() 4 Windows yazıcılarını Linux makineleri ile paylaştırmak![]() 10 3 1 KurulumSamba paketini kurmak çok kolaydır Basitçe, belirtilen adreslerden kaynağı edinin, ve içerisindeki README dosyasını okuyun Basamak basamak SMB yi kuracağınızı açıklayan docs/INSTALL txt dosyası da mevcuttur Paketi derledikten sonra daemonları /usr/sbin dizinine ve derlenmiş dosyaları /usr/bin dizinine kopyalayın man sayfalarını da /usr/local/man dizinine kopyalamayı unutmayın![]() Samba paketini derlerken, yapılandırma dosyası olan smb conf dosyasının yerini Makefile da belirtmeniz gerekmektedir Bunun yeri genellikle /etc dizinidir, fakat istediğiniz yeri de belirtebilirsiniz Burada sizin smb conf dosyasının yerini /etc/smb conf log dosyasının yerini /var/log/samba-log %m ve lock dosyasının yerini ise /var/lock/samba olarak belirlediğinizi tahmin ediyoruz smb conf yapılandırma dosyasını kurunuz Samba ‘nın kurulduğu dizine gidiniz examples/simple altdizinine bakınız ve README dosyasını okuyunuz Bu dizinde bulunan smb conf dosyasını /etc dizinine kopyalayınız DİKKAT, Eğer Linux dağıtımlarından birisini kullanıyorsanız Samba halihazırda kurulu olabilir ve /etc dizininde de yapılandırma dosyasına sahip olabilirsiniz Bunlara göz atmadan başka bir iş yapmayınız Eğer yapılandırma dosyanız yok ise, herhangi bir yere koyunuz ve bu dosyaya /etc dizininde aşağıdaki gibi sembolik bağlantı yapınızln -s /smb conf/dosyasına/dizin /etc/smb conf10 3 2 Daemonun Çalıştırılmasıİki SMB daemonu /usr/sbin/smbd ve /usr/sbin/nmbd dir Samba daemonlarını inetd den veya kendi başına süreçler olarak çalıştırabilirsiniz Eğer kalıcı bir dosya sunucusu (file server) yapılandırıyorsanız, inetd den çalıştırmalısınız ki, öldüğünde tekrar başlasın Eğer geçici olarak çalıştırmak istiyorsanız /etc/rc d/init d den çalıştırabilirsiniz, hatta isteğe bağlı olarak komut satırından da çalıştırabilirsiniz inetd den daemonu çalıştırmak istiyorsanız, aşağıdaki paragrafı /etc/rc d/inet d ye yazınız:# SAMBA NetBIOS servisleri (PC ler için dosya ve yazıcı paylaşımı) netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd Ve aşağıdaki komutu çalıştırarak inetd yi tekrar çalıştırın kill -HUP 1 Daemonu sistem başlangıç betiğinden çalıştırmak istiyorsanız aşağıdaki betiği /etc/rc d/init d/smb dosyası olarak kaydediniz ve yorum satırlarındakilere sembolik bağlantı kurunuz![]() #!/bin/sh # # /etc/rc d/init d/smb - SMB hizmetlerini başlatır ve durdurur![]() # # Aşağıdaki dosyalar bu dosya ile sembolik olarak ilişkilendirilmelidir : # symlinks: /etc/rc d/rc1 d/K35smb (SMB hizmetlerini kapanışta öldürür)# /etc/rc d/rc3 d/S91smb (SMB hizmetlerini çok kullanıcılı ortamda# başlatır) # /etc/rc d/rc6 d/K35smb (SMB hizmetlerini tekrar açılışta öldürür)# # Kaynak fonksiyon kütüphanesi ![]() /etc/rc d/init d/functions# Kaynak ağ ortamını yapılandırma ![]() /etc/sysconfig/network# Ağın çalışıp çalışmadığını kontrol ![]() [ ${NETWORKING} = "no" ] && exit 0 # Bizim nasıl çağrıldığımıza bak ![]() case "$1" in start) echo -n " SMB Hizmetleri başlatılıyor: " daemon smbd -D daemon nmbd -D echo touch /var/lock/subsys/smb ;; stop) echo -n "SMB hizmetleri durduruluyor: " killproc smbd killproc nmbd rm -f /var/lock/subsys/smb echo "" ;; *) echo "Kullanım: smb {start|stop}" exit 1 esac 10 3 3 Genel Yapılandırma (/etc/smb conf)Linux ta Samba ‘nın yapılandırılması /etc/smb conf adlı dosya ile yapılmaktadır Bu dosya sizin hangi kaynakları dış dünya ile paylaşacağınızı ve hangi kısıtlamaları koyacağınızı belirler Aşağıdaki paragraflar linux kaynaklarını Windows makineleri ile nasıl paylaştırılacağını açıkladığından, buradaki smb conf dosyası mümkün olduğu kadar basit tutulmaya çalışılmıştır Dosyadaki her bir bölüm bir başlıkla başlar; örneğin global (tümü), homes (ev dizinleri), printers (yazıcılar) gibi Homes bölümü, uzaktaki kullanıcıların sadece linux makinedeki ev dizinlerine ulaşmasına izin verir Eğer, Windows kullanıcısı Windows makineden buradaki paylaşıma bağlanmaya çalışırsa, bu kullanıcı linux makinedeki ev dizinine bağlanır Bunun yapılabilmesi için bu kullanıcıların linux makinede kullanıcı hakkı olması gerektiğini unutmayın![]() Aşağıdaki örnek smb conf dosyası uzaktaki kullanıcıların, yerel makinedeki ev dizinlerineulaşmaya ve temporary dizinine yazmaya izin verir Windows kullanıcısının bu paylaşımıgörebilmesi için, linux makinesi yerel ağda bulunmak zorundadır Kullanıcı, File Managerveya Windows Explorer kullanarak bu dizine rahatlıkla ulaşır ![]() ; /etc/smb conf; ; Bu dosyada değişiklik yaptıktan sonra hizmetçiyi tekrar başlatmayı unutmayın, ; örneğin: ; /etc/rc d/init d/smb stop; /etc/rc d/init d/smb start[global] ; Eğer guest (misafir) kullanıcı istiyorsanız yorumu kaldırınız (";" işaretlerini) ; guest account = nobody log file = /var/log/samba-log %mlock directory = /var/lock/samba share modes = yes [homes] comment = Ev dizinleri browseable = no read only = no create mode = 0750 [tmp] comment = Geçici dosya alanı path = /tmp read only = no public = yes 10 3 4 Linux Kaynaklarını Windows Makineler ile PaylaşmakYukarıdaki basit smb conf dosyasında olduğu gibi, linux kaynaklarını Windows kullanıcıları ile paylaşmak oldukça kolaydır Her şeyi Samba ile kontrol edebilirsiniz İşte size bazı örnekler: Bir dizini herkese açık olarak paylaştırmak istiyorsanız, yukarıdaki smb conf dosyasına aşağıdaki gibi bir bölüm ekleyiniz![]() [public] comment = Herkese Açık path = /home/public public = yes writable = yes printable = yes Not: /home dizininde public altdizinini açmayı unutmayın ![]() Yukarıdaki dizini herkes için sadece okunabilir fakat staff grubuna ait kullanıcılar için yazılabilir hale getirmek için aşağıdaki değişikliği yapmalısınız ![]() [public] comment = Herkese Açık path = /home/public public = yes writable = yes printable = no write list = @staff Yorum yada Mesaj Yazın Yorum yada Mesaj Göndermek için Lütfen Üye Girişi Yapın. |
|||
|
|
|
|
#5 | ||
|
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 trAdress : 144 122 199 20> linux org trServer : knidos cc metu edu trAdress : 144 122 199 20Name : linux org trAdress : 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 trDefault Server : metu linux org trAdress : 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 trlinux org tr has adress 144 122 199 199linux org tr mail is handled (pri=10) by metu linux org tr$ host wwww ege linux org trwwww ege linux org tr is a nickname for ege linux org trege linux org tr has adress 155 223 97 31Yukarı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İŞİMInternet, 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 PinePine, 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 osta 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öndermeBir 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<img src="images/smilie...lineimg" />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 OkumaPine, 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<img src="images/smilies/n...lineimg" />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 SilmeGelen 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<img src="images/smilies/n...lineimg" />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öntemleriPine, 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 gidelimMesaj 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=help1 alt os linux Use comp os linux *instead![]() 2 comp os linux3 comp os linux admin4 comp os linux advocacy Benefits of Linux compared to other o5 comp unix shell Using and programming the Unix shell![]() 6 gnu bash bug Bourne Again Shell bug reports an su7 comp lang perl8 comp graphics agorithms Algorithms used in producing computer9 metu cc hot-line10 alt 2600 The magazine or the game system![]() 11 comp sys cbm The commodore computers12 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 oku***** 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İKGü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üvenlikGü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 confkomutunun 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ğiAğ 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 parolalarBir 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ğiDosyaları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üvenlikEğ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 Önlemleri18 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 1ETH0NET: 194 24 22 0ETH0NETMASK: 24 GUVENLI1: 212 45 3 13GUVENLI2: 193 12 54 9ETH1IP: 192 168 1 1ETH1NET: 192 168 1 1ETH1NETMASK: 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 -d0 0 0 0/0ipchains -A input -p all -j DENY -s 127 0 0 0/8 -i eth0 -d0 0 0 0/0ipchains -A input -p all -j DENY -s 192 168 0 0/16 -i eth0 -d0 0 0 0/0ipchains -A input -p all -j DENY -s 172 16 0 0/16 -i eth0 -d0 0 0 0/0ipchains -A input -p all -j DENY -s $ETHOIP -i eth0 -d 0 0 0 0/0Bu 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/00 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 22ipchains -A input -p tcp -j ACCEPT -s $GUVENLI -i eth0 -d 0 0 0 0/0 22Eğ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 80ipchains -A input -p tcp -j ACCEPT -s 0/0 -i eth0 -d 0 0 0 0/0 801 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:65535ipchains -A input -p udp -j DENY -s 0 0 0 0/0 -i \eth0 -d 0 0 0 0/0 1024:655351024 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:65535ipchains -A input -p udp -j DENY -s 0 0 0 0/0 -i \eth0 -d 0 0 0 0/0 1024:65535IP 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/018 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 tr19 Mandrake Linux kurulumu19 1 Ön hazırlıklarKuruluma başlamadan önce birtakım ön hazırlıklardan geçmeniz gerekiyor Bunlardan kısaca söz edelim![]() 19 1 1 Genel bilgisayar bilgisiDaha ö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ğ bilgisiEğ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 trMakine adı (host name), örnek olarak penguen gelecek com tr19 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 kurulumMandrake 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 bilgileriKurulum 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 IMGEnter 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 KurulumSistemin 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 SorularBu 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 KurulumKurulacak 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 CryptographicBu 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ı EklemeEğ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şturmaEğ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 KULLANILACAK20 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 KULLANILACAKHiç 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ır6 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
Yorum yada Mesaj Yazın Yorum yada Mesaj Göndermek için Lütfen Üye Girişi Yapın. |
|||
|
|
![]() |
| Konu Araçları | |
| Görünüm Modları | |
Benzer Konular
|
||||
| Konular | Konuyu Başlatan | Forum | Yaz | Son Mesaj |
| Ödemiş'i Tanıyalım!!! | angel1975 | Memleketimden Haber Var | 0 | 20-05-2009 23:08 |
| Cildimizi Tanıyalım | Hayal Perisi | Güzellik & Bakım Sırları | 0 | 16-05-2008 18:52 |
| Kızları Tanıyalım +18 | iCEMAN | Komik Resimler | 3 | 11-01-2008 14:19 |
| İşlemciyi tanıyalım | SanalHazineM'ci | Donanım Merkezi | 0 | 24-03-2007 18:11 |
| kumaşları tanıyalım | DisC 1.44 | Moda & Giyim Köşesi | 0 | 12-08-2006 16:08 |