bilgiz.org

Fak. BİLGİsayar müH. BÖL

  • Temel Komutlar
  • ÖDEVLER



  • Tarih01.10.2017
    Büyüklüğü71.89 Kb.

    Indir 71.89 Kb.

    F.Ü. MÜH. FAK.


    BİLGİSAYAR MÜH. BÖL.

    BİLGİSAYAR SİSTEMLERİ LAB.

    DENEY NO : 2




    deneyde Yapılacaklar

    1- Deneyin ilk gününde genel olarak linuxun özellikleri, diğer işletim sistemlerinden farkı, dosya ve dizin yapısı, temel kullanıcı ve admin komutları, genel olarak sunduğu internet ve diğer hizmetler öğrenilecektir.

    2- Deneyin tam olarak amacına ulaşması ve verilen deneylerin hazırlanması için http://linux.org.tr, gibi sitelerin incelenmesi ve arama motorlarından faydalanılması gerekir.

    Lİnux Nedir ?

    Linux, serbestçe dağıtılabilen, çok görevli, çok kullanıcılı UNIX işletim sistemi türevidir. Linux, İnternet üzerinde ilgili ve meraklı birçok kişi tarafından ortaklaşa geliştirilmekte olan ve başta IBM-PC uyumlu kişisel bilgisayarlar olmak üzere birçok platformda çalışabilen ve herhangi bir maliyeti olmayan bir işletim sistemidir. UNIX 70'li yılların ortalarında büyük bilgisayarlar üzerinde çok kullanıcılı bir işletim sistemi olarak geliştirilmiştir. Zaman içerisinde yayılarak birçok türevi ortaya çıkmış ve bugün kişisel bilgisayarlardan süper bilgisayarlara kadar birçok bilgisayar için UNIX türevleri yazılmıştır. Ne var ki bu türevlerin çoğunun gelişimi belirli bir noktada durmuş ve yüksek fiyatla satılan ticari yazılımlardır. Linux, Finlandiya Üniversitesinde öğrenci olan Linus Torvalds'ın ve İnternet üzerinde meraklı bir çok yazılımcının katkıları ile geliştirilmiştir. Linux gelişimi açık bir şekilde yapılmaktadır. Bunun anlamı, işletim sisteminin her aşaması açık olarak İnternet üzerinde yayınlanmakta, dünyanın dört bir yanında kullanıcılar tarafından kontrol edilmekte, hataları ve eksiklikleri tespit edilerek düzeltilmekte ve geliştirilmektedir. Zaman zaman bu deneme aşamaları belirli bir noktada durdurulur ve güvenilir bir işletim sistemi sunulup, geliştirme için ayrı bir seriye devam edilir. Geliştirmede yer alan bu açıklık Linux'un en büyük avantajlarından biridir. Gelişimi evrimseldir, hatalar anında kullanıcılar tarafından tespit edilip rapor edilmekte ve birçok kişinin katkısıyla düzeltilmektedir. Bazı işletim sistemi sürümleri saatler içerisinde güncellenebilmektedir. Linux gerçekten son yıllarda hızlı bir gelişme göstermiş, çeşitli ülkelerden birçok kullanıcıya erişmiş ve yazılım desteği günden güne artmıştır. Değişik kuruluşlar Linux sistemi ve uygulama yazılımlarını


    bir araya getirerek dağıtımlar oluşturmuşlar ve kullanımını yaygınlaştırmışlardır.
    Linux, WWW, DNS, NFS, NIS, X, BOOTP, SMTP, FTP, LIST, NEWS gibi yaygın TCP/IP servislerinin yanı sıra

    * NOVELL sunucu (Novell protokolü kullanarak disk ve yazıcı servisi)

    * SAMBA sunucu (Windows 3.1, Windows95, Windows NT ve WfW için disk ve yazıcı servisi)

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


    Linux yazılım desteği ile birçok ağ elemanının yerine geçebilecek bir alternatif olarak kullanılabilmektedir. Birden fazla ağın birbirine bağlanması amacıyla bir yönlendirici (router) olarak da yararlanılabilir. Özellikle farklı protokoller arası bir geçiş elemanı olarak üniversitelerde yaygın şekilde Linux'tan faydalanılmaktadır. Ayrıca yönlendirici olarak kullanıldığında kolaylıkla güvenlik duvarı (firewall) olarak da yapılandırılabilir. Buna ek olarak bir ağ üzerinde bulunan iki segment trafiğini birbirinden ayıran bir köprü (bridge) olarak da hizmet verebilir.
    Yazılım Özellikleri

    Bir işletim sistemi, mimari dizayn olarak ne kadar mükemmel olursa olsun, uygulama yazılımlarının çokluğu ve kalitesi ile varolabilir. Herhangi bir Linux dağıtımı içerisinde, değişik amaçlara hizmet eden birçok yazılım bulunmaktadır. Ancak her geçen gün bu dağıtımlarda yer almayan yeni yeni yazılımlar çıkmaktadır. UNIX makineler üzerinde yer alan uygulamaların çoğu, değişik platformlar altında bulunduğundan çalıştırılabilir (executable) olarak dağıtılmaz, kaynak kodu şeklinde sunulurlar. Söz konusu yazılımı kullanmak isteyen bir kullanıcı bu kaynak kodunu kendi platformunda derleyerek çalıştırır. Bu yazılımların birçoğu Linux altında kolaylıkla çalıştırılabilmektedir. Bu tür yazılımları İnternet üzerinde çeşitli FTP arşivlerinde bulmak mümkündür.



    X Window Arabirimi

    Linux işletim sistemi altında X Window sistemi ile Windows benzeri bir grafik arabirimiyle birlikte çalışabilirsiniz. Windows ile ilgilenen herkes rahatlıkla X Window'a geçiş yapabilir. X ile ekranda aynı anda birden fazla pencere açılabilir, fare yardımıyla birden fazla uygulama aynı anda kontrol edilebilir.



    Bilgisayar Destekli Eğitimde Linux

    Linux'un hemen her alanda olduğu gibi bilgisayar destekli eğitimde de yeri var. Ağ yönetimi gayet gelişkin olan bu sistemde tek makina üzerinde pek çok İnternet sunucusunu çalıştırabilirsiniz. Sıfır maliyetle eğitim kurumlarımızın ihtiyaç duyabileceği yazıcı, disk alanı paylaşımı ile temel her türlü İnternet servisi kolayca verilebilir, bu servisler merkezi bir yönetim altında denetlenebilir. Bilgisayar Destekli Eğitim projesinde belirli bir işletim sistemi ve


    donanım modeline bağımlı kalmak son derece tehlikelidir. Linux ile bu tehlikeden uzak olarak okullarımızın İnternet erişimi sağlıklı bir biçimde yerine getirilebilir. AR-GE ve akademik kurumlar da geliştirmeye dayalı projelerini Linux'a taşıyabilir, donanım ve yazılım masraflarını büyük oranda kısarak bütçelerini daha verimli kullanabilirler. Bunun yanında bilgisayar mühendisliği eğitiminde, örneğin "İşletim Sistemleri" dersi çerçevesinde, bir işletim sisteminin aygıt sürücüleri konusu anlatılırken Linux'un kaynak koduna referans verilebilir, ya da Linux'un tanıdığı onlarca dosya sisteminden biri üzerinde örnek çalışma yapılabilir. Kaynak kodu erişilebilir olduğundan sistemin çalışma prensibini öğrenmek, geleceğin mühendis adayı için eşi bulunmaz bir fırsattır. Linux'u bir "deney seti" gibi kullanmak sadece akademisyenin olumlu onayına kalmıştır. Bir işletim sistemi ya da yazılımın öğrenci ve akademik çalışanlar için ücretli olması talihsizliktir. Eğitim yaşamı boyunca meraklı bir beyni yönlendirmek ve bilişim alanında yeni teknoloji üretmesini sağlayabilmek için önündeki tüm engellerin kaldırılması gerekir. Bu da ancak ücretsiz ve karşılığını verecek olan her an erişilebilir, kaliteli yazılımla mümkün olacaktır.

    Serbest Yazılım

    Gelişen sayısal teknoloji veriyi kopyalamamıza ve daha geniş kitlelerce kullanılabilmesine olanak veriyor. Burada en büyük yardımcımız bilgisayarlar ve bilişimin aydınlatıcı ışığı. Serbest yazılım (SY) da bilişim alanına yeni bir çehre kazandırmaktadır. UNIX kültüründe SY, bilgiyi paylaşmak, sınırsızca dağıtmak ve değiştirmek anlamına geliyor. Kısaca açıklamak gerekirse serbest yazılım, belirli hakları gözetmek şartıyla herkesin özgürce kullanabildiği, kopyalayabildiği, üzerinde değişiklik yapabildiği ve ücretli/ücretsiz tekrar dağıtabildiği yazılımdır. "Bilgi herkesindir, sınırlanamaz" felsefesine uyan yazılımcılar, geliştirdikleri her ürünü karşılık beklemeksizin İnternet'in onayına sunmakla bu ürünün mükemmele koşmasına yardımcı oluyorlar. SY kavramı sadece "beleş sirke" olarak görülmemelidir. Bir başka anlamda, SY, yazılımın ücretsiz olmasını değil, serbestliyi ve bilginin yayılması felsefesini ön plana çıkarır. Yanında verilen kaynak kodu ile yazarının adını koruyarak üzerinde her türlü değişiklik yapmak kullanıcıların elindedir. Böylece sağlam tabanlı bir kaç satır kod, binlerce programcının da yardımıyla hiç beklenmedik bir uygulama yazılımına, kelime işlemciye ya da hesap tablosuna dönüşebilir. İnternet, buna benzer onlarca başarı hikayeleriyle doludur. Yazılan bir programın serbest hale getirilebilmesi için bir seçenek de bu programın GNU lisansı altında dağıtılmasıdır. Bu haliyle dolaşımda bulunan yazılım ``copyleft'' adını alır.

    Serbest yazılım modelinde aynı ya da yüksek kalitede bir mal aynı fiyata değil, ücretsiz olarak elde edilebilir. Ancak programın sadece çalıştırılabilir hali GNU serbest yazılımı olarak algılanamayacağı gibi satın alınan bir bilgisayara yüklenen ücretsiz ya da cüzi bir ücret karşılığı alınan yazılım da serbest kapsamına girmez. "copyright'' kavramı, ayrıca üretileni satan bir mal sahibi kavramını da akıllara getiriyor. Bir mal sahibinin amacı da çoğu kez yazılımı geliştirmek değil, satmak oluyor. Nadir olmayan ve üzerinde düşünülmesi gereken başka bir durum da yazar ile programı arasında beklenmedik bir bağ oluşması. Yazar bu durumda çoğunluğun gereksinimlerini ve ihtiyaçlarını ikinci planda bırakabilir ya da kendi beğenisini ürüne ekler. Gelişmeyi engelleyen bu durumun ruhen kaygı verdiği de ortadadır. Program yazmak bir başlangıçtır, bu atılımı halkın hizmetine sunmak için onu kaynak koduyla birlikte sunmalısınız. Linux dünyası serbest yazılım felsefesiyle birlikte sadece geliştiricilere değil, İnternet'i işinde, hobisinde ve boş vakitlerinde kullanan tüm bilgisayar severlere açık gelişimin önemini kanıtlarken sanal projeler yardımıyla nasıl daha üretken olunabileceğinin yolunu da gösteriyor.
    Linux, aynı disk üzerindeki işletim sistemleriyle uyum içinde çalışabilir. Bilgisayarın açılışı esnasında dilediğiniz sistemden başlayabilirsiniz. Linux'un DOS, FAT16, FAT32 dosya sistemi uyumluluğu yanında DOS programlarını çalıştırmak için DOSEMU, Windows programlarını çalıştırmak için VMware, Wabi ve Wine programları vardır.

    Aşağıda Linux'un temel parçalarını ve bunların özelliklerini göreceğiz.



    Çekirdek : Linux'un çekirdeği bir bakıma sistemin beyni sayılabilir. Çekirdeğin adı "Linux"tur, ancak pek çok kişi tarafından tüm dağıtıma verilen ismin "Linux" olduğu zannedilir. Dünya üzerindeki dağıtımlar 1999 itibariyle 40'ın üzerindedir. Ancak hepsi aynı çekirdeği kullanır, değişen tek şey 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.

    Birden çok kullanıcı desteklemesi : Linux, dizayn aşamasından bu yana hep birden çok kullanıcıyı desteklemek amacıyla yazılmış ve buna göre programlanmıştır.

    Birden çok görevin aynı anda yapılması : Linux, birden çok görevin aynı anda yapılmasına olanak veren bir sistemdir.

    Kararlılık : Linux, 1.0 sürümünün Internet sitelerine konulduğu 14 Mart 1994 yılından beri beta denemelerini geçmiş ve kararlı bir yapıya bürünmüştür.

    Çok işlemcili SMP desteği : Linux'ta Intel ve SPARC platformlarında mevcuttur. Sürüm numarası 2.0 ile başlayan SMP çekirdekler açılırken sistemde kaç tane işlemci olduğunu bulur ve buna göre kendisini ayarlar.

    Linux ve ağ teknolojileri : Linux, doğrudan doğruya Internet'e hazır olarak bağlanabilmesi için TCP/IP desteği ile gelir. Bu sayede TCP/IP konuşan diğer bilgisayarlarla ve işletim sistemleriyle rahatça anlaşabilir. TCP/IP'nin yanında NetBEUI, Samba (Windows makinalarının birbirleriyle konuşmak için kullandıkları protokol), Appletalk (Macintosh) gibi protokoller de desteklenir.

    Güvenlik mekanizması : Linux, 386 ve üstü işlemcilerda korumalı kipte (protected mode) çalışır. Böylece bu kipin özelliklerinden sonuna kadar faydalanır.

    Grafik arabirimi : X Window (kısaca X) adı verilen ve MIT'te geliştirilen grafik arayüzü, Linux'ta sadece metin ekranda çalışmak istemeyen kullanıcılar için ilginç sayılabilecek bir yazılımdır. X altında farklı ruhlara hitap eden, değişik görüntüler sunan pek çok pencere denetleyici vardır.

    Donanım Gereksinimleri

    Linux'un daha önce de belirttiğimiz gibi donanımdan sonuna kadar faydalanması neticesinde son derece düşük donanım maliyeti vardır. Desteklediği kartlar piyasada her an bulunabilir cinstendir.



    Linux Komut Yapısı

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



    • UNIX'te (ve Linux'ta) bütün komutlar ve dosya isimlerinde büyük/küçük harf ayrımı önemlidir. Sistem komutlarının ve dosyaların çoğu küçük harfle yazılır.

    • Komut ve dosya adlarında kullanacağınız bazı karakterlerin gerek dosya ve dizin yapısı, gerekse kabuk ve diğer komutlar nedeniyle bazı özel anlamları vardır. Bu karakterlerden yeri geldikçe söz edilecektir. Örneğin, `/' karakteri hiçbir dosya adında bulunamaz (dosya ve dizinler için ayraç olarak kullanıldığından). `-' ile başlayan bir dosya oluşturulabilir olsa da silmeye kalktığında yeni bir UNIX kullanıcısının başına dert açabilir.

    • UNIX'te komutlara seçenek verirken seçenekten önce `-' karakteri kullanılır. Örneğin ls -l

    • UNIX komutları tersi istenmedikçe girdilerini standart girdiden (klavye) alır, çıktılarını standart çıktıya (ekran) yazar. Bu özellik ileride anlatılacak olan yönlendirme ve boru (pipe) operatörleri ile birlikte komut satırından birçok işlemi kolayca yapmanızı sağlar.

    • UNIX kabukları komut satırından verilen komutu çalıştırmadan önce bir dizi karakteri yorumlayarak dosya ad(lar)ına çevirirler. Bu karakterler:

    • * 0 dahil herhangi bir sayıda karakter yerine geçer. Örneğin rm * komutu bütün dosyaları siler, ls -l a* komutu `a' ile başlayan dosyaların listesini verir.

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

    • [] karakterleri arasında yazılan liste içindeki herhangi bir harfe dönüştürülür. Örneğin cp *[abc] /tmp komutu `a', `b' ya da `c' ile biten bütün dosyaları /tmp dizinine kopyalayacaktır. liste içinde aralarına `-' işareti koyarak aralıklar verebilirsiniz. Örneğin, [A-Z]* büyük harfle başlayan bütün dosyalar anlamına gelir. Liste içindeki `^' karakteri sonrasında belirtilen liste dışındaki bütün karakterler anlamına gelir. Örneğin *[^0-9]* adında rakam olmayan herhangi bir dosya anlamına gelecektir.

    Dosya ve Dizin Yapısı

    UNIX altında bazı karakterlerin özel anlamları vardır. Dizin ve dosya isimlerinin başında nokta olması durumunda bu dosyalar gizli dosya haline gelir ve parametresiz yazılan ls komutuyla görünmez.

    Dosya ve dizin isimleri 255 karakteri aşamazlar.

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

    $ pwd

    /home/gorkem



    $

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

    $ cd /

    $ pwd


    /

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

    ~

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



    $ cd ~

    $ pwd


    /home/gorkem

    $ mkdir /home/gorkem/benim



    Temel Komutlar





    Komut ya da kavram adı

    Açıklaması

    .

    Halihazırdaki dizini gösterir.

    ..

    Önceki dizini gösterir.

    ~

    Aktif kullanıcının ev dizini

    cd ..

    Önceki (üst) dizine geç.

    ls ..

    Önceki (üst) dizinin içeriğini göster.

    CTRL-C

    Çalışan bir programı keser (komut satırına düşürür).

    TAB

    Komut/dosya ismi tamamlama

    apropos

    İçinde "kelime" geçen tüm kılavuz sayfalarını tarar.

    Cat

    "Dosya"nın içindekileri ekrana basar.

    Cd

    "Dizin"e geçer.

    cd ..

    Üst dizine geçer.

    Chsh

    Kabuk değiştir.

    cp

    dosya1'i dosya2'ye kopyala.

    cp /home/gorkem/mesaj.txt /tmp

    /home/gorkem/mesaj.txt dosyasını /tmp dizini altına kopyala.

    echo

    "Karakter dizisi"ni ekrana bas.

    PATH

    Çalıştırılabilir dosyaların yerini gösteren değişken

    echo $PATH

    Bir dosya çalıştırılmadan önce nereye bakılacağını gösterir.

    SHELL

    Altında çalışılan kabuk.

    echo $SHELL

    Çalışan kabuğu gösterir.

    finger

    "Kullanıcı" hakkında ayrıntılı bilgi verir.

    Ln

    İki dosya ya da dizin arasında sembolik bağ kurar.

    Ls

    Dosya ve dizinleri göster.

    ls /etc

    /etc altındaki dosya ve dizinleri göster.

    ls –l

    Dosya ve dizinler hakkında geniş bilgi ver.

    ls –al

    Saklı (. ile başlayan) dosyaları da göster.

    Mkdir

    Dizin yarat.

    mkdir ~/gecici

    Aktif kullanıcının ev dizini altında "gecici" adında bir dizin yarat.

    more

    "Dosya"nın içeriğini ekrana yazdırır.

    Mv

    Bir dosya ya da dizini taşır.

    mv re1.gif /tmp

    re1.gif dosyasını /tmp dizinine taşı.

    mv linax.txt linux.txt

    linax.txt dosyasının adını linux.txt olarak değiştir.

    Passwd

    Şifreyi değiştirir.

    Pwd

    Üzerinde çalışılan dizini gösterir (working directory).

    Rm

    Bir dosyayı siler.

    rm -f

    Dosyayı silmeye "zorlar".

    rm -rf

    Bir dizini ve içindeki alt dizinleri siler.

    telnet

    telnet bağlantısını açar.

    Who

    Sistemde kimlerin bulunduğunu söyler.

    Xconfigurator

    X Window grafik ekranını yapılandırır (1)

    xf86config

    X Window grafik ekranını yapılandırır (2)


    LINUX ile UNIX arasında ne fark vardır?

    UNIX, Unix System Laboratories'in (USL) bir ticari markasıdır. Bu yüzden her bilgisayar firması kendi makinesinde çalışacak UNIX işletim sistemini farklı adlarla (AIX, ULTRIX, HP/UX gibi) yayınlamaktadır. Bunlara UNIX işletim sisteminin 'clone'lari denmektedir. LINUX da bir UNIX clone'udur. Ve POSIX standardını desteklemektedir. (POSIX=Portable Operating System Interface) LINUX'la herhangi bir UNIX clone'u ile yapabileceğiniz bütün işlemleri yapabilirsiniz.


    KullanIcIlar ve sistem sorumlulugu

    Root olmak ve sorumlulukları

    LINUX çok kullanıcılı bir işletim sistemidir. İster evde tek başınıza kullanın, ister internet'e bağlı bir server olarak kullanın her LINUX makinesinde sistemde belirli yetkileri bulunan kullanıcılar bulunur. Root tüm kullanıcıların en yetkilisidir. Diğer kullanıcılar sadece kendilerine izin verilen alanlarda çalışabilirlerken root her yere girebilir, hatta bir başka kullanıcıymış gibi çalışabilir. Sistemin düzenlenmesi ve isletilebilmesi için bu çeşit bir kullanıcının olması zorunludur.

    Makinenin tek kullanıcısı siz olsanız bile islerinizi root kullanıcısı ile yapmak yerine kendinize bir kullanıcı açmanız yararlı olacaktır. Root ile ilgili aşağıdaki önerileri verebilirim:


    • Eğer LINUX'u yeni yüklemişseniz doğrudan kullanıcınız root olacaktır ve şifresi de bulunmayacaktır. Sistemi yükleme isiniz bitince, root'a bir şifre verin ve kendinize bir kullanıcı açın. Root şifresini iyi saklayın

    • Sistem üzerinde bir değişiklik yapacak olsanız bile, tavsiyem, ilk olarak kullanıcı olarak loginlenmeniz sonra su olmanız.

    • Root kullanıcısını kullanırken enter'a basmadan önce iyi düşünün bazı komutların hiç geri donuşu olmaz (mke2fs /dev/hda1)

    • root kullanıcısı ile mc ve benzeri programları kullanmamaya özen gösterin.

    • Root kullanıcısı çok güçlüdür, bu gücü kötüye kullanmayın.


    Nasıl kullanıcı ekleyebilirim ?

    Sisteme yeni bir kullanıcı ekleyebilmek için:



    • ilgili kullanıcıya ait /etc/passwd dosyasına bir tanım eklemek

    • şayet network grupları kullanılıyorsa /etc/group dosyasına bir tanım eklemek

    • kullanıcıya ait bir home directory (çalışma dizini) yaratmak

    • kullanıcının bir şifre girmesini sağlamak

    • şayet NIS kullanılıyorsa söz konusu dosyaları, NIS client'larin anlayacağı kopyalar halinde güncellemek.

    Yukarıda belirtilen işlemlerin bazılarını otomatik olarak yapan programlar vardır (adduser). Ancak tüm bu işlemler elle de yapılabilir.

    vi /etc/passwd

    en alt satıra



    Mehmet::985:900:Mehmet Tazebay:/home/mehmet:/bin/csh

    Burada


    1. bolum:Mehmet kullanıcı ismi

    2. bolum: sifre, buraya şifre DES olarak şifreli bir şekilde yazılır.

    3. bolum:985 kullanıcı numarası, her kullanıcıyı sistemde belirleyen numara. Herkesten farklı bir numara vermeye özen gösterin

    4. bolum:900 grup numarası, kullanıcının ait olduğu grubu belirler. İse yaraması için o numarada bir grup tanımlanmış olmalıdır.

    5. bolum:Mehmet Tazebay Kullanıcının gerçek ismi, bazı servislerde (finger, who vs) kullanıcının gerçek isminin belirlenebilmesini sağlar.

    6. bolum:/home/mehmet Kullanıcının çalışma dizini. Kullanıcı sisteme girdiği anda kendisini burada bulacaktır.

    7. bolum:/bin/csh Kullanıcının kullanacağı shell.

    İkinci adim bu kullanıcının çalışma dizinini oluşturmak

    cd /works
    mkdir Mehmet
    chown Mehmet Mehmet

    Son komut ile Mehmet isimli dizinin sahibini Mehmet isimli kullanıcı olarak değiştir dedik.

    Son adim ise o kullanıcı olarak login edilmesi ve uygun bir şifrenin passwd ile verilmesidir.
    Sistem sorumlusu hangi dosyaları takip etmelidir ?

    LINUX'da syslog sistemi işletim sonucu meydana gelen mesajları belirli dosyalara aktarır. Bu dosyaları inceleyerek isleyiş hakkında bilgi sahibi olunmalıdır. Syslog'un hangi aciliyetteki hangi mesajları nereye yazacağı



    /etc/syslog.conf

    ile belirlenir. Bir değişiklik yapılmadığı surece



    /var/adm/syslog
    /var/adm/messages
    /var/adm/debug

    dosyalarina mesajlar dağıtılır. Eğer söz konusu dosyalar incelenip islenmezlerse çok büyüyebilirler. Sisteme 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 incelenebilir. Buna ek olarak çeşitli paketler çalıştırılıyorsa onların yarattığı log dosyaları da incelenmelidir. Örneğin ftp çalışıyorsa



    xferlog veya /var/spool/ftpd/xferlog

    kimin ftp ile hangi dosyaları aktardığını gösterir.

    Bu dosyalar içerisinde elde edilecek ipuçları ile sistemin çalışma performansı arttırılabilir, kendisini pek belli etmeyen hatalar bulunabilir.
    LINUX ve internet

    Modemle bağlanma deneyi yapılmayacaktır, ancak teori olarak bilinmesi gerekmektedir.



    Route'lari nasıl ayarlayabilirim ?

    Bilgi paketleri internet üzerinde adreslerini route'lari takip ederek bulurlar. En basite indirgeyecek olursak iki turlu route yöntemi vardır



    • statik route'lar : birebir bağlantılı bilgisayarları ve/veya ağları sabit tanımlamalar ile birbirine bağlar

    • dinamik route'lar: düğüm noktalarında bulunan router'lar birbirlerine sürekli bildikleri route'lar hakkında bilgi verirler.

    route tanımlamak LAN'lar arası iletişim için gereklidir. Kendi LAN'iniz üzerinde bilgi paketleri doğrudan makinelere ulaşabilirler. Ancak başka adreslere gidecek paketler mutlaka bir router'a yönlendirilirler. Söz konusu router birden fazla LAN'a (veya WAN'a) bağlanmış bir makinedir ve hangi bağlantısına hangi adreslere giden paketleri yönlendireceği bir tablosu vardır. Özel olarak tanımlanmış route'larin yanı sıra bir de default adi verilen, tablosunda özel olarak belirtilmemiş adreslere giden paketlerin yönlendirildiği bir route vardır.

    LAN üzerinde normal bir LINUX makinenin konfigurasyonunu setup ile yaparken



    Do you have a gateway ?

    Sorusu ile LAN üzerinde bir router'iniz olup olmadığı sorulacaktır. Böyle bir routeriniz varsa, sonra router'in (gateway) adresini soracak ve makinenin default route'unu statik olarak ayarlayacaktır.

    LINUX bir makineyi router olarak kullanmak mümkündür.

    Söz konusu makinenin birden fazla LAN (veya WAN) bağlantısı olması gereklidir. Bu bağlantılar ethernet kartları ve veya modemler olabilir.



    • Kernel IP forwarding/gatewaying secenegi ile derlenmiş olmalıdır. Genel olarak hazır derlenmiş bu çeşit kernel yoktur, Onun için kernel'i derlemeniz gerekecektir.

    Daha sonra bu makinenin route'larini statik olarak tanımlamak için

    route

    komutunu kullanmak gerekir. Dinamik routing için çeşitli paketler vardır. Bunlardan birisinin tercih edilmesi ve konfigure edilmesi gerekir. En çok kullanılan iki paket routed (slackware içerisinde gelir) ve gated dir.

    Herhangi bir anda mevcut route'lari görebilmek içinse

    netstat -nr

    komutu yeterli olacaktır.


    LINUX üzerinde disk paylaşımı nasıl yapılır ?

    Bilgisayar ağlarının en önemli özelliklerinden biri kaynak paylaşımı sağlamaktır. Bir makine içerisinde yer alan disk alanının bilgisayar ağı üzerinde yer alan diğer makineler tarafından kullanılabilmesine Network File System (NFS) adi verilir.

    Çok Kullanıcılı diğer işletim sistemlerinde olduğu gibi LINUX NFS desteklemektedir. NFS işlemini rpc.nfsd daemon'u desteklemektedir. /etc/rc.d/rc.inet2 içerisinde ilişkili daemonlarin (nfsd rpc.portmapper vs) çalışması sağlanmalıdır.

    Yerel disk'in herhangi bir alanını bilgisayar ağı üzerinde yer alan diğer makinelerin kullanımına sunmak için /etc/exports dosyası kullanılır.Bu dosya içerisine disk hiyerarşisinin hangi bölümlerinin diğer makineler tarafından kullanılacağı belirtilir:





    /home/ali alice,venus

    /usr/man (ro)

    ( exports dosyası değiştirildikten sonra değişikliklerin yansıması için reboot gereklidir ).

    Bir başka makine üzerinde yer alan diski kendi hiyerarşinize bağlamak için ise mount komutu kullanılır.

    mount -t nfs darkstar:/home/ali /disk2/home/ali

    ( darkstar makinesinde /home/ali kısmını bu makinede /disk2/home/ali dizini olarak ekle ) Her defasında bu işlemi yapmamak icin /etc/fstab altında hangi NFS ile "mount" edilmesi istenen dizinler belirtilebilir.


    LINUX üzerinde yazıcı paylaşımı nasıl yapılır ?

    LINUX altında çalışan bir yazıcı kurulduktan sonra bunu diğer makinelere kullandırabilmek için



    /etc/hosts.lpd

    dosyası içerisinde erişim hakki bulunan bilgisayarlar tanımlanmalı



    /etc/exports

    dosyası içerisinde /var/spool/lpd ( veya daemon'un kullandığı spool dizini ) export edilmiş olmalı

    Yaziciya erismek isteyen bilgisayar uzerinde printcap dosyasinda

    lp=


    rm=bilgisayar_adi

    rp=bilgisayar_uzerinde_yazicinin_adi



    tanımlanmalıdır.

    ÖDEVLER





    1. Iptables+firewall+gateway+Masquerading (internet paylaşımı)

    2. Samba sunucu

    3. Apache Konfigürasyonu

    4. Cekirdege Yama ve Cekirdek Derlemesi

    5. Linux da Türkçe

    6. Bind DNS

    7. Sendmail+POP3+IMAP

    8. Sendmail üzerinden BASILIX kurulumu

    9. Diğer mail serverlar (*QMAIL, POSTFIX vs..)

    10. Squid cache

    11. DHCP Sunucu

    12. PHP+MYSQL web tasarımı

    13. ProFTP sunucu

    14. NIS

    15. Yazıcı

    16. Windows programlarını çalıştırma

    17. Kabuk Programlama

    18. Soket Programlama

    19. Farklı Tür Linux Sürümlerini Kurarak Farklarını Analiz Etme ve Kullanım Alanlarını Belirleme






        Ana sayfa


    Fak. BİLGİsayar müH. BÖL

    Indir 71.89 Kb.