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 tanju@enixma.org byncsa 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üklebı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ütmeküçü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. kipiplugins 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 firat@enixma.org byncsa 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 (Resim2). 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 (Resim3). 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 (Resim4). "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 (Resim5). "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 (Resim6). "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 (Resim7). 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 tanju@enixma.org byncsa 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ğasola 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 0synaptics.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="ISO88591"?> <! 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 kullanı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 recep@enixma.org byncsa 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 kalitesi 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 Selfcontained 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 gurkan@enixma.org byncsa 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 (32bit, prefetchable) [size=128M] Region 2: Memory at e9000000 (32bit, nonprefetchable) [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ıkhex 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 ifadelerregular expressions ile ifade edilir. Gökşin Akdeniz goksin@enixma.org byncsa 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 bulvedeğ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 bulvedeğ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 bulvedeğ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 ifadelerRegular 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 metakaraktermetacharacter 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 [AZ] A'dan Z'e tüm büyük harfleri tanımlar, [09] 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 [^AZ] Büyük harfle başlamayan anlamına gelmektedir. Benzer olarak [^09] 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 [az] sorgusu ile döndürülmez. Bu sorunların aşılması için POSIX standartlarında belirtilen parantez ifadeleribracket 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 bulvedeğ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 vedeğ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. Bulvedeğiştir işleminde kullanıldığında son kullanılan ve değiştirilen dizgeyi yeni bulve 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, edergi/\ueniXma, \uedergi/ Komutu eniXma edergi yerine EniXma, Edergi 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ükküçük harf duyarlılığı söz konusudur. Bu noktaya dikkat etmek gerekli. Eğer büyükküçük harf duyarlılığı olmadan işlem yapacak iseniz bunu :set ic şeklinde yapabilirisiniz. Böylece büyükküçü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 tanju@enixma.org byncsa 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 varsayı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 PowerOnSelfTest'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 goksin@enixma.org byncsa 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 kipsafe mod sistemi başlatabilirsiniz. Bu kipte bir çok çekirdek modülü yüklenmez. Tek kullanıcı kipisingleuser mode sistem yöneticisinin giriş yaparak bakım moduna geçmesini sağlar. Escape to Loader PromptKomut 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 poweruser 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) 19922009 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.2RELEASEp2 #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 eposta adresi ile kullanıcı adını belirtir. Yukarıdaki örnekte gördüğünüz root@amd64builder .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.24MHz 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 activelow polarity and level trigger for SCI ioapic0 <Version 1.1> irqs 023 on motherboard kbd1 at kbdmux0 acpi0: <HPQOEM SLICMPC> on motherboard acpi0: [ITHREAD] acpi0: Power Button (fixed) Timecounter "ACPIsafe" frequency 3579545 Hz quality 850 BSD VIII acpi_timer0: <24bit timer at 3.579545MHz> port 0x10080x100b 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 HostPCI bridge> port 0xcf80xcff 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 PCIPCI bridge> at device 2.0 on pci0 pci1: <ACPI PCI bus> on pcib1 pcib2: <ACPI PCIPCI bridge> at device 3.0 on pci0 pci3: <ACPI PCI bus> on pcib2 vgapci0: <VGAcompatible display> mem 0xb2000000 0xb2ffffff,0xc00000000xcfffffff,0xb10000000xb1ffffff irq 16 at device 5.0 on pci0 pci0: <memory, RAM> at device 9.0 (no driver attached) isab0: <PCIISA bridge> port 0x1d000x1d7f 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: [GIANTLOCKED] 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: [GIANTLOCKED] 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,0x1700x177,0x376,0x30800x308f 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,0x30b40x30b7,0x30b80x30bf,0x30b00x30b3,0x30900x309f mem 0xb00060000xb0006fff 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 PCIPCI bridge> at device 16.0 on pci0 pci7: <ACPI PCI bus> on pcib3 hdac0: <NVidia MCP51 High Definition Audio Controller> mem 0xb00000000xb0003fff irq 22 at device 16.1 on pci0 hdac0: HDA Driver Revision: 20090329_0131 hdac0: [ITHREAD] nfe0: <NVIDIA nForce 430 MCP13 Networking Adapter> port 0x30e00x30e7 mem 0xb00080000xb0008fff 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, 10baseTFDX, 100baseTX, 100baseTXFDX, 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: [GIANTLOCKED] atkbd0: [ITHREAD] psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: [GIANTLOCKED] psm0: [ITHREAD] psm0: model IntelliMouse, device ID 3 cpu0: <ACPI CPU> on acpi0 powernow0: <PowerNow! K8> on cpu0 orm0: <ISA Option ROM> at iomem 0xcf8000xd0fff 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 0x3f80x3ff 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 0x3c00x3df 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 ata0master PIO4 ad4: 76319MB <Hitachi HTS541680J9SA00 SB2OC7BP> at ata2master 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 daymotd" 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/ftpproxy /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üklerKEYWORDS ile öncelikle çalıştırılması gerekenPROVIDE, 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=iso098x16 # 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: "Supersunucu, 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(serverside mail) Port 143/TCP smtp Qmail (SMTP server) Port 25/TCP BSD VIII netbiosssn Samba dosya paylaşımı Port 139/TCP netbiosns 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 netbiosssn ve netbiosns 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ı syslogdsystem 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 eposta 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/lpderrs 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. Acilemerg 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üvenlisecure 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 OpenPC Projesi GCDS 09'da Duyuruldu Gran Canaria Desktop Summit Gran Canaria Masaüstü Zirvesi 2009'da Openpc 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. OpenPC 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. OpenPC projesi hak kında ayrıntılı bilgi ile GCDS 09'da yapılan tanıtıma sitesinden erişebilirsiniz. Proje Sitesi: http://openpc.com/ Kaynak: http://www.kdenews.org/2009/07/11/openpc projectannouncedgcds09 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. antiXKontrol 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 ucinggooglechromeos.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/2009July/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 develannounce/2009July/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.