e n iX m a Gwenview Konsol Synaptics dvd::rip MTD İle Ek Bellek vi

Transkript

e n iX m a Gwenview Konsol Synaptics dvd::rip MTD İle Ek Bellek vi
eniXma
Sayı: 35
Ağustos 2009
Linux ve açık kaynak kodlu yazılımlar, herkesin ihtiyacına göre
kullandığı buna karşılık yeteneğine göre katkıda bulunduğu emek
ve bilgi paylaşımının en güzel örneğidir.
eniXma
Yıl 3 Sayı 11
bu bir denemedir
Bu eski tipten
­ Gwenview
­ Konsol
­ Synaptics
­ dvd::rip
­ MTD İle Ek Bellek
­ vi Editörü ­ VI
­ Trigger Rally
­ BSD ­ VIII
Ağustos 2009
www.enixma.org
Başlarken
İçindekiler
H
avalar çok sıcak. Tatil yapabilenler şanslı. Ekonomik krizin zor durumda
bıraktığı çoğunluk hem sıcaktan bunalıyor hem de tatil yapamıyor. Bu bunaltan
ortamda özgür yazılım taraftarları ve Linux kullanıcıları için yeni sayımızı sunuyoruz.
Umuyoruz ki; içeriğimiz sizlerin biraz olsun hoş zaman geçirmenize ve zamanınızı
değerlendirmenize yarar.
Sizlerle birlikteliğimizin 3. yılının sondan bir önceki olan 35. eniXma'da yazılarımız
herkesin belki de kullandığı halde pek düşünmediği özellikleri ile KDE masaüstü
ortamının resim izleticisi Gwenview ile başlıyor. Tüm Linux kullanıcıları için
vazgeçilmez bir araç olan konsolun 'Kim korkar konsoldan' demenizi sağlayacak
yazımızda KDE masaüstü ortamının konsol uygulaması Konsole'nin ayarları ve
kullanımı anlatıyor.
Dizüstü bilgisayar kullanıcılarının elinin altındaki dokunmatik farelerle ilgili ayrıntılı
bilgi Synaptics yazımızda yer almakta. Bir başka sistem ile ilgili yazı ise MTD ile ek
bellek kullanımı yazısı. Bu yazıda ekran kartınızda fazladan bulunan belleği sisteme
dahil etmenin yolları anlatılmakta. Yine önceki sayılarımızda benzerlerinin anlatıldığı
DVD araçlarından dvd::rip, serinin bir başka yazısı olarak sunulmakta.
Vi editörü serisinin 6. BSD serisinin 8. yazısı ile meraklıları için devam ediyoruz.
Bu ayın oyunu ise Trigger Rally. Basit ama güzel bir oyun ve sistem kaynağı
konusunda da oldukça tutumlu.
Üçüncü yılımızın son sayısında buluşmak üzere.
eniXma
Ağustos 2009
www.enixma.org ­ Ağustos 2009 ­ Sayfa 2
3
Gwenview
Hızlı ve kolay kullanımlı resim
görütüleyici
6
Konsol
Linux sisteminin ayrılmaz parçası
9
Synaptics
Dokunmatik dizüstü 'faresi'
15
dvd::rip
Bir başka dvd oluşturma aracı
21
MTD İle Ek Bellek
Ekran kartı belleğini sistem belleği
olarak kullanmak
24
vi Editörü ­ V
Vi'de ex editörünü kullanarak bul ve
değiştir işlemleri
30
Trigger Rally
Basit ama güzel bir oyun
33
BSD ­ VIII
BSD açılış sürecinin işleyişi ve
yapılandırması
GWENVIEW
Hızlı ve kolay kullanımlı
resim görüntüleyici
Resim 1 - Gwenview normal görüntü modu ve açıklama bölümü ile
G
Tanju Taşçılar
[email protected]
by­nc­sa
www.enixma.org ­ Ağustos 2009 ­ Sayfa 3
wenview KDE masaüstü ortamının hızlı,
yetenekli ve çokyönlü resim görüntü­
leyicisidir. Kuickshow, ShowPhoto gibi ben­
zeri uygulamalar ailesinin bir üyesi olarak
karşımıza çıkar. Diğer iki aile bireyi gibi
Gwenview'in de hem ortak hem de kendine
özgü özellikleri bulunmakta.
Gwenview aynı zamanda KDE 4 serisinin
diğer programları gibi hızla geliştirilmeye de
devam ediliyor. Normal program penceresi
görünümünün yanında tam ekran biçimi de
gelişmiş ve hoş grafiksel yapıya sahip
bulunmakta. Her iki biçim arasında kolaylıkla
geçiş yapılabilmekte ve tam ekran görünü­
münün üst kısmında otomatik gizlenme
GWENVIEW
Resim 2 - Dosya tarayıcı modu
özelliğine sahip kullanım çubuğu hem estetik
hem de kullanım açısından gelişmiş özel­
liklere sahip bulunmakta. Bir üçüncü biçim
olarak resim gösterisi (slide show) görü­
nümünü de sayabiliriz.
Gwenview sıklıkla kullanılan hemen hemen
tüm resim formatlarına destek vermekte.
Desteklenen formatlar arasında PNG (Trans­
parency ­ Saydamlık desteği ile), JPEG (EXIF
etiketleri ve kayıpsız dönüşüm özellikleri
dahil), BMP, XPM ve diğer tüm popüler
formatları sayılabilir.
www.enixma.org ­ Ağustos 2009 ­ Sayfa 4
Resim 3 - Resimden karakalem çizimi elde eden efekt
Gwenview normal modunda iken görüntü
alanı dosya tarayıcı ve resim görüntüleme
alanı olarak kullanılabilir. Dosya tarayıcı
özellikleri çok gelişmiştir ve küçükresim gö­
rüntüleri hızlı bir şekilde sunulur. Dosya
sistemi içinde dolaşırken sıkıştırılmış dosyalar
otomatik olarak açılır ve içindeki görüntüler
izlenebilir. Yine bu işlemler ağ üzerinde de
kolaylıkla yerel dosya sistemi gibi gerçek­
leştirilebilmektedir. Elbette bugünün modern
programlarının temel özelliklerinden biri olan
sürükle­bırak özelliği ile başka dosya yö­
neticileri içinden de görüntüler kullanılabil­
mekte.
KDE sisteminin bir elemanı olarak sisteme
çok iyi entegre edilmiş olan program kipi­
plugins paketinin sağladığı olanaklar ile
görüntüler üzerinde çok çeşitli işlemlerin de
yapılabilmesine olanak sağlar. Normal du­
rumda büyütme­küçültme (zoom), döndürme
gibi standart işlemler kolay ve hızlı bir şekilde
yapılabilirken, bu eklentilerin kullanılması ile
toplu resim işleme, yeniden isimlendirme,
biçim dönüştürmeden, çeşitli resim efektleri­
nin uygulanmasına kadar geniş bir düzen­
leme işlemlerinin yapılmasına olanak sağ­
lamakta.
GWENVIEW
Normal pencere modunda görüntü alanının
sağ yanı seçilen resim ile ilgili olarak çeşitli
özelliklerin görüntülenmesi için kullanılabi­
liyor. Bu alanı isterseniz kaldırabilir ve tüm
alanı görüntüye ayırabilirsiniz.
Tam ekran modunda resim normal olarak tüm
ekranı kaplayacak şekilde büyümekte. Ek­
ranın üst kenarı fare imleci değdiğinde kul­
lanım çubuğunu ayağı doğru açmakta. Bu
alanda resim değiştirme, döndürme gibi sık
yapılan işlemler için girişlerin yanısıra sağ
bölümde resmin içinde bulunduğu dizinde
bulunan resim dosyalarının yan yana sırayla
dizildiği küçükresimlerinin sıralandığı alan
kullanıcıya kolaylık sağlamakta.
kipi­plugins paketinin getirdiği özellikler ile
seçili resim üzerinde çok çeşitli değişiklikler
yapabilirsiniz. Benzeri uygulamalarda olduğu
gibi kırmızı göz düzeltme, karakalem oluş­
turma, renk ve parlaklık ayarı gibi çok sayıda
efekt kullanımınıza hazırdır.
Ailesinde bulunan diğer programlardan biraz
farklı olarak resimlere uygulanan bazı işlemler
kalıcı olarak kaydedilmek üzere listeye ek­
lenmektedir. Bunların en ilginci fotoğraf ma­
kineniz ile dik olarak çektiğiniz resimlerin yatık
görünümünü düzeltmek için yapacağınız 90
derecelik dönüşlerdir. Görüntüleri izlerken bu
işlemi uyguladığınızda normal görüntü mo­
dunda iken menü çubuğunun altında de­
ğişiklik yapılmış olan resimlerin sayıları ile
www.enixma.org ­ Ağustos 2009 ­ Sayfa 5
Resim 4 - Gwenview tam ekran görüntü modu ve araç çubuğu
durumları belirtilir. İstediğiniz zaman bu de­
ğişikliklerin kaydedilmesini ve kalıcı olmasını
sağlayabilirsiniz. Programın kapatırken kay­
dedilme onayı bekleyen değişikliklikler bil­
dirilerek isteniliyorsa işlenmesi sağlanır.
Linux ve özgür yazılım ortamı herşeyin kul­
lanıcılar için olduğunu kanıtlayacak şekilde
çok seçenek sunmakta ve Gwenview de
bunlardan birisi.
KONSOL
Linux sisteminin
ayrılmaz parçası
K
Resim 1 - Yarı saydam arka plan ile Konsole
Fırat Kutlu
[email protected]
by­nc­sa
www.enixma.org ­ Ağustos 2009 ­ Sayfa 6
onsol, Linux dağıtımlarının vazgeçilmez
bir parçasıdır. Günümüz dağıtımları ku­
rulumdan kullanıma kadar son derece ge­
lişmiş arayüzler ile kullanıcılara kolaylıklar
sağlamaktadır. Artık hiç konsol kullanmadan
tüm sistemi rahatlıkla kullanmak mümkündür.
Ancak Konsol, ilk Linux dağıtımlarından gü­
nümüze gelene kadar gelişen tüm grafiksel
arayüzlere ve grafik içermemesine rağmen
pratikliğiyle günümüzde dahi kullanıcıların
ilgisini çekmektedir. Konsol aslında hala daha
son derece hızlı ve kullanışlı olmasından
dolayı da linux'un gözdesi olmaya devam
etmektedir. Linux'a yeni başlayan kullanıcılar
ilk başta karışık ve korkutucu buldukları
konsolu kullandıkça işlerinin daha hızlı ve
KONSOL
Resim 2 - Arkaplan rengi ayarı
kolay halledildiğini gördükleri zaman bir süre
sonra artık konsoldan kopamamaktadırlar
İşte sizlere bu yazımızda bize sorunlarımızı
çözmede ve işlerimizi daha hızlı ve güvenli
halletmemizde önemli rol oynayan bu güzel
aracı tanıtacağız. Burada KDE'nin konsol
uygulaması Konsole temel alınmıştır.
Konsolun görünümünü değiştirmek isterseniz
"Ayarlar/Geçerli Profili Düzenle" menüsünden
"Görünüm sekmesini açmak gerekmektedir.
Renk şemasındaki arkaplan renklerinin üze­
rine geldiğinizde konsolun arka planının
hemen değiştiğini görebilirsiniz (Resim­2).
Beğendiğiniz arkaplanı seçtikten sonra "Dü­
zenle" menüsünü kullanarak şeffaflık ayar­
larını da istediğiniz gibi yapabilirsiniz. Ancak
bunun için bu özelliği destekleyecek bir ekran
www.enixma.org ­ Ağustos 2009 ­ Sayfa 7
Resim 3 - Şeffaflık ayarı
kartı ve sürücüsüne sahip olmanız gerekiyor
(Resim­3). Yine görünüm menüsünden yazı
tipi ve büyüklüklerini ayarlayabilirsiniz.
"Genel" sekmesinden Profil adınızı ve kon­
solu açtığınızda başlamasını istediğiniz dizini
seçebilirsiniz. Ayrıca bu bölümden istediğiniz
simgeyi de ayarlayabilirsiniz (Resim­4).
"Sekmeler" kısmından sekme başlıklarını ve
sekme çubuğunun görünüp görünmemesi gibi
ayarları gerçekleştirebilirsiniz. Sekme başlık­
larını "Ekle" butonundan değiştirebilirsiniz
(Resim­5).
"Gelişmiş" sekmesinden imlecin nasıl gö­
rüneceğini ve nasıl davranacağını ayarla­
Resim 4 - Genel ayarlar
yabilirsiniz. İmlecin rengini, görüntüsünü de­
ğiştirip sabit veya yanıp söner hale geti­
rebilirsiniz (Resim­6).
"Kaydırma" sekmesinden geçmiş seçenek­
lerini ayarlayabilirsiniz. Örnek vermek gere­
kirse konsolda oldukça uzun bir işlem veya
işlemler zinciri yaptınız. Normalde ilk yaptığı­
nız işleme sağdaki kaydırma çubuğunu kul­
lanarak bakabilirsiniz. İşte kaydırma seçene­
ğinde bu işlemi iptal edebileceğiniz gibi belli
bir satırla da sınırlandırabilirsiniz (Resim­7).
Ayarlar/Geçerli Profili Düzenle yolu ile ger­
çekletirdiğiniz bu işlemleri menü çubuğundan
da gerçekleştirebilirsiniz.
KONSOL
rumda "Geçmiş"'den "Çıktıyı Kaydet" seçe­
neğini seçebilirsiniz. Açılan pencereden kay­
detmek istediğiniz çıktıyı nereye kaydetmek
istiyorsanız, isimlendirdikten sonra kayde­
debilirsiniz. Çıktınız, gösterdiğiniz dizine "asc"
uzantısıyla kaydedilecektir. Bu çıktıyı kwrite
ile açabilir isterseniz başkalarıyla paylaşabi­
lirsiniz.
Resim 5 - Sekme başlıkları ayarı
Konsolda işinizi yaptınız ve metin dosyası
şeklinde çıktı almak istiyorsunuz. Bu du­
Çok sık kullandığınız dizinleri yer imlerine
ekleyerek her seferinde "cd /dizin" komutu
yazmak derdinden de kurtulabilirsiniz.
Konsolu kısayol tuşlarını kullanarak daha hızlı
ve verimli kullanabilirsiniz. Kısayol tuşlarını
'Ayarlar'dan istediğiniz gibi yapılandırabilir­
siniz.
Sık kullanabileceğiniz en temel kısayollar
şunlardır:
Ctrl+Shift+X : Konsoldaki tüm geçerli metni
sıfırlar. bu 'clear' komutundan veya 'Düzen'
menüsünden 'Ekranı temizle&sıfırla' seçene­
ğinden farklıdır. 'Clear' komutu yanlızca
ekranı temizler. Ancak yapılan işlemler kay­
dırma çubuğu kullanılarak tekrar görülebilir.
Ctrl+Shift+X kısayolu terminali tamamen
sıfırlar. Geçmiş de silinir.
Ctrl+Shift+C : Konsol içerisindeki herhangi bir
yazıyı veya komutu kopyalamaya yarar.
Ctrl+Shift+V : Kopyalanan komut veya yazıyı
yapıştırmaya yarar.
Ctrl+Shift+B : İçinde bulunduğunuz dizini yer
imlerine ekler
Bu temel kısayollar dışındakileri de "Kısa­
yolları yapılandır" seçeneğinden görebilece­
ğiniz gibi istediğiniz tuşları kısayol ata­
yabilirsiniz.
Özellikle yeni kullanıcılar konsola alıştıkça ve
kişiselleştirdikçe daha zevkle kullanabilirler.
Resim 6 - Gelişmiş ayarlar
www.enixma.org ­ Ağustos 2009 ­ Sayfa 8
Resim 7 - Kaydırma ayarları
SYNAPTICS
Dokunmatik dizüstü
'faresi'
B
ilgisayarların, özellikle de kişisel bilgisa­
yarların gelişiminde bir aşamadan sonra
kullanımı kolaylaştıran yardımcı araçların ta­
sarım ve üretimleri gerçekleşmeye başladı.
Bu aşamanın başlangıcının Apple tarafından
kullanılmaya başlanan ve bugün bütün bil­
gisayar kullanıcılarının vazgeçilmez bir aracı
olan 'fare' ile olduğunu söyleyebiliriz. Apple
tarafından kullanılan ilk fare tek tuşlu ve iki
tekerli mekanik bir fare idi. Bugüne gelin­
diğinde artık optik olmayan fare kullanan
kalmamıştır.. Grafik sistemlerinin gelişmesi ve
masaüstünün artık grafik olarak kullanımının
esas olmasının ardından bu tür cihazların
önemi daha da artmaya başladı.
Bunun yanında bilgisayarlar taşınabilir hale
gelmeye başladılar ve dizüstü denilen ve
günümüzde netbook olarak adlandırılan mini­
dizüstü cihazlara hadar uzanan bir dal oluştu.
Normal bilgisayarlar için kullanılan 'Pointing
device' ­İşaretleme Cihazı­ olarak fareler
yerine taşınabilirlik gözönüne alınarak dizüstü
bilgisayarlar için farklı bir cihaz kullanmak
gerekiyordu. Önceleri oldukça farklı teknikler
denendi. Bunların en önemlileri olarak birçok
ilk dönem dizüstü bilgisayarlarda yer alan ve
masaüstü bilgisayarlarda günümüzde de kul­
lanılan 'Trackball'­İztopu sisteminin minyatür
biçimleri kullanıldı.
Tanju Taşçılar
[email protected]
by­nc­sa
www.enixma.org ­ Ağustos 2009 ­ Sayfa 9
Sonunda yeni icat edilen bir cihaz dizüstü
bilgisayarların artık ayrılmaz bir parçası oldu:
'Touchpad' ­ Dokunmatik Fare. Bu yeni cihaz
öyle bir yapıya sahipti ki: bütün öncelleri onun
yerini tutamayacak kadar kötü kalmışlardı.
Hiçbir hareketli ya da mekanik parçası bu­
lunmayan ve kullanım ömrü büyük bir ola­
sılıkla üzerindeki dizüstü bilgisayardan çok
daha uzun olan bu cihaz hem bir teknoloji
harikası hem de bir ergonomi harikasıydı. Bir
başka cihaz olarak yine mekanik parçası
sadece biraz esnek küçük bir çubuk olan
'Pointing Stick' IBM ve Toshiba modellerinde
yer alsa da ergonomik olarak birçok kullanıcı
açısından 'felaket' olarak nitelendiriliyordu.
Touchpad ­ Dokunmatik Fare ilk defa üreten
firmanın adı olan Synaptics olarak adlan­
dırılmaya devam ediliyor. Bu firmanın yanın­
da Alps firmasının ürettiği dokunmatik fareler
de çok kullanılanlar arasında bulunuyor. Son
zamanlarda piyasaya çıkan 'netbook' olarak
adlandırılan küçük dizüstü bilgisayarların bir
kısmında kullanılan Elantech üretimi cihazlar
için dağıtımların ayarlarında değişiklik yap­
ması gerekiyor.
Nasıl çalışıyor?
Touchpad, bir matrix olarak sıralanmış ka­
pasitif sensörlere yaklaşan parmağı ya da
benzeri 'virtual ground'­sanal toprak­ olan
cisimleri algılayan aslında fiziksel olarak çok
basit bir yapıya sahip olan bir cihaz. Kapasitif
sensör olarak bahsettiğimiz 'yapı' ise aslında
çok basit iki metalik yüzey arasında ince bir
izolasyon tabakasından oluşmakta. Hemen
hemen başından beri günümüze kadar
devam eden yapı, üstte bir koruyucu plastik
SYNAPTICS
tabaka, onun altında yatay ya da düşey ola­
rak sıralar halinde birbirine iletkenlerle bağ­
lanmış küçük metalik palkaları olan bir
tabaka, uygun incelikte bir dielektrik izolasyon
tabakası ve üstteki metalik plakaların benzeri
ancak üstteki tabakanın durumuna göre 90
derece dönük, yatay ya da düşey bağ­
lantılardan oluşan tabaka ve altta da taban
tabakası olan sabit tabakalardan oluşmakta.
Matrix şeklinde birleşen üst ve alt metal
plakalı tabakalardan gelen iletken uçlar, hep­
sini sürekli olarak tarayarak kapasitelerini
ölçen ve buna göre üzerinde bulunan par­
mağın yerini, basıncını hesaplayarak bir PS/2
bağlantısı ile ileten elektronik devre ile ta­
mamlanır.
Çalışma modları
Synaptics ya da diğer markalı dokunmadik
fareler normal olarak PS/2 modunda çalışırlar
ve sistem tarafından standart bir fare olarak
görülürler. Bu modda çalışan bir cihazın
yalnızca üzerinde bulunan tuşlar kullanılarak
tıklama yapılabilir ve dokunma yüzeyi sadece
imleci hareket ettirmek için kullanılır.
Dokunmatik farenin asıl yeteneklerinin ortaya
çıktığı kendi modunda ise çok farklı özellikler
devreye girer. Bu özellikler üretici ve modele
göre değişse de en temel özellikler olarak
'Tap to click' ­ Parmak ile tıklama, dikey ve
yatay kaydırma ve köşelere tıklayarak belirli
işlemler yapma gibi işlevler sayılabilir.
www.enixma.org ­ Ağustos 2009 ­ Sayfa 10
Kendi sürücüsü kullanılması ve gerekli
ayarların yapılması sonrasında hiçbir mekanik
tuş kullanımına gerek kalmadan sadece
dokunma alanı üzerinde parmaklar kullanı­
larak tüm işlevler yerine getirilebilir.
'Tap to Click' ­ Parmak ile tıklama
Bir dokunmatik fareyi konforlu kılan özel­
liklerin başında bu parmak ile tıklama geliyor.
Normal olarak parmağın yüzey üzerinde
gezdirilmesi için parmak yüzeye değdirilir ve
sürüklenir. Bu işlem yerine parmak hızlı bir
şekilde yüzeye 'tıklanır'sa cihazın modeli,
parmak sayısı ve ayarlara göre farklı fare
tuşları çalışmış olur.
Parmak tıklaması ile çift tıklama da emüle
edilebilir. Bunun için aynen tuş kullanımında
olduğu gibi iki hızlı tıklama yapmak yeterlidir.
Tek parmak tıklama farenin sol tuşu görevini
yapar. İki parmak ile tıklama ve üç parmak ile
tıklama ise sağ tuş ve orta tuşu emüle eder.
Ancak bu son ikisi cihazın marka ve modeline
çok bağlıdır ve genellikle sürücünün varsa­
yılan ayarları ile aktif değildir.
Kaydırma
Günümüzün modern farelerinde iki tuşun
arasında aynı zamanda orta tuş görevi de
gören bir teker bulunur. Bazılarında bir ikinci
teker daha yer alır. Bu tekerin çevrilmesi ile
kullanılan program penceresinde kaydırma
çubukları aktif ise yukarı­aşağı kaydırma
işlemi kolaylıkla yapılır. Bir dokunmatik farede
ise bu işlem üç farklı biçimde yapılabilir.
Normal olarak dokunmatik fare alanının sağ
yan kenarında bir bant yukarı­aşağı kaydırma
için, alt kenarında bir bant ise sağa­sola
kaydırmak için kullanılan alandır. Bu işlem tek
parmak ile yapılır (One Finger Scrolling) ve
standart kaydırma işlemi olarak adlandı­
rılabilir.
Diğer iki kullanım biçimi ise son zamanlarda
devreye girmiş olan iki parmaklı kaydırma
(Two Finger Scrolling) ile ShiralMotion ya da
Circular Scrolling (Dairesel Kaydırma) olarak
adlandırılan biçimlerdir.
İki parmak kaydırma dokunma alanının
herhangi bir alanında iki parmak ile gezinerek
yapılırken, dairesel kaydırma bir kaydırma
alanından başlayarak dairesel hareketler ile
kaydırma işlemini devam ettirmek şeklinde
gerçekleşir. Bu işlemde parmak kaldırılmadan
devam edildiğinde dönme yönü değiştirilirse
kayma yönü de değişir.
Normal olarak bu farklı kaydırma biçimle­
rinden birisinin kullanılması karmaşaya yer
vermemek için uygun olacaktır. Yinelemek
gerekirse, bu işlevler cihazın yapısı ve sürücü
ayarlarına yakından bağlıdır.
SYNAPTICS
Aktif köşe noktaları
Dokunma yüzeyinin köşelerine fare tuşla­
rından birinin işlevi atanabilir. Genel olarak
yaklaşım sağ üst köşeyi orta tuş, sağ alt
köşeyi ise sağ tuş olarak ayarlamaktır. Bu
işlevler iki parmak ve üç parmak tıklama
kullanılmayan cihazlarda da kullanılabildiği ve
kullanımda karışıklık oluşturmadığı için uy­
gundur.
Dinamik hareket algılaması
Günümüz modern farelerinde olduğu gibi
synaptics farelerde de imleç hareketinin hı­
zına bağlı olarak dinamik olarak çözünürlük
değişimi uygulanır. Bu hızlı hareket etmek
istenildiğinde imlecin hızlanması gözlenerek
daha fazla hızlanmasını, yavaş hareketlerde
ise çözümürlüğü düşürerek ince ve yavaş
hareketin sağlanmasını sağlar.
Linux'ta Synaptics sürücüsü
Synaptics sürücüsü yıllar önce Stefan
Gmeiner tarafından yazılmaya başlanmış ve
yakın bir zamanda bu sürücünün çekirdeğe
eklenmesi sonrasında geliştirmeye önderliği
Peter Osterlund almıştır. Synaptics sürücüsü
bir X11, Xorg sürücüsüdür. 2.6 çekirdekler
öncesinde bazı türlerde sorunlara sahipti.
Ancak 2.6 çekirdekler ile birçok sorun çö­
züldü.
www.enixma.org ­ Ağustos 2009 ­ Sayfa 11
LTCornerButton
RTCornerButton
HorizEdgeScroll
RBCornerButton
LBCornerButton
VertEdgeScroll
Synaptics (ve Alps) dokunmatik fareler bu
özel sürücü gerekmeden standart USB/PS2
fare sürücüsü ile kullanılabilmekte olduğu için
bazı dağıtımlar uzun süre bu sürücüyü sa­
dece seçenek olarak bırakmışlardı. Günü­
müzde çekirdeğe dahil olması ile tüm da­
ğıtımlar bundan yararlanabilmektedirler.
Sürücü bir X11 sürücüsü olması nedeniyle x­
server 1.5 öncesinde tüm ayarları xorg.conf
dosyasından yapılabilmekteydi. Ancak 1.5
sürümü ile sistemde köklü bazı değişiklikler
meydana geldi ve xorg.conf dosyası artık
yerini hal ve diğer seçeneklere bıraktı. Bu ise
cihaz ayarlarının kullanıcılar tarafından ya­
pılmasında önemli yöntem farklılıkları do­
ğurdu.
Eski sistemde xorg.conf dosyasındaki ayarlar
için çok sayıda girdi bulunmaktaydı. Yeni sis­
temde yine birkaç satır yer almasına rağmen
asıl ayarlar hal sistemindeki tanımlamalar ile
yapılmaktadır. Elbette kullanıcının buna do­
kunmadan kendine uygun başka yöntemler
kullanma olanağı da bulunuyor.
Synaptics touchpad için xorg.conf tanım
girişi.
Section "InputDevice"
Identifier "SynapticsMouse1"
Driver "synaptics"
Option "EdgeMotionMinSpeed" "200"
Option "MinSpeed" "0.8"
Option "MaxSpeed" "1.00"
Option "BottomEdge" "650"
Option "EdgeMotionMaxSpeed" "200"
Option "UpDownScrolling" "0"
Option "CircScrollTrigger" "2"
Option "SHMConfig" "on"
Option "LeftEdge" "120"
Option "FingerLow" "14"
Option "HorizScrollDelta" "20"
Option "MaxTapMove" "110"
SYNAPTICS
Option
Option
Option
Option
Option
Option
EndSection
"FingerHigh" "15"
"VertScrollDelta" "20"
"CircularScrolling" "1"
"AccelFactor" "0.015"
"TopEdge" "120"
"RightEdge" "830"
Tanımlı cihazlar arasına eklenen bölüm:
Section "ServerLayout"
Identifier "layout1"
InputDevice "Keyboard1"
"CoreKeyboard"
InputDevice "Mouse1" "CorePointer"
InputDevice "SynapticsMouse1"
"SendCoreEvents"
Screen "screen1"
EndSection
Synaptics sürücüsünün temel bir özelliği olan
SHMConfig parametresi, sürücünün kullan­
dığı ve konsoldan çalışan synclient ile
ayarların anında yapılmasını sağlayan sis­
temin çalışıp çalışmayacağını belirlemekte.
Bu parametre genellikle 'On' olarak dü­
zenlenir. Eski sistemlerde bu 'true' olarak
geçse de artık bu kullanılmıyor ve bu şekilde
yazıldığında dikkate alınmıyor.
Synclient
synclient ile konsoldan tüm synaptics ayar­
larını yapmanız ve bunu anında izlemeniz
mümkündür.
Komutun parametreleri oldukça anlaşılır ve
www.enixma.org ­ Ağustos 2009 ­ Sayfa 12
$ synclient ­­help
synclient: invalid option ­­ '­'
Usage: synclient [­s] [­m interval] [­h] [­l] [­V] [­?] [var1=value1 [var2=value2] ...]
­s Use SHM area instead of device properties.
­m monitor changes to the touchpad state (implies ­s)
interval specifies how often (in ms) to poll the touchpad state
­h Show detected hardware properties (implies ­s)
­l List current user settings
­V Print synclient version string and exit
­? Show this help message
var=value Set user parameter 'var' to 'value'.
azdır. Normal olarak
synclient ­l
ile mevcut değişkenlerin tümünü izleyebilir ve
istediğimiz değişkenin ismini kullanarak değe­
rini değiştirebiliriz.
synclient RTCornerButton=2
Bu komut ile sağ üst köşe (Right Top Corner)
2. tuşu yani orta tuşun işlevini yerine getire­
cek şekilde ayarlanır.
Ayarlar
Günümüz dağıtımlarında çekirdeğe eklenmiş
synaptics sürücüsünün ayarları hal tarafından
yapılmaktadır. Hal ayarları ise sistemde iki
alanda bulunur. Örnek olarak Mandriva
2009.1'de synaptics için hal tanımları
/usr/share/hal/fdi/policy/20thirdparty/1
0­synaptics.fdi
dosyası ile
/etc/hal/fdi/policy
dizinine yerleştirilebilecek aynı isimli dosyada
tutulur.
İlk yerdeki dosya güncellemeler ve hal ile ilgili
ayarlar sırasında varsayılan değerlere döne­
bileceği için kullanıcı kendisi ile ilgili deği­
şiklikleri ikinci yerdeki dosyada yapabilir. Bu
dosya bulunmuyorsa önceki dosyayı buraya
kopyalayıp üzerinde gereken değişiklikleri
yapmalıdır.
.fdi dosyaları xml dosyalarıdır ve kendine
özgü bir notasyonu bulunmaktadır. Yukarda
adı verilen dosyada yapılacak değişiklikler
için örnekler de verilmiştir. Mandriva'da bu
SYNAPTICS
dosyanın içeriği Liste 1'deki gibidir:
Son sistemlerde xorg.conf dosyasının dikkate
alınmaması ya da herhangi bir ayar sonrası
varsayılan değerlere getirilerek sizin ayar­
larınızın silinmesi gibi durumlarda hal ayar­
larından başka kullanıcıların kolaylıkla ger­
çekleştirebileceği değişiklik işlemlerinden bi­
risi de istenilen parametre değişikliklerini
~/.bashrc dosyasına kaydetmek olabilir. Bu
işlem hem garantili hem de kullanıcı hakları
ile yapılması açısından kolay bir yöntemdir.
Ayrıca sistemde birden fazla kullanıcının
bulunması ve bu kullanıcıların farklı ayarları
tercih etmeleri durumunda da kullanılabilecek
en uygun yöntemdir.
Mandriva 2009.1'de varsayılan tercihler ola­
rak tek parmak tıklama ve yukarı aşağı kay­
dırma seçilmiş olarak kurulum yapılmakta.
Ancak tüm özelliklerin kullanılabilmesi için
yatay kaydırma ve sağ üst köşe ile sağ alt
köşenin kullanılması için gerekli ayarların
yapılması ihtiyacı bulunmakta. Bunun en
kolay yöntemi olarak yukarıda bahsedildiği
gibi ~/.bashrc dosyasını kullandığımızda bu
dosya aşağıdaki gibi olacaktır.
# .bashrc
# User specific aliases and functions
# Source global definitions
if [ ­f /etc/bashrc ]; then
. /etc/bashrc
fi
www.enixma.org ­ Ağustos 2009 ­ Sayfa 13
<?xml version="1.0" encoding="ISO­8859­1"?>
<!­­ DO NOT EDIT THIS FILE IN PLACE.
This file will be overwritten with the next update. If you need to add
custom options, copy the file into /etc/hal/fdi/policy/ first. ­­>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.touchpad">
<match key="input.x11_driver" contains_not="wacom">
<!­­ To add custom options for the touchpad, modify the examples below
to suit your needs. The available options are listed in the
"synaptics" man page. After modifyfing this file, you must
restart HAL. Check the output of lshal whether your modifications
have been merged successfully.
Note: Options must always be type "string".
The following examples enable left, right, middle clicks on
single, double, triple finger tapping, respectively.
<merge key="input.x11_options.TapButton1" type="string">1</merge>
<merge key="input.x11_options.TapButton2" type="string">3</merge>
<merge key="input.x11_options.TapButton3" type="string">2</merge>
­­>
<merge key="input.x11_driver" type="string">synaptics</merge>
</match>
</match>
</device>
</deviceinfo>
Liste 1 - Mandriva 2009.1'de synaptics.fdi dosyası
synclient RTCornerButton=2
synclient RBCornerButton=3
synclient HorizEdgeScroll=1
En alta eklediğimiz üç satırdaki değerler var­
sayılan olarak 0'dır. Bu ayarların tüm sistem
kullanıcıları için geçerli olmasını istiyorsanız
bu satırları /etc/bashrc dosyasına kaydede­
bilirsiniz. Bu sistem kabuk (shell) olarak bash
kullanıldığında çalışır.
GSynaptics, KSynaptics, QSynaptics
Yukarıdaki işlemler anlatılırken okurların,
'Peki bu iş için grafik arabirimli bir program
yok mu?' diye düşündüğü hemen tahmin
SYNAPTICS
edilebilir. Evet bunun için GSynaptics,
KSynaptic ve QSynaptics adında benzeri
çalışma biçimine sahip üç uygulama ile
burada adını saymadığımız ve artık günümüz
sistemlerinde kullanılmayan birkaç uygulama
daha bulunuyor. Ancak ne yazık ki bu üç
uygulama da günümüz modern sistemlerine
tam olarak uyarlanmış değiller. Üstelik çok
nadir olarak değişen ayarlar için vermiş
olduğumuz çözümler yeterli iken bu prog­
ramların sorunları ile de uğraşmaya gerek
kalmıyor. Yine de günümüz gelişmiş tek­
nolojilerini kullanan sistemler için ya bu üç
uygulama uyarlanacak ya da dağıtımlar kendi
yöntemlerini uygulayabilecekleri çözümler bu­
lacaklar.
Ergonomi ve kullanımda karşılaşılanlar
Dokunmatik fare sisteminin ergonomik bir
çözüm olduğu kesin. Ancak bunun derecesini
ayarlar belirliyor. Bugün mecburen kullan­
dırılan işletim sistemi Windows'ta da
synaptics için sürücü bulunmakta. Ancak bu
ergonomi katili sistem nedense kurulumdan
sonra hiçbir özelliği açmamakta. Elbette daha
da acıklı bir durum olarak malum Windows
kullanıcısı mantığı ile Windows Denetim
Masası ayarlarında derinlerde saklanmış ve
bilinmeyen synaptics özellikleri, birilerinde
görülmedikçe ve elbette eski sisteme alış­
kanlıklarını değiştirme yetenekleri olmadıkça,
kapalı kalmaya devam etmekte. Parmak ile
tıklama gibi temel özellikler bile çalışma­
www.enixma.org ­ Ağustos 2009 ­ Sayfa 14
dığından kullanıcılar yeterince yararlanama­
dıkları bu hazır ve güzel cihazları yerine harici
fare kullanarak 'konforu' bulmaktalar. Bu
yaklaşımın sonucu yeni bir Linux kul­lanıcısı
çalışan synaptics özelliklerini ­hele ellerini
kullanamayacak kadar da yeteneksiz ise­
kapatmak istemekte.
Ne yazık ki, xorg geliştiricilerinin son yak­
laşımı Windows mantığına yakın. Synaptics
sürücüsünün tüm özellikleri kapalı olarak
geliyor. Bu durumda Mandriva'da olduğu gibi
dağıtımların kendi inisiyatifleri devreye gire­
rek kullanıcıları için uygun öndeğerleri ayar­
layabiliyorlar.
synclient ­l komutu ile listelenip incelen­
diğinde çok sayıda parametrenin bulunduğu
görülecektir. Bunlardan bir kısmı cihaza bağlı
olarak otomatik olarak belirlenip değişti­
rilmeye gerek kalmadan kullanılır. Yukarıda
değindiğimiz bazıları ise ayarlanarak istenilen
şekle getirilebilir. Bu parametrelerden biri olan
PalmDetect özellikle alışkın olmayan kulla­
nıcıların en fazla şikayet ettiği, yazı yazarken
imlecin kayması gibi olayları engellemek için
eklenmiştir. Farkına varılmadan parmaklar
dokunma yüzeyine yaklaşarak bu işlem
'istenen' hareket gibi ya da tıklama gibi
algılanıp uygulanabilmekte. Bu parametrenin
1 yapılması 'El algılama' işlemini devreye
sokmakta ve büyük ölçüde bu yanlış girişleri
engellemekte. Yine de bunun yetmediği
durumlar olabilir. Bunun için de birçok marka
ve model dizüstünde dokunma yüzeyinin
üstünde ek bir düğme kullanılmaktadır. Bu
düğme dokunmatik fareyi kapatıp açar. Yazı
yazarken sorun yaşıyorsanız bu düğme ile
çalışmasını durdurup istediğiniz zaman aça­
bilirsiniz.
Eğer böyle bir düğme bulunmuyorsa da yine
yapabilecek şeyler vardır. Bir synclient para­
metresi olan TouchpadOff parametresini 1
yapmak dokunmatik fareyi etkisiz bıraka­
caktır. Bunu bir script içine yazıp istediğiniz
zaman 1 istediğiniz zaman 0 yaptırarak
düğmenin işlevini yerine getirebilirsiniz ya da
doğrudan bir konsoldan synclient komutu
olarak kullanabilirsiniz.
DVD::RIP
Bir başka dvd oluşturma
aracı
Recep Ayan
[email protected]
by­nc­sa
www.enixma.org ­ Ağustos 2009 ­ Sayfa 15
d
vd::rip, basit bir çeşit DVD sıkıştırma
(DVDRİP) aracıdır. dvd::rip temel olarak
dönüştürme işlemleri için transcode ve resim
işleme önizlemesi için imagemagick yazılım­
larını kullanmaktadır. Bu yazılım diğer tüm
dvd sıkıştırma yazılımlarına göre daha fazla
detay içermektedir. Aslına bakılırsa tam
Resim 1 - Genel tercihler
olarak daha fazla detay demek yerine göz
önünde daha fazla karmaşa demek daha
doğru olabilir. Tabii bu detayların faydalı
olduğu ve kafa karıştırdığı zamanlar olmak­
tadır. Eğer parametreler konusunda bir der­
diniz yoksa ve dvd sıkıştırma konusunda
deneyim ve bilgiye sahipseniz bu detaylar
DVD::RIP
karşınıza tercihler bölümü gelecektir. Bu
kısımdaki gereklilikleri ayarlamak yazılımın
doğru çalışması için önemlidir.
"Basic settings" (Basit ayarlar) sekmesinde,
varsayılan olarak kullanılacak DVD sürücü­
sünü, işlemlerin gerçekleşeği dizini, yazılı­
mın kendi kayıtları için oluşturacağı kayıt
dosyalarının saklanacağı dizini, varsayılan o­
larak kullanılacak dili seçebilirsiniz. (Resim 1)
"Commands" (Komutlar) sekmesinde, film­
lerin oynatılması için 3 farklı yol için 3 farklı
uygulama seçebilmektesiniz; DVD oynatıcı,
dosya oynatıcı, stdin oynatıcı. Ayrıca yine bu
sekmede dosya sıkıştırma aracının çalış­
tırılabilir dosyasını girebilirsiniz. (Resim 2)
Tercihler
"Cluster options" (Çoklu seçenekler) sekme­
sindeki ayarların ne olduğunu tam olarak
kavrayabilmek için öncelikle ne olduğunun
bilinmesi gerekmektedir. DVD sıkıştırma iş­
leminin birden fazla makina tarafından ya­
pılması buradaki doğru ayarlarla mümkün
olmaktadır. Bir makine ana makine olarak
belirlenir ve diğer makine veya makineler
SSH üzerinden gerekli bağlantılar yapıldıktan
sonra işlem diğer makinelerle ortak şekilde
yapılır. Yazının devamında birden fazla
makine ile sıkıştırma işlemi anlatılmayacaktır.
O yüzden bu kısımdaki ayarları olduğu gibi
bırakmanız önerilmektedir.
Yazılımı kurduktan sonra ilk çalıştırmada
"Miscellaneous options" (Çeşitli seçenekler)
Resim 2 - İşlemlerde kullanılacak komutların ayarları
sizin işinizi kolaylaştıracaktır.
Yazılımı kendi sitesi olan
http://www.exit1.org/dvdrip
www.enixma.org ­ Ağustos 2009 ­ Sayfa 16
adresinden indirip kurabilir yada dağıtımınızın
paket yöneticisi yardımıyla kurabilirsiniz.
DVD::RIP
Resim 3 - Çeşitli tercihler
sekmesinde ise, varsayılan video kodeği,
varsayılan video formatı, media dosyası
uzantısı, varsayılan BPP (Bits Per Pixel ­
Piksel Başına Bit) değeri (her proje için
yeniden ayarlanabilir), varsayılan kırpma ve
yakınlaştırma için işlem sıralamasını veya
işlemi, sıkıştırma sırasında altyazıların çıka­
rılıp çıkarılmayacağı gibi seçenekleri ayarla­
yabilirsiniz.
Tüm seçenekleri isteğimize göre ayarladıktan
sonra "Check all settings" (Tüm ayarları
kontrol et) butonuyla tüm seçenekleri kontrol
edebiliriz. Burada bize eğer istediğimiz se­
çenekler için gerekli yazılımlar yoksa gerekli
uyarıyı yapacaktır.
Resim 4 - Yeni proje başlatmak
Yeni proje
Yeni bir DVD sıkıştırma işlemine başlaya­
bilmek için öncelikle "File" (Dosya) menü­
sünden "New Project" (Yeni Proje) yolunu
kullanarak yeni bir proje oluşturmalıyız. Proje
adını yazdıktan sonra "Create Project"
(Projeyi Oluştur) butonunu kullanarak pro­
jemizi oluşturabiliriz. Gerekli verilerin kayde­
dileceği tüm yerler burada gösterilmektedir.
Sıkıştıracağımız DVD'de değil ise ve kendi
www.enixma.org ­ Ağustos 2009 ­ Sayfa 17
sabit diskimizde ise bulunduğu dizini "Choose
DVD İmage Directory" (DVD İmaj Dizinini
Seçin) butonunu kullanarak dizini seçebiliriz.
Eğer sabit diskimiz üzerinde değil de DVD
sürücü üzerinden sıkıştırma işlemi yapa­
caksak "Copy data from DVD to harddisk
before encoding" (İşlemden önce DVD'yi
sabit diske kopyala) seçeneğini seçili olarak
bırakarak işleme devam etmeliyiz.
DVD::RIP
Resim 5 - Başlık sökme
Başlangıç olarak yalnızca soldaki "RIP Title"
(Başlıkları Sök) sekmesi açık olacaktır.
Buradan "Read DVD table of contents" (DVD
içerik tablosunu oku) butonunu kullanarak
DVD içeriğindeki başlıkları bulabiliriz. Bu
adım da filmin olduğu asıl başlığı bizim için
otomatik olarak seçecektir. Ancak ekstralar
gibi bölümlerin sıkıştırılması istenirse, bunları
kendimiz el ile seçmeliyiz. Bu sekmenin en
sağında ise filmin dilini seçmeliyiz. Biz
varsayılan olarak Türkçe'yi seçtiğimiz için ve
DVD içeriğinde Türkçe dil desteği bulunduğu
için bu seçili olarak gelmektedir. Eğer seç­
tiğimiz varsayılan dil DVD içeriğinde yok ise
DVD'nin orjinal sesi varsayılan olarak seçili
olacaktır. İstediğimiz başlığı seçtikten ve dil
www.enixma.org ­ Ağustos 2009 ­ Sayfa 18
Resim 6 - Kırpma ve yakınlaştırma
seçeneğini dilediğimiz gibi ayarladıktan sonra
altta bulunan "View selected title­ /chapter(s)"
(Seçilen başlığı(başlıkları) gör) butonuyla
dilersek öncelikle doğruluğu teyit edebilir
istersek doğrudan DVD içeriğinden bu başlığı
sökebiliriz. Sökme işlemi için ise "RIP
selected title(s)/chapter(s)" (Seçili başlığı
(başlıkları) Sök) butonunu kullanmalıyız. (Bu
işlem, bilgisayımızın işlem gücüne bağlı
olarak uzun sürebilmektedir.) Sökme işle­
minin detaylarını görmek istiyorsak işlem
çubuğunun yanında bulunan artı şeklindeki
butona tıklamamız yeterli olacaktır.
Sökme işlemini tamamladığımızda artık
filmimiz gerekli tüm düzenlemeleri yapmak
için hazır demektir. Öncelikle "Clip & Zoom"
(Kırpma ve Yakınlaştırma) sekmesine tıklayıp
burada 3 aşamadan oluşan işlemi gözden
geçirmemiz gerekmektedir. Ancak bunun
öncesinde filmimizin bulunduğu başlığı üst
bölümden seçmemiz gerekmektedir. Daha
sonra varsayılan olarak yaptığımız ayarlardan
olayı uygulama kendisi bizim için tüm
değerleri girerek en iyi çözünülüğü ve oranı
yakalamaktadır. Ancak daha profesyonel
olarak değişiklik yapmak isteyen kişiler için
adım sırası, birinci kırpma, yakınlaştırma ve
ikinci kırpma şeklindedir.
DVD::RIP
Resim 7 - Altyazılar
"Subtitles" (Alt Yazılar) sekmesinde ise
DVD'miz içerisinde gömülü olan alt yazıların
çıkartılması işlemini gerçekleştirebilmekteyiz.
Bizim filmimiz zaten Türkçe dublajlı olduğu
için alt yazıyı çıkartmaya gerek olmamak­
tadır. Ancak çıkartmak isteyenler için alt
yazıyı çıkartmanın bu yazılım için 2 farklı
yöntemi bulunmaktadır. Birincisi alt yazıyı
doğrudan filmin üzerine gömmek, diğer ise
altyazıyı ayrı bir dosyaya çıkartmaktır. Filmin
üzerine alt yazıyı gömmek için "Render
subtitle on movie" (Alt yazıyı film üzerine koy)
bölümündeki "for rendering" (işlem için)
kutuğunu işaretleyip eğer gerekiyorsa kay­
dırma ve diğer değerlerimizi girip diğer
işlemlere geçmeliyiz. Ayrı dosya olarak alt
yazıyı çıkartmak istiyorsak "Create vobsub
www.enixma.org ­ Ağustos 2009 ­ Sayfa 19
Resim 8 - Sıkıştırma
file" (vobsub dosyası oluştur) bölümündeki
"Create now" (Şimdi oluştur) butonuyla
istersek hemen alt yazıyı çıkartabiliriz, "after
transcoding" (sıkıştırma işleminden sonra)
kutuğunu işaretleyerek ise tüm işlemlerden
sonra dosyayı oluşturmasını sağlayabiliriz.
"Transcode" (Sıkıştırma) sekmesi ise DVD
sıkıştırma için son adımımızdır. Bu sekmede
birçok ayar bulunmaktadır. Ancak bizim
varsayılan olarak atadığımız ayarlar ile birlikte
bu bölüm tamamiyle doldurulmakta ve hazır
hale gelmektedir. Yalnızca eğer istiyorsak bir
takım değişiklikler yapabiliriz. Bizim bu
sıkıştırma işlemi için istediğimiz tek bir CD'ye
sığabilecek boyutta bir film olduğu için 700
MB büyüklüğünde tek bir medya dosyası
oluşturma seçeneğini seçiyoruz.
Filmimizi istersek Türkçe dublajını üzerine
gömerek, istersek diğer dillerden birini üze­
rine gömerek, istersek de birden fazla ses
seçeneği ekleyerek sıkıştırabiliriz. Ancak bir­
den fazla seslendirme seçeneği ekleyecek­
sek medya dosyasının büyüklüğünü arttır­
malıyız ki görüntüde çok fazla kayıp ya­
şamayalım. Ses dosyası için ise MP3 AC3'e
göre daha fazla kullanılan kodlama şeklidir.
Nedeni ise MP3'ün boyut olarak küçük
olmasına rağmen kalitesinin iyi olmasıdır.
AC3 seçeneğini seç­memiz durumunda ses
dosyasının boyutu büyük olacağından medya
dosyamızın kali­tesi düşecektir veya daha
büyük boyutlu bir dosya oluşturmamız
DVD::RIP
gerekecektir.
Burada önemli olan diğer bir unsur da, filmin
"framerate" (çerçeve hızı) 'dır. Eğer filmimiz
Türkçe dublajlı değil ve alt yazısı da bu­
lunmuyorsa internetten rahatça indirebilmek
için bu değeri genellikle 25.000 olarak veya
23.976 değeriyle kullanmalıyız.
Sol altta video dosyası ve ses dosyası ile ilgili
büyüklükler ve toplam dosya büyüklüğü gö­
zükmektedir. Buradaki değerlere bakarak
değişiklikler yaparak neyin nasıl etki yaptığını
görebilirsiniz. Sıkıştırma işlemi için temel
olarak bilinmesi gerekenler yukarıdaki gibidir.
Ancak video ve ses dosyalarından profes­
yonel anlamda anlıyorsanız, buradaki tüm
değişkenler üzerinde değişiklik yapabilirsiniz.
Bu değişiklikler her zaman sizin istediğiniz
yönde etki gösteremeyebilir ancak iyi dere­
cede bu işi yapıyorsanız ve biliyorsanız
standart ayarlarla yapmanızdan daha iyi bir
medya dosyası elde edebilirsiniz. Sıkıştırma
işlemine başlamak için sağ altta bulunan
"Operate" (Çalışma) bölümündeki "Trans­
code" (Sıkıştırma) butonunu kullanarak sıkış­
tırma işlemine başlayabilirsiniz. Bu işlem de
sisteminizin donanım gücüne bağlı olarak
uzun sürebilmektedir.
Yapılan işlemlerle ilgili tüm kayıtları "Logging"
(Kayıt Defteri) sekmesinden inceleyebilirsiniz.
Tüm işlem bittikten sonra başlangıçta oluş­
www.enixma.org ­ Ağustos 2009 ­ Sayfa 20
Resim 9 - Kayıtlar
turduğumuz dizin altındaki "avi" klasörünün
içerisinde .avi uzantılı dosyamızı bulabiliriz.
İyi seyirler.
MTD İLE EK
BELLEK
Ekran kartı belleğini
sistem belleği olarak
kullanmak
Modern ekran kartlarının üzerinde azımsanamayacak miktarda hafıza bulunmaktadır. Son
çekirdeklerde gelen bir özellik olan Memory Technology Device (MTD) sayesinde bu hafıza
birimini sisteme RAM veya Swap bellek olarak göstermek mümkündür. Bu yazımızda bu
işlemin nasıl yapılacağını olası sorunların çözümünü vererek anlatacağız.
Öncelikle ufak bir uyarı yapalım. Eğer ekran kartı için sistemde yüklenmiş kapalı kaynak kodlu
(hazır derlenmiş) bir sürücü varsa, ekran kartı hafızasının üst sınırını bilmediği için fazla alan
kullanıp sistemde donmalara ve grafiksel sorunlara yol açabilir. Ama VESA sürücüsü gibi
ekran kartı için ne kadar hafıza kullanacağını belirtebildiğiniz sürücüler kullanabilirsiniz. Bu da
demek oluyor ki, göz zevkine hitap eden "Direct Rendering" özelliği ya da hızlı bir swap
arasında bir seçim yapmanız gerekmekte. Ayrıca olası bir hatada RAM'deki bilgilere zarar
gelmesi ihtimaline karşı bunu çok önemli verilerin olduğu sunucularda uygulamak riskli
olabilmektedir.
Ekran kartı hafızasının çekirdek tarafından kullanılabilmesi için önce sıradan bir RAM aygıtı
gibi haritalanması (mapping) gerekmektedir. Bunu da çekirdekteki MTD yardımı ile yap­
maktayız. Çekirdek derleme sırasında şu seçeneklerin işaretli olmasına dikkat edin:
Device Drivers ­­­>
<M> Memory Technology Device (MTD) support ­­­>
<M> Direct char device access to MTD devices
<M> Common interface to block layer for MTD 'translation layers
<M> Caching block device access to MTD devices
Self­contained MTD device drivers ­­­>
<M> Physical system RAM
Elbette modül (M) yerine dahili (*) derleme de yapabilirsiniz.
Çekirdek derlenirken biz de PCI bölgesinde ekran hafızasını arayalım. Bunu en kolay şekilde
lspci komutu ile yapabiliriz. Eğer kurulu değilse sisteminize pciutils paketini kurmanız
gerekmekte. Ardından "lspci | grep VGA" komutu ile ekran kartının PCI adresini alabiliriz.
Örneğin komutun çıktısı şu şekilde ise:
Gürkan Gür
[email protected]
by­nc­sa
www.enixma.org ­ Ağustos 2009 ­ Sayfa 21
02:00.0 VGA compatible controller: ATI Technologies Inc R300 AD [Radeon 9500 Pro]
Bize lazım olan adres 02:00.0 bölümüdür. Bu numarayı aldıktan sonra yine lspci komutu ile
oldukça ayrıntılı bir çıktı alabiliriz. Şimdiki komutumuz ise:
MTD İLE EK BELLEK
lspci ­vvv ­s 02:00.0 | grep prefetchable
Örnek çıktımız şu şekilde olacaktır:
Region 0: Memory at d8000000 (32­bit, prefetchable)
[size=128M]
Region 2: Memory at e9000000 (32­bit, non­prefetchable)
[size=64K]
Bize lazım olan değer "prefetchable" kelimesini içeren satırdaki 32 bit
onaltılık, yani 0xd8000000 değeridir.
Sırada çekirdeğe haritalaması gereken bu bölgeyi tanıtmak var.
Bunun için açılışta çalışacak init betiklerinden birinin altına birkaç satır
eklememiz gerekmekte. Bu satırlarda slram ve phram modüllerinin
yüklenmesini sağlayacak komutlar bulunacak. slram modülünü
yüklerken VGA için 4 MB (onaltılık­hex­ olarak 4*1024*1024 =
0x00400000) ayırmalıyız. Yani slram modülümüzü yükleyen satırda
başlama pozisyonu olarak "0xd8400000" kullanacağız. (Hesapları
yapmak için internetteki bir hexadecimal çeviriciyi kullanabilirsiniz.)
Son olarak 124 MB haritalanacak alan tanıtacağımız için
124*1024*1024'ün onaltılık değeri olan 0x7c00000 parametresini de
başında "+" olacak şekilde eklemeliyiz. Yani satırımız şuna
benzeyecek:
modprobe slram map=VRAM,0xd8400000,+0x7c00000
phram modülünü yükleyecek olan satır da buna oldukça benzemekte,
tek farkı slram modülünde son noktayı belirleyen adres yerine adresi
MB cinsinden yazabilmemiz. Yani şu şekilde bir satır yeterli olacaktır:
modprobe phram phram=VRAM,0xd8400000,124Mi
Ancak eğer modül olarak değil de çekirdeğe gömülü derlediyseniz
modprobe ile modül yüklemek yerine açılış yöneticinizde (örn. GRUB)
www.enixma.org ­ Ağustos 2009 ­ Sayfa 22
kernel parametresi olarak bir değer eklemeniz gerekmekte. Bu
örnekte kernel satırına şöyle bir parametre eklememiz gerekiyor:
slram=mtd0,0xd8400000,+0x7c00000
Yeni çekirdekle yeniden başlattığınızda "dmesg" komutunun çıktısı
olarak şuna benzer satırlar görmeniz gerekmekte:
slram:
slram:
slram:
slram:
slram:
slram:
devname = mtd0
devstart = 0xd8400000
devlength = +0x7c00000
devname=mtd0, devstart=0xd8400000, devlength=0x7c00000
Registered device mtd0 from 3543040KiB to 3670016KiB
Mapped from 0xe0880000 to 0xe8480000
Eğer "slram: ioremap failed" tarzında bir hata alıyorsanız, az önceki
baksettiğimiz "+" karakterini koymayı unuttunuz demektir. Ayrıca eğer
çekirdekte "highmem" özelliğini aktifleştirdiyseniz slram modülü
"vmalloc" kelimesi geçen hatalar verebilir. Bu durumda açılış
yöneticinizde kernel parametrelerine "vmalloc=256M" veya daha
yüksek bir değer eklemek sorunu çözecektir.
Şimdi hafızaya ulaşma kapısı olacak MTD aygıtını oluşturmak için
açılış komutlarını init betiklerine ekleyelim. MTD'nin kullanması için
karakter aygıtı oluşturmamız gerekiyor. Bunun için de şöyle bir satır
kullanabiliriz.
mknod /dev/mtd0 c 90 0
Ancak, eğer çekirdekte "Direct char device access to MTD devices"
seçeneğini modül olarak derlediyseniz, bu satırdan önce "modprobe
mtdchar" satırını ekleyip modülü yüklemeniz gerekmekte.
Şimdi de blok aygıtını oluşturmamız gerekiyor. Karakter aygıtındaki
gibi, eğer "Caching block device access to MTD devices" seçeneği
modül olarak derlenmiş ise öncelikle "modprobe mtdblock" satırı ile
MTD İLE EK BELLEK
modülü yüklememiz gerekiyor. Blok aygıtını oluşturacak satır:
mknod /dev/mtdblock0 b 31 0
Kullanmak için aygıtın üzerinde dosya sistemi oluşturmamız gerekiyor.
Oluşturduktan sonra da 0 ile 32767 arasında bir swap bellek önceliği
atayarak etkinleştireceğiz. Bellek oldukça hızlı olduğu için yüksek bir
öncelik kullanabilirsiniz. Eğer öncelik değeri belirtmezseniz sistem en
düşük önceliği (0) kullanacaktır. Bunun için gerekli olan komutlar:
mkswap /dev/mtdblock0
swapon ­p 100 /dev/mtdblock0
Ram üzerinden güç kesilince silinecek bilgiler arasında az önce
oluşturduğumuz dosya sistemi bilgileri de var. Her açılışta bunun
sorun çıkartmaması için blok aygıtını oluşturduğunuz init satırının
altına
mkswap /dev/mtdblock0
komutunu ekleyebilirsiniz.
Eğer swapon komutunda hata alıyorsanız BIOS ayarlarından "AGP
Aperture Size" değerinin en az ekran kartınızın belleği kadar
olduğundan emin olun. Genelde bu değeri sistem belleğinin yarısına
ayarlamak gibi bir yanlış önyargı bulunmakta.
Örnek olarak 100 değerini verdik, bu işlemin her açılışta otomatik
yapılıp belleğin kullanılabilir duruma gelmesi için /etc/fstab dosyasına
bir satır ekleyebiliriz:
/dev/mtdblock0
none
swap
sw,pri=100
www.enixma.org ­ Ağustos 2009 ­ Sayfa 23
VI
EDITÖRÜ ­ VI
Vi'de EX editörünü
kullanarak bul ve değiştir
işlemleri
Vi'de Ex komutlarını Kullanarak Bul ve Değiştir İşlemleri
Yazarken sık sık imla hatası yapılır. Bu hataları önleyen imla denetimi bileşenleri güncel ofis
yazılımlarının bir parçasıdır. Birçok kişi için imla denetimi araçları sadece ofis yazılımlarında
bulunur. Ancak UNIX ve türevleri için geliştirilmiş olan birçok imla denetimi aracı
bulunmaktadır. Grafik arabirimde kullanılan ofis yazılımları dışındaki yazılımlar için imla
denetimi araçlarının da kullanılabilir olması için çalışmalar yapılmaktadır. Bilindiği kadarı ile vi
için bu tür bir çalışma olmadığı için imla denetimi kullanan kişinin sorumluluğuna kalmaktadır.
İmla hatalarımın büyük bir kısmı bazı sözcükleri hatalı yazmaktır. Örneğin imla yerine imal
yazmak gibi. Bu tür hataları düzeltmek için vi'yi ilk kullanmaya başladığım sıralarda sed
kullanarak hatalı olan sözcükleri düzeltmeyi tercih ediyordum. sed kullanıp daha sonra vi'ye
dönmek ilk bakışta uygun bir çözüm gibi görünse de aslında tam tersi olabiliyordu, Aslında
kesinlikle kötü bir fikirdi. İmal olan sözcüğün imla olarak değiştirilmesi hatadır!
Bu nedenle vi ile çalışırken farklı çözümler geliştirmek durumunda kalıyoruz. En kolay
yöntemin ise düzenli ifadeler ile ex komutlarını birleştirmek olduğunu düşünebiliriz. Vi temel
olarak gelişmiş bir ex editörü olduğuna göre sed komutlarından aşina olduğumuz komutları
düzenli ifadeler ile birleştirip otomatik veya yarı otomatik düzeltme komutları geliştirmek imla
hatalarının düzeltilmesini son derece kolay hale getirmiştir.
Vi içinde ex komutlarını kulanarak gerek satır olarak gerekse tüm metin içinde düzeltmeler
yapabilirsiniz. Bunun için düzenli fadeler kullanılır. Bunlar ve diğer kabuk ortamında çalışmak
için geliştirilmiş olan araçlar temel olarak bu bulma ve değiştirme işlemini global replacement­
bütünsel değiştirme olarak çevirebileceğimiz bir komut ile gerçekleştirir.
Bu komut ex editörüne bir metin içinde tanımlanan bir karakter dizisini eşleştirmesini sağlar.
Tüm metin üzerinde yapılan bu eşleştirme eylemi ile ex editörü eşleşmenin gerçekleştiği tüm
satırları belirler ve eşleşen karakterleri tanımlanan karakterler ile yer değiştirir. Bu eşleştir ve
değiştir işlemi programcılık dilinde düzenli ifadeler­regular expressions ile ifade edilir.
Gökşin Akdeniz
[email protected]
by­nc­sa
www.enixma.org ­ Ağustos 2009 ­ Sayfa 24
Metin içinde bir dizgeyi eşleştirmek ve değiştirmek için iki ex komutunu kullanırız: g ve s. g, tün
metin içinde eylemin gerçekleşmesini sağlar iken s sadece değiştirme işlemi yapar.
Bir metin içinde imal sözcüğü yerine imla koymak için imlecin bulunduğu yerden itibaren arama
VI
EDITÖRÜ ­ VI
yaparak ilk eşleşmeyi değiştirmek için
Değiştirme İşlemlerini Kontrol Etmek
:s/imal/imla/
Hatalı yapılan bir işlemi u komutu ile geri alabiliriz. Bu ise bizim için
ideal çözüm değildir. Zira bazen yapılan işlemim ardından dosyayı
kayıt ettiyseniz geri almak da çözüm olmayacaktır. Bunun için basit bir
çözüm olarak bul­ve­değiştir işlemi yapmadan önce dosyayı kayıt edip
daha sonra işlem yapılabilir. Olası bir hata durumunda ise :e! ile
önceki tamponu yükleyerek eski duruma dönebilirsiniz.
komutunu kullanırız. Anlaşılacağı üzere imlecin bulunduğu noktadan
başlayarak arama yapılacak ve ilk eşleşmenin gerçekleştiği noktada
imal yerine imla gelecek ve işlem sona erecektir. Bu bul­ve­değiştir
işleminin tüm eşleşmeler üzerinde gerçekleşmesi için ise g kullanmak
gerekir. Bu durumda komut
:s/imal/imla/g
şeklini alacaktır. Böylece işlem tüm dosya üzerinde her eşleşme
durumu için yapılacaktır. Bu eylemin tehlikeli olan yanı da yine bu
işlemin tüm metin üzerinde her eşleşme için gerçekleşmesidir. Bunun
yerine yazdığımız metnin sadece ekranda görünen kısmındaki hataları
gidermek için sadece ekranda görünen satırlar üzerinde işlem
yapabiliriz. Bunun için aralık belirtmek yeterlidir. s komutundan önce
işlem yapılacak olan satır aralığını belirterek komutu yeniden yazalım:
:1,24s/imal/imla/g
Benzer olarak tüm metinde aynı işlemi yapabilirsiniz, 1 satırdan son
satırın sonuna dek.
:1,$s/imal/imla/g
Tüm metni tanımlamak için 1,$ yerine % kullanılabilir.
:%s/imal/imla/g
Bu şekilde bir metin üzerinde satır satır arama yapıp düzenleme
yapmaktansa tek bir komutla tüm metni düzenlemek daha kolay ve
hızlıdır. Fakat düzeltilmemesi gerekenleri de düzelteceğini unut­
mamak gerekir.
www.enixma.org ­ Ağustos 2009 ­ Sayfa 25
Bunun yerine bul­ve­değiştir işlemi yaparken işlem için onay alın­
masını sağlamak daha uygun olacaktır. Onay alınmasını sağlamak
için komutun sonuna c eklemek işlem için onayımızın alınmasını
sağlar.
:1,24s/imal/imla/gc
Bu komutu verdiğimizde eşleşen dizgelerin alt kısmında ^^^^^^
işaretini göreceksiniz. Eğer vi değil de vim kullanıyorsanız bu
durumda size değiştirme işlemi için soru sorular ama eşleşme eylemi
işaretlenmez. ex editörü söz konusu eşlemenin olduğu satırı döndürüp
eşleşen dizgenin olduğu bölümü işaretler.
gerçekleştiği noktada imal yerine imla gelecek ve işlem
^^^^
Eğer değiştirme işlemi yapacak iseniz y ve ardından entere basmanız
gerekecektir. Değişmesini istemiyorsanız entere basıp geçin.
Vi'nin bir çok sürümü ve kopyası (clonların saldırısı ­ vim'lerin
saldırısı) olduğu için bu ex komutunu kullanamayabilirsiniz. Bu
durumda aramayı tekrarlama komutu (n) ile son komutu tekrar et
komutu (.) kullanarak işlemi yapabilirsiniz. Bu durumda ise tüm metin
üzerinde dolaşarak uygun gördüğünüz yerlerde düzenleme ya­
pabilirsiniz.
VI
EDITÖRÜ ­ VI
/imal
imal ara
cwimla
imla ile değiştir.
n
Aramayı tekrarla, bulana dek tekrarla
.
Son komutu tekrarlayıp değiştirelim.
Tanımlanan bir dizgenin her eşleşmesinde değiştirilmesi iyidir ama
çok sayıda eşleşme döndüreceği için uygun değildir. imal hatası ile
imla hatası eşleştirme örneğinde olduğu gibi imal doğru kullanılmış
olsa da arama sırasında karşımıza gelecektir. O halde imla yerine
imla hatası gibi daha doğru bir eşleştirme dizgesi kullanmak doğru
olacaktır. Bunun için komutu biraz daha geliştirmek yerinde olacaktır.
:g/aranan_dizge/s/eski/yeni/g
Burada tüm metin üzerinde arama yapıyoruz. İlk kullanılan g, arama
komutu iken en sonda yer alan tüm eşleşmeler için işlem yapılamasını
belirtmektedir.
O halde imal ve imla durumunu yeniden ele alabiliriz. İmal tek başına
doğru kullanılmış olabilir. Ancak aradığımız hatalı yazılmış olan "imla
hatası" yani "imal hatası" dizgesi ise komutu düzelterek yukarıdaki
formüldeki gibi kullanabiliriz. Ancak işlem öncesi onay almayı da ihmal
etmeyelim.
:g/hatası/s/imal/imla/gc
Bu doğru kullanım.
Bu kullanım şekli özellikle XML imlası kullanılarak hazırlanmış olan
dosyalarda düzenleme yapıyorsanız işinizi kolaylaştıracaktır. Zira XML
yapısı gereği <KOMUT></KOMUT> tanımlaması düzenleme yaparken
işleri kolaylaştırır.
www.enixma.org ­ Ağustos 2009 ­ Sayfa 26
:g komutunu aynı zamanda :d, :mo, :co ve diğer ex komutları ile
birlikte kullanarak daha etkin çalışabilirsiniz.
Metakarakter ve Düzenli İfadelerin Kullanımı
Düzenli ifadeler­Regular Expressions, programcılıkta aradığımız bir
dizgenin bir metin içinde eşleştirilmesini sağlayan karakter dizgelerine
verilen addır. sed, awk ve grep gibi temel UNIX araçlarında düzenli
ifadeler sık kullanılır. Dolayısıyla da vi ile çalışırken de kullanabi­
lirsiniz.
Düzenli ifadeler yukarıdaki örnekte değindiğimiz gibi daha doğru
sonuçlar elde etmek için en uygun araçtır. 'İmal hatası' ile 'imla hatası'
örneğinde olduğu gibi sözcükler metin içinde farklı şekillerde
kullanılabilir. Bu kullanım nedeni ile arama sonuçlarını azaltmak
zaman ve emek kazancı sağlar. Düzenli ifadeleri vi ve ex komutları ile
(/,?) ve (:g, :s) birlikte kullanabilirsiniz.
Düzenli ifadeler harfler ve bunlarla birlikte kullanılan bir çok özel
karakterden oluşur. Bu özel karakterlere metakarakter­metacharacter
adı verilir. Aslında bu metakarakter tekil olmakla birlikte pratikteki
birden çok karakter birlikte kullanılır. Bu çoğul kullanım özelliğine
rağmen tekil olarak isimlendirilir. eniXma'daki yazılarda bu şekilde
kullanıyoruz.
Metakarakterler
.
Herhangi bir karakteri eşleştirir. Bu eşleşmede boşluklar da
dikkate alınır. g.t git, get döndürür.
*
Herhangi bir veya daha çok sayıdaki karakteri eşleştirir.
örneğin bul* size bul, buluş, bulut vs döndürür.
VI
EDITÖRÜ ­ VI
^
Bir satırın il karakterini ifade eder. Düzenli ifadeler ile birlikte
kullanılması durumunda, düzenli ifade satırın başındaki
karekterler ile eşleştirilir. (^[:alpha]) Eğer tek başına kullanılırsa
^ karekteri anlamına gelir.
$
Bir satırın sonunu ifade eder. Düzenli fadeler ile birlikte
kullanıldığında, düzenli ifadeyi satırın sonundaki karekter ile
eşleştirir. ([:alpha:]$) Eğer bir düzenli ifade birlikte kullanılmaz
ise sadece $ karakteri anlamına gelir.
\
Ardından gelen karakter "özel" anlamını yitirir ve sadece
karakter olarak ifade edilmiş olur. \. artık nokta anlamındadır,
herhangi bir karakter anlamına gelmez.
[ ]
Köşeli parantezler arasında kalan karakterleden herhangi
birisini eşleştirir. Örneğin i[ml]a, varsa ima, ila, imla
eşleşmelerini döndürür. Bir aralık belirtmek istersek [A­Z] A'dan
Z'e tüm büyük harfleri tanımlar, [0­9] ise 0 ile 9 arasındaki
rakamları tanımlar. Köşeli parantezler içinde meta karakterler
özel anlamlarını yitirdiği için \ ile işaretlenmesine gerek yoktur.
Bu kuralın istisnası ise üç özel meta karakterdir: \,­ ve ] Bu
karakterleri özel anlamını kullanmamak için önlerine \
konulması gereklidir: \\,\­ ve \] sırasıyla \, ­ ve ] karakterlerinin
eşleşmesini sağlar. Dikkat edilmesi gereken diğer önemli nokta
da ^ eğer köşeli parantezler içinde ilk karakter ise bu durumda
anlamı değişmektedir. Örneğin [^A­Z] Büyük harfle başlamayan
anlamına gelmektedir. Benzer olarak [^0­9] rakamla
başlayanları döndürür.
\( \)
\( ve \) arasında kalan dizgeyi saklar. Bu şekilde bir tek satır
içinde en çok dokuz farklı dizge tanımlanabilir. Tanımlanan
dizgeler eşleştirilebilir, yerleri değiştirilebilir. Örneğin,
:%s/\(Bu\) ya da \(O\)/\2 or \1/
www.enixma.org ­ Ağustos 2009 ­ Sayfa 27
Komutu "Bu ya da O" eşleşmesini "O ya da Bu" olarak
değiştirir.
\< \> Bir sözcüğün başındak (\<)i veya sonundaki (\>) karakterleri
eşleştirmek için kullanılır. Bir sözcüğün başı veya sonu bir
noktalama işareti ya da boşluk ile belirlenir. Örneğin /<ak,
akşam, aksak, akmak vs döndürecektir. benzer olarak ak\> ise
yak, konyak vb döndürecektir.
~
En son aramada kullandığımız düzenli ifadeyi eşleştirecektir.
Örneğin ok aradıysanız ~/tay kullandığınızda varsa oktay
döndürülür. Düzenli ifadeyi / kullanarak aradıysanız bunu
kullanabilirsiniz. Bu özellike tüm vi türevlerinde olmakla birlikte
pek yaygın olarak kullanılmamaktadır.
vi ve düzenli ifadeler geliştirildikleri zaman metin dosyaları ASCII
karakterlerinden oluşuyordu. Bugün ise farklı sistemler ve diller işin
içine girmeye başladığı için işler karışıyor. Örneğin Fransızca'daki è
karakteri [a­z] sorgusu ile döndürülmez. Bu sorunların aşılması için
POSIX standartlarında belirtilen parantez ifadeleri­bracket express­
ions­ kullanılması doğru sonuçları verecektir.
POSIX standartları, farklı karakterlerin doğru biçimde ayrıştırılmasını
sağlamak için karakter sınıflarını kullanmaktadır. Karakter sınıfları­
character classes­ [: ile :] arasında kalan ve özel bir isimle ifade edilen
bir dizi karakteri ifade eder. Bu karakter sınıflarında alfabedeki harflar
yanında, noktalama işaretleri, kontrol karakterleri vs yer alır.
Karakter Sınıfları: POSIX standartlartında tanımlanan karakterleri
tanımlar. Bunlar sayılar, harfler vb olabilir.
Bağlama Sembolleri(Collating symbols) Bir veya daha fazla karakter
tek bir karakter olarak dikkate alınır. [. ile .] arasında gösterilir.
Örneğin [.ak.] ile ak tek bir karakter olarak ifade edilir. a ve k olarak
VI
EDITÖRÜ ­ VI
işlem yapılmaz.
Denklik Sınıfları
Bir veya daha çok sayıdaki karakter birbirine eşit
kabul edilir. Örneğin Fransızca'daki e, è, veya é. karekterlerinin
herhangi birisi [=e=] ile ifade edilebilir.
POSIX Karakter Sınıfları
Sınıf
Karakterler
[:alnum:]
Harf ve sayı birlikte
[:alpha:]
Sadece harfler
[:blank:]
Boşluk ve sekme
[:cntrl:]
Kontrol karakterleri
[:digit:]
Sayılar
[:graph:]
Boşluk dışında kalan tüm basılabilen karakterler
[:lower:]
Küçük harf
[:print:]
Basılabilen karakterler, boşluk dahil
[:punct:]
Noktalama işaretleri
[:space:]
Boşluk
[:upper:]
Büyük harf
[:xdigit:]
Hexadesimal sayılar
UNIX türevi birçok sistemde vi kullanılmaktadır. Kullanılan vi sürümleri
farklı olduğu için POSIX desteği olmayabilir. Güncel Linux dağıtımları
kurulum sırasında dil yapılandırmasını gerçekleştirdiği için sistem
genelinde tek bir yerel kullanılmaktadır. Bu nedenle farklı bir dildeki
metin ile çalışacak iseniz küçük harf sınıfını kullanmanız daha doğru
sonuçlar verebilir.
Metakarakterler, farklı yerel ayarlarına sahip dosyalar üzerinde
çalışmayı kolaylaştırdığı gibi aynı zamanda zorlaştıracaktır da. Bu
zorluk bul­ve­değiştir işlemleri yaparken ortaya çıkmaktadır. Bu
işlemde ilk dizgede kullanılan metakarakterler, metakarakter olarak
değerlendirilir. Değiştirilecek olan metin bu metakarakterler kul­
lanılarak bulunur. İşlemin ikinci kısmında ise yer değitirilecek olan
www.enixma.org ­ Ağustos 2009 ­ Sayfa 28
ifade salt metin olarak dikkate alınır, meta karakter olma özelliğini
kaybeder. Kullanıcılar bu hataya sık düşerler ve metakarakterleri
kullanırlar. Örneğin,
:%s/[ABC]/[abc]/g
Komutu A yerine a, B yerine b ve C yerine c yaz düşüncesi ile verilir
ama her A,B ve C yerine [abc] yazılır. Bu hataya düşmemek için bul­
ve­değiştir işlemlerinde kullanılan özel metakarakterler kullanılır.
\n
\( ve )\ arasında kalan n'ci ifade yerleşirilir. Burada n sayıdır.
Soldan sağa doğru saymanız gerekli, unutmayın.
\
Ardından gelen karakter normal bir karakter olarak
değerlendirilir. Özel karakter niteliklerini kaybeder. Örneğin "\"
kullanmak için \\ yazılmalıdır.
&
Ardından gelen dizgeyi, arama dizgesinin eşleştiği tüm yerlerde
aranan dizgenin sonuna kendisinden sonra geleni yerleştirir.
Örneğin:
%s/Akdeniz/&, Goksin
komutu ile Akdeniz bulunan her satırda Akdeniz'i, Akdeniz, Goksin
olarak değiştirir. Ayrıca & düzenli ifadeler ile birlikte kullanılabilir. Bu
durumda ise düzenli ifadenin eşleştiği tüm satırı döndürür. Örneğin ilk
4 satırı parantez içine almak için
:1,4s/.*/(&)/
~
Benzer bir işleve sahiptir. Bul­ve­değiştir işleminde
kullanıldığında son kullanılan ve değiştirilen dizgeyi yeni bul­ve­
VI
EDITÖRÜ ­ VI
değiştir işleminde tekrar Örneğin
:s/tokta/tokat/
imlecin bulunduğu noktadan ileri doğru giderek ilk eşlemeyi bulur ve
değiştirme işlemini yapar. Tekrarlamak için aynı komutu yeniden
yazmadan ve bu sefer farklı bir dizge için de kullanabilirsiniz.
:s/solak/~/.
\u veya \l
Değiştirme işleminde yerine konacak olan dizgenin ilk
harfini büyük/küçük harf olarak değiştirir. Örneğin;
:%s/eniXma, e­dergi/\ueniXma, \ue­dergi/
Komutu eniXma e­dergi yerine EniXma, E­dergi yazar.
\u ve \l aynı zamanda \(...)\ ile birlikte \1, \2, ...\9 komutları ile birlikte
kullanılabilir.Böylece hem ifadelerin yerleri değiştirilebilir hem de
büyük/küçük harf değişimi yapılabilir. Sadece ilk harfi değil de tüm
dizgeyi büyük veya küçük harf yapmak isterseniz \U ve \L
kullanabilirsiniz.
Yapacağınız tüm eşleştirme işlemlerinde büyük­küçük harf duyarlılığı
söz konusudur. Bu noktaya dikkat etmek gerekli. Eğer büyük­küçük
harf duyarlılığı olmadan işlem yapacak iseniz bunu
:set ic
şeklinde yapabilirisiniz. Böylece büyük­küçük harf duyarlılığı
kapatılmış olur. Eğer standart ayarları kullanarak işlem yapacaksanız
bu durumda aynı harfi hem küçük hem de büyük harf olarak
kullanmanız gerekir. Örneğin [Kk] hem büyük hem de küçük harf olan
k döndürecektir.
www.enixma.org ­ Ağustos 2009 ­ Sayfa 29
TRIGGER RALLY
Basit ama güzel bir oyun
L
Resim 1 - Yarış başlıyor!
Tanju Taşçılar
[email protected]
by­nc­sa
www.enixma.org ­ Ağustos 2009 ­ Sayfa 30
inux'ta Torcs ve Vdrift gibi gelişmiş simü­
lasyon ve grafik özellikleri bulunan oto­
mobil yarışı oyunları sunduğu özelliklere
oranla daha gelişmiş donanım isterken, basit
bir donanımla yeterli grafik özelliklere sahip
ve daha az gelişmiş donanım ile çalışan bir
oyun olarak TriggerRally bir alternatif sun­
makta.
Oyunun çalışabilmesi için donanımsal hızlan­
dırmalı OpenGL destekli bir sürücü yeterli.
Diğer gereksinimler ise zaten bugünün bilgi­
sayarlarında fazlasıyla bulunuyor.
TRIGGER RALLY
Resim 2 - Ana menü
TriggerRally birçok Linux dağıtımının paket
depolarında bulunuyor ve dağıtımın kendi
araçları ile kolaylıkla kurulup kullanılabilir du­
Resim 3 - Yarış yeri seçimi
www.enixma.org ­ Ağustos 2009 ­ Sayfa 31
Resim 4 - Mitsubishi Evolution
rumda.
Bütün basitliğine rağmen dört ayrı yer ve üç
farklı otomobil sunmakta. Yerler 'Far far away
­ çok çok uzak, Operation Desert Storm ­ Çöl
fırtınası operasyonu, Snow Level ­ Kar se­
viyesi ve Tea in the Sahara ­ Sahrada Çay
adlarını taşımakta. Oyunda basit bir fizik
motoru kullanılıyor olsa da bu farklı dört alan
için yüzey durumuna uygun olarak farklı yol
tutuş sergilenebilmekte. Karlı alandaki kay­
malar, çöl kumlarındaki kum etkisi aracın
kullanımında hissedilmekte.
Aracın kullanımı yön tuşları ile gerçekleşiyor.
Oyun penceresinin içindeki küçük bir alanda
otomobilin bulunduğu yer ve gideceği güzer­
gah izlenebilmekte. Belli noktalarda 'check­
point' ­ uğrak noktaları yer alıyor. Bunlar yu­
karı aşağı hareket eden kırmızı ve erişildikten
Resim 5 - Seat Cordoba
sonra yeşil renge değişen halkalar şeklinde
belirtilmekte. Rally kuralları gereği verilen
sürede bu noktalardan geçilmesi ve sona
ulaşılması gerekiyor.
Normal olarak aracın kolay gidebileceği yol
olarak belirlenen güzergah kullanıma en
uygun alan olsa da yolun dışına çıkılması
durumunda da oyun devam edebilmekte. Bu
şekilde arası çok daha kısa olacak şekilde
dönerek gidilen iki nokta arasını yoldan çıkıp
dağ­taş arasından ilerleyerek de geçebilir­
siniz. Elbette bu durumda takla atmak gibi
riskler de sizi bekleyecektir. Oyundaki par­
kurlarda zaman sınırlaması sizi zorlayacaktır.
Seçebileceğiniz araçlar arasında Mitsubishi
Evolution VIII ve Seat Cordoba WRC bu­
lunmakta.
TRIGGER RALLY
Resim 6 - 'Checkpoint' - kontrol noktası öncesi
Oyunda ayarlayabileceğiniz sistem seçenek­
leri oldukça sınırlı. Ancak bu sınır grafik se­
çenekler yerine oyunun ayar dosyası üze­
rinde yapabileceğiniz değişiklikler ile genişle­
yebiliyor. Mesela, normal olarak oyun tam
ekran modunda oynanmakta. Ancak yapılan­
dırma dosyasında yapacağınız küçük bir
değişiklik ile hem oyunun pencere içinde
oynanabilmesini hem de pencere boyutlarını
ayarlamanız mümkün.
Oyunun ayar dosyası ~/.trigger/trigger.config
www.enixma.org ­ Ağustos 2009 ­ Sayfa 32
Resim 7 - Ulaşılmış 'Checkpoint' - Kontrol noktası
bir xml dosyası yapısında. Buradaki para­
metreleri inceleyerek uygun olanları isteğinize
göre değiştirip deneyebilirsiniz. Pencere için­
de oyunu oynayabilmek için fullscreen="yes"
olan satırı fullscreen='no' olarak değiştirip
kaydetmeniz ve oyunu başlatmanız yeterlidir.
Ayrıca pencere boyutları için var­sayılan olan
width="800"
height="600"
parametreleri de uygun değerlere getirerek
kullanmanız mümkün. Elbette bu değişiklik­
lerin sonuçlarından siz sorumlu olacaksınız.
BSD ­ VIII
BSD açılış sürecinin
işleyişi
ve yapılandırması
BSD Açılış Sürecinin İşleyişi ve Yapılandırması
BSD kurulum aşamasının tamamlanmasının ardından sisteminizi yeniden başlatmanız
gerekir.Başlattığınızda diğer işletim sistemlerinin aksine BSD açılışta size gösterişli açılış
menüleri ve ekranları sunmaz. Bu tür şeylerden hoşlanıyorsanız kendiniz hazırlayıp ekleyerek
kullanabilirsiniz.
BSD açılış sürecini ayrıntıları ile ele almadan önce bilgisayarın açılış sürecine göz atmak
yerinde olacaktır. Aşağıdaki bölüm eldeki pc donanımına uygun olarak x86 ve AMD64 esas
alınarak hazırlanmıştır. Diğer platformlardaki açılış süreçlerini FreeBSD Handbook ile diğer
kılavuzlarda ayrıntılı olarak bulabilirsiniz.
POST ve BIOS
Bilgisayarın açılması sırasında ilk yapılan işlem POST yani Power­On­Self­Test'dir. POST
aşamasında BIOS yani Basic Input/Output System çalıştırılır. BIOS basitçe bilgisayarınızın
tüm donanımını kontrol eder. Bu kontrol işlemi donanımın belirlenip çalışma durumunun
kontrol edilmesinin ardından açılacak olan işletim sisteminin belirlenmesinden ibarettir. Bu
işlemlerin tamamlanmasının ardından POST aşaması tamamlanmış olur.
Bootstrap
POST aşamasının tamamlanmasının ardından BIOS sistemin başlatılması için tanımlanmış
olan donanımı seçerek bilgisayarı başlatır. Genel olarak açılış için takılı olan ilk sabit disk
kullanılır. Ancak açılış sırasında kullanılacak olan donanım tercihi yapılandırmaya göre disket,
optik sürücü veya bir başka donanım örneğin ağ kartınız ile uzak bir sunucuya erişerek
başlatılabilir. BIOS işletim sisteminin başlatılması için bootstrap kullanır. Bootstrap işletim
sisteminin parça parça belleğe yüklenmesini sağlar.
Açılış Dilimi ­ Bootable Slice (boot0)
Gökşin Akdeniz
[email protected]
by­nc­sa
www.enixma.org ­ Ağustos 2009 ­ Sayfa 33
BIOS'un sistemdeki donanımı kontrol etmesinin ardından Ana Açılış Kaydı­MBR yani boot0
bloğu ile ardından gelen boot1 ve boot2 bloklarını okuyarak yükleyici çalıştırır ve yükleyici de
çekirdeğin belleğe yüklenmesini sağlar. boot0 ve boot1 blokları 512 Byte boyutundadır.
BSD ­ VIII
boot0'da yer alana açılış yöneticisi ile seçim yaptığınızda boot1 ve
boot2 bloklarında yer alan yükleme programı çalıştırılarak çekirdek
yani kernel yüklenecektir. Çekirdeğin yüklenebilmesi için öncelikle
açılış için tanımlanmış olan disk vb. donanımdaki açılış bölümünda
yer alan programın belleğe yüklenmesi gereklidir. Bu konuyu yazının
ilerleyen bölümlerinde yeniden ele alacağız. Bazen açılış sırasında
ortaya çıkan problemler bu sürecin kontrol edilmesi ile aşılabilir.
boot1, bu blokta çok basit bir program yer alır. Disklabel uygula­
masının bir benzeridir. Disk üzerindeki dilimi, BSD tarzı dilimlere
ayırıp boot2'yi bulmaktır. boot1 üzerinde herhangi bir kullanıcı arayüzü
yer almaz.
boot2, sistemin başlatılacağı dosya sistemindeki dosyaları yükleyecek
olan 'loader'ı çalıştıran açılış bloğudur.
boot0, yani bildiğimiz adı ile MBR, FreeBSD açılış yönetisinin kurul­
duğu yerdir. Program bilgisayarda bulunan dilimler ile bu dilimlerdeki
işletim sistemlerinin bir listesini sunar. F1, F2 vs. basarak bu işletim
sistemlerinden birisi seçilir.
F1 FreeBSD
F2 Linux
F3 DOS
Default: F1
Ekrandaki listeden seçtiğiniz sistemi başlatmak için ilgili tuşa bas­
manız yeterlidir. Burada boot0 bloğu ile ardından boot1 boot2 blok­
larında yer alan programlar çalıştırılarak açılış süreci devam eder.
Loader
Loader, /boot dizininde yer alır. /boot/defaults/loader.conf ve
/boot/loader.conf yapılandırma dosyalarını okuyarak çekirdeği ve
www.enixma.org ­ Ağustos 2009 ­ Sayfa 34
modülleri yükler.
Loader 10 sn süreyle sizden bir giriş yapmanızı bekler. Eğer bir seçim
yapmaz iseniz, bu durumda varsayalın seçeneği yani çekirdeği,
tanımlı servisleri vs.çalıştıracaktır. Diğer seçenekler ise çekirdeğin
başlangıç sürecini kontrol etmenize olanak verir. Güvenli kip­safe
mod­ sistemi başlatabilirsiniz. Bu kipte bir çok çekirdek modülü
yüklenmez. Tek kullanıcı kipi­single­user mode­ sistem yöneticisinin
giriş yaparak bakım moduna geçmesini sağlar. Escape to Loader
Prompt­Komut satırı kipinde ise loader komut satırı kipine geçiş yapar.
Böylece farklı bir çekirdek, CD/DVD üzeriden sistemi açabilir, farklı
çekirdek modüllerini yükleyebilir veya kaldırabilirsiniz. Yapılandırma
dosyalarını düzenleyebilirsiniz. Daha ayrıntılı bilgi loader kılavuz
sayfasında yer alıyor. (man loader).
Bootstrap sürecinin sonuna geldiğinizde çekirdeğin yüklenmesi başlar.
Çekirdek belleğe yüklenir, bulunan donanımı kontrol eder, yapılan­
dırma programlarını çalıştırır. Bu aşamadan sonrası artık çekirdeğin
kontrolündedir.
Çekirdek veya Kernel
BSD sistemlerde standart olarak derlenmiş olan çekirdek /boot/kernel
dizininde yer alır. Farklı bir yapılandırma söz konusu olmadığı sürece
bu çekirdek kullanılır. Açılış sırasında ekranda göreceğiniz yazılardan
bazıları beyaz, bazıları gri renklidir. Beyaz renkli olan metin çekirdek
mesajlarıdır.
Çekirdeğin donanımınızı bulup, çalıştırması ve diğer durumlar ile ilgili
olarak döndürdüğü mesajlardır. Bu mesajları okumanız, ekrandan ge­
çiş hızları nedeni ile pek olanaklı olmayacaktır. Sisteme giriş yaptığı­
nızda dmesg | less komutu ile bu mesajları okuyabilirsiniz.
Uzun süre açık olan sistemlerde ise dmesg çıktısı sistemin çalışma
BSD ­ VIII
süresine bağlı olarak sadece son olayları kapsayabilir. Dmesg sadece
çekirdek mesaj tamponundaki ­kernel message buffer­ mesajları
döndürür ve bu mesajlar tamponun kapasitesi ile sınırlıdır. Bundan
dolayı açılış mesajının bir kopyası /var/run/dmesg.boot dosyasında
saklanır. Özellikle çekirdek tarafından belirlenen donanım ile bu
donanıma
atanmış
olan
isimleri
belirlemek
istiyorsanız
/var/run/dmesg.boot dosyası bakmanız gereken yerdir.
Çekirdek mesajlarını okumak sıradan bir kullanıcı için bir anlam ifade
etmeyecektir. Öte yandan sistemin işletiminden sorumlu olan sistem
yöneticileri ile power­user olarak nitelendirilen kullanıcılar için son
derece yararlı olmaktadır. Bir sorunun çözümü için gereken bilgi
çekirdek mesajlarında bulunabilir.
Aşağıdaki örnekte kendi bilgisayarıma ait olan çekirdek mesajını
görüyorsunuz. Çerkirdek mesajını inceleme kolaylığı sağladığı için
parçalar halinde koydum
Copyright (c) 1992­2009 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992,
1993, 1994
The Regents of the University of California. All rights
reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.2­RELEASE­p2 #0: Wed Jun 24 00:14:35 UTC 2009
root@amd64­
builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC
İlk dört satır telif haklarını belirten satırlardır. İşletim sistemi ile
çekirdek sürümünü ve çekirdeğin derlendiği tarihi belirtir. Çerkirdeği
kendiniz yeniden derlerseniz, çekirdek sürüm numarası her derleme
sonucunda bir artar, yani çekirdeği dördüncü derleyişinizde çalış­
tırmayı başardıysanız #3 görünecektir. Beşinci satırın baş tarafı
çekirdeği derleyen kişinin yerel e­posta adresi ile kullanıcı adını
belirtir. Yukarıdaki örnekte gördüğünüz root@amd64­builder
.daemonology.net adresi BSD geliştirme ekibine ait olan bir adrestir.
www.enixma.org ­ Ağustos 2009 ­ Sayfa 35
Kendi çekirdeğinizi derlerseniz burada görünecek olan ise kendi
bilgisayarınızın adı olacaktır. Örneğin kendi derlediğim çekirdek ile
sistemi başlatmış olsaydım root@droideka olarak görünecekti. Yine
aynı satırın son kısmında ise derleme işlemi sırasında kullanılan
kodun yeraldığı dizin görüntülenecektir.
CPU: Mobile AMD Sempron(tm) Processor 3500+ (1808.24­MHz K8­
class CPU)
Origin = "AuthenticAMD" Id = 0x40fc2 Stepping = 2
Features=0x78bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP
,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2>
Features2=0x2001<SSE3,CX16>
AMD
Features=0xea500800<SYSCALL,NX,MMX+,FFXSR,RDTSCP,LM,3DNow!+,3D
Now!>
AMD Features2=0x19<LAHF,ExtAPIC,CR8>
usable memory = 992002048 (946 MB)
avail memory = 954560512 (910 MB)
Mesajın sonraki kısmında ise çekirdek tarafından belirlenen işlemci
türü ve işlemcinin özellikleri belirtilmektedir. Ayrıca sistemde bulunan
bellek miktarı belirtiliyor.
Aşağıdaki kısımda FreeBSD tarafından tanınmış olan bilgisayarımdaki
donanımın listesini görüyorsunuz. ACPI ve ardından anakartımda
bulunan donanımlar, USB hub, grafik, ağ kartı vs diğer donanım ile bu
donanımlara çekirdek tarafından atanmış olan isimler ile en sonda
sabit diskimdeki bölümler yer alıyor.
ACPI APIC Table: <HP
APIC >
MADT: Forcing active­low polarity and level trigger for SCI
ioapic0 <Version 1.1> irqs 0­23 on motherboard
kbd1 at kbdmux0
acpi0: <HPQOEM SLIC­MPC> on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
Timecounter "ACPI­safe" frequency 3579545 Hz quality 850
BSD ­ VIII
acpi_timer0: <24­bit timer at 3.579545MHz> port 0x1008­0x100b
on acpi0
acpi_ec0: <Embedded Controller: GPE 0x10> port 0x62,0x66 on
acpi0
acpi_hpet0: <High Precision Event Timer> iomem 0xfed00000­
0xfed003ff on acpi0
Timecounter "HPET" frequency 25000000 Hz quality 900
acpi_button0: <Power Button> on acpi0
acpi_button1: <Sleep Button> on acpi0
acpi_acad0: <AC Adapter> on acpi0
battery0: <ACPI Control Method Battery> on acpi0
acpi_lid0: <Control Method Lid Switch> on acpi0
pcib0: <ACPI Host­PCI bridge> port 0xcf8­0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pci0: <memory, RAM> at device 0.0 (no driver attached)
pci0: <memory, RAM> at device 0.1 (no driver attached)
pci0: <memory, RAM> at device 0.2 (no driver attached)
pci0: <memory, RAM> at device 0.3 (no driver attached)
pci0: <memory, RAM> at device 0.4 (no driver attached)
pci0: <memory, RAM> at device 0.5 (no driver attached)
pci0: <memory, RAM> at device 0.6 (no driver attached)
pci0: <memory, RAM> at device 0.7 (no driver attached)
pcib1: <ACPI PCI­PCI bridge> at device 2.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pcib2: <ACPI PCI­PCI bridge> at device 3.0 on pci0
pci3: <ACPI PCI bus> on pcib2
vgapci0: <VGA­compatible display> mem 0xb2000000­
0xb2ffffff,0xc0000000­0xcfffffff,0xb1000000­0xb1ffffff irq 16
at device 5.0 on pci0
pci0: <memory, RAM> at device 9.0 (no driver attached)
isab0: <PCI­ISA bridge> port 0x1d00­0x1d7f at device 10.0 on
pci0
isa0: <ISA bus> on isab0
pci0: <serial bus, SMBus> at device 10.1 (no driver attached)
pci0: <processor> at device 10.3 (no driver attached)
ohci0: <OHCI (generic) USB controller> mem 0xb0004000­
0xb0004fff irq 19 at device 11.0 on pci0
ohci0: [GIANT­LOCKED]
ohci0: [ITHREAD]
usb0: OHCI version 1.0, legacy support
usb0: SMM does not respond, resetting
www.enixma.org ­ Ağustos 2009 ­ Sayfa 36
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: <nVidia OHCI root hub, class 9/0, rev 1.00/1.00, addr
1> on usb0
uhub0: 8 ports with 8 removable, self powered
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xb0005000­
0xb00050ff irq 20 at device 11.1 on pci0
ehci0: [GIANT­LOCKED]
ehci0: [ITHREAD]
usb1: EHCI version 1.0
usb1: companion controller, 8 ports each: usb0
usb1: <EHCI (generic) USB 2.0 controller> on ehci0
usb1: USB revision 2.0
uhub1: <nVidia EHCI root hub, class 9/0, rev 2.00/1.00, addr
1> on usb1
uhub1: 8 ports with 8 removable, self powered
atapci0: <nVidia nForce MCP51 UDMA133 controller> port 0x1f0­
0x1f7,0x3f6,0x170­0x177,0x376,0x3080­0x308f at device 13.0 on
pci0
ata0: <ATA channel 0> on atapci0
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci0
ata1: [ITHREAD]
atapci1: <nVidia nForce MCP51 SATA300 controller> port 0x30c0­
0x30c7,0x30b4­0x30b7,0x30b8­0x30bf,0x30b0­0x30b3,0x3090­0x309f
mem 0xb0006000­0xb0006fff irq 21 at device 14.0 on pci0
atapci1: [ITHREAD]
ata2: <ATA channel 0> on atapci1
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci1
ata3: [ITHREAD]
pcib3: <ACPI PCI­PCI bridge> at device 16.0 on pci0
pci7: <ACPI PCI bus> on pcib3
hdac0: <NVidia MCP51 High Definition Audio Controller> mem
0xb0000000­0xb0003fff irq 22 at device 16.1 on pci0
hdac0: HDA Driver Revision: 20090329_0131
hdac0: [ITHREAD]
nfe0: <NVIDIA nForce 430 MCP13 Networking Adapter> port
0x30e0­0x30e7 mem 0xb0008000­0xb0008fff irq 23 at device 20.0
on pci0
miibus0: <MII bus> on nfe0
BSD ­ VIII
rlphy0: <RTL8201L 10/100 media interface> PHY 1 on miibus0
rlphy0: 10baseT, 10baseT­FDX, 100baseTX, 100baseTX­FDX, auto
nfe0: Ethernet address: 00:1b:24:35:e5:04
nfe0: [FILTER]
acpi_tz0: <Thermal Zone> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on
acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT­LOCKED]
atkbd0: [ITHREAD]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT­LOCKED]
psm0: [ITHREAD]
psm0: model IntelliMouse, device ID 3
cpu0: <ACPI CPU> on acpi0
powernow0: <PowerNow! K8> on cpu0
orm0: <ISA Option ROM> at iomem 0xcf800­0xd0fff on isa0
ppc0: cannot reserve I/O port range
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0 at port 0x3f8­0x3ff irq 4 flags 0x10 on isa0
sio0: type 8250 or not responding
sio0: [FILTER]
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: <Generic ISA VGA> at port 0x3c0­0x3df iomem 0xa0000­
0xbffff on isa0
Yukarıdaki kısımda fareye ilişkin bir satır yer alıyor. Dizüstü
bilgisayarımdaki touchpad tanınmış. Bir de ayrıca kablosuz USB fare
kullanıyorum. Sistem bunu da belirliyor.
ums0: <Logitech USB Receiver, class 0/0, rev 2.00/5.00, addr
2> on uhub0
ums0: 16 buttons and Z dir.
www.enixma.org ­ Ağustos 2009 ­ Sayfa 37
uhid0: <Logitech USB Receiver, class 0/0, rev 2.00/5.00, addr
2> on uhub0
Timecounter "TSC" frequency 1808243961 Hz quality 800
Timecounters tick every 1.000 msec
acd0: DVDR <Slimtype DVD A DS8A1P/CH63> at ata0­master PIO4
ad4: 76319MB <Hitachi HTS541680J9SA00 SB2OC7BP> at ata2­master
SATA150
DVD+RW/+CD+RW kombo sürücü de acd0 olarak tanınmış. 80GB
disk ad4 olarak tanımlı.
hdac0: HDA Codec #0: Conexant CX20549 (Venice)
pcm0: <HDA Conexant CX20549 (Venice) PCM #0 Analog> at cad 0
nid 1 on hdac0
pcm1: <HDA Conexant CX20549 (Venice) PCM #1 Digital> at cad 0
nid 1 on hdac0
Ses kartım ile fax/modem tümleşik olduğu için dizüstü bilgisayarlarda
aynı yonga ile kontrol edilirler. Ses kartını ise kendim tanıtmış
olduğum için çekirdek tarafından kullanılan sürücüsü yüklenmiş ve
ses kartım hdac0 olarak tanımlanmış.
Bu aşamadan sonraki mesajlar ise kullandığım sabit diskin özelliklerini
belirtiyor. GLABEL kullanıldığı için GEOM_LABEL ile başlayan satır­
larda diskteki her bir bölüm belirtiliyor. Kullanılacak olan root bölümü
çekirdek tarafından bağlanıyor ve GLABEL etiketleri kaldırılarak açılış
sona eriyor.
GEOM_LABEL: Label for provider ad4s1a is
ufsid/4a4a3bf02aa49a41.
GEOM_LABEL: Label for provider ad4s1d is
ufsid/4a4a3bf4d20d3886.
GEOM_LABEL: Label for provider ad4s1e is
ufsid/4a4a3bf0a769ccea.
GEOM_LABEL: Label for provider ad4s1f is
ufsid/4a4a3bf026ec3d2b.
Trying to mount root from ufs:/dev/ad4s1a
BSD ­ VIII
GEOM_LABEL: Label ufsid/4a4a3bf02aa49a41
GEOM_LABEL: Label for provider ad4s1a is
ufsid/4a4a3bf02aa49a41.
GEOM_LABEL: Label ufsid/4a4a3bf0a769ccea
GEOM_LABEL: Label for provider ad4s1e is
ufsid/4a4a3bf0a769ccea.
GEOM_LABEL: Label ufsid/4a4a3bf026ec3d2b
GEOM_LABEL: Label for provider ad4s1f is
ufsid/4a4a3bf026ec3d2b.
GEOM_LABEL: Label ufsid/4a4a3bf4d20d3886
GEOM_LABEL: Label for provider ad4s1d is
ufsid/4a4a3bf4d20d3886.
GEOM_LABEL: Label ufsid/4a4a3bf02aa49a41
GEOM_LABEL: Label ufsid/4a4a3bf0a769ccea
GEOM_LABEL: Label ufsid/4a4a3bf026ec3d2b
GEOM_LABEL: Label ufsid/4a4a3bf4d20d3886
removed.
removed.
removed.
removed.
removed.
removed.
removed.
removed.
Sistemin bu aşamasından sonra ekranda göreceğiniz mesajlar gri
renkli olacaktır. Gri renkli mesajlar çekirdeğin root olarak bağladığını
ve bu aşamadan sonra 'init'i başlattığını göstermektedir.
init
init çekirdeğin başlattığı ilk süreçtir. BSD sistemlerde init süreç
numarası 1 olarak tanımlıdır. init'in görevi çekirdek yüklendikten sonra
diğer süreçleri başlatmaktır. Bu süreçler başlatılmadan önce öncelikle
disklerin kontrol edilmesi gereklidir.
BSD sisteminizi doğru biçimde kapattıysanız, kapatılma işlemi
sırasında sync adlı porgramın çalıştırıldığını görebilirsiniz. sync
sistemde bulunan her diski kontrol eder, yazılmamış olan verileri diske
yazar ve işi biten dosya sistemini/diski ayırır. başarılı biçimde veri
yazılan ve ayrılan dosya sistemlerini "temiz/clean" olarak işaretler.
Dosya Sistemi Bütünlük Kontrolü
init ilk başlatıldığında yaptığı işlem dosya sisteminin temiz olarak
www.enixma.org ­ Ağustos 2009 ­ Sayfa 38
işaretlenip işaretlenmediğini kontrol etmektir. Eğer dosya sistemi
düzgünce ayrılmamış ise örneğin elektrik kesintisi veya kullanıcının
sabırsız davranıp bilgisayarın düğmesine basıp sistemi kapatması gibi
durumlarda dosya sistemi temiz olarak işaretlenmez. init bu durumda
fsck programını çalıştırıp dosya sistemini hataya karşı tarar. Bulunan
hataları fsck giderir. Eğer fsck, dosya sistemindeki hataları otomatik
olarak gideremiyorsa bu durumda sistem tek kullanıcı kipine ­single
user mode­ geçer. Böylece sistem yöneticisi gerekli olan işlemleri
yapabilir. Dosya sistemi elle düzeltilmek durumundadır.
Dosya sisteminde bir hata yoksa, hata bulunduysa ama fsck
tarafından otomatik olarak giderildiyse veya ele giderildi ise init
/etc/fstab içinde tanımlı olan dosya sistemlerini bağlar.
Dosya sistemleri bağlandıktan sonra init, sistem yapılandırma
dosyalarını çalıştırmaya başlar. İngilizce kaynaklarda system­
configuration scripts olarak geçer. BSD ve UNIX kitaplarında ise Run
Control, Resource Configuration scripts veya kısaltılmış adı ile rc
scripts olarak geçer. Bu programlar /etc ve /etc/defaults altında yer
alır. Bu dizinlerden başka /usr/local/etc/rc.d dizini de ayrıca kontrol
edilir. Bu dizindekiler temel sistemin parçası olmayan sonradan
kurulan uygulamalara ait olan dosyaları barındırır.
Burada bir noktayı açıklığa kavuşturmakta yarar var. Linux
sistemlerindeki "çalışma düzeyi" ya da İngilizce adı ile "run level" BSD
sistemlerinde bulunmaz. Tersine olarak tek kullanıcı ve çoklu kullanıcı
kipi olarak tanımlanan iki farklı çalışma şekli bulunur. BSD sistemlerde
Linux sistemlerde olan inittab dosyası da bulunmaz. Sistemin açılışı
sırasında çalıştırılacak olan uygulamalar rc.conf dosyasında yeralır.
Linux sistemelerinde olduğu gibi farklı çalışma düzeylerini temsil eden
farklı dizinlerdeki dosyalar kullanılmaz. Bunu yazının ilerleyen
bölümlerinde yeniden ele alacağız.
BSD ­ VIII
getty ve login
Sistem yapılandırması gereği çalıştırılacak servisler başlatıldıktan
sonra, init, sanal terminalleri başlatır. Bu terminaller üzerinden sisteme
giriş yapmak için kullanılan getty adlı programı başlatır. Bazı
yapılandırmalarda getty yerine grafik arabirime giriş yapmak için
kullanılan xdm yer alır. xdm aslında X ortamına giriş yapmanızı sağlar.
X yapılandırmasını ele aldığım yazıda /etc/ttyvs dosyasının düzen­
lenmesi ile xdm dışında diğer seçeneklerin kullanılmasına yer
vermiştim. Eğer X'i başlatmadıysanız veya X'i yapılandırmasıysanız
girişi getty ile yapacaksınız demektir.
Ekranda en son satırda göreceğiniz sizden kullanıcı adı ve şifresi
girmenizi bekleyen bir satır olacaktır.
login:
Kurulum sırasında tanımladığınız kullanıcı adınız ve şifreniz ile
sisteme giriş yapabilirsiniz. Kullanıcı adını yazdıktan sonra sizden
şifrenizi
istenecektir.
password:
Şifrenizi doğru yazdıysanız günün sözü "motto of the day­motd" ile
karşılanacaksınız. Bunun ardından ise yapılandırmaya bağlı olarak
tanımlı olan kabuğa giriş yapmış olacaksınız
[goksin@droideka:~]$
Kullanıcı adınızı ve şifrenizi yanlış yazdıysanız, sizden yeniden giriş
yapmanız istenecektir. Bu işlem üç defa tekrarlandıktan sonra
sistemin donmuş olduğu izlenimine kapılabilirsiniz. Sistem donmuş
veya takılmış değil. Bu özellike BSD sistemlerde güvenlik amacı ile
geliştirilmiştir. Kullanıcı adını ve şifrenizi üç defa hatalı girmeniz
www.enixma.org ­ Ağustos 2009 ­ Sayfa 39
durumunda sistem girişi kısa bir süre için askıya alır. Bu süre sonunda
yeniden giriş yapılmasına izin verir. Eğer yine üç defa hatalı giriş
yaparsanız "donma" süresi uzayacaktır. Her üç hatalı girişten sonra
sürenin uzaması BSD sistemlere ssh dışında farklı yollardan da giriş
yapılabildiği için olası şifre kırma saldırılarının pratik olarak olanaksız
duruma getirilmesi içindir. İsteyen seri bağlantı üzerinden deneyebilir.
Çıkış Yapmak ­ Logout
X11 ortamında olmadığınıza göre ekranda son yaptığınız işlemler
görünecektir. Bunları ekrandan clear ile silebilirsiniz. Sistemden çıkış
yapmak için hazır olduğunuza göre komut satırına exit yazıp entere
basmanız yeterlidir. Çıkış işlemi tamamlandığında yeniden
login:
yazan satıra geri dönersiniz.
Sistemi Kapatmak
Yukarıda değindiğim gibi BSD veya diğer bir UNIX sistemi kapatacak
iseniz bunun doğru biçimde yapılması gerekir. Aksi durumda oluşacak
olan hatalar dosya sistemine zarar verip veri kayıplarına neden
olabilir. Normal kullanıcıların sistemi kapatma yetkisi bulunmadığı için
bu işlemin root olarak yapılması gereklidir. Bunun önüne geçmek için
shutdown veya halt kullanmak gereklidir. Burada şu soru akla
gelebilir: "İkisi arasındaki fark nedir?"
Halt veya reboot ­adından anlaşılıyor ne olduğu­ kullanılması
önerilmeyen uygulamalardır. Halt ve reboot kullanıcılara uyarı
vermeden sistemi sonlandırır.Bu istenmeyen bir durum olarak
değerlendirilir. Asıl neden ise halt/reboot uygulamaları çalışmakta olan
diğer uygulamalara SIGTERM sinyali yollar, veriyi diske yazar ve
tanımlanan seçeneğin gereğini yerine getirir.
BSD ­ VIII
Shutdown ise kullanıcılara uyarı göndermek dışında farklı çalışma
durumları için örneğin sisteme giriş yapılmasın ama ağ bağlantısı aktif
olsun gibi seçenekler ile kullanılabilir. Bu nedenle halt veya reboot
yerine shutdown kullanmak yerinde olacaktır.
Kaynak Yapılandırma Dosyaları
init başlatıldıktan sonra sistemin yapılandırılması gereği çalıştırılacak
olan diğer servislerin başlatılması gerekir. Bu servisler bazı sunucu
uygulamaları yanında işletim sisteminin kendisine ait olan bazı
servisler de olabilir. Bu servisleri başlatan yapılandırma dosyaları
güncel BSD sistemlerde bir arada bulunurken, eski sürümlerde
işlevlerine göre gruplandırılarak /etc/rc.d dizini altında bulunurlar.
/etc/rc.d altında yer alan bu yapılandırma dosyaları aslında birer
kabuk programıdır. Bu kabuk programları, sistem yapılandırmanıza
göre BSD sistemin özel bir bileşenini başlatır. Bu programlardan
bazıları diğer programlar tarafından çağrılarak çalıştırılır. Bu
programlardan bazıları sistemi kurduğunuzda çalışmayacaktır.
Bazıları ise özel yapılandırma seçenekleri için hazırlanmış olan
programlardır. Bu dizinde yer alan tüm programlar init tarafından
çalıştırılır ancak kontrol eden ise /etc/rc kabuk programıdır.
BSD sistemlerin yapısı gereği bu yapılandırma programlarını yeniden
düzenlemenize gerek yoktur. Bu programlar gerekli servislerin ve
'daemon'ların çalıştırılmasının yanında gerekli diğer bilgilere ulaşacak
biçimde yapılandırılmıştır. Bu dosyaların nasıl hazırlandığını öğren­
mek isteyenler bir kopyalarını alıp üzerinde çalışabilir. Yapılandırmayı
düzenlemek için ise yapılması gereken /etc/rc.conf dosyasının
düzenlenmesidir. Söz konusu kabuk programları yapılandırma için bu
dosyanın içeriğinden yararlanır.
Bazı kullanıcılar ve geliştiriciler Linux deneyimleri gereği kendi yaz­
dıkları açılış scriptlerini /etc/rc.d altına koyarlar. Buraya kopyaladığınız
www.enixma.org ­ Ağustos 2009 ­ Sayfa 40
açılış scriptleri çalışacaktır. Ancak BSD sistemlerin sistemetiğine
uygun olarak bunları /usr/local/etc/rc.d dizinine kopyalamak daha
uygun olacaktır. /etc/rc.d altındaki programlar temel sisteme ait olanlar
iken /usr/local/etc/rc.d altındakiler ise sonradan kurulan programlara
aittir. Bu dizinde yer alan programlar /etc/rc.d dizinidekilerin çalış­
tırılmasının ardından otomatik olarak çalıştırılır. Ayrıca bir düzenleme
yapmaya gerek yoktur. Öte yandan olası bir sorun durumunda Linux
dağıtımlarının aksine temel sisteme ait olan yapılandırma dosyalarını
sonradan kurduğunuz programlara ait olanlardan kolaylıkla ayıra­
bilirsiniz.
rcorder
/etc/rc dizininde yer alan programlar açılışta belirli bir sıra ile
çalıştırılır. Bu sıralamayı rcorder ile öğrenebilirsiniz. Aşağıda benim
sistemimdeki sıralama görülüyor:
[goksin@droideka /usr/home/goksin]$ rcorder /etc/rc.d/*
/etc/rc.d/dumpon
/etc/rc.d/ddb
/etc/rc.d/initrandom
/etc/rc.d/geli
/etc/rc.d/gbde
/etc/rc.d/encswap
/etc/rc.d/ccd
/etc/rc.d/swap1
/etc/rc.d/early.sh
/etc/rc.d/fsck
/etc/rc.d/root
/etc/rc.d/hostid
/etc/rc.d/mdconfig
/etc/rc.d/mountcritlocal
/etc/rc.d/zfs
/etc/rc.d/FILESYSTEMS
/etc/rc.d/var
/etc/rc.d/cleanvar
/etc/rc.d/random
/etc/rc.d/adjkerntz
BSD ­ VIII
/etc/rc.d/atm1
/etc/rc.d/hostname
/etc/rc.d/ipfilter
/etc/rc.d/ipnat
/etc/rc.d/ipfs
/etc/rc.d/kldxref
/etc/rc.d/sppp
/etc/rc.d/addswap
/etc/rc.d/auto_linklocal
/etc/rc.d/sysctl
/etc/rc.d/serial
/etc/rc.d/netif
/etc/rc.d/ip6addrctl
/etc/rc.d/atm2
/etc/rc.d/pfsync
/etc/rc.d/pflog
/etc/rc.d/pf
/etc/rc.d/isdnd
/etc/rc.d/ppp
/etc/rc.d/routing
/etc/rc.d/ip6fw
/etc/rc.d/network_ipv6
/etc/rc.d/devd
/etc/rc.d/ipsec
/etc/rc.d/ipfw
/etc/rc.d/nsswitch
/etc/rc.d/resolv
/etc/rc.d/mroute6d
/etc/rc.d/route6d
/etc/rc.d/mrouted
/etc/rc.d/routed
/etc/rc.d/netoptions
/etc/rc.d/NETWORKING
/etc/rc.d/mountcritremote
/etc/rc.d/devfs
/etc/rc.d/ipmon
/etc/rc.d/mdconfig2
/etc/rc.d/newsyslog
/etc/rc.d/syslogd
/etc/rc.d/savecore
/etc/rc.d/ldconfig
www.enixma.org ­ Ağustos 2009 ­ Sayfa 41
/etc/rc.d/archdep
/etc/rc.d/abi
/etc/rc.d/SERVERS
/etc/rc.d/named
/etc/rc.d/ntpdate
/etc/rc.d/rpcbind
/etc/rc.d/nisdomain
/etc/rc.d/ypserv
/etc/rc.d/ypxfrd
/etc/rc.d/ypupdated
/etc/rc.d/ypbind
/etc/rc.d/ypset
/etc/rc.d/yppasswdd
/etc/rc.d/wpa_supplicant
/etc/rc.d/accounting
/etc/rc.d/nfsclient
/etc/rc.d/amd
/etc/rc.d/atm3
/etc/rc.d/auditd
/etc/rc.d/tmp
/etc/rc.d/cleartmp
/etc/rc.d/dmesg
/etc/rc.d/ipxrouted
/etc/rc.d/kerberos
/etc/rc.d/kadmind
/etc/rc.d/keyserv
/etc/rc.d/kpasswdd
/etc/rc.d/quota
/etc/rc.d/nfsserver
/etc/rc.d/mountd
/etc/rc.d/nfsd
/etc/rc.d/statd
/etc/rc.d/lockd
/etc/rc.d/pppoed
/etc/rc.d/pwcheck
/etc/rc.d/virecover
/etc/rc.d/DAEMON
/etc/rc.d/watchdogd
/etc/rc.d/ugidfw
/etc/rc.d/timed
/etc/rc.d/apm
BSD ­ VIII
/etc/rc.d/apmd
/etc/rc.d/bootparams
/etc/rc.d/hcsecd
/etc/rc.d/bthidd
/etc/rc.d/local
/etc/rc.d/lpd
/etc/rc.d/motd
/etc/rc.d/mountlate
/etc/rc.d/nscd
/etc/rc.d/ntpd
/etc/rc.d/powerd
/etc/rc.d/rarpd
/etc/rc.d/sdpd
/etc/rc.d/rfcomm_pppd_server
/etc/rc.d/rtadvd
/etc/rc.d/rwho
/etc/rc.d/LOGIN
/etc/rc.d/syscons
/etc/rc.d/sshd
/etc/rc.d/sendmail
/etc/rc.d/cron
/etc/rc.d/jail
/etc/rc.d/localpkg
/etc/rc.d/securelevel
/etc/rc.d/power_profile
/etc/rc.d/othermta
/etc/rc.d/natd
/etc/rc.d/msgs
/etc/rc.d/moused
/etc/rc.d/mixer
/etc/rc.d/inetd
/etc/rc.d/idmapd
/etc/rc.d/hostapd
/etc/rc.d/geli2
/etc/rc.d/ftpd
/etc/rc.d/ftp­proxy
/etc/rc.d/dhclient
/etc/rc.d/bsnmpd
/etc/rc.d/bridge
/etc/rc.d/bluetooth
/etc/rc.d/bgfsck
www.enixma.org ­ Ağustos 2009 ­ Sayfa 42
[goksin@droideka /usr/home/goksin]$
Burada gördüğünüz sıralama programlarda tanımlanan anahtar
sözcükler­KEYWORDS­ ile öncelikle çalıştırılması gereken­PROVIDE,
REQUIRE­ diğer tanımlamalara dayanılarak belirlenmektedir. Bu
tanımlamalar kabuk programlarının baş tarafında yer almaktadır.
Diğer programlara bağımlı olmayanlar öncelikle çalıştırılır. Sonra da
bağımlılıklara bakılarak sırası ile diğerleri çalıştırılır. Bu konuda
ayrıntılı bilgiyi rc ve rcorder kılavuz ­man rcorder ve man rc­
sayfalarından edinebilirsiniz.
/etc/defaults/rc.conf Dosyası
Açılış sırasında çalıştırılan kabuk programları eğer sistem yöneticisi
tarafından yapılandırılmadıysa genel yapılandırma dosyası esas
alınarak çalıştırılır. Bu genel yapılandırma dosyası iki tanedir:
/etc/defaults/rc.conf ve /etc/rc.conf. Birinci dosya sistem dosyasıdır ve
BSD kurulumunda gelir. Bu dosya üzerinde değişiklik yapılmamalıdır.
Yapılacak olan tüm değişiklikler ikinci dosyada /etc/rc.conf dosyasında
yapılmalıdır.
FreeBSD kullanmaya başladığım 5.x sürümlerinde temel yapılandırma
dosyası /etc/rc.conf idi. /etc/rc kullanılan değişkenler ile ilgili diğer
kabuk programlarının yapılandırmasına ilişkin tüm değerler bu
dosyada yer alır, sistem yöneticisi gerekli düzenlemeleri bu dosya
üzerinde yapardı. Bu yaklaşımın olumsuz yanı olarak kısa zamanda
dosyada yapılan düzenlemeler nedeni ile sorunlar baş gösterirdi.
Buna rağmen zaman içinde yapılandırmada kullanılan değişkenler ile
üstlendiği görevler de giderek arttı. Sistem yöneticisinin sistemi terfi
etmesi durumunda bu dosyayının eski sürümü ile yeni sürümünü bir
dosyada birleştirmesi gerekirdi. Bu ise dosyayı düzenlemekten daha
zor olan bir işlem idi.
Bu sorunun aşılması için durumu geliştirici ekibi, /etc/rc.conf
dosyasının bir kopyasını /etc/defaults dizini altına kopyalayarak
BSD ­ VIII
çözdüler. Sisteme ait olan standart yapılandırma /etc/defaults altındaki
dosyada saklanırken, sistem yöneticisinin yapacağı değişikliklerin yer
alacağı dosya ise /etc/rc.conf dosyasına bırakıldı. Bu dosya halen
kurulum sırasında sysintsall kullanılarak yapılan yapılandırmayı da
barındırır.
/etc/rc.conf
dosyasında
yapacağınız
değişiklikler
/etc/defaults altında yer alan asıl yapılandırmayı değiştirmeden yeni
yapılandırmayı kulanmanızı sağlar. Örneğin cupsd_enable="YES"
satırının /etc/rc.conf dosyasına eklenmesi ile cups başlatılabilir.
/etc/rc.conf dosyasının içeriğini silip sistemi yeniden başlatabilirsiniz.
Bu durumda /etc/defaults yapılandırma dosyasındaki ayarlar kullanılır.
Örnek bir /etc/defaults/rc.conf
inceleyebilirsiniz..
dosyasını
eniXma
eki
olarak
/etc/defaults/conf doayasına göz attığınızda BSD sistemde bulunan
servislere ait olan temel yapılandırmayı görebilirsiniz. Her bir servis
için gerekli olan ayarlar ve seçenekler bu dosyada tanımlanmıştır.
Örneğin Linux emülasyonu için varsayılan ayar linux_enable="NO"
olarak tanımlıdır. Linux emülasyonunu kullanmak için bu değerin
/etc/rc.conf dosyasında linux_enable="YES" olarak eklenmesi
gereklidir.
Yukarıdaki örnekte gördüğünüz gibi /etc/defaults/rc.conf içinde tek bir
dosya içinde gruplanarak yer alır. Böylelikle dosya içinde ilgili
değişkenler kolaylıkla bulunur ve /etc/rc.conf dosyasına istenen
satırlar kopyalanarak kullanılabilir.
/etc/rc.conf Dosyası
BSD sistemler kurulduğunda sysinstall kurulum sırasında çalıştırılacak
olan servislerin yapılandırması için seçenekler sunar. Bu seçenekler
rc.conf dosyasına kayıt edilir. Aşağıdaki örnek kendi sistemime aittir.
# ­­ sysinstall generated deltas ­­ # Thu Jul 16 22:05:01 2009
# Created: Thu Jul 16 22:05:01 2009
www.enixma.org ­ Ağustos 2009 ­ Sayfa 43
# Enable network daemons for user convenience.
# Please make all changes to this file, not to
/etc/defaults/rc.conf.
# This file now contains just the overrides from
/etc/defaults/rc.conf.
defaultrouter="192.168.7.1"
hostname="droideka.elkotek"
ifconfig_nfe0="inet 192.168.7.4 netmask 255.255.255.0"
keymap="tr.iso9.q"
font8x16=iso09­8x16
# powerd ayarlar
powerd_enable="YES"
powerd_flags="­a adaptive ­b adaptive"
# ntpd ayarlar
ntpd_enable="YES"
ntpd_sync_on_start="YES"
#hald ayarlar
hald_enable="YES"
#dbus ayarlar
dbus_enable="YES"
#cups ayarlar
cupsd_enable="YES"
#devfs.rules ayarlar
devfs_system_ruleset="kurallar"
Güncel işlemciler çalışma frekansını değiştirirerek farklı hızlarda
çalışır. BSD sistemler işlemcinizi belirleyip gerekli çekirdek modüllerini
kullanır. Dizüstü bilgisayarınız için güç yönetimi özelliğini kullanmak
için powerd daemon kullanılır. Örneğin powerd daemon açılışta aktif
olması için /etc/rc.conf içine aşağıdaki gibi bir düzenleme yapılabilir.
#
#powerd ayarlar
#
BSD ­ VIII
#
# Eklenme tarihi: 01/07/2009
#
#
# Kılavuz sayfası man powerd
#
powerd_enable="YES"
powerd_flags=" ­a adaptive ­b adaptive"
/etc/rc.conf dosyası üzerinde değişiklik yaparken bazen yapı­
landırmayı eski haline almak gerekebilir. Bu durumda yukarıdaki
örnekte olduğu gibi yorum satırları ekleyerek yapılandırma tarihi, ve
diğer bilgileri yazmak sonradan yapılacak düzenlemeler için bir
referans oluşturabilir.
Bir diğer seçenek olarak değişiklik yaptığınız tarihteki asıl dosyanın bir
kopyasını oluşturup sonradan bu dosyayı geri yüklemek de söz
konusu olabilir.
Örneğin dosya üzerinde değişklik yaptığımız tarihi kullanarak bir
yedek dosyası oluşturuabiliriz. İşlem yapmadan önce dosyanın bir
yedeğini alıyoruz.
droideka# cp /etc/rc.conf /etc/rc.conf.yedek.01062009
Eski dosyayı geri almak için
droideka# mv /etc/rc.conf.yedek.01062009 /etc/rc.conf
Yukarıda verdiğim kendi /rc.conf yapılandırmam sistemin kuru­
lumunda belirlediğiniz temel yapılandırma en başta yer alır. Bu
kısımda TCP/IP ayarları, sistemin adı, ssh vs diğer yapılandırma
seçenekleri yer alır. Sysinstall tarafından yapılan bu düzenlemeleri
daha sonra da kendi tercihlerinize göre düzenleyebilirsiniz. Bu
düzenlemeleri olduğu gibi bırakmak uygun bir çözüm olacaktır.
Sonradan sysinstall ile yapacağınız düzenlemeler ilgili satırların
www.enixma.org ­ Ağustos 2009 ­ Sayfa 44
değiştirilmesi ile olur. Eğer bu satırlar üzerinde düzenleme yaparsanız
sysinstall bu satırları yeniden ekleyecektir. Böylelikle birbiri ile çelişen
iki farklı yapılandırmanız olabilir. Sonradan düzenleme yaparken buna
dikkat etmeniz yerinde olur.
/etc/rc.conf dosyalarını sistem yöneticisi düzenleyecektir. Sonradan
port üzerinden kurulan uygulamalar kendi yapılandırma dosyalarını
/usr/local/etc/rc.conf dosyasına ekleyebilir. Bu durumda sistem yö­
neticisi uygulamanın eklediği satır üzerinde gerekli gördüğü düzen­
lemeleri yapabilir. Öte yandan bu durum tüm portlar için geçerli
olmayabilir. Bu durumda gereken yapılandırma satırı sistem yöneticisi
tarafından eklenmelidir. Ayrıca kurulum sonrası uygulamayı baş­
latacak olan daemon olarak hazırlanmış olan kabuk programlarının da
gerekli dizinlerde uygun izinlere sahip olduğundan emin olunmalıdır.
/usr/local/etc
Sistem yöneticisi program kurabilen tek kişi olduğu için kurduğu tüm
programlar /usr/local dizinine kurulur. Bu durum açılışta çalıştırılan
programlar için de geçerlidir. /usr/local/etc dizini bu programlar için
/etc dizinin karşılığıdır denebilir. Bu dizine, temel sistemin parçası
olmayan tüm programlara ait olan yapılandırma dosyaları kopyalanır.
/usr/local/etc dizini sistem yöneticilerinin kurdukları programlara ait
yapılandırma dosyalarını bulacakları ve en önemlisi de düzen­
leyecekleri yapılandırma dosyalarının bulunduğu dizindir. Veritabanı,
web, dosya, ftp vb sunuculara ait olan yapılandırma dosyaları bu
dizinde yer alır. Hatta bu uygulamalara ait olan ve açılışta çalıştırılan
kabuk programları da buradadır; /usr/local/etc/rc.d. /etc/rc.d dizininde
yer alan programlar çalıştırıldıktan sonra bu dizinde bulunanlar
çalıştırılır. Çalıştırılan programların uzantıları ".sh"dir. Bu dosyalar
alfabetik düzende çalıştırılır. Örneğin sırayla apache.sh, mysql­
server.sh vs olarak çalıştırılırlar. Bu kabuk programları kurulan paket
veya port tarafından kopyalanır. Başlama ve sona erme komutlarını
BSD ­ VIII
kabul ederler. init bunları çalıştırırken "start" komutunu kullanır.
Kendiniz de gerektiğinde bu servisleri başlatabilir ve durdurabilirsiniz.
# /usr/local/etc/rc.d/apache.sh start
Bazı paketlerin ve portların normal .sh uzantılı olmayan ama
.sh.default veya .sh.sample uzantılı programlar kopyaladıklarını da
görebilirsiniz. Bu dosyalar sistem yöneticisi tarafından düzenlenerek
kullanılmak üzere bu farklı uzantılar ile kopyalanır. Sistem yöneticisi
gereken düzenlemeleri yaparak bu dosyaların uzantısını .sh biçimine
dönüştürüp kullanabilir. Örneğin apache doğrudan apache.sh dos­
yasını kopyalarken, samba.sh.sample dosyasının düzenlenerek
samba.sh olarak kayıt edilip kullanılması gereklidir. Bu düzenleme
yapıldıktan sonra çalıştırılabilir.
Bu dizin dışında başka bir dizini kullanmak yine sistem yöneticisinin
veya programcının insiyatifinde olan bir durumdur. PCBSD, FreeBSD
üzerinde çalışan kendi yapılandırmasını başlatmak için PCBSD init
kullanmaktadır. Bunu da /usr/local/etc/rc.d yerine kendi tanımladıkları
dizini kullanarak yapmaktadırlar. Benzer bir yapılandırma örneği
aşağıda görülmektedir.
local_startup="/usr/local/etc/rc.d /herhangi/bir/dizin/rc.d" #
baslangic script dizini.
Bu şekidle ayrıca açılış programlarının yer aldığı bir dizin tanım­
layabileceğinize göre Linux kullanıcılarının burada eski alışkanlıklarını
kullanarak bazı düzenlemeler yapmaları bir güvenlik açığı meydana
getirmektedir. Bazı Linux dağıtımları /etc/rc.local dizininde yer alan
programları açılışta başlatmaktadır. Bu dizin BSD sistemdeki
/usr/local/etc/rc.d karşılığıdır. FreeBSD 6.x öncesinde bu dizin
sistemden kaldırıldı ve bugün sistemde yer almıyor.
Ancak bazı durumlarda örneğin uzak bir sistemdeki paylaşılan
dizinlerin bağlanması, yedekleme sisteminin başlatılması gibi işlemler
www.enixma.org ­ Ağustos 2009 ­ Sayfa 45
için bu dizini oluşturup kullanabilirsiniz. Burada yer alan programlar
eski BSD sistemlerce ve Linux dağıtımlarınca açılışta otomatik olarak
çalıştırılacaktır.
Bu şekilde olağan sistem yapılandırmasının dışında kalan uy­
gulamaların çalıştırılmasının yaratabileceği sakıncaları gidermek için
/usr/local/etc/rc.d içine kılavuz sayfalarında belirtildiği gibi doğru
olarak yapılandırılmış programların kopyalanması yerinde olacaktır.
Bugün için geriye doğru uyumluluğun sağlanması için halen
/etc/rc.local dizinindeki uygulamaları çalıştıran /etc/rc.d/ dizininde
bulunan local programı bulunmaktadır. Eğer rc.local kullanacak iseniz,
rc.d dizinindekilerden önce bu dizinde yer alan programların
çalıştırılacağını akılda bulundurmak gereklidir. Güvenlik ve olası
sorunlardan kaçınmak için rc.d sistemetiğini kullanmak en doğrusu
olacaktır.
FreeBSD 7.2 bir sistemde yer alan local kabuk programının içeriğini
aşağıda görebilirsiniz.
[goksin@droideka /etc/rc.d]$ file local
local: Bourne shell script text executable
[goksin@droideka /etc/rc.d]$ cat local
#!/bin/sh
#
# $FreeBSD: src/etc/rc.d/local,v 1.6.10.1.4.1 2009/04/15
03:14:26 kensmith Exp $
#
#
#
#
#
PROVIDE:
REQUIRE:
BEFORE:
KEYWORD:
local
DAEMON
LOGIN
shutdown
. /etc/rc.subr
name="local"
start_cmd="local_start"
BSD ­ VIII
stop_cmd="local_stop"
local_start()
{
echo ­n 'Starting local daemons:'
if [ ­f /etc/rc.local ]; then
. /etc/rc.local
fi
echo '.'
}
local_stop()
{
echo ­n 'Shutting down local daemons:'
if [ ­f /etc/rc.shutdown.local ]; then
. /etc/rc.shutdown.local
fi
echo '.'
}
#!/bin/sh
#
#
#
#
#
PROVIDE:
REQUIRE:
BEFORE:
KEYWORD:
foo
bar_service_required_to_precede_foo
baz_service_requiring_foo_to_precede_it
FreeBSD
. /etc/rc.subr
name="foo"
rcvar=`set_rcvar`
command="/usr/local/bin/foo"
extra_commands="nop hello"
hello_cmd="echo Hello World."
nop_cmd="do_nop"
do_nop()
{
echo "I do nothing."
load_rc_config $name
run_rc_command "$1"
[goksin@droideka /etc/rc.d]$
}
Genel olarak temel sistem ile portlar üzerinden yaptığınız kurulumlar
için açılışta çalışacak bir kabuk programı yazmak durumunda
değilsinizdir. Temel sistem ve portlar gerekli programları sunar. Bazen
çeşitli gerekliliklerden dolayı bu tür programları yazmak gerekebilir.
Yazdığınız programın açılış sırasında çalışması için /usr/local/etc/rc.d
dizinine kopyalamanız gerekir.
Bu dosyadaki uygun yerleri kendi gereksinmelerinize göre
düzenleyebilirsiniz. Yukarıdaki program init tarafından çağrıldığında
başlatılırken ve sona erdirilirken kullanılacak olan seçenekleri
/etc/rc.subr ile kontrol etmektedir. Bu dosyaya sh_program_00.sh
adını verip çalıştırılabilir yaptığınızda kullanılabilecektir. (chmod +x
sh_program_00.sh)
Sistem Açılışında Çalıştırılacak Bir Kabuk Programı Hazırlamak
Aşağıdaki örnek man rc kılavuz sayfasından alınmıştır. Bu dosyayı
esas alarak kendi gereksinmelerinize uygun bir kabuk programı
yazabilirsiniz. init tarafından programınızın çalıştırılabilmesi için
uzantısının .sh olması zorunludur.
www.enixma.org ­ Ağustos 2009 ­ Sayfa 46
load_rc_config $name
run_rc_command "$1"
Açılışta çalıştırılan programlar kabuk programı olmak durumunda
değildir. PERL, C/C++ veya tercih ettiğiniz bir diğer dilde de yazılabilir.
Temel sistem tarafından çalıştırılabilecek olan dilleri tercih etmeniz
menfaatiniz icabıdır. Ve en önemlisi dosyanızın uzantısının .sh olması
da zorunludur. Uzantı belirtmeden yazdığınız programlar itinayla
sorun çıkarır.
BSD ­ VIII
inetd Daemon inetd.conf Yapılandırması
Temel sistemin bünyesinde yeterli sayıda daemon bulunur. Bu
daemonların başvurdukları yapılandırma dosyaları da *d.conf olarak
/etc dizininde yer alır. Bu daemonlar dışında bir yapılandırma
seçeneği daha bulunur: "Super­sunucu, inetd" inetd görevi tanımlanan
ağ portları üzerinden gelene çağrıları dinleyerek gereken ağ
servislerini, süreçlerini başlatmaktır.
Örneğin inetd telnet bağlantılarını kontrol eder. Eğer telnet
çalıştırıyorsanız uzaktan sisteme telnet ile bağlanabilirsiniz. Bu istekte
bulunduğunuzda telnetd başlamadan size bir login sunulur. Sisteme
her yapılan telnet bağlantısı isteği (23 port) için ayrı bir telnetd süreci
başlatılır. inetd dışındaki bu ve benzeri diğer daemonlar /usr/libexec
altında yer alır. PATH/YOL değişkeni içinde tanımlı değildirler ve
normal kullanıcılar tarafından çalıştırılamazlar. Bunun yerine diğer bir
süreç tarafından ­örneğin ağ bağlantısı veya soketler gibi­ çağrılır,
çalıştırılır ve çoğaltılırlar.
inetd'nin yararı buradadır. root tarafından çalıştırılan bir ana telnetd
sürecine duyulan gereksinimi ortadan kaldırır. Özellikle de söz konusu
süreçte ortaya çıkan bir güvenlik açığının neden olabileceği tehlikeyi
ortadan kaldırır. Söz konusu telnetd dışında olan sshd, httpd,sendmail
süreçleri kendileri çalışır ve inetd daemonuna gereksinim duymazlar.
Asıl süreç root olarak olarak çalışır ve normal kullanıcılardan gelen
istekleri dinleyerek gerektiğinde yeni süreçler oluşturur. Böylece bu
süreç normal kullanıcı tarafından kullanılır ve işlem gerçekleşir. Bu
yaklaşım esneklik ve hız sağlarkan güvenlik açısından bazı sorunlar
yaratır. inetd aynı zamanda root olarak çalışır. Dolayısıyla da inetd
kontrolünün yetkisiz birinin eline geçmesi durumu da güvenlik sorunu
yaratır. Dolyısıyla ne kadar çok süreç root yetkileri çalışırsa güvenlik
riski de o derece artar.
www.enixma.org ­ Ağustos 2009 ­ Sayfa 47
Eğer kurulum sırasında inetd daemonunu aktif kıldıysanız
/etc/inetd.conf dosyasını düzenleyerek inetd'yi kendi tercihlerinize
göre yapılandırabilirsiniz. Varsayılan yapılandırma bu dosyada yer
alan tüm servislerin # ile etkisizleştirilmesidir. Güncel BSD sistemler
inetd kullanımını teşvik etmez. telnetd ve ftp gibi güvenli olmayan
servisler inetd tarafından çalıştırılır. Eğer bir sunucu olarak kurulumu
yaptıysanız bu durumda bu servisleri gereği gibi yapılandırmanız ise
size düşmektedir. Bu sunucu servislerini doğrudan güvensiz olarak
çalıştırmak yerine port üzerinden daha güvenli olan diğer
uygulamaları kullanarak yapılandırmanız yerinde olacaktır.
inetd'yi açılışta ekinleştirmediyseniz /etc/rc.conf dosyasına aşağıdaki
satırı ekleyerek yapabilirsiniz.
inetd_enable="YES"
Aşağıda inetd tarafından kontrol edilen servisler görülmektedir.
Servis
Tanımı
Kullanılan Kaynak/Port
ftp
File Transfer Protocol
Port 21/TCP
telnet
Uzak terminal
Port 23/TCP
comsat
"biff" sunucusu
Port 512/UDP
ntalk
Komut satırı chat
Port 518/TCP, UDP
ftp(IPv6)
File Transfer Protocol
IPv6
telnet(IPv6)
pop3
Uzak terminal
Post Office Protocol
IPv6
Port 110/TCP
imap4
Interim Mail Access Protocol(server­side mail)
Port 143/TCP
smtp
Qmail (SMTP server)
Port 25/TCP
BSD ­ VIII
netbios­ssn Samba dosya paylaşımı
Port 139/TCP
netbios­ns
Port 137/TCP
finger
Kullanıcı bilgisi
Port 79/TCP
Bu servislerden birisini aktif kılmak için önündeki # işaretini kaldırıp
inetd'yi yeniden başlatmanız yeterlidir.
inetd, BSD sistemlerin, sıkı biçimde kontrol ettiği ve otomatik olarak
gerçekleşen yapılandırma işlemlerinin dışında kalmaktadır. Olası
yapılandırma hataları vb sorunları kendiniz çözmeniz gerekecektir.
Hatta ve hatta güvenlikten ödün verdiğinizi unutmamanız gereklidir.
cvs servisi hatalı bir yapılandırma kullanılması durumunda güvenlik
açığına neden olmaktadır. Samba için smbd ve nmbd programlarını
/usr/local/sbin altında bulabilirsiniz. Bunlar Samba kurmadığınız
sürece o dizinde bulunmayacaktır. Samba inetd ile çalıştırmanız
durumunda netbios­ssn ve netbios­ns hizmetleri tamamen standart
dışı bir yapılandırma ile çalışacaktır.
Benzer olarak POP3 servisi için gereken dosyalar da /usr/local/libexec
dizininde bulunacaktır. Bu dizin /usr/local altında bulunduğuna göre,
söz konusu uygulamayı siz kurmadığınız sürece burada olmayacaktır.
Bu nedenle inetd aktif kıldığınızda farklı bir pop programı aynı dizine
kurulacaktır.Kendiniz portlardan kurulum yaptığınızda popper
kurulacaktır. inetd aktif kılıp kurulumun yapılmasını sağladıysanız bu
durumda qpopper kurulur. Bu durumda yapılandırmanızın da
değiştirilmesi gerekir.
pop3
stream
tcp
nowait
/usr/local/libexec/qpopper
root
qpopper
Burada yer verdiğimiz bazı olası sorunlar ile çözümleri işini bilen bir
sistem yöneticisi tarafından kolaylıkla üstesinden gelinebilir. Ancak
konuya hakim olmayan kişilerin yaptıkları kurulumlar ve yapılan­
www.enixma.org ­ Ağustos 2009 ­ Sayfa 48
dırmalar ciddi sorunları da beraberinde getirecektir.
Sistem Kayıtları­syslogd ve syslog.conf Dosyası
Sistem mesajları syslogd­system logger daemon­ tarafından /var/log
dosyasına kayıt edilir. syslogd'un nasıl çalışacağını belirleyen
/etc/syslog.conf dosyasıdır. Bu dosyada farklı servisler/süreçlere ait
kayıtların hangi dosyada tutulacağı tanımlanır. Syslogd tarafından
izlenen servislerin (auth, authpriv, console, cron, daemon, ftp, kern,
lpr, mail, mark, news, ntp, security, syslog, user, uucp, ve local0,
local1, ..,local7) hangi mesajların kayıt edileceği ise önem derecesi
­severity­ ile tanımlanır. Önem derecesi büyükten küçüğe doğru
sıraladığımızda emerg (Acil), alert (Uyarı), crit (Kritik), err (Hata),
warning(Uyarı), notice(Dikkat), info(Bilgi) ve debug(Hata ayıklama).
BSD sistemde çalıştırdığınız her daemon veya servis tanımladığınız
araç üzerinden syslogd tarafından kaydı tutulur. Sendmail veya diğer
bir e­posta programı syslodg() yordamlarını kullanarak farklı düzeyde
öneme sahip olan mesajlar yollarlar. Bu mesajlar syslogd tarafından
syslogd.conf dosyasında tanımlandığı üzere değerlendirilir.
syslogd.conf dosyasının standart içeriği aşağıdaki gibidir:
*.err;kern.debug;auth.notice;mail.crit
/dev/console
*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err
/var/log/messages
security.*
/var/log/security
auth.info;authpriv.info
/var/log/auth.log
mail.info
/var/log/maillog
lpr.info
/var/log/lpd­errs
ftp.info
/var/log/xferlog
BSD ­ VIII
cron.*
/var/log/cron
*.=debug
/var/log/debug.log
*.emerg
Bu dosyanın yorumu ise şudur:
*
Tüm hata mesajları, çekirdekten gelen hata ayıklama mesajları,
yetkilendirme mesajları, kritik öneme sahip olan mesajlar konsolda
görüntülenecektir. Güvenlik ile ilgili olan mesajlar /var/log/security
dosyasına yazılacaktır. Posta programlarının çıktıları /var/log/mail
dosyasına yazılacaktır. Geriye kalanlar ise /var/log/messages adlı
genel sistem kaydı dosyasına yazılacaktır. Acil­emerg­ olan mesajlar
ise tüm konsollarda tüm kullanıcılara görüntülenir.
Söz konusu kayıt dosyaları sistemin çalışma süresi ile üzerinde
çalışan servislere ve kullanıcı sayısına göre boyutu büyüyecektir. Bu
nedenle dosyaların gereksiz yere büyümesini önlemek için kayıt
dosyaları önceliklerine göre ya açılış sırasında yeniden oluşturulur
veya dosyanın sonuna yeni kayıtlar eklenir. Örneğin /var/log/maillog
dosyası periodic programı tarafından arşivlenir. Diğer kayıt dosyaları
örneğin /var/log/cron ve /var/log/messages gibi üzerine yazan
program tarafından yeniden üzerine yazılır. Arşivlenmiş olan kayıt
dosyalarını bzcat ile açıp içerisinden aradığınızı grep ile bulabilirsiniz.
# bzcat /var/log/messages.2.bz | grep "rejected"
Aşağıdaki tabloda bazı sistem mesajlarının nasıl tanımlanarak syslogd
tarafından ne şekilde işleneceğine dair örnekler görülmektedir.
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
İmla
İşlem
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
@sistem.alanadı.net
Mesajlar söz konusu sisteme ağ
bağlantısı üzerinden yönlendirilir.
www.enixma.org ­ Ağustos 2009 ­ Sayfa 49
user1
Mesajlar user1 kullanıcınısın giriş yaptığı
terminale yazılır
root,user1,user2
Tanımlı kullanıcılar mesajları alır
*
Mesajlar sisteme giriş yapan tüm
kullanıcılara aktarılır
| "mail root"
Mesajlar root kullanıcısına postalanır.
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
Konu ile ilgili ayrıntılı bilgi syslogd ve syslogd.conf kılavuz say­
falarından edinilebilir. (bilgi man syslogd ve man syslogd.conf)
Açılış Sürecini Güvenli Kılmak
Sistem yöneticileri için öncelikli olan konulardan birisi sistemin
güvenliğini sağlamaktır. Bu sistem yöneticilerinin standart olarak
yaptığı bir işlem olsa da BSD sistemlerin yapısı gereği bir çok sistem
yöneticisi tarafından hatalı yapılandırmalar yapılmaktadır.
Bilgisayarınızı bir başka kişi ile paylaşıyorsanız, loader menüsünden
komut satırına geçip boot ­s komutu ile sistemi tek kullanıcı kipinde
açılabilmesi olasılığı söz konusudur. Bu durum bir güvenlik açığı
yaratmaktadır. Bu açığı ise kolaylıkla kapatabilirsiniz.
/etc/ttys dosyasında terminal ayarları tanımlanır. Bu ayarlar sisteme
farklı kanallardan erişim için sınırlamaları belirtir. Seçtiğiniz erişim
kanalı üzerinden erişimi kontrol altına almak için "secure" seçeneğini
"insecure" yapmanız yeterlidir.
Standart yapılandırma:
ttyv8 "/usr/local/bin/kdm ­nodaemon"
xterm
on
secure
BSD ­ VIII
Güvenlik önlemi alınmış durumu
ttyv8 "/usr/local/bin/kdm ­nodaemon"
xterm
on
insecure
Bu yapılandırma sisteme söz konusu konsol üzerinden yapılacak olan
erişimlerde root girişi için her zaman root şifresini istemesini tanımlar.
Güvenli­secure­ olarak tanımlı bir konsolda root şifresinin isten­
meyeceğini anımsayın.
Tek kullanıcı kipi girişlerini kontrol altına aldığınızda bir noktanın daha
kontrol altına alınması gereklidir. Sistemin normal olarak başlatılması
durumunda sanal konsollar aktif durumda olur. Kullanıcılar bu sanal
konsollar arasında ALT+F1, ALT+F2 vs. ile geçiş yapabilirler. Bu
konsollardaki secure/insecure seçenekleri tanımlanarak doğrudan root
girişi kapatılabilir. Bu sanal konsollar üzerinden kullanıcı adı ve şifresi
ile giriş yapıldıktan sonra root girişi için "su" kullanılması sağlanır.
Açılışı Yavaşlatan Ne Olabilir?
Menü karşınıza geldikten sonra bir işlem yapmaz iseniz 10 sn sonra
çekirdek başlatılacaktır. Elimdeki eski bilgisayarlada bile BSD
sistemlerin açılması 30 sn'den daha uzun sürmemektedir. Bu sürenin
daha uzun sürmesi söz konusu değildir, ancak ve ancak bir şeyler ters
gitmediyse...
init yapısı gereği açılış için scriptleri kullanması ve bir sürecin
bitmeden diğerinin başlatılamaması gereği sürecin dar boğazlarını ve
sorunları belirlemeniz son derece kolaydır. En sık karşılaşılan
yavaşlamalar Sendmail ve Apache kaynaklıdır. Her ikisinde de
yavaşlamanın nedeni ağ yapılandırmasındaki bir hata veya ağdan
kaynaklanan bir sorun olabilir.
Sendmail ile apache bilgisayara atanmış olan adı ­hostname­ bilmek
durumundadır. Bunun için de /etc/resolv.conf dosyasında tanımlı olan
DNS sunucularını kullanmak durumundadırlar. Bu sorgunun yapılması
www.enixma.org ­ Ağustos 2009 ­ Sayfa 50
bazen ağdan kaynaklı nedenlerden dolayı açılış sürecini uzatabilir.
Bunu aşmanın bir yolu /etc/resolv.conf dosyasında tanımlı olan DNS
sunucusunun sisteminiz tarafından erişilebilen bir makina olmasını
sağlamanızdır. Böylece Apache ve Sendmail gecikme olmaksızın
sistemin adını belirleyip açılışı yavaşlatmadan devam etmesini sağlar.
Diğer olası sorun ise ağ üzerinden erişilen dosya paylaşımlarıdır.
Bunlar NFS, Samba vb olabilir. Eğer bu dosya paylaşımları /etc/fstab
içinde otomatik olarak bağlanacak şekilde yapılandırılmış ise açılış
sırasında bağlanmaya çalışılacaktır. Bu dosya sistemlerinin bağlanma
seçeneğinin noauto olarak tanımlanması ya da sonradan elle veya
diğer bir yolla bağlanması uygun olur.
HABERLER
International Free and Open Source
Software Law Review ­ IFOSSLR
Free Software Foundation Europe tarafından
kurulan, Mozilla Foundation ve NLNET Ta­
rafından da desteklenen Özgür yazılım ve
hukuk konularını ele alan IFOSSLR ilk sa­
yısını duyurdu. Dergi altı ayda bir yayın­
lanıyor. Dergiyi hazırlayan ekip özgür yazılım
lisans ve geliştirme modellerinin yaygınlaş­
ması ile ortaya çıkan hukuki konulara
konunun uzmanı olan kişiler tarafından yol
gösterilmesi ve sorulara yanıt verilmesi için
yola çıktıklarını belirtiyor. Derginin duyurusu
ile birlikte ilk sayısı da yayınlandı.
Kaynak:
http://www.ifosslr.org/ifosslr/announcement/vi
ew/1
Birinci sayı: http://www.ifosslr.org/ifosslr
Open­PC Projesi GCDS 09'da Duyuruldu
Gran Canaria Desktop Summit­ Gran Canaria
Masaüstü Zirvesi 2009'da Open­pc projesinin
resmi duyurusu yapıldı. Projenin amacının
özgür yazılım topluluğu tarafından yine özgür
yazılım kullanıcılarına yönelik olarak bilgisa­
yar donanımı geliştirilmesi olarak tanımla­
nıyor.
Projenin ortaya çıkmasının ardındaki nedenin,
pazardaki özgür yazılım tabanlı donanım
çözümlerindeki yetersizlik olması kadar, var
www.enixma.org ­ Ağustos 2009 ­ Sayfa 51
olan satış kanallarındaki çözümlerin Özgür
Yazılım'ı olumsuz gösterip konuya ilgi duyan
son kullanıcıları uzaklaştırması olarak belir­
tiliyor. Sözkonusu kanallardaki yazılım se­
çeneklerinin yeterince denenmediği, kararlı
olmadığı durumlarda kapalı kaynak kodlu
sürücülerin yarattığı sorunlar da kullanıcılar
için olumsuz sonuçlar yaratabiliyor.
Topluluk içinde, var olan donanım platform­
larının da bu kısıtlamalar nedeni ile olumsuz
sonuçlarla karşı karşıya geldiğini belirtiliyor.
Problemlerin açılması için sıfırdan yazılan
yazılımlar ile sorunların aşılmaya çalışıl­
masının da çözüm olamayacağını zira bu
sürecin de sorunları gidermediği belirtiliyor.
Open­PC projesi bu sorunların aşılabilmesi
için topluluk kaynaklarının kullanılarak özgür
yazılım kullanan bir donanım platformu ge­
liştirmeyi amaçlıyor. Halen ürünün niteliği
hakkında kesin bir karara varılmamış olmakla
birlikte proje ekibinin belirlediği çalışma tak­
vimine göre ilk ürünlerin 2009 sonbahar ay­
larında ortaya çıkması planlanıyor.
Belirlenen hedefler arasında ürünün fiyatının
$300 ile $400 arasında olması bekleniyor. Bu
fiyata montaj ve nakliye fiyatlarının da dahil
olacağı belirtilmekte. Open­PC projesi hak­
kında ayrıntılı bilgi ile GCDS 09'da yapılan
tanıtıma sitesinden erişebilirsiniz.
Proje Sitesi: http://open­pc.com/
Kaynak:
http://www.kdenews.org/2009/07/11/open­pc­
project­announced­gcds­09
Mozilla Firefox 3.5 ve 3.5.1 (firefox­
3.5.png)
Mozilla; yaklaşık sekiz aylık beta deneyiminin
ardından güvenli, hızlı ve işlevsel açık kaynak
kodlu internet tarayıcısı Firefox'un 3.5 sü­
rümünü Temmuz ayı başında kullanıma
sundu. Final sürümünün çıkmasının üzerin­
den 24 saat dahi geçmemişken milyonlarca
kullanıcıyla buluşan tarayıcı, TraceMonkey
adlı Java komut dizisi motoru sayesinde bir
önceki sürümünden iki kat daha hızlı oluşuyla
dikkat çekiyordu. Sürüm; pek çok yeni özellik
ve geliştirme içeriyordu. 6 binin üzerinde
uygulama ve eklentiyi destekleyen Firefox
3.5, kötü amaçlı yazılımları etkin bir biçimde
engelleme yeteneğine sahipti. Gizli gezinme
modu ile gezilen sitelerin bilgisayara kalıntı
bırakması engellenebiliyordu. Pek çok yeni
özellik ve geliştirme içeren sürümün indirilme
sayısı, duyurulmasının üzerinden henüz üç
hafta bile geçmeden 30 Milyonu aştı. Buna
karşın, Mozilla, kritik olarak nitelenen bir
güvenlik sorununun çözümünü sağlamak ve
kimi tutarlılık sorunlarını gidermek amacıyla
aslında iki hafta kadar sonra beklenen bir
güncellemeyi erkene aldı ve Firefox 3.5.1'i
çıkardı. Böylece Firefox kullanıcıları, kısa bir
zaman aralığında 3.5'ten 3.5.1'e geçmiş ol­
dular.
HABERLER
Bilgi:
http://www.2dbilgisayar.com.tr/index.php?opti
on=com_content&task=view&id=716&Itemid=
1
http://www.mozilla.com/en­
US/firefox/3.5/releasenotes/
http://www.2dbilgisayar.com.tr/index.php?opti
on=com_content&task=view&id=726&Itemid=
1
http://www.mozilla­
europe.org/tr/firefox/3.5.1/releasenotes/
Dağıtım Haberleri
antiX MEPIS 8.2
Warren Woodford, eski bilgisayarlar için ta­
sarlanmış olan SimplyMEPIS'in hafif bir
versiyonu niteliğindeki antiX MEPIS 8.2'yi 24
Temmuz Cuma günü duyurdu. Ekiplerinin
antiX MEPIS 8.2 kararlı sürümünü duyur­
maktan ve sürümün yansılarda yerini almış
olmasından çok mutlu olduğunu söyleyen
Woodford, 2.6.27 Linux çekirdeği üzerine
yapılandırılan sistemde, hafif bir masaüstü
ortamı olan IceWM masaüstü ortamının
varsayılan olarak özelleştirildiğini ifade etti.
Bunun yanında, sisteme, Fluxbox masaüstü
ortamı da eklenmiş bulunuyor. 10 dile tam
destek veren live CD çok hızlı yükleniyor ve
www.enixma.org ­ Ağustos 2009 ­ Sayfa 52
çok az RAM kullanıyor. antiX­Kontrol Merkezi
de geliştirilmiş bulunuyor.
Google Chrome OS
Kullanıma çıktığı 9 aylık süre içinde yaklaşık
30 milyon kişilik kullanıcıya ulaşan Chrome
adlı tarayıcısının başarısıyla gündemden
düşmeyen internetin en büyük isimlerinden
Google; 7 Temmuz 2009 tarihinde, yeni bir
işletim sisteminin hazırlığı içinde olduğunu
duyurdu. "Google Chrome Operating System"
adı verilen yeni işletim sistemi, bir Linux
çekirdeği üzerine inşa edilecek ve tamamen
açık kaynak kodlu olacak. Öncelikli olarak
netbookları hedef alacağı söylenen Google
Chrome OS'nin kullanımı kolay, hafif bir
işletim sistemi olacağı belirtiliyor. Hız, basitlik
ve güvenlik konularının Google Chrome
OS'nin en önemsenen yönleri olduğu vur­
gulanıyor. Sistem, Chrome internet tarayı­
cısıyla paralel düşünülüyor.
Halen proje ortaklarınca değerlendirilmekte
olan Google Chrome OS, 2010 yılının ikinci
yarısında kullanıma sunulabilecek.
Bilgi:
http://www.2dbilgisayar.com.tr/index.php?opti
on=com_content&task=view&id=720&Itemid=
1
http://googleblog.blogspot.com/2009/07/introd
ucing­google­chrome­os.html
openSUSE 11.2
Milestone 4
Haziran ayı sonunda openSUSE 11.2 Mile­
stone 3'ü duyuran Joe Brockmeier, open­
SUSE 11.2'nin dördüncü milestone (kilometre
taşı) sürümünü ise 27 Temmuz Pazartesi
günü duyurdu. Brockmeier, Kasım ayındaki
openSUSE 11.2 kararlı sürüme kadar bir kaç
milestone (kilometre taşı) sürüm daha
olduğunu söyledi. Artık YaST'ın Qt tabanlı
yeni bir kontrol merkezine sahip olduğunu
ekleyen Brockmeier, sistemin 2.6.30.2 Linux
çekirdeği üzerine yapılandırıldığını ifade etti.
openSUSE 11.2 Milestone 4'de KDE 4.3 RC1
beta 2 ve GNOME 2.27.2 masaüstü ortamları
bulunuyor. Güncellenen ve değişen diğer pa­
ketler şöyle: CUPS 1.3.10, NetworkManager
0.7.1, Samba 3.4.0, Firefox 3.5, Qt 4.5.2, Qt
Creator 1.2, SeaMonkey 2.0a3, VirtualBox
3.0 beta 2.
Pardus 2009
Daha önce duyurulan Pardus 2009 sürüm
takvimine uygun olarak Pardus açısından
HABERLER
Temmuz ayı hareketli geçti. Ayın ilk gün­
lerinde Pardus 2009 RC, ortasına doğru
Pardus Linux 2009 RC2 ve 17 Temmuz
2009'da da Pardus 2009 kararlı sürüm geldi.
Pardus 2009, sürüm yöneticisi Onur Küçük
tarafından duyuruldu. 2.6.30.1 Linux çekir­
deği üzerine yapılandırılan Pardus 2009'da,
KDE 4.2.4 masaüstü ortamı kullanılmış. Sis­
tem; OpenOffice.org ofis araç seti 3.1.0.6,
Firefox internet tarayıcı 3.5.1, Gimp 2.6.6,
Xorg 1.6.2, Python 2.6.2, GCC 4.3.3, GLIBC
2.9, Texlive 2008 gibi pek çok güncel yazılımı
da içeriyor.
Sistem özellikleri geliştirilen Pardus 2009'da
varsayılan dosya sistemi olarak Ext4 tercih
edilmiş. Ortalama bir bilgisayara 15 dakikada
kurulabildiği söylenen Pardus 2009'da; ön­
bellek sistemi geliştirilmiş, Paket Yöneticisi ve
PiSi hızlandırılmış. Pardus 2009, Pardus ta­
rafından desteklenen 11 ayrı dilin tek bir CD
içinde sunulduğu Pardus 2009 International
seçeneği ile de geliyor. Böylece; Türkçe,
İngilizce, Almanca, Fransızca, İtalyanca, İs­
panyolca, Hollandaca, Katalanca, Brezilya
Portekizcesi, Lehçe ve İsveççe dillerinde ku­
rulum ve kullanım olanağı da bulunuyor.
Bilgi:
http://www.2dbilgisayar.com.tr/index.php?opti
on=com_content&task=view&id=724&Itemid=
1
http://liste.pardus.org.tr/duyuru/2009­
July/000094.html
www.enixma.org ­ Ağustos 2009 ­ Sayfa 53
PCLinuxOS 2009.2
PCLinuxOS 2009.2, 30 Haziran 2009'da Bill
Reynolds tarafından duyuruldu. Sürümün
Gnome olanı Gnome 2.26.2 masaüstü sü­
rümüne; KDE olanıysa; KDE 3.5.10 masaüstü
sürümüne sahip. Sürüm, live CD de içeriyor.
Firefox 3.0.11, Thunderbird 2.0.0.22, Abiword
ve daha pek çok yazılım tek bir cd'ye
sıkıştırılmış bulunuyor. Sistem, kullanıcıyı
güncellemeler olduğunda uyarıyor. "Addlo­
cale" özelliği, pek çok dil içinden biriyle sis­
temi yerelleştiriyor. "GetOpenOffice", Open­
Office.org 3.1'i 104 farklı dilde yüklemeye
olanak tanıyor.
Bilgi:
http://www.2dbilgisayar.com.tr/index.php?opti
on=com_content&task=view&id=715&Itemid=
1
http://www.pclinuxos.com/index.php?option=c
om_content&task=view&id=65
Slackware
Linux 13.0
RC1
Slackware Linux 13.0 RC1, Patrick Volker­
ding tarafından duyuruldu. Sürümü; Slack­
ware Linux 13.0 RC1 (sürüm adayı 1) bi­
çiminde adlandırdıklarını vurgulayan Volker­
ding, "Current" adı verilen dağıtım hakkında:
"Çekirdek ile ilgili olarak, kullanıcı ile test
edilmiş olan 2.6.29.x, en iyi seçenek gibi
görünüyor" dedi. Buna karşın; "Belki bir
başkasını (en azından kaynak ve konfi­
gürasyon içine) koyabiliriz" demeyi de ihmal
etmedi. Slackware Linux 13.0 RC1 hakkında
daha ayrıntılı bilgi edinmek için changelog
sayfası incelenebilir.
Bilgi:
http://www.2dbilgisayar.com.tr/index.php?opti
on=com_content&task=view&id=717&Itemid=
1
http://www.slackware.com/changelog/current.
php?cpu=i386
SuperGamer Supreme
VectorLinux tabanlı bir dağıtım olan Super­
Gamer Supreme, Darin VanCoevering tara­
fından duyuruldu. Dünyanın ilk çift katmanlı
live DVD'si olarak dağıtıma sunulan Super­
Gamer; bir masaüstü işletim sistemi ve
Firefox, OpenOffice.org gibi buna ilişkin tüm
uygulamalara sahip. Fakat aynı zamanda,
Linux'a özgü büyük oyunları, tescilli oyunların
da demolarını içeriyor. 2.6.27.24 Linux çe­
kirdeği üzerine yapılandırılmış olan Super­
HABERLER
Gamer'in bu sürümü, çift katmanlı DVD'den
yüklenmek suretiyle 32 ve 64 bit bilgisayarlar
üzerinde çalışabilecek. Sistem; ethernet,
wireless, ve dialup Internet bağlantısını
destekliyor. Azureus, Gparted, Limewire,
Gimp, K9copy, KOffice, OpenOffice 3 gibi
yazılımları içeren SuperGamer; Quake Wars,
Doom 3, Prey, Unreal Tournament, Quake 4,
Savage 2, Postal 2, Enemy Territory,
Penumbra Black Plague, Sauerbraten, Urban
Terror, Soldier Of Fortune gibi çok ünlü
oyunlarla birlikte geliyor.
Bilgi:
http://www.2dbilgisayar.com.tr/index.php?opti
on=com_content&task=view&id=728&Itemid=
2
http://supergamer.org/forum/index.php?topic=
182.0
Ubuntu
8.04.3 LTS
Ubuntu'nun üçüncü özel uzun süreli destek
(masaüstü sistemlere 3, serverlere 5 yıl
destek) sürümü Ubuntu 8.04.3 LTS, Steve
Langasek tarafından duyuruldu. Ubuntu
8.04.3 LTS sürümünün duyurusunu yap­
maktan mutlu olduklarını ifade eden Langa­
sek; sürümün, i386 ve amd64 mimarileri için
server ve masaüstü güncelleme, ayrıca al­
ternatif kurulum CD'leri içerdiğini söyledi.
Masaüstü, dizüstü ve serverlerde hızlı ve
kolay yüklenen düzgün bir dağıtım olan
www.enixma.org ­ Ağustos 2009 ­ Sayfa 54
Ubuntu için profesyonel desteği Canonical
Limited sağlıyor.
Bilgi:
http://www.2dbilgisayar.com.tr/index.php?opti
on=com_frontpage&Itemid=1
https://lists.ubuntu.com/archives/ubuntu­
announce/2009­July/000124.html
Ubuntu 9.10 Alpha 3
Final sürümü 29 Ekim 2009'da yayımlanacak
olan "Karmic Koala" kod adlı Ubuntu 9.10'un
üçüncü alpha sürümü olan Ubuntu 9.10 Alpha
3, 23 Temmuz Perşembe günü Martin Pitt
tarafından duyuruldu. 2.6.31 Linux çekirdeği
üzerine yapılandırılmış olan sistem, GNOME
2.27.4 masaüstü ortamına sahip bulunuyor.
Sistemin varsayılan derleyicisi; GCC 4.4 ve
varsayılan dosya sistemi de ext4. Ayrıca,
GRUB 2, varsayılan açılış yükleyicisi olarak
düzenlenmiş. Ubuntu 9.10 Alpha 3, Ubuntu
kullanıcılarılarının deneyimlerini paylaşmaları
açısından anlamlı bir işlev görecek.
Bilgi:
http://www.2dbilgisayar.com.tr/index.php?opti
on=com_content&task=view&id=727&Itemid=
2
https://lists.ubuntu.com/archives/ubuntu­
devel­announce/2009­July/000594.html
http://www.ubuntu.com/testing/karmic/alpha3
eniXma
eniXma, başta Linux ve GNU prog­
ramları olmak üzere, açık kaynak kodlu
özgür işletim sistemleri ve yazılımları
hakkında herkesin bilgilerini özgürce
paylaşabileceği bir elektronik bilgi pay­
laşım aracıdır. Aylık periyoda sahiptir.
Her ayın 1. günü yenilenir.
eniXma, GFDL lisansına sahiptir. Yer
alan yazıların lisansları ayrıca belirtil­
medikçe GFDL lisansına sahip olacak­
lardır. Yazarlar GFDL ya da Creative
Commons lisanslarından birini seçebi­
lirler. Yer alacak program kodları GPL
/LGPL lisansına sahip olacaktır.
eniXma'da yer alan yazıların tüm hak­
ları ve sorumlulukları GFDL temelinde
yazarlarına aittir. İçerikte bulunan bilgi­
lerin kullanımından dolayı oluşacak her
türlü sonuç kullanıcıya aittir.
GFDL lisansına ek olarak eniXma'da
yer alan yazıların üzerinde hiçbir kişi,
araç, sunucu ya da kurum tamamını ya
da bir kısmını bulundurması nedeniyle
hiçbir hak iddia edemez.
©, ®, ™ özelliklerine sahip isim ve
benzerleri için bu işaretler belirtilmese
de belirtilmiş olarak varsayılmalıdırlar.

Benzer belgeler