açık kaynak kodlu işletim sistemi yapısı

Transkript

açık kaynak kodlu işletim sistemi yapısı
PARDUS
AÇIK KAYNAK KODLU İŞLETİM SİSTEMİ
YAPISI
1.1.
UNIX Tarihçesi ve Gelişimi
1.1.1. Unix’in Oluşumu
1960'larda AT&T'nin Bell Laboratuarları,MIT ve General Electric'in ortaklaşa
yürüttükleri bir projede “Multics” isimli bir işletim sisteminin patentini aldılar. Bell
Laboratuarı bu projeden çekilene kadar iki çalışanı , Dennis Ritchie ve Ken Thompson, bu
projede çalıştı. Bell Laboratuarları bu projeden çekildikten sonra bu iki kişi yeni bir projede
bir işletim sistemi ortaya çıkardılar. İşletim sistemine “Multics” adından esinlenerek “Unics”
ismi takıldıysa da daha sonraları bu isim UNIX olarak değiştirildi. UNIX'in en temel özelliği
Dennis Ritchie tarafından yaratılan C dili ile oluşturulmasıydı. İşletim sistemleri o güne
kadar sistemin mimarisine bağlı olan makine dili ile yazılmaktaydı. UNIX işletim sistemi
makine dili yerine C dili temel alınarak kodlanmıştı. Bu da işletim sisteminin diğer
platformlara taşınmasını kolaylaştırıyordu. UNIX işletim sistemi duyulmaya başladıktan
sonra başta üniversiteler olmak üzere bir çok kişi ve kurumun ilgisini çekti. Özellikle
üniversitelerin bilgisayar bilimleri bölümlerinde okuyan ve çalışan kişilerin desteği ile
birlikte UNIX kısa zamanda büyük bir ilerleme kaydetti. Bunun sonucu olarak da en önemli
bilgisayar işletim sistemi ünvanını eline geçirdi.
1980'lerin başında AT&T UNIX işletim sisteminden para kazanma yoluna gitti ve
işletim sistemini özel lisanslar ile pazarlamaya başladı. UNIX'in ortaya çıktığı günden
itibaren işletim sisteminin gelişmesine yardımda bulunan bir çok kişi bu karara karşı çıktı.
Bunun üzerine amacı UNIX benzeri ve parasız dağıtılabilen bir işletim sistemi ortaya
çıkarmak olan GNU projesi Richard Stallman tarafından başlatıldı.GNU'yu desteklemesi için
1984 yılında Stallman ve arkadaşları “Free Software Foundation (FSF)” projesini yarattılar.
FSF'te “free” ile anlatılmak istenen bedava olan yazılımdan çok özgürce dağıtılan yazılım
manasını taşımaktaydı. FSF'e göre herhangi bir amaç için kullanılabilen , kopyalanıp
üzerinde gerekli değişiklik yapılabilen ve daha gelişmiş bir yazılım sistemine dahil edilebilen
yazılım serbest yazılım(free software) olarak kabul edilmişti. Bu özgürlükler için temel
olarak gereken şey yazılımın koduna erişimdi. Bu yüzden bu akım aynı zamanda “Kaynak
Kodu Açık Yazılım – Open Source Software (OSS)” olarak da anılır.Linux günümüzde
bulunan en büyük kaynak kodu açık yazılımdır.
1.1.2. Linux’un Ortaya Çıkışı
AT&T UNIX işletim sistemini para ile lisanslayana kadar , UNIX üniversitelerde
bilgisayar bilimi öğrencilerine işletim sistemlerini öğretmek için kullanılan bir araçtı.
AT&T'nin yaptığı değişiklik sonrası üniversitelerin yeni bir işletim sistemine ihtiyacı ortaya
çıktı. Bunun üzerine Andrew Tannenbaum UNIX benzeri bir işletim sistemi olan MINIX
işletim sistemini ortaya çıkardı.
1990 yılında Finli bilgisayar bilimi öğrencisi Linus Torwalds Intel mimarisindeki
bilgisayarlar için hafıza yönetimi yapan bir yazılım üzerinde çalışmaya başladı.Bir zaman
sonra bu projesinin genişletilmiş halinin UNIX çekirdeği gibi çalışabileceğini farketti. 1991
yılında comp.os.minix haber grubuna üzerinde çalıştığı projeyi bildiren ve geliştirme için
öneri isteyen bir mesaj gönderdi. Torwalds bu yeni işletim sistemine Linus'un MINIX'i
olarak tanımladığı LINUX adını verdi. Unix üzerinde program geliştiren kişilerden Linux'un
geliştirilmesi için yardım teklifleri gelmeye başladı. Linux'un bir önemli yanı ise GNU
projesinin eksik olan bir parçasını doldurmasıydı. GNU projesi çerçevesinde yaratılacak olan
Unix benzeri işletim sisteminin çoğu parçaları bitmişti. Yapılmayan en önemli parça işletim
sisteminin çekirdeği idi. Bu eksikte Linux tarafından kapatılmış oldu. 1994 yılında Linux 1.0
serisi kernel GPL lisansı altında yayınlandığında , Linux 100,000 kullanıcıya erişmişti.
Günümüzde Linux'un milyonlar ile belirtilen bir kullanıcı kitlesi bulunmakta. Son kullanıcı
pazarında da gün geçtikçe güçlenmesine rağmen Linux günümüzde çoğunlukla sunucularda
kullanılan bir işletim sistemidir. Yapılan araştırmalardan Internet'te bulunan web
sunucularının büyük çoğunluğu Linux işletim sistemi üzerinde çalışmakta olduğu sonucu
ortaya çıkmıştır.
1.2.
Açık Kaynak Kodlu İşletim Sistemi Kurulumu
1.2.1. Hangi Linux ?
Açık kaynak işletim sistemi Linux’un yüzlerce sayıda farklı sürümü (dağıtımı) vardır.
Bütün Linux sürümleri, işletim sisteminin temeli olan ortak çekirdeği kullanmaktadır. Fakat
farklı firma ve kuruluşlar, açık kaynak kodlu olan çekirdek üzerine kendi değişikliklerini
ekleyerek işletim sistemini yapılandırmaktadırlar. Benzer şekilde Linux sürümlerinde
kullanılan temel programların büyük bir kısmı da açık kaynak kodlu olduğu için ortak
programlar farklı uyarlamalarla sürümlerde yer almaktadır. Açık kaynak kodlu yazılımların
getirdiği bu avantajdan dolayı Internet ortamında pek çok Linux sürümü yer almaktadır. Bu
sürümlerin büyük bir kısmı küçük çapta (bir ya da iki disketlik sürümler) olduğu gibi, bazı
büyük Linux sürümleri geliştirilmediği için zamanla kaybolmuştur. Benzer şekilde isteyen
herkes kendi Linux sürümünü hazırlayabilir. (Açık Kaynak İşletim Sistemi dersini
başardığınız takdirde siz de…) Bu tecrübe ile Linux hakkında temel düzeyde pek çok bilgi
edinebilirsiniz.
Linux dağıtımları çeşitli amaçlara yönelik olarak hazırlanırlar. Kimi masaüstü için,
kimi sunucu amaçlı, kimisi de güvenlik duvarı vb. gibi. Siz de öncelikle kendi ihtiyaçlarınızı
belirleyerek, size uygun bir Linux dağıtımını seçebilirsiniz. Mesela masaüstü bilgisayarında
multimedya özelliklerini kullanacaksanız o zaman sizin sunucu araçlarını içeren bir dağıtım
kullanmanıza gerek yoktur. Öte yandan “Linux'un derinliklerine inmek istiyorum, sadece
komut satırını kullanacağım.” diyorsanız çok büyük sürümleri kullanmanız gerekmez. Oyun
amaçlı bir kullanım söz konusu ise tamamıyla grafik tabanlı ve donanım desteği geniş bir
Linux dağıtımı işinizi görecektir. Dağıtımlara ait sitelerde veya başka sitelerde ki ekran
görüntülerine bakabilirsiniz. Bu ekran görüntüleri size bir fikir verecektir.
Aşağıda dünya üzerinde kullanılan Linux dağıtımlarından bazılarının isimleri alfabetik
sırada verilmiştir. Linux’un açık kaynak kodlu bir işletim sistemi olması sebebiyle
dağıtımların sayısı da oldukça fazladır.
Caldera Open
Centos
Corel
Debian
Dynebolic
Edubuntu
EvilEntity
Fedora
Gentoo
Kernel
Knoppix
Kubuntu
Mandrake
Mandriva
Mepis
METU-CC Linux
OpenSuse
Oralux
Pardus
Pc LinuxOS
Puppy
Redhat
Slackware
Suse
Turkix
Ubuntu
Vector
Xubuntu
Zenwalk
FreeBSD
ForeSight
Gelecek
Nessus
TrueBSD
NetBSD
Truva
OpenBSD
Turbolinux
Tablo 1.1 : Bazı Linux dağıtımları.
Bu kaynakta TUBİTAK-UEKAE (Türkiye Bilimsel ve Teknik Araştırmalar KurumuUlusal Elektronik ve Kriptoloji Araştırma Enstitüsü) ‘nin hazırlamış olduğu Pardus Linux
2007 sisteminin kurulumu ve kullanımını merkez alan bir anlatımla karşılaşacaksınız. Bunun
yanında Red Hat Linux dağıtımının da genel özellikleri ve uygulamaları konusunda bilgi
sahibi olacaksınız.
Pardus projesi, TÜBİTAK - UEKAE tarafından başlatılan ve devam ettirilmekte olan,
bilişim okur-yazarlığına sahip bilgisayar kullanıcılarının temel masaüstü ihtiyaçlarını
hedefleyerek; mevcut Linux dağıtımlarının üstün taraflarını kavram, mimari ya da kod olarak
kullanan; özerk sisteme evirilebilecek bir yapılandırma çerçevesi ve araçları ile kurulum,
yapılandırma ve kullanım kolaylığı sağlamak üzere geliştirilen bir GNU/Linux ortaya
koymayı hedeflemiş bir geliştirme projesidir.
1.2.2. Kuruluma Hazırlık
Pardus kurulumuna başlayabilmek için bilgisayarın CD'den açılabilecek şekilde
ayarlanmış olması gerekmektedir. Bu tanımı bilgisayar açılırken “BIOS Setup” menüsüne
girerek yapabilirsiniz.
Bu noktada, sabit diskin durumu hakkında bilgi sahibi olmanız, ve Pardus'u hangi disk
bölümüne kurmak istediğinize karar vermiş olmanız önerilir. Pardus'u sabit diskin tamamını
veya bir bölümünü kullanacak şekilde kurabilirsiniz.
Pardus kurulum sistemi (YALI) ile kısa bir sürede bilgisayarı Pardus'la açılacak
şekilde yapılandırabileceksiniz. Bunun için Pardus CD' sini yerine takın. Bilgisayarı yeniden
başlattıktan bir kaç dakika sonra Pardus'un kurulum ekranı gelecektir.
Resim 1.1 : Pardus 2007 kurulum ekranı (Seçenekler).
Resim 1.2 : Pardus 2007 kurulum ekranı (Lisans anlaşması).
Kurulum ekranında üstte görünen üç basamak, kurulumun aşamalarını ve şu anda
hangi aşamada olduğunuz bilgisini verir. Ekranın sağ yanında bulunan bölümde
bulunduğunuz aşamada gerçekleşen eylemler ya da dikkat edilmesi gereken konularda
uyarılar bulunur. Soldaki alan gerçekleşen işlemlerin görüntülerini takip edebileceğiniz ana
bölümdür. En altta ise önceki işleme dönmek ya da sonraki işleme geçmek için gezinme
düğmelerinin yanı sıra kurulan sürüme ait ayrıntılı bilgileri okuyabileceğiniz “Sürüm notları”
bağlantısını görebilirsiniz.
Resim 1.3 : Pardus 2007 kurulum ekranı (CD Kontrolü).
Resim 1.4 : Pardus 2007 kurulum ekranı (Klavye seçimi).
1.2.3. Disk Bölümlendirme ve Biçimlendirme
Disk bölümlendirme işleminde ne yaptığınızı biliyor olmanız çok önemlidir. Eğer
kuşkularınız varsa, bilgi kaybına uğramamak için, bu konuda bilgili bir kişiden yardım
almanız önerilir.
Kurulum yapılmasına onay verdiğinizde disk bölümlendirme ekranına ulaşırsınız. Bu
ekranda hangi bölümlendirme yöntemini ve birden fazla sabit diskiniz varsa hangi diske
kurulum yapacağınızı belirtebilirsiniz.
'Otomatik Bölümlendirme' seçeneği, diskin tamamı Pardus'a ayrılarak yapılacak
kurulumlar için tasarlanmıştır. Bu seçeneği tercih ederseniz diskinizdeki bütün bilgiler
SİLİNECEKTİR! Eğer diskin yalnızca bir bölümünü Pardus'a ayırmak istiyorsanız “Hayır,
diskimi kendim bölümlendireceğim.” seçeneğini tercih etmelisiniz.
Otomatik disk bölümlendirme seçeneği diskinizi bölümlendirip doğrudan kuruluma
başlar. Diski elle bölümlendirmek istediğinizde aşağıdaki resme benzer bir ekranla
karşılaşırsınız.
Resim 1.5 : Pardus 2007 kurulum ekranı (Disk Bölümlendirme).
Kurulum için seçtiğiniz diskin daha önceden yapılandırılmış bölümleri varsa bu
ekranda tümünü görebilirsiniz. Bu bölümlerde değişiklik yapmak ya da yeni bölümler
yaratmak için listenin altındaki seçenekleri kullanabilirsiniz. YALI herhangi bir disk
bölümünüzün boyutunu içindeki bilgilere zarar vermeden değiştirebilir. Böylece disk
bölümlerini ihtiyacınıza göre yeniden oluştururken kurulu ve çalışan sisteminiz zarar
görmez. Elbette disk bölümündeki boş yerler ile sınırlı olacak, yani bir diski en fazla içindeki
boş yer kadar küçültebileceksiniz.
Resim 1.6 : Pardus 2007 kurulum ekranı (Disk Bölümlendirme).
Resim 1.7 : Pardus 2007 kurulum ekranı (Disk Bölümlendirme).
Bölümlendirme istediğiniz gibi olduğunda kurulum yapılacak bölümleri seçerek bu
adımı tamamlayabilirsiniz. Bunun için bir disk bölümü seçerek 'Düzenle' düğmesine basın.
Karşınıza gelecek olan pencerede aşağıdaki kısımları göreceksiniz.
¾ Pardus Sistem Dosyaları (Zorunlu): Pardus'un çalışacağı dizini oluşturur. En az 4 GB
büyüklüğünde bir disk bölümünün bu seçenekle düzenlenmesi gerekmektedir.
¾ Kullanıcı Dosyaları (İsteğe Bağlı): Sisteme kayıtlı kullanıcıların kişisel dosyaları ve
ayarlarının saklandığı dizinler bu seçenekle düzenlenen disk bölümünde saklanır. Bu
dosyalar ve belgeler, bu seçenekle düzenlenen bir disk bölümü olmadığında Sistem'e
ayrılan disk bölümü içinde saklanır. Zorunlu değildir ancak bu bilgilerin yedeklenmesi,
sistem değişikliklerinde güvenli olarak saklanması için ayrı bir disk bölümü tavsiye
edilir.
¾ Takas Alanı Bölümü (İsteğe Bağlı): Pardus, belleğin yetmediği durumlarda sabit disk
üzerinde takas işlemi gerçekleştirmek için bir takas dosyası ya da bu iş için ayrılan bir
disk bölümü kullanabilmektedir. Bu işlem için burada bir disk bölümü seçebilirsiniz.
Takas Disk Bölümü kullanmadığınız takdirde Pardus tarafından Sistem için ayrılan disk
bölümü altında yapılandırılacak olan bir dosya otomatik olarak kullanılacaktır.
Resim 1.8 : Pardus 2007 kurulum ekranı (Disk Bölümlendirme).
Resim 1.9 : Pardus 2007 kurulum ekranı (Disk Biçimlendirme).
Resim 1.10 : Pardus 2007 kurulum ekranı (Disk Biçimlendirme).
1.2.4. Sistem Kurulumu
Disk bölümlerini belirlediniz ve kuruluma başladınız. Kısa süre içinde masaüstü
bilgisayarları için güncel ihtiyaçları karşılayan bir çok başarılı özgür yazılım bilgisayarınıza
kurulmuş olacak. Bu sürede Pardus'un size sunduğu avantajlarla ilgili bilgileri ana ekranda
değişen görüntülerden, hangi bileşenin kurulduğunu ayrıntılı biçimde ise işlem göstergesinin
altındaki yazılardan takip edebilirsiniz.
Aşağıda Pardus sistem kurulumu aşamasında görülen ekranlara ait görüntülerden
bazıları verilmiştir.
Resim 1.11 : Pardus 2007 kurulum ekranı (Sistem Kurulumu).
Resim 1.12 : Pardus 2007 kurulum ekranı (Sistem Kurulumu).
Resim 1.13 : Pardus 2007 kurulum ekranı (Sistem Kurulumu).
Resim 1.14 : Pardus 2007 kurulum ekranı (Sistem Kurulumu).
Resim 1.15 : Pardus 2007 kurulum ekranı (Sistem Kurulumu).
Resim 1.16 : Pardus 2007 kurulum ekranı (Sistem Kurulumu).
Resim 1.17 : Pardus 2007 kurulum ekranı (Sistem Kurulumu).
1.2.5. Sistem Yöneticisi
Sistem Yöneticisi, Pardus'un kurulum sırasında sisteme eklenmiş ve en üst düzey
yetkiye sahip olarak tanımlanmış ilk kullanıcısıdır. Her sistemde root adıyla sistem
yöneticisi bulunur. Bu kullanıcı sisteminizin tamamına etki eden yapılandırmalar, sistem
kayıtları ve benzeri yönetim uygulamalarını çalıştırmaya yetkilidir. Kolay tahmin
edilemeyecek ve unutmamanız gereken bir parola belirleyerek girmeniz gerekmektedir. Bu
parola daha sonra sistemle ilgili yönetici seviyesinde gerçekleştirilmesi gereken işlemler
sırasında sorulacaktır.
Bu kullanıcının parolasının herkes tarafından bilinmemesi, sisteminizin güvenliği ve
kendi bilgilerinizin düzeni açısından yararlıdır.
Resim 1.18 : Pardus 2007 kurulum ekranı (Yönetici Parolası).
1.2.6. Kullanıcı Ekleme
Bu aşamada dilediğiniz kadar kullanıcıyı gerçek isim, kullanıcı ismi ve parola
bildirerek sisteme ekleyebilirsiniz. Sistem tarafından tanınan her kullanıcının belgelerini ve
ayar bilgilerini sakladığı kendine ait bir ev dizini olacaktır. Bu sayede hiçbir kullanıcı bir
diğerinin sistemi kullanma şekline ya da bilgilerine müdahale edemez.
Resim 1.19 : Pardus 2007 kurulum ekranı (Kullanıcı Ekleme).
1.2.7. Sistem Yükleyicisi
Sistem Yükleyicisi, bilgisayarınız açıldıktan sonra disk üzerinde bulunan sistemleri
belirleyerek açılmalarını sağlar. Pardus'un açılabilmesi ya da birden fazla sistem yüklü ise,
açılışta bilgisayarınızı kullanmak için hangi sistemi tercih edeceğinizi belirlemek için bir
Sistem Yükleyicisi kurulması zorunludur. Sistemi yüklemek için bilinçli olarak başka bir
tercihiniz olmadığı durumlarda mutlaka sistem yöneticisini kurmayı onaylayın.
Resim 1.20 : Pardus 2007 kurulum ekranı (Sistem Yükleyicisi).
1.2.8. Kurulumun Tamamlanması
Bilgisayarınız Pardus'a hazır, Pardus kurulumu gelen Tebrikler ekranıyla birlikte
tamamlanmış olur. Kurulum CD'sinin çıkartılması gerekmektedir.CD çıkarılır ve bilgisayar
yeniden başlatılır. Sistem yükleyicisi yüklendiği için, bilgisayar açılışında açılış seçenekleri
gelir, Pardus veya varsa diğer işletim sistemi (Windows gibi…) seçilerek bilgisayar istenilen
işletim sistemi ile başlatılmış olur.
Resim 1.21 : Pardus 2007 kurulum ekranı (Kurulumun Tamamlanması).
Resim 1.22 : Pardus 2007 kurulum ekranı (Kurulumun Tamamlanması).
1.3.
X-Window Kullanımı
X-Window sisteminden önce UNIX terminal tabanlı ve grafik desteği olamayan bir
sistemdi. X Window’un tasarlanması sayesinde grafik tabanlı uygulamalar da UNIX türevi
işletim sistemlerinde boy göstermeye başladılar.
X-Window Sistemi UNIX sistemler için geliştirilmiş geniş ve güçlü bir grafik
ortamıdır. İlk olarak MIT (Massachusetts Institute of Technology) tarafından geliştirilmiş
olmasına rağmen günümüzde bir çok firma tarafından geliştirilmektedir. Bugün tüm Linux
dağıtımları ile birlikte X-Window sisteminin serbestçe dağıtılabilir sürümü olan Xfree86
gelmektedir. Bu sürümle beraber gerekli tüm çalışabilir dosyalar , kütüphaneler ve araçlar
gelmektedir.
1.3.1. Temel Kavramlar
1.3.1.1. X-Sunucusu
X-Window sistemi gerçekte uygulama yazılımı ile X-sunucusu adıyla anılan özel bir
grafik terminali arasında gerçekleşen iletişimi sağlayan komutlar kümesidir. X-Window
uygulamalarının yaptığı iş belli bir komutu TCP/IP üzerinden X-Sunucusuna göndermekten
ibarettir. Gerekli şekillerin donanım yoluyla çizilmesi işlemini X-sunucusu
gerçekleştirmektedir.
Uygulama ve sunucu arasındaki bu iletişim sayesinde çalışan uygulamalar ile Xsunucusunun aynı sistem üzerinde bulunma gereksinimi ortadan kalkmıştır. Uygulama
programını bir başka makinede çalışırken X-sunucusu ayrı bir makinde çalışıyor olabilir. Ve
uygulama ile X-sunucu arasındaki iletişim TCP/IP kullanılarak yapılır.
Tipik bir X-Window uygulamasının çalışmasında geçen temel adımlar aşağıdaki
gibidir :
¾
X-sunucusu başlatılır ve gerekli konfigürasyon dosyaları okunur ve grafik kartı
tanınır. Daha sonra gerekli tüm donanımlar grafik moduna geçirilir.
¾
X-sunucusu gelecek istekleri karşılamak için standart olarak 6000 numaralı
portu açar ve gelecek istekleri beklemeye başlar.
¾
Tüm X-Window uygulamaları çıktının görüntüleneceği sunucunun IP adresi
gibi bilgilerin girilebileceği standart parametrelere sahiptir. Bu parametreler
sayesinde uzaktaki bir sunucuya bağlanılabilir ve programın kullandığı renk ve
fontları başlangıç aşamasında belirlenebilir.
¾
Uygulama X-sunucusuna bağlantı isteğini belirtir. X-sunucusunda tanımlı
kurallar çerçevesinde uygulamanın sunucuya bağlanmasına izin verilebildiği
gibi uygulamanın bağlanması engellenebilir.
¾
Bağlantı kurulduktan sonra uygulama programı X-sunucusuna gerekli komutları
göndererek ekranda görüntülenmesini sağlar.
X-sunucularının temelde gerçekleştirdikleri görevlerden en önemlisi grafik kartını
kullanma görevidir. X-sunucularının bir grafik kartını kullanabilmesi için bu grafik kartının
temel özelliklerini bilmesi gerekmektedir. Günümüzde çoğu kart SVGA standardını
desteklediği için , SVGA modda çalışma mantığını kullanan X-sunucusu ile sorunsuz
çalışmaktadırlar. Fakat bu modda çoğu kartın özellikleri kullanılamamaktadır. Bu yüzden
dünya çapında kullanılan bir çok kart için özelleştirilmiş X-sunucuları bulunmaktadır. Bu
sunucular sayesinde grafik kartı daha etkili şekilde kullanılabilmekte , grafik işlemleri daha
hızlı ve sunucuya daha az yük getirecek şekilde yapılabilmektedir.
Ayrıca grafik kartlarının çalıştığı modların X-sunucusu tarafından bilinmesi
gerekmektedir. Aksi takdirde X-sunucusu grafik kartını kullanamayacaktır. Bu yüzden grafik
kartı seçerken X Window ile uyumlu olup olmadığın kontrol edilmesinde yarar vardır. X
Window sistemi tarafında tanınan tüm kartların ve chipsetlerin listesi Xfree86 sürümünün
internet sayfalarında bulanabilir.
1.3.1.2. Pencere Denetçileri
X-Window sistemi uygulama programlarının görüntüleri üzerinde kullanıcı tarafından
yapılabilecek olan boy değiştirme, pencerenin bulunduğu yeri değiştirme, simge durumuna
geçirme gibi belirli işlemleri yapmak için özel yetkilere sahip programlar kullanmaktadır. Bu
programlar pencerelerin yönetimi ile ilgilendiğinden “pencere yöneticileri” ismini
almışlardır. Bu programlar standart X-Window dağıtımının bir parçası olmadıklarından çok
farklı yetenek ve özelliklere sahip türleri bulunmaktadır.
Günümüzde en çok kullanılan pencere yöneticileri arasında icewm, kwm, afterstep,
sawfish ve windowmaker gelmektedir.
Pencere yöneticileri temelde özel yetenek ve yetkilere sahip uygulama programlarıdır.
Bu programların sağladığı bir çok özellik bulunmakla beraber, özellikler denetçiden
denetçiye değişmektedir. Tüm pencere denetçilerinde olan ortak özellik uygulama
çalıştırabilme özelliğidir. Tüm pencere denetçileri farklı şekilde de olsa bir uygulamanın
çalıştırılabilmesi için yöntemler sunarlar.
1.3.2. X-Window Programları Komut Satırı Parametreleri
X Window programlarının çoğu belli işlevler için aynı komut satırı parametrelerini
kullanırlar. Bu parametreler ile çoğunlukla arka ve ön plan renkleri, kullanılacak font,
açılacak pencerenin yeri ve büyüklüğü gibi bilgiler ayarlanmaktadır.
En çok kullanılan parametre listesi ve açıklamaları aşağıdaki gibidir :
¾
-display bağlanılacak_sunucu : Hangi X sunucusunun kullanılacağı belirtilir.
bağlanılacak_sunucu bilgisi
¾
sunucu_ismi: görüntü_numarası.ekran_numarası formatındadır. Bu bilgi
verilmediği takdirde varsayılan olarak -display :0.0 parametresi verilmiş kabul
edilecektir. Sunucu ismi kısmını boş olması komutun çalıştırıldığı makineye
bağlanılması gerektiği anlamına gelmektedir.
¾
-geometry geometri_bilgisi : Bu parametre ile açılan pencerenin ilk büyüklüğü
ve konumu belirtilir. geometri_bilgisi “genişlik x yükseklik + yatay_uzaklık +
düşey_uzaklık” formatına sahiptir. (Örnek -geometry 120x60+150+50 )
¾
-bg renk : Açılan pencerenin arka planının hangi renkte olması gerektiği bilgisi
verilir.
¾
-fg renk : Açılan pencerede kullanılacak ön planın hangi renkte olması
gerektiği bilgisini verir.
¾
-font font : Pencerede metinleri görüntülemek için kullanılacak font belirtilir.
Font belirtilirken iki ayrı format kullanılabilir. Birinci seçenekte fontun sadece
aile ismi kullanılır. (Örnek : -font helvetica ). İkinci seçenekte ise X-Window
tarafından kullanılan font isimlendirme metodu kullanılabilir. (Örnek : -font adobe-courier-bold-r-normal--*-*-*-*-*-*-iso8859-9 )
1.3.3. Pencere Denetçilerinin Seçimi
Pencere denetçilerinin sayısının fazla olması ve ayrı ayrı her pencere denetçisinin
belirli bir kullanıcısının olması sebebiyle tüm Linux dağıtımları birden fazla pencere
denetçisi ile birlikte gelmektedir. Günümüz dağıtımları genel olarak iki farklı masaüstü
sistemi kullanmaktadır. Bunlar GNOME ve KDE masaüstü sistemleridir. KDE masaüstü
sistemi kendi pencere denetleyicisine sahiptir. GNOME masaüstü sistemi ise sawfish
pencere denetleyicisini kullanmaktadır. Ayrıca windowmaker, icewm, fvwm gibi diğer
pencere denetçileri de Linux dağıtımları ile birlikte gelmektedirler.
Red Hat Linux sistemlerde kullanıcı kurulum sırasında GNOME veya KDE masaüstü
sistemlerinden birini seçmiş ise varsayılan pencere denetçisi masaüstü sistemi tarafından
kullanılan pencere denetçisidir. Eğer bu iki sistem birden kurulum esnasında seçilmiş ise ,
kurulum programı hangi sistemin varsayılan olarak kullanılmak istediğini kullanıcıya
sormaktadır. Bu bilgi /etc/sysconfig/desktop dosyasında tutulmaktadır. Red Hat Linux
dağıtımları her zaman GNOME masaüstü sistemini önerdikleri için bu dosyanın eksikliği
veya içinin boş oluşu tercih edilen sistemin GNOME olduğunu belirtmektedir. KDE
masaüstü sisteminin seçilmesi için bu dosyanın “KDE” satırını içermesi gerekmektedir.
Eğer iki masaüstü sistemi de mevcut değil ise sistemde var olması muhtemel olan
diğer pencere yöneticileri araştırılır ve bulunan bir tanesi çalıştırılır. X-Window sistemi
çalıştırılacağı zaman hangi pencere denetçisinin çalıştırılacağı bilgisini ilk olarak
kullanıcının ev dizininde bulunan .Xclients dosyasında arar.
Eğer bu dosya mevcut değil ise tüm sistem için geçerli olan /etc/X11/xinit/Xclients
dosyası kullanılır. Bu dosya temelde ufak kabuk programlarıdır.
.Xclients dosyasına çalıştırmak istediğiniz pencere denetçisini çalıştırmak için
kullanılan komutun yazılması yeterlidir. Dikkat edilmesi gereken nokta pencere denetçisini
çağırırken exec çağrısının kullanılmasıdır.
Örnek 1.1 :
Gnome masaüstü için
KDE masaüstü için
Fvwm için
: exec /usr/bin/gnome-session
: exec /usr/bin/startkde
: exec /usr/X11R6/bin/fvwm
1.3.4. X-Sunucusunun Başlatılması
X-sunucusunun başlatılması için bir çok yöntem kullanılabilir. Bunlardan en basiti
sunucunun komut satırından direk çağrılmasıdır. (Ör: /usr/X11R6/bin/XF86_SVGA ) Bu
durumda X-sunucusu metin tabanlı konsol tarafından kullanılmayan bir konsola geçerek
çalışmaya başlayacaktır.
İkinci bir yöntem xinit programının kullanılmasıdır. Bu program X-sunucusunu
çalıştırırken ek olarak uygulama programları da çalıştırabilmektedir. Üçüncü ve en çok
kullanılan metot ise startx komutunun çalıştırılmasıdır. Bu komut temelde xinit programı
çağırmadan önce hangi ayar dosyalarının kullanılacağını belirleyen bir kabuk programıdır.
Kullanıcının kendi dizininde gerekli ayar dosyalarını oluşturup oluşturmadığını kontrol eder.
Eğer kullanıcı gerekli dosyaları oluşturmuş ise kullanıcının dosyalarını , oluşturmamış ise
sistem genelinde geçerli olan dosyaları xinit programına parametre olarak gönderir.
1.3.5. Xinit Konfigürasyon Dosyası
Xinit programına bildirilen konfigürasyon dosyası temelde X-sunucusu
çalıştırıldığında ek olarak çalıştırılacak programların komutlarını ve klavye ayarlarını
içermektedir.
Red Hat Linux dağıtımlarında her kullanıcı kendi xinit konfigürasyonunu
yapabilmektedir. Bunun için kullanıcı ev dizininde .xinitrc isimli bir dosya yaratması ve
gerekli komut ve ayarları bu dosyaya girmesi gerekmektedir. Kullanıcının ev dizininde
.xinitrc dosyası mevcut değilse tüm sistem için geçerli olan /etc/X11/xinit/xinitrc dosyası
konfigürasyon dosyası olarak kullanılacaktır.
/etc/X11/xinit/xinitrc dosyası içinden kullanılacak pencere denetçisini seçmek
amacıyla Xclient dosyası çağırılır. Eğer kullanıcının ev dizininde .Xclients dosyası mevcut
ise bu dosya çalıştırılır. Bu doysa mutlaka çalıştırılabilir olmalıdır. Bu dosya mevcut değilse
tüm sistem için geçerli olan /etc/X11/xinit/Xclients dosyası çalıştırılır. Bu sayede Xsunucusunda kullanılacak olan pencere denetçisi çalıştırma adımına gelinmiş olunur.
1.3.6. X-Sunucusunun Font ve Klavye Ayarları
X-Window Sistemi temelde Linux konsollarında kullanılan klavye sisteminden farklı
bir klavye kullanmaktadır. X sunucusu açılırken sistemde kullanılan klavye ile ilgili ayarları
/etc/X11/Xmodmap isimli dosyadan okur. Bu dosyada tuşlar ve karşılıkları bulunmaktadır.
Kullanıcılar kendi ev dizinlerinde yaratacakları .Xmodmap dosyasını kendi klavye ayarları
için kullanabilirler.
Tüm sistemlerde metinlerin gösterilmesi için fontlar kullanılmaktadır. Fontlat temelde
ufak grafikler olarak da düşünülebilir. X Window sistemi de tüm metin görüntülenme
işlemlerinde fontları kullanmaktadır.
Tüm Linux dağıtımları ile beraber bir çok font gelmektedir. X Window tarafından
kullanılan fontların sisteme tanıtılmasında ve kullanılmasında belirli bir standart
oluşturulmuştur. Bir font belirtilirken belli özellikleri olan bir katar olarak gösterilmektedir. (
Ör : -adobe-utopia-regular-i-normal--15-140-75-75-p-79-iso8859-1 ) Bu gösterilimde
özellikler tire “-“ işareti ile birbirlerinden ayrılmaktadır.
Bu gösterilimin temel formatı aşağıdaki gibidir :
-fndry-fmly-wght-slant-sWdth-adstyl-pxlsz-ptSz-resx-resy-spc-avgWidth-rgstryencdgn
fndry : Font yapan kişi veya firmayı belirtir. (adobe , b&h,dec vs.)
fmly
: Fontun dahil olduğu aile ismi. (courier,times,helvetica vs.)
wght : Fontun ağırlığını bildirir. (Kalın-bold,orta-medium vs.)
slant
: Fontun görünüşü ( italic - i , roman(normal)-r vs.)
sWdth : Fontun genişliğini bildirir. (normal , genişlemiş vs.)
adstly : Font için ek stil belirtir. (sans serif , serif vs.)
pxlsz : Piksel genişliğini belirtir. ( 10,12,13 vs)
ptSz
: Fontun gösterimde kaplayacağı alanı belirtir. (100 , 120,130 vs)
resx
: Yatay çözünürlüğü dpi olarak belirtir. (75,100)
resy
: Dikey çözünürlüğü dpi olarak belirtir. (75,100)
spc
: Karakterler arasındaki uzaklığı belirtir.
avgWidth : Font için geçerli olan ortalama karakter büyüklüğünü belirtir.
rgstry : Fontun sahip registry ismi (iso8859 , misc ,oem vs)
encdgn : Ulusal kodlama numarasını belirtir. (1,9 vs)
İlk bakışta bu bilgilerin kullanıcı tarafından bilinmesi ve doğru şekilde kullanılması
zor gözükmektedir. Bir font ile ilgili özellikleri belirtirken belirli bir özellik için sistem
dahilinde geçerli olan kurallar kullanılmak istenirse bu özelliğin bulunduğu kısma yıldız “*”
karakteri koyulması gerekmektedir.
xfontsel programı kullanıcıya sistemde var olan fontlardan istediği fontu seçmesini
sağlayan ve seçilen font için gerekli font ifadesini belirten bir yardımcı programdır.
Bir X-sunucunun kullanabileceği font listesini görmek için xlsfont programı
kullanılmaktadır. Bu programda diğer tüm X-Window programları gibi bağlanılacak sunucu
seçimi için parametre alabilmektedir.
X-sunucuları tarafından kullanılan fontlar genellikle /usr/X11R6/lib/X11/fonts dizini
altında bulunan dizinlerde yer almaktadır.
X-sunucuları tarafından kullanılan fontlar genellikle /usr/X11R6/lib/X11/fonts dizini
altında bulunan dizinlerde yer almaktadır. Red Hat Linux 7.1 dağıtımı ile birlikte gelen
Türkçe fontlar ise /usr/share/fonts/ISO8859-9 dizini altında yer almaktadır.
Font dosyalarını içeren dizinlerdeki fontların X Window sistemi tarafından
kullanılabilmesi için bu dizinler fonts.alias ve fonts.dir dosyalarını içermelidir. Fonts.alias
dosyası dizinde bulunan fontların isimlerini daha kolay olan isimler ile kullanılabilmesini
sağlar. Fonts.dir dosyası ise dizinde bulunan font dosyalarının hangi fontları içerdiği bilgisini
tutar. Bu dosyaların oluşturulması için fontları barındıran dizin içinde mkfontdir komutunun
çalıştırılması yeterlidir.
Dizinlerde bulunan fontların X-sunucusu tarafından kullanılabilmesi için bu dizinlerde
font bulunduğu bilgisinin X-sunucusuna bildirilmiş olması gerekmektedir. X-sunucusu
başlangıçta okuduğu XF86Config dosyasından fontlar için kullanacağı kaynakları belirler.
Fontlar için iki farklı kaynak söz konusudur. Bunlardan biri fontların bulunduğu
dizinler, diğeri ise X Font Sunucusudur(xfs). Her iki kaynak aynı anda kullanılabilmektedir.
Font kaynaklarını X-sunucusuna tanıtmak için XF86Config dosyasının “Files”
kısmında FontPath tanımı kullanılır. Her kaynak için bir adet FontPath tanımı bulunmak
zorundadır.(Dizinler ayrı ayrı kaynak teşkil etmektedirler.)
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
FontPath "/usr/X11R6/lib/X11/fonts/TrueType"
#Font kaynağı olarak /usr/X11R6/lib/X11/fonts/TrueType dizinini
#kullanmasını söyleyen tanım
FontPath "unix/:7100"
#Font kaynağı olarak yerel makinede 7100 numaralı soketi
#kullanmasını soyleyen tanım. X Font Sunucusu varsayılan
#olarak 7100 numaralı soketi dinler.
EndSection
Çalışma esnasında X sunucusu tarafından kullanılabilecek fontları değiştirmek için
xset komutu kullanılabilir. Xset komutu X-sunucusu ile ilgili bir çok ayarın X-sunucusu
devrede iken yapılmasına ve değiştirilmesine olanak sağlamaktadır.
Örnek 1.2 : xset fp=kaynak1,kaynak2 Bu komut sayesinde X-sunucusunun fontlar
için kullandığı kaynaklar komutta verilen kaynaklar olacaktır.
Örnek 1.3 : xset +fp kaynak1,kaynak2 Bu komut sayesinde X-sunucusunun fontlar
için kullandığı kaynaklar arasına verilen kaynaklar eklenecektir.
Örnek 1.4 : xset -fp kaynak1,kaynak2 Bu komut sayesinde X-sunucusunun fontlar
için kullandığı kaynaklar arasından verilen kaynaklar kaldırılacaktır.
Örnek 1.5 : xset fp default Bu komut sayesinde X-sunucusunun fontlar için kullandığı
kaynakların listesi ön tanımlı olan listeye geri dönecektir. Ön tanımlı olan liste XF86Config
dosyasında belirtilen kaynak listesidir.
Örnek 1.6 : xset fp rehash Bu komut sayesinde fontların bulunduğu kaynaklarda
yapılan değişikliklerin X-sunucusu tarafından algılanması sağlanır.
1.3.7. Masaüstü Sistemleri
1.3.7.1. GNOME Masaüstü Sistemi
GNOME masaüstü kullanıcıların bilgisayarlarını kolayca kullanmaları ve konfigüre
etmeleri için yaratılmış bir masaüstü ortamıdır. Bu ortam masaüstü , panel ve bir çok
uygulama içermektedir.
GNOME projesi kaynak kodu açık bir projedir ve yüzlerce programcı tarafından
CORBA ( Common Object Request Broker Architecture) ve GTK+ (GIMP Toolkit)
kullanılarak geliştirilmektedir. GNOME projesi Red Hat tarafından desteklenmektedir. Bu
sebepten dolayı Red Hat masaüstü sistemlerinde kullanıcı arayüzü olarak GNOME
masaüstünü önermektedir.
GNOME masaüstü kullanıcıya masaüstünü istediği gibi oluşturabilmesi avantajını
sağlamaktadır. GNOME ile birlikte gelen GNOME oturum yöneticisi sayesinde kullanıcının
yaptığı ayarlar , daha sonraki oturumlarda da geçerli olabilmektedir. GNOME ile birlikte
gelen uygulamalar veya GNOME masaüstü için özel yazılmış uygulamalar oturum
özelliğinden faydalanabilmektedir. Bu özellik ile belirtilen , sistemden çıkıldığında çalışan
programlar yeniden sisteme girildiğinde yeniden çalıştırılacaktır.
GNOME , GNU Network Object Model Enviorment kelimelerinin baş harflerinden
oluşmuş bir kısaltmadır. Açık isminden de anlaşılabileceği gibi GNOME projesi GNU
projesi dahilinde bir alt projedir.
GNOME masaüstü sisteminin sahip olduğu yüksek ayarlanabilirlik özelliği sayesinde
bu görüntüden çok farklı görüntü elde etmek mümkündür. En alt’ta bulunan ve üzerinde bir
çok nesneyi barındıran yapıya “panel” denmektedir. Paneller üzerinde menü , aplet ,
çekmece gibi GNOME nesnelerini taşımak için kullanılan birimlerdir. Panel dışındaki
bölümler ise “masaüstü” olarak adlandırılmıştır. Masaüstü programlara, web sitelerine
kısayol içeren bir birimdir.
1.3.7.1.1. GNOME ve Pencere Yöneticileri
GNOME günümüzde bulunan bir çok pencere yöneticisi ile çalışabilmektedir.
Temelde tüm X Window programları X Window Sistemini kullandıkları için belirli
standartlara uymak durumundadırlar. Bu sayede pencere yöneticileri diye ifade edilen özel
uygulamalar çalışan programdan bağımsız olarak yönetim işlemini yapabilmektedir. Bu
özellikten dolayı GNOME çok fazla sayıda pencere denetçisi ile çalışabilmektedir. Bu
pencere denetçileri arasında Sawfish,IceWM,WindowMaker, Enlightenment, AfterStep ve
FVWM2 en çok kullanılanlarıdır.
GNOME masaüstünün getirdiği belli ek özellikler bulunmaktadır. Bu ek özellikler her
pencere denetçisi tarafından desteklenmiyor ise bu özellikler kullanılamaz. Bu sebepten
dolayı pencere denetçisi seçiminde dikkat etmek gerekmektedir. Red Hat Linux dağıtımları
ile birlikte gelen GNOME masaüstü sisteminde pencere denetçisi olarak SawFish
kullanılmaktadır.
1.3.7.1.2. Paneller
Paneller Gnome masaüstü sisteminin en önemli parçasını oluşturmaktadırlar. Paneller
temel de ana menüyü , kullanıcı menülerini , uygulama kısayollarını , apletleri ve bir kaç
özel nesneyi taşımak amacıyla kullanılan birimlerdir. Paneller de tüm Gnome masaüstü
sistemi gibi yüksek derecede kişiselleştirilebilir.
Aynı anda birden fazla panel masaüstünde bulunabilir. Çalışma esnasına panellerin
üzerinde bulunan nesneler kaldırılabilir , eklenebilir ve özellikleri değiştirilebilir.
Panellerde bulunabilecek nesneler aşağıdaki gibidir :
¾
Menüler
¾
Uygulamalara Kısayollar. ( Uygulama çalıştırıcılar)
¾
Appletler
¾
Çekmeceler
¾
Özel Nesneler
Panel ile ilgili herhangi bir değişiklik yapmak istendiği takdirde panelde bulunan bir
boş noktaya farenin sağ tuşuna basılarak açılan menü kullanılmalıdır. Bu menü sayesinde
yeni paneller yaratabilir , panelin özelliklerini değiştirebilir , panele yeni nesneler
ekleyebilirsiniz. Panel üzerinde bulunan bir nesneye sağ tuş ile bastığınızda nesnenin
özelliklerini değiştirebilmeyi ve nesneyi panelden kaldırabilmeyi sağlayan başka bir menü
açılmaktadır.
1.3.7.1.3. Ana Menü
Panelin en sol tarafında bulunan “ayak izi” simgesine sahip nesne “Ana Menü” olarak
adlandırılmıştır. Bu nesne sayesinde Gnome masaüstü tarafından sağlanan tüm özelliklere
erişilebilmektedir. Bu özellikler arasında uygulamaları çalıştırma , konfigürasyon araçları ,
sistemden çıkma , ekranı kilitleme gibi özellikler bulunmaktadır.
Ana Menüye girmek için simgenin üzerine farenin sol tuşu ile basmak yeterlidir. Bu
olaydan sonra ana menü açılacaktır. Ana menünün en önemli özelliklerinden biri Drag-andDrop özelliğini desteklemesidir. Ana menüden alınan bir nesne masaüstüne veya panellerin
üzerine bırakılabilir. Nesne bırakıldığı birimde de menüdeki tüm özelliklerini korur.
Ana menünün en önemli parçası “Programlar” alt menüsüdür. Bu alt menüden daha
önceden ayarlanmış alt menüler ve menü parçaları bulunmaktadır. Bu alt menü sayesinde
sistemde bulunan uygulamalara erişilebilmektedir.
Programlar menüsünden farklı olarak ana menü bir kaç yararlı alt menü ve komut
içermektedir. Bunların en önemlileri aşağıdaki gibidir :
Sık Kullanılanlar (Favorites) : Bu alt menü normalde boş olarak gelmektedir. Bu alt
menünün temel amacı kullanıcının sıkça kullandığı programlara erişmesini daha kolay hale
getirmektir.
Appletler : Bu alt menü sisteme yüklenmiş tüm appletlerin lisesini içerir. Bu menüden
bir applet seçildiği takdirde seçilen applet panele yerleşir.
KDE Menüleri : Bu alt menü sadece KDE masaüstü sistemi yüklü ise
görüntülenebilmektedir. Bu alt menüde KDE masaüstünde kullanılan menüler
bulunmaktadır. İstendiği takdirde bu menünün gösterilmesi engellenebilir.
Panel : Bu alt menü panelin özelliklerinin değiştirilmesi , panele yeni nesneler
eklenmesi gibi işlevler için kullanılmaktadır.
1.3.7.1.4. Kullanıcı Menüleri
Ana menüden farklı olarak Gnome masaüstü sisteminde kullanıcı menüleri de
bulunmaktadır. Ana menüden farklı olarak kullanıcı menülerinin içerecekleri kısayollar ve
alt menüler kullanıcı tarafından yaratılmalıdır. Ana menüde bulunan tüm alt menüler aynı
zamanda panele kullanıcı menüsü olarak da eklenebilir. Bu işlem için alt menünün üzerinde
iken sağ tuş ile açılan menüden “Add this as menu to panel” seçeneğini seçmek yeterli
olacaktır.
Kullanıcı menülerinin isimleri, simgeleri gibi bir çok özelliği değiştirilebilmektedir.
Bu işlemleri gerçekleştirmek için yapılması gereken menü üzerinden iken sağ tuş ile açılan
menüden özelliklere gelip gerekli değişikliği yapmaktır. Bu değişikler ana menüden alınan
alt menüler için geçerli değildir.
1.3.7.1.5. Uygulama Kısayolları
Kısayollar panel üzerinde bulunan ve sistemde bulunan uygulamaları çalıştırmak için
kullanılan nesnelerdir. Kısayollar GNOME projesi tarafından “Launchers” olarak
anılmaktadır.
Panel üzerinde bulunan tüm nesneler gibi kısayollar da belirli özellikleri sahiptir ve bu
özellikler GNOME masaüstünün temel özelliklerinden olan kişiselleştirebilme kuralına uyar.
Kısayol ile ilgili özellikleri ayarlamak için , kısayolun üzerinde iken sağ tuş ile çıkan
menüden “Properties” seçilmelidir. Yeni bir kısayol yaratmak istediğimizde de Şekil ’de
gösterilen özellikler penceresi karşımıza çıkacaktır.
Kısayol özellikleri penceresi iki adet sekmeden oluşmaktadır. Bunlar “Basic” ve
“Advanced” sekmeleridir.
“Basic” sekmesinde aşağıdaki özellikler ayarlanabilir :
Uygulamanın ismi : Bu özelliğin ayarlanması için “Name” bilgisi kullanılır. Bu özellik
panel üzerindeki kısayollarda kullanılmamakla beraber, kısayolun menüye eklenmesi
durumunda kullanılacaktır.
Açıklama : Bu özellik programın temel işlevini belirtmek için kullanılır. Fare ile
kısayol üzerine gelindiği takdirde burada girilen bilgi kullanıcıya gösterilmektedir.
Çalıştırılacak Komut : Programın çalıştırılması için sistemde yürütülecek komut
bilgisinin girildiği yerdir.
Kısayolun Tipi : Kısayolların çoğu uygulamalar için yaratıldığından tip kısmının
“Application” olarak bırakılması gerekmektedir. Uygulamadan farklı bir kısayol yaratılmak
istendiğinde tip değiştirilmelidir.
Simge : Kısayol için kullanılacak simgenin belirlenmesine yaramaktadır. Simgeyi
değiştirmek için varolan simgenin üstüne tıklamak ve açılan pencereden yeni simgeyi
seçmek yeterli olacaktır.
Uygulamanın Terminalde çalışıp çalışmayacağı : X Window için yazılmamış olan tüm
uygulamalar terminalde çalıştırılmak zorundadır. X Window programları için bu zorunluluk
bulunmamaktadır.
Kısayollar için gelişmiş özellikleri ayarlamak için “Advanced” sekmesi
kullanılmaktadır. Bu sekme seçildiğinde Şekil-2 ’deki ekran karşımıza gelmektedir.
Gelişmiş ayarlar sekmesinde kısayol ile ilgili aşağıdaki ayarlar yapılabilmektedir :
Kullanım öncesi denetim : “Try this before using” kısmına girilen komutun düzgün
çalışıp çalışmamsına bakılarak kısayolun görünür olup olmayacağına karar verilir.
Seçilen dile göre isim ve açıklamanın çevirisi : GNOME masaüstü sistemi birçok dil
için destek içermektedir. Bir kısayol için isim ve açıklama kısmı istendiği takdirde her dil
için ayrıca yapılabilir. Belirli bir dil için isim ve açıklama girilmek istendiğinde iki harflik
ülke kodu ile isim ve açıklama pencerenin alt tarafında bulunan metin kutularına girilir ve
“Add/Set” tuşuna basılır
1.3.7.1.6. Appletler
GNOME masaüstünde appletler panel üzerinde çalışması için yazılmış özel amaçları
olan uygulamalardır. GNOME masaüstü sisteminde bir çok kullanışlı applet bulunmaktadır.
Bunlardan en çok kullanılanları X Window sisteminde bulunan masaüstlerini kontrol
edilmesine yarayan “Desk-Guide Applet” , diğeri de çalışan uygulamaların belli özelliklerini
kontrol edilmesini sağlayan “Tasklist Applet” dir.
Panel’e applet eklemek için panel üzerinde sağ tuşla açılan genel menüden “Add
Applet” alt menüsüne geçilmeli ve istenen applet eklenmelidir.
Bir appletin özelliklerini değiştirmek için applet üzerinde iken sağ tuş ile açılan
menüden “Properties” nesnesi seçilmelidir.
1.3.7.1.7. Çekmeceler
Çekmeceler küçük panellerdir. Panel üzerinde bulunabilecek olan kısayollar appletler
ve çekmeceler , bir çekmece içinde de bulunabilmektedir.Çekmeceler sayesinde panel
üzerindeki alan daha verimli kullanılabilir.
Şekil’de açık durumda bulunan bir pencere gözükmektedir.
1.3.7.1.8. Panel Üzerindeki Nesnelerde Değişiklik Yapma
Panel üzerine bulunan tüm nesnelerin belirli özellikleri bulunmaktadır ve bu özellikler
istendiği takdirde kullanıcı tarafından değiştirilebilmektedir. Panel üzerindeki bir nesnenin
özelliklerine ulaşmak için nesne üzerinde iken sağ tuşla açılan menüden “Properties”
seçeneğinin seçilmesi yeterli olacaktır. Nesne üzerinde iken sağ tuş ile ortaya çıkan menü
Şekil-1'de gösterilmektedir. Panel'e yeni bir nesle eklenmek istediğinde Panel menüsünden
“Add to panel” alt menüsü altındaki seçenekler kullanılmaktadır. Bu alt menü Şekil-2'de
gözükmektedir.
1.3.7.1.9. Panel İşlemleri
Paneller de diğer tüm Gnome nesneleri gibi kullanıcı tarafından değiştirilebilen
özelliklere sahiptir. Kullanıcı istediği takdirde varolan bir paneli yok edebilir , yeni bir panel
yaratabilir ve panelin bulunduğu yeri değiştirebilir.
Yeni panel yaratmak için Panel menüsünden “Create Panel “ alt menüsü seçilmelidir.
Gnome masaüstü sisteminden 5 farklı panel bulunmaktadır. Bunlar :
Edge Panel : Bu panel GNOME ile en çok kullanılan panel tipidir. Ekranı yatay veya
dikey olarak kaplamaktadır.
Hizalanmış panel (Aligned Panel ) : Bu panelin edge panelden farkı ekranı bir uçtan
bir uca kaplamamasıdır. Panel üzerine yeni nesneler eklendiği takdirde panel kendi
büyüklüğünü ayarlamaktadır. Ayrıca bu tip panel üzerine nesneler eklendikçe hizalama
işlemini tekrarlamaktadır.
Kayan Panel (Sliding Panel) : Bu panel tipinin hizalanmış panelden farkı bulunduğu
köşede sabit olmayışıdır. Bu panel bulunduğu köşede hareket edebilmektedir. Üzerine yeni
nesneler eklendiğinde büyüklüğü tekrar ayarlamakta fakat hizalama işlemini
gerçekleştirmemektedir.
Yüzen Panel (Floating Panel) : Yüzen Panelin en temel özelliği ekranda herhangi bir
yere yerleştirilebilmesidir. Diğer tüm panel tipleri mutlaka bir köşede bulunmak zorundadır.
Menü Paneli : Menü paneli ekranın üst kısmında yer alan ve temelde programlar ,
ayarlar gibi menüleri içeren bir panel tipidir. Menü paneli devamlı olarak ekranın üst
kısmında bulunmak zorundadır. Bu özelliğinden dolayı bir masaüstünde sadece bir adet
menü paneli bulunabilmektedir.
Bir panel yaratıldıktan sonra da tipi değiştirilebilmektedir. Bu işlem için panel
üzerinde iken sağ tuş ile açılan Panel menüsünden “Properties” alt menüsüne geçilmeli ve
“Type” alt menüsünden istenilen tip seçilmelidir.
Gnome masaüstü sistemi en azından bir adet panelin var olmasını şart koşmaktadır.
Bu sebepten dolayı sistemde bir adet panel bulunduğu takdirde bu panelin silinme işlemi
gerçekleştirilememektedir.
1.3.7.1.10. GNOME Masaüstü ve Dosya Yöneticisi
Gnome masaüstü sisteminde bulunan masaüstü aynı zamanda Dosya yöneticisi
görevini de yerine getiren programlar ile sağlanmaktadır. Gnome masaüstü sisteminde şu an
kullanılan iki farklı dosya yöneticisi bulunmaktadır. Bunlardan bir tanesi “gmc” diğeri ise
“Nautilus” diye isimlendirilen doysa yöneticisidir. Herhangi bir sebepten dolayı dosya
yöneticisi çalışmaz ise masaüstü kullanılamamaktadır. Masaüstünün kullanımı için dosya
yönetici penceresinin açık olma zorunluluğu bulunmamaktadır.
Red Hat Linux dağıtımları gmc dosya yöneticisi ile birlikte gelmektedir. Fakat
GNOME projesi yeni sürümlerinde nautilus dosya yöneticisini kullanmaya karar vermiştir
Gnome masaüstü diğer tüm işletim sistemlerinde var olan temel özelliklerin hepsini
desteklemektedir. Masaüstünde dizinler , dosyalar ve kısayollar oluşturulabilmekte ,
masaüstüne nesneler bırakılabilmekte , masaüstünden nesneler Gnome uyumlu uygulamalara
atılabilmektedir.
Masaüstü temelde kullanıcının ev dizininde bulunan bir dizindir. Gmc dosya
yöneticisi temel olarak .gnome-desktop dizinini kullanmaktadır. (Şekil-1) Nautilus ise
.naitulus dizini altında bulunan desktop dizinini masaüstü bilgilerini tutmak için
kullanmaktadır (Şekil-2 ).
Gnome masaüstü sistemi aynı anda birden fazla masaüstünü alanı ile çalışmayı
desteklemektedir. Bu sayede kullanıcı daha geniş ve organize bir çalışma alanına sahip
olmaktadır. Masaüstü alanı ile belirtilmek istenen bir masaüstünün belli kısımlara
ayrılmasıdır. Gnome ile kullanılan bazı pencere denetçileri birden fazla masaüstünü de
desteklemektedir. Gnome varsayılan olarak bir masaüstü ve 4 masaüstü alanı
kullanmaktadır.
Masaüstünde belli işlemler yapmak için masaüstü menüleri kullanılabilir. Bu menüler
masaüstünde iken farenin sağ tuşu ile görülebilmektedir.
1.3.7.1.11. GNOME Kontrol Merkezi
Gnome masaüstü sistemi , Gnome ile ilgili belli ayarların yapılmasını kolaylaştırmak
amacıyla Gnome Kontrol Merkezi (Gnome Control Center) isimli bir araç ile birlikte
gelmektedir. Bu araç sayesinde Gnome masaüstü sistemi ile ilgili tüm ayarlar
yapılabilmektedir. Şekil 'de Gnome kontrol merkezi görünmektedir.
Kontrol merkezi temelde iki ayrı bölümden oluşmaktadır. Sağ kısımda kalan bölümde
ayar yapılabilecek başlıklar , sol kısımda ise genel çalışma ekranı bulunmaktadır.
Ayar yapılabilecek başlıklar belli özelliklere göre kategorize edilmişlerdir. Bu
kategoriler aşağıdaki gibidir :
Masaüstü (Desktop) : Gnome masaüstü ile ilgili ayarlamaları barındıran başlıktır.
Döküman İşleyiciler ( Document Handlers) : Dosya tiplerin tanıtıldığı ve belli tipte
bulunan dosyaların hangi programlar ile açılabileceği ile ilgili ayarları barındıran başlıktır.
Görünüm ( Look and Feel) : Çalışan uygulamaların belli özelliklerinin görünümü ile
ilgili ayarları barındıran başlıktır.
Çoklu ortam (Multimedya) : Çoklu ortam ile ilgili ayarları barındıran bölümdür.
Cihazlar (Peripherals) : CD , klavye ve fare gibi cihazlar ile ilgili ayarları barındıran
bölümdür.
Pencere Yöneticisi Ayarları : Gnome ile birlikte kullanılan pencere yöneticisi ile ilgili
ayarları barındıran bölümdür.
Oturum ( Session) : Gnome masaüstü sisteminin en önemli özelliklerinden biri olan
oturum ile ilgili ayarları barındıran bölümdür.
1.3.7.2. KDE Masaüstü Sistemi
1.3.7.2.1. KDE Özellikleri ve Masaüstü Ortamı
Unix ‘in geliştirilme sürecinde, birçok problem ile karşılaşılmıştır. Bunlar zaman
zaman kararlı çekirdeklerin, zaman zaman ise güçlü sistem yardımcı programlarının
olmaması yada geliştirilmesinin zor olması olarak karşımıza çıkmıştır. Bu yüzden Unix
işletim sistemi, bu konular üzerinde uzun zaman çalışmış profesyoneller ve öğrenciler
dışında, kullanılması zor bir işletim sistemi olarak kalmıştır. Örneğin uzun zaman boyunca
kullanıcılar, usenet servislerinden yararlanmak istediğinde,
$ find /var/spool/news –name ‘[0-9]*’ –exec cat {} \ ; | more
komutunu kullanmak zorunda kalmıştır. Daha sonra bu problem, tin, kNode gibi
kullanımı kolay, sezgisel kullanıcı grafik arayüzleri ile çözülmüştür. Bunun yanında,
programların yapılandırılması da başka bir problemdi. Çünkü çok az program için,
$ ./configure && make && make install
kullanılarak program derlenip kurulabiliyordu, çoğu zaman programın yapılandırma
text dosyasının kullanıcı tarafından elle düzenlenmesi gerekirdi ki bu çoğunlukla uzun süren
ve zor bir iş olabiliyordu. Bu şekildeki bir yapılandırmadan sonra programın yeni bir
değişiklik için yeniden yapılandırılmak istenmesi, tüm konfigürasyonun yeniden
düzenlenmesine sebep oluyordu.
KDE bu açıdan çok farklı bir yazılım olarak karşımıza çıkmaktadır. Standart UNIX
kabuğunu (SHELL) değiştirmeye çalışmamakla beraber, kullanıcının UNIX’ i kullanmasını
kolaylaştırmak için gerekli ve yeterli sayıda araç sunar. Böylece kullanıcıların UNIX
ortamına
Çabuk ve kolay alışmalarını sağlar.
KDE daha çok UNIX’e yeni başlayanlar için tasarlanmış bir arayüzdür. Bu
özelliklerden birkaçını şu şekilde sıralayabiliriz,
¾
Hoş görünümlü, kullanımı kolay bir pencere ortamı
¾
Güçlü, kullanımı kolay bir dosya yöneticisi
¾
Basit merkezi yapılandırma
¾
Her durumda kullanıcıya on-line yardım
¾
Aynı zamanda, deneyimli UNIX kullanıcıları içinde KDE ‘nin sağladığı bazı
olanaklarda vardır
¾
Pratik ve hızlı pencere yöneticisi
¾
Farklı uygulamalar için tutarlı bir arayüz. Böylece farklı uygulamalarda
mouse’ın sağ yada sol tuşunun kullanıcının beklediğini yapıp yapmayacağını
önceden tahmin etmek zorunluluğunun ortadan kalkmış olması.
¾
Birden fazla açıldığında, bellekte fazla yer kaplamayan güçlü terminal
emülasyonu
¾
Güçlü sistem ve ağ yönetim araçları
1.3.7.2.2. KDE Kurulumu
KDE ‘nin kurulmasından evvel, sisteminizin aşağıdaki şartları sağlaması
gerekmektedir.
¾
Çalışan bir POSIX uyumlu UNIX sistemi. Örneğin, Linux, FreeBSD, Solarix,
HP-UX ve MkLinux
¾
İçinde /opt/kde dizininin yaratılacağı Hard Disk alanı eğer paylaşımlı
kütüphaneler kullanılacaksa en az 50 MByte yada kaynak kodları derlenecek ise
/usr/src altında en az 100 MByte’lık bir alan gereklidir.
¾
Çalışan bir X11 sistemi, Eğer X11 daha önce kurulmamış ise, dağıtım cd
lerinden kurulması gerekir. (Veya xfree86 web sitesinden indirilerek
http://www.xfree.org)
¾
Qt kütüphaneleri sürüm 2.2 sistemde kurulu olmalıdır, ( rpm yada tar.gz
formatında ftp://ftp.troll.no/pub/qt ftp sitesinden edinilebilir.)
UYARI : Eğer KDE’yi önceki sürümümden güncelleme yoluyla sürümünü
yükseltilecek ise eski sürümün yedeklenmesi önerilir.
$ cd /opt/kde
$ tar cxfz ~/KDE-old-version-backup.tar.gz
1.3.7.2.3. RedHat, Caldera ve Suse için KDE Kurulumu
Sistemin gerekli olan şartları sağlamasından sonra KDE’nin kurulumuna geçilebilir.
KDE’yi sisteme kurmanın en kolay yolu rpm paketlerini kullanmaktır. Bu paketler
herhangi KDE mirror sitesinde /pub/kde/stable/distribution/rpm dizinlerinde bulunabilir.
RPM paketleri ayrıca sunsite.unc.edu yada ftp.redhat.com dan bulunabilir. Bu dizinlerde
çeşitli platformlar için olan sürümler bulunurlar (örneğin i386,alpha,sparc) . en basit olarak
kurulum paketleri kde-component.architecture.rpm şeklindedir.
Bu paketler içinde KDE’nin en temel kurulumu için kdesupport, kdelibs, kdebase
paketlerine ihtiyaç olacaktır. Temel dağıtım (base distrubution) elde edildikten sonra, sonra
istenilen veya pratik ve yaralı gözüken diğer uygulama paketleri de sisteme kurulabilir
(örneğin kdeutils). Ancak buradaki önemli nokta önce temel paketlerin aşağıda görülen sıra
ile sisteme kurulması ve ardından isteğe bağlı olanların kurulmasıdır.
$ rpm –i kdesupport.arch.rpm
# arch mimariyi belirtir ve burada i386 olabilir.
$ rpm –i kdelibs.arch.rpm
$ rpm –i kdebase.arch.rpm
bu komutlar paketleri /opt/kde altına açacaktır. Ardından istenilen paketler kurulabilir.
Bir önceki sürümden güncelleme yapılacak ise şu komutun kullanılması önerilir.
$ rpm –Uvh kde-component.arch.rpm
1.3.7.2.4. tar.gz Formatında Paketlerden Kurulum
Eğer Linux dağıtımı, RPM paketleri şeklinde değil de tar.gz paketleri şeklinde ise,
KDE’nin mevcut sistem üzerinde yapılandırılıp,derlenmesi ve sisteme kurulması gerekir.
Eğer durum böyle ise Kde’nin doğru şekilde yapılandırılması, derlenmesi ve kurulması için,
aşağıda sıralanan programların sistemde kurulu olması gerekecektir,
¾
ANSI-C derleyicisi, örnek : GNU C
derleyicisi
¾
ANSI-C++
derleyicisi, örnek : GNU C ++ derleyicisi
¾
Make programı
¾
Qt development version 2.2 yada daha üst sürümleri
¾
X11 development version (UYARI: genellikle include dosyaları eksik olur ! )
Bu yardımcı programları sisteme kurduktan sonra aşağıdaki paketler,
¾
Kdesupport-version.tar.gz # her durumda version geçerli sürüm numarasıdır
¾
Kdelibs-version.tar.gz
¾
Kdebase-version.tar.gz
¾
İstenilen diğer paketler
Sisteme internetten yada dağıtım cd’lerinden indirilir. İkinci adım olarak dosyalar
/usr/src yada /usr/local/src altına açılırlar. Bu süreç sonunda dizin yapısı şöyle olmalıdır.
¾
/usr/src/kdesupport
¾
/usr/src/kdelibs
¾
/usr/src/kdebase
¾
/usr/src/kdeutils
¾
/usr/src/………
UYARI : root kullanıcı yerine sıradan bir kullanıcı olarak işlem yapıldığında geçerli
kullanıcının /usr/src dizini altına yazma ve binary çalıştırma hakkına sahip olup olmadığı
kontrol edilmelidir
Bu andan itibaren paketlerin derlenmesine geçilebilir,
¾
cd /usr/src/kdesupport
¾
/configure
¾
make
¾
make install
her paket için bu süreç tekrarlanmalıdır. Her configure yapılandırma scripti çeşitli
seçenekler sunar. Bazıları diğer paketlerle ortak iken, bazıları pakete özeldir. Bu
seçeneklerin neler olduğunu öğrenmek için,
$ ./configure –help
komutu kullanılabilir. Örneğin bu komut kullanılarak kdelibs paketinde,
1.3.7.2.5. Başlangıç Ayarları
KDE binary’lerini kurduktan sonra, KDE’yi kullanacak her kullanıcı için birkaç
başlangıç scriptleri nde küçük ayarlama eklentilerin yapılması gerekmektedir. Bunlar ,
¾
/etc/profile dosyasında,
export PATH=$PATH:/opt/kde/bin
export KDEDİR=/opt/kde
¾
Her kullanıcının ev (home) dizininde bulunan .xinitrc dosyasında,
•
X Windows çalıştırıldığında varsayılan başka bir pencere yöneticisi var
ve kullanıcı bunun yerine KDE kullanmak istiyorsa ilgili pencere
yöneticisi programı çağıran satır bulunup startkde komutu ile
değiştirilmesi
•
Eğer halihazırda kullanılan bir pencere yöneticisi yok ise herhangi bir
satıra startkde satırının eklenmesi gerekir.
Bu aşamada, KDE için gerekli paketler kurulmuş, gerekli başlangıç ayarları her
kullanıcı için yapılmıştır. Kullanıcı eğer isterse değişik amaçlı paketleri sistemine kurabilir.
1.3.7.2.6. KDE’nin Başlatılması
Unix sistem açıldığında (booting) kullanıcı iki durumdan birisiyle karşılaşır. Sistem ya
klasik, geleneksel UNIX Text mode’dunda yada Kulllanıcı Grafik Arayüzü , GUI (Graphical
User Interface) ile açılır. Birinci durumda kullanıcı KDE ‘yi çalıştırmak istiyorsa sisteme
girdikten sonra (logon), komut satırında startx komutu vererek X Windowsu KDE ile
çalıştırabilir. İkinci durumda ise kullanıcı, sistem KDE destekli X windows grafik arayüzü
ile açıldığı için ekranda kendisinden kullanıcı ismi ve ilişkili şifresini soran bir logon
banner’la karşılaşacaktır. Kullanıcı sisteme girdikten sonra , KDE arayüzünü çalıştırmak için
fazladan komut vermesine gerek kalmayacaktır.
UYARI : X Windows X Display manager ‘ı, xdm’den xdm ile aynı fonksiyonelliğe
sahip yani xdm ile uyumlu ancak KDE için daha gelişmiş desteğe ve özelliklere sahip kdm
ile değiştirilmesi önerilir. Bunu gerçekleştirmek için/etc/sysconfig altında desktop dosyasına
DESKTOP =”xdm “ yada DESKTOP=”gdm” (gnome) yerine DESKTOP=”kdm” yazılması
gerekir. Bu çevre değişkeni, /etc/X11/prefdm scripti tarafından kontrol edilerek, xdm veya
gdm yerinde kdm’in çalıştırılmasını sağlar.
1.3.7.2.7. KDE Masaüstü Bileşenleri
KDE ‘nin 3 adet ana bileşeni vardır; KDE masaüstünün kendisi, Panel ve Görev
Listesi (Task List)
1.3.7.2.7.1. Panel
KDE çalıştırıldığında ekranın altında bulunan bölgede yer alır. Buradan programlar
çalıştırılıp , sanal ekranlar arasında geçiş yapılabilir. Burada Ayrıca kullanıcının en çok
kullanacağı K düğmesi yer alır. K düğmesi, KDE ile birlikte kurulmuş olan tüm uygulama
programlarına erişebilecek kısayolları ve program gruplarını içinde bulundurur.Ayrıca
kullanıcı yeni programları K Menu Editor’unu kullanarak buradaki listeye ekleyebilir ve
hatta kullanmayacağı programları K listesinden çıkartabilir.K menu editorünu kullanarak
graphics bölümüne gimp programını eklemek için,
¾
Application starter -> system -> menu editor seçilir.
¾
Sol tarafında K menüsünde halihazırda mevcut bulunan programlar ve sağ
menüsünde de menüye ekleme yapmak istenilen programlar bulunmaktadır. Sol
paneldeki graphics grubu mouse ile açılır
¾
Araç çubuğundan yada File menüsünden New Item seçilir.
¾
Açılan dialog box’a programa verilmek istenen isim yazılır (burada gimp) ve
OK ‘e basılır.
¾
Graphics submenu de yeni yaratılan Gimp menüsüne mouse ile tıklanır.
Command kısmına gimp yazılır. Ayrıca gerekirse bazı komut satırı
parametreleri de buraya yazılabilir.
¾
Aynı şekilde programın çalışma dizini belirtilir , yorum satırı eklenir ve
istenirse ikon değiştirilebilir.
¾
Bazı programlar terminal penceresinde çalışmak isteyebilir (örnek: pine).
Bunun için, aynı dialog box üzerinde uygun seçenek işaretlenmelidir.
¾
Eğer uygulama mevcut kullanıcı değil de, başka bir kullanıcı olarak
kullanılacak ise text kutusunda bu kullanıcı belirtilmelidir. (örnek: run as
kullanıcı adı)
¾
Apply tuşuna basılarak, değişiklikler geçerli kılınır. Değişiklikleri iptal etmek
için ise reset tuşuna basılır.
1.3.7.2.7.2. Sanal Ekranlar (Virtual Desktops)
KDE çalıştırıldığında görev çubuğunun ortasında 4 adet işaretlenmiş alan görülür. Bu
dört adet küçük ekran sembolü, 4 adet sanal ekrana yani masaüstüne karşılık gelir. Birden
fazla masaüstünün kullanılabilmesi X Windows‘un ve KDE’nin en önemli özelliklerinden
biridir. Her sanal masaüstü diğerinden bağımsız çalışan, değişen sayıda pencere ve uygulama
içerebilir.
1.3.7.2.7.3. İkon Çubuğu
Üzerinde birçok programa kısayolların bulunduğu bir alandır. Bu bölümdeki ikonlar
sayesinde çok kullanılan programlar hızlı bir şekilde başlatılabilir ve masaüstünde gereksiz
yere kısayollar bulundurmaktan kaçınılabilir. KDE, KHelpCenter, KWrite ve KDE Control
Panel butonlarını varsayılan olarak sisteme kurar. İkon çubuğuna yeni ikonlar eklemek için,
1)
Sırayla Application starter’a tıklanıp, Panel Menu -> Add -> Application seçilir.
Ekranda Application starter en üst seviyeden itibaren tekrar görüntülenir.
Kısayol oluşturulmak istenilen uygulama listede aranarak bulunur, örneğin ev dizini, yada
konqueror programı seçilir. KDE panelinde yeni bir ikon belirir. Artık üstüne kliklenirse
çalışabilir. Bu işi yapmanın daha basit ve başka bir yolu ise programın masaüstünden veya
konqueror programından kısayolunu tut-sürükle (drag & drop) yaparak, panelde boş bir
alana bırakmak olacaktır.
Eğer bir dizin için tut sürükle metodu ile taşınarak kısa yol oluşturulduğunda iki
durum olabilir. Bir menü diolog box açılır ve Add as A File Manager ve Add as a Quick
Browser seçenekleri belirir. Eğer birincisi seçilirse, Konqueror programı o dizin ile başlar.
Eğer ikincisi seçilirse, dizini paneldeki bir menü şeklinde açar.
Masaüstündeki bir İkon’un sürükle&bırak metodunu kullanarak panelde kısa yolu
oluşturulursa, bu panele kopyalanır.
Bir döküman için ise, orijinal dosya yerinde bırakılarak panelde bir link oluşturulur.
Hangi durumda olursa olsun, ikon kaldırılmak istenirse,üzerine sağ mouse tuşu ile tıklanır ve
mouse işaretçisi istenen pozisyona getirilince sol mouse tuşuna tıklanarak yeni yerine
taşınmış olur. Yine hangi durumda olursa olsun farketmez, ikonun silinmesi isteniyorsa,
ikonun üzerine gelinip, sağ mouse tuşuna basılarak remove seçilerek ikon silinir.
d) Saat ve Tarih
Tüm bunlara ek olarak, KDE panelinin sağ köşesinde Saat ve Tarih bilgisi bulunur.
e) Görev Listesi
Panelin sanal ekranlar ve saat arasında kalan bölgesinde, çalışmakta olan her
uygulama penceresi için bir düğme (buton) bulunur. Bu düğmeler ile, uygulama pencereleri
arasında geçiş yapmak, küçültmek, büyütmek ve hatta sa7ğ mouse tuşu ile tıklandığında
açılacak olan menüden faydalanarak, başka bir sanal ekrana taşımak, boyutlarını değiştirmek
ve kapatmak mümkündür.
1.3.7.2.8. Masaüstü İle Çalışmak
Bu bölümde KDE masaüstünde çalışmanın ayrıntıları anlatılacaktır.
1.3.7.2.8.1. Pencereler İle Çalışmak
Herhangi bir pencerenin isim çubuğu’na (uygulamanın isminin görüldüğü yer - title
bar) çift tıklandığı zaman, bir pencere yönetim ikonu ile karşılaşılır. Buradaki menü
paneldeki görev listesinde bir uygulamanın düğmesine sağ mouse tuşu ile tıklandığında
açılan menü ile aynıdır. Buradan, uygulama ile ilgili olarak,
¾
Taşıma,
¾
Boyut değiştirme,
¾
Küçültme, büyültme,
¾
Shading, isim çubuğuna çift tıklanarak sadece isim çubuğunun görünür kalması,
¾
Sticky, pencerenin masaüstü değiştirildiği halde her masaüstünde görünür
olması,
¾
Daima ön planda çalıştırma,
¾
Pencereyi kapatma,
¾
Başka bir masaüstüne gönderme,
1.3.7.2.8.2. Yardım Almak
Yardım temel olarak aslında her yerde mevcuttur. Masaüstünde yardım almak için boş
bir yerine sağ tıklamak ve açılan menüden “masaüstünden yardım - (Help on Desktop)”
seçmek yeterlidir. KDE panelinden, uygulama menüsü açılıp, yardım seçilebilir. Tüm
yardım dosyaları HTML tabanlıdır.
1.3.7.2.8.3. Dosyaları Düzenleme
Ev dizininin içeriğinin görüntülenmesi : Mouse ile, KDE Panel in sol tarafındaki K
düğmesine tıklanarak Application Starter -> Home Dir seçilirse, kullanıcının ev dizininin
içeriğini gösteren bir pencere açılır. Eğer gizli dosyaları ve detaylarında görüntülenmesi
isteniyorsa, “Görünüm” menüsünden “Show Hidden Files” , “Settings” menüsünden
“Show Directory Tree” seçilir.
Dosya Yöneticisi ekranı : Dosya yöneticisinin üst bölümünde, başka yönetim
pencereleri açıp kapamaya yarayan, bir yerleşim menüsü vardır (Location Menu). Hatta
içeriği yazıcıdan çıkış olarak alınabilir. Sık kullanılanlarda (Bookmarks) kısa yollar
(Shortcuts) oluşturulabilir.
Yerleşim menüsü : Yerleşim menüsünden, Yerleşim Aç (Location -> Open
Location) seçilerek bir URL yazılırsa, internette tarama (Browse) yapılabilir. Buna imkan
tanıyan, diğer işletim sistemleri ve masaüstleri yerel ve uzak sistemler arasında ayrım
yaparken, KDE’nin bu ayrımı yapmamasıdır.
Edit Menüsü : Dosyalar üzerinde kopyalama, taşıma gibi işlemler gerçekleştiren
fonksiyonlar içerir.
Tools Menüsü : Kayıp dosyaları bulmak için find yardımcı programı bulunur.
1.3.7.2.9. KDE Edit Programı İle Dosyaları Düzenlemek
KEdit ile metin dosyaları üzerinde düzenleme yapmak çok kolaydır. Örneğin
konqueror açılarak dosyası üzerine sağ mouse tuşu ile tıklanırsa, birlikte aç seçeneğini de
gösteren bir menü açılır, buradan Kedit seçilirse ,dosya Kedit programı ile ilişkilendirilmiş
olur. Bundan sonra dosyaya her çift tıklandığında dosya KEdit ile açılır. Edit menüsünde
dosya üzerinde kes , kopyala, yapıştır gibi çeşitli işlemler yapmak için fonksiyonlar bulunur.
Aynı zamanda metin dosyası içinde arama yapmak için “Ara” (search) ve “Değiştir” ( replace)
fonksiyonları bulunur. Benzer şekilde “Ayarlar” (Settings) menüsünden birçok açıdan
özelleştirmek mümkündür. Örneğin font büyüklüğü buradan değiştirilebilir. Ayrıca diğer
uygulamalarda olduğu Kedit’te de yardım menusu de bulunmaktadır. File Menüsünden yada
araç çubuğundaki Kaydet ikonundan dosya kaydedilebilir veya yeni dosya açılabilir
1.3.7.2.10. Komut Satırı
Masaüstünde kullanılabilecek iki çeşit komut satırı vardır. Bunlardan birincisi “Hızlı
Komut Satırı “ (Quick Command Line) ve ikincisi “Terminal Emülasyonu” (Terminal
Emulation). Birincisi, ALT+F2 tuş kombinasyonu ile çalıştırılan üzerinde komut
çalıştırılabilecek küçük bir pencereyi aktive eder. Bu pencereden bir komut çalıştırıldığı
zaman, çalıştırılan program tarafından standart çıkışa herhangi bir çıktı üretilmez. Bunun
sebebi, bu komut satırının daha çok, X tabanlı programlar için uygun olmasıdır. Diğer tür
programlar için Terminal Emülasyonu kullanılmalıdır.
1.3.7.2.11. Terminal Emülasyonu
Uygulama Başlatıcı menüsünden (K Düğmesi) -> Sistem -> Terminal seçilerek klasik
UNIX kabuk komutlarının ( ls, cat, less ) kullanılabileceği bir uygulama penceresi
açılabilir.Seçenekler menüsünden (options) terminal ekranı özelleştirilebilir.
1.3.7.2.12. Kaybolan Dosyaların Bulunması
K-Buton -> KFind ile başlatılan KFind ile dosya sistemi ile arama yapmak çok
kolaydır. çalıştırıldığı zaman, “İsim & Yer” (Name & Location) seçeneği vurgulanmış
olarak görünür. Erişim Tarihine (Date Modified) tıklandığı zaman, kayıt içeriği değişir.
Daha önce hiçbir arama yapılmamış ise araç çubuğundaki (toolbar) bir çok ikon ve menü
içeriği aktif durumda değildir.
İsminin bir kısmı bilinen bir dosyayı aramak için, “Name & Location“ sekmesi
seçilir. Joker karakterler arama yaparken dosya isminin olası tüm alternatiflerini kapsamak
amacıyla kullanılabilir (Örneğin *.tar.gz ). Varsayılan olarak aramaya kullanıcının ev
dizininden başlanır ancak aramaya başlanacak dizin “Look-in yada Browse” tıklanarak
belirtilebilir. Daha karmaşık aramlar için, burada bulunan birçok değişik kriter kullanılabilir.
Dosya hakkında ne kadar çok bilgi varsa buluna olasılığı o kadar artar.
¾ Date Modified : Belirlenen bir zaman aralığında erişilen dosyaların bulunması
için.
¾ File Type
: Dosya türü biliniyorsa. (Metin , Binary)
¾ Text String : Dosyanın içerdiği özel bir kaç kelime burada belirtilebilir.
¾ Size
: Dosyanın boyutu biliniyorsa.
1.3.7.2.13. Autostart Dizini
Kullanıcı KDE açıldığı zaman bazı uygulamaların otomatik olarak açılmasını yada
çalışmasını isteyebilir. Bunun için Autostart Dizini kullanılır. Örneğin KDE açıldığında
Netscape ‘in bu yolla açılması sağlanabilir. Aslında kullanıcı KDE’den çıkmadan önce açık
olan KDE bazlı programlar (KEdit, Konqueror,....), oturum sonunda KDE kapanırken kendi
durumlarını kaydederek bir sonraki oturum açıldığında otomatik olarak açılırlar. Ancak
KDE, KDE bazlı programlar dışında diğer programlara böyle bir destek vermediği için
(Örneğin Netscape) programlar bu şekilde davranamazlar. Bu yüzden bu tür programlar için
Autostart Dizini kullanılmalıdır .
Herhangi bir programı Autostart Dizini ne eklemek için bir yol olarak,
¾
Autostart dizini açılır, genellikle masaüstünde sol üst kösede bulunur.
¾
Konqueror penceresi açılır ve istenilen program aranarak bulunur.
¾
Seçilen uygulama, sürükle bırak yöntemi ile Autostart Dizini‘ne taşınır
¾
Bırakma esnasında seçenekleri gösteren bir iletişim kutusu açılır buradan
uygulamanın kopyalanması yerine link yaratılması tercih edilebilir.
Unutulmaması gereken, KDE bazlı uygulamalar için bunun yapılmasına gerek
olmadığıdır. Bunun yerine KDE’den çıkmadan evvel, tekrar açılması istenilen program
kapatılmaz. Böylece bir sonraki oturumda açılması garantilenmiş olur.
1.3.7.2.14. Masaüstüne Linkler Yerleştirmek
Dosyaların masaüstüne yerleştirilmesi onlara erişim için kolaylık sağlayan tercih
edilen bir uygulamadır. Bununla birlikte, bazen KEdit’i halihazırda açık olan belli bir
şablona sahip bir dosya ile açmak daha kullanışlıdır. Benzer olarak, sıklıkla ziyaret edilen
bir siteyi bulmak için genelde çok uzun olabilen sık kullanılanlar listesinde (Bookmarks)
aramak bazen çok sıkıcı olabilir. Böylesi bir durumda masaüstünde bir tek tıklama ile
ulaşılabilecek bir ikon olması çok kullanışlı olacaktır. Bu gibi işlevleri yerine getirmek için
“Template” ler ve MIME Type’lar kullanılır.
1.3.7.2.14.1. Template Kullanımı
Template’ler, yukarıda belirtilen işleri gerçekleştirmek için çok uygundur. Templateler
aynı zamanda dosyayı belirli bir uygulama ile ilişkilendirmek için de kullanılır. Eğer uzantısı
sistem tarafından tanınan türde bir dosyaya çift tıklanırsa, ilişkili uygulama çalışacaktır.
Örneğin bir kullanıcı masaüstüne bir web sitesi ile ilgili bir ikon koymak isterse :
¾
Masaüstünde boş bir yere sağ mouse tuşu ile tıkladıktan sonra
¾
Açılan menüden Create New -> Internet Address (URL) seçerek
¾
Bir iletişim kutusu açılır ve URL yazmaya izin verir.
Bu aşamadan sonra yeni internet kısayolu diğer masaüstü ikonları gibi üzerine sağ
tıklanarak özellikler seçilerek kişiselleştirilebilir.
1.3.7.2.14.2. MIME Type Kullanımı
Sistemin kolaylıkla özelleştirilebilmesine olanak tanıyan çok güçlü bir araçtır. Bir
dosyaya tıklandığında, o dosya ile ilişkili olan uygulama çalışır. Örneğin html uzantılı bir
dosyaya tıklandığında Konqueror programı açılarak sayfayı görüntüler. Belirli bir dosya tipi
ile bir uygulama arasında bağlantı oluşturmak için
Uygulama başlatıcı menüsünde bu dosya ile çalıştırılacak programın bir kaydının
bulunmasına özen gösterilmeli
Konqueror’la ilişkilendirilecek dosya uzantısına sahip bir dosya yaratılır.
Dosyaya sağ tıklanır, ve Edit File Type seçilir. (Yada Konqueror menüsünden Edit ->
Edit File Type da seçilebilir)
Add düğmesi ile uygulama için dosya maskesi eklenir, ve istenilen dosya patterni
kaydedilir. (UNIX’in büyük küçük harf hassasiyeti olduğu unutulmamalıdır) Bu yüzden
değişik varyasyonlar eklemek ihtiyacı ortaya çıkabilir, örneğin *.MP3 ve *.mp3 gibi.
MIME Type ile ilgili olarak bir tanımlamada istenirse ilgili metin kutusunda
yapılabilir. Ancak zorunluluk yoktur.
Uygulama Öncelik Sırası (Application Preference Order) adlandırmalı bölümde, Add
düğmesine tıklanırsa, K-Menünün minyatür bir kopyası açılır. Burada dosyanın
ilişkilendirileceği uygulama seçilir.
Bazen bu dosya tipi başka bir uygulama tarafından da açılsın istenebilir. Örneğin
kullanıcı metin dosyalarını düzenlemek için Kwrite, küçük değişiklikler yapmak için ise
KEdit kullanmak isteyebilir. Bu yolla istenildiği kadar uygulama listeye dahil edilebilir.
Listede birden fazla uygulama olması durumunda öncelik sırası en üstteki uygulamadadır.
Sırayı değiştirmek için yukarı ve aşağı ok tuşları kullanılabilir.
“Apply” tuşu ile yapılan değişiklikler onaylanıp iletişim kutusu kapanmadan geçerli
kılınabilir. Bu kullanıcıya Konqueror ortamında bir test yapma olanağı sağlar. Herşey
istenildiği gibi ise “OK” tuşuna basılarak değişiklikler kaydedilir ve iletişim kutusu kapanır.
Yada değişikliklerden vazgeçmek amacıyla “Cancel” tuşuna basılabilir.
1.3.7.2.14.3. Trashcan
Normal koşullar altında, UNIX’te dosya silmek geri dönüşü olmayan bir süreçtir.
Bununla beraber, KDE dosya yöneticisi sayesinde dosyayı silmek yerine çöp kutusuna
atılabilir (Move To Trashcan). Bu dosyayı masaüstünden bir tuşla ulaşılabilen Trashcan’a
taşır. Trash dizininden silinen dosyalar kurtarılabilir. Dolu bir Trashcan, sağ mouse ile
üzerine çift tıklanarak açılan menüden “Empty Trashcan” seçeneği seçilerek boşaltılabilir.
Trashcan’den silinen dosyalar kurtarılamazlar.
1.3.7.2.15. KDE’den Çıkış
KDE çıkmak için K butonuna basıldığında açılan uygulama başlatıcı menüsünden
logout seçilerek KDE’den çıkılabilir. KDE’den çıkış tüm açık pencereleri kapatarak
kullanıcıyı konsola yada display manager’a geri döndürecektir.
1.3.7.2.16. KDE’de Türkçe
KDE de Türkçe desteği iki şekilde kullanılabilir, bunlardan birincisi KDE’nin
Türkçeleştirilmesi, ikincisi ise KDE’ye Türkçe klavye desteği verilmesidir. KDE’ye Türkçe
desteğinin verildiği zaman KDE masaüstü tüm uygulamaları (ve bu uygulamalardaki
menüler dahil) ile birlikte Türkçeleşir. KDE’ye orijinal görüntüsünü değiştirmeden sadece
Türkçe klavye desteğinin verilmesi de mümkündür. Ancak bu durumda bazı uygulamalarda
font desteğinde sorun yaşanabilir. KDE sürüm 2.1.1 ‘de bu sorun halen düzeltilememiştir.
1.3.7.2.16.1. KDE’nin Türkçeleştirilmesi
KDE ‘yi Türkçeleştirmek için ilk önce sistemde Öncelikle yapmamız gereken, Türkçe
yazıtiplerinin X Window'a tanıtılmasıdır. X Window açılırken, hangi yazıtiplerini
yükleyeceğini belirlemek amacıyla bazı öntanımlı dizinlere bakar. Bu dizinler,
/usr/X11R6/lib/X11/XF86Config dosyasında belirtilmiştir. Sistemde X-Window için
gerekli türkçe fontların yüklü olup olmadığı
$ rpm -qa | grep ISO8859-9
XFree86-ISO8859-9-75dpi-fonts-2.1.2-16
XFree86-ISO8859-9-2.1.2-16
XFree86-ISO8859-9-100dpi-fonts-2.1.2-16
komutuyla öğrenilebilir. Eğer komut işletilince yukarıdaki liste görüntüleniyorsa
Türkçe yazıtipleri (fontları) ve klavye harita (keyboard map) dosyası sisteme yüklenmiş
demektir. Gerekli fontlar sisteme yüklenmemiş ise ,
$ rpm –i XFree86-ISO8859-9-75dpi-fonts-2.1.2-16.noarch.rpm
$ rpm –i XFree86-ISO8859-9-2.1.2-16.noarch.rpm
$ rpm –i XFree86-ISO8859-9-100dpi-fonts-2.1.2-16.noarch.rpm
gerekli rpm paketlerinden kurulabilirler. Bu işlemlerin ardından, KDE başlangıç
menüsünden
(K-Buton) Control Center çalıştırılır. Burada
Personalization alt-menüsünde, “Keyboard Layout” kısmında Primary Layout
seçeneğinin Turkish olması sağlanır. Eğer istenirse diğer tür klavye düzenleri de alt
kısımdaki listelerin başındaki onay kutuları (checkbox) işaretlenerek seçimlere eklenebilir.
Shortcut sekmesinde seçilmiş olan klavye düzenleri arasında çabuk geçiş yapabilmeye
olanak sağlayan klavye kısayol tanımlamaları bulunur. Varsayılan olarak bu kısayol
“CTRL-ALT-K” dır. Bu durumda onay verilirse ekranın sağ alt köşesinde dil seçim
kutucuğu belirir.
Daha sonra, yine Personalization alt menüsü içerisindeki “Country & Language”
kısmındaki Locale sekmesinde karakter seti de (Charset) ISO8859-9 olarak seçilmelidir.
Yine “Country & Language” kısmındaki Language seçeneği Türkçe olarak
ayarlanmalıdır.
Ve son olarak Country sekmesinde ülke Türkiye seçilmelidir.
Bu aşamalardan sonra KDE ve dolayısıyla X-Windows kapatılıp komut satırından
tekrar başlatılarak KDE’nin ve tüm uygulamaların Türkçeleştirilmesi sağlanmış olur.
1.3.7.2.16.2. KDE’ye Türkçe Klavye ve Font Desteği Verilmesi
KDE ye varsayılan klavye ve dil desteğinin yanında Türkçe klavye desteğini de
vermek mümkündür. KDE yi tamamen Türkçeleştirmek yerine sadece Türkçe Q klavye
desteği vermek için ise yapılması gereken sadece, Control Center – Personalization Keyboard Layout - Primary Layout seçeneğinin Turkish olarak seçilmesi ve “Country &
Language” kısmındaki Locale sekmesinde karakter setini ISO8859-9 olarak seçilmek
yeterli olacaktır.
Bu şekilde sağlanan dil desteği ile KDE’nin varsayılan ayarlarının çoğunu
değiştirmeden Türkçe-Q klavye ve dil desteği sağlanmış olur. Ancak, dil ve klavye desteği
hangi şekilde sağlanmış olursa olsun, KDE’nin 2.1.1 versiyonu için, bazı uygulama
programlarında Türkçe karakterlerin düzgün şekilde kullanılabilmesi için, ilgili uygulamanın
font seçimlerinde Linux font seçeneğinin geçerli ve varsayılan kılınması gerekebilir.
Örneğin bir KDE uygulaması olan Terminal Emulator Window, font ayarlarında
varsayılan olarak normal seçeneğini kullanır. Bu font ayarı eğer Linux olarak ayarlanmaz
ise bazı Türkçe karakterlerin bu uygulamada uygun şekilde kullanılamadığı görülür.
1.3.7.2.17. KDE Masaüstü Klavye Kısayolları
Alt-Tab or Alt-Shift-Tab
: Pencereler Arasında Geçiş Yapar.
Ctrl-Tab or Ctrl-Shift-Tab
: Masaüstleri Arasında Geçiş Yapar.
Alt-F2
: Küçük bir Komut Satırı Açar.
Alt-F3
: Pencere Menüsü.
Alt-F4
: Aktif Pencereleri Kapatır.
Ctrl-F{1..8}
: Belirlenen Bir Masaüstüne Geçer.
Ctrl-Alt-Esc
: Pencere Yok Edicisi.
Ctrl-Alt-Backspace
:KDE’den Çıkar.
Ctrl-Alt-Numpad +
: Bir Sonraki Ekran Çözünürlüğüne Geçer.
Ctrl-Alt-Numpad : Bir Önceki Ekran Çözünürlüğüne Geçer.
1.3.7.2.18.
¾
¾
¾
¾
¾
¾
¾
KDE Uygulamaları
Konqueror : Web, FTP, Sabit Disk Tarayıcısı (Browser)
Kicker : KDE Paneli, Taskbar, Pager, Saat, ve K-Menü yü içine alır
Konsole : Tamamen yapılandırılabilir X Terminal Emülatörü
Klipper : Bir Clippboard Programı, ancak kopyalananlar üzerinde değişik işlem
yapmak mümkündür
KDesktop : Masaüstünün Kendisi
KHelpcenter : KDE’nin, man ve info sayfalarını tarayabilme özelliği olan
yardım merkezi
kdm : KDE Login Yürütücüsü
¾
¾
¾
¾
¾
¾
¾
KControl : Kontrol Paneli
KWrite : Tamamen Yapılandırılabilir Metin Görüntüleyici
Kappfinder : KDE bazlı olmayan uygulamaları, K-Menü ye ekleyen bir
Program
KSysguard : top yardımcı programının işlevselliği eklenmiş,ağ bağlantılı
sistem izleyicisi
Ktip : Sihirbaz KANDALF yardım programı
KMenuedit : K Menu Düzenleyicisi
DrKonqi : Yazılım Üreticilerine yazılım bug’larını raporlayabilen bir progman
1.3.7.2.19. KDEadmin Programları
Kcron : Cron’un iş planlama yeteneğini gelişmiş bir arayüzle sunan bir program.
Kuser : Grafik Kullanıcı Yöneticisi. (süper kullanıcı yetkisi gerektirir)
KPackage : KDE’nin Sistemi Güncel Tutan Paket Yöneticisi.
Kdat
: Tape Sürücü Kullanıcıları İçin Bir Yedekleme Programı.
ksysv
: İşletim sisteminin servislerinin organize şekilde açılmasını sağlayan bir
Sys-V-init Düzenleyici.
kwuftpd : wuftpd, ftp daemon’ını yapılandırmak için bir grafik arayüz.
KSysctrl : Bir Sistem-Bilgi (sys-info) yardımcı program uygulaması.
1.3.7.2.20. KDEpim Programları
Korganizer
: Takvim, Günlük ve İş Planlayıcı.
Kab2
: KDE Adres Defteri.
Kpilot
: Palm Pilot ve Pc arasında eş zamanlama sağlayan bir Yardımcı
Uygulama.
1.3.7.2.21. KDE Ağ Programları
KMail : Çoklu mail servisleri ve Çoklu Identity’e izin veren gelişkin e-mail
programı.
KNode : Çoklu NNTP sunucu desteği olan güçlü bir haberci istemcisi.
KSirc : KDE IRC İstemci Programı.
Korn
: Biff Appleti. Korn Kullanıcı için yeni mail olup olmadığını kontrol eder.
KPPP : Kullanımı Kolay İnternet Dial-Up Bağlantı Programı.
KTalkd : KDE Chat Programı.
1.3.7.2.22. KDE Uygulama Programları
Kcharselect
: Karakter Seçici. Verilen Bir Font İçin Tüm Karakterleri Görüntüler
kdepasswd
: KDE, UNIX şifreleri için uç birim
kdessh : KDE, Secure Shell için uç birim
kdf
: KDE disk free uygulama yazılımı
Kfloppy : KDE Floppy Disket Formatlayıcı
KEdit : Küçük, Basit metin editörü
KFind : UNIX find programının grafik arayüzüne sahip sürümü
KArm : Planlanan iş için kalan zamanı ölçen bir task scheduler
KHexedit : Hex Editörü
KLjettool : HP LaserJet için Kontrol Paneli
Klpq
: KDE, UNIX, lpq,lprm,lpc uygulamaları için uç birim
Kpm
: top ve ps ‘in yeteneklerinin birleştirildiği bir KDE uygulaması
1.3.7.3. Pardus için KDE Masaüstü Sistemi
Pardus, grafik ortamda kullanıcıların görsel olarak kullanacakları Masaüstü Ortamı
için özgür olarak (GPL ya da başka bir Özgür Yazılım Lisansı altında) geliştirilen KDE'yi
seçmiştir.
KDE, Pardus için güçlü bir grafiksel ortamdır. Kullanıcı dostu programlarıyla,
Pardus'u üretken bir işletim sistemine dönüştürür. KDE masaüstü kullanım kolaylığını, güçlü
özellikleri, muhteşem grafik tasarımını ve Linux'un teknik mükemmelliğini katılımcı yazılım
geliştirme yöntemleriyle bünyesinde birleştirir.
Temel olarak masaüstü ortamı olarak görev yapsa da içerisinde barındırdığı birçok
yazılım sayesinde masaüstü kullanıcılarının hemen hemen tüm ihtiyaçlarına cevap verir.
Ayrıca Zemberek projesi ile birlikte KDE üzerindeki tüm yazılımlarda Türkçe imla denetimi
sağlanmıştır.
Pardus (ve diğer Linux dağıtımları) çok kullanıcılı işletim sistemleridir. Bir başka
deyişle, birden fazla kullanıcının, farklı hesaplar yaratarak sistemi kullanabilmesini sağlarlar.
Kullanıcıların birbirinden ayırt edilmesini sağlayan etmenler ise kullanıcı adları ve parolaları
gibi kimlik bilgileridir. Sisteme girebilmeniz için kullanıcı adınızı ve parolanızı girerek,
sisteme kendinizi tanıtmanız gerekir. Eğer geçerli bir kullanıcı adınız ve parolanız yoksa,
sisteme girişiniz engellenir.
NOT : Her zaman, parolanızı seçerken, bilgi güvenliğiniz açısından, (zorunlu olmamakla
beraber) en az 6 karakterden oluşan, harf, rakam ve hatta *, ?, !, -, _, gibi karakterler
barındıran, parolalar tercih ediniz ve parolanızı sık sık değiştiriniz.
Sisteme farklı kullanıcılar ekleyebilme olanağı, farklı izin ve ayrıcalıklara sahip
kullanıcıları diğerlerinden ayırt edebilmenizi, bu sayede de sistemin güvenlikle ilgili
ayarlarına daha iyi hakim olmanızı, buna ek olarak, her kullanıcının kendi zevkine göre
kendi ortamını özelleştirebilmesini sağlar.
DİKKAT : Kullanıcı adı ve parolanızı yazarken, sistemdeki kullanıcı adlarının, parolaların,
dosya isimlerinin, hemen hemen her uygulamanın, büyük/küçük harf duyarlılığına sahip
olduğunu unutmayın. Yani “Pardus” ve “Pardus” her zaman farklı ifadelerdir.
Bilgisayarınızı her açtığınızda,
¾
Size kullanıcı adınızı ve parolanızı sorarak, kendinizi tanıtmanızı isteyen,
¾
Girdiğiniz bilgilere göre size özel olan masaüstü ortamını açan,
¾
Açık olan oturumunuzu kapatıp, başka bir kullanıcıyla sisteme girebilmenizi
sağlayan,
¾
Bilgisayarınızı yeniden başlatıp, kapatabilme özellikleri de sunan ,
programa KDE görüntü yöneticisi (KDM) ismi verilir. KDM, Pardus'un öntanımlı olarak
kullandığı masaüstü ortamı olan KDE projesi çerçevesinde geliştirilmektedir.
Pardus, kurulum sırasında, “root” isminde bir kullanıcı yaratır. “Rootroot” kullanıcısı,
sistemdeki tüm yetki ve ayrıcalıklara sahip bir kullanıcıdır. Bazı kullanıcılar, zaten bir tane
var (root) diyerek, başka kullanıcı yaratmak istemeyebilir, ya da sistemi sürekli “root”
kullanıcısıyla kullanmak isteyebilir. Fakat bunlar tercih edilmemesi gereken davranışlardır,
zira, sisteminizdeki önemli bir sistem dosyasını kazayla silerek veya değiştirerek, geri
dönüşü olmayan zararlar verebilirsiniz.
KDM tema desteğine de sahiptir, yani isterseniz yeni tema dosyaları indirerek, farklı
görünüşe sahip KDM'lere sahip olabilirsiniz.
KDM ile ilgili ayarlar Pardus Yapılandırma Merkezi – Tasma'dan yapılabilir. Örneğin
hiç kullanıcı adı, parola girmeden doğrudan kendi masaüstü ortamınızın açılmasını
sağlayabilirsiniz.
Pardus'un masaüstü ortamına ilk defa girdiğinizde, sizi renkli kişilik, yani Kaptan
Masaüstü karşılar. Kaptan Masaüstü'nün ilk görevi sizden fareyi hangi elinizle kullandığınızı
öğrenmek ve gerekli ayarları tamamlamaktır. Kaptan'ın bir diğer görevi ise masaüstünüzün
arkaplan resmini seçmenize yardımcı olmaktır. Listedeki resimlerden birini seçebileceğiniz
gibi isterseniz “Masaüstü arkaplan resmini değiştirme” kutusunu işaretleyerek, Pardus'un
öntanımlı arkaplan resmini de kullanabilirsiniz.
Resim 1.23 : Kaptan masaüstü.
İşlemleriniz bittikten sonra, Kaptan Masaüstü sizi gülümseyerek uğurlar.
1.3.7.3.1. Masaüstü Bileşenleri
Bu bölümde önce kısaca masaüstünün ne olduğundan, nasıl kullanılabileceğinden
bahsedip, ardından da masaüstünün temel bileşenlerini anlatacağız.
¾
Masaüstü, simgeler, pencereler, panel, Pardus menüsü gibi temel görsel öğeleri
içinde barındıran ortamın adıdır. Kullanımı kolay, oldukça şık ve tamamen
özelleştirilebilir bir yapıya sahip olan Pardus masaüstü,
¾
Programlara, dosyalara, dizinlerinize ve diğer sistem kaynaklarına kolayca
erişebilmeniz için kısayollar oluşturabilmenizi,
¾
Çalışan tüm uygulamalarınızı/pencerelerinizi, aynı alana sığdırmanıza gerek
kalmadan, birden çok masaüstünü, birbirleri arasında kolayca geçiş yaparak
kullanabilmenizi,
¾
Sevdiğiniz bir resmi, arkaplan resmi olarak kullanabilmenizi,
¾
Panel ve Pardus menüsü yardımıyla, Pardus'ta yüklü tüm programları
çalıştırabilmenizi sağlar.
Şimdi gelin, bu bileşenlere birlikte göz atalım.
1.3.7.3.1.1.
Panel
Resim 1.24: Pardus sistem paneli.
Masaüstünüzde, ekranın en altındaki çubuğa Panel adı verilir. Panelde, Pardus
menüsü, sık kullanılan uygulamaların simgeleri, programcıklar (küçük programcık
simgelerinin bulunduğu yere “Sistem Çekmecesi” adı verilir), ve görev çubuğu bulunur.
Panel sayesinde,
¾
Pardus menüsünü ya da uygulama düğmelerini kullanarak, uygulamaları
çalıştırabilir,
¾
Panelin, “Masaüstü Önizleyici” programcığını (üstteki resimde uygulama
düğmeleriyle görev çubuğu arasında kalan programcık) kullanarak, diğer
masaüstlerine geçiş yapabilir ve çalışma alanınızı genişletebilir,
¾
Etkin pencereler arasında geçiş yapabilir, pencereleri simge şeklinde küçültüp,
büyütebilir,
¾
Saat, ses ayarı, çözünürlük ayarı gibi panele yeni özellikler katan
programcıklara erişebilirsiniz.
Bunları yapabilmenizi sağlayan bileşenleri açıklamadan önce, biraz panelin
yapılandırılmasından bahsedelim.
Resim 1.25 : Panel ve görev çubuğu ayarlarının yapılması.
Panel ile ilgili tüm yapılandırmaları, görev çubuğunda boş bir yere sağ tıklayıp, açılan
menüden, “Paneli yapılandır...”'ı seçerek, yapabilirsiniz.
Karşınıza çıkan ekranda, sol tarafta iki seçenek bulunur. “Düzen” ve “Görev Çubuğu”.
“Görev Çubuğu” seçeneğini, görev çubuğundan bahsettiğimiz bölümde anlatacağız.
Bu bölümde, ilk sekme olan, “Düzen” sekmesi seçili olacaktır. Burada yaptığınız
değişiklikleri, sağdaki monitör resminden takip edebilirsiniz. Yapılabilecek diğer
işlemlerden bahsedersek,
¾
Panelin yerini değiştirelim: “Konum” bölümünden, ekranın 12 farklı yerine paneli
konumlandırabilirsiniz.
¾
Panelin uzunluğunu değiştirelim: “Uzunluk” bölümünden, panelin ekranın kaçta
kaçını kaplayacağını belirleyebilir, çubuk yardımıyla istediğiniz uzunluğu
seçebilirsiniz. Eğer, “İçeriğe uyması için gerektiği kadar genişlet” kutusunu
işaretlerseniz, panele daha fazla boş alan lazım olduğu takdirde, panel genişleyecektir.
¾
Panelin büyüklüğünü değiştirelim: “Boyut” bölümünü kullanarak, üzerinde
“Normal” yazan, açılır menüden, önceden belirlenmiş panel boyutlarını
kullanabileceğiniz gibi, “Özel” seçeneğini seçerek, panelin boyutunu, istediğiniz
benek (ing. pixel) sayısına göre ayarlayabilirsiniz.
NOT : Eğer birden fazla monitörünüz varsa, paneli her biri için ayrı ayrı
yapılandırabilirsiniz. Hangi monitörün hangisi olduğunu anlamak için “Kimlik”'e tıklayın.
Böylece ekranın ortasında bir numara belirir. Sonra, “Xinerama Ekranı”'ndan yapılandırmak
istediğiniz ekranı seçebilir ya da “Tüm Ekranlar”'ı seçerek her monitör için aynı ayarları
geçerli kılabilirsiniz.
¾
Paneli gizleyelim: İkinci sekme olan, “Gizleme” sekmesi sayesinde, kullanmadığınız
zamanlarda, panelin kaybolmasını sağlayabilirsiniz. Burada üç adet bölüm mevcut:
•
“Gizleme Kipi” bölümündeki, “Otomatik Gizle”'yi seçerseniz, panel, siz imleci
üstünden çektikten belli bir zaman sonra, kaybolur.
•
“Panel Saklama Düğmeleri” bölümünden, panelin sağ ve/veya sol yanına küçük
saklama düğmeleri koyarak ve istediğiniz zaman bu düğmelere tıklayarak,
panelin tıkladığınız tarafa kayarak saklanmasını sağlayabilirsiniz.
•
“Panel Canlandırması” seçeneğini işaretleyerek, panelin aniden değil de
yavaşça kaybolmasını tercih edebilir, hatta kaybolma hızını bile
belirleyebilirsiniz.
¾
Pardus menüsü ayarları: “Menüler” sekmesinde, Pardus menüsü ile ilgili ayarlar
mevcuttur. Gerçi Pardus menüsünden henüz bahsetmedik ama, yine de bu ayarlara
değinelim.
¾
Kenar resmini kaldıralım: “Yan resmi göster” seçeneği, Pardus menüsünde en
soldaki ince “KDE” resmiyle ilgilidir. Bu seçeneği kullanarak, o resmi görünür ya da
görünmez yapabilirsiniz.
¾
Yeni menüler ekleyelim: “Seçimlik Menüler” kısmından, Pardus menüsüne
ekleyebileceğiniz ek menüler arasında, son kullanılan belgeler, sistem, hızlı tarayıcı ve
Konqueror'daki yer imleri de vardır.
¾
Hızlı Tarayıcıyı ayarlayalım: “Hızlı Tarayıcı Menüleri”, seçimlik menülerden,
Pardus menüsüne ekleyebileceğiniz, “Hızlı Tarayıcı” menüsünün ayarlarını içerir.
İsterseniz, “Hızlı Tarayıcı” menüsünde gizli dosyaların gösterilip gösterilmeyeceğini
ve bir defada en fazla kaç öğenin gösterileceğini belirleyebilirsiniz.
¾
En sık ya da son kullanılanları değiştirelim: “Hızlı Başlangıç Menü Öğeleri”
kullanılarak, Pardus menüsünün en üstündeki kısım, en çok kullanılan ya da en son
kullanılan uygulamalara ayrılabilir. “Azami Öğe Sayısı” da söz konusu bölümde, en
fazla kaç adet öğe bulunabileceğini belirtir.
“Görünüm” sekmesini kullanarak panelin görünümüyle ilgili ayarları yapabiliriz.
¾
İpuçları veya açıklamaları kaldıralım: Panelde, fareyle, uygulama düğmelerinin
üstüne geldiğinizde, düğmelerin üzerinde, daha büyük simgelerle birlikte açıklama
metinleri çıkar. “Genel” bölümündeki ilk kutucuğundaki seçili işaretini kaldırarak bu
özelliği kapatabilirsiniz. Bu özelliği kapattığınız zaman, simgelerin üstünde küçük
ipucu metinleri çıkar. İkinci kutucukla bunu da kapatabilirsiniz.
¾
Pardus düğmesinin ve diğerlerinin arkaplanını değiştirelim: “Düğme Arkaplanı”
bölümünden, istediğiniz resmi veya rengi, Pardus menüsünün düğmesinin, uygulama
düğmelerinin, panele eklenebilen, “Hızlı Gözatıcı”, “Pencere Listesi” gibi özel
düğmelerin arkaplanı olarak belirleyebilirsiniz.
¾
Panel arkaplanını değiştirelim veya şeffaf hale getirelim: “Panel Arkaplanı”
bölümünden, tüm panelin arkaplanını şeffaflaştırabilir ya da istediğiniz bir resmi
arkaplan olarak belirleyebilirsiniz.
Panele istediğiniz bir programın simgesini, özel düğme (Pardus menüsü, Masaüstü
erişimi, Hızlı Gözatıcı vb..), ya da bir programcık ekleyebilirsiniz. Şimdi bunların nasıl
ekleneceğini inceleyelim.
Öncelikle paneldeki boş bir alana sağ tıklayıp, “Panele Ekle”yi seçin. Ardından
aşağıdaki işlemleri yapabilirsiniz:
¾
Programcık ekleme: “Programcık” bölümüne girerek, bu bölümde bulunan
birçok programcıktan birisini seçebilirsiniz.
¾
Uygulama ekleme: “Uygulama” bölümünden, Pardus menüsündeki herhangi
bir alt menüyü ya da herhangi bir simgeyi kolayca panele yerleştirebilirsiniz.
¾
Özel düğme ekleme: “Özel Düğme” bölümünden, panele özel düğmeler
ekleyebilirsiniz.
Bunların dışında, “Panele Ekle” seçeneği altındaki “Panel”'i seçerek, masaüstünüze,
panelinizin aynısından bir adet daha (Panel'i seçerek), ya da Konqueror'da soldaki çubuktan
(Genel Yan Çubuk) koyabilirsiniz.
Eklediğiniz fakat silmek istediğiniz öğeleri, yine panelde boş bir alana sağ tıklayıp,
“Panelden Kaldır” seçeneğini ardından da, öğeyi eklerken takip ettiğiniz yolun aynısını takip
ederek, silebilirsiniz.
Şimdi de kısaca panelin bileşenlerinden bahsedelim :
1.3.7.3.1.1.1. Pardus Menüsü
Pardus menüsü, pPaneldeki Pardus düğmesine tıkladığınızda açılan menünün adıdır.
Bu menü bilgisayarınızda yüklü olan programlara ve her türlü sistem ayarlarına
erişebilmenizi, oturumunuzu/bilgisayarınızı kapatabilmenizi, herhangi bir komutu doğrudan
yazarak çalıştırabilmenizi, dosya ve dizinleri bulabilmenizi sağlar.
¾
Pardus menüsündeki simgeyi masaüstüne ekleyelim: Pardus menüsünde,
masaüstüne eklemek istediğiniz öğeye sağ tıklayın, ve “Masaüstüne Öğe Ekle”
seçeneğini seçin.
¾
Pardus menüsündeki simgeyi panele ekleyelim: Pardus menüsünde, panele
eklemek istediğiniz öğeye sağ tıklayın ve “Ana Panele Öğe Ekle” seçeneğini
seçin.
¾
Pardus menüsündeki öğeyi düzenleyelim: Pardus menüsünde düzenlemek
istediğiniz öğeye sağ tıklayıp, “Öğeyi Düzenle”yi seçerseniz, “KDE Menü
Düzenleyici” açılacaktır. Bu program sayesinde Pardus menüsündeki tüm
uygulamaların, simgelerini, isimlerini, açıklamalarını, uygulamaya tıklanınca
çalıştırılan komutları düzenleyebilirsiniz.
1.3.7.3.1.1.2. Uygulama Düğmeleri
Uygulama düğmeleri sayesinde, en sık kullandığınız uygulamalara panelden, tek
tıklamayla erişebilirsiniz.
Uygulama düğmelerine sağ tıkladığınızda çıkan menüden:
¾
Özellikler'e girip, uygulamanın, simgesini, ismini, açıklamasını, erişim
izinlerini
(hangi
kullanıcının
çalıştırıp/değiştirip
hangisinin
çalıştırıp/değiştiremeyeceğini vb.), sahibini (erişim izinlerini değiştirebilen
kullanıcı), desteklediği dosya türlerini, uygulamaya tıklanınca çalıştırılacak
komutu değiştirebilir,
¾
“Düğmeyi Taşı” diyerek, düğmeyi panelde istediğiniz bir yere çekebilir,
¾
“Düğmeyi Kaldır” diyerek, düğmeyi panelden silebilirsiniz.
Panel Menüsü de, panelde boş bir yere tıkladığınızda açılan menünün aynısıdır, yani
buradan da paneli yapılandırabilirsiniz.
1.3.7.3.1.1.3. Programcıklar
Programcıklar, panelde çalışan, bilgisayarın ses ayarlarını yapmak, saat ve tarihi
göstermek, farklı masaüstlerine geçiş yapılmasını sağlamak gibi işlevleri olan küçük
uygulamalardır. Bazıları gerçekten kullanışlı işlevler sunarken, bazıları ise sadece eğlence
için yapılmıştır. Pardus'ta bazı programcıklar öntanımlı olarak çalışmaktadır.
¾
Masaüstü Önizleyici: Masaüstü önizleyici size, birden fazla
masaüstünde çalışabilme olanağı sunar, bu sayede daha geniş bir
çalışma
alanına
sahip
olabilirsiniz.
Bu
programcıkta,
numaralandırılmış kareler masaüstlerini, onların içindeki şekiller de pencereleri
temsil eder. Programcığın solundaki ince tutamaca sağ tıklayarak “Masaüstü
Önizleyici & Sayfalayıcı Menüsü” > “Masaüstlerini Yapılandır” yolunu
izleyerek, masaüstü sayısını ve masaüstlerinin isimlerini belirleyebilirsiniz.
¾
Ses: Tahmin ettiğiniz üzere ses ayarlarını yapabilmenizi sağlar.
Hoparlörlerden başka, mikrofon, CD gibi özel ayarları da yapabilir ya
da sesi tamamen kapatabilirsiniz.
1.3.7.3.1.1.4. Görev Çubuğu
Görev çubuğu, çalışmakta olan uygulamaları listeler ve bu uygulamalar arasında geçiş
yapmanız için kolay bir yol sunar.
Aktif olan bir pencereyi küçültmek için görev çubuğunu kullanabilirsiniz. Bunu
yapmak için görev çubuğunda, küçültmek istediğiniz uygulamanın adına tıklayın, böylece o
uygulama kaybolur. Aynı yere bir kez daha tıklayarak, o uygulamayı geri getirebilirsiniz.
Görev çubuğunu, panelinizden çıkartıp, ayrı bir panel olarak, ekranınızın herhangi bir
yerine yerleştirebilirsiniz. Bunu yapmak için, panelde boş bir alana sağ tıklayarak, “Panele
Ekle” > “Panel” > “Harici Görev Çubuğu” yolunu izleyin. Sonra isterseniz, görev
çubuğunun solundaki tutamacın üstündeki küçük oka tıklayıp, “Görev Çubuğu'nu Kaldır”'ı
seçip önceki çubuğu kaldırabilirsiniz.
Görev çubuğu ayarlama ekranında iki bölüm mevcuttur. Her bölüm altındaki önemli
kısımlara göz atalım.
¾
“Pencereleri tüm masaüstlerinde göster” seçeneği, görev çubuğunda, tüm açık
pencerelerin gösterilip gösterilmeyeceğini belirler. Bu seçenek işaretsizken,
görev çubuğunuzda sadece o masaüstündeki pencereler gösterilir. Bunun
altındaki “Pencereleri masaüstüne göre sırala” seçeneği işaretli olursa, görev
çubuğundaki uygulamalar, her zaman, en başa 1. masaüstünün uygulamaları,
sonra 2.'ninkiler sonra 3... şeklinde sıralı olur.
¾
“Sadece simge halindekileri göster” seçeneğinin ne yaptığı adından da bellidir,
yani çubukta sadece küçültülmüş pencereler gösterilir.
¾
“Benzer görevleri grupla” seçeneği seçilirse, aynı uygulamaların pencereleri
(örneğin birkaç tane Konqueror ya da ofis uygulaması penceresi), gruplanarak,
görev çubuğunda tek bir yer kaplar, tıkladığınızda da size o uygulamaların
listesi verilir. Bu sayede alandan kazanmış olursunuz. Açılır menüden de bu
gruplamanın ne zaman olacağını seçebilirsiniz.
Resim 1.26 : Görev çubuğu yapılandırma ekranı.
Bu şekilde görev çubuğunuzu istediğiniz gibi özelleştirebilir, hareketlerinize sizin
istediğiniz gibi tepkiler vermesini sağlayabilirsiniz.
1.3.7.3.1.2. Masaüstü Simgeleri
Pardus'ta bir kullanıcı oluşturulduğunda, o kullanıcının masaüstüne, öntanımlı olarak
bazı uygulamaların simgeleri yerleştirilir.
¾
Ev Dizini: “Sisteme giriş” bölümünde Pardus'un çok kullanıcılı bir sistem
olduğundan bahsetmiştik. Bu sistemde, her kullanıcının, yalnızca kendisinin (ve tabii
ki root kullanıcısının) erişebileceği bir dizini vardır: Ev dizini. Bu dizin, '/home'
dizininin altındadır ve kullanıcı adınızla adlandırılmıştır. (örneğin kullanıcı adınız
'hcatak' ise, başlangıç dizininiz '/home/hcatak' dizinidir) Bu dizin kullanıcıları
birbirinden yalıtarak, her birine ayrı bir çalışma alanı sağlar. Her kullanıcı, kendi
belgelerini, kişisel bilgilerini, başkasının değiştiremeyeceğinden emin olarak, burada
tutabilir.
¾
Sistem: Bu bölümden ağ üzerindeki diğer bilgisayarlara, sistemdeki kullanıcılara ve
bilgisayardaki depolama ortamlarına (CD, USB disk, sabit disk vb) ulaşabilirsiniz.
¾
Çöp: Sildiğiniz öğeleri barındıran klasördür. Herhangi bir öğeyi, masaüstünüzden ya
da Konqueror'dan buraya sürükleyerek, silebilirsiniz. Ayrıca sağ tıklayıp “Çöp
Kutusuna At” diyerek de öğeleri silebilirsiniz. Çöpünüzü boşaltmak için, üzerine sağ
tıklayıp “Çöp Kutusunu Boşalt” demeniz yeterlidir. Yanlışlıkla sildiğiniz bir öğeyi,
geri getirebilirsiniz.
1.3.7.3.1.2.1. Masaüstüne Simge Ekleme
Masaüstüne simge eklemenin birden çok yolu vardır:
¾
Pardus menüsünde bir simgeye sağ tıklayıp, “Masaüstüne Öğe Ekle”'yi seçerek,
ya da öğeyi fareyle, doğrudan masaüstüne sürükleyip, “Buraya Bağ Koy” ya da
“Buraya Kopyala”'yı seçerek,
¾
Masaüstünde boş bir yere sağ tıklayıp, “Yeni Oluştur” dedikten sonra, “Aygıt'a
Bağlantı” diyerek (herhangi bir bellek biriminin simgesini oluşturur),
“Uygulamaya Bağlantı” diyerek (sistemde yüklü olan herhangi bir uygulamaya
kısayol oluşturur) ya da “Konuma (URL) Bağlantı”(bir web sitesine kısayol
oluşturur) diyerek,
¾
Konqueror'dan herhangi bir öğeyi masaüstüne sürükleyip, “Buraya Bağ Koy”'u
seçerek
masaüstünüze simgeler ekleyebilirsiniz.
1.3.7.3.1.3. Pencereler
Pencereler, uygulamaların kullanıcıya sunduğu görsel arayüzlerdir. Görsel arayüzler,
kullanıcıların fare, klavye gibi araçlar sayesinde, uygulamayla iletişim kurmasını sağlarlar.
KDE ortamında, tüm pencereler, aynı temel yapıya sahiptir. Bir pencerede, en üstte bir
pencere başlığı, başlıkta çeşitli işlevler sunan düğmeler, ve bir çerçeve bulunur. Şimdi
pencere başlığından ve pencerelerin özelliklerini nasıl değiştirebileceğimizden bahsedelim.
NOT : Görsel arayüzlerin temelleri, Massachusetts Teknoloji Enstitüsü (MIT) ve
Stanford Araştırma Enstitüsü'nde (SRI) atılmış, ardından buradan katılan uzmanların da
katkısıyla, XEROX Parc laboratuarlarında, pencere, simge ve bunların bir işaretleme
aracıyla (örneğin fare) kullanılması gibi fikirler geliştirilmiştir. Ticari bir ürün olarak,
pencereleri kullanan ilk firma yine XEROX olmakla birlikte, bu kavramları kullanan ilk
başarılı ürün Apple firmasının 1984'te piyasaya sürdüğü Macintosh işletim sistemidir.
Apple firması aynı zamanda, “masaüstü” kavramının da yaratıcısıdır.
1.3.7.3.1.3.1. Pencere Başlıkları
Pencerelerin başlıklarında, pencerenin temsil ettiği uygulamanın adı ve ek bilgiler
(örneğin bir web tarayıcısında gezdiğiniz sitenin başlık bilgisi, Konqueror'da sistemin hangi
dizinine göz attığınız, ya da OpenOffice'te açık olan dokümanın ismi vb..) yer alır.
Bir pencere başlığında genellikle 4 adet düğme bulunur.
¾
Küçült
: Sağ taraftaki ilk düğmedir. Pencerenin simge halinde,
panele küçültülmesini sağlar.
¾
Geri Yükle: Ekranı kaplamayan bir pencerenin ekranı kaplamasını
sağar. Aynı düğmeye tekrar tıklandığında ise pencere eski şeklini alır.
¾
Kapat
: Pencereyi Kapatır.
¾
Menü
: En soldaki düğmedir. Başlığa sağ tıklanınca açılan
menünün aynısıdır. Bir pencereyi diğerlerinin arkasına/önüne alabilir,
pencerenin, başlık ve kenarlığını kaldırabilir, başka bir masaüstüne
taşıyabilir, yeniden boyutlandırabilir ve sağdaki düğmelerin
yaptıklarını yapabilirsiniz.
¾
Yardım : Her uygulamada bulunmaz. Tıklandığında imlecin şekli
değişir. İmlecin şekli değişikken, o pencere içindeki herhangi bir
öğeyle ilgili bilgi almak için o öğenin üstüne tıklamanız yeterlidir.
1.3.7.3.1.3.2. Pencere Özelliklerinin Değiştirilmesi
Pencerelerin özelliklerini, görünümle ilgili özellikler ve kullanımla ilgili özellikler
olarak ikiye ayırabiliriz.
¾
Pencerelerin görünümüyle ilgili özellikleri:
•
Pencere temasını değiştirelim: Burada tema, bir pencerenin genel
görünümünü ifade etmek için kullanılır. Pardus'ta birçok tema yüklü
olarak gelir. Pencere temanızı değiştirmek için, Pardus menüsü > Pardus
Yapılandırma Merkezi (Tasma) > ”Görünüm ve Temalar” > “Pencere
Dekorasyonları” yolunu izleyin. Bu bölümünde, sekmelerin altında
bulunan açılır menüye tıklayın ve istediğiniz temayı seçin. Altta görünen
pencerelerden, seçtiğiniz temanın önizlemesini yapabilirsiniz.
•
Pencere başlığındaki yazının yerini değiştirelim: Başlık yazısının
sağda, ortada ya da solda durmasını sağlayabilirsiniz. Pardus menüsü >
Pardus Yapılandırma Merkezi (Tasma) > ”Görünüm ve Temalar” >
“Pencere Dekorasyonları” yolunu izleyin. Bu bölümünde, “Başlık
Hizalaması” kısmından başlık yazısının yerini değiştirebilirsiniz.
•
Pencere başlığındaki düğmelerin yerini değiştirelim: Pencere
başlığında gördüğünüz düğmelerin yerini/sırasını değiştirebilir hatta yeni
düğmeler ekleyebilirsiniz. Bunu yapmak için, Pardus menüsü > Pardus
Yapılandırma Merkezi (Tasma) > ”Görünüm ve Temalar” > “Pencere
Dekorasyonları” yolunu izleyin. Bu bölümünde, “Düğmeler” sekmesini
seçin. Önce başlığı özelleştirebilmek için 2. seçenek olan “Özel başlık
çubuğu düğme konumlarını kullan” seçeneğini işaretleyin (öntanımlı
olarak zaten işaretli olacaktır). Bu seçeneğin altındaki “KDE” yazan
çubuk, düğmelerin şu anki yerlerini gösterir. Bu çubuktaki düğmeleri
sürükleyip-bırakarak istediğiniz yere taşıyabilirsiniz. İsterseniz, bir
düğmeyi, çubuğun altındaki listeye taşıyarak, başlıktan kaldırabilir ya da
listedeki
öğelerden
birini
çubuğa
sürükleyerek,
başlığa
yerleştirebilirsiniz. Bunları yaparken, en alttaki önizleme penceresinden,
başlığın yeni halini gözlemleyebilirsiniz.
•
Pencere başlığının renklerini değiştirelim: Pencere başlığının, metin ve
arkaplan renklerini değiştirebilirsiniz. Bunun için, Pardus menüsü >
Pardus Yapılandırma Merkezi (Tasma) > ”Görünüm ve Temalar” >
“Renkler” yolunu izleyin. Burada, üstteki önizleme ekranından, başlık
metni ya da çubuğuna tıklayıp, sağda “Parçacık Rengi” bölümündeki
renk çubuğundan, tıkladığınız öğenin rengini değiştirebilirsiniz.
¾
Pencerelerin davranışıyla ilgili özellikler
•
Başlık çubuğuna çift tıklayınca yapılacak eylemi seçebilirsiniz:
Öntanımlı olarak başlık çubuğuna çift tıklandığında, pencere ekranı
kaplar. Bunu değiştirebilirsiniz. Bunun için, Pardus menüsü >Pardus
Yapılandırma Merkezi (Tasma) >”Masaüstü Seçenekleri” >“Pencere
Davranışı” yolunu izleyin. Buradan, “Eylemler” sekmesine girin.
Buradaki ilk seçenek, başlık çubuğuna çift tıklandığında yapılacak eylemi
belirtir.
•
İmleci etkin olmayan bir pencerenin üzerine götürüp,
etkinleştirebilirsiniz: Bunun için, Pardus menüsü > Pardus
Yapılandırma Merkezi (Tasma) > ”Masaüstü Seçenekleri” > “Pencere
Davranışı” yolunu izleyin. Bu bölümündeki, ilk sekmede bulunan,
“Yöntem” seçeneğinden, “Fare ile Odaklama”'yı seçin.
1.3.7.3.1.4. Masaüstü Arkaplanını Değiştirme
Masaüstü arkaplan resmini değiştirmek için, masaüstünde boş bir alana
sağ tıklayın, ardından “Masaüstünü Yapılandır...”'ı seçin. Karşınıza çıkan
ekrandan masaüstü arkaplanıyla ilgili her türlü ayarı yapabilir, yaptığınız ayarları
sağdaki monitör resminden görebilirsiniz. Şimdi bu ekrandan yapabileceklerimize bir göz
atalım:
¾
“Masaüstü için ayarlar” bölümünden hangi masaüstünü yapılandırmak
istediğinizi seçebilirsiniz.
¾
“Arkaplan” bölümündeki,
•
“Resim yok” bölümünden, arkaplanın tek renk, ya da çeşitli şekillerde
karıştırılmış iki renkten oluşmasını sağlayabilirsiniz.
•
“Resim” seçeneğini seçip, yanındaki listeden ya da mavi düğmeden bir
resim seçebilirsiniz.
•
“Slayt gösterisi” seçeneğini seçip, belirlediğiniz resimlerin belli
aralıklarda arkaplan olarak kullanılmasını sağlayabilirsiniz.
¾
“Yeni Duvar Kağıdı Al” düğmesinden, KDE kullanıcıları tarafından en çok
puan alan, en çok indirilen duvar kağıtlarını görebilir, bilgisayarınıza indirip
kullanabilirsiniz.
1.3.7.3.2. Çeşitli Ayarlar
1.3.7.3.2.1. Yazıtipi Ayarları
Sistemde gördüğünüz tüm yazıların tipini ve boyutunu değiştirebilirsiniz. Bunu
yapmak için Pardus Yapılandırma Merkezi'nden “Görünüm ve Temalar” ve ardından
“Yazıtipleri” bölümüne girin. Burada masaüstünün çeşitli kısımlarında kullanılan
yazıtiplerinin boyutunu ve türünü ayarlayabilirsiniz. “Yapılandır” bölümünden de
yumuşatma (ing. anti-aliasing) ayarlarını yapabilirsiniz.
Sisteme yeni yazıtipleri eklemek için Konqueror'ı kullanabilirsiniz.
Konqueror'daki adres çubuğuna “fonts:/” yazın. Burada, “Kişisel” yazan dizin, her
kullanıcının, kendine ait yazı tiplerini kullanabilmesi için, “Sistem” dizini ise tüm
kullanıcıların kullanabileceği ortak yazı tipleri için düşünülmüştür.
Herhangi bir yazı tipi dosyasını (“.pcf.gz”, “.pfb”, “.pfa”, “.ttf”, “.gsf” gibi uzantılı
dosyalar), bu dizinlerden birine kopyalayarak sisteminize yükleyebilirsiniz. İsterseniz,
herhangi bir yazı tipinin dosyasının üstüne gelerek, yazı tipini görebilirsiniz.
1.3.7.3.2.2. Görünüm Ayarları
Bu bölümde, masaüstü ortamı açılırken çıkan açılış ekranını, ekran koruyucuyu,
düğmelerin ve menülerin renklerini, simge temasını ve stilleri nasıl değiştireceğimizi
öğreneceğiz.
1.3.7.3.2.2.1. Renk Ayarları
Menülerdeki yazıların, menü arkaplanlarının, standart metinlerin, bağlantıların,
pencere başlık çubuğundaki metinlerin ve çubuğun arkaplanının, düğmelerdeki yazıların,
düğme arkaplanlarının kısacası görünen hemen her şeyin renklerini değiştirebilirsiniz.
Renkleri ayarlamak için Pardus menüsü > Pardus Yapılandırma Merkezi (Tasma) >
“Görünüm ve Temalar” > “Renkler” yolunu izleyin.
Ekranın en üstünde gördüğünüz önizleme ekranından, istediğiniz öğeye tıklayarak
rengini değiştirebilirsiniz. Bunun için öğeyi seçtikten sonra sağ taraftaki ince renk çubuğunu
kullanın.
Kendi zevkinize göre hazırladığınız temayı kaydetmek için, sol-alt tarafta bulunan
“Şemayı Kaydet...” düğmesini kullanın. İsterseniz internetten indirdiğiniz bir şema dosyasını
(.kcsrc uzantılı dosyalar) da “Şemayı Aktar...” düğmesini kullanarak bu listeye ekleyip,
kullanabilirsiniz.
Resim 1.27: Pardus masaüstü renkleri.
1.3.7.3.2.2.2. Simgelerin Boyutunu ve Görünüşünü Değiştirme
Pardus menüsü > Pardus Yapılandırma
Merkezi (Tasma) > “Görünüm ve Temalar” >
”Simgeler” yolunu izleyerek, çeşitli simge temaları bulabilir istediğiniz temayı kullanmak
mümkündür. Listede olmayan bir temayı listeye eklemek için “Yeni Tema Kur” düğmesini
kullanın. İsterseniz “Gelişmiş” sekmesinden, masaüstündeki, paneldeki, araç çubuğundaki
simgelerin boyutunu değiştirebilirsiniz.
1.3.7.3.2.2.3. Stil Ayarları
Stil, düğmelerin, işaretleme kutularının, radyo düğmelerinin, açılır menülerin,
sekmelerin genel görünümüne verilen addır. Pardus varsayılan olarak “Lipstik” ismindeki
stili kullanır. Pardus menüsü > Pardus Yapılandırma Merkezi (Tasma) > “Görünüm ve
Temalar” > “Stil” yolunu izleyerek, sistemin stilini değiştirebilirsiniz. “Stil” düğmesine
tıkladığınızda gelen ekranda, en üstteki açılır menüden, bir stil seçebilirsiniz. Önizleme
ekranı, seçtiğiniz stili sisteminize uygulamadan önce görmenizi sağlar. Listedeki stillerden
bazıları, stille ilgili ince ayarlar yapabilmenize olanak tanır. Bunun için, listeden bir stil
seçtikten sonra, yandaki “Yapılandır” düğmesini kullanın.
1.3.7.3.2.2.4. Fare İmlecinin Görünümünü Değiştirme
Fare imlecinin, belirli durumlarda
(örneğin bilgisayar meşgulken, bir şey
fareyle
yeniden
boyutlandırılacağı
zaman, yazı yazarken..) aldığı şekillerin hepsine birden fare imleci teması denir. Pardus'ta
kullandığınızdan başka fare imleci temaları da mevcuttur. Bu temaları kullanmak için,
Pardus menüsü > Pardus Yapılandırma Merkezi (Tasma) > ”Çevre Birimleri” > “Fare”
yolunu izleyin.
Buradaki “İmleç Teması” sekmesinde, altta bulunan listeden, herhangi bir temayı
seçebilirsiniz. İsterseniz, imleci, seçtiğiniz temanın imleçlerinin üstüne götürerek o temayı
deneyebilirsiniz.
1.3.7.3.2.2.5. Sistem Tarihini ve Saati Değiştirme
Tarih ve saati değiştirmenin en kolay yolu, paneldeki saat
programcığına sağ tıklayıp, “Saati ve Günü Ayarla”'yı seçmektir. Bu ayarları
değiştirmek için öncelikle root parolanızı girmeniz gerekli, çünkü saat ve
tarih bilgileri tüm kullanıcıların ve sistemin kullandığı bilgilerdir.
Resim 1.28 : Tarih ve saat ayarı.
Bu ekranda, soldaki takvimden sistem tarihini/gününü sağdaki saatten de, sistem
saatini yapılandırabilirsiniz.
1.3.7.3.2.2.6. Sistem Dilini ve Klavye Düzenini Değiştirme
Sisteminizin dilini değiştirmek için, öncelikle, Pardus menüsü > Pardus Yapılandırma
Merkezi (Tasma) > “Bölgesel ve Erişilebilirlik” > “Ülke/Bölge ve Dil”
yolunu izleyin. Çıkan ekranda, sağ taraftaki “Dil Ekle” düğmesinden
istediğiniz dili seçebilirsiniz, yalnız, Pardus, öntanımlı olarak sadece Türkçe
ve İngilizce dil paketlerini yükler. Daha sonra kendiniz yeni dil paketleri
yükleyerek bu ekrandan sistemin dilini değiştirebilirsiniz.
Klavyenizin düzenini değiştirmek içinse, Pardus menüsü > Pardus Yapılandırma
Merkezi (Tasma) > “Çevre Birimleri” > “Klavye Düzeni” yolunu izleyin. Burada, sol
taraftaki listeden bir klavye düzenini seçtikten sonra, “Ekle >>” düğmesine basarak, sağdaki
listeye ekleyin. Bu şekilde, sık kullandığınız düzenleri ekleyebilirsiniz. Sistemde geçerli olan
düzen en üsttekidir. Bunu değiştirmek için, sağdaki listeden, kullanmak istediğiniz klavye
düzenini seçin, ve ekle kaldır düğmelerinin yanındaki yukarı ok düğmesini kullanarak, en
üste çıkarın.
2. DOSYA SİSTEMİ ve ÇALIŞMA MANTIĞI
2.1. Dosya Sistemi
Linux işletim sisteminde dosya ve dizinler diğer Unix türevi işletim sistemlerinde
olduğu gibi hiyerarşik bir yapıya sahiptirler. En üst düzeyde bulunan ve kök dizini diye
adlandırılan dizin alt dizin olarak adlandırılan dizinleri içermektedir. Ayrıca bu alt dizinlerde
kendi içlerinde dosya ve alt dizin içerebilmektedir. Dizin yapısı isteğe göre belirlenmiş
değildir. Paketlerin düzgün şekilde çalışabilmeleri için önemli dosya ve dizinlerin yeri
standartlaştırılmıştır.
2.1.1. Dosya Tipleri ve Dosyaların Sınıflandırılması
Her işletim sisteminde olduğu gibi Linux işletim sisteminde de dosyalar işletim
sisteminin büyük bir kısmını oluşturmaktadır. İşletim sistemi de sistemin açılması sırasında
bir dosyadan bilgi okunmaktadır.
Linux’ta bir dosyaya isim verirken tüm alfabetik karakterler , alt cizgi ( _ ) , rakam ,
nokta , virgül kullanılabilmektedir. Dosyalara isim verilirken dikkat edilmesi gereken
kurallardan biri dosya isminde * , ? gibi karakterlerin bulunmamasıdır. Dosya isminin
uzunluğu 256 karakteri geçmemelidir. Ayrıca bir dosyanın büyüklüğü de 2 GB ile sınırlıdır.
Linux işletim sisteminde çalıştırılabilir dosyaların belli bir uzantıya sahip olması
gerekmemektedir. Bir dosyanın çalıştırılıp çalıştırılamayacağı dosyanın dizinlerinden
anlaşılmaktadır.
Linux işletim sisteminde dosyalar birden çok tipte olabilmektedir. Örnek olarak salt
metin dosyaları , çalıştırılabilir dosyalar , blok ve karakter cihaz dosyaları sayılabilir. Metin
dosyaları da kendi aralarında çok fazla farklılık göstermektedirler. Bu farklılık dosyaların
içeriklerinden kaynaklanmaktadır. Postscript formatındaki dökümanlar da metin dosyasıymış
gibi gözükmelerine rağmen metin dosyaları için yazılmış editörler ile incelendiklerinde
içerikleri anlaşılamamaktadır
Linux işletim sistemi temelde 2 farklı dosya tipi bulunmaktadır :
¾
Sıradan Dosyalar
¾
Aygıt Dosyaları
Aygıt dosyaları sistemde bulunan donanım ile haberleşmeyi gerçekleştiren
dosyalardır. Üç farklı aygıt dosya tipi bulunmaktadır.
¾
Karakter aygıt dosyaları : Bu tip aygıt dosyası ile erişilen donanımlar
bilgilerini karakter karakter iletmektedirler.
¾
Blok aygıt dosyaları : Bu tip aygıt dosyası ile erişilen donanımlar ile iletişim
blok aktarma ile gerçekleştirilmektedir.
¾
Kuyruk Dosyaları
Sıradan dosyalar , aygıt dosyaları dışında kalan dosyalardır. Çok fazla çeşitte sıradan
dosya tipi bulunmaktadır.
Bir dosyanın tipinin belirlenmesi için Linux işletim sisteminde file komutu
kullanılmaktadır. Bu komut dosyayı inceleyerek tipini kullanıcıya göstermektedir. Bu komut
dosyaları aygıt dosyası , sıradan dosya gibi genel olarak sınıflamak yerine dosyanın tam
tipini vermektedir.
2.1.2. Dizin Hiyerarşisi
Dosya sistemi, işletim sisteminin, dosyaları diskte tutabilmek için kullandığı yapılar
ve yöntemlere verilen addır. Yani bir anlamda dosyaların diskteki düzenidir diyebiliriz. Bu
düzen kapsamında bir hiyerarşiden bahsedebiliriz.
Hiyerarşinin en üstünde kök dizini (ing. root directory) yer alır ve “/” karakteriyle
gösterilir. Diğer dizinler de bu kök dizininin altında toplanmışlardır.
Resim 2.1 : Linux dizin hiyerarşisi.
Burada en üstte kök dizinini ve altında da çeşitli dizinleri görüyoruz. Alttaki dizinlerin
içinde de kendi dizinleri ve dolayısıyla kendi hiyerarşik düzenleri olduğunu varsayabiliriz.
Bu bağlamda, bu düzen ters bir ağaca benzetilebilir.
Bir dizin ya da dosyanın, sistemdeki konumu, o dosya/dizinin “yol”'uyla belirtilir.
Yol, kök dizininden itibaren, o dosya/dizine ulaşmak için geçilmesi gereken dizinlerin “/”
işaretiyle birleştirilerek ardışık bir şekilde yazılmasıyla elde edilen ifadedir. Örneğin
“/home/hcatak” yolu, kök dizinindeki, home isimli dizinin içindeki hcatak dizininin
konumunu belirtir. Bu ifadede en baştaki “/” kök dizinini belirtmektedir. Aynı şekilde,
“/usr/share/kde” yolu, kök dizinindeki usr dizininin içindeki, share dizininin içinde bulunan
kde dizininin yerini belirtir.
Sisteminizde erişilebilir her dizin/dosyanın yeri, (diğer disklerdekiler de dahil olmak
üzere) bu şekilde tarif edilebilir.
NOT : “/home” dizininde, her kullanıcı için ayrı ayrı tahsis edilmiş kullanıcı (ev) dizinleri
mevcuttur (kaptan isimli bir kullanıcı için /home/kaptan dizini gibi..). Ev dizinlerine erişim
için bir kısayol vardır, şöyle ki; bir kullanıcı, kendi ev dizinindeki metin.txt dosyasına
“~/metin.txt” yolunu kullanarak erişebilir. Yani “~” işareti her kullanıcı için, o kullanıcının
ev dizinini belirtir.
2.1.2.1. Bağlama ve Ayırma Kavramları
Bir dosya sistemini/aygıtı erişilebilir kılmak için yapılması gereken işleme
“bağlamak” (ing. mount) denir. Bağlama işlemi yapıldıktan sonra, bağlanan aygıta,
“bağlama noktası” adı verilen bir dizinden erişilebilir. Bağlama noktası, olarak sistemde
herhangi bir dizin seçilebilir, fakat birazdan bahsedeceğimiz üzere, öntanımlı bağlama
noktaları /mnt'de bulunur.
Dikkat ! : Bilgisayarınızı kapattığınız zaman sisteminize bağlı tüm aygıtlar otomatik olarak
ayrılır. Eğer bilgisayarınızı doğrudan mesela fişi çekerek kapatırsanız, ayırma işlemi
sırasında kaydedilecek olan bazı değişiklikler kaydedilemez, bu da sisteminizde birtakım
hasarlara yol açabilir. Bu yüzden her zaman böyle durumlardan kaçının.
Ayırma (ing. unmount) kavramı da adı üstünde, bir sistemi/aygıtı sistemden ayırmak
için kullanılır. Ayrılma sırasında, ayrılan aygıta, yapılan birtakım değişiklikler kaydedilir.
2.1.2.2. Kök Dizini
Kök dizini diğer tüm dizin ve dosyaları içeren dizindir. Kök dizinin bulunduğu disk
bölümünün sahip olması gereken önemli bir özellik bulunmaktadır. Kök dizinini içeren disk
bölümü sistemi tek kullanıcılı açmak için gerekli tüm dosyaları içinde barındırmalıdır. Bu
işletim sistemin açılabilmesi için gerekli bir kuraldır.
Kök dizininde bulunan dizinlerden ve bu dizinlerin kullanılışlarından kısaca
bahsedelim:
¾
/bin
: Tüm kullanıcıların kullanabildiği temel komutları (cp, mv, ls gibi..) içerir.
¾
/boot
: Açılış işlemi (ing. boot) sırasında kullanılan dosyaları (çekirdek görüntüsü,
sistem haritası, önyükleyici yapılandırması gibi..) içerir.
¾
/dev
: Bilgisayarınızdaki, donanımlarla (sabit diskler, fare gibi..) iletişim
kurulabilmesi için gereken özel aygıt dosyalarını içerir.
¾
/etc
: Adı İngilizce'deki etc. kısaltmasından gelir. Dizin, bulunduğu bilgisayara
özel, birçok yapılandırma bilgisini içerir.
¾
/home : Bu dizin altında, kullanıcıların kişisel verilerini, yapılandırmalarını
kaydettikleri çalışma alanları olan ev dizinleri bulunur. Her kullanıcının ev dizini
kendi kullanıcı adını taşır.
¾
/lib
: Çekirdek modülleri ve paylaşılan kod kütüphanelerini içerir. MS
Windows'ta dll uzantısına sahip olan paylaşılan kütüphane dosyaları, Linux'ta so
uzantısına sahiptir.
¾
/mnt
: Çeşitli dosya sistemi/aygıtların (örneğin, CD, DVD sürücünüz, diğer sabit
diskleriniz gibi..) bağlama noktaları burada bulunur.
¾
/proc
: Süreçler, sistem belleği, bağlı aygıtlar, donanım yapılandırmalarıyla ilgili
bilgileri içeren özel bir “sanal” dosya sistemidir. Bir bilgi alma merkezi olarak
görülebilir. Birçok uygulama buradaki bilgilerden yararlanmaktadır.
¾
/root
: Sistem yöneticisinin (yani “root” kullanıcısının) ev dizinidir.
¾
/usr
: Tüm kullanıcılarca paylaşılan verileri (örneğin programlar, komutlar,
kütüphaneler, dokümanlar gibi) içeren dizindir.
•
/usr/bin : Normal kullanıcılar tarafından kullanılan komutlar.
•
/usr/sbin : Sistem tarafından kullanılan ve sistemin açılması ,kapanması ve tek
kullanıcılı modda çalışması ile ilgili olmayan programlar.
•
/usr/lib : Programlama için kullanılan kütüphaneler.
•
/usr/include : C/C++ için kullanılan başlık dosyaları.
•
/usr/doc : Dökümanların bulunduğu dizin.
¾
¾
•
/usr/man : Man dosyaları.
/var
: Değişken verileri içerir.(örneğin rapor dosyaları, veritabanları, kuyrukta
bekleyen yazdırılacak dokümanlar gibi)
•
/var/lock : Çalışan programların yarattığı kilit dosyaları.
•
/var/log : Log dosyaları.
•
/var/run : Sistemde çalışan sunucuların proses kimlik numaralarını içeren
dosyalar.
•
/var/tmp
: Geçici dosyalar.
•
/var/yp
: NIS ile ilgili dosyalar.
•
/var/spool : Kuyruk dosyaları.
o mail
: Kullanıcıların e-postalarının tutulduğu dizin.
o mqueue : E-posta kuyruğunda bekleyen e-postalar için yaratılan geçici
kuyruk dosyalarının bulunduğu dizin.
o lpd
: Yazıcı kuyruğunda bekleyen işler için geçici dosyaların
bulunduğu dizin.
/tmp
: Geçici dosyaları içerir. Yalnız geçici olduğu için bu dosyaları silmek
tehlikeli olabilir.
2.1.3. Temel Dosya ve Dizin İşlemleri
Linux işletim sisteminde dizin ve dosyalar üzerinde farklı bir çok işlem
yapılabilmektedir. Bu işlemler temel olarak aşağıdaki gibidir :
¾
Yeni Dosya veya Dizin oluşturmak , silmek.
¾
Dosya ve Dizinleri listelemek.
¾
Dosya veya Dizinlerin izinlerini ayarlamak.
¾
Dosyaların içeriğini görmek.
¾
Dosyaları yazdırmak.
¾
Dosya ve Dizinleri kopyalamak ve taşımak.
2.1.3.1. Yeni Dosya ve Dizin Oluşturma
2.1.3.1.1. Yeni Dosya Oluşturma
Yeni bir dosya yaratmanın en basit yolu touch komutunu kullanmaktır. Bu komut
varolamayan bir dosya ismi ile çağırıldığı takdirde boş bir dosya yaratacaktır. Sırf metin
içerecek dosyaların yaratılması için editörler de kullanılabilir.
Touch komutu aşağıdaki yapıya sahiptir :
touch [-acm] [tarih ] dosya_ismi
Touch komutu dosya yaratmanın yanı sıra dosyanın son erişim ve son değişme
zamanlarını düzenlemek için de kullanılabilmektedir. Varolan bir dosya ismi verildiği
takdirde touch komutu dosyanın son erişim ve son değişim tarihini kendisine verilen tarih
parametresi yapmaktadır.
Dosyanın sadece son erişim zamanını değiştirmek için touch komutuna –a
parametresinin verilmesi gerekirken , sadece değişim zamanını değiştirmek için –m
parametresi verilmelidir. Bu parametreler verilmediği takdirde iki zaman bilgisi de
değiştirilir.
Touch komutuna tarih bilgisi verilmediği takdirde sistemin tarih bilgisi kullanılacaktır.
Tarih bilgisi aşağıdaki formatta verilmektedir.
MMDDhhmm[YY] :
¾
MM
: Ay bilgisi
¾
DD
: Gün bilgisi
¾
hh : Saat bilgisi
¾
mm
: Dakika bilgisi
¾
YY
: Yıl bilgisi
Örnek 2.1 :
Dosyanın erişim ve değişim zamanlarını 14 Şubat 2001 01:11 tarihi yapmak için :
touch 0214011101 dosya_ismi
Dosyanın değişim zamanını 26 Mart 1999 00:00 yapmak için :
touch –m 0326000099 dosya_ismi
Dosyanın erişim zamanını 23 Haziran 2001 13:25 yapmak için :
touch –a 0623132501 dosya_ismi
2.1.3.1.2. Yeni Dizin Oluşturma
Linux İşletim Sisteminde yeni dizin yaratmak için mkdir komutu kullanılmaktadır.
Mkdir komutu temel de aşağıdaki yapıya sahiptir :
mkdir [seçenekler] dizin
Mkdir ile kullanılabilecek seçenekler aşağıdaki gibidir :
¾
-m izin_modu : Yeni yaratılacak dizin için geçerli olacak izinler istendiği
takdirde bu parametre ile verilebilir. Bu parametre verilmediği takdirde izinler
tüm sistem için geçerli olan izinlere ayarlanacaktır.
¾
-p : mkdir komutuna verilen dizini oluşturmak için gerektiğinde daha üst
dizinlerinde oluşturulmasını sağlayan parametredir. Örnek olarak dizin ismi
parametresi olarak /olmayan_dizin/açılacak_dizin alan bir mkdir komutu
açılacak_dizin’i barındıracak olan olmayan_dizin sistemde mevcut
olmadığından hata ile sonlanacaktır. Bu durumda mkdir komutu –p parametresi
ile çalıştırıldığında ilk olarak olmayan_dizin sonradan ise acılacak_dizin
yaratılacaktır.
¾
-v : Bu parametre ile mkdir komutunun yarattığı tüm dizinleri kullanıcıya
bildirmesi sağlanır.
Şekil 2.2 : Yeni dizin oluşturma işlemleri.
2.1.3.2. Dosya ve Dizinleri Silme
Sistemde varolan dosya ve dizinlerin silinmesi için rm komutu kullanılmaktadır.
Ayrıca dizinleri silmek için rmdir komutu da kullanılabilir.
Rm komutunun temel yapısı aşağıdaki gibidir :
¾
Dosyalar için
: rm [seçenekler] dosya_ismi
¾
Dizinler için
: rm –r [seçenekler] dizin_ismi
Dizinleri silmek için –r parametresinin kullanılmasının nedeni dizinlerin silinmesi
için ilk olarak içlerinde bulunan dosya ve diğer dizinlerin silinmesi gerekliliğidir. –r
parametresi ile rm komutu rekürsif olarak çalışarak belirtilen dizin altında bulunan tüm dizin
ve dosyaları , son aşamada da belirtilen dizini silecektir. Eğer silinmesi istenen dizin içinde
hiç bir dosya veya başka dizin barındırmıyor ise rmdir komutu ile de silinebilir. İçinde dosya
veya başka dizin barındıran dizinler rmdir komutu ile silinemezler.
Rm komutunun aldığı önemli parametreler aşağıdaki gibidir :
¾
-i : Rm komutunu interaktif moda sokar. Bu durumda rm komutu sileceği her
dosya ve dizin için kullanıcıdan onay bekler. Root kullanıcısı için tanımlanan
komut takma isimleri (alias) rm komutu her zaman bu parametre ile çalıştıracak
şekilde ayarlanmıştır.
¾
-f : Rm komutu bu parametre ile çalıştırıldığında onay için hiç bir zaman
kullanıcıya başvurmaz.
¾
-r : Dizinlerin içeriklerini rekürsif olarak kaldırır.
¾
-d : Belirtilen dizinin içeri boş olmasa bile dizinin silinmesini sağlar. Bu
parametre yalnızca root kullanıcısı tarafından kullanılabilmektedir.
¾
-v : Yapılan her silme işlemi ile ilgili bilgiyi kullanıcıya gösterir.
2.1.3.3. Dosya ve Dizinleri Listeleme
Sistemde varolan dosya ve dizinleri listelemek için ls komutu kullanılmaktadır.
Temelde ls komutunun yapısı aşağıdaki gibidir :
ls [seçenekler][dosya_veya_dizin_ismi]
Ls komutu , dosya veya dizin ismi bildirilmediği takdirde içersinde bulunan dizinin
içeriğini listelemektedir.
Ls ile kullanılan temel parametreler aşağıdaki gibidir :
¾
-a : Tüm dosyaları listelemek için kullanılır. Linux işletim sisteminde isimleri
“.”(nokta) ile başlayan dosyalar gizli dosyalar olarak kabul edilir ve varsayılan
olarak ls çıktısında gözükmezler. Bu dosyalarında ls çıktısında gözükmesini
sağlamak için –a parametresi kullanılmalıdır.
¾
-C : Ls çıktısını sütün olarak listeler. Ls komutu için varsayılan davranış şekli
budur.
¾
-l : Ls çıktısını liste olarak listeler , ayrıca dosya ve dizinler hakkında izin ,
sahip , boyut , en son ne zaman güncellendiği gibi bilgileri de kullanıcıya
belirtir.
¾
-h : Dosya boyutlarını insanların okuyabilecekleri formata sokar. Dosya
boyutlarını byte olarak göstermek yerine Megabyte , kilobyte , gigabyte olarak
gösterir. Byte , kilobyte ,megabyte , gigabyte arasındaki döşüm için 1024
sayısını kullanır.
¾
-H : -h parametresinden temel farkı dönüşümlerde 1024 yerine 1000 rakamı
kullanılır.
¾
-o : -l parametresinden tek farkı dosya veya dizinin grup bilgisini
göstermeyişidir.
¾
-R : Dizinin içeriğini rekürsif olarak listelemek için kullanılır. Bu parametre ile
listeleme yapıldığı takdirde listelenen dizinin içinde bulunan alt dizinlerin
içeriği de listelenir.
¾
--color : Bu parametre sayesinde ls komutu dosyanın tipine göre renklendirme
yapar. (Örnek : dizinler mavi renk ile gösterilir.) Renklendirme işleminin
çalışması için kullanılan terminalin bu işlemi desteklemesi gerekmektedir.
Örnek 2.2 :
[root@atlas /etc]# ls passwd
passwd
[root@atlas /etc]# ls -l passwd
-rw-r--r-- 1
root root
152097 Mar 27 16:38 passwd
2.1.3.4. Dosya ve Dizinlerin İzinlerini Ayarlama
Dizin ve dosyalar erişim haklarının belirlenmesi için izinler kullanılmaktadır. Linux
işletim sisteminde izinler 3 farklı grup olarak verilebilmektedir :
¾
Dosyanın sahibinin izinleri
¾
Dosyanın grubunun izinleri
¾
Diğer kullanıcıların izinleri
Dosyaların ve dizinlerin sahip olduğu izinleri görmek için ls komutu kullanılmaktadır.
Örnek 2.3:
[root@atlas /root]# ls -ld Projects/
drwxr-xr-x 3 root root
4096 Aug 25 2000 Projects/
[root@atlas /root]# ls -l smb.conf
-rw-r--r-- 1 root users
10852 Jun 30 2000 smb.conf
İzinler ls çıktısında ilk kısımda belirtilmekte ve 4 ayrı kısımdan oluşmaktadırlar. Bu
kısımlar :
¾
Dosyanın tipini belirten kısım : İzin kısmının başında bulunan kısımdır. Bu
bilgi kullanılarak dosyanın sade bir dosya , dizin , aygıt sürücüsü , veya link
öğrenilebilmektedir.
•
Normal dosyalarda – işareti gözükmektedir.
•
Dizinler için d işareti gözükmektedir.
•
Karakter bazında işlem yapan aygıt sürücüleri için c işareti
gözükmektedir.
•
Blok bazında işlem yapan karakter sürücüleri için b işareti
gözükmektedir.
•
Başka bir dosyayı işaret eden link’ler için l işareti gösterilmektedir.
¾
Dosyanın sahibinin haklarını belirten kısım : Bu kısımda dosyanın sahibinin
dosya üzerindeki hakları tanımlanır.
¾
Dosyanın grubunun Haklarını belirten kısmı : Bu kısımda dosyanın dahil
olduğu grubun dosya üzerindeki hakları tanımlanır.
¾
Diğer kullanıcıların hakları : Sistemde bulunan tüm kullanıcıların dosya
üzerindeki hakları tanımlanır.
Kullanıcıların dosyalar üzerinde 3 farklı işlem yapabilmektedirler :
¾
Dosyayı okuma
¾
Dosyaya yazma
¾
Dosyayı çalıştırma
Kullanıcıların hakları bu işlemlerden hangilerini yapmaya yetkili olduklarına göre
değişmektedir.
Yukarıda gösterdiğimiz ls çıktısını göz önüne alalım :
-rw-r--r-- 1 root users
10852 Jun 30 2000 smb.conf
İzinlerin başında bulunan – işaretinden dosyanın sıradan bir dosya olduğu
anlaşılmaktadır. Kullanıcılar dosyalar üzerinde 3 farklı işlem yapabildiklerinden dosya
üzerindeki hakları 3’lü gruplar olarak gösterilir. Dosyanın sahibi olan “root” kullanıcısının
dosya üzerinde okuma ve yazma hakkı bulunmaktadır. Çalışma izni olmadığı için bu iznin
belirtildiği kısımda – karakteri gözükmektedir. Dosyanın dahil olduğu grup olan “users”
grubuna dahil kullanıcıların dosya üzerinde sadece okuma izni bulunmaktadır. Sistemdeki
tüm kullanıcılar da dosya üzerinde okuma hakkına sahiptirler.
Dizinler için çalıştırabilme hakkı , dizine geçip geçememek anlamına gelmektedir.
Dizin için çalıştırma hakkına sahip olan bir kullanıcı o dizine geçebilmektedir.
Dosya ve dizinlerin izinleri sahipleri tarafından değiştirilebilmektedir. İzinlerin
değiştirilmesi amacıyla chmod komutu kullanılmaktadır.
Chmod komutu 2 farklı şekilde çalıştırılabilmektedir :
¾
Yeni izinin sayısal değerinin verilmesi ile
¾
Yapılacak değişiklik sembolik olarak verilmesi ile
İzinler 3 farklı grubun dosya üzerinde 3 farklı işlevden hangilerini yapabileceklerini
belirtir. Her grup tek başına ele alınıp izinlerin değerleri toplanarak sayısal değerler elde
edilir.
rw-r--r-- iznini ele alalım :
¾
Dosyanın sahibinin hakları : rw•
Verilen haklar için bir verilmeyen haklar için 0 konularak izinin 2’li
düzendeki görüntüsü elde edilir.
•
rw- à 110
•
2’li tabandaki sayı 10’luk tabana çevrilerek izinin sayısal değeri elde
edilir. 110 à 6
¾
Grubun hakları
•
r-- à 100 à 4
¾
Diğer kullanıcıların hakları
•
r-- à 100 à 4
¾
rw-r--r-- à 110 100 100 à 644
Bir dosyanın kullanıcısına tüm hakları , grubuna okuma diğer kişilere ise hiç bir hak
vermemek için chmod komutu aşağıdaki şekilde kullanılır.
Kullanıcıya Tüm İzinler
Gruba Okuma
Diğer kullanıcılara hiç hak verilemesi
rwx
r----
111
100
000
7
4
0
chmod 740 dosya_ismi
İzinlerin ayarlanması için chmod komutuna verilecek parametreler sembolik olarak da
verilebilmektedir. Sembolik gösterimde izinler üzerinde yapılacak değişiklikler semboller
vasıtasıyla gösterilmektedir.
Kullanıcı gruplarının sembolleri aşağıdaki gibidir :
¾
Dosyanın sahibi : u (user)
¾
Dosyanın Grubu : g (group)
¾
Diğer Kullanıcılar : o (others)
İzinlerin sembolleri aşağıdaki gibidir :
¾
Okuma izini
: r (read)
¾
Yazma izini
: w (write)
¾
Çalıştırma izini
: x (execute)
Dosya üzerinde izinleri vermek için + , izinleri çıkarmak için – sembolleri
kullanılmaktadır.
Örnek 2.4 :
Herkese okuma izni vermek
Dosyanın sahibine tüm hakları vermek
Diğer kullanıcıların tüm yazma ve
çalıştırma hakkını kaldırmak
Dosya sahibine tüm haklar , gruba okuma ,
diğer kullanıcılara okuma haklarını vermek
chmod +r dosya_ismi
chmod u+rwx dosya_ismi
chmod o-wx dosya_ismi
chmod u+rwx,g+r,o+r dosya_ismi
2.1.3.5. Dosya ve Dizinlerin Kopyalanması ve Taşınması
Linux işletim sisteminde kopyalama işlemi cp komutu ile gerçekleştirilmektedir. Bu
komutun temel kullanım şekli aşağıdaki gibidir :
cp [seçenekler] kaynak hedef
Kaynak ve hedef olarak belirtilen parametreler dosya veya dizin olabilir. Cp
komutunun alabileceği temel parametreler aşağıdaki gibidir :
¾
-R : Bu parametre dizinleri kopyalamak için kullanılır. Herhangi bir dizin
kopyalanacağı zaman bu parametre verilmediği takdirde cp komutu dizini
kopyalamaz. Bu parametre sayesinde dizin ve içinde bulunun dosya ve alt
dizinler hedef dizine kopyalanır.
¾
-p : Bu parametre kopyalanan dosya veya dosyaların izinlerin ve sahiplerinin
korunmasını sağlamaktadır.
¾
-d : cp komutu varsayılan olarak bir linki kopyalarken linkin belirtmiş olduğu
dosyayı kopyalamaktadır. Kopyalama işleminde dosyanın kendisinin yerine
linkinin kopyalanması istendiği takdirde bu parametre kullanılmalıdır.
¾
-l : Bu parametre sayesinde kopyalama işlemi yerine link yaratma işlemi
gerçekleştirilir. Bu sayede kopyalanan dosya değiştiği takdirde diğer kopyası da
değişecektir.
Örnek 2.5 :
[root@seawolf /tmp]# ls -l ders_ornek
-rw-r--r-- 1 root root
95 Aug 1 14:21 ders_ornek
[root@seawolf /tmp]# cp ders_ornek ders_ornek_kopya
[root@seawolf /tmp]# cp -l ders_ornek ders_ornek_link
[root@seawolf /tmp]# ls -l ders_ornek*
-rw-r--r-- 2 root root
95 Aug 1 14:21 ders_ornek
-rw-r--r-- 1 root root
95 Aug 1 14:22 ders_ornek_kopya
-rw-r--r-- 2 root root
95 Aug 1 14:21 ders_ornek_link
[root@seawolf /tmp]# echo TTT >> ders_ornek
[root@seawolf /tmp]# ls -l ders_ornek*
-rw-r--r-- 2 root root
99 Aug 1 14:23 ders_ornek
-rw-r--r-- 1 root root
95 Aug 1 14:22 ders_ornek_kopya
-rw-r--r-- 2 root root
99 Aug 1 14:23 ders_ornek_link
[root@seawolf /tmp]#
•
-s : Bu parametre ile kopyalama işlemi yerine sembolik link atma işlemi
yapılmaktadır.
[root@seawolf /tmp]# cp -s ders_ornek ders_ornek_sembolik
[root@seawolf /tmp]# ls -l ders_ornek*
-rw-r--r-- 2 root root
99 Aug 1 14:23 ders_ornek
-rw-r--r-- 1 root root
95 Aug 1 14:22 ders_ornek_kopya
-rw-r--r-- 2 root root
99 Aug 1 14:23 ders_ornek_link
lrwxrwxrwx
1 root
root
10 Aug 1 14:55 ders_ornek_sembolik ->
ders_ornek
[root@seawolf /tmp]#
• -f : Bu parametre sayesinde kullanıcıya hiç bir soru sorulmamaktadır. Eğer hedef
dosya sistemde mevcut ise bu parametre ile ilk olarak mevcut dosya silinir , daha sonra
kopyalama işlemi gerçekleştirilir.
• -i : Bu parametre sayesinde kopyalama işleminin hedef dosyasının mevcut olduğu
durumlarda yapılacak işlem kullanıcıya sorulmaktadır.
• -u : Bu parametre kullanıldığı takdirde kopyalanan dosya hedef dosyadan daha
yeni ise kopyalama işlemi gerçekleştirilmektedir.
• -a : Bu parametre –dpR parametrelerine denktir.
Linux işletim sisteminde taşıma işlemi mv komutu ile gerçekleştirilmektedir. Bu
komut aynı zamanda dosyanın isminin değiştirilmesi içinde kullanılmaktadır. Bu komutun
temel yapısı aşağıdaki gibidir :
mv [seçenek] kaynak hedef
Kaynak ve hedef olarak belirtilen parametreler dosya veya dizin olabilmektedirler. Mv
komutu seçenek olarak f,i,u parametrelerini kabul etmektedir. Bu parametrelerin işlevleri cp
komutundaki işlevleri ile aynıdır.
Örnek 2.6 :
[root@seawolf /tmp]# mkdir ders_deneme
[root@seawolf /tmp]# touch ders_mv_deneme
[root@seawolf /tmp]# ls -l ders_mv_deneme
-rw-r--r-- 1 root root
0 Aug 1 15:04 ders_mv_deneme
[root@seawolf /tmp]# mv ders_mv_deneme ders_mv_deneme_1
[root@seawolf /tmp]# ls -l ders_mv_deneme
ls: ders_mv_deneme: No such file or directory
[root@seawolf /tmp]# ls -l ders_mv_deneme_1
-rw-r--r-- 1 root root
0 Aug 1 15:04 ders_mv_deneme_1
[root@seawolf /tmp]# mv ders_mv_deneme_1 ders_deneme
[root@seawolf /tmp]# ls -l ders_deneme/
total 0
-rw-r--r-- 1 root root
0 Aug 1 15:04 ders_mv_deneme_1
[root@seawolf /tmp]# mv ders_deneme ders_deneme_1
[root@seawolf /tmp]# ls -l ders_deneme
ls: ders_deneme: No such file or directory
[root@seawolf /tmp]# ls -l ders_deneme_1/
total 0
-rw-r--r-- 1 root root
0 Aug 1 15:04 ders_mv_deneme_1
[root@seawolf /tmp]# mkdir ders_deneme_2
[root@seawolf /tmp]# mv ders_deneme_1 ders_deneme_2
[root@seawolf /tmp]# ls -lR ders_deneme_2/
ders_deneme_2/:
total 4
drwxr-xr-x 2 root root
4096 Aug 1 15:05 ders_deneme_1
ders_deneme_2/ders_deneme_1:
total 0
-rw-r--r-- 1 root root
0 Aug 1 15:04 ders_mv_deneme_1
2.1.3.6. Çalışma Dizininin Değiştirilmesi ve Bulunulan Çalışma Dizininin Öğrenilmesi
Linux işletim sisteminde diğer işletim sistemlerinde de olduğu gibi bulunulan dizinin
değiştirilmesi için cd komutu kullanılmaktadır. Cd ayrı bir program olarak bulunmamaktadır.
Cd komutu kabuk programına gömülmüş olarak bulunur.
Cd komutunun temel kullanım şekli aşağıdaki gibidir :
cd [geçilecek_dizin]
Geçilmesi istenen dizin parametresi verilmediği takdirde kullanıcının ev dizinine
geçilir. Geçilmesi istenen dizin istendiği takdirde tam yol olarak, istendiği takdirde de
göreceli yol olarak verilebilir. Tam yol ile belirtilen geçilmesi istenen dizinin kök dizininden
itibaren bulunduğu yerin belirtilmesidir.(Örnek : /usr/bin , /home/halil). Göreceli yol ise
içinde bulunulan dizinden geçilmesi istenen dizine gidilmesi için gereken yolu belirtir.
Örnek olarak /usr dizininde iken /usr/bin dizinine geçmek için “cd bin” komut verildiğinde
göreceli yol tanımlanmış olur. “cd /usr/bin” komutu kullanıldığında ise tam yol tanımlanmış
olur.
Geçilmek istenen dizin parametresi olarak cd komutu aşağıdaki özel karakterleri de
kabul etmektedir (Bu parametreler dizinler için referanslar olduklarından diğer komutlar ile
de kullanılabilir) :
¾
. : Bulunulan dizini referans eder.
¾
.. : Bir üst dizini referans eder.
¾
~[kullanıcı_ismi] : Belirtilen kullanıcının ev dizinini referans eder. Kullanıcı
ismi kullanılmadığı takdirde geçerli olan kullanıcının ev dizini referans edilir.
¾
- : Bir önce bulunulan dizini referans eder. Bu parametre sadece cd komutunda
geçerlidir.
İçinde bulunulan dizini öğrenmek için pwd komutu kullanılır. Bulunulan dizini
öğrenmek için sadece “pwd” yazılması yeterlidir.
Örnek 2.7:
[root@atlas /root]# pwd
/root
[root@atlas /root]# cd ~halil
[root@atlas halil]# pwd
/users/bim/halil
[root@atlas halil]# cd [root@atlas /root]# pwd
/root
[root@atlas /root]# cd ..
[root@atlas /]# pwd
/
[root@atlas /]# cd .
[root@atlas /]# pwd
/
[root@atlas /]# cd
[root@atlas /root]# pwd
/root
[root@atlas /root]#
2.1.3.7. Dosyalara Kısayol-Bağ (Link)Tanımlanması
Dosyalara farklı isimler veya farklı dizinlerden erişmek için dosyalara kısayollar
tanımlanmaktadır. Kısayollar Unix türevlerinde bağ dosyaları olarak geçmektedir. Bağ
dosyası yaratmak için ln komutu kullanılmaktadır.
İki farklı link çeşidi bulunmaktadır. Bunlar hard-link ve sembolik (soft) link’tir.
Hard-link ile yaratılmış bir bağ dosyası , diğer dosyanın tam anlamıyla bir kopyasını
içerir. Dosyalardan orjinal olan silinse bile link atılmış dosyalar aynı içeriği korumaya
devam ederler.
Sembolik link ile yaratılmış bağ dosyaları tam anlamıyla kısayol olarak kullanılırlar.
İşlevleri orjinal dosya için yönlendirme yapmaktır.
Örnek 2.8 :
bash-2.04$ touch ln_ornek
bash-2.04$ echo "LN için örnek " >ln_ornek
bash-2.04$ ln ln_ornek ln_ornek_hard
bash-2.04$ ln -s ln_ornek ln_ornek_soft
bash-2.04$ ls -la
total 16
drwxr-xr-x
2 halil users
4096 Aug 10 04:02 .
drwxrwxrwt
3 root root
4096 Aug 10 04:02 ..
-rw-r--r-2 halil users
15 Aug 10 04:02 ln_ornek
-rw-r--r-2 halil users
15 Aug 10 04:02 ln_ornek_hard
lrwxrwxrwx
1 halil users
8 Aug 10 04:02 ln_ornek_soft -> ln_ornek
bash-2.04$ cat ln_ornek_soft
LN için örnek
bash-2.04$ cat ln_ornek_hard
LN için örnek
bash-2.04$ rm -f ln_ornek
bash-2.04$ cat ln_ornek_soft
cat: ln_ornek_soft: No such file or directory
bash-2.04$ cat ln_ornek_hard
LN için örnek
bash-2.04$ ls -la
total 12
drwxr-xr-x
drwxrwxrwt
-rw-r--r-lrwxrwxrwx
bash-2.04$
2 halil users
3 root root
1 halil users
1 halil users
4096 Aug 10 04:02 .
4096 Aug 10 04:02 ..
15 Aug 10 04:02 ln_ornek_hard
8 Aug 10 04:02 ln_ornek_soft -> ln_ornek
2.1.3.8. Dosyaların İçeriklerinin Görülmesi
Linux İşletim sisteminde hemen hemen her türlü dosya tipi için bir gösterici
bulunmaktadır. Resim dosyaları için gimp , ee mp3 dosyaları için xmms,mpg123 gibi
programlar kullanılabilmektedir.
Metin tabanlı dosyaların içeriğinin görüntülenmesi için cat komutu kullanılmaktadır.
Bu komutun temel yapısı aşağıdaki gibidir.
cat [seçenekler] dosya_ismi [dosya_ismi_2,...]
cat programının kabul ettiği parametreler aşağıdaki gibidir :
¾
-t : Metinin içinde geçen tab karakterini ^I olarak göstermeyi sağlayan
parametredir.
¾
-e : Satır sonlarının $ karakteri olarak gösterilmesini sağlayan parametredir.
¾
-A: -e ve –t parametrelerinin beraber kullanılması ile eşdeğerdir.
¾
-n : Her satırın numaralandırılmasını sağlayan parametredir.
Metin tabanlı dosyaların içeriklerinin görüntülenmesi için more komutu da
kullanılabilmektedir.More komutunun diğer bir özelliği ise dosyanın içeriğini sayfa sayfa
olarak göstermesidir. Her sayfa sonunda gösterme işleminin devamı için kullanıcının
ENTER veya BOŞLUK tuşlarına basması gerekmektedir. BOŞLUK tuşu bir sayfa ileri ,
ENTER tuşu bir satır ileri gitmek için kullanılır. Aynı metin içinde gezinmek için ok tuşları
da kullanılabilir. Metin içinde arama yapılmak istendiği takdirde “ / ” karakteri ile arama
moduna geçilir ve bulunması istenen kelime yazılır. Kelime bulunduktan sonra , aynı
kelimenin bir sonraki yerini bulmak için “n” tuşuna basılması yeterlidir.
More ile aynı işi yapabilen less programı da Linux işletim sisteminde bulunmaktadır.
More programından farklı birkaç gelişmiş özelliği bulunmaktadır. Bunlardan en önemlisi
başlangıçta tüm dosyayı okumak zorunda olmayışıdır. Bu özellik sayesinde çalıştırılma
esnasında performans artışı görülmektedir. Ayrıca hafıza kullanımı düşmektedir.
2.1.3.9. Dosyaların ve Dizinleri Aramak
Linux dosya sisteminde iç içe geçmiş dizinler arasında istenen dosya ve dizinlerin
bulunması güç bir olay olabilmektedir. find programı belli kriterlere göre dosya ve dizin
arama işlemlerinde kullanılmaktadır. Find programının temel yapısı aşağıdaki gibidir :
find [aramaya_baslanacak_dizin] [arama_kriterleri]
find ile kullanılabilecek belli başlı arama kriterleri aşağıdaki gibidir :
¾
-name exp : İsim ile arama yapmak için kullanılır. Dosyanın tam ismi
verilebileceği gibi , * ve ? gibi yer tutucu karakterlerde kullanılabilir.
¾
-user kullanıcı : İstenilen kullanıcıya ait dosyaların bulunması için kullanılır.
¾
-group grup : Belirtilen gruba ait dosyaların bulunması için kullanılır.
¾
-perm izin : Belirtilen izine sahip dosyaların bulunması için kullanılır.
¾
-newer dosya1 : Belirtilen dosyadan daha yeni dosyaların bulunması için
kullanılır.
¾
-size [+|-] büyüklük : Belirtilen büyüklüğe sahip dosyaların bulunması için
kullanılır.
¾
-anewer dosya1 : Belirtilen dosya yapılan erişimden daha sonra erişilmiş
dosyaları bulmak için kullanılır.
¾
-amin [+|-] süre : Süre ile belirtilen dakika önce erişilen dosyaları bulmak için
kullanılır.
¾
-atime [+|-] süre : Süre ile belirtilen gün önce erişilen dosyaları bulmak için
kullanılır.
¾
-cmin [+|-] süre : Süre ile belirtilen dakika önce statüsü değiştirilen dosyaları
bulmak için kullanılır.
¾
-ctime [+|-] süre : Süre ile belirtilen gün önce statüsü değiştirilen dosyaları
bulmak için kullanılır.
¾
-links [+|-] sayı : Sayı ile belirtilen miktarda hard-link’e sahip dosyaları bulmak
için kullanılır.
¾
-mmin [+|-] süre : Süre ile belirtilen dakika önce değiştirilmiş dosyaları
bulmak için kullanılır.
¾
-mtime [+|-] süre : Süre ile belirtilen gün önce değiştirilmiş dosyaları bulmak
için kullanılır.
¾
-nouser : Hiç bir tanımlı kullanıcıya ait olmayan dosyaları bulmak için
kullanılır.
¾
-nogrup : Hiç bir tanımlı gruba ait olmayan dosyaları bulmak için kullanılır.
¾
-regex patern : İsmi patern ile belirtilen regular expression’a uyan dosyaları
bulmak için kullanılır. Dikkat edilmesi gerek nokta regular expression dosya
ismi üzerinde değil tam yol bilgisi üzerinde denenmektedir.
¾
-type tip : Aramada bulunması istenilen dosyanın tipini belirlemek için
kullanılır. Tip olarak kullanabilecekler aşağıdaki gibidir :
•
b : Blok aygıt dosyası
•
c : Karakter aygıt dosyası
•
d : Dizin
•
f : Normal dosya
•
l : Sembolik link.
•
s : Soket
•
p : Named Pipe
Sayısal argüman içeren parametreler için arama kriterleri aşağıdaki şekilde
değiştirilebilir :
¾
+ sayı : Sayıdan daha büyük
¾
- sayı : Sayıdan daha küçük
¾
sayı : Tam olarak sayının kendisi
Örnek olarak “–mtime -8 “ kriteri ile arama yapıldığında “8 günden daha kısa süre
içinde değişikliğe uğramış” dosyalar bulunacaktır.
Find programı sadece dosya bulmak için kullanılmamaktadır. Bulunan dosyalar
üzerinde işlem yapma yeteneğine de sahiptir. Bulunan dosyalar üzerinde yapılabilecek temel
işlemler ve arama kriterine eklenmesi gereken parametreler aşağıdaki gibidir :
¾
-exec komut ; : Bulunan dosya için komut ile belirtilen komutu çalıştırır. Komut
ile belirtilen argümanda bulunan {} işareti bulunan dosya ismi ile değiştirilir.
¾
-ok komut ; : Exec parametresinden tek farkı komut çalıştırılmadan önce
kullanıcıdan onay istemesidir.
¾
-ls : Dosya ile ilgili belirli özellikleri listeler (ls –dils)
¾
-fls : ls çıktısını standart çıkış yerine bir dosyaya aktarılmasını sağlar.
find komutu ile birlikte ayrıca aşağıdaki mantıksal öperatörler arama kriterlerini
birleştirmek için kullanılabilir :
¾
-a : ve
¾
-o : veya
¾
\! : değil
Örnek 2.9 : /etc dizini altında 4 günden daha kısa sürede değiştirilmiş dosyaları
bulmak için :
[root@seawolf /etc]# find -mtime -4 -ls |more
195841 4 drwxr-xr-x 36 root root
4096 Aug 8 07:42 .
65518 4 drwxr-xr-x 2 root root
4096 Aug 6 17:58 ./logrotate.d
198772 4 -rw-r--r-- 1 root root
199 Aug 8 07:42 ./mtab
198752 4 -rw------- 1 root root
60 Aug 8 07:41 ./ioctl.save
198748 4 -rw-r--r-- 1 root root
78 Aug 8 07:43 ./issue
198759 4 -rw-r--r-- 1 root root
77 Aug 8 07:43 ./issue.net
[root@seawolf /etc]# stat ./issue
File: "./issue"
Size: 78
Blocks: 8
Regular File
Access: (0644/-rw-r--r--)
Uid: ( 0/ root) Gid: ( 0/ root)
Device: 802
Inode: 198748 Links: 1
Access: Wed Aug 8 09:12:56 2001
Modify: Wed Aug 8 07:43:17 2001
Change: Wed Aug 8 07:43:17 2001
[root@seawolf /etc]# date
Fri Aug 10 16:45:06 EEST 2001
Örnek 2) İsmi ders_find_ornek ile başlayan dosyaları bulmak için
[root@seawolf /]# find /tmp -name ders_find_ornek*
/tmp/find_ornek/ders_find_ornek_1
/tmp/find_ornek/ders_find_ornek_2
/tmp/find_ornek/ders_find_ornek_3
/tmp/find_ornek/ders_find_ornek_4
/tmp/find_ornek/ders_find_ornek_5
Örnek 2.10: İsmi ders_find_ornek ile başlayan dosyaları bulup silmek için :
[root@seawolf /]# ls -l /tmp/find_ornek/
total 0
-rw-r--r-- 1 root root
0 Aug 10 16:47 ders_find_ornek_1
-rw-r--r-- 1 root root
0 Aug 10 16:47 ders_find_ornek_2
-rw-r--r-- 1 root root
0 Aug 10 16:47 ders_find_ornek_3
-rw-r--r-- 1 root root
0 Aug 10 16:47 ders_find_ornek_4
-rw-r--r-- 1 root root
0 Aug 10 16:47 ders_find_ornek_5
[root@seawolf /]# find /tmp -name ders_find_ornek* -exec rm -f {} \;
[root@seawolf /]# ls -l /tmp/find_ornek/
total 0
[root@seawolf /]#
Örnek 2.11 : /tmp altında boyu 95 byte veya ismi ders_find ile başlayanları bulmak
için :
[root@seawolf /]# find /tmp/ -size 95c -o -name ders_find*
/tmp/ders_ornek_kopya
/tmp/find_ornek/ders_find_ornek_5
/tmp/find_ornek/ders_find_ornek_4
/tmp/find_ornek/ders_find_ornek_3
[root@seawolf /]# ls /tmp/ders_ornek_kopya
/tmp/ders_ornek_kopya
[root@seawolf /]#
Parametre örnekleri :
-name “abc*” : abc ile başlayan arama
¾
-name “[a-k]95” : ismi a95,b95 gibi olan dosya arama
¾
-perm 755
: erişimi 755 olan dosya arama
¾
-size 10
: diskteki alanı 10 Blok olan dosyalar ( 1 Blok = 512 kByte
)
¾
-size +100
: 51 kByte’tan büyük dosyalar
¾
-size –45
: 45 kByte’tan küçük dosyalar
¾
-ctime 3
: 3 gün önce değişikliğe uğramış dosyalar
¾
-ctime +8
: 8 günden daha uzun bir süre önce değişikliğe uğramış olan
dosyalar
¾
-ctime –8
: 8 günden daha kısa bir süre önce değişikliğe uğramış olan
dosyalar
¾
-mtime 3 : 3 gün önce değişikliğe uğramış dosyalar
¾
-mtime +8
: 8 günden daha uzun bir süre önce değişikliğe uğramış olan
dosyalar
¾
-mtime –8
: 8 günden daha kısa bir süre önce değişikliğe uğramış olan
dosyalar
¾
-atime 3
: 3 gün önce erişilmiş dosyalar
¾
-atime +8
: 8 günden daha uzun bir süre önce erişilmiş
dosyalar
¾
-atime –8
: 8 günden daha kısa bir süre önce erişilmiş dosyalar
$ find /home –name “*.temp” –a -size +100 –print
adı *.tmp kalıbına uyan ve büyüklüğü 100 bloktan fazla olan dosyaları bulur.
2.1.3.10. Pardus’ta Dosya ve Dizin İşlemleri
2.1.3.10.1. Dosya Yöneticisi : Konqueror
Dosya yöneticisi, birçok dosya ve dizin işlemlerinin yapılmasını
sağlayan programa denir. Pardus'ta kullanılan dosya yöneticisinin adı
Konqueror'dır. Konqueror, dosyalarla çalışmanızı ve dosyaları yönetmenizi
oldukça kolaylaştırır. KDE projesi kapsamında geliştirilmekte olan Konqueror, aynı
zamanda bir web tarayıcısı olarak da kullanılabilir. Şimdi, bir dosya yöneticisi olarak
Konqueror'dan ve Konqueror'ın temel kullanımından bahsedelim.
Konqueror'ı birkaç değişik yolla başlatabilirsiniz:
¾
Masaüstündeki ev simgesinden
¾
Pardus menüsündeki “Kişisel Dosyalar (Başlangıç)”'tan
¾
Pardus menüsündeki “Komut Çalıştır...” bölümüne “Konqueror” yazarak
Konqueror'da en üstte diğer çoğu uygulamadaki gibi menü çubuğu bulunur. Bu
çubuk, açılır menülerin adlarını içerir. Bu adlara tıklayarak menüleri açabilir yine aynı
şekilde tıklayarak kapatabilirsiniz. Menüleri açmak için klavyeyi de kullanabilirsiniz. Bunun
için, Alt tuşuna basılı tutarak, menü çubuğundan açmak istediğiniz menünün adındaki altı
çizgili harfe basmanız yeterlidir. Örneğin, Alt+K bileşimi, ilk menü olan “Konum”
menüsünü açar.
Menü çubuğunun altında, simgelerin olduğu çubuğa ise araç çubuğu adı verilir. Bu
çubukta, en sık kullanılan işlemlerin simgeleri bulunur. Bu simgeleri kullanmak için fareyle
sol tıklamanız yeterli olacaktır. Simgelerin üstüne imleçle geldiğinizde açılan ipuçlarından
simgeyle ilgili bilgi alabilirsiniz. Bazı simgelerin sağ alt köşesinde küçük bir üçgen görünür.
İmleci bu tip simgelerin üstünde basılı tutarsanız karşınıza o simgeyle ilgili bir menü çıkar.
Bu üçgenler bunu belirtmek üzere konulmuştur.
Araç çubuğuna sağ tıklayınca karşınıza araç çubuğu menüsü çıkar. Bu menüyü araç
çubuğunun yerini değiştirmek, yeni simgeler eklemek, Konqueror'a yeni çubuklar eklemek
için kullanabilirsiniz.
Araç çubuğun altında konum çubuğu bulunur. Bu çubuk gösterilmekte olan
dosya/dizini gösterir. Buraya bir dosya ya da dizin yolu girerek girdiğiniz dosya/dizini
görüntüleyebilirsiniz. Bu çubukta en solda bulunan “x” işaretine basarak çubuğu
temizleyebilirsiniz.
Konum çubuğundan sonra gelen ikiye bölünmüş alan, bir dizinin/dosyanın içeriğinin
gösterildiği ana bölümdür. Sol taraftan bir dizine seçerek, ya da sağ taraftan bir dosya/dizine
çift tıklayarak içeriğini görüntüleyebilirsiniz.
En altta ise durum çubuğu bulunur. Bu çubuk içeriği gösterilen dosya ya da dizinle
ilgili ek bilgiler verir. İmleçle sağ taraftaki bir dosya/dizinin üzerine gittiğinizde durum
çubuğu imlecin altındaki dosya/dizinle ilgili bilgi verir.
2.1.3.10.1.1. Konqueror İle Dosya Silme
Dosyaları, çöpe atarak ya da doğrudan silebilirsiniz fakat çöpe atarak silmek
en güvenli yoldur, çünkü bir hata yaptığınızı fark edip sildiğinizi geri almak
istediğinizde bunu yapma imkanınız vardır.
Bir dosya ya da dizini çöpe atmanın en kolay yolu üzerine sağ tıklayıp, “Çöp
Kutusuna At” seçeneğini seçmektir. Aynı şeyi, dosya ya da dizine tıklayıp, “Düzen”
menüsünden “Çöp Kutusuna At”'ı seçerek ya da klavyedeki “Delete” tuşuna basarak
yapabilirsiniz.
Seçili bir nesneyi doğrudan silmek içinse “Shift+Delete” tuş bileşimini kullanarak, ya
da “Düzen” menüsünden “Sil”'i seçerek yapabilirsiniz. Bunlara ek olarak, bir dosya ya da
dizini silebilmeniz için gerekli izinlere sahip olmanız gerekir.
2.1.3.10.1.2. Konqueror İle Dosya Kopyalama ve Taşıma
Dosya ya da dizinleri aşağıdaki adımları takip ederek kopyalayabilirsiniz.
¾
¾
¾
Kopyalama işlemini yapmak için öncelikle kopyalamak istediğiniz dizin ya da
dosyanın üzerine sağ tıklayın ve “Kopyala”'yı seçin. Aynı işlemi dosya ya da
dizin seçiliyken Control+C tuş bileşimini kullanarak ya da “Düzen”
menüsünden “Kopyala”'yı seçerek de yapabilirsiniz.
Dosya veya dizini kopyalamak istediğiniz yere, ana bölümün sol tarafını veya
konum çubuğunu kullanarak ulaşın.
Ana bölümün sağ tarafındaki alanda, boş bir yere sağ tıklayarak “Yapıştır”'ı
seçin. Aynı işlemi Control+V tuş bileşimini ya da “Düzen” menüsündeki
“Yapıştır” seçeneğini kullanarak yapabilirsiniz.
Taşıma işlemi de benzer bir şekilde yapılabilir, yalnızca ilk adımda, “Kopyala” yerine
“Kes”'i seçin. Bunun için Control+X tuş bileşimini de kullanabilirsiniz.
Kopyalama veya taşıma işlemini sürükleyip bırakma yoluyla da gerçekleştirebiliriz.
Bunun için, kopyalamak/taşımak istediğiniz nesneye tıklayıp, farenin tuşunu bırakmadan
kopyalamak/taşımak istediğiniz yere getirin ve farenin tuşunu bırakın. Konqueror size
kopyalamak mı yoksa taşımak mı istediğinizi soracaktır. Hedef dizin nesnenin bulunduğu
dizinden uzaksa bunun çözümü var:
¾
Kopyalamak/taşımak istediğiniz dosya/dizinin olduğu yerde, durum çubuğuna
sağ tıklayın ve “Görünümü Alt/Üst Şeklinde Böl”'ü seçin. Bu işlemin kısayolu
olarak Control+Shift+T bileşimini kullanabilirsiniz. Bunu yaptığınız zaman
Konqueror bulunduğunuz dizinin görünüşünün bir kopyasını çıkartır. Ardından
yine sol tarafı kullanın ve hedef dizine gidin. Şimdi dosyanızı sürükleyip
bırakarak kopyalayabilir ya da taşıyabilirsiniz. Açtığınız ek bölümü de
Control+Shift+R ile kapatabilirsiniz.
¾
Kopyalamak istediğiniz nesneye sağ tıklayın. Altta, yanında küçük siyah üçgen
bulunan “Kopyala” seçeneğine girin. Açılacak menüden hedef dizini
seçebilirsiniz. Taşıma işi de aynı şekilde gerçekleşir fakat onun için “Kopyala”
yerine “Taşı” seçeneğini seçin.
Eğer, hedef dizinde kopyaladığınız ya da taşıdığınız dosya/dizinle aynı isimden bir
tane daha varsa Konqueror size ne yapılması gerektiğini soracaktır.
2.1.3.10.1.3. Konqueror İle Birden Fazla Dosya Seçilmesi
Bazı durumlarda birden çok dosya ya da dizinler ilgili işlemler yapmak
isteyebilirsiniz. Örneğin png ile biten, ya da içinde text geçen tüm dosyaları seçmek
istediğinizde, Control++ kısayolunu kullanabilirsiniz. Açılan pencerede, “*png” png ile
biten dosyaları, “*text*” ifadesi de içinde text geçen dosyaları seçmenizi sağlar. İsterseniz
Control+* kısayoluyla seçilen dosyaların dışındakilerin seçilmesini sağlayabilirsiniz. Bu tip
ayrıntılı seçme işlemlerini, “Düzenle” menüsündeki “Seçimi Tersini Çevir” bölümünden
yapabilirsiniz.
Birden fazla dosya/dizini seçmek için fareyi de kullanabilirsiniz. Bunu yapmak için,
klavyede Kontrol tuşuna basılı tutarken, fareyle birden fazla dosya/dizini seçebilirsiniz.
2.1.3.10.1.4. Konqueror İle Birden Fazla Dosya Seçilmesi
Konqueror'ı kullanarak yeni dosya, dizin veya kısayollar
oluşturabilirsiniz. Bunun için oluşturmak istediğiniz yere gidin ve ardından
sağ tarafta boş bir alana sağ tıklayıp “Yeni Oluştur” seçeneğini seçin. Açılan
menüden,
Dizin...
Yeni bir dizin oluşturmak için kolay bir yoldur.
Metin dosyası...
Boş bir metin dosyası oluşturur. Bunu seçince dosyanın ismi istenir.
HTML dosyası...
Boş bir html dosyası oluşturur. (html, head, body etiketlerini içerir)
Konuma (URL) bağlantı...
Bilgisayarınızdaki herhangi bir dosya/dizine ya da bir internet sitesine kısayol
oluşturur. Kısayolu “~/Desktop” konumuna oluşturursanız, kısayolun simgesi masaüstünde
çıkar.
Uygulamaya bağlantı...
Yüklü herhangi bir uygulamanın yolu belirtilerek, o uygulamaya kısayol oluşturulur.
Kısayolu “~/Desktop” konumuna oluşturursanız, kısayolun simgesi masaüstünde çıkar.
Aygıta bağlantı
Bilgisayarınızdaki herhangi bir aygıta kısayol oluşturur.
2.1.3.10.1.5. Konqueror İle Dosya İsimlerini ve Okuma/Yazma İzinlerini Değiştirme
Bir dosya ya da dizinin ismini değiştirmenin en kolay yolu üzerine sağ tıklayıp,
“Yeniden İsimlendir” seçeneğini seçmek ya da dosya/dizin seçiliyken F2 tuşuna basmaktır.
Dosya ya da dizinlerin okuma yazma izinlerini değiştirebilirsiniz. Bunun için,
izinlerini değiştirmek istediğiniz dosya/dizine sağ tıklayıp “Özellikler” seçeneğini seçin.
Burada ilk çıkan ekrandan, dosya/dizinin ismini ve simgesini değiştirebilirsiniz. “İzinler”
sekmesindense dosya/dizinin sahibini ve okuma/yazma izinlerini değiştirebilirsiniz.
2.1.4. Temel Yazıcı İşlemleri
Linux işletim sistemi diğer tüm modern işletim sistemleri gibi dosya içeriklerinin
yazıcıdan çıktı olarak alınmasını desteklemektedir. Linux’ta yazıcı kullanımı için lpr (Red
Hat 7.x için LPRng) paketinin kurulmuş olması gerekmektedir.
Kullanıcıların yazıcı kullanımında yapabilecekleri 3 farklı işlem bulunmaktadır :
¾
Yazıcı kuyruğuna çıktıyı gönderme
¾
Yazıcı kuyruğuna göndermiş olduğu bir çıktıyı kuyruktan kaldırma
¾
Yazıcı kuyruğunun durumunu görme
2.1.4.1. Printconf Programı İle Yazıcı Tanıtımı
Red Hat Linux ile birlikte yazıcı yönetimi için printconf programı gelmektedir. Bu
program sisteme yazıcı eklemek , var olan yazıcılar üzerinde işlem yapmak gibi işlevler için
kullanılmaktadır.
Program çalıştırıldığında Resim 2.1’deki ekran gözükmektedir. Bu ekranda sistem de
varolan yazıcılar görülebilmektedir.
Resim 2.1 : Printconf ekranı.
Yeni bir yazıcı eklemek istendiğinde kullanıcının karşısına Resim 2.2’de bulunan
“Edit Queue” ekranı çıkacaktır. Bu ekranın sol kısmı yazıcı tanıtımı için gerekli adımların
belirtildiği ve bu adımlar arasında geçiş yapmak için kullanılan bir menü içermektedir.
Ekranın sağ kısmı ise bulunulan adımda yapılabilecek ayarları göstermektedir.
İlk adım olan yazıcı kuyruğuna izin verme adımında “Queue Name” ile belirtilen
alana kuyruğun isminin yazılması yeterli olacaktır. İstendiği takdirde aynı yazıcı kuyruğuna
birden fazla isim verilebilmektedir.
Resim 2.2 :
İkinci adımda yazıcı kuyruğunun tipi ayarlanmaktadır. Kuyruğun tipine göre
yapılması gereken ayarlar farklıdır. 5 farklı kuyruk tipi desteklenmektedir. Bunlar :
Yerel Yazıcı : Bu kuyruk tipi yazıcı bilgisayara direk bilgisayara bağlı ise
kullanılmaktadır. Bu kuyruk tipi seçildiğinde Resim 2.3’deki ekran gelmektedir. Bu durumda
girilmesi gereken tek ayar yazıcının bağlı olduğu arabirimdir.
Resim 2.3:
Başka Bir Unix Makineye Tanıtılmış Yazıcı (UNIX Queue) : Kullanılacak yazıcı
başka bir unix makineye tanıtılmış ise bu kuyruk tipi kullanılmaktadır. Yapılması gereken
ayarlar yazıcının tanıtıldığı sunucu ve sunucu üzerinde tanımlı olan kuyruk ismidir. Resim
2.4’de bu bilgilerin girişi için kullanılan ekran görülmektedir.
Resim 2.4 :
Resim 2.5 :
Windows Makineye Tanıtılmış Yazıcı (Windows Printer) : Herhangi bir Windows
işletim sistemine sahip makineye tanıtılmış ve paylaşıma açılmış bir yazıcı kullanılmak
istendiğinde bu kuyruk tipi kullanılmalıdır. Bu seçeneğin kullanılabilmesi için sistemde
Samba istemci (samba-client) paketinin kurulu olması gerekmektedir. Gerekli ayarların
yapılabilmesi için Resim 2.5’deki ekran kullanılmaktadır. Windows makinede bulunan
paylaşımın isimi “Share” , windows makinenin IP adresi “Host IP” ,bağlantıda kullanılacak
kullanıcı ismi “User” , şifre “Password” , bağlantıda kullanılan kullanıcının dahil olduğu
çalışma grubu veya ekti alanı (domain) “Workgroup” alanına girilmelidir.
Novell Makineye Tanıtılmış Yazıcı (Novell Printer) : Novell işletim sistemine sahip
bir makineye tanıtılmış olan bir yazıcının sisteme tanıtılmasında bu kuyruk tipi
kullanılmalıdır. Bu seçeneğin kullanılabilmesi için mars-nve paketinin kurulu olması
gerekmektedir. Resim 2.6’da yapılası gereken ayarların bulunduğu ekran gözükmektedir.
Resim 2.7 :
JetDirect Yazıcı : Ağ üzerinde bulunan yazıcılar için kullanılan kuyruk tipidir. Resim
2.7’de yapılması gereken ayarların bulunduğu ekran görülmektedir.
Resim 2.7 :
Üçüncü adım tanıtılacak yazıcı için kullanılacak filtrenin seçilmesidir. Filtreler yazıcı
sürücüleri olarak da düşünülebilir
Son adımda istendiği takdirde filtre için geçerli bir kaç seçenek ayarlanabilmektedir.
Resim 2.8 :
2.1.4.2. Yazıcı Kuyruğuna Çıktı Gönderme
Herhangi bir dosyayı yazıcıdan çıktı olarak alabilmek için lpr komutu
kullanılmaktadır. Lpr komut , gönderilen iş hakkında bilgi toplayıp bir kontrol dosyası
yaratır ve bu kontrol dosyası ile birlikte bastırılacak dosyaları yazıcı sunucusuna gönderir.
Lpr komutu temel olarak aşağıdaki yapıya sahiptir :
lpr [seçenekler] dosya_ismi
Lpr komutu ile kullanılabilecek temel parametreler aşağıdaki gibidir :
¾
-P yazıcı : Bu parametre ile işin gönderilmek istendiği yazıcı kuyruğu belirtilir.
Bu parametre kullanılmadığı takdirde printcap dosyasındaki ilk yazıcı kullanılır.
¾
-K kopya_sayısı (-# kopya_sayısı) : Bu parametre ile aynı işten kaç kopya
alınacağı belirtir. Bu parametre verilmediği takdirde tek kopya alınmaktadır.
¾
-h : Gönderilen çıktıda başlık bilgisinin bulunmasını iptal eder.
¾
-J iş_ismi : Gönderilen işe isim vermek için kullanılabilir. Bu parametre
kullanılmadığı takdirde gönderilen dosya ismi iş ismi olarak atanır. Eğer çıktı
dosya yerine standart girişten okunuyor ise iş ismi olarak STDIN atanır.
¾
-C sınıf : Yazıcı kuyruğuna gönderilen işin öncelik derecesini belirtir. Sınıf ile
belirtilen değer A ile Z arasında olmak zorundadır. A en düşük önceliği , Z en
yüksek önceliği belirtir. Bu parametre verilmediği takdirde iş A öncelik
değerine sahiptir.
Örnek 2.12 :
[root@printserv /root]# lpr -Ptest x.c
[root@printserv /root]# lpq -Ptest
Printer: ccmopier-test@printserv 'test'
Queue: no printable jobs in queue
Holding: 1 held jobs in queue
Server: no server active
Status: job 'halil@AONTWS4044+932' removed at 13:01:45.589
Filter_status: (of) done at 13:01:44.445
Rank Owner/ID
Class Job
Files
Active root@printserv+16901
A
16901 x.c
Size
3748
Time
15:04:28
2.1.4.3. Yazıcı Kuyruğunun Görülmesi
Yazıcı kuyruğunda bulunan işleri görmek için lpq komutu kullanılmaktadır. Bu
komutun temel yapısı aşağıdaki gibidir:
lpq [seçenekler]
Lpq ile kullanılan temel parametreler aşağıdaki gibidir :
¾
-Pyazıcı : Görülmesi istenen yazıcı kuyruğunu belirtir. Bu parametre veya –a
parametresi kullanılmadığı takdirde printcap dosyasındaki ilk yazıcı kuyruğu
gösterilir.
¾
-a : Bu parametre ile tüm yazıcı kuyruklarının durumu gösterilir.
Örnek 2.13 :
[root@printserv /root]# lpq -Ptest
Printer: danisma@printserv
Queue: no printable jobs in queue
Holding: 26 held jobs in queue
Server: no server active
Status: job 'kindapu@ATOLYE+20' removed at 15:02:57.620
Filter_status: (of) done at 15:02:50.110
Rank
Owner/ID
Class Job
Files
Size
Time
hold
Admin@HOST+8
A
8
Test Page
46702 11:44:26
hold
hcatak@HOST2+12 A
12
Bilgisaya.doc 109735 15:42:12
hold
aerdogan@160+15167 A
0
1E2008.xls
71559 14:45:24
2.1.4.4. Yazıcı Kuyruğundan İş Silme
Yazıcı kuyruğuna gönderilmiş işleri kuyruktan kaldırmak için lprm komutu
kullanılmaktadır. Bu komutun temel yapısı aşağıdaki gibidir :
lprm [seçenekler] [is_numarası]
Eğer iş_numarası parametresi komut verilirken verilmez ise lprm komutu kullanıcının
son gönderdiği işi kuyruktan kaldıracaktır. Eğer iş numarası olarak “all” parametresi
gönderilirse kullanıcının tüm işleri , eğer kullanıcı silme yetkisine sahip ise kuyruktaki tüm
işler kuyruktan kaldırılacaktır.
Lprm komutu ile kullanılan temel parametreler aşağıdaki gibidir :
¾
-Pyazıcı : Silme işleminin hangi kuyruktan gerçekleşeceğini bildirir. Bu
parametre kullanılmadığı takdirde printcap dosyasında tanımlanan ilk yazıcı
kuyruğu kullanılır.
¾
-a : Tüm yazıcı kuyruklarından kullanıcının tüm işlerini silmek için kullanılır.
Örnek 2.14:
[root@printserv /root]# lpq -Ptest
Printer: ccmopier-test@printserv 'test'
Queue: no printable jobs in queue
Holding: 1 held jobs in queue
Server: no server active
Status: job 'hcatak@AONTWS4044+932' removed at 13:01:45.589
Filter_status: (of) done at 13:01:44.445
Rank
Owner/ID
Class Job
Files Size
Hold
root@printserv+16901
A
16901 x.c
3748
[root@printserv /root]# lprm -Ptest 16901
Printer ccmopier-test@printserv:
checking perms 'root@printserv+16901'
dequeued 'root@printserv+16901'
[root@printserv /root]# lpq -Ptest
Printer: ccmopier-test@printserv 'test'
Queue: no printable jobs in queue
Status: job 'hcatak@AONTWS4044+932' removed at 13:01:45.589
Filter_status: (of) done at 13:01:44.445
[root@printserv /root]#
Time
15:04:28
2.1.4.5. Pardus’ta Yazıcı Tanıtımı
Pardus, ağ üzerinde bulunan yazıcılar ile seri ya da paralel olarak bilgisayara doğrudan
bağlanan yazıcılar için CUPS adlı Genel Unix Yazdırma Sistemini öntanımlı olarak
seçmektedir.
TASMA içindeki Yazıcı yapılandırma aracıyla CUPS sistemine yeni yazıcılar
eklemek ya da var olan yazıcıların özellikleri dışında PDF, Postscript gibi dosya biçimleri
oluşturmak için kullanılan “Dosyaya Yazdırma” özellikleri de bu araçla ayarlanabilir.
Pardus
¾
Yazıcılar Modülü çift tıklanarak açılır.
¾
“Yönetici Modu”na geçilir.
¾
Üst menüden “Ekle” düğmesi, açılan menüden de “Yazıcı/Sınıf Ekle” tıklanır.
Resim 2.9 : Pardus yazıcı ekleme sihirbazı.
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
“Yazıcı Ekleme Sihirbazı” çalışacaktır. “İleri” düğmesi tıklanır.
Yazıcı türü seçilerek “İleri” düğmesi tıklanır.
Yerel Port Seçimini yaparak tekrar “İleri” düğmesi tıklanır.
Yazıcı Modeli seçilir.
Sürücü seçimi yapılır.
Ön Sayfa seçimi yapılır.
Yazıcı kota ayarları belirlenir.
“Kullanıcı Erişim Ayarları” belirlenir.
“Genel Bilgi” ekranı düzenlenir.
“Onaylama Ekranı” ile yapılan işlemler incelenebilir, tekrar düzenlemeler
yapılabilir.Bu şekilde “Yazıcı Ekleme Sihirbazı” ile yazıcı sisteme tanıtılmış
olur.
2.1.5. Temel Arşivleme ve Yedekleme Komutları
2.1.5.1. Tar
tar komutu sadece arşivleme yapan geleneksel bir programdır. Ancak arşivlemenin
yanında komut sıkıştırma yapmaz. Eğer arşivlenen dosyanın sıkıştırılması da isteniyorsa, tar
ile birlikte gzip veya compress programlarının da kullanılması gerekir. Yani tar komutu ile
birlikte arşivleme işlemi yürütülürken, gzip veya compress programları da çağırılabilir
(invokation). Sıkıştırma için –z switch’i kullanılırsa, tar gzip kullanarak sıkıştırma
gerçekleştirir (Ancak dosyalar arşivlemeden önce tek tek sıkıştırılır). Sıkıştırılmış ve
arşivlenmiş bir dosyanın, yada dosya gruplarının, tar ile açılırken sıkıştırmanın geri
alınabilmesi de mümkündür Ancak, sıkıştırılırken hangi algoritmanın kullanıldığı önemlidir.
Eğer –z (gzip) kullanılarak sıkıştırma yapılmış ise yine –z kullanılarak açmak
mümkün olacaktır. Eğer compress ile sıkıştırma gerçekleştirilmiş ise ( –Z switch’i
kullanılmış ise), yine aynı mantıkla bu switch kullanılarak açma işlemi gerçekleştirilebilir.
tar programı, sıkıştırma programları çağırılarak arşivlenen dosyanın uzantısına gz
uzantısını kendisi yazmayacağı için kullanıcı kendisi yazmak zorundadır (myarch.tar.gz).
Ancak dosyanın uzantısının bu şekilde değiştirilmesi sadece anlaşılabilirliği sağlar, yani
dosyanın uzantısının tar olarak bırakılması bunun bir tar dosyası olduğunu göstermez. Eğer
sıkıştırılmış dosyanın ismi kullanıcı tarafından biliniyorsa sorun yoktur. Fakat karışıklığı
önlemek için tar programının otomatik olarak yapmadığı bu işi kullanıcının yapması daha
sonra bu dosyayı kullanacak olan kişiler açısından daha rahat kullanım sağlayacaktır. Aynı
şekilde compress ile sıkıştırılarak arşivlenmiş dosyalar için ise dosya uzantısı Z
(myarhc.tar.Z) olacaktır.
Genel Form;
abc:/home/username $ tar [ cxt ] [ v ] f archive_file_name directory&filenames
Tar ile kullanılan önemli parametreler aşağıdaki gibidir :
¾
f
: özel bir dosya ismi yada belirli bir device ismi belirtmek için
¾
c (create) : tar dosyası yarat
¾
x (extract) : tar dosyası aç
¾
t (list)
: tar dosyasının içeriğini listele
¾
v (verbose) : yapılan işlemleri standart çıkışa listele
¾
M (multi-disk): birden fazla floppy’e arşivleyebilmek için
¾
r (add)
: bir tar arşive dosyasına ekleme yapmak için
¾
¾
¾
u (update) : bir tar arşive dosyasında bazı dosyaları yenileri ile değiştirmek için
u switch’i kullanılır.
z (invoke gzip / gunzip) : gzip / gunzip, sıkıştırma / açma programını
kullanarak arşivlemek ve açmak için
Z (invoke compress / uncompress) : compress / uncompress, sıkıştırma / açma
programını kullanarak arşivlemek ve açmak için
Örnek 2.15 :
1. Arşivlemeye örnek;
abc:/home/username $ tar cvf fıles.tar file1 file2 file3
abc:/home/username $ tar cvf files.tar file?
2. tar ile arşivlenmiş dosyaları tekrar açmaya örnek,
abc:/home/username $ tar xvf files.tar
3. Bir tar dosyasına ekleme yapmaya örnek;
abc:/home/username $ tar rf myarchive.tar letters
4. Bir tar dosyasını update örneği; mydir dizininde yeni yaratılmış veya yenisi ile
değiştirilmiş veya yeni erişilmiş dosyaları tar dosyasında yeniler.(update)
abc:/home/username $ tar uf myarchive.tar mydir
5. Dosyaları diskete arşivleme ve disketten açma örneği;
abc:/home/username $ tar cf /dev/fd0 mydir
Bunun yanında, bir diskete sığamayan arşivler için –M switch’i kullanılır. Arşivleme
esnasında birinci disket dolduğu zaman, ikincisi kullanıcıdan istenecek ve işlem tamamlana
kadar bu böyle devam edecektir. (Multiple Disk Spanning)
abc:/home/username $ tar cfM /dev/fd0 mydir
tar programı, aslında “ f ” switch’i kullanılmadan da kullanılabilir. Bu durumda tar
programı /etc/defaults/tar adlı dosyada (dosyanın adı ve konumu UNIX türevlerine göre
değişebilir.) belirtilen default device üzerinde işlem yapar. Eğer disk üstünde bir dosya
üzerinde işlem yapmak istiyorsanız “ f ” switch’ini kullanmak zorundasınızdır. Bu dosyadaki
device automount edilmiş local hard disk dahi olsa “ f ” switch’i kullanılmalıdır.
Sıkıştırma yaparak arşivleme ve arşive açmaya birkaç örnek;
¾
gzip kullanarak,
abc:/home/username $ tar –zcvf gopher.tar.gz gn-gopher/
¾
gunzip kullanarak
abc:/home/username $ tar –zxvf gopher.tar.gz
¾
compress kullanarak,
abc:/home/username $ tar –Zcvf gopher.tar.Z gn-gopher/
¾
uncompress kullanarak,
abc:/home/username $ tar –Zxvf gopher.tar.Z
tar doğal olarak dizinlerin arşivlendiği gibi açılmasını sağlar. Örneğin komut aşağıdaki
gibi yürütülürse
abc:/home/username $ tar –cvf /dev/fd0 /home/username/*
ve bu başka bir bilgisayarda açılmaya çalışıldığında o bilgisayarda /home/username
path’ini arayacak yoksa yaratmaya çalışacaktır. Bunu önlemek için önce çalışma dizinine
geçilmeli (yani sıkıştırmanın yapılacağı dizin) sonrada absolute path yerine relative path
verilmelidir.
abc: $ cd /home/username
abc:/home/username $ tar –cvf /dev/fd0 ./*
Bu yarı gizli dosyalar hariç herşeyi arşivler. Eğer tümünü arşivlemek istiyorsanız şu
komutu kullanmalısınız;
abc:/home/username $ tar –cvf /dev/fd0 ./* . /.*
tar programı dosya extarct ederken hedefte aynı isimli dosya olup olmadığını kontrol
etmeden üstüne yazar. Bu yüzden dikkatli olunmalıdır!!!.
tar arşiv dosyası yaratılırken sembolik linklerinde kapsanmasını isterseniz, bunu
belirtmek zorundasınızdır. Bunun için SVR4 kullanıcıları için “ –l ” , BSD kullanıcıları için
ise “ –h ” geçerlidir.
Dikkat ! : gzip ile önceden sıkıştırılmış dosyalardan oluşan arşiv update edilemez
veya bu dosyaya ekleme yapılamaz!!!!! Çünkü tüm arşivlenecek tüm dosyalar aynı zamanda
sıkıştırılmak ve eklenmek zorundadır.
2.1.5.2. Gzip
gzip programı ile sıkıştırma yapmak mümkündür. gzip ile sıkıştırılan dosya veya
dosyaların sonuna “gz” extension’ı otomatik olarak eklenerek esas dosya ile yer
değiştirilirler. Ancak dizin içerisindeki dosyalar tek tek sıkıştırılır. Gzcat veya “gunzip –c “
komutları ile sıkıştırılmış dosyaların içeriği görüntülenebilir. Eğer altdizinlerdeki
dosyalarında beraber sıkıştırılması isteniyorsa “ –r ” switch’i kullanılmalıdır.
abc:/home/username $ gzip –r ./deneme
Örnek 2.16:
[root@seawolf /tmp]# ls -l ders_gzip_ornek/
total 236
-rw-r--r-- 1 root root
2732 Aug 14 11:13 config.cache
-rwxr-xr-x 1 root root
28099 Aug 14 11:13 config.guess
-rw-r--r-- 1 root root
2781 Aug 14 11:13 config.h
-rw-r--r-- 1 root root
2595 Aug 14 11:13 config.h.in
-rw-r--r-- 1 root root
8372 Aug 14 11:13 config.log
-rwxr-xr-x 1 root root
13830 Aug 14 11:13 config.status
-rwxr-xr-x 1 root root
20257 Aug 14 11:13 config.sub
-rwxr-xr-x 1 root root
85022 Aug 14 11:13 configure
-rw-r--r-- 1 root root
3987 Aug 14 11:13 configure.in
-rw-r--r-- 1 root root
17992 Aug 14 11:13 COPYING
-rw-r--r-- 1 root root
25283 Aug 14 11:13 COPYING.LIB
-rw-r--r-- 1 root root
6048 Aug 14 11:13 README
[root@seawolf /tmp]# gzip -r ders_gzip_ornek/
[root@seawolf /tmp]# ls -l ders_gzip_ornek/
total 88
-rw-r--r-- 1 root root
845 Aug 14 11:13 config.cache.gz
-rwxr-xr-x 1 root root
8488 Aug 14 11:13 config.guess.gz
-rw-r--r-- 1 root root
746 Aug 14 11:13 config.h.gz
-rw-r--r-- 1 root root
677 Aug 14 11:13 config.h.in.gz
-rw-r--r-- 1 root root
1616 Aug 14 11:13 config.log.gz
-rwxr-xr-x 1 root root
3508 Aug 14 11:13 config.status.gz
-rwxr-xr-x 1 root root
6346 Aug 14 11:13 config.sub.gz
-rwxr-xr-x 1 root root
16754 Aug 14 11:13 configure.gz
-rw-r--r-- 1 root root
1400 Aug 14 11:13 configure.in.gz
-rw-r--r-- 1 root root
6857 Aug 14 11:13 COPYING.gz
-rw-r--r-- 1 root root
9069 Aug 14 11:13 COPYING.LIB.gz
-rw-r--r-- 1 root root
2757 Aug 14 11:13 README.gz
gzip ile sıkıştırılmış dosya veya dizinleri açmak için gunzip veya gzip –d parametresi
ile kullanılır. Sıkıştırılmış dosyaları açmak için aynı zamanda gunzip komutu da
kullanılabilir.
abc:/home/username $ gzip –d compressed_file.gz
abc:/home/username $ gunzip compressed_file.gz
veya deneme bir dizin ise,
abc:/home/username $ gzip –rd deneme.gz
gzip ile sıkıştırma yaparken sıkıştırma seviyesini veya sıkıştırma hızını
ayarlayabilirsiniz. Bunun için 9 seviye vardır; 1 en hızlı fakat en az, 9 en yavaş fakat en çok
sıkıştıran seviyedir.
abc:/home/username $ gzip –9r ./deneme
abc:/home/username $ gzip –9 filename
tar ile arşivlenmiş dosyalar gzip ile sıkıştırılabilir.
abc:/home/username $ gzip deneme.tar
gzip –l komutu ile var olan bir sıkıştırılmış dosya hakkında sıkıştırılmış boyut,
sıkıştırılmamış boyut , sıkıştırma oranı ve sıkıştırılmamış dosyanın ismi bilgileri
öğrenilebilir.
Örnek 2.17:
[root@seawolf /tmp]# ls -l /root/pam_ldap.tgz
-rw-r--r-- 1 root root
92945 Apr 27 16:40 /root/pam_ldap.tgz
[root@seawolf /tmp]# gzip -l /root/pam_ldap.tgz
compressed
uncompressed ratio uncompressed_name
92945
409600 77.3% /root/pam_ldap.tar
[root@seawolf /tmp]# gzip -rl ders_gzip_ornek/
compressed
uncompressed ratio uncompressed_name
9069
25283
64.2% ders_gzip_ornek//COPYING.LIB
845
2732
70.2% ders_gzip_ornek//config.cache
8488
28099
69.9% ders_gzip_ornek//config.guess
746
2781
74.1% ders_gzip_ornek//config.h
1616
8372
81.0% ders_gzip_ornek//config.log
3508
13830
74.8% ders_gzip_ornek//config.status
6346
20257
68.8% ders_gzip_ornek//config.sub
16754
85022
80.3% ders_gzip_ornek//configure
1400
3987
65.6% ders_gzip_ornek//configure.in
2757
6048
54.8% ders_gzip_ornek//README
6857
17992
62.0% ders_gzip_ornek//COPYING
677
2595
75.0% ders_gzip_ornek//config.h.in
GZIP çevre değişkeni gzip programı tarafından kullanılabilecek varsayılan
parametreleri tutabilmektedir.
[root@atlantis /root]# echo $GZIP
[root@atlantis /root]# export GZIP="-l"
[root@atlantis /root]# echo $GZIP
-l
[root@atlantis /root]# gzip fping-2.2b1.tar.gz
compressed
uncompressed
ratio
uncompressed_name
41894
163840
74.4% fping-2.2b1.tar
[root@atlantis /root]# export GZIP=""
[root@atlantis /root]# gzip fping-2.2b1.tar.gz
gzip: fping-2.2b1.tar.gz already has .gz suffix – unchanged
2.2. Çalışma Mantığı
Linux gerçekte sadece bir işletim sistemi çekirdeğidir. Dağıtımlar Linux çekirdeğini
alıp , bu çekirdek üzerinde çalışacak programları hazırlayıp tam bir işletim sistemi
oluştururlar. İşletim sistemi çekirdeklerinin temel görevleri arasında donanım ile haberleşme
, süreç kontrolü , hafıza yönetimi gelir.
Linux işletim sistemi birden fazla kullanıcının aynı anda çalışmasına (multiuser) ve
aynı anda birden fazla sürecin(proses) çalışmasına (multitasking) imkan vermektedir.
Temelde belirli bir zaman diliminde işlemciyi sadece bir program kullanabilmektedir.
Programların işlemciyi kullanma süreleri ve sıraları Linux çekirdeği tarafından
düzenlenmektedir. Düzenleme işlemi yapılırken süreçlerin öncelik değerleri
kullanılmaktadır. Öncelik değeri düşük olan programlar daha ön sıralarda yer almaktadırlar.
Bir proses işlemciyi ele geçirip bir süre işini yaptıktan sonra öncelik değeri sayısal olarak
artmaktadır.(Sayısal olarak büyük öncelik değeri , gerçekte düşük öncelik anlamına gelir.)
Sistem yöneticisi olan “root” kullanıcısı istediği takdirde bir prosesin öncelik değerini
ayarlayabilir. Bu işlem için nice programını veya çağrısını kullanabilir.
Linux gelişmiş bir hafıza yönetim sistemine sahiptir. Varolan fiziksel hafızanın
dışında disk üzerindeki dosya ve disk bölümlerini sanal hafıza (swap) olarak
kullanabilmektedir. Linux çekirdeği sistemde varolan hafızayı süreçler arasında paylaşılacak
şekilde kullanılmasına izin verir. Bir süreç askıya alındığı takdirde kendisine ayrılan
kaynaklar başka bir sürece verilebilmektedir. Sistemde bulunan fiziksel hafıza yeterli
olmadığı durumlarda disk üzerindeki bölümler hafıza olarak kullanılmaktadır. Temelde
çalışan programın tüm verileri fiziksel hafızada bulunur. Bu yüzden fiziksel hafızanın
yetmediği durumlarda , hafızada bulunan belirli kısımlar takas alanına aktarılır ve bu sayede
CPU kullanacak program için hafızada gerekli yer açılır. Bu durum giriş/çıkış işlemi
gerektirdiğinden sistemi yavaşlatacaktır.
Tüm işletim sistemlerinde donanım ile haberleşme işletim sistemi çekirdeği sayesinde
yapılmaktadır. Linux işletim sistemi geniş bir donanım desteğine sahiptir. Linux’un ilk
zamanlarında donanım sürücüleri çoğunlukla gönüllü kişiler tarafından hazırlanırken
günümüzde çoğu donanım üreticisi donanımı için gerekli olan Linux sürücüsünü de
yazmaktadır. Linux işletim sisteminin gösterdiği gelişme sayesinde donanım üreticileri
Linux’u göz ardı edemez duruma gelmişlerdir. SGI , Compaq , IBM gibi büyük firmalarda
ürettikleri donanımların Linux ile çalışabilmesine büyük özen göstermektedir. Donanım
erişimi için kullanılan sürücüler işletim sistemi çekirdeğine gömülebileceği gibi istendiği
takdirde modül olarak da çalışma anında çekirdeğe dahil edilebilmektedir.
Linux çekirdeği modüler bir yapıya sahiptir. Derleme işlemi esnasında sistemde
bulunması istenen destekler seçilebilmektedir. Linux çekirdeği modül kullanabilme
yeteneğine de sahiptir. Modüller çalışma esnasında çekirdeğe eklenip çıkarılabilecek
çekirdek parçacıklarıdır. Çoğunlukla bir donanıma erişmek için kullanılan sürücüler modül
olarak kullanılabilir. İstendiği takdirde dosya sistemi destekleri , NFS sunucu desteği gibi
çekirdek parçaları da modül olarak eklenebilir. Sisteme modül eklemek için insmod ,
sistemde kullanılan modülleri görmek için lsmod , kullanılan modüleri çekirdekten
kaldırmak için rmmod komutları kullanılabilir.
2.2.1. Sistemin Açılma Aşaması ve Çalışma Düzeyleri
Tüm bilgisayar sistemleri , sistem açılımı için kullanılan özel yazılımın bulunduğu
donanımlara sahiptir. PC tipi bilgisayarlar da BIOS bilgisayarın ilk olarak açılmasından ve
işletim sisteminin yüklenmesinden sorumludur. BIOS yazılımı sayesinde bilgisayar açılır ve
işletim sisteminin yükleneceği duruma getirilir.
Her işletim sistemi mutlaka bir adet önyükleme programına (boot loader) sahiptir.
Linux işletim sistemi ile en çok kullanılan önyükleme programı LILO’dur (Linux Loader).
Son zamanlarda Grup isimli programda popülerliğini arttırmıştır. Bu programların temel
amacı Linux çekirdeğini yüklemektir. BIOS kendi işini bitirdikten sonra işletim sisteminin
yüklenmesi için önyükleme programını çağırır. Bu programlar çoğunlukla diskin MBR
(Master Boot Record) olarak adlandırılan bölümlerinde bulunurlar.
LILO programı iki temel yüklenme aşaması içerir. Birinci aşama olarak belirtilen
aşama ikinci aşamayı yüklemek ile görevlidir. Birinci önyükleme programı (bootstrap)
kendini hafıza yükler ve daha gelişmiş ikinci aşama önyükleme programını çalıştırır. Birinci
aşamada çalışan kod ikinci aşamada çalışacak kodun nerede olduğunu bilmek zorundadır.
Bunun için bu bilgi özel olarak bir bölgeye yazılır. Bu işlemi lilo komutu yapmaktadır. İkinci
aşama için gerekli programın yeri değiştiği takdirde lilo komutu çalıştırılmalıdır. Aksi
takdirde LILO programı ikinci aşamaya geçemeyecek ve işletim sistemi çalışmaya
başlamayacaktır.
İkinci aşamada yüklenen programın görevi işletim sistemi çekirdeğini yüklemektir.
Bu programa da işletim sistemini bulacağı yer bildirilmelidir. Bu yer değiştirildiği takdirde
lilo komutu yeniden çalıştırılmalıdır.
İşletim sistemi çekirdeği yüklendikten sonra işletim sistemin yüklenmesini
sağlayacak program çalıştırılır. Varsayılan olarak bu program init programıdır. Bu program
sistemde çalışan ilk süreçtir ve diğer tüm süreçlerin çalıştırılmasını gerçekleştirir. init
sürecinin süreç kimlik numarası (PID) her zaman 1(bir)’dir.
[root@atlas /root]# ps ax|grep init
1 ? S 0:43 init [3]
31578 ? S 0:00 grep init
2.2.2. İş Kontrolü
Linux işletim sistemi aynı anda birden fazla kullanıcının birden fazla süreç
çalıştırmasına izin vermektedir. Linux işletim sisteminin bu özelliği sayesinde sistem çalışır
durumda iken üzerinde çalışan birden fazla süreç bulunmaktadır. Linux işletim sistemi bu
süreçlerin kontrolü ve yönetimi için belli araçlar sunmaktadır.
2.2.2.1. Çalışan Süreçleri ve Durumlarını Öğrenmek
Sistemde çalışan süreçleri ve süreçlerin durumlarını öğrenmek için ps komutu
kullanılabilir. Ps komutunun temel kullanım şekli aşağıdaki gibidir :
ps [seçenekler]
ps komutu ile kullanılabilecek seçenekler aşağıdaki gibidir :
¾
a Tüm terminallerde çalışan prosesleri listeler
¾
x Sistemdeki tüm prosesler, tty’lerde çalışanlar hariç
¾
c Proseslerin sadece komut isimlerini listeler
¾
e Komutları ile parametrelerini göstermektedir
¾
h Üstteki ek satırları göstermez
¾
j İş akışı izleme şeklinde gösterir
¾
l Çıktı detaylı şekilde verilir
¾
r Sadece o an etkili prosesleri gösterir
¾
s Sinyal şeklinde gösterir
¾
u Kullanıcıya göre gösterir
¾
v Kullanılan hafızalara göre gösterir
¾
w Parametreleri hakkında geniş ve detaylı şekilde gösterir
¾
ww
w seçeneğinden daha geniş bir çıktı verir
¾
t<tty>
Numarası verilen tty ilgili prosesleri gösterir
¾
O[*]
Parantez içindeki parametreye göre listeyi sıralar
•
Ou Kullanıcı adına göre sıralar
•
Oc Proseslerin komutlarına göre sıralar
•
OU Kullanıcı ID’sine göre sıralar
•
Op Proses ID’sine göre sıralar
•
OP Ana prosese göre sıralar
•
Og Proses grup ID’sine göre sıralar
•
Oo Oturuma göre sıralar
•
Ot TTY’lere göre sıralar
•
OG TTY’deki prosesleri grup ID’sine göre sıralar
•
Ok Kullanıcı saatine göre sıralar
•
OK Sistem saatine göre sıralar
•
Oy Çekirdek önceliğine göre sıralar
•
OT Proses başlatma saatine göre sıralar
•
Of Uzun formatta çıktı alınırken bayraklara göre sıralar
2.2.2.2. Arka Planda Süreç Çalıştırma
Sunucu süreçleri dışındaki diğer süreçler çoğunlukla ön planda çalışmaktadırlar.
Sürecin ön planda çalıştırıldığı durumlarda , sürecin çalıştırıldığı terminalden süreç
sonlanana kadar başka komut gönderilememektedir.
Çalıştırılan süreç arka plana
gönderildiği takdirde kullanıcı tekrar komut gönderebilmektedir.
Bir komutu veya çalıştırılan bir programı arka plana atmanın iki yolu vardır:
•
Sürecin çalışması esnasında Ctrl-z tuşları ile çalışmayı kesip bg komutunu
çalıştırmak
• Çalıştırılacak komuttan sonra bir boşluk bırakarak & sembolünü eklemek
Arka plana gönderilen bir süreci tekrar ön plana çıkarmak için fg komutu
kullanılabilir. Sistemde bir kaç çalışma aynı zamanda durdurulabilir, kesilmiş çalışmaların
listesini almak için jobs komutu kullanılmaktadır Örnek bir jobs komutun çıktısı aşağıdaki
gibidir:
[root@lnxsrv3 /root]# jobs
[1]+ Stopped
top
[2]- Running
perl script.pl &
Buradaki rakamlar işlerin arka plana hangi sıra ile atıldığını göstermektedirler, ayrıca
bu numaralar işi ön plana çıkarmak için fg komutuna parametre olarak gönderilebilmektedir.
Rakamların yanındaki “+” işareti fg veya bg komutlar rakam verilmeden çalıştırılacaksa bu
komutların başvuracakları işi göstermektedir. + işaretine sahip süreci değiştirmek için ‘jobs
iş_numarası ‘ komutu kullanılabilir.
2.2.2.3. Süreçlere Sinyal Gönderme
Süreçlere sinyal göndermek için kill komutu kullanılmaktadır. Sinyaller süreçle belli
işleri yapmalarını bildirirler. Bazı sinyaller için varsayılan davranışlar bulunmaktadır.
Varsayılan davranışı belli olmayan sinyaller için sinyal işleyici alt programlar ile sinyal
alındığında yapılması gereken işlemler belirlenebilir. Ayrıca SIGKILL ( Öl sinyali) dışındaki
tüm temel sinyaller , süreç tarafından yakalanabilir ve işlenebilirler.
Kill komutunun temel kullanımı aşağıdaki gibidir :
kill [-sinyal] PID
Eğer sürece gönderilecek sinyal parametre olarak gönderilmez ise varsayılan olarak
TERM(Programdan Çık) sinyali sürece gönderilir. Sinyal parametresi istendiği takdirde
sinyal ismi veya sinyal numarası olabilmektedir.Kill komutu ile gönderilebilecek sinyallerin
listesini almak için –l parametresi kullanılabilir.
Kill komutu ile en çok kullanılan sinyaller aşağıdaki gibidir:
•
1 : SIGHUP – Bazı servisler tarafından konfigürasyon dosyalarını yeniden
okunması için kullanılmaktadır.
• 9 : SIGKILL – Bir süreci tamamen öldürmek için kullanılır. Yakalanamayan bir
sinyal olduğu için sinyali alan süreç ölmek durumundadır.
• 15 : SIGTERM – Bu sinyal süreci öldürmek için kullanılır, ancak bazı durumlarda
süreci öldürmekte başarılı olamayabilir., bu durumda SIGKILL kullanılır.
Örnek 2.18:
kill –9 14032
kill –s SIGKILL 14032 14054
Yukarıda anlatıldığı gibi kill süreci süreç numarasına göre öldürür, ama bir süreci
ismine göre öldürmek için killall komutu kullanılabilir. Komutun çalıştırma şekli aşağıdaki
gibidir:
killall [ –Sinyal] süreç_adı
Buradaki Sinyal kill komutuna ilişkin Sinyal parametresi ile aynı işlevi
gerçekleştirmektedir, süreç_adı sinyal gönderilecek süreç adı. Bu komut ile sürece ilişkin
tüm süreçlere sinyal gönderilmektedir.
Örnek 2.19:
[root@atlas /root]# ps x |grep send
654 ? S 0:49 sendmail: accepting connections
18313 ? S 0:00 sendmail: server async016.dial-up.itu.edu.tr [160.75.8.16] c
18968 ? S 0:00 sendmail: server n1.groups.yahoo.com [216.115.96.51] child w
19169 ? S 0:00 sendmail: server n4.groups.yahoo.com [216.115.96.54] cmd rea
19170 ? S 0:00 sendmail: server n4.groups.yahoo.com [216.115.96.54] child w
19173 ? S 0:00 sendmail: server n4.groups.yahoo.com [216.115.96.54] cmd rea
19211 ? S 0:00 sendmail: ./fAIGprE19211 n4.groups.yahoo.com [216.115.96.54]
19219 ? S 0:00 sendmail: server n1.groups.yahoo.com [216.115.96.51] cmd rea
19223 ? S 0:00 grep send
Bu çıktıya göre sistemde çalışan sendmail(PID=654) sürecine ilişkin 7 tane çocuk
süreç çalışmaktadır.
$killall –9 sendmail
komutu çalıştırıldığı zaman yukarıdaki tüm süreçlerin işlemleri kesilecektir.
2.2.2.4. Gecikmeli Çalışma
Belli bir zamanda herhangi bir komutu çalıştırmak için at komutu
kullanılabilmektedir. Bir işi arka plana atmak yerine kullanıcı istediği zamanda komut
çalıştırabilir. Kullanıcı sistemi terk ettikten sonra sistem hangi komutu istenilen zaman
çalıştıracaktır.
Komut en basit hali ile:
at seçenekler vakit
at seçenekler vakit gün
şeklinde çalıştırılabilir. Vakit SS:DD veya SS:DD[am/pm] şeklinde verilebilir. Eğer
vakit seçeneği verilip gün seçeneği verilmez ise iş aynı gün yapılacaktır, verilen saat geçmiş
ise iş ertesi gün yapılacaktır. Ayrıca vakit seçeneği olarak midnight (geceyarısı), noon
(yarım) veya teatime (16:00) verilebilir.
Gün seçeneği AyGünYıl veya Ay/Gün/Yıl veya Ay.Gün.Yıl şeklinde verilebileceği
gibi ay_adı gün yıl şeklinde verilebilir, burada yıl seçeneğin verilme zorunluluğu yoktur.
Ayrıca vakit “now + zaman_birimi” şeklinde verilebilir, zaman_birimi minutes (dakikalar),
hours (saatler), days (günler) veya weeks (haftalar) olarak verilir. Aynı gün çalıştırılacak
işler vakit seçeneği – today olarak verilebilir, veya ertesi gün yapılacak işler için tomorrow
olarak verilebilir.
Örnek 2.20:
$ at 7pm
at >echo “Selam”
^D (Ctrl-D)
şeklinde veya isler adında bir dosya içine çalıştırılmak istenilen komutlar (her komut
ayrı bir satıra) yazılarak aşağıdaki şekildeki gibi çalıştırılabilir
$ at 19:00 <isler
$ at 8am + 3days < isler
şeklinde çalıştırılan komut ile isler dosyasındaki komutlar 3 gün boyunca sabah saat
8’de çalıştırılacaklardır.
Kuyruktaki işleri izlemek için –l seçeneği kullanılabilir, -m seçeneği verilirse iş
tamamlandıktan sonra kullanıcıya mesaj atılacaktır.
EDİTÖRLER
3.1.
Joe
JOE - güçlü metin editörüdür. JOE kullanımı çok basit bir editördür. Ayrıca başka
editörleri de simüle edebilmektedir. JSTAR - JOE özellikleri ilave edilmiş WordStar’ın
imitasyonudur. JPICO - Pine mail sistemin PICO editörü imitasyonudur. JMACS - GNUEMACS imitasyonudur. Ve son olarak RJOE - JOE’nin kısıtlanmış versiyonudur.
3.1.1. Kullanımı
Editörü çalıştırmak için, komut satırında joe yazılmalıdır, ardından sıfır ya da daha
fazla dosya ismini verebilmektedir. Yeni bir dosya yazmak için ismini joe çalıştırılırken
vermek mümkündür, ya da dosya yazıldıktan sonra saklanırken dosya ismi verilebilmektedir.
Joe çalıştırılırken seçenekler de verilebilmektedir, bu opsiyonlar sonraki bölümde verilmiştir.
Editörün içindeyken, kullanıcı metin yazabilmektedir ve özel kontrol-karakterlerini
kullanarak editörün başka özelliklerinden yararlanabilmektedir. Kontrol-karakterlerin
işlevlerini sonraki bölümlerde verilmiştir. Editörün içindeyken yardım menüsü için CTRL-K
H tuşlarını kullanılabilmektedir. Yardım menüsü açık iken metin yazmaya devam
edilebilmektedir, menüyü kapatmak için gene CTRL-K H tuşları kullanılır.
JOE editörünü kullanıcıya göre klavyeyi, yardım menüsünü ayarlanabilmektedir.
Bunun için JOE’nin açılış dosyasını kullanıcının ev dizinine .joerc olarak kopyalanır. Ve bu
dosya içinde gerekli ayarlamalar yapılabilmektedir.
3.1.2. Komut Satırı Seçenekleri
Joe editörü aşağıdaki seçenekleri çalıştırılma anında kabul etmektedir.
¾
backpath path Bu seçenek tanımlandığında dosyaların yedekleri tanımlanan
klasöre alınır.
¾
beep Bu parametre verildiği takdirde yanlış komut veya imleç sınırları
geçtiğinde joe bip sesini üretecektir.
¾
columns nnn Ekrandaki sütün sayısını ayarlar.
¾
exask Bu seçenek ile ^K-X ile dosya saklamadan önce ismini doğrulatılmasını
ister.
¾
-help Editör yardım menüsü ile başlatılacaktır.
¾
-lightoff Blok vurgulanması herhangi bir blok komutundan sonra kalkmasını
sağlar.
¾
-lines nnn Ekrandaki satır sayısını ayarlar.
¾
-marking ^K B ile işaretleme işlemi başlar ve imleç devam ettikçe seçme işlemi
devam eder. Seçme işleminin sona ermesi için ^K-K kombinasyonunun
girilmesine gerek yoktur. Seçme işleminin son noktası imlecin bulunduğu
noktadır.
¾
-mid Eğer bu seçenek verilirse ve imleç pencere dışına çıktığında, pencere imleç
ortasında kalacak şekilde kaymaya başlar. Bu seçenek kayma komutları
olmayan yavaş terminallerde zorunludur.
¾
-nobackups Bu seçenek ile yedek dosyaların saklanması engellenir
¾
-nosta Bu seçenek ekranın üstündeki durum satırını kaldırır. Bu metni okumak
için açıyorsanız ya da vt52 terminalini kullanıyorsanız çok yararlı olabilir.
¾
¾
¾
-orphan Bu seçenekle komut satırındaki fazla dosyayı ek pencere açmak yerine
buffere yerleştirir. Bu joe emacs benzeri olarak açıldığında kullanışlıdır.
-pg nnn Bu PgUp/PgDn (^U/^V) kullanılırken pencerenin kaç satır kayacağını
belirler. Eğer -1 verilir ise yarım pencere kayar.
-skiptop nnn Üstten nnn sayısı kadar satır kullanma.
Tüm bu seçenekler .joerc dosyasında belirtilebilir. JOETERM kabuk değişkeni TERM
değişkenini önemsememesi için ayarlanabilir.
Aşağıdaki seçenekler komut satırında dosya ismin önünde tanımlanmalıdır:
¾
+nnn İmleç belirtilen satırdan başlar.
¾
-crlf Joe satır sonu olarak LF yerine CR-LF kullanır. Bu MS-DOS veya VMS
dosyaları için kullanılır.
¾
-overwrite Bu seçenek ile karakterler var olan karakterlerin önüne yerleştirmek
yerine üzerlerine yazar.
¾
-lmargin nnn Sol kenarı ayarlar · -rmargin nnn Sağ kenarı ayarlar.
¾
-tab nnn tab genişliğini ayarla
¾
-linums Her satır önünde numarası olacak.
¾
-rdonly Dosya sadece okumak için açılır.
3.1.3. Metin Yazımı
3.1.3.1. Temel Kullanım
Dosya içinde imleç hareketlendirmek için ok tuşları kullanılabilir. Eğer herhangi bir
sebebi ile ok tuşları çalışmıyorsa ileri (sağa) için ^F, geri (sola) için ^B, önceki satıra
(yukarı) geçmek için ^P ve sonraki satır (aşağı) için ^N kullanılabilir.
Sağ ve sol ok tuşları imleci bir karakter ileri ve geri hareket ettirir. Eğer satır başında iken sol
tuşa basılırsa imleç önceki satırın sonuna geçer.
Eğer herhangi bir sebeple ekranda karmaşıklık yaşandıysa (örneğin yeni mail haberi
ekrana yazıldı) ^R ile görüntü güncellenebilir.
İmlecin bulunduğu karakteri silmek için ^D kullanılır, imlecin arkasında bulunan
karakteri silmek Backspace tuşu kullanılabilir. Ayrıca imleç satır sonunda ise ^D satır sonu
işaretçisini siler. İmlecin bulunduğu satırı silmek için ^Y kullanılır veya sadece imlecin
yerinden başlayarak satırı sonuna kadar silmek için ^J kullanılabilir.
Satırın başına gitmek için ^A basılır. Sonuna gitmek için ^E kullanılır. ^U veya ^V ile
metin ekranın yarısı kadar yukarı veya aşağıya kayar. Metnin başına veya son satırına
geçmek için ^K U veya ^K V kullanılır.
Eğer bir hata yapıldıysa ^_ kullanılarak geri alınabilir. Eğer fazla geri gidildiyse ^^ ile
tekrarlanabilir.
Metin yazılması sona erdikten sonra editörden çıkmak için ^K X tuşları kullanılır.
Dosyanın ismi yoksa ismini girilmesi istenecek.
Dosyayı kaydetmek istenmiyorsa ^C ile editörden çıkılabilir.
3.1.3.2. Word Wrap İle Şekillendirme
Eğer ekranın sağ kenarı geçilir ise Joe son sözcüğü bir sonraki satıra geçirir. Bunun
özelliğe “word wrap” adı verilmektedir.. Word wrap ^T W komutu ile pasif ya da etkin hale
getirilebilmektedir.
Paragrafı düzenlemek için ^K J komutu kullanılabilir. Bu komut ile imlecin
bulunduğu paragraf düzenlenir ve bir satıra mümkün olduğu kadar sözcük yerleştirilir.
Paragraf ve word-wrap sınırlarını ayarlamak için ^T L ve ^T R komutlar kullanılır.
Satırı ortalamak için ^K A kullanılır.
3.1.3.3. Üstüne Yazma Modu
Bazen bir metin yerine başka bir metin yazılması gerekir. Bunun için ^T T komutu ile
üstüne yazma modu etkin olur. Bu durumda yazılan karakterler eski karakterleri silip onların
yerini alır. Ayrıca Backspace sadece imleci sola hareket ettirir karakterleri silmez. Ekleme
moduna geçmek için ^T T komutu çalıştırılır.
Üstüne yazma modunda iken karakter eklemeye ihtiyaç varsa ^@ komutu kullanılır.
3.1.3.4. İmleç Nerede ?
İmlecin bulunduğu satırı sütünü bulmak için ^K Boşluk kullanılır. Ayrıca bu komut
karakterin ASCII kodunu verir. Sürekli satır ve/veya sütün numarasını görmek için .joerc
başlangıç dosyası düzeltilir.
3.1.3.5. Dosya İşlemleri
Dosyayı saklamak için ^K D kullanılır (başka bir isimle saklamak mümkündür).
Başka bir dosyayı açmak için ^K E komutundan yararlanır. Dosya içine başka bir dosyayı
eklemek için ^K E kullanılır.
Metnin sadece seçilmiş parçasını saklanması aşağıda Bloklar bölümünde (3.1.3.8) ele
alınmıştır.
3.1.3.6. Editörü Askıya Almak
Geçici olarak Joedan çıkmak için ^K Z komutu çalıştırılır. Geri dönmek için fg
komutu yürütülür.
3.1.3.7. Metin Arama
Arama için ^K F komutu çalıştırıldığında aranacak metnin girilmesi istenecektir.
Metin girildikten sonra birkaç seçenek gelmektedir. Enter tuşuna basıldığı takdirde metin
hemen ileri (aşağıya) aranacaktır. Enter yerine aşağıdaki seçeneklerden biri kullanılabilir:
¾
B metni geri olarak arar.
¾
I büyük küçük harf ayırt etmeden arar.
¾
N Burada N bir sayıdır. Bu seçenek ile Joe N’inci sözcüğü bulur.
¾
R Yer değiştirme, bulunan sözcükleri belirtilen metin parçaları ile yer
değiştirilir. Aranan her parça bulunduğu zaman yer değiştirilmesi için
kullanıcıya başvurur.
^L komutu ile bir önceki arama tekrarlanır.
3.1.3.7.1. Regular Expressions
Aramada kullanılabilir özel karakterler aşağıdaki gibidir:
¾
\* Bu seçenek iki karakter arasında bulunabilecek karakter sayısı sıfır veya daha
fazla olarak bulunur. Mesela A\*B girildiğinde, JOE A ve onu takip eden B
arasında sıfır veya fazla karakter bulunmasına izin verir.
¾
¾
¾
¾
¾
¾
¾
\? Bu seçenek ile sadece bir karakter bulunur. Örneğin A\?B olarak arandığı
zaman JOE AxB şeklindeki metinleri bulur.
\^ \$ Bu seçenekler satır başına ve sonunu işaret. Örneğin \^test\$ şeklindeki
giriş ile JOE sadece “test” içeren satırları bulur.
\< \> Bu seçenekler sözcük başını ve sonunu işaret eder. Örneğin \<\*is\*\>
şeklindeki giriş sonucu “is” içeren tüm sözcükler bulunur.
\[...] Parantez arasındaki herhangi karakter bulunur. Örneğin \[Kk]itap şeklinde
giriş yapılırsa, JOE Kitap ve kitap kelimeleri bulur. Parantez arası karakterler
sırası da verilebilir. Örneğin \[A-Z] herhangi büyük harf bulanacak. Eğer
parantez içindeki ilk karakter ^ ise JOE verilmemiş olan karakterleri arar.
\+ Bu seçenek ile \+ işaretini takip sıfır veya daha fazla karakter bulunur. Örnek
olarak \[ ]\+\[ ] giriş yapıldığı zaman, (burada parantez arasındaki karakter
SPACE ve TAB’tır), JOE boşluk bulur.
\\ Tek bir \ işaretine denktir.
\n Özel satır sonu işareti bulunur.
Yer alma satırında verilebilecek özel karakterler:
¾
\0 - \9 Bu seçenek ile aranan metnin N-inci \*, \?, \+, \c ya da \[...] parçası ile
yer değiştirir.
¾
\\ Tek bir \ işaretine denktir.
¾
\n Yer alma bölümünde satır sonu işaretçisidir.
Bazı örnekler: Adres listesi olan bir dosyadaki kayıtlar şu şekildedir.
Adres: H.Catak, Marmaris Blv., Mugla, Turkey
^K F ile arama şu şekilde gerçekleştirilir ise:
Adres: \*, \*, \*, \* \$
Aranacak metin “Adres:”, virgül ile bölünmüş dört parça ve satır sonu işaretinden
oluşacak. Seçenekler ekranından r tuşuna basılıp Replace (yer alma) moduna geçilir:
Adres: \3, \2, \0, \1
olarak girildiğinde metin şu şekilde gelir:
Adres: Turkey, Mugla, H.Catak, Marmaris Cd.
3.1.3.8. Bloklar
Metnin özel bir parçasını taşınması, kopyalanması, saklanması veya silinmesi için
işaretlenmiş bloklar kullanılabilir. İlk olarak imleç işaretlenecek kısmın başına getirilir ve ^K
B komutu ile blok başı işaretlenir. Bu işlemden sonra imleç parçanın sonuna götürülüp ^K K
komutu yürütülür. ^K B ile ^K K arasındaki metin işaretlenmesi gerekir. Bundan sonra
imlecin dokümandaki istendiği yere götürülüp ^K M ile blok taşınır. Bloğu kopyalayıp
imlecin bulunduğu yapıştırmak için ^K C kullanılır. ^K Y ile blok silinir. İşaretlenmiş bloğu
başka bir dosyaya saklamak için ^K W kullanılır.
Bloklar ile ilgili başka bir kullanışlı komut ^K / filtreleme komutudur. Filtrelemede
Linux komutları kullanılır. Örneğin, eğer bir liste seçilmiş ise ^K /’dan sonra gelen sort
komutu girilirse liste sıralanacaktır. Diğer ^K /’da kullanılabilecek komut tr’dir. Eğer ^K / tr
a-z A-Z olarak giriş yapılırsa, işaretlenmiş metinde tüm küçük harfler büyük harf olarak
değiştirilir.
İşaretlemeyi kaldırmak için ^K B ^K K komutu kullanılır.
3.1.3.9. Pencereler
Joe aynı zamanda birden fazla dosya ile çalışabilmekte veya dosyanın farklı bölümler
ile çalışabilmektedir. Bu özelliği kullanmak için ^K O komutu ile pencere ikiye bölünür. ^K
P ve ^K N komutlarıyla pencereler arasında geçilebilmektedir. ^K E pencerede yeni bir
dosya başlatmak için kullanılır. ^K X ile dosya saklanırsa ya da ^C ile iptal edilirse pencere
kapanır. Eğer iki pencerede bulunan bir dosyayı ^C ile iptal edilir ise sadece bir pencere
kapanır, dosya değil.
Aynı ekranda bir pencereden fazla olabilmektedir (^K O). Eğer pencerede fazla
pencere varsa, ama pencereler kapanması istenmiyorsa, ^K I kullanılabilir. Bu komut ile
sadece imlecin bulunduğu pencereyi tüm ekrana yayarak gösterilir. Diğer pencerelere
geçmek için ^K P ve ^K N kullanılır.
Pencerenin yüksekliğini değiştirmek için ^K G ve ^K T komutları kullanılır.
3.1.3.10. Kabuk Pencereleri
“ ^K ‘ “komutu ile pencerelerden birisinde komut kabuğu açılabilir. Bu işlem kabuk
komutların çıktılarını kaydetmek için çok kullanışlıdır. Kabuğu kapatmak için exit komutunu
kullanılır.
3.1.4. Dosya İsimleri
JOE dosya ismi için başvurduğu zaman girilebilecek seçenekler:
¾
!komut Veriyi komuttan okur ya da komuta gönderir. Örneğin, joe ’!ls’ komutu
çalıştırıldığında ls komutun çıktısı joede açılacaktır.
¾
>>dosyaadi Joe dosyaadi dosyasına metni eklemiş olacaktır.
¾
dosyaadi, START, SIZE Bu dosyanın veya aygıtın belli bir bölümünü açmak için
kullanılabilir. START ve SIZE onluk (ör:123), sekizlik (ör:0777) veya onaltılık
(ör:0xFF) sayı düzeylerinde girilebilir. Örneğin, joe /dev/fd0, 507,2 komutu ile
floppy aygıtın 507 ve 508 byteları ele alınacaktır.
¾
- Bu seçenek ile standart girişten metin alınır veya çıktı verilebilir. Örnek
olarak, quota -v | joe - | mail root komutun sonucu kota bilgileri Joe ile açılır ve
dosya saklandıktan sonra root’a mail ile gönderilir.
3.2.
Pico
Pico - PINE tarzındaki basit bir metin editörüdür. Pine mesaj editöründe olduğu gibi
ekranın alt kısmında yardım menüsü ile birlikte komutların kısayolları yer almaktadır.
Komutlar kontrol tuşu ile kombinasyonları kullanılarak girilmektedir. Escape tuşuna çift
tıklamak Ctrl tuşun yerine kullanılabilmektedir. Yani Esc-Esc-c tuş kombinasyonu Ctrl-c
kombinasyonu yerine kullanılabilir.
Pico beş temel özelliği sahiptir:
¾
Arama
¾
Blok kesme/yapıştırma
¾
İmla kontrolü
¾
Dosya gezgini
¾
Paragraf hizalanması
Arama imleç yerinden başlar ve dosyanın sonuna kadar devam eder. Dosyanın sonuna
ulaşıldığında arama işlemine dosyanın başından devam edilir. İmlecin bulunduğu yerden
daha önceki konumda aranan katar bulundu ise bu durum kullanıcıya bildirilir.
Bir metin bloğu, işaretleme (ctrl-^), silme (ctrl-k) ve geri dönüştürme (ctrl-u)
komutlarını kullanılarak kaldırılabilir, kopyalanabilir ya da silinebilir. Silme komutu
“işaretçi” ile imleç arasındaki bloğu siler ve “kes” tampon alanına kopyalar. Geri
dönüştürme imlecin yerinden başlayarak tampon alanındaki veriyi yapıştırır.
İmla kontrolü ile metindeki tüm kelimeleri yazım hatalarına karşı kontrol
edilmektedir.. İmla kontrolü istendiği takdirde iptal edilebilir.
Dosya gezgini “Dosyayı Oku” ve “Dosyayı Yaz” işlemleri sırasında çağırılabilir.
Gezgin dosya arama ve klasör hiyerarşisini içinde rahatça hareket edebilmek için
tasarlanmıştır. Bulunulan klasördeki dosyalar ile dosyaların büyüklüklerini ve klasör isimleri
listeler. Ekranın alt kısmında kullanabileceğiniz komutlar yer almaktadır. Bununla birlikte
bulunulan klasör ismi en yukarıdaki satırda gösterilmektedir. Dosya gezgininde aynı
zamanda bir kaç temel dosya işlemleri gerçekleştirilebilir:
Dosya ;
¾
İsim değiştirme,
¾
Kopyalama,
¾
Silme.
3.2.1. Seçenekler
Pico editörü komut satırından aşağıdaki parametreleri kabul etmektedir.
¾
+n : Bu seçenekle pico dosyayı , imleci belirtilen satıra konumlandırarak
açacaktır. Dikkat edilmesi gereken dosya “+” işareti ile sayı arasında boşluk
olmamasıdır.
¾
-b :Bu arama komutu ile bulunan metin parçalarının değiştirilebilmesini
sağlayan seçeneği aktif eder.
¾
-d: “Delete” tuşunun kendi işlevini yapmasını sağlar.
¾
-e:Dosya ismi tamamla seçeneğini aktif eder.
¾
-h : Komut satır seçeneklerini listeler.
¾
-j : Dosya gezgininde “Goto” komutunu aktif yapar. Bu komut ile dosya
gezgininde herhangi bir klasörün ismi verilerek doğrudan istenilen klasöre
gidilebilmektedir.
¾
-k : Bu seçenek kullanıldığında CTRL-U ile gerçekleştirilen metin silme
komutu tüm satır yerine , imlecin bulunduğu noktadan satır sonuna kadar silme
işlemini yapmaktadır.
¾
-o dir : Çalışma klasörünü belirler. Bu seçenek kullanıldığında sadece belirtilen
klasördeki dosyalar ile çalışmaya izin verilir-s speller İmlayı kontrol etmek için
alternatif program belirler.
¾
-t :“Tool” modunu aktif hale getirir. Pico çıkışta dosyayı direk saklar,
kullanıcıya dosyayı saklamak isteyip istemediği sorulmaz.
¾
-v : Dosyayı sadece okuma için açar, yazmaya izin vermez.
¾
-w : Uzun satırların belli bir sütundan sonra alt satıra geçmesini engeller. Bu
sayede uzun satırlar içeren dosyalar üzerinde dosyanın içeriği bozulmadan işlem
yapılabilir.
¾
-x : Ekranın alt kısmında olan menüyü kapatır.
¾
-z : Picoyu arka plana atmak için Ctrl-Z tuş kombinasyonunu aktif hale getirir.
3.2.2. Komutlar
Piconun ekranın alt bölümünde Yardım Menüsü yer almaktadır.. Bu menüde
komutların kısayol tuşları aşağıdaki gibidir.
¾
^G (Ctrl-g) - Yardım metni çağır.
o X (Ctrl-x) - Yardımdan çık · ^X (Ctrl-x) - Pico’dan çık.
¾
^O (Ctrl-o) Sakla - Dosya saklanır.
o ^G (Ctrl-g) - Yardım.
o ^T (Ctrl-t) - Dosya gezginini aç.
o Tab - dosya ismini tamamla.
o ^C (Ctrl-c) - Vazgeç.
¾
^J (Ctrl-j) - Paragrafı hizala.
o ^U (Ctrl-u) - Paragraf hizalanmasını kaldır.
¾
^R (Ctrl-r) -Dosyayı Oku.
o ^G (Ctrl-g) - Yardım.
o ^T (Ctrl-t )- Dosya gezginini aç.
o Tab - dosya ismini tamamla. (Sadece pico -t parametresi ile açılırsa)
o ^C (Ctrl-c) - Vazgeç.
¾
^W (Ctrl-w) Nerede - Metin parçasını bul. o ^G (Ctrl-g) - Yardım.
o ^C (Ctrl-c) - Vazgeç.
o ^Y (Ctrl-y) - İlk satıra git.
o ^V (Ctrl-v) - Son satıra git.
o ^T (Ctrl-t) - Numarası verilen satıra git.
o ^W (Ctrl-w) - Paragrafın başına git.
o ^O (Ctrl-o) - Paragrafın sonuna git. · ^Y (Ctrl-y) Önceki sayfa.
¾
^V (Ctrl-v) Sonraki sayfa.
¾
^K (Ctrl-k) Metin parçasını kes.
¾
^U (Ctrl-u) En son kesilen metin parçasını yerleştir veya yapılan paragraf
hizalama işlemini geri al..
¾
^C (Ctrl-c) İmlecin yerine belirt.İmlecin bulunduğu satırı ve sütünü gösterir.
¾
^T (Ctrl-t) İmla hatalarını kontrol et.
3.3.
Vi ve vim
Vi ve vi uyumlu olan vim ASCII metin dosyalarını düzenlemek amacıyla kullanılan
oldukça gelişmiş özelliklere sahip editörlerdir. vi UNIX geleneğinin bir sembolüdür. vim ise
vi ‘nin geliştirilmiş sürümüdür (vim - vi IMproved).vi ve vim arasındaki farklılıklar
/usr/share/vim/vim56/doc/vi_diff.txt dosyasında ayrıntıları ile sıralanmıştır. vim, özellikle
program kaynak kodlarının düzenlenmesinde oldukça faydalıdır. vim ‘in bazı özellikleri
olarak, çoklu-seviyeli UNDO mekanizması, çoklu-pencere ve tampon bellek, sentaks
(yazım) renklendirme (vurgulama), komut satırı düzenleme, komut durumunda dosya-ismi
tamamlama, On-Line yardım sayılabilir. vim çalışırken On-Line yardım sisteminden birçok
bilgi edinilebilir. On-Line yardım almak için, komut durumuna geçerek (komut durumu için,
vim açıldıktan sonra ESC tuşuna basılır ve arkasından “:” (Kolon) karakteri tuşlanır.).
Örnek 3.1 :
~
~
~
~
~
~
~
~
:help
vim bir kelime işlemci değildir, sadece bir editördür. UNIX altında kelime işlem için
tex, latex, nroff, troff gibi yazılımlar kullanılır. vim editöründe iki durum söz konusudur.
Birincisi, vim ilk açıldığındaki komut durumu (command mode), ikincisi ise etkileşimli
durum (interactive mode). Komut durumunda TAB tuşu kullanılarak tamamı yazılmamış
komut tamamlanabilir.
3.3.1. Dosya Açmak ve Oluşturmak
Vim çoğunlukla düzenleme yapmak amacıyla izleyen komut kullanılarak tek dosya ile
açılır;
abc:/home/username $ vim [options] [filename]
Ancak istenirse komut satırında birden fazla dosya aynı anda vim ile açılabilir:
abc:/home/username $ vim [options] [filename-list]
Örnek 3.2 :
Bu bir deneme dosyasıdır
Enter'a bastıktan sonra alt satıra devam
edebilirsiniz
son satır
~
~
~
~
~
~
"filename [ New File ] deneme
Eğer dosya listesi boş ise, vim boş tampon bellek ile açılır. Bunun yanında,
aşağıdakilerden herhangi bir tanesi bir yada daha fazla sayıda dosyayı düzenlemek amacıyla
açmak için kullanılabilir.
¾
$ vim : Normal açılım. Bu durumda tüm açılış ayarları varsayılan konumdadır.
¾
$ vim file1 file2…. : Dosya isimleri listesi. İlk dosya geçerli dosyadır ve
tampon belleğe okunur ve imleç tamponun ilk satırına konumlandırılır. Diğer
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
dosyaya geçmek istenirse komut durumunda w ile değişiklik kaydedilip, :next
(n) komutuyla ,önceki dosyaya :previous (p) komutuyla geçilebilir.
$ vim - : Metin vim tamponuna standart girişten aktarılır. Metin girişini
sonlandırmak için CTRL-D tuş kombinasyonu kullanılır.
$ vim +150 deneme : Deneme isimli dosyayı aç ve imleci 150. satıra
konumlandır
$ vim + deneme : Deneme isimli dosyayı aç ve imleci son satıra konumlandır.
$ vim + /vt100 termcap : Deneme isimli dosyayı aç ve imleci içinde vt100
geçen ilk satıra konumlandırır.
$ vim -R : Dosyanın salt-okunur açılmasını sağlar. -R yerine view
kullanılabilir. Halen tampon bellekte düzenleme yapmaya devam edilebilir.
Kayıt amaçlanırsa dosya güncellenmez, ancak kayıt yapılmaya karar verilirse
komut durumunda “:w!“ komutu kullanılır. Veya “:set noro” komutuyla saltokunurluk resetlenir.
$ vim -gvim yada -gview : GUI sürümü, -g seçeneği de vardır. Ancak derleme
aşamasında desteğin verilmiş olması gerekmektedir.
$ vim -b : Binary mode. Binary yada çalıştırılabilir dosyaları düzenleyebilmek
için bir kaç seçeneğin ayarlandığı (set) açılış modu.
$ vim -C : Uyumluluk modu. Eğer kullanıcının ev dizininde .vimrc dosyası
mevcut olsa bile, vim çoğunlukla vi gibi davranır. -N seçeneği bu modu resetler.
$ vim -h : Kabuk komut satırında vim başlangıç seçenekleri için basit yardım
almayı sağlar.
$ vim -l : LISP mode. Lisp ve snowmatch seçeneklerini geçerli kılar (set).
$ vim -m : Dosyaların üzerinde değişiklik yapma seçeneğini devre dışı bırakır. write seçeneğini resetler.
$ vim -n : Takas (swap) dosyası kullanımı kaldırır. Bir problem esnasında
henüz yazılanlar diske kaydedilmemiş ise kurtarılmaları mümkün olmaz. Ayrıca
Komut durumunda “ :set uc=200” komutuyla set edilir. Bu komut bir kez daha
verilecek olursa unset edilir.
$ vim -r : Kurtarma işlemi gerçekleştirebilmek amacıyla düzenlenmekte olan
dosyalara ait takas dosyalarını listeler.
$ wim -r {file} : Kurtarma modu, bozulmuş dosyanın takas dosyası kullanılarak
(dosya uzantısı .swp seklindedir) kurtarma işlemi gerçekleştirilir. Yardım almak
için “:help recovery” komutu kullanılabilir.
$ vim -T {terminal} : Vim’in -T seçeneği ile belirtilen terminal emülasyonunu
kullanarak açılmasını sağlar.
$ vim -x : Vim ‘in kelimeleri dosyaya yazarken kullanıcıya sorarak öğrendiği
bir anahtar kelimeye göre şifreleme yapacak şekilde başlatılmasını sağlar.
3.3.2. Dosya Kaydetme ve Çıkma
ESC tuşuna basıldıktan sonra “:”(colon) ile komut durumuna geçilir ve sırayla “ wq “
(write & quit ) komutları verilir. Böylece dosya kaydedilip vim’dan çıkılmış olur.
3.3.3. İmleç Dolaştırma Komutları
Komut durumunda iken yön tuşları çalışmıyorsa, bu tuşlar ile text üzerinde dolaşmak
mümkün olacaktır.
¾
h : sola bir karakter
¾
j : aşağı bir karakter
¾
k : yukarı bir karakter
¾
l : sağa bir karakter
Return ve BackSpace tuşları sırasıyla, satırbaşı ve bir geri anlamına gelir. Birçok vim
komutu gibi, imleç hareket komutları da başına sayı konularak, bu sayı kadar komutun
işletilmesi sağlanabilir.
Örnek 3.3:
3h : 3 karakter sola 2k : 2 karakter yukarı gibi,
3.3.4. En Çok Kullanılan Komutlardan Bazıları
¾
¾
¾
¾
0 (sıfır) : imlecin bulunduğu satırın başına git
$ : imlecin bulunduğu satırın sonuna git
w : bir sonraki kelimenin başına git
b : bir önceki kelimenin başına git
3.3.5. Ekleme Komutları
¾
¾
¾
i : imlecin üzerinde bulunduğu karakterin solundan başlayarak ESC tuşuna
basılıncaya kadar basılan her karakteri metine ekler. Varsa eski metin sağa
doğru ötelenir.
a : imlecin üzerinde bulunduğu karakterin hemen sağından başlayarak ESC
tuşuna basılıncaya kadar basılan her karakteri metine ekler. Varsa eski metin
sağa doğru ötelenir.
A: imlecin üzerinde bulunduğu satırın sonundan başlayarak ESC tuşuna
basılıncaya kadar basılan her karakteri metine ekler. Varsa eski metin sağa
doğru ötelenir.
3.3.6. Yazı Silmek
¾
¾
¾
¾
¾
¾
¾
¾
x : imlecin üzerinde bulunduğu karakteri siler
3x : imlecin üzerinde bulunduğu karakter dahil, sağa doğru 3 karakteri siler
dw : imlecin üzerinde bulunduğu yerden kelime sonuna kadar sil
2dw : imlecin üzerinde bulunduğu yerden başlayarak 2 sözcük sil dd : imlecin
üzerinde bulunduğu satırı sil
2dd : imlecin üzerinde bulunduğu satırı ve altındaki satırı sil d) : imlecin
üzerinde bulunduğu cümleyi sil
d} : imlecin üzerinde bulunduğu paragrafı sil D : imlecin üzerinde bulunduğu
satırın sonuna kadar sil
d$ : imlecin üzerinde bulunduğu satırın sonuna kadar sil (D ile özdeş) dw :
imlecin üzerinde bulunduğu kelimeyi sil
db : imlecin üzerinde bulunduğu kelimeden bir önceki kelimeyi sil
¾
Yanlışlıkla silme işlemi yaparsanız; u (undo) komutuyla son silme işlemini geri
döndürebilirsiniz. Aslında sadece son silme işlemini değil son değişikliği geri
döndürür. Son sildiğimiz metin parçasını geri getirmek için p (put) komutu
kullanılabilir. Ancak bu paste işlemidir. p komutu bulunulan satırın altına
yapıştırır.
3.3.7. Metin Bloklarının Yerini Değiştirme
vim editörü ile metin parçalarının yerini değiştirmek için, önce eski yerinden silmeli,
daha sonra yeni yerine yapıştırmalısınız. dd komutu ile satır silinir. ESC’ye basılarak ve yön
tuşları ile yapıştırılacak yere gidilip, p komutu ile yapıştırılır.
3.3.8. Kopyalama (Yank Komutu)
Kopyalanacak metin bloğunu önce bulunduğu yerde y (yank) komutuyla veya Y ile
(veya YY) copy yapılır daha sonra kopyalanacak yere put ile yapıştırılır. p bulunulan satırın
altına , P ise üstüne yapıştırır. “yw” ve “yb” (bir önceki) kelimeleri kopyalar, “ y) ” cümleyi
“ y} ” paragrafları kopyalar. vim’da son işletilen komut “ . ” ile tekrarlanabilir.
3.3.9. Kopyalama (Yank Komutu)
¾
¾
¾
¾
¾
¾
¾
¾
¾
I (Insert) : imlecin bulunduğu satırın başına ekle
o (open line) : imlecin bulunduğu satırın altına ekle
O (open above) : imlecin bulunduğu satırın üstüne ekle
s ( substitute char) : imlecin bulunduğu yerdeki karakteri sil ve yerine yeni
metni ekle
S ( substitute line) : imlecin bulunduğu yerdeki satırı sil ve yerine yeni metni
ekle
r ( replace char) : imlecin bulunduğu yerdeki karakteri bir sonra basılacak olan
ile değiştir
r ( replace text) : imlecin bulunduğu yerden itibaren yeni girilecek metni eski
metin ile değiştir
j (join) : imlecin bulunduğu satırın arkasındaki satırı birleştir
cw ( change word) : imlecin bulunduğu sözcüğü yeni girilecek sözcükle
değiştir.
3.3.10. Metin İçinde Dolaşmak
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
CTRL - F (forward) : Bir ekran ileri
CTRL - B (back) : Bir ekran geri
CTRL - D (down) : Bir ekran ileri
CTRL - U (up) : Bir ekran geri
CTRL - R (redraw)
CTRL - Y : ekranı bir satır aşağı kaydır. İmleç yerinde kalsın
CTRL - E : ekranı bir satır yukarı kaydır. İmleç yerinde kalsın
z (enter) : imlecin bulunduğu satır ekranın en üstüne gelecek şekilde ekranı
yeniden düzenle.
z . : imlecin bulunduğu satırı ekranın ortasına getir.
z - : imlecin bulunduğu satırı ekranın en altına getir.
H (Home) : ekranın sol üst köşesine git.
¾
¾
¾
¾
¾
M (Mıd Screen) : ekranın ortasına git.
L (Lower Screen) : ekranın sol alt köşesine git.
200 z (return) : 200. satırı ekranın en üstüne getir.
4H : ekranın en üst satırının 4 altındaki satıra git.
5L : en alttan 5 satır yukarı git.
3.3.11. Metin İçerisindeki Satır No’ları Görüntülemek
ESC’ye basarak “ : ” ile komut moduna geçildikten sonra,
: set nu
tanımlaması ile satır numaraları görüntülenebilir. Yine “ : ” komut durumunda “ # ”
ile imlecin hangi satırda bulunduğu öğrenilebilir. İstenilen satıra ise ESC ‘ye bastıktan sonra
“:satır numarası” ile gidilebilir.
3.3.12. Tuş Kısaltmaları
Çok sık tekrarlanan kelime yada kalıpları kullanmak için “ : ab kısaltma açıkform ”
komutu ile kısaltma yapılabilir. Kısaltmanın iptali için ise “ : unab kısaltma ” kullanılır.
: ab kısaltma açıkform
: unab kısaltma
Eğer sık kullanılan vim komutlarına ilişkin bir kısaltma tanımlanacak ise bu tanımlar “
: map ” komutu ile yapabilir.
Örnek 3.4:
: map ^Y dd bu sayede CTRL - Y ‘nin dd ile aynı işi yapılması sağlanabilir
map komutu ile F2 fonksiyon tuşuna bunu yaptırmak istiyorsanız,
: map #2 dd
şeklinde bir tanımlama yeterli olacaktır. Sadece :map komutu ile yapılmış olan
tanımlamalar listelenebilir. tanımlamalar, unmap komutuyla kaldırılabilir.
: unmap # function_key_number
Bu tür tanımlamaların vim’ya her girdiğinizde geçerli olması isteniyorsa, home
dizininizde .exrc isimli bir dosya yaratılıp içine bu tanımlamaların yazılması gerekir. Yada
komut durumunda iken :mkexrc komutu ile .exrc dosyası son değişiklikler ile yaratılabilir
ve güncellenebilir. Böylece vim her açıldığında bu tanımlamalar otomatik olarak geçerli
olacaktır.
3.3.13. Bazı vi Tanımları
Kısaltm Arama
a
Seçeneği
ic
Varsayılan
(Default)
ignorecase
noic
magic
magic
ws
wrpscan
nows
nu
ai
number
autoindent
nonm
noai
Açıklama
Arama sırasında case-sensitivity
uygulanmaz
Özel karakterler geçerli kılınır
Aramalar dosyanın başından itibaren
yapılır
Satır numaraları görüntülenir
Auto indent
Tablo 3.1 : Bazı vi tanımları.
3.3.14. Kayıt Arama ve Değiştirme
Komut durumunda iken “ / ” ile ileri, “ ? ” ile geri aramayı yönlendirmek mümkündür.
“ ^ ” karakteri satır başını, “ $ ” karakteri ise satır sonunu belirtir.
örnekler:
/ term (ileri doğru term kelimesi aranıyor)
? term (geri doğru term kelimesi aranıyor)
aramayı devam ettirmek için n (next) ile ileri doğru, N ile geriye doğru aramaya
devam ettirilebilir. Bulup değiştirmek için ise komut durumuna geçilir “ : ” ve
: s /termcap/TERMCAP | yazılır. s komutu için örnekler :
:1,100 s/termcap/TERMCAP/g
Dosyanın 1 ve 100.cü satırları arasında rastlanan tüm termcap’leri TERMCAP ile
değiştir.
:1, $ s/termcap/TERMCAP/g
Dosyanın başından sonuna kadar aynı işi yap
: % s/termcap/TERMCAP/g
Tüm dosya için aynı işi yap
:% s/termcap/TERMCAP/gc
“ c ” onaylama (confirmation)
: g/pattern1/s/pattern2/pattern3/g
Tüm dosyada pattern1’i ara, bulunca o satırlardaki pattern2 ‘leri pattern3 ile değiştir
: % s/pattern/\U &/g
Tüm dosyadaki pattern dizilerini büyük harf yap (/U), “ & ” pattern1 anlamındadır.
: g/^$/d
Dosya içindeki tüm boş satırları sil
3.3.15. Dosya İşlemleri
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
ZZ (:wq komutuna eşdeğerdir)
:q (quit)
:q! (yapılan değişiklikleri kaydetmeden çık)
:w (dosyayı kaydet vi’da kal)
:wq (write and quit)
:x (vi’dan çık dosya değişmiş ise dosyayı kaydet)
:w dosya2 (üzerinde çalışılanları dosya2’ye kaydet)
:1, 100 w dosya2 (1 ile 100 ncü satırları dosya2’ye kaydet)
:! (komutu ile komut satırı (shell) programları kullanılabilir)
: r !prog prog bir program ise çalıştırılacak ve çıktısı vim ile edit etmekte
olduğunuz dosyada imlecin olduğu yere yerleşebilecektir.Komut tamamlama
burada da çalışacaktır
3.3.16. Yazım Vurgulama
Sadece Linux box tty’lerde ve TERM=linux çevre değişkeni için geçerli, örneğin MS
windows telnet ile bağlanıldığında, normal konsoldan sisteme girmiş yada unix box dan
başka bir unix box’a telnet ile bağlanmış bir kullanıcıdan farklı olarak bazı keystrokelar (tuş
işlevleri) çalışmaz. Bu gereklerin yanında /usr/share/vim/vim60z/syntax/syntax.vim
dosyasının da sistemde bulunması lazımdır. Sentaks vurgulama sistemde varsayılan ayar
olarak mevcuttur. Ancak dosya uzantısına bağlı olarak çalışır. Vim için tanımlanmış değişik
türde dosyalar için sentaks renklendirme tanımlamaları aşağıdaki dosyalarda yapılmıştır.
Ayrıca renklendirme aktif değil ise komut durumuna geçilerek “:syntax on” komutuyla
aktifleştirilebilir.
/usr/share/vim/vim60z/syntax/*.vim
3.4.
Mcedit
mcedit, UNIX sistemler için geliştirilmiş, oldukça yetenekli bir terminal metin
editörüdür. mcedit, mc (Midnight Commander) yardımcı programı ile birlikte aynı paket
(mc-4.5.51-32.i386.rpm ) içinde gelir ve mc ‘nin içsel (internal) editörü dür. Aynı zamanda,
bir X-Window editörü olan cooledit’in terminal versiyonudur. Diğer tam ekran editörlerin
sahip olduğu birçok özelliğe sahiptir. Açabileceği dosya büyüklüğü 16MB ile
sınırlandırılmıştır ve binary dosyaları kusursuzca düzenleyebilmektedir (edit). Diğer
özellikleri;
¾
Blok kopyalama, taşıma, silme, kesme ve yapıştırma
¾
Undo yeteneği (CTRL-U yada F9 + Edit + Undo)
¾
Pull-Down menüler, dosya ekleme (file insertion) çıkarma
¾
Macro tanımlama, regular expression (regex) kullanarak arama ve değiştirme
(ve ayrıca scanf - printf arama ve değiştirme)
¾
Shift ve ok tuşlarını kullanarak MSW-MAC metin vurgulama (text
highlighting) - (sadece Linux konsolu için geçerli)
¾
Insert ve Overwrite seçim düğmesi (toggle)
¾
Word wrap, çeşitli tabbing seçenekleri, çeşitli dosya tipleri için sentaks
vurgulama (syntax highlighting)
¾
indent ve ispeel gibi kabuk programlarını kullanarak metin düzenleme
Editörün kullanılması çok kolaydır, ve herhangi bir kullanım kılavuzu gerektirmez.
Hangi tuşun ne işe yaradığını görmek için, uygun pull-down menüsüne bakmak yeterlidir.
Diğer tuşlar;
¾
Shift ve ok tuşları, metin vurgulama (işaretleme) için kullanılır. (sadece Linux
konsolu için geçerli)
¾
CTRL-Insert, işaretlenmiş metin bloklarını $HOME/.cedit/cooledit.clip
dosyasına kopyalar (copy to clipboard). Shift-Ins ise bu blokları bu dosyadan
imlecin konumlandığı noktaya yapıştırır (paste from clipboard). (sadece Linux
konsol için)
¾
Shift-Del metin bloklarını $HOME/.cedit/cooledit.clip dosyasına bloğu
metinden keserek kopyalar. CTRL-Del, ise aynı şekilde bloğu metinden siler.
Tüm bu özellikler sadece Linux konsol için geçerlidir.
Mouse ile metin bloklama yapmak mümkündür. Bunun için Shift tuşuna basılı
tutularak mouse seçilecek olan metin bloğu üzerinde gezdirilerek bloklama gerçekleştirilir.
İmleç istenilen yere konumlandırıldıktan sonra shift’e basılı tutularak ve sağ mouse tuşuna
basılarak kopyalama yapmakta mümkündür.
mcedit’in en önemli özelliklerinden biride macro tanımlayabilmesidir. Makro
tanımlamak için şu adımlar izlenir;
¾
CTRL-R tuşuna basılır ve makroyu oluşturacak olan metin girilir ve tekrar
CTRL-R tuşuna basılır
¾
Bu aşamada mcedit bu makronun hangi tuş ile kullanılacağını kullanıcıya sorar
ve kullanıcının bu tuşu makroya atamasını bekler. Böylece makro tanımlanmış
ve ilgili karaktere atanmış olur. Makronun işletilmesi için CTRL-A ve atanmış
tuş kullanılır.Makro işletilmesi için aynı zamanda CTRL, META key yada ESC
(yapay terminalden sisteme bağlanılmış ve mcedit çalıştırılmış ise yada terminal
emülasyonunu gösteren çevre değişkeni TERM=vt100 olarak tanımlanmış ise)
tuşlarından biri ve bu atanmış tuş kullanılabilir.
Makro atanacak tuşun başka bir fonksiyon için kullanılıp kullanılmayacağı kontrol
edilir. Bir kez tanımlandığında makro komutları $HOME/.cedit/cooledit.macros dosyasına
yazılır. Aynı mcedit oturumu içinde bu makrolar tekrar kullanılacak ise bu dosya edit
edilmemelidir. Çünkü mcedit makro tanımlamalarını belleğe tamponlar. mcedit makro
atanmış bir tuşa, yemi makro atanmasına izin vermektedir. mcedit’in eski sürümlerinde
olduğu gibi artık dosyasının bu amaçla edit edilmesine gerek yoktur. Herhangi mcedit
oturumunda tanımlanmış makroların tüm mcedit oturumlarında geçerli olması isteniyorsa
tüm oturumlar kapatılıp tekrar açılmalıdır.
3.4.1. Mcedit Parametreleri
¾
¾
¾
¾
¾
¾
¾
¾
¾
mcedit komut satırından çalıştırılırken $ mcedit +number dosya +number
parametresi kullanılırsa, ilgili dosyanın açılarak imlecin +number parametresi
ile belirtilen satıra konumlandırılması dağlanabilir.
mcedit -b, mcedit in siyah/beyaz ekran modu ile açılmasını sağlar
mcedit -c, mceditin varsayılan (default) ekran modu siyah/beyaz olan
terminallerde renkli modda açılmasını sağlar.
mcedit -C =, :=, varsayılandan farklı bir renk grubu (color set) kullanılmasını
sağlar. Burada anahtar kelime (keyword) normal,selected, marked, markselect,
errors, reversemenu, menusel, menuhot, menuhotsel, gauge seçeneklerinden
biri, renkler ise, black, grey, red, brightred, green, brightgreen, brown, yellow,
blue, brightblue, magenta, brightmagenta, cyan, brightcyan, lightgray ve white
olabilir.
mcedit -d ,editörden mouse desteğini kaldırır.
mcedit -f ,midnight commander dosyaları için arama yolunu (search path)
görüntüler.
mcedit -t , ancak “mc” kaynak kodu (source code), S-Lang ve terminfo
veritabanı ile birlikte derlendiği zaman kullanılabilir. Bu parametre, midnight
commander’ın herhangi bir terminal bilgisini yorumlarken sistem çaplı terminal
veritabanı (system-wide terminal database) üzerinde tanımlı terminal bilgisi
yerine TERMCAP değişkeninde tanımlı olan değerin kullanılmasını sağlar.
mcedit -V ,programın sürümünü görüntüler.
mcedit -x, xterm terminal modunun kullanılmasını sağlar. xterm uyumlu
terminallerde çalışırken kullanılır.
3.4.2. Mcedit’in Diğer Özellikleri
mcedit editörünün diğer özellikleri arasında , sentaks vurgulama (text highligthing), C
dosya düzenleme (C formatter), e-mail gönderebilme sayılabilir.
C dosya düzenleme
herhangi bir C kaynak kodunun okunabilirlik kurallarına uyulmadan yazılması
durumunda mcedit editörünün C-formatter özelliği kullanılarak kaynak kodun düzenlenmesi
sağlanabilir. “C kodu”, bloklandıktan sonra sırayla F9, Command, indent C-Formatter
seçilerek düzenleme yapılabilir. Ancak bunun gerçekleşmesi için, kullanıcının ev dizini
altındaki $HOME/.cedit/ dizininde “edit.indent.rc” isminde çalışabilir ($ chmod 700
edit.indent.rc) bir dosya varsa işlem gerçekleştirilebilir. Bu dosya bir shell scriptidir.
#!/bin/sh
# Use $HOME instead of ~ if this doesn't work.
# You may also have to use a different redirection
# syntax for some machines.
/usr/bin/indent -kr -pcs ~/.cedit/cooledit.block >& /dev/null cat /dev/null >
~/.cedit/cooledit.error
Aynı şekilde, yazım hatalarını görebilmeye yarayan ispell özelliğinin kullanılabilmesi
için ise yine kullanıcının ev dizini altındaki $HOME/.cedit/ dizininde “edit.spell.rc” isimli
shell scriptinin varolması ve içindede aşağıdakilerin yazması gerekmektedir.
#!/bin/sh
# Use $HOME instead of ~ if this doesn't work.
# You may also have to use a different redirection
# syntax for some machines.
/usr/local/bin/ispell ~/.cedit/cooledit.block >& /dev/null cat /dev/null >
~/.cedit/cooledit.error
Takip eden örnekte, okunabilirlik kurallarına uyulmadan yazılmış basit bir C
programının nasıl bloklanarak düzenlendiği gösterilmiştir. mcedit bu şekilde düzenlemeleri
sadece C kaynak kodu için değil, shell scriptleri, perl, java ve daha birçok kaynak kodu için
gerçekleştirebilir. mceditin metin renklendirme özelliği ise yine bu tür dosyalar için
geçerlidir. Önemli olan dosyanın isminin ilişkili dosya türünü belirtir bir adlandırma ile
yapılmasıdır ( deneme.c, test.pl gibi). Dosya türüne göre düzenleme ve renklendirme
tanımlamaları /usr/lib/mc/syntax dizini altındaki .syntax dosyalarında yapılmış
bulunmaktadır. Bu sentaks dosyaları kullanıcı mcediti açtığında, $HOME/.cedit/Syntax
dosyası ile birlikte yorumlanır. Eğer bu dizinde($HOME/.cedit/ ) herhangi bir dosyası varsa
bu dosya düzenleme kuralları için öncelikli olacaktır.
3.5.
Gelişmiş Ofis Yazılımları
3.5.1. OpenOffice.org
OpenOffice.org, 1980'li yılların ortalarından beri geliştirilen StarOffice'in kaynak
kodlarının açılmasıyla meydana gelen oluşumun ve programın adıdır. Etkin olarak
geliştirilmesi devam eden özgür yazılım projelerinin başında gelir.
OpenOffice.org içinde barındırdığı programlarla çağdaş bir ofis yazılımından
beklenilen görevleri rahatlıkla yerine getirmektedir. Bu görevleri de şöyle ayırabiliriz.
¾
¾
¾
¾
¾
OpenOffice.org Writer (Kelime İşlemci)
OpenOffice.org Calc (Hesap Tablosu)
OpenOffice.org Impress (Sunum Hazırlama)
OpenOffice.org Draw (Vektörel Çizim)
OpenOffice.org Base (Veritabanı)
¾
OpenOffice.org Math (Formül hazırlama)
OpenOffice.org'un başlıca özellikleri;
¾
Özgür yazılım oluşu
¾
Özgür yazılımlarla uyumlu çalışabilme
¾
MS Office dosyalarını açma ve Ms Office biçiminde kaydetme
¾
Belgeleri PDF olarak kaydetme
¾
OASIS (Open Standards XML File Format) belge biçimi
¾
Sayısal imza desteği
3.5.1.1. OpenOffice.org Writer (Kelime İşlemci)
Bir kelime işlemci programda (Ms Word gibi..) yapılabilen tüm işlemler bu Writer
programında da yapılabilmektedir. Gelişmiş bir kelime işlemcidir.
3.5.1.1.1.
Araç Çubukları ve Menüler
Resim 3.1: OpenOffice.org Writer programı araç çubukları.
Yukarıda görülen görüntü üzerinde “Menü Çubuğu”, “Standart Araç Çubuğu” ve
“Biçimlendirme Araç Çubuğu” bulunuyor. Genel olarak çok kullanılan bu iki araç çubuğu
Writer ilk açıldığında öntanımlı araç çubukları olarak yerlerini alırlar.
3.5.1.1.2. Çalışma Alanı
Bu alanın hemen altında ise çalışma alanı bulunmaktadır. Bu alan yazı yazmak için
kullanılan alandır. Bu alanda yazıların yazıldığı alan dışında kaydırma çubukları, çalışma
alanını şekillendirmek için cetveller ve paragraf ayarları için küçük yardımcı işaretler ve
sekmeler bulunmaktadır.
Resim 3.2 : Çalışma alanı.
3.5.1.1.3.
Alt Araç Çubuğu ve Bilgi Alanı
Writer ekranında alt kısımda ise alt araç çubuğu ve bilgi çubuğu bulunmaktadır. Alt
araç çubuğunda genellikle Form araç çubuğu varsayılan olarak açılır. Bilgi çubuğu ise o
anda açık olan belgeyle ilgili değişik ayrıntılar (sayfa sayısı vb..) içermektedir (Resim 3.3).
Resim 3.3 : Alt araç çubuğu ve bilgi çubuğu.
Bu alanda “Form Araç Çubuğu” var sayılan olarak açılışta gelir. En altta bulunan
bilgilendirme alanı açık olan belge hakkında birçok bilgiyi içerir. Örneğin, çalışma alanı
ölçeği, sayfa sayısı gibi...
3.5.1.1.4. Biçemler ve Biçimlendirme Penceresi
Bu alanların dışında görüntülenecek diğer alan ise kısayolu F11 olan “Biçemler ve
Biçimlendirme” penceresidir. Bu pencere sıkça kullanılan bir penceredir.
Resim 3.4: Biçemler ve Biçimlendirme penceresi.
3.5.1.1.5. Özelleştirme
Kullanıcı Writer'ı kendi kullanım alışkanlıklarına göre özelleştirebilir. Bunun için
“Araçlar/Özelleştir” menü seçeneği kullanılır. Bu alandan menüler, klavye, araç çubukları ve
makro tanımları kolayca yapılabilir.
¾
Kullanıcı Writer menülerinde değişiklik yapmak isterse ya da kendine özel
menü yapmak isterse “Menüler” seçeneğini,
¾
Klavye kısayollarını değiştirmek için ya da kısayol atamak için “Klavye”
seçeneğini,
¾
Araç çubuklarında değişik yapmak isterse ya da kendi araç çubuklarını
tanımlamak için “Araç çubukları” seçeneğini,
¾
Bazı işlemlere makrolar atamak veya değiştirmek için “Olaylar” seçeneğini
Kullanabilir.
3.5.1.1.6. Çalışma Sayfası
Genelde kelime işlemci kullananlar öntanımlı ayarlara bağlı kalmak istemezler ve
birçok ayarla oynayarak kelime işlemci ve belgeyi istedikleri düzeye getirirler. Şimdi bunları
nasıl yapacağımıza bakalım.
İlk olarak sayfa üzerinde ne gibi değişikler yapabiliriz onu öğrenelim. Bunun içine
“Biçim/Sayfa” menü seçeneğini kullanarak ilgili pencereyi karşımıza getirelim.
¾
¾
Bu pencerede karşımıza gelen ilk seçenek Yönet seçeneğidir. Burada öntanımlı
olarak kullanılan biçemi görüyorsunuz. Diğer seçeneklerde yapacağınız
değişikler öntanımlı biçemin sizin istediğiniz gibi davranmasını sağlar.
Sayfa seçeneğine geldiğimizde buradan kağıt boyutunu, metin yönünü ve kenar
boşluklarını kolayca ayarlayabilirsiniz.
Resim 3.5: Sayfa Biçem Ekranı.
¾
Arkaplan seçeneğinde belgeniz için kullanacağınız arkaplan rengini
ayarlayabilirsiniz.
¾
Üst bilgi ve Alt bilgi alanlarını kullanarak sayfa içinde bunlara ayrılacak
alanları ayarlayabilirsiniz.
¾
Kenarlık bölümden sayfa için kullanacağınız kenarlığın özelliklerini istediğiniz
şekilde değiştirebilirsiniz.
¾
Sütun kısmında ise sayfayı kaç sütunlu kullanacağınızı belirleyebilir ve sütun
ayarlarını yapabilirsiniz.
¾
Dipnot kısmında ise eğer kullanırsanız dipnotun nasıl davranacağını
belirleyebilirsiniz.
Buradaki ayarlamalar için çok fazla ayrıntıya girmedik. Bölümler içindeki yönlendirici
ifadeler istediğiniz ayarlamayı kolayca yapmanızı sağlayacaktır.
3.5.1.1.7. Sayfa Özellikleri
Oluşturduğunuz belgenin özelliklerine “Dosya/Özellikler” menü seçeneği ile
ulaşabilirsiniz. Bilgilendirme amaçlı olan bu pencereden bazı tanımları da isteğinize göre
yapabilirsiniz.
3.5.1.1.8. Alan Ekleme
Belge içinde bazı alanların olmasını isteyebilirsiniz. Mesela sayfa numaraları, yazar
adı gibi... Bunları eklemek için “Ekle/Alanlar” menü seçeneği altındaki seçeneklerden
istediğinizi seçmek yeterli olacaktır.
3.5.1.1.9.
Üstbilgi ve Altbilgi Ekleme
Resim 3.6:Üst Bilgi ve Alt Bilgi Ekleme
Belge içine üst ve alt bilgi eklemek istediğimizde “Ekle/Üst bilgi - Alt bilgi”
seçeneklerini kullanabilirsiniz. Üst ve alt bilgi seçeneğine geldiğinizde çıkan “Varsayılan”
seçeneği daha önce “Biçim/Sayfa” penceresinde yapmış olduğunuz üst ve alt bilgi ayarlarına
göre belgenize alanları ekleyecektir.
Bu ayarları değiştirmek için yine “Biçim/Sayfa” penceresindeki ayarlar bölümünü
kullanmalısınız. Daha gelişmiş ayarlamaları ise biçemler yardımıyla yapabilirsiniz. İlerleyen
sayfalarda biçemler konusunda nasıl yapılabileceğini ayrıntılarıyla açıklamaya çalışacağız.
3.5.1.1.10. Resim Ekleme
Belge içine resim eklemek için “Ekle/Resim” seçeneğini kullanıyoruz.
Bilgisayarınızdan resim ekleme isterseniz. “Dosyadan” seçeneğini seçerek resmin yerini
göstermeniz yeterli olacaktır.
Tarayıcıdan veya ona benzer kaynaktan resim eklemek isterseniz. “Ekle/Resim/Tara”
seçeneği altında “Kaynak seç” seçeneğini seçip kaynağı göstermeniz gerekli... Karşınıza
gelen iletişim penceresi üzerinde gerekli ayarları yaptıktan sonra resminizi belgenize
ekleyebilirsiniz.
3.5.1.1.11. Yazıtipi Özelliklerini Belirleme
Bir belge hazırlarken en çok başvurduğumuz yerlerin başında yazı tipi ayarlamalarının
yapıldığı yerler gelir. Ayar seçeneklerine ulaşmak için birkaç yolumuz var. Bunlardan ilki
“Biçim/Karakter” menü seçeneğini kullanmaktır.
¾
Yazı tipi: Bu seçeneğini kullanarak geçerli yazı tipini, türünü ve boyutunu
belirleyebilirsiniz.
¾
Yazı tipi efektleri: Yazılarınız için renklendirme ve farklı biçimleri bu alandan
belirleyebilirsiniz. Bunların birçoğuna biçimlendirme araç çubuğu üzerinde de
ulaşacağınızı belirtelim.
Resim 3.7:Karakter Özellikleri Ekranı.
¾
¾
¾
Konum: Yazılar için konumlandırmayı buradan yapabilirsiniz. Örneğin alt
simge ve üst simge kullanmak ve dikey yazı yazmak gibi.
Köprü: Metin içinde bir web adresine ya da yerel bir alana bağlanmış yazılar
için ayarları buradan yapabilirsiniz.
Arkaplan: Yazılı alan için arkaplanı buradan belirleyebilirsiniz.
Yukarıda bahsettiğimiz iki konuyu içine alan ayarlamaların birçoğuna herhangi bir
metin üzerinde farenize sağ tıklayıp ulaşabilirsiniz. Bu da bu ayarlara ulaşabileceğiniz diğer
bir yöntem.
3.5.1.1.12. Biçemlerle Çalışmak
OpenOffice.org tümden saran bir özellik olan biçemler tam olarak çalışmayı üst
düzeye çıkaran bir unsur ve herkesin bu özellikten yararlanmasını isteriz.
OpenOffice.org içinde her program için (Writer, Calc, Impress vb.) belirlenmiş hazır
biçemler vardır. Bunlar programın kurulumda gelir ve genel olarak ihtiyaçlarınıza cevap
verecek düzeydedirler.
Ama herkesin kullanım alanına göre değişik ihtiyaçları olabilir. Bu durumda kendi
biçemlerimizi yaratarak çalışmayı daha zevkli hale getirebiliriz. Bunu nasıl mı yapacağız?
Hadi birlikte yapalım :-)
Aşağıda gördüğünüz “Biçemler ve Biçimlendirme” penceresiyle baya haşır neşir
olacağınızı daha önce söylemiştik.
Bu pencere üzerinde listelenen biçemleri alttaki açılır listeleyici ile
gruplandırabilirsiniz. Mesela o an için sadece “Numaralama” için uğraşıyorsanız. Sadece
numaralama biçemlerini görürsünüz.
Yukarıda simgelerle ayrılmış kısım ise çok kullanılan biçemlerin kısayolları olarak
görev yapıyor.
Resim 3.8 : Biçemler ve Biçimlendirme Ekranı.
Yazı içinde kullandığınız başlıklar, düz yazılar, alıntı yazılar ve bunun birçok
karmaşık alandan oluşan bir belge hazırlamaya başladınız diyelim. Bunlar için ayrı ayrı
biçem oluşturalım şimdi... Biçemleri önceden oluşturabileceğiniz gibi, yazınızı yazarken
etkileşimli olarak oluşturabilirsiniz.
3.5.1.2. OpenOffice.org Calc (Hesap Tablosu)
Basit ya da en karmaşık hesaplamalar için Calc'ı kullanabilir, birçok özelliği ve
veritabanı bağlantılarıyla hesaplarınızı kontrol edebilir, çeşitli raporlar, analizler, tablolar, bu
verilere bağlı olarak değişkenlik gösteren çizelge ve grafikler hazırlayabilirsiniz.
Resim 3.9: OpenOffice.org Calc programı genel görünüm.
Genel görünüm olarak 256 sütun ve 65,536 satırdan oluşan hesap tablosu programımız
Calc'da Writer'dan farklı olarak sadece “Formül Araç Çubuğunun” ek olarak yer aldığını
söyleyebiliriz. Elbette, çalışma alanı da Calc'a göre düzenlenmiştir.
Şimdi Calc çalışma alanına ve çalışma mantığına bakalım.
¾
Hücre : Hesap tablosu programlarının temelini oluşturur. Bütün hesaplamalar
hücreler üzerinde yapılır.
Resim 3.10 : Hücre tanımı.
Resim 3.11: Satır ve Sütun
Yukarıdaki resimde “Formül Çubuğu” üzerinde sol tarafta bulunan alanda ise hücre
adresi gösterilir.
¾
Satır : Yatay olarak dizilmiş hücreler bütünü satır olarak adlandırılır. Sol
kenarda bulunan sayılar satır adlarını gösterir.
¾
Sütun : Dikey olarak dizilmiş hücreler bütünü sütun olarak adlandırılır. Üst
kenarda bulunan harfler sütun adlarını gösterir.
Herhangi bir hücreyi seçtiğiniz zaman sol üst köşede gösterilen yer sütun ve satırların
kesiştiği alan olur. Örneğin Resim 3.11’de gördüğünüz üzere seçili alanımız B2'dir. Bunun
anlamı hücremiz B sütunu üstünde 2. satırdadır. Bütün seçilmiş alanlar için bu geçerlidir.
Resim 3.12 : Çalışma sayfaları.
Sayfanın alt tarafında bulunan sayfa seçim alanında sayfalar arasında gezinebilir,
sayfa isimlerini değiştirebilirsiniz.
3.5.1.2.1. Kullanım
Genel olarak biçimlendirme özellikleri Writer'la hemen hemen aynıdır diyebiliriz. O
yüzden biçimlendirme özelliklerine ayrıntılarıyla değinmeyeceğiz. Şimdi Calc ile neler
yapabileceğimize bakalım.
3.5.1.2.1.1.
İşlevler ve Formül Ekleme
Örnek üzerinden giderek Calc'a bir işlem yaptıralım.
A1: 90 ve A2: 45 hücrelerinde belirtilen değerler olsun. Şimdi bu iki sayıyı toplamak
için formül girelim. Formül girmek için işlev sihirbazından yararlanacağız .Buraya ulaşmak
için “Ekle/İşlev” menü seçeneğini ya da formül araç çubuğunda bulunan formül simgesine
tıklayabilirsiniz.
Şimdi karşımıza gelen işlev sihirbazınızı kullanarak işlememizi tamamlayalım.
Resim 3.13 : İşlev ekleme ekranı.
Örneğimizde toplama yapacağımıza göre sol taraftaki listeden “Topla” işlevini
seçiyoruz. Seçimi yaptıktan sonra “İleri” diyoruz. Bir sonraki ekranda değişkenlerimizi
(sayılarımızı) seçiyoruz. Bu seçimi yapmak için imlecimiz “Sayı1” kutucuğu içindeyken
çalışma alanında sayının bulunduğu hücreyi tıklamak yeterli olacaktır. Aynı şekilde ikinci
sayı içinde aynı işlemi yapıyoruz. Yaptığınız işlem alt tarafta formül olarak gözükecektir.
Resim 3.14 : Değişken ekleme ekranı.
İşlemlerimizi bitirmek için “Tamam” düğmesini tıklıyor ve sonucu görüyoruz.
Resim 3.15 : İşlem sonucu.
Genel olarak işlev kullanımının mantığı bu şekildedir. Hangi sonuca ulaşmak
istediğinizi biliyorsanız ve değişkenleriniz de belliyse sonuca bu yolla kolayca
ulaşabilirsiniz.
3.5.1.2.1.2.
Aralık Adlandırma
Daha önceden bahsettiğimiz hücre adlandırması zaman zaman karşılık hale gelebilir.
Bunun için bazı hücrelere veya bir aralığa farklı isim atayabilirsiniz. Yapmanız gereken
atama yapmak istediğiniz hücreyi veya aralığı seçip formül araç çubuğunu sol tarafında
bulunan kutucuğa gerekli adı yazmanızdır.
Resim 3.16 : Aralık adlandırma.
Bu işlemi tek bir hücre içinde yapabilirsiniz.
3.5.1.2.1.3.
Hücre,Satır ve Sütun Ekleme
Çalışma alanı içinde zaman zaman yeni hücre, satır ve sütun eklemenizi gerektiren
durumlar çıkabilir. Bunun için seçili hücre içinde sağ tıklayıp “Hücre ekle” seçeneğini
tıklayabilirsiniz. Bu işlemin tersini yapmak için “Hücre sil” seçeneğini kullanın. Hücre
eklemek için menüden “Ekle/Hücre” seçeneğini de kullanabilirsiniz.
Resim 3.17 : Hücre Ekleme.
Resim 3.18: Satır Ekleme.
Satır eklemek için satır numaralarının üstüne gelip sağa tıklıyoruz. Gelen menü
içinden “Satır ekle” seçeneğini seçiyoruz. Tam ters işlem olarak satır silme işlemini de
buradan yapabilirsiniz. Satır eklemek için kullanabileceğiniz diğer bir seçenekte “Ekle/Satır”
menü seçeneğidir.
Sütun eklemek için sütun harflerinin üstüne gelip sağa tıklıyoruz. Gelen menü içinden
“Sütun ekle” seçeneğini seçiyoruz. Tam ters işlem olarak sütun silme işlemini de buradan
yapabilirsiniz. Sütun eklemek için kullanabileceğiniz diğer bir seçenekte “Ekle/Sütun” menü
seçeneğidir.
Resim 3.20: Sütun Ekleme.
3.5.1.2.1.4.
Sütun Genişliği ve Satır Yüksekliği Belirleme
Sütun genişliği: Üst tarafta bulunan sütun harfinin üstüne gelip sağa tıkladığımızda
karşımıza gelen menüden “Sütun Genişliği” seçeneğini seçiyoruz. Karşımıza gelen iletişim
penceresinden genişliği “cm” cinsinden yazarak işlemimizi bitiyoruz. Bu iletişim
penceresine “Biçim/Sütun/Genişlik” menü seçeneğini tıklayarak da ulaşabilirsiniz.
Satır yüksekliği: Yan tarafta bulunan satır numaralarının üstüne gelip sağa
tıkladığımızda karşımıza gelen menüden “Satır Yüksekliği” seçeneğini seçiyoruz. Karşımıza
gelen iletişim penceresinden yüksekliği “cm” cinsinden yazarak işlemimizi bitiyoruz. Bu
iletişim penceresine “Biçim/Satır/Yükseklik” menü seçeneğini tıklayarak da ulaşabilirsiniz.
3.5.1.2.1.5.
Otomatik Biçimlendirmeyi Kullanma
Otomatik biçimlendirmeye belli biçim özellikleriyle donatılmış hazır tablo şablonu
diyebiliriz. Tablonuzu hızla bir şekilde biçimlendirmek için bu özellik çok işinize
yarayacaktır. Yeni oluşturacağınız bir tabloya uygulayabileceğiniz gibi var olan tablolarınıza
da uygulayabilirsiniz. Şimdi bir örnekle nasıl yapacağımıza bakalım.
İlk olarak tablo alanı olarak kullanacağınız alanı seçin. Daha sonra “Biçim/Otomatik
Biçimlendirme” menü seçeneğini tıklayın.
Resim 3.21 : Otomatik biçimlendirme.
Karşımıza gelen iletişim penceresinden istediğiniz hazır tablo biçimini seçin. Bu
işlemi yaptıktan sonra seçmiş olduğunuz alan belirlediğiniz tablo biçimi ile
biçimlendirilecektir.
3.5.1.2.1.6.
Calc’e Çizelge (Grafik) Ekleme
Zaman zaman bazı verilerin grafik olarak görüntülenmesi gerekir. Bunu da yapmamızı
sağlayan araçların başında çizelgeler geliyor. Şimdi küçük bir örnekle çizelgeleri sayfamıza
nasıl ekleyeceğimize bakalım.
Çizelgeyi oluşturmadan önce çizelgenin verilerini oluşturmamız gerekir. Bu şekilde
bir veri dizisi oluşturduktan sonra ya da var olan bir veri dizisi alanın hepsini seçiyoruz.
Seçili durumdayken “Ekle/Şema” menü seçeneği ile çizelge sihirbazımız ekrana geliyor.
Resim 3.22 : Otomatik çizelge ekleme ekranı.
Bu ekrandaki seçmiş olduğumuz aralığı görüyorsunuz. Diğer dikkat etmemiz gereken
yer ise yapmış olduğumuz tanımlamaların çizelge içinde yer alması için “İlk satır başlıklarını
kullan” ve “İlk sütunu etiket olarak kullan” seçeneklerini işaretlemek olacaktır.
İşaretlemezsek bu tanımlamalar çizelge içine otomatik olarak eklenmez. Sonrasında
uğraşmak zorunda kalabiliriz.”İleri” diyelim.
Resim 3.23 : Çizelge türü belirleme.
Kullanmak istediğimiz çizelge türünü seçelim. Yan taraftaki önizleme kutucuğunu
işaretleyerek ne durumda olduğunuzu görebilirsiniz. “İleri” diyelim.
Sonraki ekranda seçtiğiniz çizelge türüne göre ayarlamalarımızı yapalım. Ya da
olduğu gibi bırakıp “İleri” diyebilirsiniz.
Resim 3.24: Çizelge tanımları.
Bu ekranda gerekli açıklamalarımız yazalım ve “Oluştur” düğmesini tıklayarak
çizelgemizi oluşturalım.
Resim 3.25: Sayfaya eklenen çizelgenin görünümü.
Çok kısa sürede çizelgemizi oluşturup belgemiz içine yerleştirdik. Çizelge için diğer
ayarlara farenizin sağ tuşunu kullanarak erişebilirsiniz.
3.5.1.3. OpenOffice.org Impress (Sunu Hazırlama)
Sunum hazırlamak için bütün araçlar Impress içinde hazır, sadece onları nasıl
kullanacağımızı bilmemiz gerekiyor. Dakikalar içinde bir sunumuzun olabilir. Nasıl mı?
Şimdi beraber öğrenelim. OpenOffice.org Impress ilk açtığınızda karşınıza sunum hazırlama
sihirbazı gelecektir.
Resim 3.26: OpenOffice.org Impress sunu oluşturma sihirbazı.
Bu ekranda bize sunulan üç seçenekten birini seçelim. Biz sunumuzu hazırlamak için
“Boş Sunu” seçeneğini seçtik. Daha sonra ileri düğmesine tıklayalım.
Resim 3.27 : Sunum Oluşturma sihirbazı tasarım seçim ekranı.
İkinci ekranda sunumuz için arkaplanı seçerek sunumuzun şeklini seçiyoruz. Burada
sunumuzu yapacağınız ortama göre bazı özel seçenekler verilmiş. Burayı amacımıza göre
seçip ilerleyelim.
Resim 3.28 : Sunum türü belirleme ekranı.
Üçüncü ekrana geldiğimizde sunumuzda kullanmak istediğimiz efekt varsa onu
seçiyoruz. Ekran geçiş hızlarını da buradan ayarlayabilirsiniz. Sununuzun da geçişleri elle
yapacaksanız “Varsayılan” seçeneğini işaretli kalması gerekir. Otomatik geçiş isterseniz
“Otomatik” seçeneği altındaki süreleri ona göre ayarlamanız gerekir. Oluştur'u tıklayarak
sunumumuzu oluşturacağımız ekrana ulaşabiliriz.
Ana çatımızı oluşturduktan sonra bazı küçük ayarlamalar ve içeriği girmek kalıyor.
Onları da hep birlikte yapalım.
3.5.1.3.1. Çalışma Alanı ve Görünümler
Resim 3.29’da gördüğünüz gibi Impress çalışma alanı üçe ayrılmıştır. Soldaki alanda
slaytların sıralandığı alan vardır. Slaytlar arasında geçiş yaparken bu alandan yararlanıyoruz.
Ortadaki alan etkin olarak işlem yaptığımız alan diyebiliriz. Bu alan Writer ve Calc'da
bulunan çalışma alanına denk düşüyor. Yaptığımız işlemlerin sonuçlarını burada görüyoruz.
Sağ tarafta bulunan alan ise slaytlarımıza renk katacak hazır şablonları ve düzenleri
barındırıyor.
Çalışma alanın üstünde yer alan görünüm seçeneklerine de zaman zaman ihtiyacımız
olacak. Konu içinde bu alanları daha ayrıntılı açıklamaya çalışacağız. Şimdi kısaca
değinelim.
¾
Normal: Genel olarak çalışma yapılan alandır.
¾
Anahat: Sunum başlıklarının sıralandığı görünümdür.
¾
Notlar: Not eklemek için kullanacağınız görünümdür.
¾
Sayfa sıralayıcısı: Sunum sayfalarının sıralandığı görünüm şeklidir.
¾
Slayt Görünümü: Sunumuzu izleyebileceğiz görünümdür.
Resim 3.29 : OpenOffice.org Impress genel görünümü.
3.5.1.3.2. Slaytlarla Çalışma
Sunumuzu hazırlarken slaytlarla yoğun olarak çalışırız. Yeni sayfalar ekleriz, sileriz,
özel animasyonlar ekleriz. Bunları yapmak için sol tarafta bulunan alanı kullanacağız.
Burada neler yapabileceğimize bakalım.
¾
Yeni Slayt Ekleme: Slaytı eklemek istediğinizin yerin üstündeki slayta sağ tıklayıp
“Yeni Slayt” seçeneğini seçtiğinizde yeni bir slayt sayfası eklenecektir. Diğer bir
seçenekte “Ekle” menüsünden Slayt... Menüsünü seçmektir.
¾
Slayt Silme: Silmek istediğiniz slaytın üstünde sağa tıklayıp “Slaytı Sil” seçeneği ile
slaytı silebilirsiniz.
¾
Yeniden Adlandır: Slaytınızı yeniden adlandırmak isterseniz işlem yapmak
istediğiniz slaytın üstüne sağa tıklayıp “Slaytı Yeniden Adlandır” seçeneğini seçin.
Bu menü altında bulunan diğer seçenekler, slaytımıza ekleyeceğimiz düzenleri ve
animasyon seçeneklerini sağ tarafta açmaya yarıyor. O kısma daha ileride değineceğiz. Slaytı
daha ileride işe yarayabilir diyerek saklamak isterseniz “Slayt Gizle” seçeneğini
kullanabilirsiniz.
¾
Resim ve Şekil Ekleme : Bir slayt sadece metinlerden oluşmaz. Zaman zaman
sunumu güçlendirecek bazı araçları kullanırız. Bunun için alt tarafta bulunan çizim
araç çubuğundan yararlanacağız.
Resim 3.30 : Çizim araç çubuğu.
Araç çubuğu kendi arasında bölümlere ayrılmış durumda, ilk bölümde şekiller
bulunuyor. İkinci bölümde ise resimlere yer verilmiş. Son kısımda ise bunlarla ilgili
ayarlamaları yapacağınız birkaç seçenek yer alıyor. Şimdi bu alanda “Yazı sanatı” seçeneği
kullanarak bir örnek yapalım.
Yazı sanatını eklemek için çizim araç çubuğu üzerinde “A” düğmesine tıklıyoruz.
Karşımıza gelen yazı sanatı seçeneklerinden birisini seçerek “Tamam” diyoruz.
Resim 3.31: Impress Yazı Sanatı.
Şimdi yazı sanatımız slaytımızın içine yerleşti. Yapmamız gereken yazıyı
değiştirdikten sonra özelleştirip işlemlerimizi tamamlamak. Yazıyı değiştirmek için yazı
sanatı üzerinde çift tıklayalım. Ortaya halen bulunan yazı gelecektir. Buraya istediğimiz
yazıyı yazıyoruz.
Şimdi yazı üzerinde özelleştirmelerimiz yapabiliriz. Özelleştirmelerimizi yapmak için
yazı sanatı üzerinde sağ tıklayıp karşımıza gelen menüden “Çizgi, Alan , Metin, Konum ve
Boyut seçeneklerini kullanarak yapabilirsiniz. Örneğimizi biraz özelleştirdik, bakalım nasıl
gözüküyor.
Resim 3.32 : Yazı sanatı örneği.
Siz de istediğiniz şekilleri buradaki seçenekleri kullanarak elde edebilirsiniz.
3.5.1.3.3. Animasyonlarla ve Geçişlerle Çalışma
Slaytlarımızı daha renkli hale getirmek için geçişlerimize ve yazılarımıza
animasyonlar ekleyebiliriz. Siz eklemediğiniz sürece bu animasyonlar aktif olmayacaktır. Bu
yüzden bunları bizim ayarlamamız gerekiyor. Şimdi nasıl yapacağımıza bakalım.
İlk olarak sayfa geçişlerine animasyon ekleyelim. Sol taraftaki alandan geçiş
uygulayacağınız slaytı seçin. Daha sonra sağ tarafta bulunan alandan “Slayt Geçişi”
düğmesini tıklayın.
Resim 3.33 : Impress slayt geçişi.
Slayt geçişi altında bulunan seçeneklerden istediğinizi seçebilirsiniz. Herhangi bir
seçeneğe tıkladığınızda nasıl bir geçiş olacağı önizleme ile çalışma alanı içinde
gösterilecektir.
Resim 3.34 : Impress slayt geçişi örneği.
Yaptığımız bu işlem sadece seçili slayt için geçerlidir. Eğer bütün geçişleri bu şekilde
ayarlamak isterseniz. Aşağıda bulunan “Bütün slaytlara uygula” düğmesine basabilirsiniz. O
alanda bulunan diğer seçenekleri de ihtiyacınıza göre değiştirebilirsiniz.
Sayfalar arasına animasyon koyabileceğiniz gibi yazılar ve diğer nesneler içinde
animasyon koyabilirsiniz. Bunun için yapmamız gereken, animasyon koyacağımız nesneyi
seçip, sağ tarafta bulunan özel animasyon bölüme gelmek olacaktır.
Daha sonra “Ekle” düğmesiyle istediğimiz seçeneğini seçip işlemenizi
tamamlayabilirsiniz.
3.5.1.3.4. Düzenlerle Çalışma
Slaytlarda değişik yerleşim düzenleri kullanırız. Bunlar herkesin ihtiyacına göre
değişebilir. Var olan yerleşim düzenlerinden yararlanmak için sağ tarafta olan “Düzenler”
seçeneğinden yararlanabilirsiniz. Bunun için yapmamız gereken düzeni uygulayacağımız
sayfayı seçmek ve istediğimiz düzene tıklamaktır.
Eğer istediğiniz gibi bir düzen yoksa ve kendi istediğinize göre düzen oluşturmak
isterseniz, ilk seçenek olan boş düzeni tıklayabilirsiniz. Bundan sonra istediğiniz nesneleri
ekleyip istediğiniz gibi bir slayt oluşturabilirsiniz.
Resim 3.35 : OpenOffice.org Impress düzen seçenekleri.
OpenOffice.org Impress'te sunum oluşturmayı ve bazı ayarlamaları göstermeye
çalıştık. Kullanımının kolay ve anlaşılır bir yapı da olduğunu gördünüz. Öğrendiğimiz genel
kullanım özelliklerini de kullanarak güzel sunumlar hazırlayacağınızı söyleyebiliriz.
3.5.1.4. OpenOffice.org Base (Veritabanı)
OpenOffice.org Base'i ilk açtığımızda bize rehberlik edecek bir sihirbazla
karşılaşıyoruz.
Resim 3.36 : OpenOffice.org Base veritabanı sihirbazı.
Bu ilk ekranda ne yapmak istiyorsanız ona uygun bir seçenek seçmelisiniz. Biz yeni
bir veritabanı oluşturmak istediğimiz için ilk seçeneği seçiyoruz.
İkinci seçeneği daha önce Base ile oluşturulmuş ve kullandığınız veritabanlarını
açmak için kullanabilirsiniz.
Üçüncü seçeneği ise Base dışında kullandığınız bir veritabanına bağlantı
yapabilirsiniz.
Şimdi “Sonraki” diyerek devam ediyoruz.
Resim 3.37 : Veritabanı sihirbazı ikinci adım.
Karşımıza gelen ikinci ekranda veritabanımıza neler yaptırmak istediğimizi
ayarlıyoruz. Yukarıdaki seçeneği “Evet” olarak seçiyoruz ki sihirbaz veritabanımızı
kaydetsin.
Alttaki seçeneklerimizin işaretli olmasına dikkat etmek işleri biraz daha
kolaylaştıracaktır.
Şimdi “Bitir” düğmesine tıklayalım ve veritabanımızı oluşturalım.
Resim 3.38 : Veritabanı kaydetme ekranı.
Veritabanımıza vereceğimiz ismi yazalım ve “Kaydet” düğmesine tıklayalım. Ayrıca
bu ekrandan kaydetmek istediğiniz yeri değiştirebilirsiniz.
Kaydet düğmesine tıkladıktan sonra önceki ekran “Veritabanını düzenlemek için aç”
ve “Tablo sihirbazı kullanarak tablo yarat” seçenekleri işaretli olduğu için veritabanımız
açılacak ve Tablo oluşturma sihirbazı karşımıza gelecektir.
Şimdi karşımızda duran “Tablo Oluşturma Sihirbazı” ile tablomuzu oluşturalım.
Bunun için küçük bir senaryo yapalım. Diyelim ki satın aldığınız malzemelerin kayıtlarını
tutan bir veritabanı oluşturmak istiyorsunuz.
Buna göre şimdilik bize hazır sunulan seçenekleri kullanacağız. Kategori kısmında
“iş” seçeneğini seçiyoruz. Burada bulunan alanlardan işimize yarayanları seçelim.
Resim 3.39 : Tablo oluşturma sihirbazı.
Resim 3.40 : Tablo oluşturma sihirbazı alan belirleme ekranı.
Şimdi “İleri” diyoruz ve ayarlamalarımıza devam ediyoruz.
Resim 3.41 : Tablo sihirbazı tür ve biçem belirleme ekranı.
Şimdiki ekranda belirlediğimiz alanların türlerini ve biçim özelliklerini
belirleyeceğiniz. Burada bir tablonun özelliklerini açıklayalım. Diğerlerini de buna göre
yapabilirsiniz.
¾
Alan adı: Alanın adını bu kısmında belirleyebilirsiniz. Değiştirmezseniz ilk hali
kalacaktır. İstediğinize göre değiştirebilirsiniz.
¾
Alan türü: Alanda tutulacak veriye öngörülen türü belirlemenize yarar. Buna
göre alttaki “Uzunluk” değerinin de değiştiğini görebilirsiniz.
¾
Otomatik değer: Seçtiğiniz alanın belli bir düzende otomatik olarak değer
atlamasını isterseniz “Evet” olarak işaretlemelisiniz. Örneğin; 1,2,3,4.... gibi
gitmesi için.
¾
Girdi gerekli: Bir alanın boş bırakılmasını engellemek için “Evet” olmasına
dikkat etmelisiniz.
Alan kutucuğunun altında bulunan + ve – düğmeleri ile yeni alanlar belirleyip
çıkarabilirsiniz. Şimdi yeni bir alan ekleyelim.
Resim 3.42 : Anahtar belirleme ekranı.
Bu ekranda birincil anahtarımızı belirliyoruz. Birincil anahtar tablonuzda ilk dikkate
alınacak alandır. Tablonuzu neye göre şekillendirmek istediğinize karar verin ve isteğiniz
alanı seçin. Buna da karar verdikten sonra “ileri” diyoruz.
Şimdi tablomuzu oluşturmak için son ekrandayız. Bu kısımda tablomuzu oluşturarak
form tasarıma geçelim. Diğer iki seçeneğini kullanarak tablomuza veri girebilir veya tablo
tasarımını seçebilirsiniz.
Son seçeneği işaretlediğimize göre devam edelim. Şimdi karşımıza Form sihirbazı
gelecek.
Resim 3.43 : Form sihirbazı.
Listeden tablomuzu seçiyoruz ve formda kullanmak istediğimiz alanları belirliyoruz.
Resim 3.44 : Form sihirbazı alt form belirleme ekranı.
Eğer alt form ekleme isterseniz “Alt Form Ekle” seçeneği etkin hale getirmelisiniz. Bu
seçenek ana formun altında aynı alanları kullanarak farklı bir form elde etmenizi sağlar.
Kullanıp kullanmamayı ihtiyacınıza göre karar vermelisiniz. Daha sonra da ekleyebilirsiniz.
Biz eklemeden devam ediyoruz.
Resim 3.45 : Form sihirbazı denetim belirleme ekranı.
Şimdi formda kullanmak istediğimi denetim biçimi seçelim. Bize sunulan 4 seçenek
var. Biz ilk seçeneği seçtik.
Resim 3.46 : Form sihirbazı veri girdisi hareketi belirleme ekranı.
Bu ekranda veritabanına verilerimizi girerken formun nasıl davranması gerektiğini
belirliyoruz. Bu formu sadece veri girmek amacıyla kullanacaksak ilk seçeneği seçmek daha
iyi olacaktır. Diğer seçenek, verilerinizi girerken öteki verilerinizi görmek isterseniz daha
yararlı bir seçim olacaktır.
Bir sonraki seçeneğimizde form alanın biçemini belirliyoruz. Hoşunuza giden hazır
seçeneklerden birisini seçebilirsiniz.
Son ekranda Forma bir isim verip, verilerimizi girmeye başlayalım.
Resim 3.47 : Form sihirbazı form ismi belirleme ekranı.
Bir süre bekledikten sonra formumuz veri girişi için karşınıza gelecektir.
Resim 3.48 : OpenOffice.org Base formu.
Bu form aracılığıyla verilerinizi kolayca girmeye başlayabilirsiniz. Kaydetme ve
silme gibi işlemlerde “Form Kılavuz” araç çubuğundan yararlanabilirsiniz.
Gördüğünüz gibi dakikalar içinde Base ile bir veritabanı oluşturduk ve birkaç tane de
veri girdik. Gerçekten kolay bir şekilde işlemlerimizi bitirdik. Tabi ki yaptığımız tablo
tasarımını ve konuyu basite indirgedik. Sizler kendi ihtiyacınıza göre daha karmaşık yapılar
kullanabilirsiniz. Şimdi girdiğimiz bu verilere nasıl göz atacağımıza bakalım.
3.5.1.4.1. Sorgu Sihirbazıyla Çalışma
Veritabanına girdiğimiz verileri sorgulama yaptırarak istediğimiz verilere kolayca
ulaşabiliriz. Şimdi “Sorgular/Sihirbaz kullanarak Sorgu Yarat” seçeneğini tıklayalım.
Resim 3.49 : Sorgu sihirbazı.
Sorgu için kullanacağımız alanları seçelim. Sonraki ekranda sıralama düzenin hangi
alana göre olacağını belirleyelim ve “İleri” diyelim.
Resim 3.50 : Sorgu sihirbazı koşul belirleme ekranı.
Bu kısımda neye göre sorgu yaptıracağımızı belirliyoruz. Biz AlacakKimliği
alanından “100” koduyla satın aldığımız malzemelerin sıralanmasını istedik. Şimdi “İleri”
diyelim. Sonraki ekran seçmiş olduğumuz koşula göre özet gösterim yapabileceğiniz
seçenekler bulunuyor. Bütün değerleri göstermek isterseniz ilk seçenek seçili kalmalıdır.
“İleri” düğmesine tıkladığımızda var olan alanlara takma adlar belirleyebilirsiniz.
Resim 3.51 : Sorgu sihirbazı sorgu ismi belirleme ekranı.
Son ekrana geldiğimizde sorgunu ismini belirleyip “Bitir” düğmesine bakalım ve
sorgu sonuçlarını hep birlikte görelim.
Resim 3.52 : Sorgu ekranı.
Sorgumuzu başarılı bir şekilde yaptık ve istediğimiz değerler karşımızda duruyor.
OpenOffice.org Base ile basit ve kolayca işlemlerimizi bitirdik. Ana pencereden daha
önceden kaydettiğiniz form, tablo, sorgu gibi işlemleri düzenleyebilir ve ihtiyacınız
olduğunda tekrar açabilirsiniz.
RPM PAKETLERİ ve RPM KOMUTU
İşletim Sisteminde Yeni Program Kurma, Program
Güncelleme, Program Kaldırma
Red Hat’ın Linux’e en önemli katkılardan biri RPM’dir. RPM Linux programların
kurulmasını kolaylaştırmış ve basitleştirmiştir. RPM’den önce Linux sistem yöneticileri
yazılım kurmak için TAR dosyalarını indirip program kodlarını derlemek zorunda
kalıyorlardı.
RPM üç parçadan oluşur:
¾
Paket dosyaları
¾
RPM veri tabanı
¾
rpm komutu.
Aşağıdaki kısımlarda bu parçaları incelenecektir.
4.1.1. Paket Dosyaları
Paket dosyaları TAR dosyaları gibi kurulacak dosyaları içermektedir. Ama bunun
dışında kurulacak uygulama ya da servis hakkında bilgi içerirler. Mesela paket dosyası
kurulacak program özelliklerini, gerekli kütüphaneleri ve varsa başka hangi paketlerin kurulu
olması gerektiğini belirtir. Bu bilgiler dependency information adını taşır. Pakette bulunan
diğer bilgiler aşağıdaki gibidir :
¾
Paket adı ve versiyonu.
¾
Kuruluş tarihi.
¾
Paket tanımlaması.
¾
Her içerdiği dosyanın büyüklüğü.
¾
Paketi hazırlayan kişinin veya kuruluşun kimliği.
¾
Dahil olduğu paket grubu.
Paket dosyasının adı özel bir yapıya sahiptir: paket-versiyon-küçük sürüm-mimari.rpm
burada :
¾
Paket dosyanın içerdiği paket adı.
¾
Versiyon paket versiyonu.
¾
Küçük sürüm paket küçük sürüm numarası.
¾
Mimari paketin tasarlandığı bilgisayar mimarisi.
Örnek 4.1: gnorpm-0.95.1-2.62.i386.rpm dosyanın versiyonu 0.95.1, küçük sürüm
2.62 olan gnorpm adındaki paket i386 (Intel 386) için hazırlanmıştır.
4.1.2. RPM Veritabanı
Paket kurulmadan önce, hakkındaki bilgiler /var/lib/rpm’de bulunan RPM veri
tabanına işlenir. Bir programı kurmak veya kaldırmak istediğinde - RPM paket dosyasını ve
RPM veri tabanını kontrol eder. Böylece RPM, komutun sistemi çelişkili bir durumda
bırakıp bırakmayacağına karar verir. Eğer öyleyse RPM komutu durdurup kullanıcıya uyarı
gönderir.
4.1.3. RPM Komutu
Bu kısım RPM’in çalıştırılabilen parçasıdır. rpm komutunun uyguladığı işlemler: ·
¾
Paket kurulumu.
¾
Paket güncellemesi.
¾
Paket kaldırılması.
¾
RPM veri tabanın sorgulanması.
¾
Paket dosyasının sorgulanması.
¾
Kaynak kodundan paket oluşturulması.
¾
Paket onaylanması.
¾
Paket dosyasının onaylanması.
Paket kurulumu, güncellenmesi veya kaldırılması sırasında, rpm komutu sistemin
uygun durumda kalması için bir kaç kontrol yapar.
Örneğin paket kurulumunda rpm şunları kontrol eder:
¾
Paket kurulması için diskte yeterli yer var mıdır?
¾
Paket kurulabilmesi için gerekli kütüphane ve paketler kurulu mudur?
¾
Paket daha önce kurulmuş mu veya kurulum sırasında dosya çakışması olacak
mı?
Özel durumlarda özel anahtarlarla bu kontroller aşılabilmektedir.
4.1.4. Paket Ekleme
Paket kurmak için gerekli komut şu formundadır:
rpm -i paket_dosya_adı
Buradaki paket_dosya_adı kurmak istediğiniz paketin adı. Eğer bir kaç paket kurmak
istiyorsanız paket ismini sıralayabilirsiniz ya da * karakteri kullanabilirsiniz. Örneğin:
rpm -i gnorpm-0.95.1-2.62.i386.rpm gnome-linuxconf-0.23-1.i386.rpm
Bu komutla gnorpm ve gnome-linuxconf paket kurulacaktır. İlk önce kurulum şartları
kontrol edilir. Eğer bu şartlardan biri tutmaz ise komut hiçbir paketi kurmaz.
Bir çok sistem yöneticisi -v ve -h parametrelerini kullanır,
Örnek 4.2:
rpm -ivh gnorpm-0.95.1-2.62.i386.rpm gnome-linuxconf-0.23-1.i386.rpm
Buradaki -v parametresi ile rpm kurulumunun durum bilgilerini verir, -h parametresi
ile kurulumun ilerlemesini 50 tane # işareti ile izlenebilir.
Örnek 4.3 :
[root@host /root]# rpm -ivh gnorpm-0.95.1-2.62.i386.rpm gnome-linuxconf-0.231.i386.rpm
Preparing... ########################################### [100%]
1:gnorpm ########################################### [50%]
2:gnome-linuxconf ########################################### [50%]
Bu parametrelerin (-vh) avantajlarından birisi çok net bir şekilde paket kurulup
kurulmadığını belli ederler. Örneğin birkaç paket aynı zamanda -vh parametreleri ile
kurulduğunda sistem paketlerinden birisi zaten kurulu olduğunu hatasını vererek işi durdurur
ise paketlerden hangileri kurulabildiğini öğrenebiliriz.
RPM’in başka olanaklarından biri paketlerin FTP sunucularından kurulabilmesidir.
Doğrudan anonim bir FTP sunucusundan paketi kurabilmek için:
ftp://sunucu/yol
şeklindeki bir tanım yapılır, burada sunucu FTP’nin sunucu adı veya IP adresi olabilir
ve yol sunucudaki paketin bulunduğu dizinin yoludur. Örnek olarak anonim bir FTP
sunucusundan paketi kurmak için çalıştırılacak komut:
rpm -ivh ftp://ftp.itu.edu.tr/1/redhat/i386/RedHat/RPMS/gnorpm-0.95.1-2.62.i386.rpm
Eğer anonim olmayan bir FTP sunucusuna bağlanmak gerekiyorsa:
ftp://kullanıcı:şifre@sunucu/yol
şeklinde bir tanım yapılır, burada kullanıcı ve şifre bu sunucuya bağlanma izni olan bir
kullanıcı adı ve ona ait şifresidir. Eğer sunucu standart bir portun üzerinde çalışmıyor ise
tanım aşağıdaki gibi yapılmalıdır:
ftp://kullanıcı:şifre@sunucu:port/yol
burada port sunucunun dinlediği port numarası.
Red Hat Linux 6.2 ve daha üst versiyonları dosya adı bilgisinde *,? gibi karakter
kullanımını desteklemektedir. Örnek olarak:
rpm -ivh ftp://ftp.itu.edu.tr/1/redhat/i386/RedHat/RPMS/gnorpm*
4.1.5. Paket Kaldırma
Kurulmuş bir paketi kaldırmak için:
rpm -e paket_adı
şeklinde bir komut çalıştırılmalıdır, burada paket_adı kaldırılacak paketin ismidir. Bu
komuttaki -e parametresi rpm komutuna paket silinmesi gerektiğini belirtir. Aynı zaman
paketi kaldırmak için --uninstall seçeneği kullanılabilir.
Rpm komut , rpm paketi sistemden silerken kaldırılan dosyaların başka paketler
tarafından kullanılıp kullanılmadığını araştırır. Eğer kullanılıyorsa işlemi durdurup sistem
yöneticisine uyarı verir. Zorunlu durumlarda bu kontrol aşılabilir, bunun için --nodeps
seçeneği kullanılmalıdır.
Paket sistemden kaldırılırken rpm komutu kurulumdan sonra değişen konfigürasyon
dosyalarını saklar.
4.1.6. Güncelleme
Zaman zaman paketlerin yeni versiyonları çıkmaktadır. Çoğu zaman yeni paketler
yamaları ve yeni önemli özellikleri içerir. RPM ile bir paketin paketin yeni versiyonunu
kurmak için:
rpm -Uvh paket_adı
şekildeki komut kullanılır, burada paket_adı yeni versiyonu içeren paket ismidir.
Diğer parametrelerden -v ve -h Paket Ekleme bölümünde anlatılmıştır, -U bayrağı rpm
komutuna kurulmuş eski versiyonunu kaldırılması ve yeni paketin kurulması gerektiğini
belirtir. RPM eski paketi kaldırırken tüm konfigürasyon dosyalarını isimlerine .rpmsave
ekleyerek saklar. Eğer paket sistemde bulunmayan bir paket ise rpm komutu bu paketi de
kuracaktır. Bu nedenle bir çok sistem yöneticisi -i yerine -U kullanırlar; rpm -U paket
sistemde kurulu değilse kurar, eğer mevcut ise günceller.
Paket güncelleme ile ilgili başka bir parametre -F parametresidir, bu bayrak sadece
sistemde kurulu olan paketlerin güncellenmesini sağlar. Bu parametre ile sistemi hep güncel
tutmak çok kolaylaşmıştır. Örneğin bir FTP sunucusunda bir çok paketi yeni sürümleri
bulunsun,sunucuda bulunan paketlerin listesi verilerek rpm -F komutu çalıştırılır ise sistem
sadece kurulu olan paketleri günceller.
Örnek 4.4:
rpm -Fvh gnorpm-0.95.1-2.62.i386.rpm
4.1.7.
Kurulmuş Paketlerin Yenilenmesi
RPM, kurulu paketin versiyonunu ve küçük sürümünü öğrenmek için kullanılabilir,
bunun için:
rpm -q paket_adı
şeklinde komut çalıştırılmalıdır. Burada paket_adı kurulmuş paketin ismi. Bu komutun
çıkışı paket ismini, versiyonunu ve küçük sürüm numarasını verir.
Örnek 4.5:
# rpm -q gnorpm
gnorpm-0.95.1-2.62
Sistemde kurulu olan tüm paketlerin listesini ve versiyonlarını ve küçük sürüm
numaralarını öğrenmek için
rpm -qa
komutu çalıştırılmalıdır.
4.1.8. Dosyanın Bulunduğu Yeri Belirlemek
RPM kullanılarak herhangi bir dosyanın hangi pakete ait olduğunu öğrenilebilir. Bunu
gerçekleştirmek için:
rpm -qf dosya_adı
komutu çalıştırılmalıdır, burada dosya_adı paketi belirlenecek dosyanın tam yolu
içeren ismidir. Örnek olarak /etc/inittab dosyasının bulunduğu paketi belirlemek için:
# rpm -qf /etc/inittab
initscripts-5.00-1
4.1.9. Paket İçeriklerinin Sorgulanması
rpm komutu ile paketlerin sorgulanması yapılabilmektedir. Sorgulama ile
yapılabilecekler:
¾
Paket tanımın gösterilmesi
¾
Paketin içerdiği dosyaların listelenmesi
¾
Paket kurulum veya kaldırılma işlemlerin sırasında çalıştırılan scriptlerin
gösterilmesi
¾
Paket içeriklerin bütünlüğü doğrulaması
Aşağıdaki bölümlerde bu işlemlerin gerçeklenmesi ele alınmıştır.
4.1.9.1. Paket Tanımının Gösterilmesi
Sistemde kurulu olan bir paketin tanımın gösterilmesi için:
rpm -qi paket_adı şeklindeki bir komut çalıştırılmalıdır. Burada paket_adı kurulmuş
paketin ismidir. Örnek olarak gnorpm paketin tanım aşağıdakine benzer bir şekilde olacaktır.
Örnek 4.6 :
# rpm -qi gnorpm
Name : gnorpm Relocations: (not relocateable)
Version : 0.95.1 Vendor: Red Hat, Inc.
Release : 2.62 Build Date: Tue Oct 10 22:27:54 2000
Install date: Thu Oct 12 09:21:57 2000 Build Host: porky.devel.redhat.com
Group : Applications/System Source RPM: gnorpm-0.95.1-2.62.src.rpm
Size : 776600 License: GPL
Packager : Red Hat, Inc.
Summary : A graphical front-end to RPM for GNOME.
Description :
Gnome-RPM is a graphical front-end to to the RPM Package Manager
(RPM). Gnome-RPM is similar to Glint, but is written using the GTK+
widget set and the GNOME libraries. Gnome-RPM is currently in
development, so some features are missing, but you can currently
query, install, upgrade, uninstall and verify packages using a GUI
interface.
Eğer paket dosyası kullanarak paketin tanımı gösterilmesi isteniyor ise:
rpm -qip paket_dosya_adı şeklinde bir komut çalıştırılmalıdır. Burada paketdosya_adı paket dosyasının tam yolunu içeren ismidir. -p bayrağı paketin dosyasını
sorgulamasını sağlar.
4.1.9.2. Paketin İçerdiği Dosyaları Listeleme
Paketin içerdiği dosyaları listelemek için:
rpm -ql paket_adı şeklinde bir komut çalıştırılmalıdır. Burada paket_adı kurulmuş
paketin ismidir. Örnek olarak gnorpm paketin listelenmesinde komutun ekrana verdiği çıktı
şu şeklidedir:
Örnek 4.7 :
[root@atlas /root]# rpm -ql gnorpm
/usr/bin/gnorpm /usr/bin/gnorpm-auth /usr/doc/gnorpm-0.95.1
/usr/doc/gnorpm-0.95.1/AUTHORS /usr/doc/gnorpm-0.95.1/NEWS
/usr/doc/gnorpm-0.95.1/README /usr/etc/pam.d/gnorpm-auth
/usr/etc/security/console.apps/gnorpm-auth /usr/share/gnome/apps/System
/usr/share/gnome/apps/System/gnorpm.desktop
/usr/share/gnome/help/gnorpm/C/find-win.html
/usr/share/gnome/help/gnorpm/C/gnorpm.html
/usr/share/gnome/help/gnorpm/C/index.html
/usr/share/gnome/help/gnorpm/C/install-win.html
/usr/share/gnome/help/gnorpm/C/main-win.html
/usr/share/gnome/help/gnorpm/C/other-uses.html
/usr/share/gnome/help/gnorpm/C/preferences-win.html
/usr/share/gnome/help/gnorpm/C/query-win.html
/usr/share/gnome/help/gnorpm/C/rpmfind-win.html
...
Paketin kurulum dosyası listelenmesi isteniyor ise: rpm -qlp paket_dosya_adı şeklinde
bir komut çalıştırılmalıdır. Burada paket-dosya_adı paket dosyasının tam yolunu içeren
ismidir. -p bayrağı paketin dosyasını sorgulamasını sağlar.
4.1.9.3. Scriptlerin Gösterilmesi
Kurulum scriptlerini gösterilmesini sağlamak için:
rpm -qp -scripts paket_dosya_adı şeklinde bir komut çalıştırılmalıdır. Bu komutun
çıktısı aşağıdakine benzer şeklindedir.
Örnek 4.8:
# rpm -qp --scripts wget-1.6-2.i386.rpm
postinstall script (through /bin/sh):
/sbin/install-info /usr/share/info/wget.info.gz /usr/share/info/dir
preuninstall script (through /bin/sh):
if [ "$1" = 0 ]; then
/sbin/install-info --delete /usr/share/info/wget.info.gz
/usr/share/info/dir
fi
4.1.9.4. Paket İçeriğinin Doğrulanması
RPM sistemde kurulmuş bir paketin her dosyası için kayıt tutar. Bu kayıt dosya
büyüklüğünü, sahibini, izinleri ve başka bilgileri tutar. Eğer dosya bir sembolik link ise kayıt
link edilmiş dosyanın yolunu tutar, eğer bir aygıt dosyası ise kayıt major ve minor aygıt
numaralarını içerir.
Bu kayıtlar kullanılarak hangi dosya, eğer varsa, kurulumdan sonra değişmiştir, bunun
için:
rpm -V paket_adı şeklinde bir komut çalıştırılmalıdır. Bu komutun çıktısı her bir
değişen dosya için bir satır içerir. Bu satır üç alandan oluşur:
¾
Durum, dosyanın durumunu belirtir. Tablo 1’de durum bayrakları açıklanmıştır.
¾
Konfigürasyon, konfigürasyon dosyaları satırında c bulunur.
¾
Dosya adı, dosyanın tam yolunu ve ismini içerir.
Kod
.
5
D
G
L
M
S
T
U
Açıklama
Değişiklik yok
MD5 checksum değişmiştir
Aygıt major ya da minor numarası değişmiştir
Sahip grup değişmiştir
Link yolu değişmiştir
Dosya biçimi değişmiştir
Dosya büyüklüğü değişmiştir
Değiştirilme zamanı değişmiştir
Sahip kullanıcı değişmiştir
Tablo 4.1 : Paket durum bayrakları.
Örnek 4.9:
# rpm -V setup
S.5....T c /etc/exports
S.5....T c /etc/host.conf
S.5....T c /etc/hosts.allow
S.5....T c /etc/hosts.deny
S.5....T c /etc/printcap
S.5....T c /etc/profile
S.5....T c /etc/services
Eğer dosyaların bazıları bozulmasından şüpheleniyor ise paketin kurulum dosyası
incelenebilir:
rpm -Vp paket_dosya_adı
şeklindeki bir komut çalıştırılmalıdır. Burada paket_dosya_adı paketin kurulum
dosyanın ismidir.
Tüm kurulmuş paketlerin durumlarını listelemek için:
rpm --verify –a komutu çalıştırılmalıdır.
4.1.10. Kaynak RPM Paketlerinin Kurulması
Sıradan RPM paketleri binary çalıştırılabilecek dosyaları içerir. Aynı zaman RPM
kaynak kodlarını içeren kaynak RPM dosyalarını destekler. Bu kaynak RPM dosyaları
kurulumdan önce derlenmeleri gerekir. Kaynak RPM dosya isimleri aşağıdaki şekildedir:
paket_adı-versiyon-küçük_sürüm.src.rpm
Görüldüğü gibi sıradan bir RPM paket isminden sadece sonunda .rpm yerine .src.rpm
yazılmaktadır. Bir kaynak RPM paketi sisteme kurulduğu zaman dosyalar /usr/src/redhat
dizinin altına kurulur, bu dizinin içerdiği altdizinleri şöyle:
¾
BUILD : Kaynak RPMler bu dizinde açılır.
¾
RPMS : Kaynak RPM derlendiğinde yeni RPM paketi burada saklanır. Bu dizin her
mimari için ayrı bir altdizin içeriyor.
¾
SOURCE : Kaynak kod, genelde TAR dosyası olmaktadır, ve yamalar bu dizinde
bulunur.
¾
SPECS : Bu dizin SPEC dosyaları içerir, SPEC dosyaları paket kaynaklar listelerini,
yamaları, derlenme-zaman seçenekleri, kurulum sonrası adımları ve paket bilgilerini
içerir.
¾
SRPMS : Yeni oluşturulan kaynak RPM dosyaları bu dizinde saklanır. Kaynak
RPM’den binary RPM kurmak için SPEC dizinine geçilir ve aşağıdaki komut
çalıştırılır:
rpm -bb spec_dosya
burada spec_dosya oluşturulacak RPM paketine denk bir ismi olan SPEC dosyasıdır.
Bayrak
Açıklama
-bp
Hazırlama aşaması: kaynağı açar ve yamalar
-bl
Dosyaların aşaması: dosyaların mevcut olmalarının kontrolü
-bc
Oluşturma aşaması: kurulum hazırlanması
-bb
Binary paket oluşturulması
-ba
Binary ve kaynak paketlerin oluşturulması
--test
SPEC dosyasının sentaksının kontrolü
Tablo 4.2 : rpm komutun kaynak dosyaları ile ilgili bayraklar.
Eğer SPEC dosyası bir TAR dosyasından oluşuyor ise bu dosyayı açmaya gerek
yoktur. Sadece bayraklarda -b yerine -t konulur. Sıkıştırılmamış ve gzip-sıkıştırılmış TAR
dosyaları rpm komutu tarafından destekleniyordur.
Kurulmadan kaynak RPM’i derlemek için:
rpm -recompile kaynak_paket_dosyası şeklindeki bir komut çalıştırılmalıdır. Burada
kaynak_paket_dosyası kaynak RPM’in ismidir.
GnoRPM ve kpackage
Gnome masaüstü sistemi ile birlikte rpm paketlerinin yönetimi için GnoRPM
programı gelmektedir. Bu program ile komut satırından rpm komutu ile yapılabilecek her
türlü işlem grafik ortamda yapılmaktadır.
Resim 4.1:Gnome RPM ekranı.
GnoRPM progamı ilk açıldığında Resim 4.1’deki ekran kullanıcının karşısına
gelecektir. Pencerenin sol tarafı sistemde yüklü bulunan rpm paketlerinin dahil olduğu ana
grupları içermektedir. İstenilen ana grup seçilip , üzerine çift tıklandığı takdirde alt gruplar
da gözükecektir. Bir alt grup seçildiği takdirde pencerenin sağ tarafında bu alt gruba dahil
paketler görüntülenecektir.(Bkz: Resim 4.2)
Resim 4.2: Gnome RPM paket alt grupları .
Pencerenin sağ tarafında listelenen paketler için bilgi alınmak istendiği takdirde
istenilen paket seçildikten sonra sorgulama (“Query”) komutu verilmelidir. Bu durumda
Resim 4.3’deki ekran kullanıcının karşısına çıkmaktadır. Üst bölümde paket hakkında bilgi
bulunurken , alt bölümde pakette bulunan dosyalar listelenmektedir.
Resim 4.3: Paket bilgisi ekranı.
Paketin içerdiği dosyalar da bir değişiklik olup olmadığını öğrenmek için “Verify”
komutu verilmelidir. Bu durumda Resim 4.4’deki ekran kullanıcının karşısına çıkacaktır.
Resim 4.4: Paketleri doğrulama ekranı.
Yeni bir paket eklemek için giriş ekranında bulunan “Install” (yükle) komutu
verilmelidir. Bu durumda Resim 4.5’deki ekran kullanıcının karşısına çıkacaktır.
Resim 4.5: Paket yükleme ekranı.
Kurulacak paketler arasına paket eklemek için “Add” tuşu kullanılır. Bu tuşu basıldığı
takdirde Resim 4.6’daki ekran gözükecektir. Bu ekran sayesinde dosya sistemi içinde
gezilerek kurulacak paket bulunabilir. Paket bulunduktan sonra “Add” tuşu ile kurulacak
paketler arasına eklenir. Bu ekran sayesinde kurulacak tüm paketler bulunup seçildikten
sonra bu ekran “Close” tuşu ile bu ekran kapatılır.
Resim 4.6: Paket ekleme ekranı.
Kurulacak paketlerin seçimi yapıldıktan sonra temelde Resim 4.7’de gösterilen ekrana
geri dönülür. Bu durumda tek fark seçilmiş olan paketler ekranın sol tarafında
listelenmektedir. Belirli bir paketin kurulumundan vazgeçmek için Ö işaretinin kaldırılması
yeterlidir. Kurulum işlemini gerçekleştirmek için “Install” tuşuna basılması gerekmektedir.
Resim 4.7: Paket kurulum ekranı.
Pardus’ta Paket Yönetimi (PİSİ)
PİSİ (Packages Installed Successfully as Intended), Pardus'un paket yönetim
sistemidir. Paketlerin sisteme sorunsuz bir şekilde eklenip çıkarılmasını sağlar.
Paket Yöneticisi
Paket, bir uygulamayı ya da işletim sisteminin bir parçasını tüm bileşenleriyle toplu
olarak ifade eden bir kavramdır. Uygulamaların bir yerden bir yere taşınması (Örneğin bir
CD yada ağ kaynağından gelip, sisteme kurulması) sırasında bazı bileşenlerin geride
unutulmamasını sağlar. Bir sistemdeki onbinlerce dosyayı, görevleri ve ait oldukları
uygulamalar bazında birkaç yüz pakete ayırarak yönetilebilir kılar. Kullanıcının büyük bir
sistemde neler bulunduğuna hakim olabilmesini kolaylaştırır. Bu paketleri kurup kaldırmak,
çeşitli kaynaklardan temin etmek, sorgulamak, sistemdeki değişiklikleri takip etmek için,
paket yöneticisi adını verdiğimiz bir uygulamaya ihtiyaç vardır.
Resim 4.8 : Pardus paket yöneticisi.
Neden PİSİ?
Hali hazırda varolan ve geniş bir kullanım oranına sahip paket yöneticileri (RPM,
DPKG ve Portage) yeterli basitlikte çalışmamaktadır. Bu varolan paket yöneticilerini istenen
düzeye geliştirmektense yeni bir paket yöneticisi oluşturulmuştur. Bu paket yöneticisi
TUBİTAK /UAKEA ekibi tarafından oluşturulmuştur.
Pardus’ta Program Ekleme, Kaldırma ve Güncelleme
Pardus'un en önemli özelliklerinden biri olan ve proje kapsamında geliştirilen, PİSİ
paket yöneticisidir. Bu araç, PİSİ'yi kullanmanızı kolaylaştıracak görsel bir arayüz
sunmaktadır. Sağ üst kutuda bulunan seçeneklerden kurabileceğiniz paketler, güncelleme
olanakları veya sisteminizde kurulu paket listesini görüntülemeyi tercih edebilirsiniz.
Resim 4.9 : Program Ekle,Güncelle ve Kaldır modülü.
Programlarınızı güncellemek, yüklü bulunan programlarınızı kaldırmak ve depolarda
bulunan programlardan eklemek için “Yönetici Modu”na geçmeniz gerekmektedir.
Resim 4.10 : Yönetici modu.
Güncellemeler için Depo Ayarları bölümünü tıkladığınızda, Pardus'un sisteminizi
güncellemek için ihtiyaç duyduğu bilgileri internet vasıtası ile alabilir ve sisteminizi güncel
hale getirebilirsiniz.
4.3.3.1. Adım Adım Sistem Güncelleme
¾
“Sistem Seçenekleri” kategorisinde bulunan “Program Ekle, Güncelle veya
Kaldır” modülünü açmak için çift tıklayınız.
¾
İlk olarak gelecek olan uyarıyı okuyarak, “Tamam” düğmesini tıklayarak
kapatın.
¾
“Yönetici Modu”na geçmek için alt tarafta bulunan düğmeyi tıklayarak,
yönetici şifresi ile tekrar giriş yapınız.
Resim 4.11 : Root olarak çalıştır.
¾
¾
“Depo Ayarları” düğmesini tıklayın. Ekrana “Pisi Ayarları” gelecektir.
“Tüm Depoları Güncelle” düğmesini tıklayın. Gelen ekran ile internet bağlantı
hızınıza bağlı olarak güncelleme sürecektir.
Resim 4.12 : Pisi ayarları.
Resim 4.13 : Depolar güncelleniyor.
¾
Deponun güncel hale gelmesi ile birlikte “Hazır Güncellemeleri Göster”
seçeneği ile yenilenmiş paketleri sisteminize yükleyebilirsiniz.
TEMEL AĞ PROGRAMLARI VE AĞ
AYARLARI
Ağ Konfigürasyon Dosyaları ve Scriptleri
Linux işletim sistemi de diğer tüm gelişmiş işletim sistemleri gibi ağ üzerinden
haberleşmeyi desteklemektedir. Linux işletim sisteminde tüm ayarlar metin dosyalarında
saklanmaktadır. Bu sayede yapılması gereken ayarlar belirli dosyaların düzenlenmesi ile
kolayca yapılmaktadır.
Linux işletim sisteminde ağ ayarları da dosyalarda tutulmaktadır. İstenildiği takdirde
bu dosyalar düzenlenerek , istenildiği takdirde ise grafik arayüzlü programlar kullanılarak ağ
ayarlarının yapılması mümkündür.
Linux'ta ağ ayarları ile ilgili dosyalar ve dizinler aşağıdaki gibidir :
¾
/etc/sysconfig/network dosyası
¾
/etc/sysconfig/network-scripts dizini
¾
/etc/hosts
¾
/etc/resolv.conf
/etc/sysconfig/network Dosyası
Bu dosya genel ağ ayarları için kullanılan dosyadır. Bu dosya içinde sistemin ağ
desteği olup olmadığı , gateway tanımı, makine ismi gibi bilgiler bulunur. Bu dosyada
çoğunlukla kullanılan terimler aşağıdaki gibidir :
¾
NETWORKING : Sistemin ağ desteği olup olmadığını belirtir. Bu parametre
"yes" olarak tanımlanmamış ise sistemde ağ ayarları yapılmaz.
¾
HOSTNAME
: Sistemin ismini belirtir.
¾
GATEWAY
: Sistemin gateway'ini belirtir
¾
GATEWAYDEV : Sistemin gateway'e ulaşmak için hangi ağ arayüzünü
kullanacağını belirtir.
¾
FORWARD_IPV4 : Sistemin gelen paketleri bir arayüzünden diğer arayüzüne
yönlendirme iznini belirtir.
¾
NISDOMAIN
: Sistemin dahil olduğu NIS bölge ismini belirtir.
/etc/sysconfig/network-scripts Dizini
Bu dizin sistemde bulunan ağ arayüzleri için gerekli tanımların bulunduğu dizindir.
Her arayüz için bir adet konfigürasyon dosyası bulunmaktadır. Konfigürasyon dosyalarının
dışında arayüzlerin aktif ve pasif hale getirilmeleri için gerekli program parçalarını da içeren
dosyalar da bu dizin içinde bulunmaktadır.
Arayüzlerin konfigürasyon dosyaları ifcfg-arayüz ismine sahiptir.Bu dosyalar
düzenlenerek her arayüz için gerekli ayarlar yapılmaktadır. Konfigürasyon dosyalarında
kullanılan temel terimler aşağıdaki gibidir :
¾
DEVICE
: Arayüzün sahip olduğu aygıt ismini belirtir.
¾
ONBOOT
: Sistem açılırken arayüzün aktif hale getirilip
getirilmeyeceğini belirtir. Sistem açılırken arayüzün aktif hale geçirilmesi için
bu parametrenin değeri "yes" olmalıdır.
¾
¾
¾
¾
BOOTPROTO : Arayüzün ağ ayarlarının yapılması için kullanılan
protokolü belirtir.Eğer ağ ayarları statik olarak yapılandırılmış ise "static" , ağ
ayarları bir DHCP sunucusu üzerinden alınacak ise "dhcp" , ağ ayarları bir
bootp sunucusu üzerinden alınacak ise "bootp" değerini içermelidir.
IPADDR
: Arayüzün sahip olduğu IP adresini belirtir.
NETMASK
: Arayüzün sahip olduğu alt ağ maskesini belirtir.
BROADCAST : Arayüzün broadcast adresini belirtir.
Ip Adresi Çözücü Ayarları
Linux işletim sisteminde makine ismi - IP adresi , IP adresi - makine ismi dönüşümleri
için birden fazla metot kullanılmaktadır. Bu metotlar aşağıdaki gibidir :
¾
/etc/hosts dosyasının kullanımı
¾
DNS sunucu kullanımı
¾
NIS sunucu kullanımı
Yukarıdaki metotlardan hangilerinin , hangi sırada kullanılması gerektiği
/etc/nsswitch.conf dosyasında tanımlanmaktadır. Bu dosyada hosts ile başlayan satırda
bulunan bilgiler kullanılacak metotları ve sırayı belirler.
hosts: files nis dns
Yukarıdaki satırda belirtilen 3 metodunda kullanılabileceği belirtilmiştir. İlk olarak
/etc/hosts dosyası , eğer bulunamaz ise NIS sunucusu , yine bulunamaz ise DNS
sunucusunun kullanılacağı belirtilmiştir.
/etc/hosts dosyası DNS servisi kullanılmadan önce geçerli olan metottur. Bu dosya
içinde makineler ile ilgili olarak makine ismi , makinenin IP adresi ve makine için kısaltma
bulunmaktadır. Her makine için ayrı bir kayıt olmak zorundadır. Ağ üzerindeki
bilgisayarların artmasıyla birlikte bu dosyanın kullanılması imkansız hale gelmiş ve DNS
servisi geliştirilmiştir.
/etc/hosts dosyasındaki satırlar aşağıdaki formata sahiptir :
IP_Adresi
Makine_isimleri
127.0.0.1
aontws4044.cc.itu.edu.tr aontws4044 localhost.localdomain
DNS Ayarlarının Yapılması ( /etc/resolv.conf Dosyası)
Linux işletim sisteminde diğer Unix türevi işletim sistemlerinde olduğu gibi DNS
ayarları için kullanılan dosya /etc/resolv.conf dosyasıdır. En basit şekilde DNS ayarlarının
yapılması için /etc/resolv.conf dosyası aşağıdaki şekilde düzenlenmelidir.
domain alan_ismi
nameserver DNS_sunucusunun_IP_Adresi
domain cc.itu.edu.tr
nameserver 160.75.2.20
İstenildiği takdirde birden fazla DNS sunucusu tanımı yapılabilir. Ayrıca sorgulama
yapılacağı zaman aranacak alan adı listesi genişletilebilmektedir. Bunun için aşağıdaki yapı
dosyaya eklenmelidir.
search alan_1 alan_2 alan_3 ...
Bu durumda tam alan adı verilmeden yapılan aramalarda , verilen sunucu ismine
sırayla alan_1 , alan_2 alan adları eklenerek arama yapılacaktır. Örnek vermek gerekirse ,
resolv.conf dosyasında “search itu.edu.tr” şeklinde bir satır bulunduğunda ve isim_1 isimli
sunucu için arama yapıldığında isim_1.itu.edu.tr tam alan ismi için de arama yapılacaktır.
Temel Ağ Komutları ve Programları
Telnet Komutu
Telnet programı uzaktaki sunucu ile TELNET protokolü ile haberleşmeyi sağlayan bir
programdır. Bu program sayesinde uzaktaki makinede kullanıcıya bir çalışma alanı açılır.
Kullanıcının gerçekleştirdiği her işlem uzaktaki sunucuda gerçekleşir.
Telnet komutunun en basit kullanım şekli aşağıdaki gibidir :
telnet sunucu_ismi [port numarası]
Sunucu ismi parametresi bildirilmediği takdirde telnet programı kullanıcıdan bir
komut girmesini bekleyen interaktif modda açılır. Bu durumda aşağıdakine benzer bir çıktı
gözükecektir.
[root@seawolf /root]# telnet
telnet>
Bu bilgi isteminde telnet programı kullanıcıdan belli komutlar alabilmektedir. Bu
komutların listesini görmek için help komutunu vermek yeterlidir. Herhangi bir telnet
bağlantısı gerçekleştirmiş iken de bilgi istemi penceresine dönülebilir. Bunun için CTRL-]
tuş kombinasyonunun kullanılması yeterlidir.
Örnek 5.1 :
telnet> help
Commands may be abbreviated. Commands are:
close
close current connection
logout
forcibly logout remote user and close the connection
display
display operating parameters
mode
try to enter line or character mode ('mode ?' for more)
open
connect to a site
quit
exit telnet
send
transmit special characters ('send ?' for more)
set
set operating parameters ('set ?' for more)
unset
unset operating parameters ('unset ?' for more)
status
print status information
toggle
toggle operating parameters ('toggle ?' for more)
slc
change state of special charaters ('slc ?' for more)
auth
turn on (off) authentication ('auth ?' for more)
encrypt
turn on (off) encryption ('encrypt ?' for more)
forward
turn on (off) credential forwarding ('forward ?' for more)
z
suspend telnet
!
invoke a subshell
environ
change environment variables ('environ ?' for more)
?
print help information
Bilgi istemi penceresinden iken yeni bir bağlantı yapmak için open komutu kullanılır.
Bu komuttan sonra bağlanılma istenen sunucu ismi verilmelidir. Yapılmış bir bağlantıyı
kesmek için close komutu verilebilir.
Kullanıcı telnet programı ile uzaktaki bir sunucuya bağlandığı takdirde kendisinden
kullanıcı ismi ve şifre isteyen bir ekranla karşılaşacaktır. Bu ekranda gerekli bilgileri
girdikten sonra kullanıcı için sistemde tanımlı olan kabuk programı çalışmaya başlayacak ve
kullanıcıdan komut bekleyecektir.
Örnek 5.2 :
[halil@aontws4044 halil]$ telnet atlas
Trying 160.75.2.22...
Connected to atlas.cc.itu.edu.tr (160.75.2.22).
Escape character is '^]'.
login: halil
Password:
Last login: Mon Aug 27 17:42:13 from dnw2kpro104
You have new mail.
[halil@atlas halil]$
Ftp Komutu
FTP protokolü uzaktaki sunucudan dosya transferi için kullanılan bir protokoldür. Bu
protokol kullanılarak uzaktaki ftp sunucusu ile dosya transferi yapmayı sağlayan bir çok
istemci bulunmaktadır. Bu istemcilerden en yaygın olanı ftp programıdır. Bir çok işletim
sisteminde hemen hemen aynı komutlar ve aynı arayüze sahiptir.
Ftp programının temel kullanım şekli aşağıdaki gibidir :
ftp ftp_sunucusu
Ftp sunucusunun ismi verilmediği takdirde ftp programı aşağıdaki bilgi istemi
durumunda bekleyecektir. Bu durumda iken o veya open komutu ile yeni bir ftp bağlantısı
yaratılabilir.
[root@seawolf /root]# ftp
ftp>
Yeni bir bağlantı yaratıldığı durumda , bağlantı yapılan ftp sunucusunun gönderdiği
başlık gösterilir ve kullanıcı ismi ve şifre girilmesi istenir.
Örnek 5.3 :
ftp> o ftp.itu.edu.tr
Connected to atlantis.cc.itu.edu.tr.
220 ProFTPD 1.2.1 Server (ITU FTP Server) [atlantis.cc.itu.edu.tr]
Name (ftp.itu.edu.tr:root): ftp
331 Anonymous login ok, send your complete email address as your password.
Password:
230 Anonymous access granted, restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Eğer kullanıcı ismi ve şifre girişi sırasında bir hata meydana gelirse , user komutu ile
tekrar kullanıcı ismi ve şifre girilebilir.
Kullanıcı ismi ve şifre doğrulatıldıktan sonra ftp programı komut beklemek için bilgi
istemi durumuna dönecektir. Bu durumda iken bir çok komut kullanılabilir. Bu komutlardan
en çok kullanılanları aşağıdaki gibidir :
¾
ls
: Uzaktaki sunucuda bulunulan dizinin içeriğinin görülmesini sağlar.
¾
¾
¾
¾
¾
¾
¾
¾
dir
: ls ile aynı görevi görür. İki komutun çıktısı ftp sunucusuna göre
değişebilir.
cd
: Uzaktaki sunucuda bulunulan dizini değiştirmek için kullanılır.
get
: Uzaktaki sunucudan bir dosya almak için kullanılır.
mget : Uzaktaki sunucudan birden fazla dosya almak için kullanılır. Dosya
isminin tam olarak verilmesine gerek yoktur. İsmi tamamlamak için *,? gibi
özel karakterler kullanılabilir.
put
: Uzaktaki sunucuya bir dosya koymak için kullanılır.
mput
: Uzaktaki sunucuya birden fazla dosya koymak için kullanılır.
prompt : mget ve mput komutları kullanıldığı durumlarda her işlem
yapılmadan önce kullanıcıdan onay beklenir. Onay beklenmeden işlemi yapmak
isteniyor ise prompt komutu off argümanı ile çağırılmalıdır. Onay verme
işlemini tekrar aktif yapmak için “prompt on” komutu verilmelidir.
bye
: Ftp bağlantısını kapatmak için kullanılır.
Nslookup Komutu
Nslookup komutu DNS sunucusu ile haberleşip DNS sorgulamaları yapmak için
kullanılmaktadır . En basit kullanım alanı makine isminden makine IP adresinin
bulunmasıdır.
Komutun temel kullanım şekli aşağıdaki gibidir :
nslookup [seçenek] [sorgu]
Sorgu parametresi verilmediği takdirde nslookup interaktif modda çalışmaya
başlayacaktır. İnteraktif modda iken istenilen sorgulama yapılabilmektedir. Varsayılan
olarak düz ve ters kayıt sorgulama işlemleri yapılır. Yani makine ismi verilirse makinenin IP
adresi , makine IP adresi verilirse makinenin ismi sorgulanır.
Sorgulama tipi istendiği takdirde değiştirilebilir. Temel sorgulama tipleri aşağıdaki
gibidir :
¾
A
: Makine isminden IP adresi sorgulaması için kullanılır.
¾
PTR
: Makine IP adresinden makine ismi sorgulaması için kullanılır.
¾
NS
: Verilen alan için yetkili DNS sunucularının listesini görmek için
kullanılır.
¾
MX
: Verilen alan veya sunucu için gönderilen e-postaları kabul eden
sunucuları görmek için kullanılır.
¾
ANY
: Tüm sorgulama tiplerini kullanarak gerekli bilgileri almak için
kullanılır.
¾
SOA
: Alandan sorumlu kişi , TTL süresi , alanın seri numarası gibi
bilgileri almak için kullanılır.
Sorgulama tipini değiştirmek için interaktif modda “set query=sorgu_tipi” veya “set
type=sorgu_tipi” komutu verilmelidir.
Örnek 5.4 :
[root@seawolf /vicepaa]# nslookup
Note: nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead. Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
> ciragan.cc.itu.edu.tr
Server:
160.75.2.20
Address:
160.75.2.20#53
Name: ciragan.cc.itu.edu.tr
Address: 160.75.2.20
> 160.75.2.20
Server:
160.75.2.20
Address:
160.75.2.20#53
20.2.75.160.in-addr.arpa
name = ciragan.cc.itu.edu.tr.
> set query=NS
> itu.edu.tr
Server:
160.75.2.20
Address:
160.75.2.20#53
itu.edu.tr nameserver = atlantis.cc.itu.edu.tr.
itu.edu.tr nameserver = ns.ulak.net.tr.
itu.edu.tr nameserver = ns1.metu.edu.tr.
itu.edu.tr nameserver = ciragan.cc.itu.edu.tr.
> set query=soa
> itu.edu.tr
Server:
160.75.2.20
Address:
160.75.2.20#53
itu.edu.tr
origin = ciragan.cc.itu.edu.tr.
mail addr = zeynep.ciragan.cc.itu.edu.tr.
serial = 2001082301
refresh = 10800
retry = 3600
expire = 604800
minimum = 86400
> set query=MX
> itu.edu.tr
Server:
160.75.2.20
Address:
160.75.2.20#53
itu.edu.tr mail exchanger = 10 ciragan.cc.itu.edu.tr.
itu.edu.tr mail exchanger = 0 mail.cc.itu.edu.tr.
> set query=ANY
> itu.edu.tr
Server:
160.75.2.20
Address:
160.75.2.20#53
itu.edu.tr
text = "ISTANBUL TEKNIK UNIVERSITESI"
itu.edu.tr mail exchanger = 0 mail.cc.itu.edu.tr.
itu.edu.tr mail exchanger = 10 ciragan.cc.itu.edu.tr.
itu.edu.tr nameserver = ciragan.cc.itu.edu.tr.
itu.edu.tr nameserver = atlantis.cc.itu.edu.tr.
itu.edu.tr nameserver = ns.ulak.net.tr.
itu.edu.tr nameserver = ns1.metu.edu.tr.
itu.edu.tr
origin = ciragan.cc.itu.edu.tr.
mail addr = zeynep.ciragan.cc.itu.edu.tr.
serial = 2001082301
refresh = 10800
retry = 3600
expire = 604800
minimum = 86400
Nslookup komutunun sorgulamaları için kullandığı sunucu istendiği takdirde server
komutu ile değiştirilebilir.
Whois Komutu
Whois komutu bir IP adresinin hangi ağa dahil olduğunu ve o ağdan sorumlu kişilerin
e-posta adresleri , posta adresleri , telefonları gibi bilgileri gösteren bir komuttur. Temelde
bir IP bloğu alındığı takdirde , bloğu satın alan ile ilgili bilgiler alınır ve bu bilgiler whois
sunucularında tutulurlar. Whois komutu ile bu sunucular sorgulanır.
Komutun temel kullanımı aşağıdaki gibidir :
whois IP_adresi[@whois_sunucusu]
Whois sunucuları genelde IP adresi dağıtmaya hakkı bulunan kuruluşlarda bulunur.
Her sunucu belli bölgeler için geçerli bilgileri tutmaktadır. Bu sebepten dolayı her sunucudan
cevap alınamayabilmektedir.
Örnek 5.5 :
[root@seawolf /vicepaa]# whois 160.75.2.20
[whois.crsnic.net]
Whois Server Version 1.3
Domain names in the .com, .net, and .org domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.
No match for "160.75.2.20".
>>> Last update of whois database: Fri, 31 Aug 2001 02:24:14 EDT <<<
The Registry database contains ONLY .COM, .NET, .ORG, .EDU domains and
Registrars.
[root@seawolf /vicepaa]# whois [email protected]
[whois.ripe.net]
% This is the RIPE Whois server.
% The objects are in RPSL format.
% Please visit http://www.ripe.net/rpsl for more information.
% Rights restricted by copyright.
% See http://www.ripe.net/ripencc/pub-services/db/copyright.html
inetnum: 0.0.0.0 - 255.255.255.255
netname:
IANA-BLK
descr:
The whole IPv4 address space
country:
NL
admin-c:
IANA1-RIPE
tech-c:
IANA1-RIPE
status:
ALLOCATED UNSPECIFIED
remarks:
The country is really worldwide.
remarks:
This address space is assigned at various other places in
remarks:
the world and might therefore not be in the RIPE database.
mnt-by:
RIPE-NCC-HM-MNT
mnt-lower: RIPE-NCC-HM-MNT
mnt-routes: RIPE-NCC-NONE-MNT
changed: [email protected] 20010529
source:
RIPE
route:
160.75.0.0/16
descr:
ITU
origin:
AS9095
mnt-by:
AS12777-MNT
changed: [email protected] 20000809
source:
RIPE
role:
Internet Assigned Numbers Authority
address:
see http://www.iana.org.
e-mail:
[email protected]
admin-c:
IANA1-RIPE
tech-c:
IANA1-RIPE
nic-hdl:
IANA1-RIPE
remarks:
For more information on IANA services
remarks:
go to IANA web site at http://www.iana.org.
mnt-by:
RIPE-NCC-MNT
changed: [email protected] 20010411
source:
RIPE
Netstat Komutu
netstat komutu ağ bağlantıları , yönlendirme tablosu , arayüz istatistikleri gibi ağ ile
ilgili temel bilgileri göstermeye yarayan bir programdır. Temel olarak aşağıdaki gibi
kullanılır :
netstat [seçenekler]
Hiç bir seçenek verilmediği takdirde netstat programı sistemde kullanımda olan
soketler hakkında bilgi verecektir. Bu durumda yapılmış ağ bağlantıları ile ilgili olan bilgiler
gözükecektir.
Örnek 5.6 :
[root@atlas ders_ornek]# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address
tcp
0
0
atlas.cc.itu.edu.t:2012
tcp
0
0
atlas.cc.itu.edu.t:smtp
tcp
0
1
atlas.cc.itu.edu:telnet
tcp
0
0
atlas.cc.itu.edu.tr:www
tcp
0
0
atlas.cc.itu.edu.t:pop3
Foreign Address
mail.cc.itu.edu.tr:auth
mail.cc.itu.edu.tr:4021
160.75.59.68:1292
212.29.64.132:6309
bio3.bio.itu.edu.t:1523
State
ESTABLISHED
ESTABLISHED
ESTABLISHED
ESTABLISHED
TIME_WAIT
tcp
tcp
tcp
0
0
0
0
0
0
atlas.cc.itu.edu.t:smtp 160.75.59.205:1252
TIME_WAIT
atlas.cc.itu.edu.tr:www gw-ehv01.pnl.phil:47459 TIME_WAIT
atlas.cc.itu.edu.t:pop3 cascade.geop.itu.e:1243 TIME_WAIT
Eğer dinleme modundaki soketlerin gösterilmesi isteniyor ise netstat –a seçeneği ile
çalıştırılmalıdır. Bu durumda tüm soketler listelenecektir.
[root@atlas ders_ornek]# netstat
Active Internet connections (w/o servers)
Proto
Recv-Q Send-Q
Local Address Foreign Address
State
.......
.......
tcp
0
0
*:www
*:*
LISTEN
tcp
0
0
*:https
*:*
LISTEN
tcp
0
0
*:smtp
*:*
LISTEN
Netstat komutu çıktısının “Active Internet Connections” bölümünde bulunan sütunlar
ve anlamları aşağıdaki gibidir :
¾
Proto : Soket tarafından kullanılan protokolü belirtir. Tcp , udp veya raw
değerlerini içerebilir.
¾
Recv-Q : Bu soketi kullanan programa kopyalanmayan verinin büyüklüğünü
byte olarak belirtir.
¾
Send-Q :
Karşıdaki sistem tarafından alındığı onaylanmayan verinin
büyüklüğünü byte olarak belirtir.
¾
Local Adress: Soketin yedek uçtaki IP adresi ve port numarasını belirtir. Eğer
netstat programı –n seçeneği ile çalıştırılmamış ise IP adresi ve port numarası
için çözümleme yapılır.
¾
Foreign Adress: Soketin uzak uçtaki IP adresi ve port numarasını belirtir. Eğer
netstat programı –n seçeneği ile çalıştırılmamış ise IP adresi ve port numarası
için çözümleme yapılır.
¾
State : Soketin durumunu belirtir. Soketler aşağıdaki durumlarda olabilirler :
• ESTABLISHED : Soket bağlantı gerçekleştirmiş durumdadır.
• SYN_SENT : Soket bağlantı kurmaya çalışıyordur.
• SYN_RECV : Ağdan bir bağlantı isteği gelmiştir.
• FIN_WAIT1 : Soket kapatılmış , bağlantı sonlandırılmak üzeredir.
• FIN_WAIT2 : Bağlantı sonlandırılmıştır. Soket karşı ucun bağlantıyı
sonlandırmasını beklemektedir.
• TIME_WAIT : Soket kapandıktan sonra gelebilecek paketleri alabilmek
için beklemektedir.
• CLOSED : Soket kullanılmamaktadır.
• CLOSE_WAIT : Karşı uç bağlantıyı kapatmıştır. Soketin kapanması
beklenmektedir.
• LAST_ACK : Karşı uç bağlantıyı sonlandırmış ve soketi kapatmıştır.
Onay beklenmektedir.
• LISTEN : Soket gelebilecek bağlantılar için dinleme konumundadır.
•
CLOSING : Yerel ve uzak soketler kapatılmış fakat tüm verilerini
göndermemiş durumdadırlar. Tüm veriler gönderilmeden soketler
kapanmazlar.
Eğer netstat –e seçeneği ile çalıştırılmış ise User sütunu ile soketi kullanan programın
çalıştığı kullanıcı kimlik numarası veya kullanıcı ismi bilgisini içerir.
Eğer netstat –p seçeneği ile çalıştırılmış ise “PID/Program name” sütunu soketi
kullanan programın süreç kimlik numarası ve program ismini gösterecektir. Her kullanıcı
sadece kendi programları için bu bilgiyi alabilmektedir. Root kullanıcısı ise tüm soketler için
bu bilgiyi alma hakkına sahiptir.
İstendiği takdirde netstat programı sadece belli bir protokol için listeleme
yapabilmektedir. TCP protokolü için –t , UDP için –u , RAW için –w ve UNIX soketleri için
–x seçenekleri kullanılmaktadır.
Netstat programı –i seçeneği ile çalıştırıldığında sistemdeki arayüzler ile ilgili
istatistikler vermektedir. Bu istatistikler arasında gönderilen paket sayısı (TX-OK) ,
gönderilen paketlerde oluşan hata sayısı(TX-ERR) , gönderilen paketlerden çöpe atılan sayısı
(TX-DRp) , giden paketlerde oluşan üstüne yazma hatası sayısı (TX-OVR) ve aynı bilgilerin
gelen paketler (RX) için olanı bulunmaktadır.
[root@atlas baykale]# netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 67876270 0
0 0 119418625 0
0
5
BRU
lo
3924 0 1698494 0
0 0 1698494
0
0
0
LRU
Arp Komutu
Arp komutu sistemin arp önbelleği ile ilgili işlevlerin yapılmasını sağlar.
Yapılabilecek temel işlemler arasında arp tablosunu incelemek , arp tablosundan kayıt
silmek ve arp tablosuna kayıt eklemek vardır.
Sistemin arp tablosunda , IP adresi – fiziksel adres çiftleri için kayıtlar bulunmaktadır.
Sistemde bulunan arp tablosunu görmek için sadece arp komutunun çalıştırılması yeterlidir.
İstendiği takdirde –a seçeneği de kullanılabilir. –a parametresi kullanıldığı takdirde istenilen
makinenin MAC adresi istenebilir.
Örnek 5.7 :
[root@seawolf /root]# arp
Address
Hwtype
Hwaddress
Flags Mask
Iface
printserv.labs.itu.edu. ether
00:10:5A:DB:65:87
C
eth0
160.75.100.254
ether
00:90:86:A1:B4:00
C
eth0
[root@seawolf /root]# arp -a 160.75.100.254
? (160.75.100.254) at 00:90:86:A1:B4:00 [ether] on eth0
[root@seawolf /root]# arp -a printserv.labs.itu.edu.tr
printserv.labs.itu.edu.tr (160.75.100.17) at 00:10:5A:DB:65:87 [ether] on eth0
Arp tablosuna kayıt eklemek için –s seçeneği kullanılır. Arp tablosuna kayıt eklemek
için kullanılan temel arp komutu yapısı aşağıdaki gibidir :
arp –s makine_ismi MAC_adresi
arp –s makine_IP MAC_adresi
MAC adresi istendiği takdirde XX:XX:XX:XX:XX:XX formatında verilebileceği gibi
, hiç bir ayırma işareti kullanılmadan da verilebilir. –s seçeneği ile eklenen MAC adresleri
kendiliğinden silinmezler. ARP isteği ile öğrenilen MAC adresleri ise belirli bir süre sonra
kendiliğinden silinirler.
Örnek 5.8 :
[root@seawolf /root]# arp -s 160.75.100.233 00AABBCCDD11
[root@seawolf /root]# arp -s 160.75.100.233 00:AA:BB:CC:DD:11
[root@seawolf /root]# arp
Address
Hwtype
Hwaddress
Flags Mask Iface
gecici100233.labs.itu.e ether
00:AA:BB:CC:DD:11
CM
eth0
printserv.labs.itu.edu.
ether
00:10:5A:DB:65:87
C
eth0
160.75.100.254
ether
00:90:86:A1:B4:00
C
eth0
Arp tablosundan kayıt silmek için –d seçeneği kullanılır. Kayıt
temel arp komutunun yapısı aşağıdaki gibidir :
arp –d makine_ismi
arp –d makine_IP
Örnek 5.9 :
[root@seawolf /root]# arp
Address
Hwtype
Hwaddress
gecici100233.labs.itu.e ether
00:AA:BB:CC:DD:11
160.75.100.254
ether
00:90:86:A1:B4:00
[root@seawolf /root]# arp -d 160.75.100.233
[root@seawolf /root]# arp
Address
Hwtype
Hwaddress
gecici100233.labs.itu.e (incomplete)
160.75.100.254
ether
00:90:86:A1:B4:00
silmek için kullanılan
Flags Mask Iface
CM
eth0
C
eth0
Flags Mask Iface
eth0
C
eth0
Ping Komutu
Ping komutu ICMP protokolü üzerinden ECHO_REQUEST göndermek için
kullanılır. Bu isteği alan sunucu isteğe cevap gönderir. Arada geçen zaman hesaplanarak
kullanıcıya gösterilir.
Ping komutu çoğunlukla karşıdaki makinenin ayakta olup olmadığını kontrol etmek
için kullanılır. Eğer ping isteğine cevap gelmiyor ise uzaktaki makine çalışmıyor olabilir.
Aynı zamanda ping komutunun çıktısından iki makine arasındaki transferin ne kadar hızlı
olabileceği hakkında tahmin yürütülebilir. Daha kısa sürede cevap veren bir makine ile
yapılan haberleşme , daha uzun sürede cevap veren makine ile yapılan haberleşmeden çoğu
zaman daha hızlıdır.
Ping komutu ile aşağıdaki seçenekler kullanılabilir :
¾
-c sayı : Sayı ile belirtilen kadar ping paketi gönderdikten sonra programdan
çıkılmasını sağlar. Bu seçenek kullanılmadığı takdirde ping programı
kullanıcıdan kapatma isteği gelene kadar çalışacaktır. En basit kapatma isteği
CTRL-C tuşları ile verilir.
¾
-f : Çok hızlı olarak ping paketi üretilmesini sağlar. Sadece root kullanıcısı
tarafından kullanılabilir. Ağ üzerinde yavaşlatıcı etken yapabileceğinden
dikkatli kullanılması gerekmektedir.
¾
-i süre : Her bir ping paketinin gönderilmesi arasında geçmesi gereken sürenin
ayarlanması için kullanılır. Belirtilen süre saniye cinsindendir. Bu seçenek
kullanılmadığı takdirde her bir saniyede bir ping paketi gönderilir. –f seçeneği
ile uyumsuzdur.
¾
-n : Bu seçenek kullanıldığı takdirde ping isteği gönderilen makineden gelen
cevapların kullanıcıya gösterilmesi sırasında makinenin ismi yerine IP adresi
kullanılır.
¾
-s paket_büyüklüğü : Gönderilecek ping paketinin büyüklüğünün ayarlanması
için kullanılır. Varsayılan paket büyüklüğü 56 byte’tır. 8 bytelık ICMP başlık
bilgisi ile paket boyu 64 byte’a çıkar.
Örnek 5.10:
[root@seawolf /root]# ping 160.75.2.20
PING 160.75.2.20 (160.75.2.20) from 160.75.100.40 : 56(84) bytes of data.
Warning: time of day goes back, taking countermeasures.
64 bytes from 160.75.2.20: icmp_seq=0 ttl=254 time=801 usec
64 bytes from 160.75.2.20: icmp_seq=1 ttl=254 time=402 usec
64 bytes from 160.75.2.20: icmp_seq=2 ttl=254 time=365 usec
64 bytes from 160.75.2.20: icmp_seq=3 ttl=254 time=365 usec
--- 160.75.2.20 ping statistics --4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/mdev = 0.365/0.483/0.801/0.184 ms
Traceroute Komutu
Traceroute komutu ile uzaktaki makineye giden yol hakkında bilgi alınır. Bu
bilgilerden en temel olanı uzaktaki makineye giderken geçilen yönlendiricilerdir.
Komutun temel kullanım şekli aşağıdaki gibidir :
traceroute [seçenekler] makine_ismi
Traceroute komutu varsayılan olarak UDP paketleri ile çalışır. UDP paketlerinde TTL
(TimeToLive) değerlerini ayarlayarak geçilen geçitlerin ortaya çıkmasını sağlar. Bir
yönlendirici üzerinden geçen paketi yönlendireceği zaman TTL değerini bir azaltır. Bu değer
sıfır olduğu zaman paketi gönderen makineye ICMP “time exceeded” paketi gönderilir.
Traceroute bu özelliği kullanarak yol bilgisini çıkarmaktadır. İlk olarak TTL değeri 1 olan
bir UDP paketi yaratılır. Bu paket ilk yönlendiriciye geldiğinde yönlendirici kaynak
makineye ICMP “time exceeded” paketi gönderir. Bu paket traceroute komutu tarafından
işlenir. Daha sonra TTL değeri 2 olan bir paket gönderilir. Bu olay hedef makineye varana
kadar devam eder.
Başlangıç TTL değeri istendiği takdirde –f seçeneği ile ayarlanabilmektedir. UDP
paketleri yerine ICMP paketleri kullanılabilmektedir. ICMP paketlerinin kullanılması için –I
seçeneği kullanılmalıdır.
Örnek 5.11:
[root@seawolf /root]# traceroute www.metu.edu.tr
traceroute to www.metu.edu.tr (144.122.199.13), 30 hops max, 38 byte packets
1 160.75.100.254 (160.75.100.254) 3.737 ms 0.863 ms 1.001 ms
2 cis7500 (160.75.3.1) 3.061 ms 1.569 ms 1.139 ms
3 ATM0-0-48-itu-ayazaga.ulus.ulak.net.tr (193.255.0.33) 4.062ms 14.875ms 9.401 ms
4 193.140.10.249 (193.140.10.249) 11.420 ms 9.836 ms 8.823 ms
5 odtu-ulus-E1.ulak.net.tr (193.140.0.6) 21.681 ms 67.849 ms 26.746 ms
6 2.asn9000.atm.metu.edu.tr (144.122.155.3) 23.340 ms 19.979 ms 23.190 ms
7 ani.cc.metu.edu.tr (144.122.199.13) 22.039 ms 25.180 ms 24.370 ms
[root@seawolf /root]# traceroute -f 3 www.metu.edu.tr
traceroute to www.metu.edu.tr (144.122.199.13), 30 hops max, 38 byte packets
3 ATM0-0-48-itu-ayazaga.ulus.ulak.net.tr (193.255.0.33)229.305 ms 4.603 ms 256.893ms
4 193.140.10.249 (193.140.10.249) 9.323 ms 21.810 ms 12.495 ms
5 odtu-ulus-E1.ulak.net.tr (193.140.0.6) 27.712 ms 19.829 ms 22.949 ms
6 2.asn9000.atm.metu.edu.tr (144.122.155.3) 39.968 ms 31.222 ms 29.063 ms
7 ani.cc.metu.edu.tr (144.122.199.13) 19.757 ms 19.717 ms 45.454 ms
Birden fazla ağ arayüzüne sahip makinelerde hangi arayüz kullanılarak paketlerin
gönderileceği belirtilebilir. Bu işlem için –i seçeneği kullanılmalıdır. –i seçeneğinden sonra
kullanılacak olan arayüzün ismi verilmelidir.
Temel E-posta ve Haber Grubu Araçları
Pine Programı
Pine programı Unix türevi sistemlerde kullanılan en popüler e-posta ve haber okuma
araçlarından birisidir. E-posta dizini , uzaktaki sunucudan POP3 ve IMAP protokolleri ile
e-posta okuma gibi özelliklere sahiptir.
Pine komutu çalıştırıldığında Resim 5.1’deki ekran gelmektedir. Ok tuşları ile menüde
gezinti yapılabilmektedir. İstendiği takdirde kısayol tuşları ile de verilmek istenen komut
verilebilir. Kısayol tuşları en soldaki sütunda bulunan tuşlardır. “Help” alt menüsünde PINE
ile ilgili yardım alabileceğiniz öğeler bulunmaktadır. “Compose Message” ile yeni bir eposta yazabilmektedir. “Message Index” ile açık olan e-posta kutusunun içerdiği e-posta
mesajları görülebilmektedir. “Folder List” alt menüsünde ise sistemde bulunan kullanıcıya
ait e-posta dizinlerinin (kutuları) listesi görülebilmektedir. Bu listeden istenilen e-posta
kutusuna geçilip içerdiği e-postalar görülebilir.
Resim 5.1 : Pine programı ana ekranı.
Pine Programı İle E-Posta Okumak
Pine e-postaların tutulabileceği birden fazla e-posta dizinini desteklemektedir. E-posta
dizinleri aslında birer dosyadırlar. Dosyalar içlerinde e-postaları barındırırlar. Pine programı
kullanıcının ev dizininde mail dizini içindeki e-posta dizinlerini kullanmaktadır. Ayrıca her
kullanıcı için sistemde bulunan ve INBOX(gelen kutusu) olarak adlandırılan bir e-posta
kutusu bulunmaktadır. Red Hat Linux İşletim sisteminde bu e-posta kutuları /var/spool/mail
dizini altında tutulmaktadır. Bu dizin altında her kullanıcı için ayrı bir dosya bulunmaktadır.
Pine çalıştırılırken hangi dizini açacağı bildirilmemiş ise varsayılan olarak kullanıcının
gelen kutusunu açar. Pine’in hangi dizini açacağı çalıştırma esnasında “–f dizin “ seçeneği
ile verilebilir. Açılan dizinin içerdiği mesajları görmek için “Message Index” alt menüsü
seçilmeli veya “I” komutu verilmelidir. Bu durumda açılan e-posta dizininin içerdiği
mesajlar varsayılan olarak geliş tarihlerine göre gösterilecektir.
İstenilen mesaj seçilip ENTER tuşuna basıldığı takdirde mesajın içeriği görülebilir.
En soldaki sütunda mesajın durumu ile ilgili bilgi verilir. “N” harfi mesajın yeni olduğunu ,
“A” harfi mesaja cevap verildiğini gösterir. Okunan mesaja cevap verilmediği durumlarda
bilgi kısmı boş olarak bulunur. Ekranın alt kısmında kullanılabilecek komutlar ve
kısaltmaları gözükmektedir. Seçili e-postayı silmek için “D” , silinmesi için işaretlenmiş epostadan silinme işaretini kaldırmak için “U” , e-postaya cevap vermek için “R” ve e-
postayı başka bir adrese yönlendirmek için “F” komutları verilebilir. “J” komutu ile istenilen
mesajın numarası verilerek o mesajın seçili olması sağlanabilir.
Resim 5.2 : Pine mail programı.
İçinde bulunulan e-posta dizinini değiştirmek için ya ana menüden “Folder List” alt
menüsüne gidilmeli ya da “L” komutu verilmelidir. (Ana Menü’ye dönmek için “M” komutu
verilebilir.)
“Folder List” alt menüsüne geçildiği takdirde kullanıcının sahip olduğu e-posta
dizinleri listelenecektir. (Bkz : Resim 5.3)
Resim 5.3: Pine e-posta dizinleri ekranı.
Açılması istenen e-posta dizini seçilip ENTER tuşu ile dizinin içerdiği mesajlar
görülebilir.
Uzaktaki bir sunucudan POP3 veya IMAP ile e-posta okumak için yapılması gereken
ayarlar vardır. Bu ayarlar ana menüde bulunan “Setup” alt menüsü ile yapılmaktadır. Setup
alt menüsüne girildiği takdirde yapılabilecek ayarlar için alt menüler listelenecektir. POP3
veya IMAP ayarları için “Config” alt menüsüne girilmelidir. Bu işlem içinde “C” komutunun
verilmesi gerekmektedir.
Config alt menüsüne girildiği takdirde Resim 5.4’deki ekran gelecektir. Bu kısımda
genel ayarlamalar yapılabilmektedir. Uzaktaki sunucudan e-posta okumak için değiştirilmesi
gereken ayar “inbox-path” ayarıdır. Bu ayar varsayılan olarak boş bırakıldığından sistemde
geçerli olan gelen kutusu kullanılır.
Resim 5.4 : Pine genel ayarlar ekranı.
Uzaktaki sunucu IMAP sunucusu ise yazılması gereken bilgi {sunucu_ismi}dizin
formatındadır. Dizin ismi verilmediği takdirde uzaktaki sunucuda kullanıcı için tanımlı olan
gelen kutusu kullanılacaktır.
Uzaktaki sunucu POP3 sunucusu ise girilmesi gereken bilgi {sunucu_ismi/pop3}
formatındadır.
Resim 5.5 : Pine mail programı.
Uzaktaki sunucudan e-posta okumak istendiği durumlarda sunucuda geçerli olan
kullanıcı ve şifresi istenecektir. (Bkz: Resim 5.5)
Pine Programı İle E-Posta Okumak
Yeni bir e-posta hazırlamak için ana menüden “Compose Message” seçeneği seçilmeli
veya “C” komutu verilmelidir. Bu durumda Şekil 1’deki ekran gelecektir.
“To” ve “Cc” bilgileri ile e-postanın gönderileceği adresler belirtilmektedir. “Subject”
kısmı e-postanın konusunu içeren bir bilgi girilmesi için kullanılmaktadır.
E-postaya dosya eklenecek ise “Attcahment” kısmında dosyanın yolu belirtilmelidir.
Dosyayı bulmak için CTRL-T tuş kombinasyonu ile dosya gezgini açılabilir.
E-postanın içeriği “Message Text “ ile belirtilen bölüme yazılmalıdır. E-posta yazım
işlemi bittikten sonra CRTL-X ile e-posta gönderilebilir. E-postanın gönderilmesinden
vazgeçildiği takdirde CRTL-C komutu kullanılabilir.
Pine Programı İle Haber Gruplarının Kullanımı
Pine haber gruplarından okuma ve haber gruplarına mesaj göndermeyi
desteklemektedir. Haber gruplarının kullanılması için yapılası gereken ayarlar
bulunmaktadır.
Yapılması gereken en önemli ayar haber sunucusu ayarıdır. Bunun için “Setup” alt
menüsünden “Config” komutu ile girilen genel ayarlar kısmında “nntp-server” kısmına haber
sunucusunun ismi yazılmalıdır. Bu ayar yapıldıktan sonra Pine programı tekrar
başlatıldığında “Folder List” alt menüsüne geçişte iki seçenek ortaya çıkmaktadır. Bunlardan
birincisi e-posta dizinleri , diğeri ise haber sunucusundaki haber gruplarıdır. Bu ekran Resim
5.6 ’de gözükmektedir.
Resim 5.6 : Pine haber grupları ekranı.
Haber grupları seçildiği takdirde üye olunan haber grupları listesinin bulunduğu bir
ekran kullanıcı karşısına gelecektir. Başlangıçta hiç bir gruba üye olunmadığından bu
ekranda bilgi bulunmayacaktır. Bu ekran Resim 5.7’de gözükmektedir.
Resim 5.7 : Pine haber grupları ekranı.
Bu ekranda yeni gruplara üye olunabilir veya üye gruplardan çıkılabilir. Üye
gruplardan çıkmak için çıkılacak grup seçili iken “D” (delete) komutunu vermek yeterlidir.
Yeni bir gruba üye olmak için “A” (add) komutu verilmelidir. Bu komut verildikten sonra
üye olunmak istenen grubunun ismi kullanıcıdan istenecektir. İstendiği takdirde grup içinde
geçen bir kelime yazılıp istenilen grup Resim 5.8’de gözüken grup bulma penceresinden
seçilebilir.
Resim 5.8: Pine haber grubu arama ekranı.
Standart Mail Programı
Mail programı e-posta okumak ve göndermek için kullanılabilecek ve arayüze sahip
olmayan basit bir programdır.
Mail programı hiç bir parametre olmada çalıştırıldığı takdirde e-posta okuma modunda
çalışacaktır. Bu durumda kullanıcının gelen kutusunda bulunan e-postalar için gönderen ,
geliş tarihi ve konu bilgisi içeren bir satır gösterecektir. Satırda e-postanın kaçıncı e-posta
olduğu bilgisi de bulunmaktadır. Bir e-postayı okumak için numarasını girmek yeterli
olacaktır. İlk sırada bulunan e-postayı okumak için ENTER tuşuna basılması yeterli
olacaktır. Artı “+” karakteri ile bir sonraki e-postayı , eksi “-“ karakteri ile de bir önceki epostayı okumak mümkündür. Kullanılabilecek komut listesini almak için “?” karakteri
kullanılabilir.
Örnek 5.12 :
[halil@atlas halil]$ mail
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/halil": 1 message 1 new
>N 1 [email protected] Fri Aug 31 16:19 15/654 "Deneme"
&
Mail programı aynı zamanda e-posta göndermek içinde kullanılabilir. E-posta
gönderme modunda kullanım için en azından e-postanın gideceği e-posta adresi parametre
olarak verilmelidir. Konu bilgisi –s seçeneği ile verilebilir. Eğer e-posta birden fazla kişiye
gidecek ise –c seçeneğinden sonra kopyanın gitmesi istenen e-posta adresleri virgül ile
ayrılarak yazılabilirler. Kopyanın kime gittiğinin bilinmesi istenmiyor ise –b seçeneğinden
sonra kopyanın gideceği e-posta adresleri yazılabilir. E-posta göndermek için mail komutun
çalıştırılma şekli aşağıdaki gibidir.
mail e-posta@adresi [-s konu][-c Karbon_Kopya_Adresleri] [-b Kör_Karbon_Kopy
a] < içerik
içerik ile belirtilen dosya gönderilecek olan e-postayı içeren dosyadır.
Procmail ve Procmail Konfigürasyonu
Procmail Red Hat Linux işletim sistemine sahip e-posta sunucularında kullanılan ve
alınan e-postaların yerel olarak dağıtılmasını sağlayan bir programdır. E-postalar sunucular
arasında MTA (Mail Transport Agent) olarak adlandırılan SMTP protokolü ile çalışan
programlar sayesinde dolaşır. Red Hat Linux işletim sistemine sahip sistemlerde MTA
olarak sendmail programı kullanılmaktadır. Qmail , exim ve postfix programları Linux’ta
yaygınca kullanılan diğer SMTP sunucularıdır.
Sendmail programı bir yerel olarak dağıtılması gereken e-postayı aldıktan sonra bu epostayı yerel dağıtım aracına (LDA-Local Delivery Agent) gönderir. Red Hat Linux İşletim
sisteminde bu görevi procmail yerine getirmektedir.
Procmail programı e-postayı aldıktan sonra /etc/procmailrc dosyasına bakar. Bu
dosyada tüm sistem için tanımlanmış procmail kuralları bulunur. Bu dosyada tanımlanan
kurallar tüm kullanıcıları etkilediğinden kurallar yaratılırken dikkatli olunması
gerekmektedir. Bu dosyanın bulunma zorunluluğu yoktur.
Procmail daha sonra e-postanın geldiği kullanıcının ev dizininde .procmailrc dosyasını
arar. Bu dosyada kullanıcının kendisi için tanımladığı kurallar bulunmaktadır. Bu dosya
bulunmadığı takdirde procmail gelen e-postayı kullanıcının sistem tarafından tanımlanan
gelen kutusuna yerleştirir. Bu dosya mevcut ise bu dosyadaki kurallar işlenerek e-postanın
yerleştirileceği yer bulunur. E-posta hiç bir kurala uymuyor ise kullanıcının gelen kutusuna
yerleştirilir.
Red Hat Linux işletim sistemi ile birlikte gelen sendmail programı varsayılan yerel
dağıtma aracı olarak procmail kullanmaktadır. Eğer sistemde procmail yerine başka bir LDA
kullanılıyor ise procmail .forward dosyası aracılığı ile de çalıştırılabilir. Bu dosyanın temel
amacı gelen e-postayı yönlendireceği adresi belirlemektir. Eğer bu dosya “|exec
/usr/bin/procmail” şeklinde bir satır içerirse gelen e-posta procmail tarafından işlenir.
(NOT : Belirtilen satırın çalışabilmesi için procmail programının /usr/bin dizini altında
bulunması gerekmektedir.)
Procmailrc Dosyası
Procmail kurallarının tanımlandığı dosyalar procmailrc dosyaları olarak adlandırılırlar.
Bu dosyalar değişken atamaları ve procmail kurallarını içerirler. En basit şekilde kurallar ,
gelen e-postanın başlığında arama yapmak için tek satırlık regüler ifadeden oluşurlar. Gelen
e-postanın ilk uyduğu kural sayesinde yerleştirileceği yer bulunmaktadır.
Temelde iki farklı kural tipi bulunmaktadır. Bunlar dağıtım kuralları ve dağıtım
yapılmayan kurallardır. Dağıtım yapılan kurallarda tanımlanan kurallardan biri uyduğu
takdirde procmail e-postanın dağıtıldığını varsayacak ve diğer kuralları işletmeyecektir. Bu
durum dağıtım yapılmayan kurallarda gerçekleşmez. Eğer dağıtım yapılmayan bir kural
uygun olursa procmail daha sonra bulunan kuralları da işletir.
Dağıtım kuralları gelen e-postanın başlık veya gövdesinin bir dosyaya yerleşmesini ,
bir programa aktarılmasını veya bir başka e-posta adresine gönderilmesini sağlayan
kurallardır. Dağıtım yapılmayan kurallar ise , çıktısı tekrar procmail tarafından incelenecek
olan program veya filtreler ile yeni blok başlatan kurallardır.
İstendiği takdirde dağıtım yapılan kuralların dağıtım yapılmayan kurallar gibi
çalışması sağlanabilir. Bunun için “c” bayrağının kural başlangıcında kullanılması gerekir.
Procmailrc dosyalarında açıklama satırları da kullanılabilmektedir. Açıklama satırları
# karakteri ile başlamaktadırlar.
Kural tanımlamaları aşağıdaki biçime sahiptir :
:0 [bayraklar] [ : [kilit_dosyası] ]
<sıfır veya daha fazla koşul satırı. Her koşul bir satırda >
<Tam olarak bir yapılacak iş satırı>
Koşul satırları “*” karakteri ile başlarlar. Bu karakterden sonraki herşey regüler ifade
olarak algılanır. Bu kısımda kullanılabilecek regüler ifadeler egrep programı tarafından
kullanılan regüler ifadeler ile tam olarak uyumludur. Her satırdaki koşullar “ve” işlemine
tabi tutulular. Bunun anlamı tüm koşullara uygun olan e-posta ancak kurala uygun kabul
edilir. Eğer hiç bir koşul satırı bulunmuyor ise tüm e-postalar kurala uygun kabul edilir.
Yeni kural tanımı başlangıcında kullanılabilecek temel bayraklar aşağıdaki gibidir :
¾
H : Başlık üzerinde egrep işleminin yapılmasını sağlar. Bu varsayılan
davranıştır.
¾
B : Gövde üzerinde egrep işleminin yapılmasını sağlar.
¾
D : Büyük küçük harf ayrımının yapılmasını sağlar. Varsayılan olarak bu ayrım
yapılmaz.
¾
h : E-postanın başlık bilgisinin dağıtılma işlemi sırasında gönderilmesini
sağlar. Bu varsayılan davranıştır.
¾
b : E-postanın gövdesinin dağıtım işlemi sırasında gönderilmesini sağlar. Bu
varsayılan davranıştır.
¾
c : E-postanın karbon kopyasının çıkarılıp onun üzerinde işlem yapılmasını
sağlar. Dağıtım kurallarında anlamlı bir bayraktır. Dağıtım yapılmayan
kurallarda sadece blok başlatan kurallar için ayrı bir procmail prosesinin
çalışmasını sağlar.
¾
f : E-postanın gönderildiği yerin bir filtre olarak algılanmasını sağlar.
¾
w : Filtrenin çıkış değerinin beklenmesini sağlar. Varsayılan olarak procmail
filtre programının bitmesini beklemez.
¾
W : Filtrenin çıkış değerinin beklenmesini sağlar. Oluşan hata mesajları
gösterilmez.
¾
i : Tanımlanan kural sırasında oluşacak yazma hatalarının göz ardı edilmesini
sağlar.
Ayrıca koşul tanımlamalarının başında aşağıdaki özel karakterler de kullanılabilir :
¾
! : Verilen koşulun tümleyenin alınmasını sağlar.
¾
? : Belirtilen programın çıkış kodunun kullanılmasını sağlar.
¾
< : E-postanın toplam büyüklüğünün belirtilen bytetan küçük olup olmadığını
kontrol eder.
¾
> : E-postanın toplam büyüklüğünün belirtilen bytetan büyük olup olmadığını
kontrol eder.
Eğer kural tanımı başlangıç satırında ikinci bir “:” işareti bulunuyor ise procmail bu
kural için bir kilit dosyası yaratacaktır. Bu sayede bu kural sonunda yapılacak yerleştirme
sırasında dosyaya başka bir proses erişemeyecektir.
Yapılacak işlem satırında ise aşağıdaki karakterler özel anlamlar taşımaktadır :
¾
! : E-postayı belirtilen adrese yönlendirmek için kullanılır.
¾
| : Procmail’in bir program çalıştırmasını sağlar.
¾
{ : Yeni bir blok başlangıcı tanımlar. Bloklar içinde yeni kurallar
tanımlanabilir.
İşlem satırı bu karakterler dışında kalan karakterler ile başladığı takdirde e-postanın
yerleştirileceği dosya veya dizin ismi olarak algılanır. Eğer yerleştirilecek yer bir dizin ise
her mesaj ayrı bir dosya içine yerleştirilir. Eğer yerleştirilecek yer bir dosya ise tüm mesajlar
bu dosyanın içine yerleştirilir.
Procmail tarafından kullanılan özel çevre değişkenleri bulunmaktadır. Bunların temel
olanları aşağıdaki gibidir :
¾
MAILDIR : Procmail prosesinin içinde çalıştığı dizindir. Varsayılan olarak
kullanıcının ev dizini kullanılır.
¾
ORGMAIL : Kullanıcının sistem tarafından tanımlanan orjinal gelen
kutusudur. Varsayılan olarak “/var/spool/mail/$LOGNAME “ değerine sahiptir.
Eğer e-posta bu dosyaya yazılamaz ise e-postayı gönderen kişiye hata mesajı
döndürülür.
¾
DEFAULT : E-postanın yazılacağı varsayılan e-posta kutusunu içerir.
Varsayılan olarak ORGMAIL ile aynı değer sahiptir.
¾
LOGFILE : Kurallar işlenirken yaratılan logların tutulacağı dosyayı belirtir.
¾
VERBOSE : Log yaratılırken ayrıntılı logların yaratılmasını sağlar.
¾
Procmail koşul satırlarında kullanılabilecek özel regüler ifadeler içerir. :
¾
^TO_ : Varış başlık bilgileri (To,CC vs) için bir kısaltmadır. Belli bir varış
adresine giden e-postaların bulunması için kullanılır.
¾
^FROM_DAEMON : Belli başlı sunucu programlarından gelen e-postaları
yakalamak için kullanılır.
¾
^FROM_MAILER : E-posta ile işlem yapan belli başlı sunuculardan gelen epostaları yakalamak için kullanılır.
Örnek 5.13 : [email protected] adresinden gelen e-postaları muglaeml
dosyasına atmak için
:0:
* ^From.*[email protected]
muglaeml
E-posta bir dosyaya dağıtılacağı için kilit mekanizmasının kullanımı önerilir. Bu
durumda Linux.lock dosyası e-posta Linux dosyasına yazılırken varolacaktır. Bu sayede
ikinci bir procmail prosesinin aynı dosyaya yazması ve bu şekilde e-postaların iç içe geçmesi
engellenecektir.
Örnek 5.14 : Konu (Subject) başlık
[email protected] adresine yönlendirmek için :
bilgisi
[linux]
içeren
e-postaları
:0
* ^Subject:.*\[linux\]
! [email protected]
Örnek 5.15 : [email protected] adresinden gelip Delivered-To başlık bilgisi
[email protected] içeren e-postaların hem linux-list dosyasına yazılması hem de
[email protected] adresine yönlendirmek için :
:0
* ^From.*[email protected]
* ^Delivered-To.*[email protected]
{
:0c
linux-list
:0
[email protected]
}
Yukarıdaki kural tanımı istendiği takdirde aşağıdaki şekilde de yazılabilir.
:0 c
* ^From.*[email protected]
* ^Delivered-To.*[email protected]
linux-list
:0
* ^From.*[email protected]
* ^Delivered-To.*[email protected]
[email protected]
Örnek 5.16 : Boyutu 10000 byte ile 30000 byte arasında olan e-postaların
[email protected] adresine yönlendirilmesi için :
:0
* > 10000
* < 30000
! [email protected]
Örnek 5.17 : Gelen her e-postanın başlıklarını baslik isimli dosyaya yazdırmak için :
:0 hc:
baslik
Eğer başlık bilgilerinin yazdırılacağı dosya sıkıştırılmış bir dosya ise :
:0 hwc:
| gzip >>baslik.gz
Örnek 5.18 : Gelen e-postaların yıl-ay formatına sahip dizinler içine yazılması için
AYDIZINI=`date +%y-%m`
#AYDIZINI ile belirtilen dizinin var olup olmadığı kontrol ediliyor.
#Eğer dizin yok ise yaratılıyor.
:0 Wic
* ? test ! –d $AYDIZINI
| mkdir $AYDIZINI
#Gelen e-postalar belirtilen dizine yazılıyor.
:0
$AYDIZINI
Örnek 5.19 : Otomatik Cevap Verme için :
#Daemon ve X-Loop başlığı kendi adresinizi içeren e-postalara cevap verilmez.
#X-Loop kontrolü ile e-posta döngülerinin oluşması engellenir.
:0 h c
* ! ^FROM_DAEMON
* !^X-Loop: [email protected]
| (formail –r –I”Precedence: junk” –A”X-Loop: [email protected]”;\
echo “Gönderdiğiniz e-postayı aldım. Şu an izindeyim. Gelince e-postanızı
okuyacağım.”) \ |$SENDMAIL –t
Pardus’ta Ağ Ayarları ve Ağ Programları
Bu bölümde ağ bağlantı programını çalıştırarak Pardus'u çeşitli yöntemlerle (kablosuz,
modem ya da ethernet) internet ya da yerel ağa bağlayacak, diğer bilgisayarla iletişim
kurmasını sağlayacağız.
Öncelikle ağ bağlantı programını nasıl çalıştıracağınızı anlatalım.
¾
¾
¾
¾
Sisteme kullanıcı hesabınızla girin.
Pardus menüsünden Tasma'yı çalıştırın.
İnternet ve Yerel ağ > Ağ yapılandırması simgesine çift tıklayın.
Ağ yapılandırması için kullanabileceğiniz program çalışmaya başlayacaktır.
Aşağıda, örnek bir ağ yapılandırması ekran görüntüsü bulunmaktadır.
Resim 5.9 : Pardus ağ ayarları ekranı.
Bu programı ilk defa çalıştırınca herhangi bir ağ ayarı bulunmayacaktır. İnternet ya da
yerel ağ bağlantı yönteminize göre bir bağlantı seçip devam etmeniz gerekecektir. Sırasıyla
ethernet kartı üzerinden (Kablonet, ADSL, vb), modem ile ya da kablosuz ağ ile bağlantı
işlemlerini sırasıyla görelim.
Ethernet Kartı İle Bağlantı
Bu yöntemle hazır bir ağda (örneğin bir kurumdaki yerel ağa), ya da yeni bir
bağlantıya (örneğin Kablonet) erişim sağlanabilir. Ethernet kartı ile bağlantı
kurulabilmesi için, Pardus'un ethernet kartını tanımış olması gereklidir. Eğer ethernet kartı
tanınmış ise, özellikleri ağ ayarları programında görüntülenecektir.
Ethernet kartı ile ağa bağlantı kurmak için aşağıdaki işlemlerin sırasıyla yapılması
yeterlidir.
¾
¾
Ağ bağlantı programını çalıştırın.
“Oluştur” düğmesine tıklayın. Karşınıza aşağıdaki pencere gelecektir.
Resim 5.10 : Bağlantı türünün seçilmesi.
¾
¾
¾
¾
¾
Bu pencerede “Ethernet network”ü seçin ve “Bağlantıyı oluştur” düğmesine
tıklayın.
Karşınıza gelen yeni pencerede sırasıyla bağlantı ismini girin ve kullanılacak
ethernet kartını seçin.
Kurumunuzdaki ağ altyapınızın türüne göre DHCP ile otomatik bir IP alabilir,
ya da elle IP ayarı yapabilirsiniz.
Kullan düğmesine tıklayın ve bu pencereden çıkın.
Ana pencerede “bağlan” düğmesine tıklayarak bağlantı kurabilirsiniz. Bu
durumda bağlantı simgesinin üzerinde yeşil bir onay simgesi belirecektir.
Genellikle, ADSL ya da Kablo modem üzerinden internete çıkacak olan Pardus
kullanıcıları, bu bölümde anlatacağımız yöntemle internete girerken DHCP'yi seçip bir IP'nin
otomatik olarak atanmasını sağlayabilir.
Bunların yanında, her üç bağlantı türünü de tanımlarken, ana pencerede bulunan
“Genel Ayarlar” düğmesine tıklamanız halinde,
¾
¾
Bilgisayarın adını belirleyebilir
İsim çözümlemesi için kullanılacak bilgisayarların IP numarasını girebilirsiniz.
Genellikle, otomatik IP verilen ortamda, ethernet bağlantısını seçmek ve DHCP ile
bilgisayarın IP almasını sağlamak yeterlidir.
Resim 5. 11 : Makine adı ve DNS ayarları.
Kablosuz Bağlantı
Kablosuz bağlantı da ethernet bağlantısına oldukça benzer. En önemli farkı, kablosuz
ağlara özgü bir adın olmasıdır. Genellikle, güvenlik amaçlı olarak bu adın bağlantı sırasında
verilmesi gerekebilir.
¾
Ağ bağlantı programını çalıştırın.
¾
“Oluştur” düğmesine tıklayın.
¾
Bu pencerede “Kablosuz network”ü seçin ve “Bağlantıyı oluştur” düğmesine
tıklayın.
¾
Karşınıza gelen yeni pencerede sırasıyla bağlantı ismini girin, kullanılacak
kablosuz kartı seçin ve gerekiyorsa ESS ID karşısına kablosuz bağlantıya özgü
adı verin.
Bu aşamada, kablosuz ağın adını bilmiyorsanız “Tara” düğmesine tıklayarak mevcut
kablosuz ağların bir listesini alabilirsiniz. Aynı pencerede “Bağlan” diyerek bağlantıyı
kurun.
Resim 5.12 : Kablosuz ağa bağlantı.
Bu aşamadan sonra birkaç saniye içinde kablosuz bağlantı etkinleşecek ve internete
bağlanacaksınız. Denemek için Firefox'u çalıştırın ve ilgilendiğiniz bir web sayfasına girin.
Pardus’ta E-Posta İşlemleri –Kmail
Kmail, Pardus ile birlikte standart olarak gelen e-posta istemcisidir. Bu bölümde
Kmail hakkında bilgi verilecektir.
Kmail yardımıyla e-postaları alabilmek ve bunları göndermek için öncelikle Ayarlar
menüsündeki Kmail Ayarları seçeneğinden bazı ayarların yapılmış olması gerekmektedir.
Öncelikle bir kullanıcı hesabı eklenmesi gerekir. Yeni bir kullanıcı eklemek için Kmail'ın
Ayarlar menüsündeki Kmail ayarları seçeneğine girilir. Burada kullanıcı tanımları
kısmındaki e-posta kutucuğuna e-posta adresi yazılır..
Kmail Hesap Ayarları
Ağ sayfasından Kmail'e e-posta hesabının tanıtılması gerekmektedir.. Bu sayfa,
Kmail'in e-posta gönderirken ya da alırken kullanması gereken sunucunun adresi ve port
numarası başta olmak üzere bir çok ayarın yapılmasını sağlar.
Resim 5.13 : Kmail kullanıcı ayarları penceresi.
Mesaj yollama bölümünün altında, desteklenen e-posta yollama protokolleri
görülmektedir. Penceredeki 'Ekle' tuşuna basılınca desteklenen iki protokolden SMTP
seçilir.. Bu aşamadan sonra hesap tanımına istenen başlık yazılabilir. Makine kısmına eposta sunucusunun adresi yazılmalıdır.
E-posta alma ayarlarını yaparken de sunucunun bilgilerinin belirtilmesi gerekiyor.
Kullanılan protokole göre yapılan seçim POP3 ya da IMAP olabilir. Buradaki seçim
kullanıcıya aittir.. Daha sonra kullanıcı adı, parola ve kullanılan makinenin adresi yazılır.
Resim 5.14 : E-Posta alımında desteklenen protokoller.
Yapılan Ayarların Test Edilmesi
Bunun için kullanıcı kendi kendine e-posta yollamalıdır. Bunun için menüden 'Yeni
Mesaj' seçeneği tıklanır. Açılan penceredeki 'Adres' kutucuğuna kullanıcı kendi e-posta
adresinizi yazar ve e-postayı gönderir.
Ardından yollanmış olan e-postanın tekrar kendine ulaşıp ulaşmadığını öğrenmek için
Dosya menüsündeki Gönder/Al seçeneği tıklanır.
Kmail Klavye Kısayolları
Kısayol
Sağ Ok ya da N
Sol Ok ya da P
+
Ctrl +
Ctrl Ctrl ve Yukarı Ok
Ctrl ve Aşağı Ok
Eylem
Sonraki mesaja geçer.
Önceki mesaja geçer.
Sonraki okunmamış mesaja geçer.
Önceki okunmamış mesaja geçer.
Sonraki dizindeki okunmamış mesaja geçer
Önceki dizindeki okunmamış mesaja geçer.
Eğer dizin listesi seçili ise bir sonraki dizine geçer.
Eğer dizin listesi seçili ise bir önceki dizine geçer.
Tablo 5.1 : Kmail klavye kısayolları.
İŞLETİM SİSTEMİ ÇEKİRDEĞİ
Kernel Çeşitleri, Modüller ve Modül İşlemleri
Tüm işletim sistemlerinin en önemli bileşenlerinden biri işletim sistemi çekirdeğidir.
İşletim sistemi çekirdekleri sistem kaynaklarını kontrol eder ve işletim sisteminin diğer
parçaları tarafından kullanılan servisleri sağlarlar.
Linux işletim sisteminin çekirdeği çoğu işletim sistemi çekirdeğinden farklı olarak
kaynak kodu olarak dağıtılmaktadır. Bu sayede sistem yöneticileri kendi sistemlerine en
uygun çekirdeği derleyip kullanabilmektedir. Bu işlem sayesinde sistemin verimi ve
performansı iyileştirilebilmektedir.
Linux çekirdeği devamlı geliştirilen bir çekirdektir. Linux çekirdeğinin sürümleri üç
sayı ile belirtilir. (Örnek : 2.4.5). Bu sayılar aşağıdaki şekilde adlandırılır.
Ana (major) sürüm numarası
Küçük (minor) sürüm numarası
Yama seviyesi
Örneğin 2.4.5 sürümlü Linux çekirdeğinde , ana sürüm numarası 2 , küçük sürüm
numarası 4 , yama seviyesi 5’dir.
Ana sürüm numarası birkaç yılda bir değişen bir numaradır. Çekirdek yapısı
çoğunlukla her ana sürümde birbirinden farklı olabilmektedir. Bu sebepten dolayı daha
önceki ana sürüm ile çalışacak şekilde ayarlanmış programların gözden geçirilmesi ve
düzeltilmesi gerekebilir.
Küçük sürüm numaraları daha sık olarak değişmektedir. Küçük sürüm numarası aynı
zamanda çekirdeğin kararlı (stable) sürüm ve ya geliştirme (development) sürümü olduğunu
belirlemek için kullanılır. Küçük sürüm numarası çift ise çekirdek kararlı sürüm , tek ise
çekirdek geliştirme sürümüdür. Geliştirme sürümleri , çekirdeğe yeni özellikler eklemek için
kullanılırlar. Özellikle uygulama ortamlarında kararlı sürümlerin kullanılması
önerilmektedir.
Yama seviyesi , çekirdekte bulunan hataların giderilmesi veya iyileştirmeler sonucu
yapılan ufak değişikliklerle ortaya çıkan çekirdekleri belirtmek için kullanılır. Bazı
zamanlarda bir hafta içinde birden fazla yama seviyesi değişebilmektedir.
Kernel Çeşitleri
Linux çekirdeği ilk olarak ortaya çıktığında tek dosyadan oluşan bir yapıya sahipti.
Günümüzdeki Linux çekirdekleri ise modül adı verilen bir kaç dosyadan oluşabilmektedir.
Tek dosyadan oluşan işletim sistemi çekirdekleri monolithic çekirdek olarak
adlandırılır. Modül kullanımına izin veren çekirdekler ise modüler (modular) çekirdek olarak
adlandırılır.
Modüler Linux çekirdeklerine gerekli destekler çalışma anında eklenebilir ve
çıkartılabilirler. Bu seçenek monolithic çekirdeklerde bulunmamaktadır.
Monolithic çekirdekler çoğunlukla daha hızlı ve daha güvenlidirler. Modüler
çekirdekler sayesinde ise daha esnek bir yapı elde edilir.
Kernel Modülleri
Çekirdek modülleri , çalışma esnasında çekirdeğe eklenip çıkarılabilen çekirdek
parçacıklarıdır. Linux çekirdeğinin 2.2 sürümü ile beraber modüller gerektikleri anda
çekirdeğe dahil edilebilmektedir. Linux çekirdeğinin 2.0 sürümünde ise modüllerin kullanıcı
tarafından yüklenmesi gerekmektedir.
Bu bölümde modüller üzerinde işlem yapan temel komutlar ve modüller için
yapılandırma dosyası olan modules.conf dosyası anlatılacaktır.
Modüllerin Sistemdeki Yerleri
Çekirdek modülleri standart olarak /lib/modules dizini altında bulunmaktadır. Bu dizin
altında sistemde bulunan her çekirdek sürümü için ayrı bir modül dizini bulunmaktadır.
Örnek 6.1 :
[root@lnxsrv3 /root]# ls -l /lib/modules/
total 16
drwxr-xr-x 4 root root
4096 Oct 1 08:13 2.4.2-2
drwxr-xr-x 4 root root
4096 Oct 1 08:12 2.4.2-2smp
drwxr-xr-x 4 root root
4096 Oct 18 17:48 2.4.3-SGI_XFS_1.0.1smp
drwxr-xr-x 4 root root
4096 Oct 18 17:45 2.4.9-xfs
Sistemde çalışan çekirdek sürümünü öğrenmek için uname –r komutu
kullanılabilmektedir.
[root@lnxsrv3 /root]# uname -r
2.4.9-xfs
2.4.9-xfs çekirdeği için kullanılan modüller /lib/modules/2.4.9-xfs/kernel dizini altında
bulunmaktadır. /lib/modules/2.4.9-xfs dizini içinde aynı zamanda modül bağımlılıklarını
belirten dosyalarda bulunmaktadır. Bu bağımlılıklar bir modül yüklenirken göz önüne
alınmaktadır.
Çekirdek modüllerinin bulunduğu dizin bir kaç alt dizin daha içermektedir. Bu
dizinlerden drivers dizini donanım ile haberleşmek için kullanılan modülleri içermektedir.
Drivers dizinin altında bulunan modüller eriştikleri donanım türüne ait dizinler içinde
bulunmaktadır. (Örnek : Ethernet kartına erişmek için kullanılan modüller net dizini altında
bulunmaktadır.)
Yüklenmiş Modüllerin Listelenmesi
Sistemde yüklenmiş olan modüllerin listesini almak için lsmod komutu
kullanılmaktadır.
Örnek 6.2 :
[root@lnxsrv3 /root]# lsmod
Module
Size
Used by
ipchains
43867
0 (unused)
3c59x
28811
1 (autoclean)
lvm-mod
47890
2
qla2x00
303820
0
megaraid
26865
3
Lsmod çıktısında kullanılan modüllerin ismi , boyutları ve modülü kullanan diğer
modüller gösterilmektedir.
Sistemde yüklü olan modülleri öğrenmek için ikinci bir yol ise /proc/modules
dosyasının içeriğine bakmaktır.
Örnek 6.3 :
[root@lnxsrv3 /root]# cat /proc/modules
ipchains
43867
0 (unused)
3c59x
28811
1 (autoclean)
lvm-mod
47890
2
qla2x00
303820
0
megaraid
26865
3
Kullanılmayan Modüllerin Çekirdekten Kaldırılması
Yüklü fakat kullanılmayan modüllerin çekirdekten kaldırılması için rmmod komutu
kullanılmaktadır. Rmmod komutunun temel kullanım şekli aşağıdaki gibidir :
rmmod modül-ismi [modül-ismi2 modül-ismi3]
Sistemde yüklü olup kullanılmayan ve kendiliğinden temizlenebilme özelliği
(autoclean) ile yüklenmiş modülleri kaldırmak için rmmod komutuna –a parametresi
verilebilmektedir.
Örnek 6.4 :
[root@lnxsrv3 /root]# lsmod
Module
Size
Used by
nls_cp857
4046
0 (unused)
ipchains
43867
0 (unused)
3c59x
28811
1 (autoclean)
lvm-mod
47890
2
qla2x00
303820
0
megaraid
26865
3
[root@lnxsrv3 /root]# rmmod ipchains
[root@lnxsrv3 /root]# lsmod
Module
Size
Used by
nls_cp857
4046
0 (unused)
3c59x
28811
1 (autoclean)
lvm-mod
47890
2
qla2x00
303820
0
megaraid
26865
3
Sistemde kullanımda olan bir modül kaldırılmak istendiği takdirde rmmod komutu
hata verecektir.
[root@lnxsrv3 /root]# rmmod 3c59x
3c59x: Device or resource busy
Modülleri Yükleme (modprobe ve insmode)
Bir modülü yüklemek için aşağıdaki yapıda bir komut
modprobe module.o yada daha basit olarak modprobe module kullanılır. module.o
derlenmiş modülü içeren nesne dosyasının ismidir. Eğer modül parametreler gerektiriyorsa
bu parametreler komut satırından aşağıdaki şekilde gönderilebilir:
modprobe module.o param=param1 param=param2
Eğer belirtilen modül başka modüller gerektiriyorsa modprobe otomatik olarak bu
modülleri depmod komutu tarafından geliştirilen veritabanında arar ve yükler.
modprobe komutu temel iki çalışma moduna sahiptir. İlki, tek bir modül ismini veya
aday modül isimleri serisini kullanarak arama yapar. Bir modül serisi belirttiğiniz ve
modprobe aday modülü başarıyla yüklediği zaman arama durdurulur. Aramayı tekrar
başlatmak için aşağıdaki yapıda bir komut kullanılır:
modprobe –t dir pattern
dir /lib/modules/version dizinin bir alt dizinini, pattern ise aday modül dosyalarının
isimlerini belirten ifadelerdir.
Örneğin, O anda çalışan kernel sürümü 2.4.5-15 iken /lib/modules/2.4.5-15/net
dizininden bir modül yüklemek için
modprobe –t net ‘*’ komutu yürütülür.
Diğer çalışma modunda, modprobe komutu belirtilen dizinde yer alan her aday
modülü yüklemeye çalışır.
Örneğin,
/lib/modules/2.4.5-15/misc dizinindeki her modülü yüklemek için
modprobe-a –t misc ‘*’ komutu yürütülür. Tabi her zaman her modülün yüklenmesi
istenmez. Bunun yerine bir pattern belirtilerek sadece ilgili modüllerin yüklenmesi sağlanır.
Bir kernel modülünü yüklemek için modprobe komutuna benzer şekilde insmod
komutu da kullanılabilir. Ancak insmod komutu bağımlı modülleri yükleme girişiminde
bulunmaz. Bu yüzden modprobe komutu bazı scriptlerde daha sık kullanılır. Bunun dışında
kalan scriptler modprobe komutunu kullanmaktan daha ziyade kendi tarzlarında modül
bağımlılıklarını (module dependency) kullanarak modülleri sisteme dahil ederler. Bu tür
scriptler, veritabanı güncellemeyeceği zaman sistemin açılışı sırasında yürütülen scriptler
gibi scriptlerdir.
Modül Bağımlılığı ve Veritabanı Güncelleme (depmode)
modprobe komutu diğer modüllere bağlı olan modüllerin doğru olarak tanımlanması
için oldukça uygun bir komuttur. Ancak uygun çalışma her modülün gerektirdiği diğer
modülleri tanımlayan güncel modül listelerine sahip olmayı gerektirir. depmod komutu bu
güncel bilgiyi içeren bir veritabanı oluşturur. /etc/rc.d/rc.sysinit scripti sistem her açıldığında
böyle bir veritabanı oluşturmak için depmod komutunu çalıştırır. depmod komutu
depmod –a şeklinde çalıştırıldığında modül veritabanını tamamıyla yeniden oluşturur.
Modüllerin Düzenlenmesi (/etc/modules.conf Dosyası)
/etc/modules.conf dosyası depmod ve modprobe komutlarının çalışmasını kontrol eden
çeşitli parametreleri belirlemek için kullanılır.
Örneğin,
¾
Modüllere daha uygun isimlerle kullanmamızı sağlayan takma isimler (alias)
¾
Yüklenme aşamasında modüle kendiliğinden (default) geçecek parametreler
¾
Bir modül yüklendiği veya kaldırıldığı zaman yürütülecek kabuk komutları
gibi isteklerinizi bu dosya aracılığıyla gerçekleştirebilirsiniz.
Tipik bir /etc/modules.conf dosyası şöyledir:
alias sound emu10k1
alias parport_lowlevel parport_pc
alias eth0 3c90x
alias eth1 3c90x
options opl3 io=0x388
pre-install emu10k1 insmod soundcare
post-remove emu10k1 rmmod soundcore
Bu dosya 4 adet takma isim (alias) tanımlıyor. Örneğin, emu10k1 modülü sound
ismiyle ilişkilendirilmiş. Daha sonra op13 modülü yüklendiği zaman bu modüle geçecek bir
seçenek (option) tanımlanmış. Bu seçenekte giriş/çıkış portu olarak 0x388 belirtilmiş. Son
olarak da emu10k1 modülü yüklendiği (pre-install) ve kaldırıldığı (post-install) zaman
çalıştırılacak komutlar tanımlanmış.
/etc/modules.conf dosyası şu şekilde satırlar içerebilir:
¾ Parametre tanımlama satırlarının yapısı :
parameter = value şeklindedir. Parametre tanımlama satırı bir parametre tanımlar ve
belirlenmiş bir değeri bu parametreye atar. İzin verilen parametre tanımlama şekilleri:
• depfile = directory
Depmod komutu tarafından oluşturulan modül bağımlılığı veritabanının yerini
belirlemek için kullanılır.
• path=directory
Modüllerin aranacağı dizini belirtmek için kullanılır.
• path[type]=directory
Belirtilen tipte modülü içeren dizini belirtir. type değeri-t ile birlikte modprobe
komutunun parametresi olarak kullanılabilir.
¾ Modüller için takma isimlerin bulunduğu satırlar.
alias takma_isim gerçek_isim
¾
Bir modül yüklenmeden önce çalıştırılacak komutların tanımlandığı satır. Bu
satırlar çoğunlukla yüklenecek modülün bağımlı olduğu modülleri de yüklemek
için kullanılır.
pre-install yüklenecek_modül komut
¾
Bir modülü yüklemek için kullanılacak komutların tanımlandığı satır.
install yüklenecek_modül modülü_yüklemek_için_kullanılacak_komut
¾
Bir modül yüklendikten sonra çalıştırılacak komutların tanımlandığı satırlar.
post-install modül komut
¾
Bir modül kaldırılmadan önce çalıştırılacak komutların tanımlandığı satırlar.
pre-remove modül komut
¾
Bir modülü kaldırmak için kullanılacak komutların tanımlandığı satırlar.
remove modül komut
¾
Bir modül kaldırıldıktan sonra çalıştırılacak komutların tanımlandığı satırlar
post-remove modül komut
¾
Tanımlanan parametrelerin varsayılan parametreler üzerine yazması yerine ,
varsayılan parametrelere eklenmesini sağlayan keep satırı.
Kernel Yapılandırması, Derlenmesi ve Kurulması
Linux çekirdeği kaynak kodu ile birlikte dağıtıldığından kullanıcı tarafından sisteme
özel çekirdekler oluşturulabilmektedir. Çekirdek derlenmesi için ilk yapılması gereken Linux
çekirdeğinin indirilmesi ve tar dosyasının açılmasıdır. Tar dosyası açıldığında Linux
çekirdeğinin kaynak kodları linux isimli bir dizinin içinde bulunacaktır. Tar dosyası açma
işleminin /usr/src dizini içinde yapılması önerilmektedir. Bu takdirde çekirdek kaynak
kodları /usr/src/linux dizini altında bulunacaktır.
Derleme işlemine başlamadan önce isteğe bağlı olarak ekstra versiyon kodu
(extraversion code) tanımı yapılabilir. Daha önceki konularda da belirtildiği gibi bu kod
farklı seçenekler ile derlenmiş aynı sürüm çekirdeklerin bir birinden ayrılmasında
kullanılmaktadır. Eksta versiyon kodu tanımlaması için /usr/src/linux dizini altında bulunan
Makefile dosyasında değişiklik yapılması gerekmektedir. Makefile dosyasının başında
çekirdek sürümü ile ilgili bilgiler bulunmaktadır. EXTRAVERSION bilgisi değiştirilerek
derlenecek çekirdeğe istenen ekstra versiyon kodu eklenebilir.
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 9
EXTRAVERSION =-xfs
KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
Çekirdek derleme işleminin ilk adımı çekirdekte bulunacak desteklerin
belirlenmesidir. Çekirdekte yer alması istenen desteklerin belirlenmesi için aşağıdaki
komutlardan herhangi biri kullanılabilir.(Not: tüm komutlar /usr/src/linux dizini içinde
verilmelidir.)
¾
make config : Metin bazlı bir konfigürasyon programı çalıştırılır. Bu program
sayesinde çekirdeğe verilebilecek destekler için adım adım soru sorulmaktadır.
Bu yöntemin uzunluğu nedeniyle kullanılması önerilmemektedir.
¾
make menuconfig : Terminal içinde çalışan ve bir kullanıcı arayüzü oluşturan
programın derlenip çalıştırılmasını sağlar. Bu programın derlenip
çalıştırılabilmesi için ncurses kütüphaneleri ve başlık dosyaları sistemde
bulunmalıdır. En çok kullanılan konfigürasyon komutudur.
¾
make xconfig : X-Window üzerinde çalışan bir programın derlenip
çalıştırılmasını sağlar. Bu komutun çalışabilmesi için sistemde X-Window
sisteminin yüklü olması gerekmektedir.
Konfigürasyon aşaması için önerilen make menuconfig komutunun kullanılmasıdır.
Genel başlıklar ve içerikleri aşağıdaki gibidir :
¾
Code maturity level options : Çekirdeğe eklenebilecek bazı destekler tam
anlamıyla test edilmemiş , geliştirilme aşamasında olan destekler olabilir. Bu
desteklerin seçenekler arasında gözükmesi isteniyor ise bu bölüm altında
bulunan seçenek işaretlenmelidir. Bu kısımda yapılan bir değişiklik sadece
kullanıcıya sunulan seçenekler üzerinde etkili olacaktır. Çekirdek üzerinde bir
etkisi bulunmamaktadır.
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
Loadable module support : Çekirdek modülleri ile ilgili destekleri içeren
bölümdür. Sistemde modül desteği kullanılmayacak ise bu bölümden
kapatılması gerekmektedir.
Processor type and features : Sistemde bulunan işlemci , sistemde birden fazla
CPU olup olmadığı , sistemde bulunan fiziksel hafıza miktarının büyüklüğü ile
ilgili ayarları barındıran bölümdür.
General Setup : Genel sistem ayarlarının bulunduğu bölümdür. Bu ayarlar
arasında sistem ağ desteği , sistemde çalışan tüm süreçler ile ilgili kayıt
tutabilme(accounting) desteği , desteklenen çalıştırılabilir (binary) dosya tipleri
, güç yönetimi (power management) , PCI ve ESA desteği bulunmaktadır.
Memory Technology Devices (MTD) : Çoğunlukla gömülü ( embeded)
sistemlerde kullanılan flash ve bazı chipsetlerin desteğini içerir. Çoğunlukla
gerekli değildir.
Paralel Port Support : Sisteme paralel port desteği vermek için kullanılan
bölümdür.
Plug and Play Configuration : Linux çekirdeğine “Tak ve Çalıştır” cihazlar
için destek ekleyen bölümdür. Bu bölüm altında bulunan desteklerin çekirdeğe
eklenmesi önerilmektedir.
Block Devices : Floppy disk desteği , XT sabit disk desteği , RAM disk desteği
gibi desteklerin bulunduğu bölümdür. Bu bölüm içinde en önemli olan destek
RAM disk desteğidir. Özellikle SCSI sabit disk kullanıp , SCSI kart desteği
modül olarak kullanılacaksa RAM disk ve Initial RAM Disk desteklerine
ihtiyaç duyulmaktadır.
Multi Device Support (RAID and LVM) : Eğer sistemde yazılım olarak
RAID kullanılması düşünülüyor ise RAID ve kullanılacak RAID seviyesi için
gerekli destek bu bölümden verilmelidir. LVM desteği sadece birden fazla diski
birleştirmek için kullanılabilmektedir. Avantajı sistem çalışırken sisteme
eklenen diskler yaratılan LVM disklere dahil edilebilmektedir. Bu sayede
genişleme işlemi daha kolay gerçeklenebilmektedir.
Networking Options : Paket filtreleme , multicast desteği , gelişmiş
yönlendirici desteği , syncookie desteği gibi genel ağ desteklerinin
seçilebileceği bölümdür.
Telephony Support : Eğer sistemde telephony kart mevcut ise verilmesi
gereken destekleri içeren bölümdür. Çoğunlukla bu desteklerin verilmesi
gerekmemektedir. Bu bölümdeki destekler modem kullanımı ile ilgili
değildirler. Bu bölümdeki destekler kullanılmasa bile sistemdeki modem
kullanılabilmektedir.
ATA/IDE/MFM/RLL support
: IDE disk , cdrom gibi aygıtlar için
desteklerin bulunduğu bölümdür. Sistemde IDE disk veya cdrom
kullanılmayacak ise bu desteklerin verilmesi gerekmemektedir.
SCSI Support : SCSI cihazlar ve kartlar için gerekli desteklerin bulunduğu
bölümdür. Eğer sistemde SCSI cihaz bulunmayacak ise bu desteklerin verilmesi
gerekmemektedir.
Fusion MPT Device support : Sistemde Fusion MTP aygıtlar varsa verilmesi
gereken destekleri içeren bölümdür. Çoğunlukla bu desteklere ihtiyaç
duyulmamaktadır.
¾
I2O Device Support : I20 (Intelligent Input/Output) mimarisini destekleyen
cihazlar için verilmesi gereken destekleri içeren modüldür.
¾
Network Device Support : Sistemde bulunan ağ cihazları (Örn : Ethernet kartı)
ile ilgili destekleri içeren bölümdür.
¾
Amateur Radio Support : Linux’a amatör radyo desteğini içeren bölümdür.
¾
rDA (infrared) Support : Sistemde infrared cihaz bulunmaktaysa verilmesi
gereken destekleri içeren bölümdür.
¾
ISDN subsystem : Eğer sistem ISDN modem içeriyorsa verilmesi gereken
destekleri içeren bölümdür. Sistemde ISDN modem bulunmuyor ise bu desteğin
verilmesine gerek yoktur.
¾
Old CD-ROM drivers (not SCSI, not IDE) : SCSI ve IDE olmayan eski
cdromlar için verilmesi gereken destekleri içerir. Sistemde bulunan cdrom SCSI
veya IDE ise bu desteğin kullanılmasına gerek bulunmamaktadır.
¾
Input Core Support : Eğer sistemde “USB Human Interface Device (HID)”
(USB klavye , USB mouse vs) kullanılacak ise verilmesi gereken destekleri
içermektedir.
¾
Character devices : Sanal terminaller (virtual terminals) , seri porttan
bağlanan cihazlar , fare , joystick gibi destekleri içeren bölümdür. Bu bölümde
ayrıca AGP desteği de bulunmaktadır.
¾
Multimedia devices : Tv ve radyo kartları için kullanılan destekleri
içermektedir. Sistemde Tv veya radyo kartı bulunmuyor ise bu desteklere gerek
duyulmamaktadır.
¾
File Systems : Sistemde kullanılacak dosya sistemleri , NFS CODA SMB gibi
ağ dosya sistemleri , Linux olmayan disk bölümlerini(partion) kullanabilme
özelliği ve dil desteği gibi destekleri içeren bölümdür.
¾
Console Drivers : Sistem konsolu ile ilgili desteklerin belirlendiği bölümdür.
¾
Sound : Linux çekirdeğine ses kartı desteği vermek için kullanılan destekleri
içeren bölümdür.
¾
USB Support : USB desteği vermek için gerekli destekleri içeren bölümdür.
¾
Kernel Hacking : Çekirdeğin test edilmesi ve çekirdekte hata aranması için
verilmesi gereken destekleri içerir. Genellikle kullanılmasına gerek yoktur.
Çekirdekte bulunması istenen destekler belirlendikten sonra konfigürasyon
programından çıkarken sorulan konfigürasyon dosyasını kayıt edeyim mi sorusuna evet
cevabı verilmelidir.
Çekirdek derleme işleminin ikinci adım verilen desteklerin bağımlılıklarını
(dependency) bulmaktır. Bu işlem için make dep komutu kullanılmaktadır. Bu komut
kullanıldığında verilen destekler için bağımlılık dosyaları yaratılacaktır.
Daha önceden derlenmiş bir çekirdek yeniden derlenecekse , daha önceki derlemeden
kalan dosyaların temizlenmesi gerekmektedir. Bu işlem için make clean komutu
kullanılmaktadır.
Çekirdeği derlemek için verilebilecek birden fazla komut bulunmaktadır. Bunlardan
en çok kullanılanı make bzImage komutudur. Bu komut verildikten sonra çekirdeğin içine
gömülmüş olan destekler derlenecektir. Modül olarak verilen desteklerin derlenmesi için
make modules komutu verilmelidir. Modüllerin derleme işlemi bittikten sonra make
modules_install komutu ile derlenen modüller /lib/modules dizini altında derlenen çekirdek
ile ilgili dizine yerleştirilecektir.
Çekirdek derleme işlemi bittikten sonra derlenen çekirdek ve System.map dosyasının
/boot dizini altına kopyalanması gerekmektedir. Kopyalama işlemi için aşağıdaki komutlar
kullanılabilir. Kopyalanan çekirdek ve System.map dosyalarına çekirdek sürüm numarasının
eklenmesinde yarar vardır. (NOT : Aşağıdaki komutların /usr/src/linux dizini altında
çalıştırılması gerekmektedir.)
cp arch/i386/boot/bzImage /boot/vmlinuz-sürüm_numarası
cp System.map /boot/System.map-sürüm_numarası
Kök dizininin içinde bulunduğu disk bölümü bir SCSI diskte veya RAID kartı ile
ulaşılan bir diskte ve bu diske ulaşmak için verilen donanım desteği modül olarak verilmişse
Initial RAM disk oluşturulması gerekmektedir. Bu işlem için /etc/modules.conf dosyası
ayarlanmalı ve aşağıdaki komut yürütülmelidir.
mkinitrd /boot/initrd-sürüm_numarası.img sürüm_numarası
Çekirdek derlemenin en son adımı olarak lilo.conf dosyasının ayarlanması
gerekmektedir. Lilo.conf dosyasına aşağıdaki satırların eklenmesi yeterli olacaktır.(initrd
satırı Initial RAM disk kullanılacak ise gereklidir. Aksi takdirde kullanılmasına gerek
yoktur.)
image=/boot/vmlinuz-sürüm_numarası
label=linux
initrd=/boot/initrd-sürüm_numarası.img
read-only
root=/dev/kök_dizininin_bulunduğu_disk_bölümü(Örnek : hda1,sda2 )
Lilo.conf dosyasında gerekli değişiklikler yapıldıktan sonra lilo komutu ile bu
değişikliklerin LILO sistem yükleyicisi tarafından kullanılabilir hale getirilmesi
gerekmektedir.
İNTERNET BAĞLANTISI
Modem Ayarları
Bir WAN (Wide Area Network) bağlantı türü olan PPP (Point-to-Point Protocol), bir
seri bağlantı (Serial Connection) üzerinden IP ( Internet Protocol ) ve diğer ağ
protokollerini (örneğin IPX, DECNET, APPLETALK....) çalıştırmak üzere kullanılan bir
mekanizmadır. Bu link bir null-modem kablosu (Null-Modem Cable) kullanılarak yapılan
doğrudan bir seri bağlantı, telnet ile uzak sistem ile yapılmış bir bağlantı üzerinden
kurulacak bir bağlantı yada modem ve bir seri varolan telefon (ve tabi ki ISDN gibi Sayısal
hatlar da kullanılarak yapılabilen) hatları kullanılarak yapılan bir seri bağlantı olabilir.
PPP kullanarak, bir Linux PC, bir PPP Sunucuya bağlanabilir. Böylece, sunucunun
bağlı olduğu sistemdeki ağ kaynaklarına sanki o ağa direk olarak bağlıymış gibi ulaşılabilir.
Ayrıca, Linux PC’ler PPP Sunucu hizmeti verecek şekilde yapılandırılabilirler. Bu sayede,
diğer bilgisayarlar bu sunucuya bağlanıp (dial-up) sunucunun bağlı olduğu ağ üzerindeki
kaynaklardan faydalanabilirler. PPP türdeş bir sistemdir (Peer-to-Peer).
PPP kullanılarak, farklı iki tür ağı üzerlerinde ppp sunucular çalıştıran Linux PC’ler
ile birbirine yada bir yerel ağ internete bağlanılabilir. Bu tür bir bağlantı, bir Wide Area
Network oluşturur. Seri tabanlı PPP ile Ethernet bağlantılarının arasındaki en büyük
farklılıklardan bir tanesi, tabi ki bağlantının hızıdır. Standart Ethernet bağlantısı maksimum
teorik bant genişliği (Bandwith) olarak ya 10 MBps kadar (Mega Bit per Second) yada 100
MBps kadar kurulabilir. Buna karşın, basit bir analog modem ile PPP bağlantısı, 56 Kbps
(Kilo Bit per Second) ‘a kadar ulaşabilen hızlarda çalıştırılabilir ( Gerçi daha yüksek hızlarda
çalışan modemlerde vardır).
Teknik olarak bağlanılmak için çevrilen (Dialed-into) ve bağlanmak için çeviren
bilgisayar arasında bir fark yoktur. Ancak, anlaşılsın diye sunucu ve istemci şeklinde
düşünmekte fayda vardır. Bir siteye bağlanmak için bir PPP sunucuyu çeviren (dial-up)
makineye PPP istemci, PPP bağlantı isteklerini almak (dial-in) ve bunları yönetmek üzere
yapılandırılmış (PPP kullanıcıları, bunların şifreleri, ve mümkün diğer mekanizmaların
yapılandırılması) makineye ise PPP sunucu makine adı verilir.
Eğer herhangi bir makinenin birden fazla seri portu varsa bu Linux makine hem PPP
sunucu hem de PPP istemci olarak hizmet verebilir. Yukarıda da bahsedildiği gibi bağlantı
bir kez kurulduğu zaman PPP açısından bakıldığı zaman sunucu veya istemci arasında
gerçek bir fark yoktur.
Kppp, gppp, wvdial İle Bağlantı
Linux’ta ppp ile çevirmeli ağ üzerinden bağlantı yapmak oldukça kolaydır ve birçok
yolu vardır. Ancak kurulan PPP bağlantısının türüne bağlı olarak bazı servislerden ve bazı
uygulamalardan kullanılmasında sınırlamalar olabilir. Bu araçlardan bazıları şunlardır,
¾
KPPP , KDE masaüstünün bir bileşeni olan çevirmeli ağ programı
¾
WvDial, kullanımı oldukça basit olan Linux için bir PPP sürücüsü
¾
Linuxconf, aslında bir Linux makinenin PPP yanında bütün genel
ayarlamalarının yapılabileceği bir yapılandırma aracı
¾
GPPP , Gnome PPP yapılandırma arayüzü
Tüm bunların yanında, internete bağlanan her cihaz kendi özel ve tek (Unique)
mantıksal adrese sahip olmak zorundadır. Eğer kullanılan Protokol Ailesi (Protocol Stack)
TCP/IP ise bu adresler IP adresleridir. Bu adreslerin dağıtımı her ülkede dağıtımdan sorumlu
kurumlar tarafından gerçekleştirilir. Bunlara ek olarak yerel ağda (LAN) kullanılacak IP
adresleri herhangi bir İnternet Servis Sağlayıcıdan da( İSP ) alınabilir. IP adresleri rasgele
verilen yerel ağların internete bağlanması durumunda dış ağlarda, yerel ağdaki bir yada daha
fazla makineye verilmiş olan IP adreslerinin çakışacağı makinelerin bulunma olasılığı
oldukça yüksektir. Böylesi bir durumda yönlendirme (Routing) problemleri oluşacağı için
her iki makinede ağa bağlanamaz.
Bu yüzden IP adresleri ya rasgele kullanılmamalıdır yada bu ağların diğer ağlarla
bağlantısının kurulmaması gereklidir. Aynı şekilde çoğunlukla dış dünyaya bağlantı
kurulması düşülmeyen ağlarda yada gerçek IP adres uzayı alınmamış yada alınmayacak
LAN lar için kullanılan özel adres uzayları da vardır bunlar,
¾
Bir Adet A Class Network Address 10.0.0.0 (netmask 255.0.0.0)
¾
16 Adet B Class Network Addresses 172.16.0.0 - 172.31.0.0
(netmask 255.255.0.0)
¾
256 Adet C Class Network Addresses 192.168.0.0-192.168.255.0
(netmask 255.255.255.0)
dır. Bu adres uzaylarına ait IP adresleri İnternette kullanılamazlar. Bu şekildeki bir
yerel ağ üzerindeki bir Linux sunucu üzerindeki NIC (Network Interface Card)
yapılandırılırken bu adresler kullanılarak sunucu ağa bağlanabilir. Aynı zamanda bu sunucu
bir PPP client olarak yapılandırılırsa internete de bağlanabilir fakat bu Linux sunucu
üzerinden LAN üzerindeki diğer makinelerin dışarıya bağlanabilmesi için Linux sunucunun,
üzerinden geçen paketlerdeki özel (Private)
IP adreslerini, gerçek IP adreslerine
dönüştürmesi gerekmektedir (NAT) . Bunun için ise Linux sunucunun bu adreslerin
birbirine eşleştirildiği tabloları oluşturması ve yönetmesi gerekir. Linux bu işlemleri IP
Masquerade (IP Maskeleme) mekanizması ile gerçekleştirir. Bu şekilde çalışan Linux
makinelere ise NAT (Network Adress Translator) adı verilir.
PPP ile internete bağlanan makinalar, internet servis sağlayıcı tarafından bağlanan
makinaya dinamik olarak IP adresi atanır. Dinamik adres ataması, bağlantı süresinde
istemcinin IP adresinin sürekli değişmesi demek değildir. Dinamikten kasıt her ayrı oturum
için farklı bir IP adresinin, ISP tarafından aynı ppp istemci makinaya verilebileceği ve
oturum sonunda IP adresinin geçerliliğini yitireceği anlamına gelir.
Dinamik adresleme mekanizmasının farklı adres atama durumu Linux olsun olmasın
bir sunucunun vereceği bazı servisler için özel bir anlamı vardır. Linux sunucu üzerinde
çalışan sendmail, ftpd, httpd ve bunun gibi iyi bilinen birçok TCP/IP servisi temel olarak
servisi sunan sunucunun herzaman aynı IP adresi ile erişilebilir olması kabulune dayanır.
Yada en azından aynı alan ismine sahip olması ( FQDN – Fully Qualified Domain Name )
ve bir alan ismi sunucusunda ( DNS – Domain Name Server ) bu isim için bir IP
çözümlemesinin yani karşılığının bulunması gerekir. Dinamik IP adres atamaya bağlı olarak
servisler, dökümantasyon içerisinde ilerki konularda tartışılacaktır.
KPPP İle PPP Yapılandırması
KPPP, ppp bağlantılarını yapılandırmak için kullanılan kolay bir araçtır. KDE
kurulumu ile birlikte gelir ve KDE ortamına oldukça iyi uyum sağlamıştır. Aynı zamanda
Kppp çok iyi bir yardım sistemi menüsüne sahiptir.
Resim 7.1 :
K menüsünden quick command çalıştırılarak komut satırına kppp yazılırsa kppp
programı açılır. Programın yardım sistemine soru işareti şeklindeki buton kullanılarak
erişilebilir.(Resim 7.1)
Resim 7.2 :
Kppp penceresinde “ Connect to: ” kısmında kullanıcı tarafından yapılandırılmış
mevcut bağlantılar bulunmaktadır. “ Login ID: ve Password: “sırasıyla ISP’den alınan
kullanıcı ve şifrenin yazılacağı alanlardır (Resim 7.2). Ayrıca “ Show Log Window “
bağlantının kurulma evrelerinin incelenebilmesine olanak sağlayan bir pencere açarak
kullanıcıya yardımcı olur. Bağlantı kurulduktan sonra istatistikler detaylar penceresinden
izelenebilir (Resim 7.3)
Resim 7.3 :
Setup butonu ile bağlantı yapılandırma başlatılır. Setup butonuna basılınca, gerekli
tüm ayarların yapılabileceği üzerinde “Accounts, Device, Modem, Graph, Misc. , About ”
sekmeleri bulanan bir kurulum penceresi ekrana gelir. (Resim 7.4)
Resim 7.4 :
Accounts Sekmesi
İnceleyeceğimiz ilk bölüm olan Accounts sekmesi (Tab) , birden fazla dial-up
yapılandırmasının listelendiği bir yapıya sahiptir ve bu kısımda istenirse varolan bir bağlantı
seçilerek ayarları değiştirilebilirken aktif olan tek tuş durumundaki ” New “ tuşuna basılarak
yeni bir yapılandırma oluşturmak da mümkündür.
New tuşu seçildiğinde “Wizard” ve “Dialog setup” seçenekleri içeren bir başka menü
açılır (Resim 7.5).
Resim 7.5 : Yeni hesap açma diyalog kutusu.
Wizard modunda kppp, sorular sorarak kullanıcı ile karşılıklı etkileşim yoluyla
yapılandırmaya yardımcı olur. Dialog setup modunda ise, alışılagelmiş biçimde kullanıcının
gerekli ayarları yapması beklenir. (Resim 7.6)
Resim 7.6 : Yeni hesap penceresi.
İlk olarak “Connect to :” kısmına, bağlantıya verilecek isim (örneğin ISP nin adı) ,
“Login ID :” kısmına, ISP’den alınan kullanıcı adı ve “Password :” kısmına ise bu
kullanıcıya ait şifre yazılır. Add tuşu kullanılarak ISP nin telefonları eklenebilir ve çevrim
sıraları ayarlanabilir (Resim 7.6). ISP’nin kullandığı kullanıcı doğrulama (Authentication)
türü de burada ayarlanabilir. Mümkün seçenekler, PAP, CHAP, Script Based, Terminal
Based dir.
İkinci olarak IP sekmesinde, IP adresini Static yada Dinamik olarak yapılandırma
seçeneği bulunur. ISP’ler genelde ppp bağlantıları için dinamik IP verirler. Ancak ISP nin
yönlendirmesi ile Static IP ve bu IP nin ait olduğu IP uzayını tanımlayan Ağ maskesinin
kullanılması da mümkündür.
Resim 7.7 : Ip adresi belirleme ekranı.
Ayrıca bağlantı kurulduğu zaman PPP sunucudan alınan IP adresine karşılık gelen
istemci ismininde kurulan oturum boyunca kullanılması için, PPP sunucunun istemciyi
yapılandırılması sağlanabilir (Resim 7.7). Bu özellikle bu tür bir bilgiye bağlı protokollerin
kullanılması açısından faydalı olabilir. Fakat aynı zamanda bir takım problemlerede yol
açabilir. Çok gerekmedikçe kullanılması önerilmez. Dinamik IP Adresleme varsayılandır.
Böylece sunucu oturum için otomatik olarak IP adresi ve Ağ maskesini PPP sunucudan
öğrenir.
Gateway sekmesinde, istemcinin ait olduğu ağdan dış ağlara ulaşabilmesi için hangi
geçit adresini kullanaçağının belirlendiği Default Gateway yada Static Gateway ayarları
vardır. Default Gateway yani varsayılan geçit adresi ISP nin PPP sunucusu tarafından IP
adresi gibi otomatik olarak yapılandırılır (Şekil 4). Static Gateway ise ISP’den öğrenilerek
yapılandırılabilir.
Resim 7.8: Gateway belirleme ekranı.
DNS (Domain Name System) sunucularının adresleri, alan adı (domain name), DNS
sekmesinden kaydedilebilir yada bağlantı esnasında ISP nin alan adı sunucularının adresleri
otomatik ataması sağlanabilir. Aynı zamanda bağlantıdan önce varolan kayıtların geçersiz
bırakılması sağlanabilir.
UYARI: (Resim 7.8) Eğer Linux istemci makinanız halihazırda bir NIC üzerinden
bir iç ağa ve bu iç ağ üzerinden dış ağlara erişebiliyorsa zaten bir Gateway yapılandırması
var demektir. Eğer bu Default Gateway yapılandırması ise makinanın dış ağlara bu gateway
üzerinden ulaşmaya çalışacağı anlamına gelir ve PPP sunucusunun, bağlantı esnasında kendi
Default Gateway adresini ataması, halihazırda Default Gateway tanımlaması varolduğu için
yapılmaz yada başka bir Default Gateway Adresi eklemez (Aslında elle birden fazla Default
Gateway eklenebilir ancak çok gerekli değildir).
Eğer Linux makinanın kurulmuş olan PPP bağlantısı üzerinden dış ağlara bağlanması
isteniyorsa ya NIC in tanımladığı cihaz (device örneğin eth0) etkisizleştirilmeli – ifdown
eth0 komutu ile kaldırılmalı – ve PPP sunucu için Default Gateway tanımlaması makinaya şu
komut ile elle girilmelidir,
# ifdown eth0
# route add default gw (ISP den alınan IP uzayının gateway adresi)
yada
# route add default gw dev ppp0
veya bağlantıdan önce eth0 arayüzü kapatılır, sonra ppp bağlantı kurulur ve eth0
arayüzü tekrar etkin hale getirilir ( ifdown eht0 – ppp0 – ifup eth0 ).
Birden fazla Default Gateway ve dolayısı ile Default Route olması durumunda Linux
makina yük paylaşımı gerçekleştirir. Yani iç ağdan dış ağlara giden paketler sırayla iki ayrı
yoldan gönderilir.
Resim 7.9’da, kernel routing tablasounda iki ayrı default gateway kaydı
görülmektedir. Bunlardan birincisi eth0 arayüzünün yani NIC ‘in bağlı olduğu ağın geçit
adresi (160.75.5.254), ikincisi ise ppp0 arayüzünün bağlı olduğu (160.75.8.249) geçit
adresidir. Yönlendirme (routing) yapmakta olan Linux makina, www.boun.edu.tr adresine
eth0 ‘a ait gateway üzerinden çıkarken, www.itu.edu.tr adresine ppp0 geçit adresinden
çıkarak bağlanır (Load Balancing) ve bu zamanla değişkenlik gösterebilir.
Login Script, ancak Dial sekmesinde kullanıcı onaylama tipi olarak Script-Based
onaylama türü seçilmiş ise kullanılır. Login Scripti bağlantı için ISP’nin kullanıcıyı
tanımlamak ve izin vermek için sorduğu sorulara otomatik cevap verebilmek için kullanılan
bir seri komutlardan ve bu komutların gönderdiği cevaplardan oluşur. Komutlar seçildikten
sonra, Add ve Insert tuşları kullanılarak eklenir ve remove ile kaldırılır.
Resim 7.9 : Ip tablosu görüntüsü.
Accounting sekmesi, kullanıcının bir bağlantı süresince gelip giden byte’lerin kaydını
tutmasına izin verir. Bu sayı, İSP’nin bu şekilde yani taşınan byte sayısı üzerinden
üçretlendirme uyguladığı durumlarda faydalı olur.
Device Sekmesi
Kppp Yapılandırmasında ikinci adım olarak “Device” sekmesini inceleyeceğiz. Bu
aşama modem yapılandırmasını içerir. Burada, modem cihazının bağlantılı olduğu karakter
cihazı (ttyS0,ttyS1,...) seçilebilir, akış kontrolü tipi (CRTCTS,Xon/Xoff), satır
sonlandırması ve bağlantı hızı ayarlanabilir. ISP aksini söylemedikçe varsayılan
yapılandırmanın kullanılması önerilir çünki basit bir modem için bu yeterlidir. Ayrıca
modem için kilit dosyası ve zaman aşımı kullanımı şiddetle tavsiye edilir. Modem zaman
aşımı (Modem Timeout), kppp ‘nin modemden gelecek olan cevaplar için ne kadar
bekleyebileceğini belirler. (Resim 7.10)
Resim 7.10 : Device sekmesi
Modem Sekmesi
Modemin test edilmesi ve hata belirleme için oldukça faydalıdır. Query Modem tuşu
kullanılarak sisteme bağlı modemin özelliklerinin belirlenmesi ve çalışıp çalışmadığı kontrol
edilibilir. Terminal butonu kullanılarak modeme bağlanılarak üzerinde çeşıtli komutlar
yürütülebilir (ATDT 08225552323, ATF, ATM,ATZ,…gibi). (Resim 7.11)
Resim 7.11 : Modem sekmesi.
Miscellaneous Sekmesi
Bu bölümde kppp ile ilgili çeşitli ve faydalı bir çok ayar bulunur. pppd Timeout alanı,
kppp’nin, bir bağlantı kurabilmesi için pppd’yi nekadar bekleyeceğini belirler. Dock alanı
ise, bağlantı kurulur kurulmaz, kppp’nin sedece panelde bir süreç olarak görüntülenmesini
sağlar. Automatic redial alanı, bağlantının kopması durumunda yeniden bağlantı kurulup
kurulmayacağını belirler. Show Clock alanında bağlantı süersi görüntülenir. The Disconnect
on X-Server Shutdown ‘da ise Kppp ‘den herhangi bir sebeple çıkılırsa, ppp’nin yani
bağlantının sonlandırılıp sonlandırılmayacağı belirlenir. Quit on Disconnect seçeneği
bağlantı sonlandırıldığında kppp programının kapatılabilmesine izin verir.(Resim 7.12)
Graph Sekmesi
Kppp nin bir özelliği olarak, bağlantı süreci boyunca yerel sisteme giren çıkan
paketler, byte olarak veri alışverişinin miktarları ve bağlantının verimi grafiklerle gösterilir.
Graph sekmesinde bu grafiklerin hangi renklerle gösterileceği seçilebilir
Resim 7.12 : Miscellaneous sekmesi
Wvdial İle PPP Yapılandırması
WvDial bir komut-satırı pppd sürücüsüdür ve iki ana bileşenden oluşur. Bu Bileşenler
WvDialconf ve WvDial dır. Her ikiside root kullanıcı olarak çalıştırılmalıdır. Yapılandırma
için ilk olarak WvDial.conf çalıştırılmalıdır. WvDialconf çalıştırıldığında bir modem ve
İnternet Servis Sağlayıcı (İSS) hakkında bilgiler içeren WvDial.conf adında bir yapılandırma
dosyası oluşturur. Aynı zamanda bilgisayarın seri portlarını (COM Ports) tarayarak bunlara
bağlı olan modemlerı tanımaya ve ozelliklerini ve yeteneklerini belirlemeye çalışır.
WvDialconf programı yapılandırma dosyasının tam yolu ve ismi ile birlikte çalıştırılmalıdır.
# wvdialconf /etc/wvdial.conf
wvdialconf komutunun çıktısı şekildeki gibi olabilir (Resim 7.13).
Resim 7.13 : wvdial komutu çıktısı.
Örnek bir wvdial.conf dosyasının içeriği ise şu şekildedir.(Resim 7.14)
Resim 7.14 : wvdial.conf dosyasının içeriği
Bir kere, wvdialconf programı çalıştırılıp, /etc/wvdial.conf yapılandırma dosyası
oluşturulduktan sonra, yapılandırma dosyasının bir metin editörü ile düzenlenmesi gerekir.
Bu aşamada dial-up bağlantı için kullanılacak ISS telefon numarası, bu ISS üzerinde geçerli
bir kullanıcı adı ve şifresi ilişkili satırlarda düzenlenmelidir. Bu satırlar,
; Phone = <Target Phone Number>
; Username = < Your Login Name>
; Password = < Your Password >
dır. Tabiki satırların başındaki ilk yapılandırmada dikkate alınmayacak satırları ifade
etmek için kullanılan “ ; “ karakterlerinin kaldırılması gereklidir aksi takdirde girilen
numara, kullanıcı adı ve şifre dikkate alınmaz.
Bğlantıyı kurmak için komut satırında wvdial çalıştıtılarak bağlantı sağlanır ve varsa
hatalar programın ekran çıktısından izlenerek gerekli düzeltmeler yapılandırma dosyasında
yapılır. Programın çalışmasını durdurarak bağlantıyı sonlandırmak için CTRL+C tuş
kombinasyonu kullanılır.
Pardus’ta İnternet Bağlantısı
Bu bölümde size Pardus işletim sisteminizi kullanarak nasıl internete bağlanılacağı,
modem ayarları, web tarayıcısı (browser), indirme yöneticisi (download manager) vb.
programlar hakkında bilgi verilecektir.. Pardus içerisinde, bu bölümde anlatılan programlar
dışında aynı işi yapan başka programlar da bulabilirsiniz.
Pardus Modem Bağlantısı
Modem bağlantısı yapabilmek için öncelikle modemin Linux tarafından tanınmış ve
çalışıyor olması gereklidir. Özellikle donanım bilgileri açık olmayan bazı modemler Linux
altında çalışmadığından, bunların temin etmeden önce mutlaka Pardus donanım
uyumluluğunu gözden geçirmenizi öneririz.
Bir modem bağlantısı yaparken aşağıdaki adımları uygulayın:
¾
¾
¾
Ağ bağlantı programını çalıştırın.
“Oluştur” düğmesine tıklayın.
Bu pencerede “dialup network”ü seçin ve “Bağlantıyı oluştur” düğmesine
tıklayın.
¾
Karşınıza gelen yeni pencerede sırasıyla bağlantı ismini, modemin kullandığı
seri portu (genellikle COM1'dir) ve telefon numarasını girin.
¾
Penceredeki “Kimlik doğrulama” sekmesine tıklayarak kullanıcı adını ve
parolasını girin.
Şimdi “Bağlan” düğmesine tıklayarak modem bağlantısını kolayca yapmak
mümkündür.
Resim 7.15 : Örnek modem bağlantı penceresi.
Mozilla Firefox
Mozilla Firefox, Mozilla Vakfı tarafından geliştirilen ve Pardus içerisinde kurulu
olarak gelen bir web tarayıcısıdır. Firefox ile internette gezinebilir, eklentileri ile bir çok
ihtiyacınızı tarayıcı üzerinden halledebilirsiniz.
Firefox, önceden kullanmış olduğunuz WEB tarayıcısı ile temelde aynı özellikleri
taşır. Yani kullanımında her hangi bir zorluk çekmezsiniz. Ama biz burada normal bir WEB
tarayıcısında olmayan özelliklerden ve ip uçlarından bahsedeceğiz. Böylece Firefox'u daha
etkili ve aktif olarak kullanabileceksiniz.
Resim 7. 16 : Mozilla Firefox ekranı.
Sekme Özelliği
Sekme özelliği, Firefox'ta bulunan en kullanışlı özelliklerden bir tanesidir. Genelde
kullanıcılar internete girdiklerinde aynı anda birden fazla WEB sitesi açarlar ve bunları
kullanırlar. Firefox bu durumu göz önüne alarak küçük ama hoş bir özellik eklemiş. Bu
özellik sayesinde aynı pencere içerisinde birden fazla WEB sitesi açmasını sağlıyor.
Bu özelliği kullanmak için Firefox'u açın ve Ctrl+t'ye basın. Aynı pencere üstünde
ikinci sekmenin açıldığını göreceksiniz. Bu sekmelerin sınırı sizin sistem yapınıza göre
değişmektedir.
İndirme Yöneticisi
Mozilla Firefox, içerisinde bir indirme yöneticisi ile beraber geliyor. Bu sayede
indirdiğiniz dosyaları rahatlıkla görebilir ve yönetebilirsiniz. Bu uygulamaya Araçlar
menüsündeki İndirme Yöneticisi seçeneğinden ulaşabilirsiniz.
TEMEL KULLANICI ve GRUP
İŞLEMLERİ
Kullanıcı ve Grup Kavramları
Kullanıcı Hesapları
Temel olarak Linux işletim sisteminde kullanıcı bilgileri /etc/passwd
dosyasında tutulmaktadır. Bu dosyada kullanıcı ismi , şifresi , kullanıcı
kimlik numarası , birincil grup kimlik numarası , kullanıcı ile ilgili genel
bilgiler, kullanıcının dizininin sistemdeki yeri ve kullanıcının kullandığı kabuk
bilgileri bulunmaktadır.
/etc/passwd dosyasındaki bir satır aşağıdaki yapıya sahiptir :
kullanıcı_ismi:şifre:uid:gid:gecos:kullanıcının_dizini:kabuk
sense:x:11807:100:Seref Halil Sen:/users/lnxsrv3/sense:/bin/sh
Kullanıcı kimlik numarası (uid) sistem üzerinde bulunan her kullanıcı
için
farklıdır.
İşletim
sistemi
tarafından
yapılan
temel
yetkilendirme
işlemlerinde
bu
bilgi
kullanılmaktadır.
Sistem
yöneticisi
olan
root
kullanıcısının
kimlik
numarası
sıfırdır(0).
Normal
kullanıcıların
kimlik
numaraları 500'den başlamaktadır.
Birincil grup numarası , kullanıcının dahil olduğu temel grubu
göstermektedir. Kullanıcılar birden fazla gruba dahil olabilmektedir. Herbir
kullanıcı mutlaka bir gruba dahil olmak zorundadır.
Kullanıcının kişisel bilgilerinin bulunduğu alan (gecos) kullanıcının tam
ismi , ofisi , ofis telefonu ve ev telefonu bilgilerini içerebilmektedir. Bu alan
boş bırakılabileceği gibi istenilen bilgiler ile de doldurulabilir.
Kullanıcının dizininin tanımlandığı 6. alan ise kullanıcının kişisel
dosyalarını koyabileceği alanın sistemdeki yerini belirtmektedir. Kullanıcının
kullandığı kabuk bilgisi , kullancı sisteme girdiği takdirde kullanacağı
kabuğun sistemdeki yerini belirtir.
/etc/passwd
dosyası
sistemde
bulunan
bütün
kullanıcılar
tarafından
okunabilir olmak zorundadır. Bunun sebebi bir çok uygulamanın bu dosyayı
kullanma zorunluluğudur. Bu durumda kullanıcıların şifreleri her ne kadar
encrypt edilmiş olarak da olsa herkes tarafından görülebilecektir. Bu sayede
şifre kırıcı programlar çalıştırılarak kullanıcıların şifrelerini elde etme imkanı doğacaktır. Bu
sebepten
dolayı
şifreler
tüm
güncel
libux
sürümlerinde
/etc/shadow dosyasında tutulmaktadır. Bu dosya sadece sistem yöneticisi konumundaki
“root”
kullanıcısı
tarafından
okunabilmektedir.Bo
dosya
aynı
zamanda şifrenin en son ne zaman değiştirildiği , kullanıcının ne zaman
geçersiz
olacağı
,
kullanıcıların
şifrelerini
değiştirmeden
geçirebilecekleri
maksimum gün sayısı gibi ek bilgileri de içermektedir.
/etc/shadow dosyasının genel yapısı aşağıdaki gibidir :
kullanıcı_ismi:şifre:sp_lastchg:sp_min:sp_max:sp_warn:sp_inact:sp_expire:sp_flag
¾
¾
¾
¾
¾
¾
¾
sp_lastchg alanı kullanıcısının şifresini en son değiştirdiği zaman ile ilgili
bilgiyi tutar. Bu alanda bulunan değer şifre değişim tarihinin 1 Ocak 1970
tarihinden kaç gün sonra olduğudur.
sp_min alanı kullanıcının şifresini değiştirebilmesi için geçmesi gereken
minumum gün sayısını içermektedir. Bu süre dolmadan kullanıcının şifresini
değiştirmesi mümkün değildir. Eğer bu alan –1 değerini içeriyorsa şifre
değiştirme işlemi için belirli bir süre geçmesi gerekli değildir.
sp_max alanı kullanıcının aynı şifreyi kullanabileceği maksimum gün
sayısını belirtir. Bu süre dolduğunda kullanıcının şifresini değiştirmesi
gerekmektedir. Eğer bu alan 999999 değerini içeriyor ise kısıtlama geçerli
değildir.
sp_warn
alanı
kullanıcının
şifresini
değiştirmeden
kullanabileceği
maksimum gün sayısı dolmadan kaç gün önce kullanıcının uyarılması gerektiği
bilgisini içerir. Kullanıcının uyarılması kullanıcı sisteme girerken yapılmaktadır.
Eğer bu alan –1 değerini içeriyor ise uyarı mesajı verilmeyecektir.
sp_inact alanı kullanıcının şifresinin süresi dolduktan sonra kullanıcının
pasif hale getirlmesi için geçmesi gereken süredir. Bu süre içinde kullanıcının
şifresi değişmediği takdirde kullanıcı pasif hale geçecektir. Eğer bu alan –1
değerini içeriyor ise pasifleştirme işlemi uygulanmamaktadır.
sp_expire kullanıcının hesabının ne zaman sona ereceği bilgisini taşır.
Burada bulunan değer 1 Ocak 1970 tarhinden itibaren geçmesi gereken gün sayısıdır.
sp_flag alanı sonradan kullanım için düşünülmüş ve şu an kullanılmayan
bir alandır.
Gruplar
Gruplar sistemde bulunan kullanıcılardan belirli kümeler oluşturmak için
kullanılmaktadır. Gruplar sayesinde yetkiler toplu biçimde tanımlanabilmektedir. Gruplar ile
ilgili bilgiler /etc/group dosyasında tutulmaktadır.
/etc/group dosyası aşağıdaki formata sahiptir:
grup_ismi:grup_şifresi:Grub_kimlik_numarası:üyeler
grup_ismi alanını belirtilen grubun isimini tanımlamak için kullanılır. Grup şifresi
alanı grubun şifresi içermektedir. Gruplar için şifre uygulaması çok fazla kullanılan bir
uygulama değildir. Grup kimlik numarası grup ile ilişkilendirilmiş sayısal bir değer
içermektedir. Her grupta bu değer farklı olamak zorundadır. Üyeler kısmı gruba dahil olan
kullanıcıların isimlerini içermektedir.
Temel Kullanıcı ve Grup İşlemleri
Kullanıcı İşlemleri
Kullanıcı işlemleri , sisteme yeni kullanıcıların eklenmesi , varolanlar üzerinde
değişiklik yapılması ve gereksiz kullanıcıların silinmesi işlemlerini içermektedir.
Kullanıcı İşlemlerinin Sistem Komutları İle Yapılması
Kullanıcı Eklemek
Kullanıcı eklemek için Linux sistemlerde useradd komutu kullanılmaktadır. Bu
komutun temel yapısı aşağıdaki gibidir :
useradd –d kullanıcı_dizini –e hesabın_son_kullanım tarihi –f aktif_olmama_süresi -g
birinci_grup –G Gruplar –m –s kabuk –u uid kullanıcı_ismi
Kullanıcı ismi dışındaki tüm parametler isteğe bağlı olarak verilebilecek
parametrelerdir. Kullanıcı ismi dışındaki parametlerin anlamları aşağıdadır :
-d kullanıcı_dizini : Kullanıcının şahsi dizininin sistemdeki yerini belirmek için
kullanılır. Bu değer verilmediği takdirde bu değer /home/kullanıcı_ismi olarak alınacaktır.
-m : Kullanıcının kişisel dizininin kullanıcının yaratılması sırasında oluşturulmasını
sağlar. Red Hat sistemlerde bu parametreye gerek yoktur. Kurulum ayarları değiştirilmediği
sürece sisteme kullanıcı eklenirken kişisel dizini oluşturulmaktadır.
-e son kullanım tarihi : Hesabın sona ereceği tarihi içerir. Bu parametre ile
aktarılacak değer AA/GG/YY formatına sahiptir.
-f aktif_olmama_süresi : Hesabın şifresinin geçersiz olmasından itibaren kullanıcının
pasif hale getirilmesi için geçmesi gerek süreyi içermektedir.
-g grup : Kullanıcının dahil olacağı birincil grubu içermektedir. Bu değer verilmediği
takdirde Red Hat Linux sistemlerde kullanıcı için kullanıcı ismi ile aynı başka bir grup
yaratılacak ve bu kullanıcının birincil grubu olarak kabul edilecektir. –n parametresi ile
kullanıcı için yeni bir grup açılması engellenebilmektedir.
-G gruplar : Kullanıcının dahil olduğu diğer grupları göstermektedir.
-s kabuk : Kullanıcının kullanacağı kabuğu belirtmektedir.
-u uid : Kullanıcının kimlik numarasını belirtir. Verilmediği takdirde sistem bir
sonraki müsait kimlik numarasını seçer.
Örnek 8.1 :
useradd halil useradd –g users halil
Kullanıcı Silmek
Sistemde var olan kullanıcı hesaplarını kaldırmak için userdel komutu
kullanılmaktadır. Userdel komutunun temel yapısı aşağıdaki gibidir :
userdel [-r] kullanıcı_ismi
Sistemden bir kullanıcı kaldırılırken kullanıcının kişisel dizini silinmemektedir.
Kullanıcı silinirken dizininin de silinmesi için userdel komutu –r parametresi ile
çalıştırılmalıdır.
Kullanıcı Bilgilerini Değiştirmek
Usermod Komutu
usermod komutu ile var olan bir hesap üzerinde değişiklikler yapabilirsiniz. Bu komut
yardımıyla yapabileceğiniz değişiklikler aşağıdaki gibidir :
usermod –d dizin –e son_kullanım_tarihi –f aktif_olmama_süresi -g birincil_grup -G
gruplar –l kullanıcı_ismi –u uid kullanıcı_ismi
¾
Kişisel Dizinin Değiştirilmesi : Kullanıcının kişisel dizininin yerinin değiştirilmesi
için –d parametresi kullanılmalıdır. Kullanıcının kişisel dizininde var olan dosyların
yeni dizine taşınması için –m paremetresi ile birlikte kullanılması gerekmektedir.
¾
Hesabın Son Kullanım Tarihinin Değiştirilmesi : Hesabın sona ereceği tarihin
değiştirilmesi için –e parametresinin kullanılması gerekmektedir. Bu parametre ile
aktarılacak değer AA/GG/YY formatına sahiptir.
¾
¾
¾
¾
¾
Aktif Olmama Süresini Değiştirmek : Hesabın şifresinin geçerliliğini yitirdikten
sonra , hesabı pasif hale getirmek için geçmesi gereken sürenin değiştirilmesi için –f
parametresi kullanılmalıdır.
Birincil Grubu Değiştirmek : Kullanıcının dahil olduğu birincil grubun değiştirilmesi
için –g parametresi kullanılmalıdır.
Kullanıcının Dahil Olduğu Grupların Değiştirilmesi : Kullanıcının dahil olduğu
diğer grupların değiştirilmesi için –G parametresi kullanılmalıdır. Dikkat edilmesi
gereken konu kullanıcının sadece bu parametreye verilen gruplara dahil olacağıdır.
Kullanıcının önceden dahil olduğu grup üyelikleri silinecek ve parametreye aktarılan
gruplara üyelikleri yapılacaktır.
Kullanıcı İsminin Değiştirilmesi : Kullanıcı isminin değiştirilmesi için –l parametresi
kullanılmalıdır. Verilecek olan yeni isim sistemde mevcut olmamalıdır.
Kullanıcın Kimlik Numarasının Değiştirilmesi : Kullanıcının sahip olduğu kimlik
numarasının değiştirilmesi için –u parametresi kullanılmalıdır. Verilen kimlik
numarası sistemde diğer kullanıcılar tarafından kullanılmayan bir kimlik numarası
olmalıdır.
Chfn Komutu
chfn komutu kullanıcının kişisel bilgilerini değiştirmek için kullanılan bir komuttur.
Komut temel olarak aşağıdaki formata sahiptir.
chfn [ -f tam_isim ] [ -o ofis ] [ -p ofis_tel ] [ -h ev_tel] [ kullanıcı_ismi ]
Kullanıcı ismini parametre olarak verebilecek tek kullanıcı sistem yöneticisi olan root
kullanıcısıdır. Normal kullanıcılar bu parametreyi komuta aktaramazlar.
Kullanıcı ismi dışında hiç bir parametre aktarılmadığı takdirde komut sırayla gerekli
bilgileri isteyecektir.
Örnek 8.2:
[root@ciragan /root]# chfn halil Changing finger information for halil.
Name []: Halil Catak
Office []: MUGLAEML
Office Phone []: 6543210
Home Phone []:
Finger information changed.
[root@ciragan /root]# chfn –f “Halil Catak” –o “MUGLAEML” –p “6543210” halil
Chsh Komutu
chsh komutu kullanıcı için tanımlı kabuğu değiştirmek için kullanılır: Komut temel de
aşağıdaki yapıya sahiptir :
chsh [–s kabuk] [-l] [ kullanıcı_ismi]
Kullanıcı ismi parametresi sadece root kullanıcısı tarafından komuta
aktarılabilmektedir. –l parametresi ile sistemde geçerli olan kabuklar listelenmektedir.
Sistemde tanımlı olan kabuklar /etc/shells dosyasında bulunmaktadır. –s parametresi ile yeni
kabuk verilmediği takdirde komut kullanıcıdan kabuk bilgisini girmesini isteyecektir.
Örnek 8.3:
[root@ciragan /root]# chsh –1
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
[root@ciragan /root]# chsh -s /bin/tcsh
Changing shell for root.
Shell changed.
[root@ciragan /root]# chsh
Changing shell for root.
New shell [/bin/tcsh]: /bin/bash
Shell changed.
Passwd Komutu
passwd komutu temelde kullanıcının şifresinin değiştirilmesi amacı ile
kullanılmaktadır. Fakat bu komut kullanılarak kullanıcının pasif hale getirilmesi ,
kullanıcının kilitlenmesi gibi işlemler de mümkündür. Passwd komutu temelde aşağıdaki
yapıya sahiptir :
passwd [-l] [-u [-f]] [-d] [-S] [kullanıcı_ismi]
passwd komutu sistemdeki normal kullanıcılar tarafından sadece kendi şifrelerini
değiştirmek amacı ile kullanılabilmektedir. Bu sebepten dolayı passwd komutuna parametre
aktarma imkanları bulunmamaktadır.
Sistem yöneticisi olan root kullanıcısı aktardığı parametreler ile aşağıdaki işlemleri
gerçekleştirebilmektedir :
Sistemdeki herhangi bir kullanıcı için işlemi gerçekleştirmek : Passwd komutuna
kullanıcı isminin parametre olarak verilmesi sayesinde komutun yapacağı tüm işlemlerin
verilen kullanıcı için yapılması sağlanmaktadır.
¾
¾
¾
Kullanıcının kilitlenmesi : Kullanıcı hesabının kilitlenmesini gerçekleştirmek
için –l parametesi gönderilmelidir. Bu parametre gönderildiğinde kullanıcının
şifresinin önüne “!” karakteri yerleştirilerek şifre geçersiz kılınmaktadır.
Kilitli kullanıcıları tekrar aktif hale getirmek : Kilitlenmiş bir hesabı tekrar
aktif hale getirmek için –u parametresi kullanılmalıdır.
Kullanıcıyı şifresiz duruma getirmek : Kullanıcının şifresini kaldırmak için –d
parametresi kullanılmalıdır. Bu parametre passwd komutunun yardım
dosyalarında kullanıcıyı pasif hale getirmek diye geçmesine rağmen yaptığı
temel işlem kullanıcının şifresini kaldırmaktır. Bu durumda şifre sorulmadan
kullanıcının girişine izin verilmektedir. Bu sebepten dolayı bu parametrenin
kullanılması önerilmemektedir.
Kullanıcı İşlemlerinin Userconf Programı İle Yapılması
Userconf programı RedHat Linux ile birlikte gelen ve kullanıcı yönetimi için arayüz
oluşturan bir programdır. Bu program hem X Window platformunda , hem de konsol da
çalışmaktadır. Programı çalıştırmak için “userconf” komutunun verilmesi yeterlidir.
Userconf Programı İle Kullanıcı Hesabı Açılması
İlk olarak userconf programı çalıştırılmalı ve çıkan arayüzden “User Accounts”
kısmına girilmelidir. Kullanıcı hesaplarına girildiği takdirde sistemde bulunan kullanıcıların
listelendiği Resim 8.1'deki ekran karşımıza gelecektir. Bu ekranda var olan kullanıcılar ile
ilgili değişikliler de yapılabilmektedir. Yeni bir kullanıcı yaratmak için “Add” tuşuna
basılması Resim 8.2'de bulununan ekranı karşımıza getirecektir.
Resim 8.1 : Kullanıcı hesapları ekranı.
Bu ekranda gerekli bilgiler girildikten sonra “Accept” tuşu ile kullanıcının yaratılması
sağlanmaktadır. Bu ekranda da görüldüğü gibi usermod komutuna verilebilen tüm
parametreler bu ekran üzerinden ayarlanabilmektedir. “Base Info” başlıklı sekmede
kullanıcı ile ilgili genel tanımlar yapılırken , “params” başlıklı sekmede kullanıcı ile ilgili
shadow dosyasında bulunacak bilgilerin ayarı yapılmaktadır. “Privileges” başlıklı sekmede
ise kullanıcının sistemdeki hakları tanımlanmaktadır. Bu kısımda tanımlanan haklar Red Hat
Linux dağıtımları ile birlikte gelen ve sistem yönetimi için kullanılan “linuxconf” programı
için geçerli haklardır. “Mail Settings” başlıklı sekmede ise kullanıcı mail aliasleri
tanımlanabiliyor. “Disk quota” sekmeninde kullanıcın disk alanı limitleri ile ilgili
ayarlamalar yapılır.
Resim 8.2 : Kullanıcı hesabı ekleme ekranı.
Bu ekrandaki bilgiler doldurulup kabul edildikten sonra kullanıcının şifresini soran bir
ekran karşımıza gelecektir. Bu ekranda girilecek şifre kullanıcının şifresi olarak
kullanılacaktır.
Userconf Programı İle Kullanıcı Silinmesi
Resim 8.3'deki “User Accounts” kısmından silinecek kullanıcı seçildiğinde karşımıza
Resim 8.4'te bulunan “User Information” ekranı karşımıza gelecektir.
Resim 8.3 : Kullanıcı hesabı ekleme ekranı.
Resim 8.4 : Kullanıcı bilgileri ekranı.
Bu ekranda “Del” tuşu basılarak kullanıcı silme ekranı çağrılır (Resim 8.5). Bu
ekrandaki birinci seçenek “Archive the account's data” seçildiği takdirde silinecek
kullanıcının kişisel dizisi yedeklenip sadece kullanıcı bilgileri silinir.
Resim 8.5 : Kullanıcı bilgileri ekranı.
Eğer “Delete the account' data” olan seçenek işaretlenecek ise kullanıcının bilgileri
ile birlikte kişisel dizini de silinmiş olur. Üçüncü seçenek olan “Leave the account's data in
place” işaretlenirse kullanıcı bilgileri silinip kişisel dizini olduğu gibi yerinde kalacaktır.
Userconf Programı İle Kullanıcı Bilgilerinin Güncellenmesi
Kullanıcı bilgilerini güncellemek için Resim 8.3'deki ekranda gerekli değişiklikler
yapıldıktan sonra “Accept” tuşu ile etkili hale getirilir.
Grup İşlemleri
Grup işlemleri, sisteme yeni grupların eklenmesi, varolanlar üzerinde değişiklik
yapılması ve gereksiz grupların silinmesi işlemlerini içermektedir.
Grup İşlemlerinin Sistem Komutları İle Yapılması
Grup Eklemek
Sisteme yeni bir grup eklemek için Linux'ta groupadd komutu kullanılmaktadır. Bu
komutun temel yapısı aşağıdaki gibidir:
grupadd –g gid –r –f grup_adı
Burada grup adı dışında tüm parametreler isteğe göre verilebilir. Parametrelerin
açıklamaları aşağıdaki gibidir:
¾
-g gid : Grubun kimlik numarasını belirtir. Verilmediği takdirde sistem bir
sonraki müsait kimlik numarasını seçer.
¾
-r : Bu parametre verildiği takdirde gid 499'un altında verilebiliyor. Aksi
takdirde 499'un altındaki gidler sistem gruplarına aittir ve sıradan bir grup için
böyle bir gid tanımlanmasına izin verilmiyor.
¾
-f : Bu paramtre ile komut sonucunda oluşan hataları kullanıcıya iletmeden
komut işlemlerini durduruyor.
Örnek 8.4:
groupadd users groupadd –g 550 users
Grup Kaldırmak
Sistemde varolan bir grubu kaldırmak için groupdel komutu çalıştırılır. Bu komutum
temel yapısı aşağıda verilmiştir:
groupdel group_adı
Ayrıca bir grup kaldırılmadan önce gruptaki tüm kullanıcıların silinmesi gerekir.
Grup İşlemlerinin Userconf Programı İle Yapılması
UserConf Programı İle Grup Oluşturulması
Userconf programı çalıştırıldıktan sonra gelen ekranda (Resim 8.6) “Group
definitions” tuşu kullanarak grup işlemleri ekranına geçilir (Resim 8.7).
Resim 8.6 : Grup oluşturma ekranı.
Resim 8.7 : Gruplar ekranı.
Resim 8.8: Grup işlemleri ekranı.
Yeni bir grup eklemek için bu ekranda “Add” tuşu kullanılır, bunun sonucu Resim
8.8'de yer alan ekran gelecektir.
Bu ekranda gerekli bilgiler doldurulduktan sonra “Accept” tuşu ile yeni grup açılması
sağlanmaktadır. “Group disk quota” sekmeninde grubun disk alanı limitleri ile ilgili
ayarlamalar yapılır. “Members default disk quota” sekmeninde grupta tanımlanacak
kullanıcılar için varsayılan disk alanı ile ilgili ayarlamalar yapılır. “Directories” sekmesinde
oluşturulan grup tarafından kullanılacak dizinler tanımlanır.
UserConf Programı İle Grup Kaldırılması
Grup işlemleri ekranında (Resim 8.8) grup seçildikten sonra, “Del” tuşu kullanılarak
grup silme isteğinde bulunulur. Bu işlemden sonra sistem grup silme isteğini onaylanmasını
ister (Resim 8.9).
Resim 8.9 : Grup silme onay ekranı.
UserConf Programı İle Grup Bilgilerinin Güncellenmesi
Grup işlemleri ekranında bilgileri güncellenmesi istenen grup seçilir. Grubu seçmek
için üstüne tıklanması yeterlidir. Grup bilgileri ekranında (Resim 8.10) gerekli değişiklikler
yapıldıktan sonra “Accept” tuşu ile güncellemeler aktif hale getirilir.
Resim 8.10 : Grup işlemleri ekranı.
Pardus’ta Kullanıcı İşlemleri
Pardus'ta yeni bir kullanıcı oluşturmak için, KDE menüsünden Pardus Yapılandırma
Merkezi'ni (Tasma) çalıştırın. Bu pencereden Sistem Seçenekleri kategorisinde 'Kullanıcı
Ekle ve Çıkart'ı simgesine tıklayın.
Bu pencerede bir kullanıcı eklemek için önce “Yönetici Modu” düğmesine tıklayın.
Sistem sizden kurulum sırasında verdiğiniz sistem yöneticisi parolasını isteyecektir. Bu
parolayı girdikten sonra sırasıyla açılmak istenen kullanıcı adını, gerçek ismini ve parolasını
girerek yeni kullanıcıyı sisteme tanıtabilirsiniz.
Pardus ile Grafiksel Ortamda “Yönetici Modu”na sadece ihtiyaç duymanız ile
kullanabileceksiniz. Root şifresi ile kesinlikle “Grafiksel Ortam”a giremezseniz. Güvenlik
gereği olarak bu türde bir uygulamaya gidilmiştir.
Kullanıcı olarak oluşturduğunuz parolalarınızı bu modül ile değiştirebilecek ve
değiştirme sırasında birbiri ile tutmayan parolaların için uyarı yazısını görebileceksiniz.
Resim 8.11 : Pardus Kullanıcı Ekle –Çıkart Modülü.
KABUK İŞLEMLERİ
Kernel, bir unix sistemin kalbidir, bilgisayarın açılması ve sistemin boot etmesinden,
sistemin kapatılmasına kadar olan süre içinde bilgisayar belleğinde yer alır. Uygulamalar ise,
diğer taraftan, bilgisayarın diskinde bulunurlar ve ancak istendiği zaman belleğe yüklenirler.
(Şekil 9.1). Göreceli olarak (hemen hemen) her unix komutu uygulama olarak
sınıflandırılabilir. Örneğin 'date' komutunu işlettiğiniz zaman 'UNIX system date' adlı
program diskten belleğe yükler ve çalısmasını sağlar. Kabuk (Shell) bir uygulama
programıdır. Sisteme bağlanıldığında (logon) işletilmek üzere belleğe yüklenir.
Şekil 9.1 : Unix sistemlerde kabuk.
Komut Satırı, Programlara Parametre Gönderme
Kabuklar kullanıcıların sistem ile etkileşimini sağlayan programlardır. Bu programlar
sayesinde kullanıcı istediği komutları çalıştırabilir ve sonuçları görebilir.
Linux sistemler ile birlikte en çok bash kabuğu kullanılmaktadır. Sistemde bulunan
kabuklar /etc/shells dosyasında da bulunmaktadır. Bu dosyada tanımlanmış olan kabuklar
sistemde geçerli olan kabuklardır. Bu dosyada tanımlı olmayan kabuklarda sistemde
bulunabilmektedir. Bazı sunucu programları (özellikle ftp sunucuları) kendilerine bağlanan
kullanıcının bu dosyada tanımlı olan bir kabuğa sahip olmasını istemektedir.
[halil@atlas halil]$ cat /etc/shells
/bin/ash
/bin/bash
/bin/bash2
/bin/bsh
/bin/csh
/bin/false
/bin/sh
/bin/tcsh
Linux sistemlerde çoğunlukla aşağıdaki kabuklar bulunmaktadır :
¾
Bash (Bourne again shell) : Unix türevlerinde kullanılan temel kabuklardan
olan sh ile uyumlu ve bir çok ek özelliği bulunan bir kabuktur. En önemli
özelliklerinden biri dosya ve komut isimlerini tamamlayabilme yeteneğidir.
Çoğu linux dağıtı ile beraber varsayılan kabuk olarak kullanılır.
¾
Csh (C Shell) : Komut yapısı itibari ile C’ye benzer bir yapı kullanan bir
kabuktur.
¾
Tcsh : Csh kabuğunun gelişmiş halidir. Dosya ve komut tamamlama desteğini
içerir.
Linux Komut Yapısı ve Komut Satırı
Temel de tüm Linux komutları aşağıdaki yapıya sahiptir :
Komut [seçenekler] [parametreler]
Seçenekler ile belirtilen komutun varsayılan davranışını değiştirmek için verilmesi
gereken bilgilerdir. Örnek vermek gerekirse ls komutu hiç bir seçenek ile çağırılmadığı
takdirde bulunulan dizindeki dosyaları ayrıntı vermeden listelemektedir. Dosyalar ile ilgili
izin , sahip , büyüklük gibi ayrıntılar istendiği takdirde –l seçeneği kullanılmaktadır. Bu
durumda dizindeki gizli dosyalar hariç diğer tüm dosyalar ayrıntıları ile listelenir. Gizli
dosyalarında ayrıntıları ile listelenmesi isteniyor ise –a seçeneği de kullanılır.
Parametre ile belirtilen komutun gerek duyabileceği dosya, dizin , yazıcı gibi
bilgilerdir. Örnek vermek gerekir ise cat komutu içeriğini görüntüleyeceği dosya ismine
gerek duyar. Bu komuta aktarılan dosya ismi parametredir.
Örnek 9.1:
ls –la /tmp
: “ls” = komut , “-la”=seçenek “/tmp” parametre
cat /etc/passwd : “cat”=komut , “/etc/passwd” parametre
Özel Karakterler ve Genişlemeler
Tüm kabuklarda *,? ,[],{}, ; gibi karakterler özel anlamları olan karakterlerdir. Bu
karakterlerin kendileri kullanılmak istendiği takdirde “\” karakteri ile kullanılmaları
gerekmektedir.
Yıldız (*) Karakteri
Yıldız “*” karakteri en çok kullanılan özel karakterdir. Sıfır veya daha fazla karakterin
yerini tutmak için kullanılır. Örnek vermek gerekirse ab* “ab ile başlayan kelimeler”
anlamına gelmektedir. Bu tanıma ab, abc ,abdef gibi kelimeler dahildir.
[halil@atlas halil]$ls /etc/pa*
/etc/paper.config /etc/passwd /etc/passwd- /etc/passwd.OLD
Soru İşareti (?) Karakteri
Soru işareti karakteri de yıldız karakteri gibi yer tutmak için kullanılır. Tek farkı
sadece bir karakterin yerini tutmasıdır.
Örnek 9.2:
[halil@atlas ders_ornek]$ ls -la
total 12
drwxr-xr-x 2 halil users
4096 Aug 20 12:29 .
drwxrwxrwt 4 root root
8192 Aug 20 12:29 ..
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abcd
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abfd
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abfg
[halil@atlas ders_ornek]$ ls -l ab?d
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abcd
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abfd
Köşeli Parantez ( [] ) Karakteri
Köşeli parantezler “[]“ veya anlamı taşımaktadırlar. Veya işlemini yaparken
parantezler içinde bulunan karakterler tek tek ele alınır. Örnek vermek gerekirse [abc] ile “a
veya b veya c” belirtilir. İstendiği takdirde tek tek karekter kullanmak yerine , karakter
aralığı da kullanılabilir. Örnek vermek gerekirse [a-z] ile küçük a ve küçük z harfleri
arasında bulunan karakterler tanımlanmış olur.
Örnek 9.3:
[halil@atlas ders_ornek]$ ls -l ab[cfs]d
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abcd
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abfd
-rw-r--r-- 1 halil users
0 Aug 20 14:55 absd
[halil@atlas ders_ornek]$ ls -l
total 0
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abcd
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abfd
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abfg
-rw-r--r-- 1 halil users
0 Aug 20 14:55 absd
[halil@atlas ders_ornek]$ ls -l ab[a-f]d
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abcd
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abfd
Küme Parantezi ( { } ) Karakteri
Küme parantezleri de temelde köşeli parantezler gibi veya işlevi görmektedir. Ama
köşeli parantezlerden farklı olarak bir karakter yerine birden fazla karakterden oluşan
karakter kümeleri ile işlem yapabilmektedir. Köşeli parantezlerden diğer bir farkı ise yerine
geçmek işlemi yerine katar türetme işlemi yapmaktadır. Yani a{b,c,d}e ile aslında “abe ace
ade” katarı elde edilmektedir.
Küme parantezlerinden katar yaratma işlemi kabuk tarafından diğer tüm yerleştirme
işlemleri yapılmadan gerçekleştirilir ve diğer yerleştirmelerde geçerli olan özel karakterler
korunur.
Örnek 9.4:
[root@atlas koseli]# ls *a*
ari kabre kasde was
[root@atlas koseli]# ls *b*
kabre kbfre
[root@atlas koseli]# ls *a* *b*
ari kabre kabre kasde kbfre was
[root@atlas koseli]# ls *{a,b}*
ari kabre kabre kasde kbfre was
[root@atlas koseli]# ls *[a,b]*
ari kabre kasde kbfre was
[root@atlas koseli]# ls -la kume
total 8
drwxr-xr-x 2 root root 4096 Aug 20 15:21 .
drwxr-xr-x 3 root root 4096 Aug 20 15:21 ..
[root@atlas koseli]# mkdir kume/{bir,iki,uc}
[root@atlas koseli]# ls -la kume
total 20
drwxr-xr-x 5 root root 4096 Aug 20 15:22 .
drwxr-xr-x 3 root root 4096 Aug 20 15:21 ..
drwxr-xr-x 2 root root 4096 Aug 20 15:22 bir
drwxr-xr-x 2 root root 4096 Aug 20 15:22 iki
drwxr-xr-x 2 root root 4096 Aug 20 15:22 uc
Tilde ( ~ ) Karakteri
Bir kelime tilde karakteri ile başladığı takdirde , ilk slash “/” karakteri bulunana kadar
olan tüm karakterler kullanıcı ismi olarak kabul edilir. Eğer kullanıcı ismi boş bir katar ise
tilde karakteri HOME çevre değişkeni ile değiştirilir. Eğer HOME çevre değişkeni mevcut
değil ise kabuğu çalıştıran kullanıcının ev dizini tilde karakteri yerine kullanılır. Eğer tilde
karakteri ile belirtilen kullanıcı ismi sistemde tanımlı ise , tilde karakteri ile kullanıcı ismi ,
kullanıcının ev dizini ile değiştirilir.
Örnek 9.5:
[root@atlas /tmp]# pwd
/tmp
[root@atlas /tmp]# cd ~
[root@atlas /root]# pwd
/root
[root@atlas /root]# echo $HOME
/root
[root@atlas /root]# cd /tmp
[root@atlas /tmp]# export HOME=/home/
cevikbil dene
fpuser ftp httpd okttas scanlogd yuksele yuzsever
[root@atlas /tmp]# export HOME=/home/ftp/
[root@atlas /tmp]# cd ~
[root@atlas ftp]# pwd
/home/ftp
[root@atlas ftp]# unset HOME
[root@atlas ftp]# echo $HOME
[root@atlas ftp]# cd ~
[root@atlas /root]# pwd
/root
Tilde karakterini artı “+” karakteri izlediği durumlarda , tilde ve artı karakteri PWD
çevre değişkeni ile değiştirilir. Eğer tilde karakterini eksi “-“ işareti izliyor ise , tilde ve eksi
karakteri bir önce bulunulan dizinin yolunu belirten OLDPWD çevre değişkeni ile
değiştirilir.
Örnek 9.6:
[root@atlas /root]# cd /tmp/
[root@atlas /tmp]# echo $PWD
/tmp
[root@atlas /tmp]# echo $OLDPWD
/root
[root@atlas /tmp]# cd ~+
[root@atlas /tmp]# pwd
/tmp
[root@atlas /tmp]# echo $OLDPWD
/tmp
[root@atlas /tmp]# export OLDPWD=/home
[root@atlas /tmp]# cd ~[root@atlas /home]# pwd
/home
Standart Giriş/Çıkış ve Yönlendirme
Linux işletim sisteminde çalıştırılan her komut 3 dosya işaretçisine sahiptir :
¾
Standart Giriş (stdin) : Çalışan programın , dosya gibi ek kaynaklar açmadan
veri okumak için kullanacağı kaynağı belirtir. Varsayılan olarak veri girişi
klavyeden okuma şeklinde gerçekleştirir.
¾
Standart Çıkış (stdout) : Çalışan programın çıktılarını göndereceği kaynağı
belirtir. Varsayılan kaynak terminal penceresidir.
¾
Standart Hata (stderr) : Çalışan programın hata çıktılarını göndereceği
kaynağı belirtir. Varsayılan kaynak terminal penceresidir.
Her dosya işaretçisi bir numara ile belirtilir. Standart giriş 0 , standart çıkış 1 , standart
hata 2 değerlerine sahiptir.
Bir program çalışmadan önce , giriş ve çıkışları özel bir gösterim ile istenilen
dosyalara yönlendirilebilir. Dosya ismi kullanılırken *,?,[],{},~ gibi özel karakterler kabuk
tarafından yorumlanacak ve gerekli yer değiştirmeler yapılacaktır. Eğer sonuç olarak birden
fazla dosya ismi ortaya çıktığı takdirde kabuk hata verecektir.
Standart Girişin Yönlendirilmesi
Komut çalıştığında veri girişinin belli bir dosyadan yapılması istendiğinde “ < “
karakteri ile bir dosya standart girişe yönlendirilebilir.
Örnek 9.7 :
komut <dosya
[halil@atlas ders_ornek]$ cat input_yonlendir
Standart Giris yönlendirmesi için örnek
123
456
[halil@atlas ders_ornek]$ cat input_yonlendir
Standart Giris yönlendirmesi için örnek
123
456
Standart Çıkış ve Standart Hatanın Yönlendirilmesi
Standart çıkış ve hatanın yönlendirilme işlemi temel olarak “>” karakteri ile
yapılmaktadır. Yönlendirme için temel kullanım şekli aşağıdaki gibidir :
komut [n]>dosya
n sayısı hangi dosya işaretçisinin yönlendirileceğini belirtir. Bu sayı verilmediği
takdirde veya 1 olarak verildiği takdirde standart çıkış için yönlendirme yapılır. Eğer n sayısı
2 olarak verilirse standart hata için yönlendirme yapılır.
Örnek 9.8 : ls komutunun çıktısının bir dosyaya yönlendirilmesi. Yönlendirme işlemi
komut çalıştırılmadan gerçekleştirildiği için ilk ls çıktısında gözükmeyen sonuç dosyası
ls_cikti , ikinci ls çıktısında gözükecektir.
[halil@atlas ders_ornek]$ ls -l
total 16
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abcd
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abfd
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abfg
-rw-r--r-- 1 halil users
0 Aug 20 14:55 absd
-rwxr-xr-x 1 root root
41 Aug 20 16:42 degisken.sh
-rw-r--r-- 1 halil users
49 Aug 22 13:46 input_yonlendir
drwxr-xr-x 3 root root
4096 Aug 20 15:21 koseli
lrwxrwxrwx 1 halil users
10 Aug 21 13:57 set123 -> set_deneme
drwxr-xr-x 2 halil users
4096 Aug 21 13:57 set_deneme
[halil@atlas ders _ornek]$ ls -l >ls_cikti
[halil@atlas ders _ornek]$ cat ls_cikti
total 16
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abcd
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abfd
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abfg
-rw-r--r-- 1 halil users
0 Aug 20 14:55 absd
-rwxr-xr-x 1 root root
41 Aug 20 16:42 degisken.sh
-rw-r--r-- 1 halil users
49 Aug 22 13:46 input_yonlendir
drwxr-xr-x 3 root root
4096 Aug 20 15:21 koseli
-rw-r--r-- 1 halil users
0 Aug 22 13:52 ls_cikti
lrwxrwxrwx 1 halil users
10 Aug 21 13:57 set123 -> set_deneme
drwxr-xr-x 2 halil users
4096 Aug 21 13:57 set_deneme
“>” operatörü ile yapılan yönlendirmede hedef dosya yok ise yaratılır , varsa içeriği
sıfırlanır. İçeriğin sıfırlanması yerine var olan dosyanın sonuna ekleme yapmak için “>>”
operatörü kullanılmalıdır. Bu durumda hedef dosya yok ise yaratılacak , var ise yapılacak
eklemeler dosyanın sonuna yapılacaktır.
Standart hata ile standart çıkışın aynı dosyaya yönlendirilmesi çokça kullanılan bir
yönlendirmedir. Bu yönlendirme 3 farklı şekilde gerçekleştirilebilir :
>& dosya
&>dosya
>dosya 2>&1
Örnek 9.9 :
[halil@atlas ders_ornek]$ ls olmayan_dosya
ls: olmayan_dosya: No such file or directory
[halil@atlas ders_ornek]$ ls olmayan_dosya 2>ls_hata
[halil@atlas ders_ornek]$ cat ls_hata
ls: olmayan_dosya: No such file or directory
[halil@atlas ders_ornek]$ touch olan_dosya
[halil@atlas ders_ornek]$ ls -l olmayan_dosya olan_dosya
ls: olmayan_dosya: No such file or directory
-rw-r--r-- 1 halil users
0 Aug 22 14:06 olan_dosya
[halil@atlas ders_ornek]$ ls -l olmayan_dosya olan_dosya 2>ls_hata
-rw-r--r-- 1 halil users
0 Aug 22 14:06 olan_dosya
[halil@atlas ders_ornek]$ ls -l olmayan_dosya olan_dosya 2>ls_hata >ls_cikti
[halil@atlas ders_ornek]$ cat ls_hata ls_cikti
ls: olmayan_dosya: No such file or directory
-rw-r--r-- 1 halil users
0 Aug 22 14:06 olan_dosya
[halil@atlas ders_ornek]$ cat ls_hata
ls: olmayan_dosya: No such file or directory
[halil@atlas ders_ornek]$ cat ls_cikti
-rw-r--r-- 1 halil users 0 Aug 22 14:06 olan_dosya
[halil@atlas ders_ornek]$ ls -l olmayan_dosya olan_dosya &>ls_cikti
[halil@atlas ders_ornek]$ cat ls_cikti
ls: olmayan_dosya: No such file or directory
-rw-r--r-- 1 halil users 0 Aug 22 14:06 olan_dosya
[halil@atlas ders_ornek]$
Bir Komutun Çıktısının Başka Bir Komutun Verisi Olarak Kullanılması
Linux işletim sistemi bir komutun çıktısını diğer komutun girişi olarak kullanılmasını
sağlayan Unix borularını (pipe) desteklemektedir. Bu işlemin gerçekleştirilmesi için “ | “
operatörü kullanılır.
Komut1 | komut2
Örnek 9.10 :
[halil@atlas ders_ornek]$ cat ls_cikti | wc -l
11
[halil@atlas ders_ornek]$ cat ls_cikti | grep ab
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abcd
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abfd
-rw-r--r-- 1 halil users
0 Aug 20 12:29 abfg
-rw-r--r-- 1 halil users
0 Aug 20 14:55 absd
Unix boruları sayesinde bir önceki komutun çıktısı üzerinde işlem yapabilen komutlar
kullanılabilmektedir. Bu kullanım şekli en çok grep,sort,wc,cut gibi filtre programları
tarafından tercih edilmektedir.
Tee Komutu
Tee komutu standart girişten okuduğunu hem standart çıkışa hem de dosyaya yazmak
için kullanılan bir komuttur. Temel kullanım şekli aşağıdaki gibidir :
tee [-a] dosya_ismi
-a parametresi kullanıldığı ve hedef dosya var olduğu takdirde , hedef dosyanın içeriği
sıfırlanmaz ve sonuna ekleme yapılır. Aksi durumlarda dosyanın içeriği sıfırlanır.
Örnek 9.11 :
[halil@atlas ders_ornek]$ tee tee_cikti < tee_deneme
Tee komutu için deneme
123
456
[halil@atlas ders_ornek]$ cat tee_cikti
Tee komutu için deneme
123
456
Tee komutu çoğunlukla Unix boruları ile yapılan yönlendirmelerde kullanılır. Belli bir
komutun çıktısını hem aynı anda ekranda görüp hem de bir dosyaya kaydetmek istenildiği
durumlarda tee komutu kullanılmaktadır.
Temel Filtre Komutları
Filtreler çoğunlukla metin dosyaları üzerinde işlem yapan programlardır. En çok
kullanılan program dosya içersinde metin bulmak için kullanılan grep programıdır.
Filtreler çoğunlukla başka bir programın çıktısını alıp işlerler. Bu yüzden çoğu filtre
unix boruları ile beraber kullanılır.
[root@atlas bim]# ls -l | wc -l
58
Wc Komutu
Bir dosyadaki byte , kelime ve satırları saymak için wc komutu kullanılır. Bu komutun
temel yapısı aşağıdaki gibidir :
wc [seçenekler] [dosya]
İşlenecek dosya verilmediği takdirde wc komutu verileri standart girişten okuyacağını
varsaymaktadır. Bu sayede wc komutu Unix boruları ile bir önceki komutun çıktısını alıp
işleyebilmektedir.
wc komutu ile kullanılanabilecek temel seçenekler aşağıdaki gibidir :
¾
-c : Dosyadaki byteları sayar.
¾
-l : Dosyadaki satırları sayar.
¾
-w : Dosyadaki kelimeleri sayar.
¾
-L : Dosya içindeki en uzun satırın boyutunu gösterir.
Örnek 9.12 :
[halil@atlas ders_ornek]$ cat wc_ornek
wc icin ornek
123
en uzun satir bu ve boyu 27
[halil@atlas ders_ornek]$ ls -l wc_ornek
-rw-r--r-- 1 halil users 47 Aug 23 11:05 wc_ornek
[halil@atlas ders_ornek]$ cat wc_ornek | wc -c
47
[halil@atlas ders_ornek]$ cat wc_ornek | wc -w
11
[halil@atlas ders_ornek]$ cat wc_ornek | wc -l
4
[halil@atlas ders_ornek]$ cat wc_ornek | wc -L
27
Sort Komutu
Metin dosyaları üzerinde sıralama işlemi sort komutu ile yapılır. Bu komut satırları
verilen sıralama kriterine göre sıralar ve sonucu standart çıkışa aktarır. Komutun temel
kullanım şekli aşağıdaki gibidir :
sort [seçenek] dosya
Dosya ismi verilmediği takdirde veriler standart girişten okunacaktır.Sort komutu ile
kullanılabilecek temel seçenekler aşağıdaki gibidir:
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
-k POS1[,POS2] : Bu parametre ile sıralama için kullanılacak alan numarası verilir.
POS1 değeri sıralam için kullanılacak alanlar için başlangıç değeridir. POS2 değeri ise
sıralama alanları için bitiş değeridir.POS2 değeri verilmediği takdirde sıralama POS1
alanından önce kalan alanlar sıralama işlemine sokulmazlar. Tek bir alan üzerinde
sıralama yapmak isteniyorsa POS1 ve POS2 değerleri eşit olmalıdır. Alanlar
birbirlerinden boşluk veya tab karakteri ile ayrılırlar. Sıralma için göz önüne alınacak
anahtar değerler istendiği takdirde bir alan içinde bulununan karakterlerde olabilir.
Karakterleri seçmek için alan numarasından sonra nokta “ .” karakteri kullanılmalı ve
bu alan içinde kaçıncı karakter olduğu bildirilmelidir.
-r
: Karşılaştırma sonuçlarını tersten işlemek için kullanılır.
-l
: Sıralama işlemini yaparken locale bilgisinide kullanılmasını sağlar.
-M
: Ay isimlerini baz alan sıralama yapılmasını sağlamak için kullanılır.
-t SEP : Alan ayıracı olarak boşluk veya tab yerine SEP ile belirtilen karakterin
kullanılmasını sağlar.
-m
: Sıralanmış dosyaları birleştirmek için kullanılır. Birleştirilecek dosyalar
kendi içlerinde sıralanmış olmalıdır.
-o dosya : Sıralanmış verinin standart çıkış yerine dosyaya yazılmasını sağlar.
-f
: Büyük küçük harf ayrımını ortandan kaldırır.
-n
: Numerik olarak sıralama yapmak için kullanılır.
-g
: Bu seçenek de numerik sıralama yapmak için kullanılır. –n seçeneğinden
farkı gerçel sayılar üzerinde de işlem yapabilmesidir. Sayıların gösterilmesi için
kullanılan bilimsel notasyonu (scientific notation) destekler. (1.5e-23 , 15e24)
[halil@seawolf halil]$ cat sort_deneme
linux
ders
isletim
sistem
[halil@seawolf halil]$ sort sort_deneme
isletim
ders
linux
sistem
Örnek 9.13: “ls –l” komutu çıktısını sort komutu yardımı ile dosya boyutuna göre
sıralamak :
[halil@seawolf sort_dizin]$ ls -l
total 12884
-rw-r--r-- 1 halil users
453 Aug 24 12:51 dosya_1
-rw-r--r-- 1 halil users 11827208 Aug 24 12:51 dosya_2
-rw-r--r-- 1 halil users 1356543 Aug 24 12:51 dosya_3
Dosya boyutları “ls –l” çıktısının beşinci alanında bulunmaktadır. Bu yüzden beşinci
alan üzerinde sıralama yapılmalıdır.
[halil@seawolf sort_dizin]$ ls -l|sort -k 5,5
total 12884
-rw-r--r-- 1 halil users 11827208 Aug 24 12:51 dosya_2
-rw-r--r-- 1 halil users 1356543 Aug 24 12:51 dosya_3
-rw-r--r-- 1 halil users
453 Aug 24 12:51 dosya_1
Örnek 9.14: “ls –l” çıktısını ilk olarak Ay , sonra gün en son boyuta göre sıralamak
için :
[halil@seawolf sort_dizin]$ ls -l
total 24436
-rw-r--r-- 1 halil users
453 Feb 12 2001 dosya_1
-rw-r--r-- 1 halil users 11827208 Jul 23 12:03 dosya_2
-rw-r--r-- 1 halil users 1356543 Aug 24 12:51 dosya_3
-rw-r--r-- 1 halil users 11827208 Aug 24 12:56 dosya_4
“ls –l” komutunun çıktısında dosyanın en son değiştiği tarihin ay bilgisi altıncı , gün
bilgisi yedinci alanda bulunmaktadır. Dosyanın boyutu bilgisi ise 5. alandadır. Altıncı
alandaki bilgi ay bilgisi olduğu için altıncı alan için sıralama yaparken –M seçeneğinin
kullanılması gerekmektedir. Bu anahtar kullanılmadığı takdirde sıralama alfabetik olarak
yapılacaktır.
[halil@seawolf sort_dizin]$ ls -l | sort -k6,6
total 24436
-rw-r--r-- 1 halil users 11827208 Aug 24 12:56 dosya_4
-rw-r--r-- 1 halil users 1356543 Aug 24 12:51 dosya_3
-rw-r--r-- 1 halil users
453 Feb 12 2001 dosya_1
-rw-r--r-- 1 halil users 11827208 Jul 23 12:03 dosya_2
[halil@seawolf sort_dizin]$ ls -l | sort -k6,6M
total 24436
-rw-r--r-- 1 halil users
453 Feb 12 2001 dosya_1
-rw-r--r-- 1 halil users 11827208 Jul 23 12:03 dosya_2
-rw-r--r-- 1 halil users 11827208 Aug 24 12:56 dosya_4
-rw-r--r-- 1 halil users 1356543 Aug 24 12:51 dosya_3
Bir sort komutunda birden fazla –k seçeneği kullanılabilir. Seçeneklerin kullanım
sırası yapılacak sıralama işlemini etkileyecektir.
[halil@seawolf sort_dizin]$ ls -l | sort -k5,5 -k6,6M -k7,7
total 24436
-rw-r--r-- 1 halil users 11827208 Jul 23 12:03 dosya_2
-rw-r--r-- 1 halil users 11827208 Aug 24 12:56 dosya_4
-rw-r--r-- 1 halil users 1356543 Aug 24 12:51 dosya_3
-rw-r--r-- 1 halil users
453 Feb 12 2001 dosya_1
[halil@seawolf sort_dizin]$ ls -l | sort -k7,7 -k6,6M -k5,5
total 24436
-rw-r--r-- 1 halil users
453 Feb 12 2001 dosya_1
-rw-r--r-- 1 halil users 11827208 Jul 23 12:03 dosya_2
-rw-r--r-- 1 halil users 11827208 Aug 24 12:56 dosya_4
-rw-r--r-- 1 halil users 1356543 Aug 24 12:51 dosya_3
İlk olarak ay , sonra gün en son boyut bilgisine göre sıralama yapmak için sort komutu
aşağıdaki şekilde kullanılmalıdır :
[halil@seawolf sort_dizin]$ ls -l | sort -k6,6M -k7,7 -k5,5
total 24436
-rw-r--r-- 1 halil users
453 Feb 12 2001 dosya_1
-rw-r--r-- 1 halil users 11827208 Jul 23 12:03 dosya_2
-rw-r--r-- 1 halil users 11827208 Aug 24 12:56 dosya_4
-rw-r--r-- 1 halil users 1356543 Aug 24 12:51 dosya_3
Örnek 9.15: İkinci alanın bir ve ikinci karakterlerini baz olarak sıralama yapmak için
sırala işlemi ikinci alanın birinci karakteri ile başlayıp ikinci karakteri ile biteceğinden –k
seçeneğine başlangıç değeri olarak 2.1 , bitiş değeri olarak 2.2 gönderilmelidir. 2.1 ikinci
alanın birinci karakteri , 2.2 ikinci alanın ikinci karakterini belirtmektedir.
[halil@seawolf sort_dizin]$ sort -k 2,2 sort_karakter
linax deneme
isletim destegi
linux ders
[halil@seawolf sort_dizin]$ sort -k 2.1,2.2 sort_karakter
isletim destegi
linax deneme
linux ders
Dosyaların Taranması
Metin dosyaları arasında istenilen paternleri aramak için grep komutu
kullanılmaktadır. Grep komutu dosyalar üzerinde istenilen metin parçasını arar ve bu metin
parçasını içeren satırları standart çıkışa kopyalar.
Temel kullanım şekli aşağıdaki gibidir :
grep [seçenekler] patern [dosya]
Dosya ismi verilmediği takdirde verilerin standart girişten okunacağı varsayılır. Bu
sayede Unix boruları kullanılarak bir komutun çıktısında istenilen bir metin parçası
aranabilir.
Grep ile kullanılan temel seçenekler aşağıdaki gibidir :
¾
-l : Metin parçasının geçtiği satırların gösterilmesi yerine metin parçasının geçtiği
dosyaların isimleri gösterilir. Çoğunlukla bir dizin içinde belirli bir kelimeyi içeren
dosyaların bulunması işlevinde kullanılır.
¾
-c : Metin parçasının geçtiği satırların gösterilmesi yerine , metin parçasının
bulunduğu satır sayısının gösterilmesini sağlar.
¾
-i : Büyük – küçük harf ayrımını ortadan kaldırır.
¾
-f dosya : Aranması istenen metin parçacıklarını bir dosyadan okumak için kullanılır.
¾
-n veya --line-number : Bulunulan satırın dosyadaki satır numarası da gösterilir.
¾
-e metin_parçası veya –regexp=metin_parçası : Metin içinde aranması istenen
metin parçası istendiği takdirde bu seçenek ile de verilebilir. Özellikle ‘ – ‘ ile
başlayan metin parçacıklarında kullanılmalıdır.
¾
-v : Aranan metin parçasının bulunmadığı satırları gösterir.
¾
-x veya --line-regexp : Tam bir satır olarak metin parçasını içeren satırların
bulunmasını sağlar.
¾
-A satır_sayısı : Bulunan satırdan sonra istenilen satır sayısı kadar satırın
bastırılmasını sağlar.
¾
-B satır_sayısı : Bulunan satırdan önce istenilen satır sayısı kadar satırın
bastırılmasını sağlar.
¾
-r : Rekürsif arama için kullanılır. Aranması gereken dosya bir dizin ise ve –r seçeneği
kullanılmış ise grep dizinin içindeki tüm dizin ve dosyaları da tarar.
¾
-d hareket : Grep programının bir dizine rastladığında yapması gereken hareketi
ayarlamak için kullanılır. Varsayılan hareket “read” yani okumadır. Bu işlem bazı
dosya sistemleri tarafından desteklenmemektedir. Bu durumda grep programı hata
verecektir. Eğer hareket olarak “skip” değeri atanırsa grep hiç bir hata vermeden
dizinleri atlayacaktır. Eğer hareket olarak “recurse” verilirse grep dizinin içindeki
dosya ve dizinleri rekürsif olarak tarayacaktır.
¾
-n veya --no-filename : Birden fazla dosya arandığı zaman grep programı metin
parçasını bulduğu satırı bastırmadan önce , satırı bulduğu dosya ismini gösterir. Bu
seçenekle bu özellik kapatılır.
¾
-a veya --text : Grep programı aranan metin parçasını binary bir dosyada bulduğu
takdirde bulunan satırı göstermek yerine kullanıcıya aranan metin parçasının bir
binary dosyada bulunduğu bildirir. Grep’in binary dosyalarda da bulduğu satırları
göstermesi için bu seçenek kullanılmalıdır.
¾
-w veya --word-regexp : Aranan metin parçasının kelime olarak bulunduğu satırların
seçilmesi için kullanılır. Örnek olarak , aranan metin parçasının “linux” olduğu
durumlarda “linux sistemi” arama kriterine uyarken “linuxun komutları” arama
kriterine uymamaktadır.
Grep Programları
Grep programı verilen paterni işleme bakımından 3 farklı yöntem kullanmaktadır.
Grep programının eski sürümlerinde her yöntem için bir program gelirken , yeni
sürümlerinde tüm işlevler tek bir program ile yapılmaktadır.
Grep programı –G veya --basic-regexp parametreleri ile çağırıldığı , veya diğer
metotlar için geçerli olan seçenekler kullanılmadığı durumlarda , patern klasik regüler ifade
olarak ele alınır.
Grep programı –E veya --extended-regexp seçenekleri ile çağırıldığında , veya egrep
komutu verildiğinde patern genişletilmiş regüler ifade olarak ele alınır.
Grep programı –F veya --fixed-strings seçenkleri ile çağırıldığında , veya fgrep
komutu verildiğinde patern sabit katar olarak ele alınır.
GNU grep programı kullanıldığında temel regüler ifade veya gelişmiş regüler ifade
kullanımı arasında fonksiyonel farklılıklar bulunmamaktadır. Egrep programı ile yapılan
aramalarda bulunan sonuçlar , grep ile yapılan aramalarda da bulunabilmektedir. Diğer grep
sürümlerinde ise egrep programı , grep programından daha güçlüdür.
Regular Expressions
Regüler ifade ile belirtilen temelde katar kümeleridir. Katar kümeleri oluşturulurken
kullanılan özel karakterler sayesinde birden fazla katar bulunabilir.
Özel anlamı bulunmayan karakterler sadece kendileri yerlerine kullanılırlar. Tanımlı
olan özel karakterler özel işlevleri yerine kendileri olarak kullanılmak istendikleri zaman
ters slash “ \ ” karakteri ile birlikte kullanılmak zorundadırlar. Köşeli parantezler “[] “
arasında bulunan karakter listesi , o listedeki herhangi bir karakteri eşleştirir. Eğer karakter
kümesi “^” karakteri ile başlıyor ise küme içinde tanımlanan karakterler dışındaki karakterler
eşleştirilir. Örnek vermek gerekirse ‘[abcd]’ ile belirtilen regüler ifade a,b,c veya d
harflerinin herhangi biri ile eşleşir. ‘[1234567890]’ ise herhangi bir tek basamaklı sayı ile
eşleşir.İstendiği takdirde ASCII karakterler için “-“ karakteri kullanılarak bir bölge tanımı
yapılabilir. Örnek vermek gerekirse ‘[a-z] ‘ ile a’dan z’ye kadar olan harflerden herhangi biri
ile eşleşilebilir.
İstendiği takdirde regüler ifade tanımları içinde karakter kümeleri de kullanılabilir.
Karakter sınıfları LC_CTYPE çevre değişkeni ile belirtilen dile göre değişebilmektedir. Eğer
LC_CTYPE değişkenine hiçbir şey atanmamış ise varsayılan olarak POSIX karakter sınıfları
kullanılır :
Temel karakter sınıfları ve içerikleri aşağıdaki gibidir :
¾
[:alpha:] : Herhangi bir harf yerine geçmektedir.
¾
[:digit:] : ‘0 1 2 3 4 5 6 7 8 9 ‘ rakamlarından biri yerine geçmektedir.
¾
[:alnum:] : Hem [:digit:] hemde [:alpha:] karakter sınıflarını kapsamaktadır.
Bu iki sınıftan birine dahil olan karakterlerin yerine geçmektedir.
¾
[:lower:] : Küçük harf karakterlerin yerine geçmektedir.
¾
[:upper:] : Büyük harf karakterlerin yerine geçmektedir.
¾
[:blank:] : Boşluk ve tab karakteri yerine geçmektedir.
¾
[:punct:] : ` ! “ # $ % & ‘ ( ) * + , - . / : ; < > = ? @ [ ] \ ^ _ { } | ~ karakterleri
yerine geçmektedir.
¾
[:graph:] : [:alnum:] veya [:punct:] olamayan karakterlerin yerine
geçmektedir.
¾
[:xdigit:] : ‘abcdefABCDEF0123456789’ karakterleri yerine geçmektedir.
Bazı karakterlerin özel işlevleri bulunmaktadır. Bu karakterler ve işlevleri ağağıdaki
gibidir :
¾
. : Nokta karakteri herhangi bir karakter yerini tutabilmektedir.
¾
¾
¾
¾
^ : ^ krakteri satır başı anlamına gelmektedir. Köşeli parantezler [] arsında ilk
karakter olarak kullanılırsa , parantezler arasındaki karakterler dışındaki
karakterlerin eşleştirilmesini sağlar. Eğer köşeli parantezler içinde ilk karakter
değil ise hiç bir özel işlevi yoktur.
$ : Dolar karakteri satır sonu anlamına gelmektedir.
\< : Kelime başı anlamına gelmektedir.
\> : Kelime sonu anlamına gelmektedir.
Regüler ifade tanımlarında tekrar öperatörü olarak adlandırılan özel karakterler de
kullanılabilir :
¾
? : Kendinden önceki öğe seçime bağlıdır ve en fazla bir defa eşleştirilir.
¾
* : Kendinden önceki öğe sıfır veya daha fazla eşleştirilebilir.
¾
+ : Kendinden önceki öğe en az bir kere eşleşmelidir.
¾
{N}
: Kendinden önceki öğe tam olarak N kere eşleşmelidir.
¾
{N,}
: Kendinden önceki öğe N veya daha fazla kez eşleşmelidir.
¾
{N,M}
: Kendinden önceki öğe en az N , en çok M defa eşleşmelidir.
Ayrıca \w sembolü [[:alnum:]] ile , \W sembolü de [^[:alnum]] ile eşdeğerdir. Yani \w
sembolü ile kelime içinde bulunabilecek karakterler belirtilirken , \W sembolü ile de kelime
içinde bulunamayacak karakterler belirtilir.
Regüler ifade tanımları istendiği takdirde “ | “ karakteri ile “veya (or)” işlevi ile
birleştirilebilir. Bu durumda birleştirilen tanımlardan birine uyan bilgiler , birleştirilmiş tüm
tanıma uymuş olacaktır.
Özel karakterlerin çoğu köşeli parantezler arasında kullanıldığında işlevlerini
kaybederler. Bazı karakterler için özel yerleştirme kuralları vardır. “ ^ ” karakteri köşeli
parantezler arasında ilk karakter olduğu takdirde özel bir anlam taşıyacaktır. Bu yüzden bu
karakterin kendi seçilmek istendiğinde ilk karakter olarak konulmamalıdır. ‘ –‘ karakteri de
en son karakter olarak kullanıldığı durumda özel anlam taşımamaktadır. ‘ ] ‘ karakterinin
kendisi seçilmek isteniyor ise bu karakter listenin ortasında bir yere konulmalıdır.
Parantezler () gruplama yapmak için kullanılırlar. Aynı zamanda parantezler arasında
tanımlanan regüler ifade tanımlarına uyan katarlara regüler ifade tanımında referans
verilebilir. \N ile N. Parantezler arasındaki regex’e uyan katar belirtilir.
Örnek 9.16:
Linux İşletim Sistemi öğrenmek için Linux Sertifika Programı
Geleceğin isletim sistemi olamaya aday Linux isletim sistemi
Linux Sertifika Programı
İçerikli dosya üzerinde aşağıdaki regexleri göz önüne alalım.
(\w+)[[:blank:]]+.*\1
(\w+) tanımı ile kelime karakterlerinden oluşan ve en az bir karakter içeren bir katar
tanımlanmaktadır. [[:blank:]]+ tanımı ile boşluk veya tab karakterlerinden herhangi
birinden en az bir tane olması gerektiği belirtilmiştir. .* tanımı ile de boşluktan sonra
istenilen sayıda istenilen karaktarlerden oluşan katarların bulunabileceği belirtilmiştir. \1
ifadesi ile de (\w+) ifadesine uyan katar referans edilmiştir.
[halil@atlas ders_ornek]$ egrep -w '(\w+)[[:blank:]]+.*\1' regex
Linux İşletim Sistemi öğrenmek için Linux Dersi
Geleceğin isletim sistemi olmaya aday Linux isletim sistemi
-w anahtarı ile bulma işleminin sadece bulunan katar tam kelime olduğu takdirde
doğru olması sağlanmıştır. Bu anahtarın kullanılması yerine arama kriterlerine kelime başı “
\<” ve kelime sonu “ \>” karakterleride eklenebilir.
[halil@atlas ders_ornek]$ egrep '\<(\w+)\>[[:blank:]]+.*\1' regex
Linux İşletim Sistemi öğrenmek için Linux Dersi
Gelecegin isletim sistemi olmaya aday Linux isletim sistemi
-w anahtarı ile arama yapıldığı durumda (\w+) tanımına birinci satır için Linux ,
isletim kelimeleri seçilmektedir.
–w anahtarı kaldırılıp , kelime başı karakteri olmadan yapılan aramalarda üçüncü
satırda kurala uymaktadır. Bu durumda (\w+) tanımı ile birinci satır için Linux , ikinci satır
için in , üçüncü satır için a katarları seçilmektedir. Eğer kelime sonu karakteride arama
tanımından kaldırılacak olursa , birinci satır için Linux , ikinci satır için e , üçüncü satır için i
katarları secilecektir.
Örnek 9.17 : Tekrar öperatörlerinin kullanımı
aaaabbbbbcccccddeeee şeklinde bir satırımız olduğunu düşünelim.
a*b*c*d*e* regex’ini ele alırsak. Bu regex sayesinde tüm satır için eşleştirme
yapılmış olur. Çünkü her harf için sıfır veya daha fazla tekrara izin verilmektedir. Bu
durumda her karakterin sıfır kere tekrarına izin verildiğinden boş satırlarda bu regex için
uygundur. Boş satırların uygunluktan çıkarılması için herhangi bir karakter için en az bir
defa bulunmasını zorunlu kılmak yeterli olacaktır. Yani a+b*c*d*e* regexi kullanıldığı
takdirde boş satırlar seçilmeyecektir.
[halil@atlas ders_ornek]$ egrep 'a*b*c*d*e*' regex1
aaaabbbbbcccccddeeee
[halil@atlas ders_ornek]$ egrep 'a+b*c*d*e*' regex1
aaaabbbbbcccccddeeee
[halil@atlas ders_ornek]$
Eğer ab*c*d*e* regex’i kullanılır ise bu dururmda tüm satır eşleşmez. Çünkü bu regex
tanımında “a” karakterinin tekrarına izin verilmemiştir. Bu yüzden bu regex ile sadece bir
“a” karakteri eşleşir.Diğer b,c,d,e karakterleri için sıfır tekrara izin verildiğinden bu
karakterler eşleşmezler. Bu karakterlerden bir tanesi için en az bir adet bulunması zorunlu
kılınırsa bu durumda son “a” karakteri ve b,c,d,e karakterleri eşlemeye dahil olurlar. Her iki
durumda da aramaya uyan katar bir kelime olmadığı için –w seçeneği ile birlikte eşleşme
olmayacaktır.
[halil@atlas ders_ornek]$ egrep 'ab*c*d*e*' regex1
aaaabbbbbcccccddeeee
[halil@atlas ders_ornek]$ egrep 'ab+c*d*e*' regex1
aaaabbbbbcccccddeeee
[halil@atlas ders_ornek]$ egrep -w 'ab+c*d*e*' regex1
[halil@atlas ders_ornek]$ egrep -w 'ab*c*d*e*' regex1
a{2}b*c*d*e* tanımını ele alırsak , a karakterinin tam olarak 2 kere , diğer
karakterlerin sıfır veya daha fazla eşleşmesi istenmektedir. Bu durumda sadece iki “a”
karakteri arama kriterine uymaktadır. b,c,d,e karakterleri eşleşmezler. Bunu önlemek için
b,c,d,e karakterlerinden herhangi birinin en az bir defa bulunmasını istemek (Örneğin
a{2}b+c*d*e*) yeterli olacaktır. Her iki durumda da bulunan katar tam bir kelime
olmadığından –w seçeneği ile eşleşme olmayacaktır.
a{2,}b*c*d*e* tanımı ile tüm satır eşleşmektedir. “a” karakteri için en az iki defa
bulunaması zorunluluğu getirilmiş fakat en çok ne kadar bulunacağı belirtilmemiştir. Bu
sebepten dolayı satırda bulunan 4 a karakteri de eşleşecektir. b,c,d,e karakterleri için sıfır
veya daha çok tekrara izin verildiğinden tüm ,bc,d,e karakterleri eşleşmeye dahil olur.
Eşleşmeye giren katar bir kelime olduğu için –w seçeneği ile de eşleşme gerçekleşir.
[halil@atlas ders_ornek]$ egrep -w 'a{2,}b*c*d*e*' regex1
aaaabbbbbcccccddeeee
[halil@atlas ders_ornek]$
Örnek 9.18: Köşeli parantezler arasında tanımlanan karakter dizilerinin kullanımı
abcd1234ABCD
qwertxyz
satırlarından oluşan bir dosyamız olduğunu düşünelim.
[a-d] tanımı ile a ile d karakterleri arasında kalan karakterlerden birinin eşleşmesi
sağlanacaktır. Bu durumda birinci satırda bulunan “a” karakteri sadece eşleşmeye girecektir.
İkinci satırda hiç bir karakter eşleşmeye giremeyecektir. [a-d]{3} regexi kullanıldığı takdirde
a ile d arasındaki karakterlerden her hangi biri eşleşmeye girebilecek fakat 3 karakter
eşleşme zorunluluğu bulunacaktır. Eşleşmeye dahil olacak 3 karakterin aynı olma
zorunluluğu bulunmamaktadır. Bu durumda birinci satırdaki ‘abc’ katarı eşleşmiş olacaktır.
[^0-9] tanımı ile rakam olamayan karakterlerin eşleştirilmesi sağlanmaktadır. Bu
regex ile iki satırda seçilecektir. Çünkü birinci satırdan “a” karakteri , ikinci satırdan “q”
karakteri bu regex ile eşleşecektir. Bu durumda hiç bir kelime eşleşmediği için –w seneği ile
satırların hiç biri seçilemeyecektir. [^0-9]* regexi kullanıldığı takdirde yine her iki satır da
seçilecektir. Tek fark birinci satırdan ‘abcd’ katarı , ikinci satırdan ‘qwertxyz’ katarı
eşleşecektir. Bu durumda ikinci satırda oluşan eşleşme bir kelime olacağından –w seçeneği
ile eşleşmesi mümkündür.
[halil@atlas ders_ornek]$ egrep '[^0-9]' regex2
abcd1234ABCD
qwertxyz
[halil@atlas ders_ornek]$ egrep -w '[^0-9]' regex2
[halil@atlas ders_ornek]$ egrep '[^0-9]*' regex2
abcd1234ABCD
qwertxyz
[halil@atlas ders_ornek]$ egrep -w '[^0-9]*' regex2
qwertxyz
[halil@atlas ders_ornek]$
Temel Kabuk Programlama
Sisteme Giriş (Logging In)
Bir host’a network üzerinden bağlandığınızda, ya da host’a konsoldan Login olmaya
çalıştığınızda ilk önce ekranda “login :” yada benzeri bir mesaj belirir. Sistemdeki her
terminal portu için “getty” adı verilen bir program aktif olacaktır (Şekil 9.2-a).
Şekil 9.2 : (a) Getty programı (b) Kullanıcı adı girişi
Bir UNIX sistem eğer kullanıcıların login olmasına izin verecek ise her terminal portu
için bir getty programını otomatik olarak başlatır. Kullanıcı 'username' i yazıp 'enter'a
basınca getty, username'i login programına parametre olarak geçirerek kontrolü bu programa
bırakır. Bu program sisteme giriş (logging) işlemini tamamlar. Login çalışmaya başlayınca
(Şekil 9.2-b), ekranda “Password:” string'ini görüntüler ve password 'ü girmenizi bekler.
Daha sonra girilen username ve password /etc/password adlı dosyadaki ilgili satırdaki
veriler ile karşılaştırarak doğrulanır (Şekil 9.3).
Şekil 9.3 : Şifre ekranı.
Bu dosya sistemindeki her kullanıcı için bir satırlık bilgi içerir. Bunların içinde
username, password, home dizini ve kullanıcı sisteme girdiğinde çalıştırılacak olan kabuk
programı bu satırda belirtilmiştir ( yani her satırın son ' : ' karakterinden sonra bildirilen
program adı kullanıcının login olduğunda çalıştırılacak olan kabuğun adı ile belirtilen
programıdır ). Eğer kabuk programı bölümünde herhangi bir bilgi yoksa /bin/sh olduğu
kabul edilir.
Örnek 9.19 :
sue:fkrI60LrjdkK.:15:47::/usr/sue:
pat:.......................:99:7::/usr/pat:/usr/lbin/ksh
Şekil 9.4 : Sisteme giriş döngüsü.
Burada kabuk ilk örnekte bourne shell ve program /bin/sh, ikincisinde ise belirtildiği
için kabuk korn shell ve program /bin/ksh dır. login programı username ve password' ün
doğru olup olmadığını kontrol ettikten sonra, çalıştırılacak programın isminide kontrol eder.
Çoğu durumda bu /bin/sh 'dir (Şekil 9.4). Diğer durumlarda, bu başka özel tasarlanmış bir
programda olabilir.
Buradaki ana nokta, bir kullanıcı hesabında, otomatik olarak
çalıştırılacak herhangi bir kullanıcı sisteme girdiğinde programın belirtilmesidir. Program
olarak en çok seçilen genellikle bir kabuk programıdır (shell). Daha sonra login programı,
sisteme giren kullanıcı için bu programı çalıştıracaktır. Shell' de komut çalıştırma shell
başlatıldığı zaman, terminalde ' bourne veya bourne-again shell ' ise $ işareti şeklinde bir
prompt belirir ve komut girilmesini bekler.
Her komut girildiğinde, shell satırı kontrol
eder ve isteği gerçekleştirmek için diski tarayarak ilgili programı arar. Eğer programı bulursa
kabuk kernel' dan programın çalıştırılmasını ister ve program çalışırsa uykuya dalar ve
programın çalışması bitene kadar bekler.
Kernel belirtilmiş programı belleğe kopyalar ve çalışmasını sağlar. Belleğe
kopyalanmış ve çalıştırılmış program süreç (process) olarak adlandırılır. Eğer program
çıkışını standart çıktıya gönderiyor ise ve eğer bu çıkış başka bir programa girdi olarak
(pipe) gönderilmemiş ise çıkış terminalde görünür. Aynı şekilde program eğer, girdilerini
başka bir programın çıktısından veya bir dosyadan almayacak ise bu standart girişten alacağı
anlamına gelir ve girdileri kullanıcının girmesini bekler. Komut çalışmasını bitirdikten sonra
kontrol kabuğa geri döner ve bir sonraki komutu bekler. Yani döngü, shell Æ komut Æ
shell Æ komut Æ shell şeklindedir.
Sistem kullanıcı tarafından terk edildiğinde (+), kabuğun çalışması sona erer ve
UNIX system yeni bir getty program çalıştırarak sisteme girecek yeni kullanıcıları bekler
(Şekil 9.2-a). Kabuğun sadece bir program olduğunu unutmamak gerekir. Sistem üzerinde
hiçbir önceliği yoktur. Yani isteyen herkes kendi shell programını yaratabilir. Bu yüzden
çeşitli kabuklar mevcuttur. Bunlara en yaygın olarak,
Bourne
Shell
Korn
Shell
C
Shell
Bourne Again Shell
Extended C Shell
Æ
Æ
Æ
Æ
Æ
kabukları örnek olarak gösterilebilir.
sh
ksh
csh
bash
tcsh
Stephen R. Bourne
David Korn
Bill Joy
AT&T
AT&T
BerkeleySD
AT&T
Kabuğun Görevleri
¾
¾
¾
¾
¾
Program Yürütme
Değişken ve İsim Yerine Koyma
Giriş / Çıkış Yönlendirme
Çevre Yönetimi
Yorumlayıcı Programlama Dili
( Program Execution )
( Variable and Name Substitution )
( I/O Redirection )
( Environment Control)
( Interpreted Programming Language)
Program Yürütme
Kabuk terminalden girilen tüm programları çalıştırmaktan sorumludur. Her komut
satırı kabuk tarafından incelenir ve ne yapılacağına karar verilir. Kabukta komutların
yazıldığı satıra komut satırı adı verilir. Kabuk, bu komut satırını tarar ve çalıştırılacak
programın adını ve aynı zamanda bu programa gönderilecek olan argümanları belirler.
Kabuk program isminin ve argümanların nerede başlayıp nerede bittiğini anlamak için özel
karakterler kullanır. Bu karakterler whitespace characters olarak adlandırılırlar. Örneğin
yatay-tab, bosluk ve satır sonu karakterleri bu türdendir. Bu karakterlerin birden fazla
yanyana olduğu durumlarda kabuk bunların bir tanesini işleme alarak geri kalanını ihmal
eder. Örneğin,
#mv rje/mazewars games
komutu işletileceği zaman kabuk satırın başından ilk boşluk karakterine kadar olan
bölümü komutun adı olarak anlar. Bir sonraki boşluk karakterine kadar olan diğer karakterler
komutun ilk parametresi olarak algılanır "rje/mazewars". Bu anlamda "games" ikinci
argümandır. Daha sonra kabuk bu argumanları mv komutuna parametre olarak verecek
şekilde mv komutunu çalıştırır. Bahsedildiği gibi birden fazla boşluk karakteri gözardı edilir.
Örnek 9.20 :
abc$ echo
when do
we
eat
?
when do we eat ?
abc$
komutunda, echo programına dört parametre gönderilir.
Aslında olan şey, echo komutunun bu boşluk karakterlerini (whitespace) hiç
görmemesidir. Çünkü komut yürütülmeden önce, kabuk bu whitespace’ leribir anlamda
yutmuştur. Ancak istenirse kabuğun bu karakterleri ihmal etmeyip komuta gönderilen
parametrelere bunları dahil etmesi sağlanabilir (Quoting).
Kabuklar, yürütülmek istenen komutları yol sistem çerçeve değişkeninin (Path)
gösterdiği yollar üzerinde arayarak onları bulmaya çalışır, bulunca çekirdekten
(Unix,Linux,Windows,Dos) çalıştırma işleminin başlamasını ister. Ancak bazı komutlar
vardır ki, kabuk onları kendisinin nasıl çalıştıracağını bilir. Bu tür komutlara built-in
komutlar adı verilir. Bunlara örnek olarak cd, pwd ve echo (son iki tanesi SVR2 ve üstü ekol
için geçerlidir). Bu yüzden kabuk komutu aramak için diski aramadan önce komutun built-in
bir komut olup olmadığını inceler, eğer durum böyle ise built-in komut çalıştırılır. Aksi
taktirde yollar üzerinde komut diskte aranır. Kullanıcı çalıştığı dizindeki bir komutu
çalıştırabilmesi için “ ./ “ karakter kombinasyonunu örnek olarak kullanacak şekilde komutu
yazması gerekir. # ./ komut
Değişken ve İsim Yerine Koyma
Herhangi bir programlama dilinde olduğu gibi, kabuk değişkenlere değer atanmasına
izin verir. Komut satırında bir değişken karakteri dolar ile başlayan şekilde
kullanıldığındakabuk o anda değişkene daha önce atanmış olan değerle değişkenin yerini
değiştirir. Kabuk aynı zamanda komut satırında isim yerdeğiştirme (name substitutıon)
gerçekleştirir. Aslında, kabuk, komut satırını isim yerdeğiştirme karakterleri olan *, ? yada
[…] karakterlerini arayarak tarar. Bu işlemi, argümanları ile birlikte programın ismini
belirlemeden önce yapar. Örneğin, bir dizindeki ls komutu ile listelenirse şekildeki gibi bir
çıktı alınır.
$ ls
$ echo *
Æ ( Tüm dosyaları listele)
mrs.todd
mrs.todd progl shortcut sweeney
progl
$
shortcut
sweeney
$
Aynı dizin içinde echo komutu “echo * “ olarak yürütüldüğünde alınan çıktı aynıdır.
Burada kabuk echo komutu çalıştırmadan önce * ile dizindeki tüm dosya ve alt dizin
isimlerini yer değiştirerek komut satırına yerleştirir ve herbirini echo’ ya parametre olarak
verdikten sonra kernel’ dan echo komutunu parametreleri ile birlikte çalıştırmasını ister.
Sonuç ls komutu ile aynıdır. Kabuk hatta bu isimleri alfabetik sıraya dizerek işlemi yürütür,
yani komut echo mrs.todd progl shortcut sweeney formuna dönüştürüldükten sonra
yürütülür. Burada önemli olan echo komutunun *’ ın farkına varmadan işlemlerin
gerçekleşmiş olmasıdır. Baska bir değişle asterisk karakteri echo’ ya parametre olarak
gönderilmez !
Giriş/Çıkış Yeniden Yönlendirme
Komut satırında, giriş ve çıkış yönlerdirme işlemleride kabuğun sorumluluğundadır.
Kabuk komut yürütülmesi gerçekleşmeden önce komut satırındaki ilk komuttan varolan olası
yönlerdirme özel karakterlerini tarar. Bunlardan bazıları >, <, >>, << karakterleridir.
Şekildeki komut yürütüldüğünde,
echo remember to tape backup files > reminder
Kabuk > özel çıkış karakterini tanır ve arkasından gelen kelimeyi, standart çıkış
(standart output) yani echo komutunun çıktısının yönlendireceği yer, diğer bir değiş ile dosya
ismi olarak ( burada ”reminder”) kullanır. Standart çıkış dosyası önceden varolan bir dosya
olabilir. Bu durumda içeriği silinerek yeni bilgilerle güncellenir. Dosya yok ise yaratılır.
Dosyaya yazma izni yoksa kabuk hata mesajı üretir. Programın kendisi gözönüne alınacak
olursa, çıktının nereye gönderileceğini kendisi bilemez. Kendisi normalde standart çıkış olan
terminal’ e (ekrana) çıkışını üretir. Ancak çıktının kabuk tarafından bir dosyaya tekrar
yönlendirileceğinden haberi asla olmaz. Diğer yönlerdirme özel karakteri olan < içinde
durum hemen hemen aynıdır.Örneğin şu komutu inceleyelim.
wc çalışmaya başlayınca kendisine iki argüman gönderildiğini anlar. Birinci argüman–
1 dir ki, bu komuta satırların sayısını say anlamına gelir. Ikinci argüman ise satırları
sayılacak olan dosyanın adıdır. Böylece wc, users dosyasını açar ve satırları sayarak dosya
ismi ile birlikte standart çıkışına (terminal’ e) satır sayısını gönderir.
$ wc –l users
5 users
$ wc –1 < users
5
$
İkinci durum ise birinciden farklıdır. Kabuk, komut satırındaki özel girdi yönlendirme
karakterini bulur ve tanır (burada “<” ). Bu karakteri takip eden sözcük komuta standart girdi
olarak verilecek dosyanın adıdır (users). Bu aşamada kabuk komut satırından < users’ ı
alarak wc’ ye –1 parametresini tek parametre olarak gönderir ve wc’ yi kernel’ a çalıştırtır.
wc çalışmaya başlayınca, kendisine tek argüman (–1) gönderildiği ve bununla ne yapması
gerektiğini anlar ancak çalışabilmesi için ikinci argümana da ihtiyacı vardır. Ancak dosya
ismi kendisine parametre olarak gönderilmemiştir. Bu durumda varsayılan davranışı olarak
standart girişindeki satırları okumaya çalışır. Komutun standart girişi dosyaya
yönlendirildiğinden users’ dan satırları sayar ancak aslında users dosyasının satırlarını
saydığından haberi yoktur. Bu yüzden komut çalıştırıldığında satırı sayılan dosya ismini
görüntüleyemez çünkü kendisi standart girişi sayar (Şekil 2). Komutun bu iki farklı şekilde
nasıl çalıştığının anlaşılması, kabuğun yönlerdirme sorumluluğunun anlaşılabilmesi
açısından hayati önem taşımaktadır.
Diğer bir yönlerdirme olarak pipeline Hookup ele alalım, kabuk bu özel yönlerdirme
işaretinide “ | “ (pipe) tanır. Ancak kabuk, > ve < özel karakterlerini komutların çıktılarını
dosyalara göndermek ve komut girdilerinide bir kaynaktan komuta yönlerdirmek için
kullanılırken, “ | ” özel karakterini bu karakterden önce gelen komutun standart çıktısını bu
karakterden sonra gelen başka bir komutun standart girişine yönlendirmek için kullanır.
Arkasından iki program beraber (aynı anda) çalıştırılır. Örneğin, $ who | wc –1 komutu
yürütüldüğünde, kabuk who ve wc komutlarını ayıran “ | “ (pipe) karakterini tanır ve who’
nun standart çıkışını, wc’ nin standart girişine yönlendirir. Komutlar ayrı anda bu
yönlerdirme sonra beraber çalıştırılır.
Komutlar çalıştığında , who komutu standart çıkışının, wc komutunun standart girişi,
wc komutuda standart girişinin, who komutunun standart çıktısı olduğunu anlamazlar.
Çünkü, örneğin wc komutuna argüman olarak dosya adı girilmemiştir, bu yüzden wc
standart girişini (–1) parametresi gereği standart girişindeki satırları sayar. Aslında saydığı
satırlar, kabuğun yönlendirdiği who komutunun çıktılarıdır ve zaten satırlar halindedir.
Çevre Yönetimi
Kabuk, kullanıcıya kullanıcının çevre değişkenlerini özelleştirebilmesine yani kendine
göre düzenleyebilmesine izin verebilecek bazı komutlar sunar. Bu çevre değişkenlerine
kullanıcının ev dizini (home directory), bir komut yazılırken kabuğun görüntüleyeceği
karakterler (font) ve bir program çalıştırılmak istendiğinde, komutun aranacağı dizinler
listesi (yol-path) örnek verilebilir.
Yorumlayıcı Programlama Dili
Kabuk, kendi built-in programlama diline sahiptir. Bu dil yorumlanıcı bir dildir. Yani
kabuk, birim zamanda bu dilde kullanılan bir satırdaki her ifadeyi analiz eder ve öyle
çalıştırır. Bu C, Fortran gibi programlama dillerinden, kabuk yorumlayıcı programlama dilini
ayıran bir özelliktir. Öyleki bu dillerde, programlama ifadeleri, program çalıştırılmadan
önce, bilgisayarın anlayabileceği makina kodu adı verilen kodlara derlenerek dönüştürülür ve
daha sonra çalıştırılır.
Yorumlayıcı programlama dillerinden birinde yazılmış bir programın hata ayıklaması
(debug) ve üzerinde eklenti yapılması (modify), değiştirilmesi , derlenerek çalıştırılan
programlara nazaran daha kolaydır. Ancak, bununla beraber genellikle derlenen
eşdeğerlerine kıyasla çalışmaları daha uzun zaman alır.
Kabuk programlama dilleri, diğer dillerdekinin çoğunda bulunabilecek birçok özelliğe
sahiptir. Bunlara örnek olarak, döngü yapıları, karar verme ifadeleri verilebilir. Bu tür bir dil
sürece yönelimli olarak adlandırılır.
Bununla bereber, kabuk dilleri, diziler, veri tipleme (data typing) ve built-in
aritmetikoperasyonlardan yoksundur. Korn Shell, bu açıdan geleneksel yapısal programlama
dillerine çok daha yakındır. Öyleki, kullanıcısına, limitlide olsa veri tipleri (integer’ları ve
veri dizilerini içerecek şekilde) ve built-in integer aritmetik operasyonları gerçekleştirmek
için imkanlar sağlar.
BASH (BOURNE AGAIN SHELL)
UNIX için geiştirilen en önemli ve en çok kullanılan kabukların başında tcsh
(Extended C-Shell), bash (Bourne Again SHELL), ksh (Korn SHELL), pdksh (Public
Domain Korn Shell) gelir. Bash, Bourne Shell’in geliştirilmiş sürümüdür. Tcsh ise C-Shell
üzerine eklenen yeniliklerle genişletilmiştir. Unix altında, bash kabuğu diğer benzerlerine
nazaran daha fazla özelliğe ve işleve sahiptir. Bir kullanıcı sisteme login olduğu zaman
sistem yöneticisi tarafından varsayılan olarak belirlenmiş kabuk programı aktif olur. Daha
sonra kullanıcı, istediği kabuğun programını komut satırından çalıştırarak, bu yeni kabuk
altında çalışmalarına devam edebilir.
Bash kabuğunun kullanıcıya zaman kazandıran en önemli özelliklerinden birisi, komut
satırında dosya ve program isimlerini tamamlamasıdır. Komut satırındaki tamamlanmamış
bir komut veya dosya ismi yazdıktan sonra TAB tuşuna basılırsa satır tamamlanacaktır. Eğer
komut satırındaki karakter kümesiyle başlayan birden fazla komut varsa, bir sinyal sesi ile
birlikte sizden yeteri kadar karakteri yazmanızı ister. Ancak sinyal sesi ile birlikte iki kez
TAB tuşuna basılır ise o ana kadar yazılmış karakterler ile başlayan tüm komutlar ekranda
listelenecektir.
ALIASES
alias anahtar komutu ile, bir komut için takma isimler yada yapma komutlar
oluşturulabilir. Komutu açarak veya genişleterek (expand), tıpkı bir makro gibi çalıştırır.
Ancak kesinlikle komut ile yer değiştirmezler (replace). Alias, bir komutu switch’leri ile
birlikte tek bir komut olarak kullanabilmek için tanımlanır.
abc:/home/username $ alias list = ls
abc:/home/username $ list
mydata
abc:/home/username $ ls
mydata
abc:/home/username $
Ancak bununla beraber, komutun kendi ismi dahi alias tanımlamak içinde
kullanılabilir. Böylesi bir durumda gerçek komut ismi maskelenmiş olur. Örneğin,
abc:/home/username $ alias rm=’rm –i’
abc:/home/username $ alias mv=’mv –i’
abc:/home/username $ alias cp=’cp –i’
Alias tanımlamanın yanında, daha önce tanımlanmış alias’lar “unalias” komutu ile
kadırılabilirler.
abc:/home/username $ unalias rm
abc:/home/username $
Bash Çevre Değişkenleri
Unix, kabuğunuzu yeniden konfigüre edebileceğiniz değişkenlerini, sisteme girildiği
anda önceden ayarlamıştır. Bunların dışında kalanlar kullanıcı tarafından tanımlanmak
zorundadır. Anahtar kelimelerin bazıları bu değişkenler için ayrılmıştır. Ancak kullanıcı,
bunları kendi özel tanımlamaları için değil, yeri geldiği zaman kullanmalıdır. Bu kelimeler
büyük harflerle tanımlanmışlardır. Örneğin HOME değişkeni, system tarafından kullanılır ve
kullanıcının ev dizininin path’ini tutar.
Diğer özel kabuk değişkenleri sistem tarafından tanımlanırlar ve sistem tarfından bir
başlangıç değeri ile atanırlar. Bu tür değişkenlerin kullanıcı tarafından çeşitli amaçlar
doğrultusunda değiştirilmesi mümkündür. Örneğin path veya PATH değişkenleri.
Tüm bunların dışında sistem tarafından tanımlanmamış değişkenlerde vardır. Bunlar
daha çok seçime bağlı özellikler içindirler. Örneğin EXINIT değişkeni Ex ve vi editöru için
öntanımlama içerir. Bahsi geçen son tür değişkenler sisteme her girildiğinde yeniden
tanımlanmak zorundadırlar. Bu yüzden bunlara “kullanıcı tanımlı özel kabuk çevre
değişkenleri” de denir.
Genel bir sınıflandırma olmamakla beraber özel kabuk çevre değişkenleri, üç ayrı
sınıfta toplanabilir ;
¾
Bash sistem tanımlı özel kabuk çevre değişkenleri
¾
Bash yeniden tanımlanabilir sistem öntanımlı özel kabuk çevre değişkenleri
¾
Bash kullanıcı tanımlı özel kabuk çevre değişkenleri
Öntanımlı yada sonradan tanımlanmış olsun, bir kabuk çevre yada normal kabuk
değişkeninin kullanılabilmesi için başına $ karakterinin getirilmesi gerekir. “ $ ” işareti
burada bir kabuk operatörü gibi çalışır.
BASH Sistem Tanımlı Özel Kabuk Çevre Değişkenleri
Burada sistem tanımlı özel değişkenlerden üçü HOME, LOGNAME, TZ
anlatılacaktır. Bu tür değişkenler sistem tarafından kullanıcı login olduğu zaman tanımlanır
ve kesinlikle değiştirilmemelidir. Hepsi tüm taratılacak tüm alt-kabuklar tarafından
erişebilecek (export edilmiş) çevre değişkenleridir.
¾
HOME : HOME değişkeni kullanıcı ev dizininin yolunu içerir. Kullanıcıların ev
dizini kullanıcı hesabı yaratılırken, sistem yöneticisi tarafından belirlenir ve yaratılır.
Kullanıcı Login olduğu zaman ev dizininin yolu bu değişkene otomatik olarak
okunur. HOME değişkeni daha çok açık ve tüm yol (absolute path) belirtileceği
zaman kullanılır.
# ls –al $HOME/reports
(# ls –al /home/users/bulent/reports ile eşdeğerdir)
¾
¾
LOGNAME : Bu değişken bir yolu değil kullanıcı ismini (login name) tutar. Bu
değişken kullanıcı isminin yerini tuttuğu için eğer kullanıcı sisteme giriş ismini
değiştirmeye karar vermiş ise kullanımı tercih edilebilir.
# ls –al /usr/mail/$LOGNAME
TZ : Sistemin kullandığı Zaman Dilimini (Time Zone) tutan bir değişkendir.
Kullanıcı Login olduğu zaman ayarlanır. TZ, değerini üç ayrı alanda görüntüler, ilk
üç harf yerel zaman dilimini (Local Time Zone) temsil eder, sonraki rakam yerel
zaman dilimi ile Greenwich Mean Time arasındaki saat farkını gösterir. Takip eden
son bloktaki üç harflik kısımda ise yerel günışığından faydalanıldığında geçerli olan
zaman dilimi (Daylight Saving Time Zone) bulunmaktadır. Aşağıdaki örnekte, pasifik
standart saati, 8 saatlik zaman farkı, pasifik daylight time zone görülmektedir.
abc:/home/username $ echo $TZ
PST8DDT
abc:/home/username $
BASH Yeniden Tanımlanabilir Özel Kabuk Çevre Değişkenleri
Yeniden tanımlanabilir özel değişkenler, linux komutlarının yerleri mailbox
dosyalarının yerleri ve kullanıcı promptlar da kullanılan semboller hakkında bilgiler içerirler.
Basit atama yöntemi ile üzerlerinde değişiklik yapmak mümkündür. Bunların en yaygın
kullanımı olanlarına SHELL, PATH, PS1, PS2, MAIL değişkenleri örnek verilebilir.
¾
SHELL : Linux ta, BASH, PDKSH, TCSH kabukları veya herhangi biri, sisteme giriş
kabuğu yani Login Shell olarak kullanılabilir. Bu değişken kabuk komut
yorumlayıcısının yolunu (path) tutan çevre değişkenidir.
bash shell : /bin/bash
Bir bakıma bu varsıyalan kabuk olarakda yorumlanabilir. Kabuk programları /bin
dizininde bulunurlar.
¾
PATH : Dizin yollarını tutar, bunlar bir ayraç karakteri olan “ : ” karakteri ile
ayırılırlar. Aynı zamanda PATH değişkeni home dizininide içerir (içermelidir!). path
ve PATH değişkeninde kullanıcı veya sistem komut yürütmek istediğinde kabuğun bu
programın çalıştırılabilir dosyasını nerelerde arayacağı bilgisi tutulur. PATH
değişkenine bir dizini eklemek için şu yol izlenir,
abc:/home/username $ PATH = $PATH : $HOME/mybin
abc:/home/username $ export path
abc:/home/username $ echo $PATH
/usr/bin:/usr/sbin:/home/username/mybin........
abc:/home/username $
Eğer PATH değişkenine yeni dizin ismi ekleyerek yol tanımını güncellemek yerine
doğrudan dizin ($ PATH= $HOME/mybin) tanımlaması yapılırsa, var olan yegane yol
girilen dizin isminden ibaret kalır.
¾
PS1 ve PS2 : PS1 ve PS2, birincil (primary) ve ikincil (secondary) prompt
sembolleridir. BASH sıradan kullanıcısı için primary prompt $’dır. PS1’e yeni bir
karakter atanarak bu değiştirilebilir.
abc:/home/username $ PS1=”Æ”
Æ export PS1
Æ
Semboller yerine double quote’lar arsında yazmak suretiyle karakter dizileride (string)
kullanılabilir.
abc:/home/username $ PS1 =” Please enter a command : “
Please enter a command : export PS1
Please enter a command : ls
mydata
reports
Please enter a command :
PS2 değişkeni secondary prompt sembolünü tutar. Bu prompt sirden fazla satır süren
komutlar için kullanılır. Varsayılan ikincil prompt (Default secondary prompt) “>”
işaretidir. Buda değiştirilebilir.
abc:/home/username $ PS2=”@ ”
BASH’da, promptu yapılandırmak konfigüre etmek için önceden tanımlanmış
programcıklar (mini codes) vardır. Bunları kullanarak saati, isminizi, çalışma dizininizi
prompt unuzun bir parçası haline getirebilirsiniz.
¾
\w : geçerli çalışma dizini
¾
\t : geçerli saat
¾
\u : kullanıcı ismi
¾
\! : bir sonraki history sayısı
¾
\d : geçerli tarih
¾
\s : geçerli kabuk programı
¾
\$ : tüm kullanıcılar için (bash)’da prompt sonu (root hariç)
¾
\h : makina ismi
PS1 ve PS2 nasıl kullanıldığına örnek olarak /etc/profile dosyasının sembolik bir
örneğini verebiliriz,
Örnek 9.21:
if [ “$TERM”=” ” –o “$TERM”=”unknown” ] ; then
TERM=vt100
fi
# PS1 = ‘ `hostname` : `pwd ` # ‘
if [ “$SHELL”=”/bin/pdksh ” –o “$SHELL”=”/bin/ksh” ] ; then
PS1 = “ !$ “
elif [ “ $SHELL “ = “/bin/zsh” ] ; then
PS1 = “ %m : %~%#”
elif [ “ $SHELL “ = “/bin/ash” ] ; then
PS1 = “ $”
else
PS1 = ‘\h:\w\$‘
fi
PS2=’>’
ignoreeof=10
export PATH DISPLAY LESS TERM PS1 PS2 ignoreeof
umask 022
.
.
.
MAIL, MAILCHECK, MAILPATH
MAIL değişkeni kullanıcının mailbox dosyasının yol ismini (pathname) tutar. Sistem
kullanıcının mesajlarını buraya koyar. Bu değişkende tutulan dosya, mail programının gelen
mesajları alarak okuduğu dosyadır.
abc:/home/username $echo $MAIL
/var/spool/username
abc:/home/username $
MAILCHECK değişkeni, yeni mail geldiği zaman kullanıcının ne kadar zaman
aralıklarıyla bilgilendirileceği bilgisini saniye olarak tutar. Default olarak 10 dakika yada
600 saniyedir. Örnekte bu sayı 20 dakikaya ayarlanıyor.
abc:/home/username $ MAILCHECK=1200
abc:/home/username $ export MAILCHECK
MAILPATH değişkeni ise, diğer mailbox dosyalarının (check edebilmeniz için)
path’ini tutar MAILCHECK ve MAILPATH, MAIL aksine kullanıcı tanımlı özel
değişkenlerdir.
abc:/home/username $ MAILPATH=/home/mail/$LOGNAME
abc:/home/username $ export MAILPATH
OSTYPE
Bourne Again Shell’in üzerinde çalıştığı işletim sistemini tanımlayan bir karater
dizisinin (String) otomatik olarak atandığı bir çevre değişkenidir. Varsayılan değeri sistem
bağımlıdır.
abc:$ echo $OSTYPE
linux-gnu
abc:$
OSTYPE
Kullanıcının çalıştırdığı son komutun adını yada atanan çevre değişkeninin değerini
gösterir,
abc:$ dir
deneme backup/_
abc:$ echo $_
dir
abc:$ echo $TERM
vt100
abc:$ echo $_
vt100
BASH Yeniden Tanımlanabilir Sistem Öntanımlı Özel Çevre Değişkenleri
Daha çok kullanıcının geçerli terminal türü (örnek TERM) yada kullandığı editörlerin
veya yardımcı programların yapılandırma bilgilerinin (mc) tutan türde değişkenlerdir.
Bazıları sistem tarafından öntanımlıdır (örnek TERM), bazıları ise kullanıcı tarafından
tanımlanmak zorundadır. İkinci çeşit değişkenler sözkonusu olduğunda, eğer kullanıcı
Logini esnasında bu değişkenlerin otomatik olarak tanımlanmış olmasını isterse bunları
sistem başlangıç dosyalarında tanımlamalıdır ($HOME/.bash_profile dosyasında tercihen
user specific environment and startup programs başlığı altında).
Bazıları kabuk operasyonlarını etkinleştirir, diğerleri ise özel yardımcı programlar ile
birlikte kullanılmak üzere tasarlanmışlardır (örneğin mc). Örneğin EXINIT, vi ve Ex
editörlerinin öntanımlamalarını içerir
¾
CDPATH : Tanımlanmamış olduğunda ve cd komutuna argüman olarak göreceli yol
(relative path) ile bir dizin ismi verildiğinde, cd bunu sadece çalışma dizininde arar.
Eğer CDPATH değişkeni tanımlanmış ise cd komutu bu şekilde verilen dizin ismini
bu dizinler altındada arayacak ve bulursa o dizine geçecektir.
abc:/home/username $CDPATH=$CDPATH:/home/username/letters
abc:/home/username $ export CDPATH
abc:/home/username $ echo $CDPATH
:/home/username/letters
abc:/home/username $ cd thanks
abc:/home/username/letters/thanks $ pwd
/home/username/letters/thanks
abc:/home/username/letters/thanks $
CDPATH tanımlamalarında ev dizininin absolute path’i yerıne $HOME değişkeninin
kullanılmasının faydası vardır. Çünkü system admin kullanıcının ev dizinini değiştirdiği
zaman kullanıcının yaptığı tanımlama geçersiz kalır. $HOME/letters
¾
TERM : Değişkeni, geçerli olarak kullanılan terminal ismini tutar. Bir terminale
logon yapıldığında, terminalinizin ne olmasını istediğiniz sorulabilir. Verilen cevap
TERM değişkenine yazılır ve export (yaratılacak altkabuklarada çevre değişkeni
olarak kopyalanır) edilir. Örneğin telnet programı kullanılarak bir uzak sisteme bir
linux sistemden bağlanıldığında varsayılan olarak TERM değişkenine linux değeri
atanır. MS Windows sistemden bağlanıldığında ise terminal tipi telnet programında
TERM değişkeni varsayılan olarak vt100 olduğu için TERM değişkeni bağlantı
kurulurken vt100 değeri ile atanır. Kullanıcı isterse bu terminal tiplerini bağlantıdan
önce veya sonra istediği gibi ayarlayabilir.
abc:/home/username $ echo $TERM
vt100
abc:/home/username $ export TERM=xterm
abc:/home/username $ echo $TERM
xterm
¾
EXINIT : Değişkeni, Ex ve vi editörlerini konfigüre eden komutları tutar. Bu
editörleri kullandığınızda, EXINIT değişkenindeki komutlar çalıştırılır. Bu komutlar
genellikle bazı özellikleri belirleyen başka komutları çalıştırırlar.
abc:/home/username $ EXINIT=’set nu ai’
abc:/home/username $ export EXINIT
veya tek satırda,
abc:/home/username $ export EXINIT=’set nu ai’
HISTFILE HISTSIZE : HISTSIZE değişkeni, bash ‘da HISTFILE çevre
değişkeninde belirlenmiş dosyada, default olarak ne kadar sayıda komutun
tutulacağını belirler. Default olarak HISTFILE, bash_history HISTSIZE ise 500
değerine ayarlanmıştır.
¾
Kabuk Özelliklerinin Kontrol Edilmesi
Diğer tüm kabuklarda olduğu gibi, BASH içindede çevre değişkenleri çeşitli komutlar
ile kontrol edilebilir. Bu komutlardan biri olan “ set ” komutu bu açıdan çok kullanışlıdır. Set
komutu ile aktif (-o seçeneği ile) yada pasif (+o seçeneği ile) hale getirilebilen çevre
değişkenleri kabuğun çalışma tarzını değiştirebileceğinden önem taşımaktadır. set
parametresiz kullanıldığında kabukta o an için geçerli olan tüm kabuk değişkenlerinin bir
listesini standart çıkışı olan terminale gönderir.
noclobber
Bir programın çıktısı “ > ” özel karakteri kullanılarak bir dosyaya yönlendirildiği
zaman, eski dosyanın üzerine kayıt yapılma girişiminde bulunulmuş ise kullanıcının
uyarılmasını sağlar. Örneğin, kullanıcı ev dizinindeki dosyaların isimlerini bir dosyada
saklamak istediğinde, verilen dosya ismi halihazırda o dizinde mevcut olan bir dosya ise bu
dosyanın içeriği değişecektir. İşte böyle bir durumda noclobber kabukta “ set –o noclobber
” ile aktif edilmiş ise kullanıcının varolan bir dosyanın üzerine yazmakta olduğu için uyarılır.
Aksi takdirde kullanıcı uyarılmaz.
abc:/home/username $ set –o noclobber
abc:/home/username $ cat preface > myfile
myfile : already exists
abc:/home/username $ cat preface > !myfile
overrides
abc:/home/username $
noglob
BASH özel *, ? gibi joker karakterlerinin (wildcards), normal karakterler olarak
algılanmasını ve yorumlanmasını sağlar. Böylece kabuk, komut satırında kullanılan bu
karakterler ile değerlerini yer değiştirmez. Varsayılan olarak noglob geçersizdir.
abc:/home/username $ set –o noglob
abc:/home/username $ touch answers?
abc:/home/username $ ls answers?
answers?
abc:/home/username $
history Komutu
Kullanıcının verdiği son 30 komutun bellekte ve diskte bir dosyada tutulmasını sağlar.
Aynı zamanda “ ! ” özel karakteri yardımı ile eski komutların tekrar kullanılabilmesini
sağlar. Aslında C-Shell kaynaklanan ve BASH’e entegre edilmiş bir yapıdır. Son komutu
tekrarlamak için “ ! ” karakterini, iki önceki komutu tekrarlamak için “ !! ” karakter
kombinasyonunu yada
kullanmak yada komutu “ ! –2 ” ( !komut_sıra_nosu ) olarak
yürütmek gerekir.
abc:/home/username $ history
1 cp mydata today
2 vi mydata
3 mv mydata reports
Tüm bunların yanında bir karakterle başlayan son komutu, örneğin “ c ” karakteri ile
başlayan en son komutu tekrarlamak için, “ !c ” şeklinde kullanılır.
ignoreeof
Kabuktan (exit) veya sistemden (logoff), CTRL+D tuş kombinasyonu kullanılarak
çıkılmasına izin verir kısıtlar. Bazı Unix komutlarına klavyeden (Standart Giriş) veri
aktarırken, veri girişinin tamamlandığı komuta bildirilmek amacıyla bu tuş kombinasyonu
kullanılır. Eğer ignoreeof ile kabuk terkedilebilecek şekilde bir tanımlama yapılmış ise
komut veri girişi sonlandırılırken istenmediği halde kabuk terkedilebilir.
set –o ignoreeof ( CTRL+D ile kabuk terkedilemez )
set +o ignoreeof ( CTRL+D ile kabuk terkedilebilir )
Ayrıca ignoreeof çevre değişkeni bir sayı değeri ile birlikte tanımlanır ve CTRL+D
kombinasyonu kabuk terk izni verilirse, verilen sayı kadar CTRL+D tuş kombinasyonu
kullanıldığında çalışılan kabuk veya sistem terk edilir.
$ set +o ignoreeof
$ ignoreeof=10
(10 defadan sonra )
fc Komutu
Bu komut ile sıra nosu verilen komut edit edilebilir. Aynı anda birden fazla komutu
edit etmek mümükündür.
abc:/home/username $ fc 4
BASH Başlangıç ve Çıkış Dosyaları
Sistem Başlangıç Dosyaları
Bash, başlangıç dosyalarını diğer kabuklardan farklı şekilde çalıştırır. Bash’in
davranışı, C-Shell ’in her kabuk için belirli isimlerdeki başlangıç dosyaları çalıştırma
prensibi ile Bourne Shell’in (sh) minimalist yaklaşımı arasında bir uzlaşma olarak
düşünülebilir. Bash kabuk dosyaları kullanıcı sisteme login olduğu zaman veya bir kabuk
scripti çalıştırdığı zaman çalıştırır. Bir kullanıcı login olduğu zaman getty bir etkileşimli
kabuk çalıştırır (Interactive Login Shell).Bu aşamada PS1, $ işaretine ayarlanır ve
kullanıcının program yada script çalıştırmasına izin verilir. Eğer aynı kullanıcı daha sonra bir
kabuk script’i çalıştırırsa bu sefer yeni bir bash etkileşimsiz alt-kabuk (Non-Interactive
Shell) çalıştırılır. Bash etkileşimli olarak çalıştırıldığında ilk önce /etc/profile dosyasını
çalıştırır. Bu dosyadan sonra kullanıcının ev dizininde gizli (hidden) dosya halinde bulunan
~/.bash_profile, ~/.bashrc (dolayısı ile /etc/bashrc), ~/.bash_login, ~/.profile dosyaları
arar, bulursa ve dosyalarda okuma izni varsa bu sıra ile çalıştırır.
Kullanıcı bir script çalıştırırsa, bash bu script için etkileşimsiz olarak bir alt-kabuk
çalştırılacağı için bu yeni alt-kabuk için ilk önce ~/.bashrc ve dolaylı olarak /etc/bashrc
dosyaları çalıştırılır. Aslında her zaman bir etkileşimsiz kabuk için fix bir dosya
çalıştırılmaz, çalıştırılacak dosya $BASH_ENV değişkenine ismi atanmış olan dosyadır.
Ancak bu genellikle ~/.bashrc dosyasıdır. Ev dizinlerindeki başlangıç dosyaları
~/.bash_login, ~/.profile haricinde kullanıcı hesabı ile birlikte yaratılırlar.
BASH Login Başlatma Dosyası ~/.bash_profile
Bu dosya diğerleri gibi aslında bir kabuk scriptidir. Kullanıcı bazlı bir çevre ve
başlangıç dosyasıdır. Dosya, kabuğun yapılandırılması için gerekli çevre değişkenlerinin
tanımlamalarını yapan kabuk komutları içerir. Kullanıcı bazında aliaslar ve fonksiyonlar bu
dosya içinden çağırılan ~/.bashrc dosyasıyla geçerli kılınır. Bazen sistemde öntanımı
yapılmış çevre değişkenlerinin yeni tanımlamalarını (redefine) ve hatta kullanıcı tarafından
tanımlanmış özel çevre değişkenlerini içerir. Örneğin loginde, login kabuğu linux
komutlarının hangi dizinlerde olduğunu merak eder. Buda bu dosyadaki PATH değişkeni ile
tanımlanmıştır. Bunun yanında bu dosya içinde tanımlanmış özel değişkenler diğer
altkabuklar tarafından kullanılabilmesi için mutlaka export edilmelidir. Genellikle dosyanın
son satırında değişkenlerin bir listesi export edilir. Bu dosya her kullanıcının dizininde
bulunur, kullanıcının logini esnasında çalıştırılır ve her kullanıcı için kullanıcının kendisi
tarafından özelleştirilebilir. Örneğin EXINIT özel çevre değişkeni burada tanımlanabilir.
Peki sistem genelinde her kullanıcı için geçerli olan bir profile dosyası var mıdır?
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH:$HOME/bin
BASH_ENV=$HOME/.bashrc
USERNAME="root"
EXINIT= ‘set nu ai‘
export USERNAME BASH_ENV PATH
BASH Kabuk Login Başlatma Dosyası /etc/profile
Linux sistemin kendine özel bir profile dosyası vardır. Sistem bazlı bir çevre
(environment) ve başlangıç (startup) dosyasıdır. Bu dosya sistem genelinde tüm kullanıcılar
için ortak kullanılan sistem ayarlarını ve özel çevre değişkeni tanımlamalarını içerir.
Örneğin, tüm kullanıcılar için PATH değişkeni /usr/X11R6/bin dizinini içerecek şekilde
tanımlanmıştır. Eklenen bu dizin X-Windows komutlarının bulunduğu dizindir. Başka bir
örnek olarak sistem kullanıcılarının mail dizinlerini tanımlayan MAIL çevre değişkeni
burada tanımlanır.
# /etc/profile
# System wide environment and startup programs
# Functions and aliases go in /etc/bashrc
if ! echo $PATH | /bin/grep -q "/usr/X11R6/bin" ; then
PATH="$PATH:/usr/X11R6/bin"
fi
ulimit -S -c 1000000 > /dev/null 2>&1
if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then
umask 002
else
umask 022
fi
USER=`id -un`
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
HOSTNAME=`/bin/hostname`
HISTSIZE=1000
if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
INPUTRC=/etc/inputrc
fi
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
HISTFILESIZE
for i in /etc/profile.d/*.sh ; do
if [ -x $i ]; then
. $i
fi
done
unset i
Kullanıcılar için tanımlanmış sistem bazlı aliaslar ve bir takım fonksiyonlar
/etc/bashrc dosyasından burada çağırılır. BASH_ENV özel çevre değişkenide burada
belirlenir.
~/.bash_profile ve /etc/profile dosyaları üzerinde bir değişiklik yapılırsa bunun
sistemden çıkmadan geçerli olması için komut satırında “.” (nokta komutu) kullanılarak
dosya ismi parametre olarak verirlir,
$ . .bash_profile
$ . /etc/profile
yada
$ source .bash_profile
$ source ./etc/profile
BASH Kabuk Başlangıç Dosyası ~/.bashrc
Kullanıcı bazlı bir kabuk başlangıç dosyasıdır. BASH ‘de bir script çalıştırıldığında
yani etkileşimsiz bir kabuk yaratıldığında ~/.bashrc dosyası çalıştırılır. Eğer kabuk bir login
kabuğu ise (Login Shell) bu dosya, ~/.bash_profile dosyası ile birlikte çalıştırılır. Eğer
BASH ‘e başka bir kabuktan girilmiş ise otomatik olarak çalıştırılır. Böylece içerdiği çevre
ve alias tanımlamaları geçerli olur. Sistem üzerinde bir takım özellikleri (features) aktif yada
pasif hale getiren set komutu ile ilgili tanımlamalarda bu dosyada yapılır .
$ set –o ignoreeof
Bu şekilde kullanılan alias ve özellikler bu kabukta yerel kalır (localized). Oysa bu
tanımlamalar .bashrc dosyasında yapılırsa yaratılacak tüm kullanıcı kabuklarında geçerli
olacaktır. Bu yüzden aliaslar ve özellikler burada tanımlanırlar.
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
set –o ignoreeof
BASH Kabuk Başlangıç Dosyası /etc/bashrc
Linux Sistem bazlı kabuk başlangıç dosyasıdır. Tüm kullanıcılar için gerekli ve
geçerlidir. Kullanıcıların BASH Logini esnasında veya bir script çalıştıracağı zaman gerekli
olabilecek global aliaslar, özellikler ve fonksiyonlar içerir . Kullanıcının kendi kabuk
başlangıç dosyası bu dosyayı çağıracak komutlar içerir .
BASH Kabuk Çıkış Dosyası ~/.bash_logout
Kullanıcının bir alt-kabuğu yada logın kabuğunu terk edeceği zaman çalıştrılan bir
dosyadır. Çevre değişkeni tanımlamaları yerine sistem kapanışına benzer prosedürler yürüten
komutlar içerir. Logout ile geri alınması gereken değişiklik ve özellikler burada yapılır.
Özellikle son kullanıcının ekranında logout sonrası diğer kullanıcıları görebileceği bilgiler
kalmasını engellemek için ekran temizleyen komut (clear) burada kullanılabilir. Ayrıca
kullanıcının çalıştırdığı programların kullandığı geçeçi dosyalar (temp) burada verilecek
komutlar ile temizlenebilir.
Örnek 9.22:
# /etc/bashrc
# System wide functions and aliases
# Environment stuff goes in /etc/profile
# are we an interactive shell?
if [ "$PS1" ]; then
if [ -x /usr/bin/tput ]; then
if [ "x`tput kbs`" != "x" ]; then # We can't do this with "dumb" terminal
stty erase `tput kbs`
elif [ -x /usr/bin/wc ]; then
if [ "`tput kbs|wc -c `" -gt 0 ]; then # We can't do this with "dumb" terminal
stty erase `tput kbs`
fi
fi
fi
case $TERM in
xterm*)
PROMPT_COMMAND='echo
-ne
"\033]0;${USER}@${HOSTNAME}:
${PWD}\007"'
;;
*)
;;
esac
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
if [ "x$SHLVL" != "x1" ]; then # We're not a login shell
for i in /etc/profile.d/*.sh; do
if [ -x $i ]; then
. $i
fi
done
fi
fi
Kabuk Export Çevre Değişkenleri ve Script Kabukları
Bir kabuk programı çalıştırdığınızda, kendi öz kabuğuna sahip yeni bir process
başlatırsınız. Bu shell içinde değişkenler tanımlayabilir, UNIX komutları işletebilirsiniz ve
hatta diğer scriptleride çalıştırabilirsiniz. Eğer başka bir sript çalıştırırsanız (o anda çalışan
script içinde) parent script beklemeye geçer ve kontrol child scripte bırakılır. Diğer
script’teki tüm komutlar, kontrol parent script’e geçene kadar işletilir. Yani çağıran script ve
çağrılan script şeklinde düşünülebilir.
Aynı zamanda, script içinde tanımlanmış her değişken, script’in çalıştığı kabuktada
tanımlanacaktır. Ancak yalnızca o scipt’in kabuğu tarafından bilinir. Yani değişken
tanımlamaları kendi kabuklarına göre local (yerel) olurlar. Diğer bir deyişle, değişken
kabuğun içine gizlenmiştir. Bununla birlikte , scipt’in içinde bir değişken tanımlayıp bu
değişkeni script’in çağıracağı diğer script’lerdede geçerli olmasını isteyebilirsiniz. Bunu
direkt olarak yapamazsınız, fakat değişkeni export ederek alt kabuklardada geçerli olmasını
sağlayabilirsiniz.
Export edilmiş değişkenler global değişken olarak algılanmamalıdırlar. Bir shell, asla
bir değişkeni diğer altkabuklara paylastırmaz. Bunun yerine değişkenin bir kopyası her yeni
altkabuk için parent shell’deki ilk değeri ile yeniden yaratılır. Export edilmiş değişkenler
atanmış olan değerlerini export ederler, kendilerini değil!!. Yani çağırılan script’in
çalıştığı kabukta çağıran kabukta iken export edilmiş bir değişken varsa ve bu değişkenin
değeri değiştirilirse, global değişkenlerin aksine üst kabuktaki export edilmiş değişkenin
değeri değişmez.
BASH Programlama
Bash kabuk programlama-dilimsi yetenekleri karmaşık kabuk programları yaratmaya
olanak tanıyan bir yapıya sahiptir. Bir kabuk programı, Linux komutlarını belirli ve özel bir
görevi yerine getirmek üzere biraraya toplar. Scriptler içinde değişkenler tanımlanabilir
bunalara değerler atanabilir, öyleki bu kullanıcı ile etkileşimli olarak kabuktan parametreler
alarak çalışabilir. Kabuk scriptlerinde döngüler ve kontrol yapıları kullanılarak linux
komutları tekrar edilebilir yada kullanıcının seçimine göre hangi komutun çalıştırılacağı
belirlenebilir. Tüm bunlar basit bir metin editörü kullanılarak gerçekleştirilebilir. Bununla
beraber, Bash kabuk programları yazmak için bir çok programlama araçları sunar. Hatta
programlar birden fazla scrip dosyası üzerine dağıtılabilir.
Eğer bir scriptin ilk satırının ilk harfi boşluk karakteri ise bu script sadece BASH ve
PKDSH ‘de (Public Domain Korn Shell) çalışır. Eğer bu işaret # ise sadece TCSH ‘da
çalışır. Ancak ilk karakterler #! ve hemen arkasından scriptin çalışması istenilen kabuğun
yolu (path) verilirse, script hangi kabuk üzerinde çalıştırılırsa çalıştırılsın, bu şekilde scriptin
ilk satırında belirtilen kabukta çalıştırılır. Örneğin #!/bin/bash şeklindeki bir bildirim scriptin
BASH scripti olduğunu ve BASH tarafından yorumlanacağını belirtir. Bu şekildeki bir script
TCSH altında çalıştırıldığında ise yaratılacak olan bash alt-kabuğunda (sub-shell) çalışacak
ve çalışması bitince TSCH ‘a geri dönülecektir. Bir scripti çalıştırmanın iki yolu vardır,
birincisi scripti source yada dot ( . nokta) komutuna parametre olarak vermek yada komutu
chmod komutu çalıştırılabilir kılmaktır.
Örnek 9.23:
$ chmod u+x helloprog yada $ . helloprog
Kabuk Scriptleri : Komutlar ve Yorumlar
Bazı durumlarda scriptler içinde açıklama ve yardım amaçlı satırlar kullanmak faydalı
olur. Bu satırlar yorum satırları olarak adlandırılır ve # karakteri ile başlarlar. Scriptin hangi
kabuğa ait olduğu belirten #! Karakterleri ise yorum satırı değillerdir ve kabuğun
çalıştırılabilir dosyasının yolu ile tamamlanmalıdır #!/bin/bash.
Giriş Çıkış (echo read)
Bir script içinde işlemler sonucunda elde edilen çıktı standart çıkışa gönderilmek echo
komutu, standart girişten veri okuyarak değişkenlere atamak için ise read komutu kullanılır.
Veri sayı yada karakter dizisi olabilir. Read komutu bir değişken için satırı okur, kullanıcının
bir değişken için etkileşimli olarak veri girmesini sağlar ve standart girişteki bir newline
karakterine kadar satırı okur.
echo : Bir sayı giriniz
read sayı
echo girilen sayı : $sayı
echo : Bir karakter giriniz
read a
echo girilen karakter : $a
echo ve read komutları scriptlerde genellikle beraber kullanılır. Scriptlerde yada yada
komut satırında özel karakterler ancak tek tırnak (Single Qoute) içine alınmadığı durumlarda
kabuk tarafından işlem görürler. Çift tırnak (Double Quote) içine alınan özel karakterler
işlem görürler. Örneğin, greetvar scriptinde çift tırnak kullaıldığı için $greeting değeri ile
yerdeğiştirilmiştir.
greetvar
Örnek 9.24:
echo : please enter a greeting
read greeting
echo “The greeting you entered was $greeting”
Kullanıcı girişleri (input) ile ilgilenirken, kullanıcının özel karakterler kullanma
olasılığı da göz önüne alınmalıdır. Eğer UNIX komutu özel karakterler ile kullanılıyorsa
(wildcards), bu özel karakterler script içinde veya dışında, ancak Single Quote içine alınmaz
ise işlem görürler yani kabuk tarafından değerleri ile yer değiştirilirler. Eğer bir değişkenin
değeri özel karakter ise ve bu değişkenin değeri bir $ ile gösteriliyorsa (başlıyorsa) bu kabuk
tarafından hesaplanır (işletilir) yani yer değiştirilir (expand). Ancak bunu ‘ ‘ (Single Quote)
içine koyarsanız kabuk tarafından işlem görmeyecektir. Örneğin “$..”, greetvar scriptinde
$greeting “ “ içine yerleştirildiği için kabuk tarafından işlem görecektir. Bununla birlikte
kullanıcı girdiği bir karakter ile başlayan dosyaların listelesini veren bir script yazmak isterse
( yada bunun gibi işlemler yapan) ozaman, kullanıcının girdiği herhangi bir özel karakterin
kabuk tarafından işlem görmesi gerekir. Mesela, aşağıdaki örnekte $fref, “ “ içine alınsa bile
kabuk bu değişkene verilen değerleri önce çözümler ve sonra değişkene sırayla atar.
listfiles
Örnek 9.25:
echo : please enter a file reference
read fref
echo The files you requested are : $fref
Normal olarak bir kabuk scripti bir seri komut içerir. Bununla birlikte komutlarla
beraber data girmenizde gerekebilir. Yada satırlar boyu datayı kabuk script’inin içine
yazmanız gerekebilir. Bu veri script’ in bir komutu tarafından kullanılacaktır. << operasyonu
bu işlemi gerçekleştirir. Ancak veri script’ in içinde olmalıdır başka bir dosyada değil.
<< yeniden yönlendirme operasyonu (redirection operation), komuttan sonra
yerleştirilir. << arkasından gelen aynı satırdaki karakter ya da karakter dizisi EOF karakteri
olarak kullanılabilir. Eğer bu kullanılmaz ise Ctrl + d ile sonlardırma yapılabilir. Takip eden
satırlar komut için veri girdilerini içerir.
Örnek 9.26 :
mail Aydın << myend
Did you remember the meeting
Halil
myend
Script Komut Satırı Argümanları
Unix komutları gibi bir kabuk script’i argümanlar alabilir. Bir script’ i çalıştırdığınız
zaman komut satırından argüman girebilirsiniz. Bu argümanlar script içinde $ operatörü ve
komut satırındaki pozisyonu ile belirtilir. Komutun kendisi $0 (komut satırındaki ilk kelime)
dır argümanlar ise $1, $2,..... şeklinde komuttan sonra gelirler. Argüman değişkenleri readonly değişkenlerdir. İlkdeğer verildikten sonra bunlara değer atamazsınız (script içinde). Bu
anlamda argüman değişkenleri sabitler gibi çalışırlar ve bunlar komut satırı argümanları ile
belirlenirler . Ancak bu argumanlar içinde özel karakterler varsa ve single yada double quote
içine alınmamış iseler değerleri işlenerek bir argümana atanırlar.
greetargs
Örnek 9.27 :
echo “The first argument is : $1”
echo “The second argument is : $2
Özel argümanların bir seti komut satırı argümanlarını değişik bir şekilde kullanmanıza
olanak sağlar, örneğin;
¾
$* : Komut satırındaki tüm argumanlar anlamına gelir
¾
$@ : Komut satırındaki tüm argümanlar anlamına gelir
¾
$# : Komut satırındaki argüman sayısı analamına gelir
¾
$@, $* : Komut satırındaki tüm argümanlar, $@ ve $* arasındaki fark for-in
kontrol yapısında ortaya çıkar. $@ komut satırındaki tüm argümanlar anlamına
gelir ancak herbirini tek tek quote içine alabilme imkanı vardır. Örnekte komut
satırı argümanları önce $*, sonra $@ kullanılarak, argüman sayısı $#
kullanılarak listeleniyor.
sargs
Örnek 9.28:
echo $*
echo $@
echo “There are $# arguments”
Aritmetik Kabuk Operasyonları (Let)
BASH kabığunda matematiksel işlemlere büyük sıralamalar getirilmiştir. Tam sayı
değişkeni dışında matematiksel değişken kullanmak üzere bu işlemler için geliştirilmiş ve
kolaylıklar sağlayan awk veya bc kullanılabilinir.
Aritmetik işlemler için eval komutu ya da bash ile yerleşik (built-in) let komutu
kullanılabilir.
Let “değişken = aritmetik işlem”
$ let “çarpım = 2*7”
$ echo $ çarpım
27
$
Eğer operandlar arasında boşluk karakterleri kullanılmak istenirse Double Qoute içine
alınmalıdır . Aynı zamanda nümerik sayılar arasında kıyas yapmak için ilişkisel operatörler
kullanılabilir. Örneğin bir sayı diğerinden küçük mü ? ilişkisel operatörler daha çok kontrol
yapılarında (çevrimler ve koşul mekanizmaları) kullanılır. helloprog programı, hello yazısını
3 kez basıyor burada çevrimi kontrol etmek için let kullanılmıştır .
helloprog
again = 1
while let “again < =3”
do
echo $ again Hello
let “again = again+1”
done
Bu scriptte, let “again <=3” ifadesinde, let “küçük eşit” operasyonu çevrimi kontrol
etmek için kullanılmıştır. again değişkenini arttırmak için let “ again = again+1” kullanıldı.
Burada again arttırıldığında hesaplanmasına gerek olmadığına, yani again değişkenin önünde
$ olmadığına dikkat edin. let, ifadelerde kullanılan değişkenleri otomatik olarak hesaplar.
Kontrol Yapıları
Kabuk scriptlerinde linux komutlarının çalışması kontrol yapıları kullanarak kontrol
edilebilir. Kontrol yapıları komutların tekrarlanmasına, diğerlerinin içinden seçilebilmesine
olanak sağlar. Bir kontrol komutu iki ana parçadan oluşur test ve komutlar. Eğer test başarılı
ise komut yada komutlar çalıştırılır. Böylece komutun çalıştırılıp çalıştırılmayacağı kontrol
edilebilir. İki çeşit kontrol yapısı mevcuttur, döngüler ve karar mekanizmaları. Döngüler
komutları tekrarlarken, karar mekanizmaları belirli koşullar sağlandığında komutu çalıştırır.
BASH üç adet döngü yapısına sahiptir, while, for ve for-in. Bununla beraber if ve case iki
koşul mekanizması olarak sayılabilir. while ve if daha çok genel amaçlı olarak kullanılırken
case daha çok etkileşimli menüler için kullanılır.
Test Komutu
İki değeri kıyaslamak için sık sık kullanılır. test kontrol yapılarında kullanılmasına
rağmen bir ilişkisel operatör değil bir komuttur. test komutu iki değeri karşılaştırır ve sonuç
doğru ise 0 yanlış ise 1 değerine geri döner .test komutu ile sayıları karakter dizilerini
karşılaştırmak ve mantıksal operasyonlar yapmak mümkündür. Test komutu aynı zamanda
komut oalrak köşeli parantez ile kullanılabilir .
test value – option value test komutu çıkış olarak başarılı ise
0
test string = string yanlış ise 1 değerini üretir.
$ test 5 –eq 3
$ echo $?
1
$ num = 5
$ test
$num –eq 10
$ echo $?
1
$
$ num = 5
$ [ $num –eq 10 ]
$ echo $?
1
$
Komutun işletilmesi ardından çıkış değeri “$?” değişkeninde tutulur, test komutunun
çıkış değeri bu yolla öğrenilebilir .
if Komutu
if kontrol yapısı komutlar üzerinde koşullar koyar. Koşul bir Linux komutununn geri
dönüs değeridir (exit status). Eğer komut başarılı ise 0 yanlış ise 1 sayı değerine geri döner.
Genel kullanımı şekildeki gibidir .
if Unix komutu
then
komut1
komut2
else
komut1
komut2
fi
if yapısı if anahtar sözcüğü ile başlar ve fi ile biter . if ardından gelen Linux komutu
çıkış durumu herzaman işletilecek olan komuttur. Bu komuttan sonra then anahtar sözcüğü
ve arkasından diğer komutlar gelir. Çoğunlukla, Linux komutunun başarılı olup olmamasına
bağlı olarak iki alternatiften birisini seçmek gerekir. else anahtar sözcüğü bu iş için kullanılır
. Sentaks if-then-else-fi şeklindedir. elif yapısı bir else den sonra başka bir if yapısının
kullanılması esnasında tercih edilebilir ve iç içe gömülü if yapıları bu şekildedir.
Mantıksal Komutlar
Mantıksal komutlar Linux komutları arasında mantıksal operasyonlar yürütmeye
olanak tanır. Mantıksal AND (&&) operasyonunda eğer iki komutun çıkış durumu da
başarılı ise mantıksal and başarılı olur. Mantıksal OR ( || ) ise, iki komuttan birisi başarılı ise
doğru sonuç üretir. Kontrol yapılarında sıkça kullanılırlar. Genel kullanım,
command && command
command || command
şeklindedir.
Case Kalıbı
case yapısı mümkün alternatifler içinden bir tanesi seçmek amacıyla kullanılır. Seçim
bir değeri mevcut paternler ile kıyaslayarak yapılır . Her mümkün değer bir seri operasyon
ile ilişkilendirilmiştir. Eğer bir eşleşim olursa, ilişkili operasyon gerçekleştirilir. case yapısı
case anahtar sözcüğü ile başlar, incelenecek (hesaplanacak) bir karakter dizisi ve in anahtar
sözcüğü ve bir seri patern ile devam eder ve esac ile biter. Her patern birbirinden çift noktalı
virül ile ayrılmalıdır ( ;; ) . Paternler herhangi kabuk özel karakterlerini içerebilir ( *, [], ?, |
). Tüm bunların yanında case yapısı * karakteri ile gösterilen bir varsayılan patern içerir. Bu
patern hiçbir eşleşme olmadığı zaman kullanılır. Genel kullanım aşağıda gösterilmiştir.
case string in
pattern )
commands
;;
pattern )
;;
*)
default commands
;;
esac
Döngüler
BASH kabuğu linux komutları için üç adet döngü kontrol yapısına sahiptir. Bunlar
while, for-in, for döngü yapılarıdır. while ve until komutları linux komutu üzerinde test
gerçekleştirirken, for-in ve for herhangi bir test gerçekleştirmez.
While Döngüsü
while döngüsü komutları tekrar eder ve while anahtar sözcüğü ile başlar ve bir linux
komutu ile devam eder. Bir sonraki satırdaki do sözcüğü ile başayan blok, done sözcüğü ile
biter ve arada linux komutları bulunur. Sentaks aşağıdaki gibidir. Ardından gelen koşul
sağlandığı sürece döngü işletilir.
while Linux command
do
commands
done
for-in Döngüsü
Bir liste dahilindeki tüm değerlere sırayla erişim sağlar. for komutundan sonra yeralan
liste sırayla kullanılır ve her birisi için döngü çalıştırılır. Listenin sonuna gelindiğinde
döngüden çıkılır. Genel kullanım aşağıdaki gibidir.
for variable in list of values
do
command
done
mylistfor
Tdate = ‘date + %D’
for grocery in milk cookies apples cheese
do
echo “$grocery $tdate”
done
for-in kalıbı dosyaları yönetmek ve dosyalarla çalışmak için çok kullanışlıdır. Dosya
isimleri yaratmak için özel karakterler kullanılabilir. Örneğin, * özel karakteri tüm dosyaları
ve dizinleri ve *.c tüm c ile biten dosyaları göstereceği için,
for myfiles in *
do
command
done
for Kalıbı
for yapısı değer listesi olmadan kullanılırsa komut satırındaki değer listesini
argümanlar olarak ele alır. for yapaısında kullanılan değişken otomatik olarak sıradaki
argümanın değeri ile atanır.
cbackuparg
for backupfile
do
cp $backfile sourcebak/$backupfile
echo “$backupfile”
done
KAYNAKÇA
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
http://www.bidb.itu.edu.tr/
http://www.cisco.com
http://gezegen.pardus.org.tr/
http://www.pardus-linux.org/
http://www.pardusdepo.org
http://www.trunix.org
http://www.enderunix.org
http://www.btegitim.com
http://open.bilgi.edu.tr
ftp://ftp.uybhm.itu.edu.tr/
http://csirt.ulakbim.gov.tr/
http://www.kernel.org
http://www.cisn.odtu.edu.tr/
http://shots.osdir.com/
http://www.linuxdoc.org
http://uludag.org.tr
http://www.worldvisions.ca/wvdial/

Benzer belgeler

öğrenme faaliyeti - 1

öğrenme faaliyeti - 1 önerilen değişiklikler Bakanlıkta ilgili birime bildirilir.

Detaylı