Bir UNIX sisteminde temel servisler
Önceki Linux Sistemine Genel Bakış Sonraki
Bir UNIX sisteminde temel servisler
Bu bölüm fazla ayrıntıya girmeden bazı önemli Unix servislerini anlatmaktadır. Daha sonraki bölümlerde daha ayrıntılı açıklanmaktadır.
init
Bir Unix işletim sistemindeki en önemli servis tek başına init tarafından sağlanmaktadır. Açılış esnasında ilk başlayan ve önyükleme sonrasında son kapanan servis init servisidir. init açılışta; artalan süreçlerinin başlatılması, dosya sisteminin bağlanması ve kontrol edilmesi gibi bazı ufak tefek işlerin yapılmasını sağlar.
init'in yaptığı işlerin tam listesi init'in açılış kipinde yapılan seçime bağlıdır.
Tek kullanıcılı kip: root haricinde hiç kimse bağlanamaz ve root, konsolda bir kabuk kullanır.
Çok kullanıcılı kip:aynı anda pek çok kullanıcının bağlanabildiği kiptir. Linux sistemleri genelde bu kipte açılırlar.
Bazı sürümlerde bu iki kip genel konumlar olarak alındıktan sonra X kipi de eklenerek bunlar üçlenmiştir. Bunlara çalışma seviyeleri (runlevel) denir.
Linux 0-9 arasında 10 adet çalışma seviyesine izin verir. Ama çoğu dağıtımda bunları bazıları tanımlıdır. Diğerleri kullanılmaz.
  • 0: sistemi kapatır.
  • 1: tek kullanıcılı kip
  • 2: çok kullanıcılı ancak NFS kapalı
  • 3: çok kullanıcılı kip
  • 5: çok kullanıcılı kip, açılışta X'e geçiş yapılır.
  • 6: sistemi yeniden başlatır.
/etc/inittab dosyasının içeriği bu seviyeler hakkında bilgi içermektedir ve açılışta hangi kipte çalışmaya başlanılacağı yine bu dosya içinde tanımlanmıştır. Bu dosya sayesinde dağıtımınızda hangi çalışma seviyelerinin tanımlı olduğunu bulabilirsiniz.
Normal bir açılışta init, getty programının çalışmasını sağladıktan sonra sistemdeki öksüz programları evlat edinir. (Unix işletim sisteminde bütün programlar tek bir ağaç altında olmak zorundadır. Bu yüzden bağımsız programlar init'e bağlanır.)
Sistem kapatıldığı zaman init, süreçleri öldürür, dosya sistemlerini ayırır, işlemciyi durdurur ve yapılması istenen tanımlı diğer işlevleri yerine getirir. Bir Unix işletim sisteminde ilk gelen ve en son giden her zaman init'tir.
Uçbirimlerden bağlanmak
Seri hatlar üzerinden uçbirimden ve X window oturumu kapalı iken konsoldan bağlanmak için getty programı kullanılır. init her uçbirimden ayrı ayrı bağlanabilmek için getty programının bağımsız örneklerinin oluşturulmasını sağlar. getty kullanıcı isimlerini okur ve parolaları okumak üzere login programını çalıştırır. Şayet kullanıcı ismi ve parolası doğru ise login kullanıcının çalışması için bir kabuk açar. Her hangi bir sebepten dolayı kabuk kapatılırsa (kullanıcının ayrılması, vb...) veya kullanıcı ismi ile parola uyuşmaz ve login programı kapatılırsa, init bunu fark eder ve yeni bir getty programını devreye sokar. Çekirdeğin kullanıcıların sisteme bağlanması ile bir alakası yoktur. Bunlar tamamen sistem programları tarafından düzenlenir.
Syslog
Çekirdek ve bir çok sistem programları hata, uyarı ve buna benzer pek çok mesaj üretirler. Bu mesajların daha sonra (fazla geç olmadan) incelenmesi çok önemlidir. Bu nedenle bu mesajlar bir dosya içerisine yönlendirilmelidir. Bunu syslog programı yapar. Şayet istenirse mesajların içerik ve önemlerine göre ayrı ayrı dosyalama yapmak da, bu programın ayarları sayesinde mümkündür. Örneğin; çekirdek mesajları içeriklerinin önemli olmasından dolayı ayrı bir dosyaya yönlendirilmekte ve oraya yazılmaktadırlar. Oluşabilecek problemlerin çözümü için bu mesajlar düzenli olarak takip edilmelidir.
Süreli komut uygulamaları: cron ve at
Sistem yöneticileri ve kullanıcılar sık sık belli komutları düzenli olarak kullanmak zorundadırlar. Örneğin; sistem yöneticisi, geçici dosya ve dizinlerin tutulduğu /tmp ve /var/tmp dizinlerinin içerisini, disk üzerinde yer açmak -eski dosyalardan kurtulmak- çalışması bittikten sonra kendini temizleyemeyen dosyalardan kurtulmak amacıyla silmek isteyebilirler.
cron servisi bu tür işleri yapar. Her kullanıcı, kendi istediği zamanda istediği komutların çalışmasını sağlayacak bir crontab dosyasına sahip olabilir ve içeriğini düzenleyebilir. cron bu tanımlanmış komutların çalıştırılmasından sorumludur.
at servisi de cron servisine benzer, ama aralarında temel bir farklılık vardır. at servisinde komutlar verildiği anda sadece bir kez çalıştırılır ve daha sonra tekrar edilmezler.
Daha ayrıntılı bilgi için cron(1), crontab(1), crontab(5), at(1) ve atd(8) man sayfalarına bakabilirsiniz.
Grafik kullanıcı arayüzü
Unix ve Linux işletim sistemleri kullanıcı arayüzlerini çekirdeğe dahil etmezler onun yerine, bu arayüzlerin kullanıcı seviyeli programlar tarafından yönlendirilmesine izin verirler.
Bu hem metin hem de grafik arayüzler için geçerlidir. Bu düzen; sisteme geniş bir esneklik sağlamasının yanı sıra, kullanıcı arayüzlerinin eklenmesinin kolaylığından kaynaklanan, sistemi öğrenme zorluğunu da yanında getirmektedir.
Linux ile kullanılan bu grafik ortam ilk önceleri X Pencere Sistemi olarak adlandırılmıştır. Kısaca X sistemi de denir. X bir kullanıcı arayüzü eklemez, sadece kullanıcı ara yüzüne geçiş sağlayan araçlardan oluşur. Bazı popüler pencere yöneticileri şunlardır: fvwm, icewm, blackbox ve windowmaker. KDE ve GNOME ise popüler masaüstü yöneticileri olarak bilinirler.
Ağ İşlemleri
Ağ, iki ya da daha fazla sayıda bilgisayarı birbirine bağlayarak, onlar arasında iletişim sağlanmasıdır. Bu bağlama ve iletişimin sağlanması biraz karmaşık bir olaydır, ama sonuçlar son derece faydalı ve kullanışlı olmaktadır.
Unix işletim sistemi pek çok ağ özelliğine sahiptir. Pek çok basit servis (yedekleme, yazıcıya gönderme, dosya sistemleri işlevleri ,vb..) ağ üzerinden yapılabilir. Bu özellikler sistem yönetimi kolaylaştırmaktadır. Hem merkezi hem de yayılmış bir yönetim olanağı sunmasından dolayı; ucuz maliyet ve hatalara karşı dayanıklılık imkanlarını sağlamaktadır.
Bu kılavuz, network konusunu kısaca anlatmakta, sadece nasıl çalıştığını açıklamaktadır. Daha ayrıntılı bilgi için Linux Ağ Yöneticisinin Kılavuzu (Linux Network Administrator's Guide) isimli kılavuza http://www.tldp.org/LDP/nag2/index.html adresinden ulaşabilirsiniz.
Ağdan sisteme bağlanma
Ağ bağlantıları, normal kullanıcı bağlantılarından biraz farklıdır. Üzerinden bağlanılması mümkün olan çeşitli fiziksel seri bağlantıları mevcuttur. Ağ üzerinden bağlanan her kişi için ayrı bir sanal ağ bağlantısı mevcuttur ve bu bağlantı sayısı bant genişliğinin elverdiği ölçüde çok çeşitli olabilir. Bu yüzden muhtemel her sanal bağlantıda bağımsız bir getty programını çalıştırmak mümkün değildir. Bir ağa bağlanmak için çok çeşitli yollar mevcuttur; TCP/IP ağlarında, telnet ve rlogin gibi temel programlar kullanılabilmektedir.
Son zamanlarda ssh güvenlik gerekçesi ile sistem yöneticileri tarafından daha çok tercih edilir olmaktadır. Ağ bağlantılarında her bağlantı için bağımsız bir artalan süreci mevcuttur (telnet ve rlogin ayrı birer artalan sürecine sahiptirler). Bir bağlantı istemi geldiğinde; bağımsız bir girişim için kendinin bir örneğini oluşturur ve bu sırada orjinal örnek diğer girişimleri dinlemeye devam eder. Oluşturulan yeni örnek getty gibi çalışır.
Ağ Dosya Sistemleri
Bir ağ sistemi üzerinden yapılabilecek en faydalı işlerden birisi Ağ Dosya Sistemi üzerinden yapılacak dosya transferleri ve dosya paylaşımıdır. Genellikle Sun firması tarafından geliştirilmiş olan ağ dosya sistemi Network File System (NFS) kullanılmaktadır. Bir ağ dosya sistemi ile bir makine üzerinde her hangi bir program tarafından yapılmış olan herhangi bir dosya işlemi ağ üzerinden başka bir makineye gönderilebilir. Bu çalışan programın, karşı makinedeki dosyaları, sanki kendi çalıştığı makinede bulunan dosyalar olarak görmesinden kaynaklanır ve bu sayede bu işlevler yerine getirilir. Bu sayede bilgi paylaşımı her hangi bir program değişikliğine gerek kalmadan basit bir şekilde sağlanmış olur. Diğer bir popüler dosya paylaşım sistemi ise http://www.samba.org/ adresinde bulunabilecek olan Samba dosya sistemidir. Bu protokol MS Windows makineleri üzerinden dosya ve yazıcı paylaşımına izin verir (Ağ Komşuları üzerinden).
Eposta
Bilgisayarlar üzerinden haberleşmede en popüler yöntem elektronik postadır. Elektronik mektup özel programlar aracılığıyla dosyalar içine depolanır ve göndermek/almak/okumak için özel programlar kullanılır.
Bütün kullanıcılar yeni epostalarının depolandığı, özel bir biçeme sahip olan gelen postalar kutusu olarak adlandırılabilen bir dosyaya sahiptirler. Birisi size eposta gönderdiği zaman, eposta programı bunu sizin posta kutunuza yerleştirir ve gelen mektubu gelen postaların tutulduğu dosyaya ekler. Şayet posta kutunuz başka bir makine üzerinde ise posta bu makineye gönderilir ve burada saklanır.
Posta sistemleri pek çok programı ihtiva ederler. Program kullanıcıları pek çok çeşitteki programları kullanırken (Eposta istemcisi - Mail User Agent - MUA; örneğin: pine, mutt, elm) postaların yerel ya da uzaktaki makinelerin posta kutularına dağıtımını bir program (Eposta Aktarım Aracısı - Mail Transfer Agent - MTA; örneğin: sendmail veya qmail) yapar. Posta kutuları genellikle /var/spool/mail'de depolanır.
Yazdırma
Aynı anda bir yazıcıyı sadece bir tek kullanıcı kullanabilir. Yazıcıların paylaşılması oldukça ekonomik bir çözümdür. Bütün yazım işleri bir yazılım olan bir yazdırma kuyruğu tarafından yönetilir. Burada bütün işler sıraya konur ve sırası gelen iş kuyruktan alınıp yazılmak üzere otomatik olarak yazıcıya gönderilir. Bu kullanıcının, bütün bu işleri organize etmek için büyük bir çaba ve zaman harcamasını önler.
Bu yazılım çıktı işlemlerini disk üzerinde ayrı bir dosya haline getirir ve bu sayede bir uygulama programı işleri parçalayarak yazıcıya gönderme şansına sahip olur. Böylece program, çıktı işlemi bitene kadar beklemek zorunda kalmaz. Bu son derece kullanışlı bir olaydır. Çünkü bu sayede birisi bir basım işini bitirmek için, diğerinin bütün işlerinin bitmesini beklemek zorunda kalmaz. Kendi işinin kuyruk sırası gelince, işleri otomatik olarak işleme konur ve yazıcıdan çıktı alınır.
Dosyasisteminin Yerleşim Düzeni
Bir dosya sistemi kök dosya sisteminin kolları boyunca çeşitli bölümlere ayrılır: /bin, /lib, /etc, /dev ve birkaç benzeri; program ve değişmeyen verilerden oluşan /usr dosya sistemi; değişen verilerden oluşan /var dosya sistemi; ve herkesin kişisel dosyalarının bulunduğu /home dosya sistemi. Donanım yapılandırmasına ve sistem yöneticisinin kararlarına göre bu dosya sistemleri farklı olabilir. Hepsi tek bir dosya sistemi halinde de olabilir.
Dizin Yapısına Genel Bakış bölümünde dosyasisteminin yerleşim düzeni daha ayrıntılı bir biçimde anlatılmıştır. En ayrıntılı bilgi Dosyasisteminin Hiyerarşik Standardı - Filesystem Hierarchy Standard - (FHS) isimli belgede bulunabilir.
Önceki Üst Ana Başlık Sonraki
Çekirdeğin önemli parçaları Başlangıç Dizin Yapısına Genel Bakış
Bir Linux Kitaplığı Sayfası