eniXma Şubat 2010
Transkript
eniXma Şubat 2010
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 Sayı: 44 Mayıs 2010 eniXma Yıl 4 Sayı 7 bu bir denemedir Bu eski tipten Deluge I Quat Awk/Gawk VI PXE ile Slackware Kurulumu LinCityNG TuxMathScrabble Djl Oyun Yöneticisi BSD XVII Mayıs 2010 www.enixma.org Başlarken İçindekiler H er yıl olduğu gibi bu yıl da yaz ayları yaklaşırken birçok dağıtımın yeni sürümleri çıkmaya başladı. Önümüzdeki aylarda bu yeni sürümleri inceleyip sunmaya başlayacağız. Yeni sürümlerle birlikte gelen yeni teknolojiler de, KDE ve Gnome gibi yaygın olarak kullanılan masaüstlerinin yeni sürümleri de birer birer çıkacaklar. Özgür yazılım kullanıcılarını yeniliklere hazırlanmaları ve alışmaları için yoğun günler bekliyor. Bu ay güzel bir bittorrent istemcisi olan Deluge ile ilgili yazı dizimizin ilki ile başlıyoruz. Daha önce alanında benzeri uygulamaların tanıtıldığı Quat, matematik ile görselliği birleştiren ve sonsuz fraktal biçimlerini üç boyutlu olarak görüntüleyebileceğimiz bir uygulama. Programcıların ilgi ile izlediği awk/gawk dizisi 7. bölümünde dizileri ele alarak sürmekte. Dağıtım kurulumlarında standart dışı bir biçimi, PXEboot ile ağ üzerinden kurulumu, Slackware Linux ile anlatıyoruz. Bu ay oyunlarla ilgili üç yazımız yer alıyor. Şehir simülasyonu olan LinCityNG ile köyden başlayıp maga şehirlere kadar 'medeniyetinizi' ilerletebilirsiniz. Matematik ile bulmacayı birleştiren TuxMathScrabble sadece çocuklar için değil. Büyükler de çözümleri için çok terleyecekler. Oyun alanında oldukça farklı bir uygulama olarak Djl Oyun Yöneticisi'ni ele aldık. Linux'ta kolaylıkla oyun kurup oynamanın bir farklı yöntemi. BSD dizimiz 18. bölümünde sistem güvenliği alanında mtree kullanımı ile devam ediyor. eniXma Mayıs 2010 www.enixma.org Mayıs 2010 Sayfa 2 3 Deluge I Yetenekli bir bittorrent istemcisi 6 Quat İleri matematiğin eğlenceli yanı 13 Awk/Gawk VI Diziler 17 PXE ile Slackware Kurulumu PXEBoot ile ağ üzerinden kurulum 25 LinCityNG Şehir kurup yönetin 29 TuxMathScrabble Matematik ile bulmaca 31 Djl Oyun Yöneticisi Linux'ta kolay yoldan oyun kurup oynayın 36 BSD XVII mtree ile sistem bütünlüğünün kontrolu 43 Haberler DELUGE I Yetenekli bir bittorrent istemcisi Resim 1 - GTK arayüzü ile Deluge Ön Bilgi: BitTorrent protokolü hakkında bilgi almak için Aralık 2008 sayımıza bakabilir siniz. L Gürkan Gür gurkan@enixma.org byncsa www.enixma.org Mayıs 2010 Sayfa 3 inux'ta torrent istemcileri de azımsana mayacak güçtedir. Bu yazımızda inter aktif web arayüzü gibi özellikleri ile bilinen rakiplerinin arasından sıyrılmaya çalışan ye tenekli bir torrent istemcisini tanıtacağız: Deluge. Dağıtımınızın deposundan rahatlıkla kurabi leceğiniz Deluge, libtorrent ve GTK kütüp haneleri kullanılarak oluşturulmuş. Libtorrent 'in desteklediği DHT, HTTP Seed, IPv6 gibi özellikleri destekleyen yazılımın anasayfa sında biz bu yazıyı hazırlarken 1.2.3 sürümü bulunmaktaydı. Bu sürümde daha çok yeni lenen web ve gtk arayüzünden oluşan prob lemlerin çözümü ile ilgilenilmiş. Gelişmiş eklenti desteğine sahip olan yazılım DELUGE I Resim 3 - İndirme seçenekleri Resim 2 - Ağ seçenekleri birden fazla arayüz seçeneğine sahip olduğu için (konsol, web, gtk) kullanımını başlıklara bölerek anlatacağız. Yazımızın ilk bölümünde Deluge'nin istemci olarak kullanımından bah sedeceğiz: GTK Arayüzü: Kurulumun ardından uygulamayı çalıştırdığı nızda öntanımlı olarak açılan bu arayüzde, torrent istemcilerinde alışık olduğunuz bir arayüz ile karşılaşacaksınız. Bu uTorrent benzeri arayüzde yeni bir torrent oluştur madan bağlantı sınırlamasına kadar ihtiyaç www.enixma.org Mayıs 2010 Sayfa 4 duyulan her şeyi bulabilirsiniz. Örnek ver memiz gerekirse, seçenekler bölümünden; kullanılan port numarasını değiştirebilir (Re sim2), dosyaların indirileceği yolu seçebilir (Resim3), bant genişliği sınırlaması yapabilir siniz (Resim4) (İsterseniz arayüzün en al tındaki değerlere tıklayarak da hızlı bir şekilde bu işlemi gerçekleştirebilirsiniz). Eklentiler için de ayrı bir sekme bulunmakta. Birbirinden yetenekli eklentilerden ihtiyacınız olanı çalış tırabilirsiniz. Bant genişliği ve bağlantı sınır lamasını her torrent dosyasına sağ tıklayarak ayrı ayrı, hatta "Label" (etiket) eklentisi sayesinde oluşturduğunuz her gruba topluca uygulamak mümkün. Ayrıca arayüz seçeneklerinden "Klasik Mod"u etkisizleştirdiğinizde, Deluge tek başına ça lışma modu yerine sunucuistemci mantı ğında çalışan hali ile açılacaktır. Sunucu ayarlanması ve sistem servislerine gelecek Resim 4 - Bant genişliği ayarları sayıda değineceğiz. Web Arayüzü: "delugeweb" komutu ile başlatabileceğiniz web arayüzü "Klasik Mod" kullanılmayan GTK arayüze oldukça benzer olarak hazırlanmış (Resim 5). Arayüze giriş yapmadan önce, arayüzü kullanmak için çalışan bir (yerel ya da uzak) servise ihtiyacınız olacak. Kulla nıcınızla yerel bir servis başlatmak isterseniz "deluged" komutunu kullanabilirsiniz. Ardından web tarayıcınızdan http://localhost:8112/ adresine girerek arayüze ulaşabilirsiniz. Kar DELUGE I ona bağlanabilirsiniz. HTTP üzerinde olma sına rağmen, Mako ve Twisted yardımı ile hazırlanmış bu arayüzde torrent ekleme/ çıkarma ve seçenekleri düzenleme işlemle rinin GTK arayüzünden herhangi bir farkı bulunmamakta. Konsol Arayüzü: Resim 5 - Deluge web arayüzü şınıza çıkan parola sorgusunda öntanımlı şif re "deluge" olarak ayarlanmış durumda. De luge ilk girişinizde şifrenizi değiştirmeniz için gerekli uyarıyı yapar. Şifre sorgulamasını geçtikten sonra karşınıza çıkan bağlantı yö neticisinde çalıştırdığınız yerel servisi görüp Uygulamanın bir de konsolda çalışan hali; ncurses arayüzü bulunmakta. Bu arayüzü de "delugeconsole" komutu ile başlatabilirsiniz. Konsol arayüzü de çalışmak için bir servise ihtiyacı olması yönüyle web arayüzüne ben zer ("deluged" komutu ile başlatabilirsiniz). Açılan konsol arayüzünde uzak sunucuya bağlanmak için "connect {sunucuadresi} {kullanıcıadı} {şifre}" kullanmalısınız. "info" komutu ile aktif torrentler hakkında bilgi alabilmeniz de mümkün (Resim 6). Diğer ge çerli komutlar hakkında yardım için "help" ko mutunu kullanabilirsiniz. Gelecek yazımızda Deluge'nin sunucu olarak ayarlanması ve init betikleri konularına de ğineceğiz. Linkler: http://delugetorrent.org/ Resim 6 - Deluge konsol bilgi ekranı www.enixma.org Mayıs 2010 Sayfa 5 QUAT İleri matematiğin eğlenceli yanı B Resim 1 - Quat ana sayfa, nesne editörü ve önizleme pencereleri ile Tanju Taşçılar tanju@enixma.org byncsa www.enixma.org Mayıs 2010 Sayfa 6 elki de bir miktar soyutlama yeteneği ge rektirmesi nedeniyle, her nedense okul da çoğu öğrencinin sevmediği ya da anla yamadığı için sevemediği derslerin başında matematik gelir. İnsanların gerçek hayatta karşılaştıkları şeyleri anlayabilmeleri ve bu nunla ilgili bilimsel çalışmaları kavrayabilme leri kolaydır. Ancak gerçek hayata farklı bi çimlerde yansıyan ve daha çok soyut ortam ve kavramlar çerçevesinde gelişen matematik gibi bilim dallarında bu her zaman mümkün olmaz. Konumuz olan program, quat, normal mate matiğin de ötesinde çok boyutlu uzay, kaos gibi kavramların da geçtiği ileri matematik alanında kullanılan ancak bunu insan kav rama sınırlarındaki görüntülerle sonuçlanma sını sağlayan ilginç bir program. Önce biraz teori Quat ile fraktal denilen matematiksel kav ramları kullanmaktayız. En basit anlatımı ile fraktal belirli bir şeklin farklı boyutlarda yine QUAT Resim 2 - Pisagor yöntemi ile fraktal lenmesi ile oluşan şekillerdir. Çok basit olarak Pisagor fraktali denilen ve bir kare ile başlayıp yan yüzeylerine ikişer kare daha eklenen ve bu işlemin sonsuz sayıda sürdürülmesi sonucu elde edilen şekli örnek verebiliriz. Elbette bütün fraktaller bu kadar basit değildir. Başlangıç şekli bir fonksiyon tarafından belirlenir ve bu şeklin ne şekilde yineleneceği ayrıca belirtilir. Fraktal terimi Benoit Mandelbrot tarafından kısmi boyutlara sahip nesneleri tanımlamak için kullanılmıştır. Nokta sıfır boyutludur, doğ ru bir boyutlu, düzlem iki boyutludur. Ancak üzerinde bir ya da sonsuz sayıda 'düğüm' bulunan bir 'doğru'yu nasıl tanımlarız. Öklit geometrisinde tanımlanamayan bu tip nes neler için fraktal tanımı yapılmaktadır. Bu tip çalışmalar ilk olarak Fransız matematikçi Gaston Julia (18931978) tarfından yapıl mıştır. Daha sonra günümüz matematikçile rinden (1924 ) Mandelbrot bilgisayar tek nolojisini de kullanarak yaptığı çalışmalarda bunu sistem olarak ortaya koymuştur. www.enixma.org Mayıs 2010 Sayfa 7 Resim 3 - Mandelbrot fraktali Resim 4 - Julia setinden bir fraktal Gaston Julia tarafından tanımlanan fraktaller Julia seti olarak adlandırılır. Fraktaller komp leks sayılarla ifade edilirler, reelgerçel bö lümleri yatay eksende imajinersanal bölüm leri dikey eksende 'görüntülenir'. Buraya kadar ele aldığımız fraktaller iki bo yutluydu. Peki daha çok boyuta nasıl ge çeriz? Birer sanal imajiner sayı olan fraktal 'çekirdek fonksiyonları' için ek boyut ek leyebiliriz. Bu ekler j eksenine ek olarak k ve l eksenleri ile olur. Bunlar da imajiner bi leşenlerdendir. Elbette 4'ten daha fazla bo yuta hatta sonsuz boyuta da teorik olarak çıkabiliriz. Ancak üç boyutun ötesi insan algılamasını aşmaktadır. Üç boyutlu cisimleri de iki boyutlu bir düzlem olan ekranda izdüşüm olarak görüntüleyebiliriz. İki boyutlu bir kompleks sayı a + bj şeklinde, gerçel kısmı a, sanal kısmı b olan bir denklem ile belirlenir. Bu sayıların açıklanması konu muzu çok aşacağı için detaylarına değinme yeceğiz. Julia seti ile Mandelbrot seti arasında önemli bir fark bulunmaktadır. Julia seti her iteras yonda farklılaşabilirken, Mandelbrot setindeki 'birim' görüntünün farklı boyutlarda ancak sürekli tekrarladığı görülür. Bu nedenle Man delbrot setine 'kurallı' denilirken, Julia seti 'ka otik' olarak adlandırılır. Bahsi geçen setler sonsuz sayıda elemana haizdir. Üç boyutlu fraktaller ve Quat Artık konumuz olan Quat ile ilgilenebiliriz. Quat dördüncü boyutu sabit bir sayı olarak tutulan fraktallerin oluşturularak izlenmesi ve resimlerinin alınması için kullanabileceğiniz bir uygulamadır. Oluşturmak için Julia seti ya QUAT Resim 5 - Ana pencerede oluşturulmuş fraktal dart' yaklaşımlar seçenek olarak kullanılabilir ve ek parametrelerin değişimi ile sonsuz sayıdaki faraktalleri elde etmeniz mümkün dür. Oluşturulan fraktal 'cisme' bakış açınızı, uzaklığınızı, ışık durumunu değiştirebilir, ön tanımlı seçeneklerden birini kulanarak ya da kendi tanımlayacağınız fonksiyonlarla şekille rinizi renklendirebilirsiniz. PNG Quat ile elde ettiğiniz fraktalleri PNG for matında saklayabilirsiniz. Pekçok Linux kul lanıcısı için çok tanıdık olan bu format ilginç gelebilir ama resim bilgisi dışında veri de depolayabilir. Quat bu veri depolama özel liğini kullanarak oluştumuş/oluşturmakta ol duğunuz fraktal ile ilgili tüm parametreleri dosyaya kaydeder. Bu durumda yüklenen 'resim' dosyası ile çalışmaya devam edebilir, fraktal oluşturmada iterasyonları devam etti rebilir ya da parametre değişikliği ile yeniden başlayabilirsiniz. da Mandelbrot setini hatta kendi tanımla yabileceğiniz farklı biçimleri bile kullanabi lirsiniz. www.enixma.org Mayıs 2010 Sayfa 8 Hemen belirtelim, Quat'ı kullanabilmek için derin matematik bilgisine ihtiyacınız yoktur. Fraktallerin oluşturulması için gereken 'stan PNG dosyasını kullanmak için 'Image' me nüsü ya da 'Parameters' menüsü kulla nılabilir. Kullanılan menüye göre ya tüm resim image ya da sadece parametreler yüklenir veya kaydedilebilir. QUAT .ini dosyasından parametreler Quat yalnızca grafiksel arabirim ile değil aynı zamanda konsoldan da kullanılabilir. Bu kul lanımda .ini eklentili parametre dosyalarını kullanmak görüntü olmadığı için sık rastlanan bir yaklaşımdır. Bu dosyalar elbette aynı za manda grafik arabirim tarafından da kulla nılabilir. ZBuffer 0.92 sürümünden itibaren Quat resim oluş turmada farklı bir yöntem kullanmaya baş lamıştır. ZBuffer denilen 'ara işlem' ile fraktal hesaplama ile hesaplanan noktaların görüntü özelliklerinin eklenmesi iki farklı aşama haline getirilmiştir. Fraktal hesaplama kısmı uzun zaman alan kısım olarak gerçekleştirildikten sonra, ışık kaynağı, renk paleti, renk formülü ve çevre aşdınlatması gibi parametreler is tenildiğinde değiştirilerek son görüntünün elde edilmesi sağlanır. Bu sırada uzun zaman alan fraktal hesaplama işlemi yapılmayacağı için işlem çok daha hızlı olarak gerçekleşecek ve her seferinde bazı işlemlerin yeniden ya pılması ile yapılan zaman kaybı önlenecektir. ZBuffer verileri ZBuffer menüsü ile uzantısı .zpn olan bir dosyaya kaydedilebilir ya da buradan yüklenerek tekrar kullanılabilir. Hesaplama Calculation Hesaplama menüsünde yukarıda değindi ğimiz iki farklı veri alanına ilişkin girişler bulunur. Buradan bir ZBuffer ya da para metreleri tanımlanmış resim üzerinde fraktal Şema 1 - ZBuffer'sız ve ZBuffer ile çalışma şekilleri www.enixma.org Mayıs 2010 Sayfa 9 hesaplama işlemini başlatabilir ya da dur durarak ara verebilirsiniz. Fraktal hesaplama işlemi ara verilmezse 'Max Iteration' para metresinde belirtilen iterasyon (yineleme) sa yısına kadar devam eder. Ana Pencere Aslında başlangıçta örnek bir fraktal resmi bulunan ve esas özelliği menüleri barın dırmak gibi olan Quat ana penceresinin en temel penceresini bulunduran menüsü Pa rametersParametreler menüsüdür. Fraktalin tüm özelliklerini bu alanda belirleriz. Bu alanda belirlenenlerin geçerli olup da ana penceredeki 'Calculation' menüsü işlemlerini yapabilmemiz için gerekli değişiklikleri yap tıktan sonra 'Ok'Tamam tuşunu kullanmamız ve sadece ana pencerenin açık kalması gerekir. Çoklu pencere yapısında gibi görülen program aslında biraz karma yapıya sahiptir. Parametre Editörü penceresinin altında 'Pre view'Önözleme penceresi ek olarak açılabilir. Parametreleri belirlenmiş ya da dosyadan yüklenmiş görüntü ve veri için hesaplama işlemi ana pencerede olur. Görüntü belirlenen parametrelere göre bu pencere içinde oluş turulur. Bir kez oluşturulmuş görüntü png resmi ya da zbuffer olarak kaydedildikten sonra yeni parametre değişikliği için 'kapa tılması' gerekir. Bu işlemi İmageClose ya da ZBufferClose ile yaparız. Bu kapatma işlemi sonrasında çalışma alanları temizlendiği ve yeniden kulanılabilir hale geldiği halde yük QUAT Resim 6 - Object - Nesne editörü lenmiş bulunan parametreler silinmeden kalır. Bu şekilde parametre editörü ile istediğimiz değişikliği kaldığımız yerden yapmamız müm kün olur. Eğer parametrelerin sıfırlanmasını istiyorsak, Parameters menüsündeki Reset girişini ya da parametre editöründeki Reset butonunu kul lanırız. Parametre Editörü Object Editor Nesne Editörü Parametre editörü temel ayar alanımızdır. Bunun da ilk sayfası Object Editor Nesne www.enixma.org Mayıs 2010 Sayfa 10 Resim 7 - Color - Renk editörü Editörü en sık kullanılan ve en önemli parametrelerin ayarlandığı alandır. Parametre editörü penceresinin sol üst bölümü Object, View, Color, Intersection ve Other sayfaları için uygun parametrelerin bulunduğu sayfaları açarken alt bölüm, sağ köşe ve sağ yan sabit araçları bulundurur. Nesne editörü sayfasında Max Iteration ola rak yineleme sayısı, 4thdim intersection ile dördüncü boyut için tanımlanacak sabit ve Bailout ile sonlandırma değeri belirlenir. Iteration Formula ile Julia setlerinden özel fonksiyonlara kadar belli sayıda sabit fonk siyonu seçip kullanabilirsiniz. Bazı iterasyon formülleri seçildiğinde ek parametre girişleri de görüntülenebilir. Fraktalinizin gerçel ve sanal parametreleri yanında bir Mandelbrot görünümünü de içeren dört satırlık parametre alanından belirlenir. c(1, i, j, k parts) altında gerçel ve sanal değerleri girebilirsiniz. Bu parametreleri değiştirdiğinizde hemen yanın daki 'Redraw'yeniden çiz butonu ile Man delbrot görünümü yenilenebilir. Bunun hemen altına gelen yerdeki altı adet buton ile yine Mandelbrot görünümü sağasola, yukarı aşağı kaydırılabilir ya da büyütülüp küçül tülebilir. Bu görünüm üzerindeki küçük kırmız artı fare ile hareket ettirilerek merkez noktası sayı girilmeden de belirlenebilmekte. PreviewÖnizleme bölümünde yer alan 'own' QUAT Resim 8 - Intersect - Kesit editörü isimli buton aktif olduğunda solundaki küçük işaret beyazdan sarıya döner ve mevcut parametreleri kullanmanızı sağlar. Bunu ka patırsanız (nokta beyaz) varsayılan değerler kullanılacaktır. Aynı yerdeki 'Show' butonu önizleme pen ceresini gösterir. Önizleme penceresinde pa rametrelerinizi girmiş olduğunuz şeklin görül mesi için önceden Calc butonu ile oluş turulmuş olması gereklidir. Hemen yanında yer alan Preview Size ayarı ile önizleme görüntüsünün boyutlarını ayarlamanız müm kündür. Unutmamak gerekir ki; ne kadar büyük görüntü seçilirse oluşturulması için gereken zaman da o kadar fazla olacaktır. www.enixma.org Mayıs 2010 Sayfa 11 Resim 9 - Other - Diğer parametreler sayfası Sağ köşede yer alan üç grafik fraktal cis mimize bakış açısının grafiksel olarak be lirlenmesini sağlar. BesideYandan, Above Üstten ve FrontÖnden görünümde beliren yeşil kutucuk görüntü yüzeyini belirtir. Bu kutucukların ortasında yer alan küçük kareler fare ile yer değiştirilerek görünüm açısı ayarlanabilir. Bu grafik araçlar ile yapılan değişiklikler View penceresindeki View Point değerlerini de ğiştirirler. Ya da bu değerleri elle değiştirerek de istediğiniz bakış açısını ayarlayabilirsiniz. Parameters View View penceresi görünüm özelliklerinin ayar landığı alandır. Az önce bahsettiğimiz View Point değerlerinin yanısıra Light Source Işık kaynağı ve Interocular gibi seçenekleri de barındırır. İnterocular seçeneği ile Quat prog ramının bir başka özelliği olan stereo görüntü oluşturmayı da açıp kapayabiliriz. Burada distance iki göz arasındaki uzaklığı, angle ise açıyı temel alır. Bu değerlerin 0'dan farklı olması durumunda PreviewÖnizleme bölü münde yer alan Stereo butonu kullanılabilir hale gelir. Bunun aktif olabilmesi için ya nındaki kutucuğun sarı yapılması lazımdır. QUAT olan Color Formula Renk Formülü hazır for müllerden belirlenebileceği gibi kendi tanım ladığınız bir formül de olabilir. Parameters Intersection Kesitler Fraktal cisminizin belli alanlarından kesitlerini alıp görüntülemeniz de olanaklıdır. Bu işlem için kesit alanlarının tanımlanması gerekir. Bu tanımlar Intersection sayfasında yapılır. Hiç kesit tanımlamayabileceğiniz gibi birden fazla kesit de tanımlamanız mümkündür. Bunun için AddEkle butonu ile kesit ekleriz. Eklenen her kesite sol bölümde bulunan kaydırma aracı ile kesitin sayısını görüntüleyerek ula şabiliriz. Kesit ile ilgili parametreleri QSpace coordinates alanında belirleyebiliriz. Parameters Other Diğer parametreler Bu sayfada görüntü çözünürlüğü, yansıma, çevre ışığı ve antialias özelliklerini düzenle yebilirsiniz. Çözünürlük olarak standart çözü nürlükleri ilgili düğmeyi kullanarak belirleme kolaylığı bulunmakta. Resim 10 - Quat ile üç bölgeli renklendirilmiş klasik Julia fraktali Parameters Color Bu alanda fraktal cismimizin renklerini de ğiştirebiliriz. Üst bölümde renk paleti bulunur. Paletin ilk ucunun rengi Color1 ikinci ucunun rengi ise Color2 ile belirlenir. Bunların hemen www.enixma.org Mayıs 2010 Sayfa 12 solunda yer alan RangeAlan bölümündeki Add ve Del butonları ile alanı daraltıp genişletebiliriz. Weighting seçeneği 1 veya altında bir sayı olarak ayarlanabilir. Renklendirme seçeneklerinde önemli bir alan Programın genel kullanımını ve yaklaşımını oldukça özlü bir şekilde anlatan bir kullanım kılavuzu bulunmakta. Ancak bu kılavuz henüz Türkçe değil. İleri matematik ile iyi eğlenceler. AWK/GAWKVI Diziler A wk ile diğer programlama dillerinde olduğu gibi diziler kullanılabilir. awk ile çalışırken diziler diğer dillere göre farklı özelliklere sahiptir. Bu nedenle farklı bir programlama dili ile daha önce çalıştıysanız awk'taki dizileri biraz 'pasaklı' bulabilirsiniz. Bir dizi anlaşılması kolay olması bakımından bir tabloya benzetilebilir. Bu tablo iki sütundan oluşur ve ilk sütunda sıra numarası, ikinci sütunda ise karşılık gelen eleman yer alır. Bir diziyi diğer dizilerden ayırmak için dizilere bir isim verilir ve diziler bu isimler ile anılır. Awk için kullanılabilecek olan dizi isimleri, değişkenler için geçerli olan kurallara uymak durumundadır. Özel amaçlar için tanımlanmış değişkenler, bir dizi için isim olarak kullanılamaz. Aynı zamanda tanımlanmış olan bir değişken de bir dizi için isim olarak kullanılamaz. Bu nedenle bir awk programınızda bir dizi tanımlarken bu noktaya dikkat etmeniz gereklidir. Örneğin CONVFMT bir değişken adı olarak kullanılamayacağı gibi bir dizi adı olarak da kullanılamaz. Bir dizideki elemanlar onları tanımlayan indisler ile tanımlanır. İndisler sayısal değer alırken, awk için bu zorunluluk söz konusu değildir. Awk için dizilerde indisler ile karşılık geldikleri değerler sayı, dizge vb olabilir. Yani bir diğer deyişle awk'ta dizideki indis ile eleman yer değiştirebilir. İndis sayı olmak zorunda olmadığı gibi elemanlar da sayı olmak durumunda değildir. Dizileri indis veya eleman olarak tanımlayacak iseniz “...” arasında yazmanız gereklidir. Ancak Bir sayıyı eleman veya indis olarak kullanıyorsanız bunu “...” arasında yazmak durumunda değilsiniz. Awk bunu otomatik olarak yapacaktır. Diğer programlama dillerinde dizilerin indisleri pozitif tam sayılar olmak zorundadır. Gökşin Akdeniz goksin@enixma.org byncsa www.enixma.org Mayıs 2010 Sayfa 13 Bir diğer önemli fark awk'da dizilerin boyutunun tanımlanmasının zorunlu olmamasıdır. Diğer programlama dillerinde bir diziyi tanımlarken boyutunu yani barındırdığı elaman sayısını da tanımlamanız gerekirken iken awk ile bu zorunluluk söz konusu değildir. Bir awk programında herhangi bir noktada değişken tanımlayabildiğimiz gibi bir dizinin herhangi bir elemanını bir program içerisinde herhangi bir noktada tanımlamamız da olanaklıdır. Aynı şekilde bir dizinin herhangi bir elemanı herhangi bir anda tanımlayarak önceden tanımlanmış olan veya o anda tanımlanan bir diziye ataması yapılabilir. Bu işlemde tanımlanan diziye atanacak olan eleman dizinin ilk veya sıradaki elemanı olmak durumunda değildir. Dizinin 1,8,19 elemanları tanımlı iken bunlara ek olarak 345'inci elemanı da tanımlanabilir. Awk ile dizileri tanımlayan indis ile elemanlar yer değiştirebilir. Diğer programlama diller ile karşılaştırıldığında awk'ın diziler konusunda pasaklı olarak değerlendirilmesi bu özelliklerinden dolayıdır. Awk'da diziler pasaklı olarak değerlendirilse de diğer programlama dillerindeki dizilere göre AWK/GAWKVI üstün olduğu noktalar da vardır. Diğer programlama dillerinde diziler boyutları ile tanımlanır ve programlama dilinin özelliklerine göre bellek üzerindeki ilk boş alandan sonra gelen ve tanımlanana boyutu kadar bir bellek alanını kendisine ayırır. Bu alanda dizi ve elemanları sak lanır ve çağrıldığında bu bellek adreslerinden okunur ve işlenir. Bu yaklaşım bazen çağrılan bir dizideki elemanın işleme alınabilmesi için dizinin en başından başlanarak dizi elemanlarının okunmasını ge rektirir. Bu durumda dizinin sonlarında yer alan bir elemanın okuna bilmesi için kendisinden önce gelen tüm elemanların okunması zo runludur. Awk ise bu açıdan daha etkin ve verimlidir. Diziler bellek üzerinde ardışık adreslerde saklanmaz ve doğrudan ilgili bellek adre sinden okunarak işleme alınır. Awk'da diziler “pasaklı” olabilir ama di ğer programlama dillerine göre daha hızlı ve etkin olarak kullanılabilir. Dizi tanımlama Ve Eleman Atama Awk ile bir diziyi tanımlamak basit bir işlemdir. Tanımlamak istediğiniz dizi, atanacak olan eleman ile bu elemanın indisini tanımlamak yeter lidir. dizi_adı [indis] = eleman Sadece dizi adı ve indisi tanımlanırsa awk elmana “”, yani boş eleman atayacaktır. Bunu istemiyorsanız elemanı tanımlamanız veya daha sonradan boş elemanı silip yerine bir eleman atamanız yeterli olur. Aşağıdaki örnekte awk ile okunan bir dosyada yer alan kayıtlar sırası ile bir diziye atanmaktadır. Her bir satırdaki ilk değer indis, ikinci değer dizi elemanı olarak atanmaktadır. END bloğunda ise tüm kayıtlar sıra sı ile yazdırılmaktadır. Örnek olarak aşağıdaki girdiyi kullanabiliriz. 1 2 3 4 1 1 4 8 www.enixma.org Mayıs 2010 Sayfa 14 Aşağıdaki kodu awk_dizi.awk olarak kayıt edelim. #! /usr/bin/awk f BEGIN { print "Dizi örneğidir." print "" NR = max } dizi[$1] = $2 END { for (x = 1; x <= max; x++) print dizi[x] } Çalıştırdığımızda aşağıdaki sonuç döndürülecektir. [goksin@tardis /usr/home/goksin]$ awk_dizi.awk dizi.txt Dizi örneğidir. 1 1 2 1 3 4 4 8 [goksin@tardis /usr/home/goksin]$ Yukarıdaki program dosyadan okuduğu kayıtları dizide saklamaktadır. END bloğu işlendiğinde dizinin elemanları yazdırılmaktadır. Yardırma işleminin dizinin eleman sayısı ile sınırlı olması için awk tarafından okunan kayıt sayısı NR kullanılıp bu değer döngü için max adlı değişkene atanmaktadır. Böylelikle for döngüsü için gerekli olan koşul max değişkeninin dizinin indis sayısı ile sınırlanması sağlanır. Dizilerdeki İndislerin Tanımlanması Dizilerdeki elemanlar indisler ile tanımlandığı için indislerin tanımlan AWK/GAWKVI ması önemlidir. Awk için indisler dizge veya sayı olabileceği için dizi lerde kullanılacak olan dizgelerin diğer programlama dillerinde olduğu gibi tam sayı olarak seçilmesi hataları en aza indirecektir. Öte yandan dizgenin de indis olarak kullanılabileceği durumlarda dizgeler üzerinde yapılacak olan işlemlere dikkat edilmesi zorunludur. Aşağıdaki örnekte dizge olarak kullanılan değişkene ondalık basa maklara sahip bir sayı atanmaktadır. Daha sonradan söz konusu değişken üzerinde awk fonksiyonu çalıştırılıp dizgenin yeni değeri belirlenmektedir. Bu yeni değer ile yapılan sorgulamada dizideki indis değiştiği için karşılığı olan elaman bulunmamaktadır. x = 1.234 dizi[x] = 1 CONVFMT = "%2.2f" if (x in data) printf "%s dizide var.\n", x else printf "%s dizide yok\n", x Yukarıdaki kod çalıştırıldığında 1.23 dizide bulunamayacaktır. Zira ilk satırda x değerine 1.234 sayısal değeri atanmaktadır. Sonra ise x değerine tırnak içerisinde yazılan değer dizge olarak atanmaktadır. CONVFMT foksiyonu ile dönüştürülen değer 1.23 olmaktadır. Sonraki adımda dizideki 1.23 indisine sahip olan bir eleman olup olmadığı sorgulanmaktadır. 1.234 indisli eleman bulunsa da 1.23 indisine sahip olan bir eleman olmadığı için bulunmadığını belirten bir mesaj döndü rülmektedir. awk ile diziler tanımlanırken indislerin sorun yaratmaması için dizgeler ve sayılar ile yapılan işlemlere özellikle dikkat edilmesini gerektirir. Yazdığınız bir awk programının bir diğer sistemde doğru çalışması için bu dönüşümlerin, işlemlerin ve farklı awk sürümlerinin neden olabile ceği hataları asgariye indirmek için indislerde olabildiğince tamsayı değerler kullanılmalı ve indisler üzerinde bir işlem yapılmasına özen www.enixma.org Mayıs 2010 Sayfa 15 gösterilmelidir. Aksi halde programının çıktısı beklediğiniz gibi olma yacaktır. Dizi Elemanları ile İşlemler Programlama dillerinde diziler ile çalışılırken dizilerin indisleri ardışık ve sıralı olan pozitif tam sayılardır ve her bir indise bir eleman karşılık gelir. Dolayısıyla bir dizinin elemanları ile işlem, indisin ilk değerinden en son değerine dek elemanlar sırası ile okunarak yapılabilir. Awk için dizilerin elemanları dizge veya sayı olabileceği için bu kurala göre işlem yapılmaz. Bu nedenle awk'da bir dizinin elemanları ile işlem yapılacak ise for döngülerini kullanmak daha uygun olacaktır. for (değişken in dizi) for_döngüsü_gövde_bölümü Bu for döngüsü dizindeki her bir indise karşılık gelen elamanlar üze rinde işlem yapacaktır. Değişken ile tanımlanan değer indis olarak alınıp söz konusu indise karşılık gelen eleman ile döngü gövdesi içerisinde yer alan komutlar işlenecektir. Bir dizideki herhangi bir indisteki elemanın kontrol edilmesi olanaklıdır. indis in dizi_adı Bu ifade söz konusu indise karşılık gelen bir eleman olup olmadığını kontrol edecektir. Söz konusu indise karşılık gelen bir eleman varsa sonuç olarak doğru/1, yoksa yanlış/0 değeri döndürülür. Aşağıdaki örnekte ornek_dizi adlı dizinin dördüncü indisine karşılık gelen değerin olup olmadığı kontrol edilmektedir. if (4 in ornek_dizi) print “eleman var.” Ancak kontrol edilen indisteki elemanın değeri bu sorgulama ile bilinememektedir. AWK/GAWKVI Dizilerden Eleman Silmek Çok Boyutlu Diziler Bir dizideki herhangi bir elemanı silmek için delete komutu kullanılır. Kullanımı aşağıdaki gibidir: Elemanların birden çok indis ile tanımlandığı dizilerdir. Çok boyutlu diziler aşağıdaki gibi tanımlanır. delete dizi_adı[indis] Bu komut çalıştırıldığında silinen elemanı geri getirmek olanaklı değildir. İndis halen var olsa da bu indise karşılık bir değer atanmamış gibi olacaktır. Sorgulamanız durumunda ise indisin karşılık geldiği eleman sıfır olarak döndürülür. Aşağıdaki örnek kod ilk üç indisteki değerleri silmektedir. if(x=1; x<3; x++<3) for (x in idizi) delete dizi[x] Bir dizide tanımlanmamış olan bir elemanı silmek isterseniz sadece gawk bu durumda hata mesajı döndürür. Awk ise bir hata mesajı döndürmez. Gawk kullanıyorsanız bir dizi delete komutu ile tamamen silinebilir. Bu kullanım ise awk için söz konusu değildir. delete dizi_adı awk ile bir diziyi tamamen silmek için döngü kullanılabilir. Döngü mutlaka dizideki indis sayısı kadar delete komutunu çalıştırmak durumundadır. Bu şekilde diziyi temizlemek yerine split kullanılabilir. split("", dizi) Bu awk ile gelen hazır bir fonksiyondur. İlk olarak dizideki elemanları siler ve varsa “” olan elemanları ayırır. Bu işlemin ardından ise dizi tamamen temizlenmiş olur. Yukarıdaki komutlar bir diziyi tamamen ortadan kaldırmaz sadece dizinin içeriğini siler. Dizi halen değişken olarak kalır. www.enixma.org Mayıs 2010 Sayfa 16 dizi_adı [indis1, indis2, indis3, ...] Awk ile çok boyutlu diziler tanımlanabilir. Bunların tanımlanmasında awk, indislerin aralarına bir ayraç koyarak tek bir dizgede birleştirip yukarıdaki örneklerde gördüğümüz tek boyutlu dizilere dönüştürüp kullanır. Bu dönüşüm sırasında indisler arasında kullanılacak olan ayraç awk'ın SUBSEP adlı değişkeninin tanımladığı karakter kul lanılarak birleştirilir. Bu birleştirme işleminin sonucunda dizi[1,2] = dizi[1 SUBSEP 2] aynıdır. Dizi[1,2] atanan değer ile dizi[1 SUBSEP 2]'nin değerleri aynıdır. Awk için SUBSEP değişkenin varsayılan değeri "\034" dizgesidir. Bu karakter yazdırılabilir bir karakter değildir. Bu karakterin kullanılması bilinçli bir seçimdir. Eğer yazdırılabilir bir karakter kullanılacak olursa indislerin kullanılan diğer yazdırılabilir karakter ile karışması söz konusu olabilir. Bu durumda ayrımın yapılması güçleşebilir. Bu nedenle de yazdırılamayan karakter olan “\034” ayraç kullanılması en doğrusu olmaktadır. Diziler üzerinde yapılabilecek olan işlemler nasıl tek boyutlu dizilerde yapılabiliyorsa çok boyutlu dizilerde de yapılabilir. Buradaki tek fark ise indislerin tanımlanmasında ortaya çıkmaktadır. [indis1, inmdis2, indis3, ...] şeklindeki tanımlama ile çok boyutlu diziler ile işlem yapılabilir. (indis1, indis2, ...) in dizi Gelecek bölümde fonksiyonlar üzerinde duracağız. PXE İLE SLACKWARE KURULUMU PXEBoot ile ağ üzerinden kurulum B Resim 1 - Slackware 13.0'ın pxelinux ile ağ üzerinden açılışı Abdullah Ülker caylakpenguen@truvalinux.org.tr byncsa www.enixma.org Mayıs 2010 Sayfa 17 u yazıda Slackware 13.0'ın ağ kartı ile boot edilerek kurulum işlemi anlatıla caktır. Günümüzde gerek masaüstü gerekse dizüstü bilgisayarlarda kullanılan ağ kartları nın hemen hemen hepsinde pxe (Pre eXecutable Environment) özelliği bulunmakta ve cihaz bu şekilde açılıp işletim sistemine geçilebilmektedir. Slackware Linux, CD, DVD, yerel disk, ntfs sunucu, samba, http veya ftp sunucu üze rinden rahatlıkla kurulabilir. Bunun için az bir çaba ile pxelinux ve tftp sunucusu kurulabilir. Yazımızda kurulum, ekran görüntülerinin alı nabilmesi için VirtualBox üzerinde sanal bir bilgisayar kullanılarak yapıldı. Sunucu Sistemin Yapılandırılması Sunucu sistem olarak PII 350 MHz ve 64 MB ram'i bulunan ve yedekleme sunucusu olarak PXE ILE SLACKWARE KURULUMU kullanılan, üç IDE sabit diskli bir makina kullanıldı. Sunucu kurulum yaptığımız masaüstü bilgisayara Cros kablo ile bir hub ya da switch olmadan doğrudan bağlı. Kurulu bulunan vsftpd aktif inetd tarafından kontrol ediliyor ve anonymous giriş aktif durumda. Slackware dos yaları ftp/current dizininde bulunmakta. Pxeboot dizinini oluşturmak ve gerekli startup betiklerini gerekli yer lere yerleştirebilmek için aşağıdaki betik kullanılabilir. #!/bin/bash mkdir p /tftpboot/pxelinux.cfg cp /var/ftp/current/usbandpxeinstallers/etherboot/rc.dhcpd /etc/rc.d/rc.dhcpd cp /var/ftp/current/usbandpxeinstallers/etherboot/rc.tftpd /etc/rc.d/rc.tftpd chmod 755 /etc/rc.d/rc.dhcpd chmod 755 /etc/rc.d/rc.tftpd cp R /var/ftp/current/kernels /tftpboot/ cp /var/ftp/current/isolinux/initrd.img /tftpboot/ cp /var/ftp/current/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default cp /var/ftp/current/isolinux/f2.txt /tftpboot/ cp /var/ftp/current/isolinux/message.txt /tftpboot/ cp /usr/lib/syslinux/pxelinux.0 /tftpboot/pxelinux.0 #baslama ddnsupdatestyle none; allow clientupdates; oneleaseperclient false; allow booting; allow bootp; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.200; defaultleasetime 86400; maxleasetime 86400; option routers 192.168.1.1; option netbiosnameservers 192.168.1.1; option domainnameservers 192.168.1.1; option domainname "live.caylakpenguen.org"; nextserver 192.168.1.1; filename "/pxelinux.0"; } #bitis #end Bu betik /tftpboot dizinini oluşturur ve slackware dizini içerisinden gerekli olan kerneli ve initrd.img dosyasını ve pxelinux için yapı landırma dosyasını gerekli yerlere yerleştirir. Ayrıca otomatik ağ kartı yapılandırması için dhcpd sunucuyu ve ağ kartı üzerinden pxelinux ile boot etmeyi sağlayan ftpd sunucu startup betiklerini /etc/rc.d altına yerleştirir. Sunucuda dhcpd aktif olmalıdır. Bu pxeboot için gereklidir. Ip adresini sunucunuzun ip adresine göre düzenleyiniz. /etc/dhcpd.conf dosyası bu şekilde oluşturulmalıdır. Resim 2 - Diskin durumu PXE ILE SLACKWARE KURULUMU Resim 3 - İlk bölüm oluştu Resim 4 - Disk tipi seçenekleri Config dosyaları ayarlandıktan sonra dhcpd ve dftpd sunucularını başlatabiliriz. olarak bölümleme yapabilirsiniz. İşlemimize cfdisk kullanımı ile devam edeceğiz. (Resim 2) root@truva:~# /etc/rc.d/rc.dhcpd start root@truva:~# /etc/rc.d/rc.tftpd start cfdisk çalıştığında New Primary ile yeni bir birincil disk bölümü oluşturuyoruz. Yeni bölümün boyutunu 10000 olarak girip Beginning seçeneği ile devam ediyoruz. Bu alanı Bootable olarak da işaretledikten sonra ilk bölümümüz oluşmuş olacaktır. (Resim 3). Uyarı: Biostan lanboot seçeneğini aktif etmeyi unutmayın. Sisteminizi yeniden başlatın eğer bir hata yoksa Resim 1'deki ekran ile karşılanırsınız. Kurulum için 10GB lık bir disk kullandık. Normal bir Slackware kurulumu için 45GB disk boşluğu yeterli gelecektir. fdisk l çıktısı diskin bölümlenmediğini gösteriyor. cfdisk /dev/hda ile diskimizi görsel olarak bölümleyebiliriz. fdisk /dev/hda ile konsol bazlı Diskimizin kalan bölümünü swap olarak belirleyeceğiz. Yön tuşları ile 'Free Space' kısmını işaretleyip New seçeneği ile swap alanımızı oluşturuyoruz. Bu alanı da Primary ile birincil bölüm olarak belirliyoruz. Unutmadan hatırlatmakta fayda var; bir disk üzerinde en fazla 4 adet birincil bölüm oluşturulabilir. Oluşturulan alan Linux bölümü olarak görülür. Type seçeneği ile disk bölümünün tipini belirlerken açılan penceredeki listeden swap alanı PXE ILE SLACKWARE KURULUMU Resim 5 - Swap alanımız oluştu kodu olarak 82'yi seçmeliyiz. (Resim 45) Diskin ilk bölümünü boot olarak belirlemeliyiz. Bu işlem Lilo, Grub gibi önyükleyiciler için gereklidir. Kurulum başarılı olsa bile ilk bölüm boot olarak işaretlenmemiş ise sistem açılmayacaktır. Diskimiz Bölümlendi. Bu aşamadan sonra Write seçeneği ile bilgileri diske yazabilir veya baştan yeniden bölümleme yapabilirsiniz. Yani disk üzerinde henüz bir işlem yapılmadı. Tecrübe Kazanmak için tekrar tekrar baştan bu işlemleri yapabilirsiniz. Write seçeneği kullanıldığında ise bu veriler artık diske yazılmış olacaktır. Ok tuşları ile Write seçeneği üzerine gelinip enter ile işlem başlatılır ve sorulan soruya 'Yes' olarak cevap vermemiz durumunda gerçek işlem yürürlüğe girer. Quit ile cfdisk sonlandırılır ve swap alanımızın biçimlendirilmesi için Resim 6 - cfdisk ile diskimizin durumu mkswap /dev/hda2 komutunu kullanırız. Bundan sonraki fdisk l komutu diskimizin durumunu bize gösterir. Diskimiz düzenlendiğine göre artık Slackware kurulumunu başla tabiliriz. Bunun için setup komutunu kullanıyoruz. Bu komut ile klasik Slackware kurulum ekranı karşımıza gelir. (Resim 7) İlk işlem olarak 'Keymap' seçeneği ile tuştakımımızı belirliyoruz. Açılan listeden qwerty/trq.map ya da qwerty/trf.map ile q ya da f klavye seçimini yapabilirsiniz. İkinci seçenek olan Adswap ile swap alanı kurulum programı tarafından otomatik olarak belirlenir. 'Ok' ile devam ederiz. 'Check swap partitions for bad blocks' sorusuna 'Yes' ile devam edip swap PXE ILE SLACKWARE KURULUMU Resim 7 - (Üstte) Klasik Slackware kurulum ekranı Resim 8 - (Üst yan) Kök alanı format seçimi Resim 9 - (Alt yan) Kök-root dosya sistemi alanınızın 'bad sector' için testini yaptırabilirsiniz. Swap alanınızın yapılandırıldığını belirten mesaj bu alanın /etc/fstab dosyanıza ekleneceğini belirterek devam eder. Ana menüden Target ile partisyonlarınızı belirlemede kök root partisyonunuza geliyoruz. Bölüm seçildikten sonra biçimlendirme sayfası gelir. Eğer setup kısmına geçmeden önce konsolda kök sistemini biçimlendirdiyseniz 'No' seçebilirsiniz. Ama temiz bir kurulum için 'Yes' seçeneğini seçiniz. Kök için dosya sistemi tipini Etx4 olarak şeçiyoruz. Ext4 varsayılan olarak seçili durumdadır. Ext3, ext2, jfs, reiserfs ve xfs dosya sistemleri desteklenen diğer biçimlerdir. PXE ILE SLACKWARE KURULUMU Resim 10 - (Üstte) Kurulum kaynağı seçimi Resim 11 - (Üst yan) Sunucu adresi girilmesi Resim 12 - (Alt yan) Mevcut ayarlar için 'No' ile devam edilmesi Kök rootsisteminiz seçeneğinize göre biçimlendirilir ve /etc/fstab dosyanıza eklenir. Ana menüden 'Source' girişi ile kurulum kaynağını seçeceğiz. Slackware Kurulum kaynağı olarak CD, DVD, yerel disk, nfs sunucusu, samba, http, ftp sunucusu kulanılabilir. Biz ftp sunucusu üzerinden kuracağımız için ftp/http server seçeneği ile devam ediyoruz. (Resim 10) İşlemin devamında eth0 ağ arayüzü dhcp sunucusundan otomatik olarak yapılandırılacaktır. Dhcpd sunucusundan otomatik olarak ip adresi alacak ve ftp sunucunuza bağlanacaktır. alt+f2 ile ikinci sanal konsoldan eth0 aygıtını kontrol edebilirsiniz. PXE ILE SLACKWARE KURULUMU Resim 13 - Lilo kurulum yöntemi seçimi Sunucunuzun adresinin girilmesi istenen ekranda ftp sunucusu üzerindeki Slackware dizinini tam olarak yazıyoruz. (Resim 11) Ftp sunucusunda PACKAGES.TXT hazır ve dizin bulundu. Mevcut ayarlar ile devam edebilmek için 'No' seçeneği ile devam ediyoruz. 'Yes' seçeneği başka bir kurulum kaynağı ayarlamak içindir. (Resim 12) Resim 14 - Lilo için MBR seçimi bu ekranı geçebilirsiniz 'Simple' seçeneği ile açılış yöneticisi lilo diske kurulur. Fazla Uğraşı istemez. Eğer Lilo konusunda deneyimli iseniz Expert ile devam edebilirsiniz. (Resim 13) Paket seçim ekranında kurmak istediğiniz paketin üzerine gelip boşluk tuşu ile işaretlemeniz gerekmekte. Sonraki ekranda ise 'Full' seçeneği ile en az soru ile herşeyin kurulumunu seçiyoruz. Sonraki ekranda ek çekirdek parametresi kullanacaksanız girebilirsiniz. Lilo için 1026x768x256 framebufer seneği ile devam ediyoruz. Sistem kurulumu tamamlandıktan sonra bir açılış USB belleği oluşturma soruluyor Daha önceleri sistem açılışı için disket hazırlardık, fakat 2.6.X serisi kernel artık diskete sığmaz hale geldi. Bu ekranda Usb bellekte boot disketi hazırlayabiliriz. Skip seçeneği ile Sonraki adımda kullandığınız fareye uygun olarak fare seçimi yapıp, www.enixma.org Mayıs 2010 Sayfa 23 Lilo açılış yöneticisini diskin MBR bölümüne yerleştirmeyi seçiyoruz. (Resim 14) PXE ILE SLACKWARE KURULUMU Resim 15 - 'root' parolası belirleniyor eğer konsolda fare kullanmayı istiyorsanız GPM ekranında 'Yes' seçeneğini kullanmalısınız. Sistem servislerinin açılıştaki durumunu önlerindeki kutucuğu boşluk tuşu ile işaretleyerek belirleyebilirsiniz. Konsolda Türkçe karakterleri kullanabilmek için 'Console Font Configuration' sayfasında 'Yes' seçeneğini kullanmalısınız. Türkçe Karakterleri ö,ç,ğ,ü,ş yazabilmek için lat516 isimli fontu seçmeliyiz. 'Hardware Clock Set to UTC' sorusunu 'No' ile geçebilirsiniz. Ardından gelen 'Time Zone'zaman dilimi seçiminde Türkiye için 'Turkey' seçilecek. Daha önce root parolası belirlemediğimiz için 'Warning! No root password detected' sorusuna 'Yes' ile cevap verip alt bölümde www.enixma.org Mayıs 2010 Sayfa 24 Resim 16 - fstab dosyasını yazdırıp sistemi yeniden başlatabilirsiniz belirlediğiniz parolayı iki defa girerek ayarlayabilirsiniz. Son adım olarak /etc/fstab dosyanızın yazılmasını onaylayıp sistemi yeniden başlatabilirsiniz. LINCITYNG Şehir kurup yönetin Resim 1 - Bolluk günlerini yaşayan şehrinizde hayat tüm hızıyla sürüyor Ö Tanju Taşçılar tanju@enixma.org byncsa www.enixma.org Mayıs 2010 Sayfa 25 nüne geleni vuran, havaya uçuran aksi yon dolu oyunlardan bıktınız ve şöyle sakin bir oyun mu oynamak istiyorsunuz? Eğer çok vaktiniz ve sabrınız var ise işte size şehir kurup yönetebileceğiniz bir oyun: Lin CityNG. İsterseniz hoş bir müzik eşliğinde elinizdeki paraya, insan gücüne ve malze melere bakarak karar verip yeni yollar, dük kanlar, evler, fabrikalar ya da enerji santralları yapabilir ve insanların oturdukları yerleri kü çük bir köyden kocaman şehirlere kadar ge liştirebilirsiniz. Oyunda hedefiniz kurduğunuz yaşan alanının LINCITYNG Resim 2 - Ana menü kendi kendine yeterli düzeye gelmesi ya da tüm insanları uzaydaki kolonilere gönderme nizdir. Elbette bunun kolay olmadığını göre ceksiniz. Doğru zamanda doğru kararlar al malı ve ona göre hareket etmelisiniz. Başlangıçta kullanmak üzere çeşitli seçe nekleriniz bulunmakta. Yeni oyun girişi ile açılan sayfada bu seçenekleri buluyorsunuz. Yapacağınız seçimde bulunacağınız teknolo jik seviyeyi ve boş bir arazi ile mi, yoksa rastgele bir köy ile mi başlamayı seçe ceksiniz. Teknolojik durum açısından işlerin kötüye gittiği 'kriz' dönemlerini 'bad times', ya da refah içinde yaşanan bir ortamı 'good times' seçmeniz mümkün. Ayrıca coğrafik özellik olarak çöle yakın bir kara parçası extreme arid ile çoğu su kaplı bir alanı extreme wetland seçmeniz mümkün. www.enixma.org Mayıs 2010 Sayfa 26 Resim 3 - Seçenekler Oyunun ana penceresi köyünüzüşehrinizi yapay üç boyutlu olarak gösterir. Sol alt köşede oyunun akışını belirleyen düğmeler, sağ alt bölümde mini bilgi penceresi ve ek bilgi düğmeleri yer alır. Sol üst yan ise kul lanacağınız veya yerleştireceğiniz araç, yapı ve benzeri şeylerin ana düğmelerinin sıra landığı alandır. Bu düğmelerin sağ altlarında yer alan küçük üçgenlere tıklandığında düğ melerin sınıfına göre ek seçenekler görün tülenir. Her bir seçeneğe sağ tıklandığında ise bu seçenek ile ilgili olarak yardım bilgisi karşınıza gelecektir. İmleç köyünüz üzerinde gezinirken seçimini yaptığınız araca bağlı olarak farklı şekiller görüntülenecektir. Bunlar üç boyutlu yapay görünümde kare alanların karşılığı olan bak lava biçimli 'kutucuklar' şeklinde ya da bu nunla birlikte bunu çevreleyen koyu alanlar Resim 4 - Oyun başlangıç seçenekleri biçiminde görünür. Küçük kutucuklar aracını zın doğrudan etkileyeceğ ve ev, bina, yol ve benzeri gibi şeylerin yer alacağı bölgeyi be lirtirken, çevresindeki koyu alanlar bu araç ların ekonomik ya da teknik olarak etkile yeceği bölgeyi gösterir. Bir bakkal dükkanı açtığınızda bakkal dükkanının yerleşeceği alanın çevresi koyu olarak belirtilen bölge bu bakkala doğrudan ulaşılabilen alanı gösterir. Resim 5 - Yeni sürümde köprü inşası LINCITYNG Küçük penceredeki 'Stat' kulakçığı ile görün tülenen, sisteminizin o anki durumudur. Bu rada nüfus, teknik seviye, para, çalışan işçi sayısı gibi geleceğinizi belirleyecek verileri görebilirsiniz. Oyunda gerçek hayatta bir insan toplu luğunda önemli olan pekçok şey dikkate alınmalıdır. Yerleştirilen nesnelerin bir mali yeti ve bir de etki alanı bulunur. Şehrinizin yaşamı sürecinde işçiler çalışır ve değer üre tirler, bakkal ve alışveriş yerlerinde yapılan işlemler ekonomiyi oluşturan ögelerden biri dir. Nakliye, eğitim, eğlence... bunların hepsi toplum hayatınızı etkiler ve sizin hedefinize ulaşabilmeniz için gereken ipuçlarını izleme nizi ve bu duruma göre yatırım ve harcama yapmanızı sağlamaktadırlar. Resim 6 - Yerleştirilen bakkal ve etki alanı Bunun uzağında bulunanların taşımacılık transportation ile bu bakkala ulaşması müm kün olabilir. Bu da ek masraf demektir. Sağ alt bölümdeki küçük pencere üzerindeki kulakçıklara bağlı olarak farklı şeyleri görün tüler. İlk görüntü biçimi harita biçimidir ve www.enixma.org Mayıs 2010 Sayfa 27 Oynamakta olduğunuz oyunu kaydedip sonra istediğiniz zaman yeniden yükleyerek oyuna kaldığnız yerden devam edebilirsiniz. Zamanı hızlandırıp gelişmelerin hızlı çekim ile oluş masını izlemeniz de mümkün. Elbette bu ara da olumsuz şeyler de olabilir. buradaki küçük yeşil alan ekranınızda görülen alandır. Bu alanı küçük haritadaki tıklamalar ile değiştirebilir ve istediğiniz arazi bölümünün ana pencerede görünmesini sağlayabilirsiniz. Bu hareketlilik aynı zamanda imleç ana pen cere içindeyken yanlara ve üstalt bölümlere geldiğinde o yöne kayması ile de gerçekleşir. Oyuna başladıktan ve alıştıktan sonra herşey sizin hayal gücünüz ve elinizdeki verileri de ğerlendirmenize bağlı olacaktır. Doğru za manda doğru işleri yaparsanız 'ülkenizi' iyi günler bekliyor demektir. LinCityNG yani LinCityNextGeneration Lin City oyununun biraz daha geliştirilmiş ve gü LINCITYNG akışını ve diğer bazı verileri görebilirsiniz. Küçük pencerenin hemen solunda yer alan üzerinde + ve bulunan büyüteç şeklindeki düğmeler ile ana pencerede yaklaşma ya da uzaklaşma yapmanız mümkün. Hemen uya ralım ne kadar uzaklaşırsanız çok daha fazla veriyi işleyeceği için bilgisayarınız o kadar yorulacaktır. Resim 7 - Araç seçimi zelleştirilmiş hali olarak geliştirilmeye devam edilmektedir. Oyunun seçenekleri ilk giriş sayfasından erişilen bir sayfada yer alır. Ol dukça sınırlı sayıda olan seçenekler arasında arkaplan müziğinin çalınması, müziğin seçimi ve ses etkilerinin seviyesi yer alır. Tam ekran olarak görülen seçim ise anlaşılabileceği gibi oyunun tam ekranda çalışmaya geçmesini sağlar. Geriye dönüş için ise ayar dosyasında küçük bir değişiklik yapmanız gerekiyor. <?xml version="1.0"?> <configuration> <video x="800" y="600" useOpenGL="yes" fullscreen="no" /> <audio soundEnabled="yes" soundVolume="100" www.enixma.org Mayıs 2010 Sayfa 28 musicEnabled="yes" musicVolume="50" playSongName="02 Robert van Herk City Blues.ogg" /> <game quickness="9" /> </configuration> ~/.lincityng/userconfig.xml dosyasının içeri ğinde video ile ilgili satırı yukarıdaki gibi ya parak başlattığınızda oyun 800x600'lük bir pencerede çalışacaktır. Oyununuzdaki şehriniz ilerleyip geliştiğinde ve büyüdüğünde bazı şeyleri daha iyi ayırd edebilmek için sağ alttaki düğmelere ihtiya cınız olacaktır. Bu düğmeler ile küçük pen cere içinde enerji alanlarını, işsizliği, trafik Son olarak belki de en önemli göstergelerden birinin sol altta yer aldığını belirtmeliyiz. Bu gösterge zaman göstergesi. Bulunduğunuz günlerin hızla akıp gittiğini görebilirsiniz. İn sanların spor sahalarında oynamalarını da görmeniz mümkün. Uçan kuşları, tellerdeki enerji akışını, fabrika ve ocakların duman larını izleyebilirsiniz. İyi ya da kötü bir belediye başkanı, ülke yö neticisi olmak tamamen sizin ellerinizde. TUXMATH SCRABBLE Matematik ile bulmaca G Resim 1 - Fotoxx galeri ve görüntüleme pencereleri ile genel görünümü Tanju Taşçılar tanju@enixma.org byncsa www.enixma.org Mayıs 2010 Sayfa 29 azete ve dergilerdeki çapraz bulmaca ları bilmeyen yoktur. Pekçok kişinin boş zamanlarında doldurmaya çalıştığı bu tip bulmacaların biraz değişik bir biçimi olan 'Scrabble' kelime oyunu da aile oyunları arasında sayılabilir. Bu oyunları matematik ile birleştirdiğimizde Scrabble oyununun mate matiksel karşılığı olarak TuxMathScrabble karşımıza çıkıyor. Oyun küçük rakamlar ve basit dört işlem kullanan seviyeden başlayan daha büyük ve TUXMATHSCRABBLE karmaşık sayıların kullanımına giden seviye ile farklı becerilere hitap edebilmekte. Bu da küçük yaşlardan ileri yaşlara kadar büyük bir alanı kapsamakta. Seviye değişimi için F1 tuşunu kulanmanız gerekiyor. Oyun iki kişi arasında ya da bilgisayara karşı oynanabiliyor. Yapılacak işlem kelime oyunu benzerinde olduğu gibi oyunculara verilen ve üzerinde sayılarla, , +, x, /, = gibi matematiksel işaretler bulunan taşların tahta üzerine mevcut taşlarla birlikte bir mate matiksel eşitlik oluşturacak şekilde sıralan ması şeklinde gelişiyor. Öncelikle size verilen taşlarla uygun bir denklik oluşturmanız son rasında ise bunu tahtada mevcut bulunan taşları da kullanarak boş ya da uygun bir alana yerleştirmeniz gerekiyor. Sırası gelen oyuncu taşlarını yerleştirip tamam dediğinde durum inceleniyor ve eğer yanlış bir uygu lama varsa taşları yerine dönüyor. Oyunda hoş görünümlü animasyon da bu lunmakta. Oyuncular (şimdilik) iki farklı tux karakteri ile temsil edilebilmekte ve oyun sırası gelenin karakteri tahta üzerinde sağa sola yürüyerek görüntülenmekte. Oyun küçükler kadar büyükler için de zor olabiliyor. Sanıldığı kadar kolay değil. Oyunda F tuşları özel işlemler yapmak için kullanılıyor. F9 tuşuna basıldığında bırak madığınız sürece bu tuşların karşılıkları gö rüntülenmekte. www.enixma.org Mayıs 2010 Sayfa 30 yonları çalıştırmaya ve kullanılan renklere kadar çok sayıda parametreyi değiştirip is tediğiniz gibi kullanabiliyorsunuz. Demo tuşu ile oyun kendi kendine oynuyor ve size çalışma mantığı ile ilgili ipuçlarını veriyor. Resim 2 - Seçenekler F1 Oyun seviyesini değiştirir, F3 Filim olarak görüntü kaydı F4 Ekran koruyucusu modu F5 Taşlarınızı karıştırarak yeniden sıralar F7 Yerleştirdiğiniz taşları geri koyar F8 Tüm taşlarınızı değiştirir ve sıranızdan vazgeçersiniz F9 Basıldığı sürece yardım görüntüler F10 Kredinizi gösterir F11 Ekran resmini kullanıcı dizinine kaydeder F12 Tam ekran modu (Yalnızca Linux'ta) TuxMathScrabble'ın açılış ekranı da canlı görüntülere sahip. Alt bölümden atılan havai fişekler yukarıda güzel görüntülerle patla makta. Oyunun üç menü girişinden Admin girişi oyunla ilgili pekçok ayarın kullanıcı tarafından istenildiği şekilde değiştirilmesini sağlamakta. Sesi açıp kapamaktan, animas Oyun programının teknik değerlendirmesine gelince... Oyun python ile yazılmış ve çok platformlu yorumlayıcısı sayesinde Linux ve Windows'ta çalışabilmekte. Bu küçük olumlu yanını bir kenara bırakırsak malum python hantallığı ve bellek açlığı nedeniyle bilgi sayarınızı çok yormakta. En kötü durum ise oyunda hiçbir hareket olmasa bile işlemci gücünüzü %100 olarak kullanmakta olması. Özellikle dizüstü bilgisayarlarda kullanımında aşırı ısınmaya dikkat edilmediğinde kalıcı ha sarlara ve bilgisayarınızın ömrünün azal masına yol açabilecektir. Keşke C/C++ ile yazılmış olsa ve bu olumsuz yanı olmasaydı. DJL OYUN YÖNETICISI Linux'ta kolay yoldan oyun kurup oynayın Fırat Kutlu firat@enixma.org byncsa www.enixma.org Mayıs 2010 Sayfa 31 L inux'da oyun oynamak zannedildiğinin aksine ve eskisine oranla son derece kolaydır. Windows'ta çalışmak üzere tasar lanmış birçok oyun wine ile linux sistemler üzerinde oynanabilmektedir. Bu şekilde oyna nan oyunlar home dizini altındaki gizli wine dizinine kurularak çalışırlar. Windows oyun larını, istediğimiz zaman wine dizini içeri sinden veya dizinin kendisini silerek de ortadan kaldırabiliriz. Bu durum kök dizinini fazla ellemek istemeyen ve temiz kullanmak isteyenler için ideal bir durumdur. Peki Linux oyunlarını bağımlılıkları dahil, aynı şekilde kök dizine kurmadan yanlızca home dizinine kurarak oynayabilir miyiz? Birçok linux oyunu Resim 1 - Yapılandırma penceresi da kurulumu sırasında değişik bağımlılıklar istemektedir. Her seferinde de bu bağımlı lıkları kurmak istemeyebiliriz. Ancak yine de oyunu merak edebiliriz. İşte bu durumda Djl oyun yöneticisi, istediğiniz linux oyununu root olarak sisteminize kurmadan oynamamızı sağlayan bir program olarak karşımıza çık maktadır. Djl Linux için, python 2,5 ile yazılmış, açık kaynak kodlu ve GPL lisanslı bir oyun yöneticisidir. Djl'yi kullandığınız dağıtımın pa ket deposundan kolaylıkla kurabilirsiniz. Ku rulumdan hemen sonra programı çalıştırdı ğınızda karşınıza yapılandırma penceresi çıkmaktadır (Resim1). Bu aşamada istedi ğiniz ayarları hemen yapıp kaydedebilece ğiniz gibi isterseniz hiçbir işlem yapmadan kapatabilirsiniz. Eğer isterseniz daha sonra "Menü/Settings" yolu ile istediğiniz yapılan dırmayı yapabilir veya değiştirebilirsiniz. Oyunlar siz özel bir dizin seçmezseniz veya isimlendirme yapmazsanız "home/kullanıcı adı/.djl" içerisine kurulacaktır. Kısaca yapı landırma penceresine birkaç başlıkla değine cek olursak. "Default tab" ile programın açılışta hangi sekme ile açılacağına karar verebilirsiniz."Font size" ile yazı boyutlarınızı da ayarlayabilirsiniz. Yapılandırma işleminiz bittikten sonra oyun larımızı seçmek için "Repository" sekmesini açarız (Resim2). "Repository" sekmesinin sol tarafında ayrıca bir "download" sekmesi olduğunu görürüz. Buradan beğendiğimiz DJL OYUN YÖNETICISI Resim 3 - Description - Açıklamalar tüm özelliklerine "Description" (Açıklamalar) penceresinden bakabilirsiniz. Beğendiğiniz oyunu "install" butonuna basarak download edip kurabilirsiniz (Resim3). İnternetiniz ko talı ise oyunu kurmadan önce oyunun bo yutuna bakmayı unutmayınız. İndirme işlemi tamamlandıktan sonra oyunu nuzu "Games" sekmesinde yerleşen oyunun Resim 2 - Repository - Oyun deposu seçimi oyunun indirilmesini izleyip kontrol edebiliriz. "Select game type" ayarları ile "available games" (mevcut oyunlar) penceresinde gör www.enixma.org Mayıs 2010 Sayfa 32 mek istediğiniz oyunları seçebilirsiniz. "All" seçeneklerini seçerseniz mevcut tüm oyunlar pencerede görülecektir. Seçtiğiniz oyunun Resim 4 - Oyun başlatma menüsü DJL OYUN YÖNETICISI Resim 5 - Play - Oyun menüsü ikonuna tıklayarak başlatacağınız (Resim4) gibi sistem tepsisindeki djl ikonuna sağ tık layıp "play"deki menüden oyununuzu seçerek de başlatabilirsiniz (Resim5). Resim 8 - Djl ile Xmoto XMoto oyununun çalışması için 8 kitaplık kurulmuştur. Oyunlar ~/.djl/jeux dizini içeri sine yerleşirken, gerekli bağımlılıklar da ~/.djl/libs içerisine kurulmaktadır. Tüm ba ğımlılıklar kurulduktan sonra oyunumuz ça lışmaya başlıyor (Resim8). Artık keyifle indirip kurduğunuz oyunu oynayabilirsiniz. Oyunu başlattığınızda karşınıza oyunun ça lışması için gerekli kitaplığın bağımlılığını kurmanız gerektiğini bildiren bir pencere çıkabilir (Resim6). Bu penceredeki istenen kitaplıklar araç çubuğunda "Repository/ Libraries manager" ile açtığımız kitaplık yö Resim 7 - Kütüphane yöneticisi Resim 6 - Bağımlı paketler uyarısı www.enixma.org Mayıs 2010 Sayfa 33 neticisinden otomatik olarak internetten in direrek kuruluyor (Resim7). İstenen bağım lılık birden fazla olabilir. Bu durumda da bıkmadan tüm bağımlılıklar tamamlanana kadar bu işlemi yapıyoruz. Örneğimizdeki Araç çubuğundaki "İnformation" menüsünden "System information" seçeneğini seçerek sis teminiz ile ilgili tüm genel bilgilere toplu olarak ulaşabilirsiniz (Resim9). Aynı menüden "Send a bug or idea" seçeneğini seçerek kendi tarayıcısı olan djlfox ile djl forum açıl maktadır (Resim10). Bu forumdan hata bil dirimlerinizi girebileceğiniz gibi fikirlerinizi de yazıp konu ile ilgili tartışmalara katılabilirsiniz. Tabi önce üyelik almanız gerektiğini ha tırlatalım. DJL OYUN YÖNETICISI Resim 13 - Kısayol ekleme lirsiniz. Resim 9 - Sistem bilgisi Resim 11 - Djl haberler "News" sekmesinde linux oyunları ile ilgili son gelişmeleri görebilirsiniz (Resim11). Burada ki haberlere çift tıklarsanız ayrıntılara kendi mini tarayıcısı olan djlfox ile ulaşabilirsiniz (Resim12). "Plugins" sekmesinden oyunu nuza ait olan eklentiyi kolaylıkla indirebi Resim 10 - Djl forum Resim 12 - djfox - dahili mini tarayıcı www.enixma.org Mayıs 2010 Sayfa 34 Sisteminizde hazır kurulu olan oyunlar için de kısayol oluşturabilirsiniz. Bunun için "Menü/ Add a shortcut.." ile açılan pencerede oyun adını, ikon yolunu ve çalıştırma komutunu veya yolunu girdikten sonra oyununuzun kısayolu "/home/kullanıcıadı/.djl/raccourcis" dizini içerisine eklenecektir (Resim13). Hazır oyunlarınızı hızlı bir şekilde eklemek is terseniz. "Menü/Import a shortcut" yolunu izlemeniz yeterlidir (Resim15). Bu şekilde oluşan kısayollarınızıda yine "/home/kullanıcı adı/.djl/raccourcis" dizini içerisinde bulabilir siniz (Resim16). Bu kısayollar aynı zamanda djl programının "Games" sekmesinde de gö Resim 14 - Wine ile kurulumi DJL OYUN YÖNETICISI Resim 16 Kurulu oyunların kısayolları Resim 15 - Kısayol alma zükecektir. Sistemde hazır kurulu oyunla rınıza buradan da kolaylıkla ulaşablirsiniz. İsterseniz Wine aracılığı ile oyunlar da ku www.enixma.org Mayıs 2010 Sayfa 35 rabilirsiniz. Bunun için yine Menü'den "Add a Windows game with Wine" seçeneği ile ge rekli verileri girmeniz yeterlidir (Resim14). Ancak unutmayın ki wine ile kurulan her windows oyunu istediğiniz gibi çalışmayabilir. Linux oyunlarını root sisteminize kurmadan oynayabileceğiniz, linux oyunları ile ilgili son gelişmeleri takip edebileceğiniz, chat yapa bileceğiniz, forumlarında tartışabileceğiniz ve sisteminizdeki oyunlardan wine ile kurulmuş windows oyunlarına kadar tüm oyunları yönetebileceğiniz gerçek bir oyun yönetici sidir Djl. http://en.djllinux.org/ BSD XVII mtree ile sistem bütünlüğünün kontrolu B ir sisteme yetkisiz kişilerin erişebildiği ve bu sisteme giriş yapıp sistem üzerinde oy nadıkları düşüncesi rahatsız edicidir. Bu durumu nasıl kanıtlayabileceğiniz ise en zor olan kısmıdır. Böyle bir durumdan şüpheleniyorsanız, şüphelerinizi haklı çıkaracak olan, yani sistemin yetkisiz kişilerce erişildiğinin işaretleri /tmp dizininde tanımadığınız dosyaların bulunması veya /usr/local/sbin altında yeni komutların yer alması vb. durumlardır. Sistem sık sık yeniden başlıyorsa birileri sisteme erişmeye çalışıyor veya kendi derledikleri çekirdeği kurup sistemi bununla başlatıyor da olabilir. Daha kötüsü de sistemdeki derleyicinin sal dırganın kendi hazırladığı derleyici ile değiştirilmiş olmasıdır. Böylelikle her derlediğiniz kod saldırganın istekleri doğrultusunda derlenecektir. Yukarıdaki senaryoları düşünmek kuşkuyu daha arttıracağı gibi böyle bir durumun söz konusu olmadığını kanıtlayabilmenin de oldukça zor olmasıdır. Sisteme yetkisiz giriş yapanlar kendi izlerini gizlemek için gereken her şeyi yapacaktır. Hatta kendilerini gizlemek için kullandığınız araçları da değiştirip bulunmalarını önleyebilirler. Bu durumda yetkisiz bir girişin gerçekleşip gerçekleşmediğini belirlemek olanaksızdır. İşletim sistemlerinin yapısının karmaşıklığını ve yazılımların ise daha da karmaşık olduğunu düşündüğünüzde /tmp dizininde rastladığınız dosyanın aslında bir uygulama ile ilişkili olması da söz konusudur. Öte yandan bir yetkisiz girişin izi olmadığı da kesin değildir. Eğer sisteme yetkisiz bir giriş söz konusu ise bu durumu düzeltmenin kesin yolu her şeyi baştan kurmaktır. Bu kurulumda elinizdeki güvenilir ortamı kullanarak bu durumda elinizdeki CD/DVD seti ile daha önceden aldığınız yedekleriniz olacaktır. Ancak bu kesin çözüm olmayacaktır. Zira elinizdeki CD/DVD seti yayınlandıktan sonra yamalar yayınlanmış olacağı için yamaları yeniden kurup yetkisiz girişe neden olan açığın kapatıldığını umut etmek durumunda kalacaksınız. Önceki bölümlerde ele alınan güvenlik önlemleri yetkisiz girişleri kesin olarak önlemeyecektir ama buna niyetlenenlerin işini çok ama çok zorlaştıracaktır. Yetkisiz girişlerin önünü almak için nihai bir çözüm, reçete bulunmadığı için birilerinin bunu deneyeceği gerçeği ile yaşamaktan başka çareniz yoktur. Zamanla alışırsınız. En kötüsü ise bana bir şey olmaz düşüncesini kendi kendinize telkin edip kendinizi kandırmaktır veya ne olursa olsun diyerek işler ters gittiğinde her şeyi baştan kurmak gibi bir süreci olağan kabul ederek günlük yaşamanıza dönmektir. Bunları yapmayın! Gökşin Akdeniz goksin@enixma.org byncsa www.enixma.org Mayıs 2010 Sayfa 36 Birçok işletim sisteminde saldırganlar sistemdeki dosyaları değiştirip yetkisiz girişlerin önünü açar veya izlerini kaybettirmeye çalışırlar. BSD sistemlerde ise mtree(1) sistemin çalıştırıldığı zamanlardaki dosya izinlerini, boyutlarını ve zaman damgasını md5, sh1 ve ck formlarında BSD XVII saklayarak sonradan çalıştırıldığında bu bilgiler arasındaki farkları karşılaştırmanızı sağlar. Böylelikle olası bir sorunu belirlemeniz kolay olacaktır. Sistemi ilk kurduğunuzda mtree ile kaydını aldığınızda sistemin ilk anındaki durumunu kesin olarak bilmeniz olanaklı olacaktır. Eğer bir yetkisiz girişten şüpheleniyorsanız yeni bir mtree taraması yaparak iki dosyayı karşılaştırabilirsiniz. mtree(1) İle Sistem Kontrölü mtree genel olarak / disk bölümü üzerinde çalıştırılmalı. / dizininden başlayarak diğer dizinleri de kapsayacak biçimde bir tarama yapabilirsiniz. Ancak sunucularda tüm dizinlerin taranması zaman alıcıdır. Ayrıca bazı dosyalar ve dizinler sık sık değişecektir. Örneğin web sunucularında kullanıcı dizinleri, veritabanı sunucularında ise veritabanının bulunduğu dizinler ve ilgili dosyalar sık sık değişeceği için bu dizinlerin mtree ile taranması uygun olmayacaktır. Bu dizinler için uygun araçların kullanılması gerekir. Bu başka bir yazının konusudur. Aşağıdaki komut mtree uygulamasını her bir disk bölümünde bağlanma noktası düzeyinde çalıştıracaktır. mtree daha derine inip tarama yapmayacaktır. Dosya içeriğinde cksum, md5 ve sha256 bütünlük kontrolü algoritmaları ile elde edilen kontrol değerleri yer alacaktır. Sonuç ise /tmp dizininde mtree.txt dosyasına yazılacaktır. tardis# mtree x ic K cksum K md5digest K sha256digest p / > /tmp/mtree_tarama.txt Yukarıda gördüğünüz komut genel olarak birçok kullanıcı tarafından kullanılır. x seçeneği bağlanma noktalarından daha aşağıya inilmeden tarama yapılmasını belirtir. ic seçeneği tarama sonuçlarını ekrana yansıtır ve aynı zamanda alt dizinlerin çıktıda girintiler halinde gösterilemesini sağlar. Bu okuma kolaylığı sağlar. K seçeneği ise kullandığımız anahtar sözcükleri tanımlar. Örneğin cksum, md5sum ve sha256sum gibi. p seçeneği hangi disk bölümlerinin kontrol edileceğini belirtir. Yukarıda belirtildiği gibi bazı dizinlerin içeriği sık sık değişiyorsa bu durumda bu dizinlerin kontrol edilmemesini sağlayabiliriz. Bunun için ise X seçeneği ile taranmayacak dizinlerin belirtilmesini sağlayabilirsiniz. Tek bir dizin için X ./dizin_adı olarak tanımlama yapılabilir ama birden çok dizin olması durumunda bunu bir dosya ile tanımlamak daha kolaydır. Aşağıdaki komut yukarıdaki örneğin bu sefer taranmayacak olan dizinlerin belirtildiği bir dosya kullanılılan biçimidir. Taranmayacak olan dizinlerin belirtildiği dosya mtree_taranmayacak.txt olarak belirtilmiştir. Çıktı da durumu belirtecek şekilde seçilmiştir. tardis# mtree x ic K cksum K md5digest K sha256digest p / X /home/goksin/mtree_taranmayacak.txt > /tmp/mtree_atla.txt Taranmayacak olan dizinleri seçerken /tmp veya başka dizinleri belirtebilirsiniz. Bir dizinin taranmasını istemiyorsanız bunu belirtirken dosyaya aşağıdaki örnekte olduğu gibi ekleyebilirsiniz [goksin@tardis /usr/home/goksin]$ cat mtree_taranmayacak.txt ./dev www.enixma.org Mayıs 2010 Sayfa 37 BSD XVII ./proc ./var ./tmp Bir dizinin tanımlanması için ./ ile başlayarak dizin yolunu belirtmeniz daha uygun olacaktır. Tam dizin yolunu kullanırsanız bu durumda taramanın başlatıldığı dizin dikkate alınmadan taranan dizinin tam yolu kontrol edilecektir. Bu ayrım sistemin bir bölümünü taradığınız durumlarda dosyaların tanımlanmasında tam dizin yolu yerine dosya adının esas alındığı durumlarda önem kazanabilir. Tam dizin yolu tanımlanmadıysa mtree sadece dosya adını dikkate alacaktır. Örneğin /etc/hosts tam dizin yolu (absolute paths) iken hosts sadece dosya adı (basename) olarak tanımlanır. mtree(1) Çıktılarının Yorumlanması mtree, BSD sistemlerde sistemin kurulumu için kullanılmak üzere tasarlanmıştır. Mtree çıktısı bu nedenle spec olarak adlandırılır. BSD sistemimiz kurulu olduğuna göre yapacağımız kurulu olan sistemin kontrolü için spec dosyasını kullanmaktır. mtree çıktısı yani spec dosyası aşağıdakine benzeyecektir: # # # # user: machine: tree: date: goksin tardis.elkotek / Mon Apr 26 13:25:52 2010 # . /set type=file uid=0 gid=0 mode=0755 nlink=1 flags=none . type=dir nlink=20 size=512 time=1272200336.000000000 .cshrc mode=0644 nlink=2 size=798 time=1258813896.000000000 \ cksum=3965810837 \ md5digest=353dc642ee0870d133b58eb9f9a0964b \ sha256digest=e1450d7b3c8b61f305b55792a653a547492b949d315ff7168205bdf279bd2f3e .profile mode=0644 nlink=2 size=265 time=1258813896.000000000 \ cksum=890004139 \ md5digest=6587df187310db9f4fc108181bae2440 \ sha256digest=1b3b2de38739ad0949e948de0fe25c7f71a496f17e2be017711a11ec39ca5435 COPYRIGHT mode=0444 size=6206 time=1258813896.000000000 \ cksum=1940480824 \ md5digest=c2e7362d8d51695c44889c0748af3baf \ sha256digest=d7e4470fa8db194c0a474f9ddc061be240b7d96f0fe501bc5ef588b81e8e0c9c compat type=link size=10 time=1270670671.000000000 \ link=usr/compat entropy mode=0600 size=4096 time=1272200335.000000000 \ www.enixma.org Mayıs 2010 Sayfa 38 BSD XVII home sys # ./.snap .snap # ./.snap .. cksum=1336999312 \ md5digest=4badab1c79c4edea5364ed59029d6a5a \ sha256digest=b6338b9c13bc8543ca9a9a7150da0e23bdab2486fcb8bcea8f86f9110ad55689 type=link size=8 time=1270671404.000000000 \ link=usr/home type=link size=11 time=1258813908.000000000 \ link=usr/src/sys type=dir gid=5 mode=0775 nlink=2 size=512 \ time=1270670408.000000000 ........ İlk satır komutun kim tarafından, hangi sistemde çalıştırıldığını, dosya sistemi hakkındaki bilgiyi ve tarihi belirtir. İkinci girdi bilgisi ise /set ile başlayan satırdır ve mtree tarafından temel değer olarak kullanılır. Bu değerler kullanıcı tarafından oluşturulmaz, sisteme aittir. Dosya sistemindeki ilk nesne bir dosyadır ve sahibi ile grubunun numarası sıfır olarak tanımlıdır. İzinler 0755 olarak belirtilmiştir. Dosya sistemine ilişkin bir özel seçenek tanımlanmamıştır. (chflgs) root bölümüne ait olan bilgiler ise sonraki satırda yer almaktadır. . type=dir nlink=20 size=512 time=1272200336.000000000 (.) taramanın başlatıldığı dizindir, örneğimiz için bu root bölümüdür yani (.). Burada 24 tane hardlink bulunmaktadır. Dizinin boyutu 512 byte olarak verilmiştir. En son düzenlendiği zaman ilk UNIX sistemin ortaya çıkmasından bugüne dek geçen zaman olarak tanımlanmaktadır. Asıl adı ile EPOCH TIME. Bunu anlayacağımız hale dönüştürmek için date kullanabilirsiniz. [goksin@tardis /etc/mtree]$ date r 1272200336 25 Nis 2010 Paz EEST 15:58:56 [goksin@tardis /etc/mtree]$ root bölümündeki dosyalara ilişkin bilgiler ise bu satırın ardından gelmektedir. Aşağıdaki yukarıdaki çıktıdan alınan cshrc ve profile dosyalarına ilişkin bilgiler görülmektedir. .cshrc .profile mode=0644 nlink=2 size=798 time=1258813896.000000000 \ cksum=3965810837 \ md5digest=353dc642ee0870d133b58eb9f9a0964b \ sha256digest=e1450d7b3c8b61f305b55792a653a547492b949d315ff7168205bdf279bd2f3e mode=0644 nlink=2 size=265 time=1258813896.000000000 \ www.enixma.org Mayıs 2010 Sayfa 39 BSD XVII cksum=890004139 \ md5digest=6587df187310db9f4fc108181bae2440 \ sha256digest=1b3b2de38739ad0949e948de0fe25c7f71a496f17e2be017711a11ec39ca5435 Aynı şekilde profile ve cshrc dosyaları için bilgi verilmektedir. Bütünlük kontrolü için cksumchecksum, md5md5sum ve sha256sha256sum bilgileri ek olarak yer almaktadır. Bu değerler dosyanın içeriğine bağlı olarak hesaplanmaktadır. Bir saldırganının bu değerlere sahip olan ama içeriği farklı olan bir dosya oluşturması pratikte olanaksızdır. mtree taramasının çıktısını yukarıdaki örneklerde /tmp dizinine yönlendirmiştik. Bu dosyalardaki bilgiler bir yetkisiz giriş durumu şüphesinin kontrol edilmesini sağlamak için kullanılır. Bundan dolayı da söz konusu çıktıların sistemde saklanması yerine bir disket, CD/DVD veya flash disk üzerinde saklanması güvenlik açısından zorunludur. Bir yetkisiz erişim durumunda bu dosyaların içeriği değiştirilip saldırganın izlerini gizlemesi olanaklıdır. mtree ile yapacağını tarama değiştirilmiş olan tarama kaydı ile eşleneceği için sistem yöneticileri sistem güvende diyerek ve yetkisiz erişimi gerçekleştiren kişi ise izini kaybettirmenin huzuru ile mutlu olacaktır. mtree Değerleri Eşleşmezse... Sistemin çalışması sırasında bazı beklenmedik durumlar ile karşı karşıya kalınabilir. Bu durumda ilk akla gelen olası bir yetkisiz erişim durumu olabilir. Bunu kontrol etmenin en kolay yolu mtree ile yapılan kontrollere ilişkin spec dosyalarının karşılaştırılarak sorunun belirlenmesi olacaktır. Bunun için iki farklı mtree taramasına ait olan çıktılar karşılaştırılmalıdır. Karşılaştırma işlemi için diff kullanarak iki dosyayı karşılaştırabilirsiniz. Ayrıca buna ek olarak mtree kendi çıktılarını karşılaştırabilmektedir. Bu karşılaştırmanın sonucunu daha kolay inceleyebilmek için çıktısının bir dosyaya yönlendirilmesi gereklidir. tardis# mtree f dosya_1 f dosya_2 > mtree_kontrol.txt dosya_1 ve dosya_2 adından da anlaşılacağı üzere karşılatırma yapılacak olan dosyalardır. Çıktılarını ise mtree_kontrol.txt dosyasına yönlendiriyoruz. mtree ile yapılan karşılaştırmalarda değişmemiş olan dosyalar, dizinler adları ile gösterilir. Örneğin /usr/sbin/mtree satırı söz konusu dosya olan mtree dosyasının değişmediğini tanımlar. Ancak dosyalarda bir değişim söz konusu ise aşağıdakine benzer bir satır görebilirsiniz. Örneğin /sbin/devd değişmiş olsun. sbin/devd file cksum=3950957068 size=328396 md5digest=14d0cc1dbe a86c69ebd4af1dec2312d0 sha1digest=7acd1bdf46581b1d6a3231ca62b2c47e6e1dcf07 sbin/devd file cksum=4141842183 size=328428 md5digest=5ab5ec4213 03ca770ac2cccd546bcf11 sha1digest=51f5fbc24d47f11115474714040b8cce0eb9b6c9 Çıktıya bakıldığında bütünlük kontrolleri ile dosya boyutlarının eşleşmediğini görebiliriz. Bu durumda söz konusu dosya üzerinde değişikliğin kaynağını belirlemek gerekecektir. Sistem erişim yetkisi olan kişilerin bu değişiklik konusunda sorgulanması, sisteme erişim kayıtlarının kontrol edilmesi ve değişikliğin kaynağının belirlenmeye çalışılması yapmanız gereken ilk işlemlerdir. Eğer söz konusu değişiklik sisteme erişim www.enixma.org Mayıs 2010 Sayfa 40 BSD XVII yetkisine sahip olan kişiler tarafından yapılmadıysa sisteminizi yeniden kurmak için gereken hazırlıkları yapmaya başlayabilirsiniz. Sistem Güvenliği İçin Ek Önlemler Sistemin dosya özniteliklerini değiştirmek, kullanıcıların erişim yetkilerini düzenlemek ve duyurulan her yamayı anında uygulamak sisteminizin güvenliğini sağlamak için yeterlidir. Birçok sistem yöneticisi gereken önlemleri almakla kendisinin güvende olduğu ve sistemlere yetkisiz erişim durumu ile karşılaşmayacağı düşüncesinin rahatlığına kapılabilir. Bu rahatlık duygusu tehlikelidir. Yayınlanan her yamanın uygulanmamış ve belirlenen her güvenlik açığının kapatılmamış olduğunu düşünerek, karşılaştığı her sistem üzerinde denemekten geri kalmayan ve hedef belirlediği sistemleri yakından izleyen ve açığını bulmak isteyen kişilerin işini kolaylaştıracağı gibi beklenmedik bir durum karşısında ne yapılacağı ve ne yapılmayacağını da belirleyecektir. Aşağıdaki öneriler sistem yöneticisi olmak isteyen veya sistem yöneticisi durumunda olan okuyuculara yol gösterici olacaktır. * Sisteminizi iyi tanıyın. Sistemde sık sık ps axx komutunu çalıştırıp normal koşullarda hangi uygulamaların çalıştığını kontrol edin. tanımadığınız bir uygulama çalışıyorsa bunu incelemeye alın. * Sistemdeki açık olan portları netstat na ve sockstat ile belirleyip, kontrol altına alın. Hangi TCP ve UDP portlarını kullandığınızı iyi bilin. Tanımadığınız bir portun açık/dinlemede olduğunu belirlerseniz bunun hangi uygulama veya servis tarafından kullanıldığını bulmaya ve bu port hakkında bilgi edinmeye çalışın. Bazen açık/dinlemede olan bir port bir yetkisiz erişimin kanıtı olabilir. * Beklenmedik durumlar, sisteminizin sık sık yeniden başlaması, bir servisin farklı çalışması olası bir saldırıya işaret edebilir. Söz konusu sorunun kaynağının sistemden mi yoksa dış nedenlerden mi kaynakladığını belirlemeye çalışın. Bazen bu durumlar olası donanım sorunlarından da kaynaklanabilir. Sorunsuz sistemler herşeyin yolunda gittiği anlamına gelmez. Sorunsuz olarak çalışan sistemlerin de kontrol edilmesi gerekir. Teknik olarak bilgili ve uzman bir saldırgan sisteme giriş yaptığında geride kendi izini bırakmamaya özen gösterip tüm kanıtları yok edecektir. * BSD sistemler düzenli olarak her gün sistem yöneticisine sisteme ilişkin bir raporu eposta ile yollar. Posta kutunuzdaki bu raporu her gün okuyun ve bu raporları güvenli bir yerde saklayın. Bu raporlarda dikkat çekici bir şeyler varsa acilen araştırmaya başlayın. Önlem almanız gerekiyorsa hemen alın. Port ağacından lsof(8) kurup çalıştırdığınız uygulamaların hangi dosyaları kullandığını izlemeye alın. Böylelikle çalıştırdığınız uygulamalar hakkında daha fazla bilgi edinirsiniz. Eğer tanımadığınız bir dosyaya rastladıysanız ya kullandığınız uygulamayı yeterince tanımıyorsunuz demektir ya da birileri bir şeyler yapıyor olabilir. Bu nedenle lsof(8)'u kendinizi eğitmek içinde kullanabilirsiniz. Bir diğer araç ise nessus'tur. Sisteminizin güvenlik açıklarını tarayarak raporlar. Ports ve pkgsrc ağacı üzerinde eski sürümleri bulunduğu için kendi sitesinden hazır paketleri indirip kullanabilirsiniz. Bunlardan başka birçok güvenlik aracı pkgsrc ve ports üzerinde bulunmaktadır. Bunları kullanarak da sisteminizin www.enixma.org Mayıs 2010 Sayfa 41 BSD XVII kontrolünü yapabilirsiniz. Yetkisiz Erişimlerin Belirlenmesi Durumunda... Sisteme yetkisiz bir erişim olduğunu belirlerseniz sisteminizdeki dosyaların güvenli olduğunu ileri süremezsiniz. Saldırgan bir veya daha fazla dosyayı değiştirmiş ve sisteme ait bilgileri twitter, irc vb. başka birçok kanal üzerinden kendisine ulaşmasını sağlayacak bir düzenleme yapmış veya araçları sisteme yüklemiş olabilir. Bu durumda sisteme giriş yapılmasına neden olan açığının yamanması işlerin yolunda olduğu anlamına gelmeyecektir. Yapılması gereken tek şey sisteminizi güvenilir kaynaklardan yeniden kurmak, yamaları uygulamak ve gerekli güvenlik önlemlerini alıp yedeklerden dosyaları geri yüklemek olacaktır. Güvenlik konusunda titiz davranmak sisteminizi %100 güvenli kılmayacaktır ama sizi birçok sorundan uzak tutacaktır. www.enixma.org Mayıs 2010 Sayfa 42 HABERLER Station 10.1.1'i duyurmaktan mutlu olduklarını söyleyen Dohnert; sistemin, 2.6.31 PAE Linux çekirdeği üzerine yapılandırıldığını belirtti. FileZilla da sisteme dahil edilmiş bulunuyor. Empathy, 2.29.93 sürümüne yükseltilmiş; fakat WebStation'dan kaldırılmış ve Meebo ile yer değiştirmiş. Gnome oyunları da Web Station'dan kaldırılmış, onların yerine de Flashchess3 eklenmiş. Debian GNU/Linux 5.0 "Lenny" tabanlı bir dağıtım olan SimplyMEPIS 8.5, Roberto Dohnert tarafından duyuruldu. DAĞITIM HABERLERİ Kullancı dostu bir masaüstü Linux dağıtımı olan PC/OS'un hataları giderilmiş ve gün cellenmiş 10.1.1 sürümü, Roberto Dohnert tarafından duyuruldu. PC/OS 10.1.1 Roberto Dohnert, hataları giderilmiş ve gün cellenmiş biçimde Ubuntu tabanlı masaüstü Linux dağıtımı PC/OS 10.1.1'i duyurdu. Platform tarafından gerçekleştirilen pek çok hata düzeltmesi ve geliştirmenin ardından PC/OS OpenWorkstation 10.1.1'i, PC/OS GNOME 10.1.1'i, aynı zamanda PC/OS Web www.enixma.org Mayıs 2010 Sayfa 43 SimplyMEPIS 8.5 Warren Woodford, kullanıcı dostu ve Debian GNU/Linux 5.0 "Lenny" tabanlı bir dağıtım olan SimplyMEPIS 8.5'i duyurdu. Simply MEPIS 8.5, KDE 4 masaüstü yöneticisiyle geliyor. Woodford, SimplyMEPIS 8.5 için işe Debian GNU/Linux "Lenny" kararlı çekirdek ile başladıklarını ve sonra SimplyMEPIS 8.5'i daha uygun bir sistem haline getiren gün cellenmiş paketleri seçimsel biçimde tanıt tıklarını söyledi. Güncel donanım desteği için sistemi 2.6.32 Linux çekirdeği üzerine yapı landırdıklarını belirten Woodford, sistemin, yeni KDE 4.3.4 masaüstü yöneticisine sahip olduğunu sözlerine ekledi. OpenOffice, Fire fox ve diğer uygulamalar mümkün olduğunca güncellenmiş bulunuyor. Clement Lefebvre, "Helena" kod adlı Linux Mint 8'in "Xfce" and "LXDE" versiyonlarını du yurdu. Linux Mint 8 "Xfce" ve "LXDE" Clement Lefebvre, Linux Mint 8'in Xfce ve LXDE masaüstü versiyonlarını duyurdu. Ekip olarak, Xubuntu 9.10 "Karmic Koala" tabanlı Linux Mint 8 Xfce sürümünü duyurmaktan mutlu olduklarını söyleyen Lefebvre, sistemin 2.6.31 Linux çekirdeği üzerine yapılandırıl dığını belirtti. Xfce 4.6.1 masaüstü yöne ticisine sahip olan sistem; X.Org 7.4 içeriyor. Lefebvre, sistem özelliklerinde pek çok ge liştirmeler yapıldığını ve açık kaynak dün yasından en son yazılımlardan yararlanıl dığını ifade etti. Sistemde, OEM yüklemesi söz konusu olduğunda, güncellemeleri yok saymak mümkün; Yazılım Yöneticisinde çoklu seçim yapılabiliyor ve menü düzen lenebiliyor. Sistem tepsisindeki yeni Dosya Yükleyicisi, sürükle bırak desteğiyle çoklu dosya yükleme olanağı sağlıyor. Linux Mint 8 Main edition tabanlı Linux Mint 8 "LXDE" ise, Openbox 3.4.7.2 ve PCManFM 0.5.2 içeriyor; kaynak kullanımı düşük ve eski donanımlar için daha uygun bir sistem. Mandriva Linux 2010.1'in ilk beta sürümü, 2 Nisan 2010 Cuma günü duyurularak test edilmek üzere yansılarda yerini aldı. HABERLER Mandriva Linux 2010.1 Beta 1 Mandriva Linux 2010.1'in ilk beta sürümü duyuruldu. Test edilmek üzere yansılarda hazır olan Mandriva Linux 2010.1 Beta 1; 32 bit ve 64bit'lik DVD kalıpları, GNOME veya KDE masaüstü yöneticileriyle gelen CD kalıpları biçiminde sunuluyor. Sistemde; GNOME 2.30 masaüstü yöneticisi ve (2010 Eylül ayında duyurulması planlanan) GNOME 3'ün parçası olacak GNOMEShell'in ön sürümü kullanılmış. KDE 4.4.2 masaüstü yöneticisi de, dağıtımdaki pek çok program için çeşitli güncellemelerle kullanıma su nulmuş bulunuyor. Her zamanki gibi, kulla nıcılardan gelecek geri bildirimlerin, dağıtımın kalitesinin geliştirilmesi konusunda önemli olduğu hatırlatılıyor. Önerilerin ve belirlenen hataların Mandriva Bugzilla'ya rapor edile bileceği belirtiliyor. 2.6.33.1 Linux çekirdeği üzerine yapılandırılan sistem; Firefox 3.6.2, OpenOffice.org 3.2, Deluge 1.2.3, Trans mission 1.91, libgpod 0.7.92, Kdenlive 0.7.7.1 gibi pek çok paket içeriyor. "Lucid Lynx" kod adlı Ubuntu 10.04'ün ikinci beta sürümü, 8 Nisan 2010 Perşembe günü Steve Langasek duyurularak test edilmek üzere yansılarda yerini aldı. Ubuntu 10.04 Beta 2 "Lucid Lynx" kod adlı Ubuntu 10.04'ün ikinci www.enixma.org Mayıs 2010 Sayfa 44 beta sürümü test edilmek üzere yansılarda yerini almış bulunuyor. Sürümü duyuran Steve Langasek, Ubuntu ekibi olarak Ubuntu 10.04 LTS (LongTerm Support) sürümünün masaüstü, server ve netbook versiyonlarının ikinci betasını duyurmaktan mutlu olduklarını söyledi. Sürüm duyurusunun, hemen hemen aynen beta 1'in duyurusunun kopyası oldu ğunu söyleyen Langasek, bilinen çözüm lenmiş birkaç sorun ve yeni saptanmış bir sorundan başka sürüm notlarının da öyle olduğunu belirtti. 2.6.32.9 tabanlı 2.6.32 16.25 Linux çekirdeği üzerine yapılandırılan sistemde; bütünüyle desteklenen hal desteği sayesinde sistem açılışının daha hızlı ger çekleşmesinin mümkün olduğu söyleniyor. Nvidia ekran kartlarına desteğin artırıldığı sistemde, açık kaynak kodlu Nouveau sürücü varsayılan olarak sunuluyor. Ubuntu 10.04'te açılış ekranı da yenilenmiş bulunuyor. Ubuntu ailesinin varyantları Kubuntu, Xubuntu, Edu buntu, Ubuntu Studio ve Mythbuntu da ikinci betalarına ulaşmış bulunuyorlar. Fedora 13'ün beta sürümü, 13 Nisan 2010 Salı günü Jesse Keating tarafından duyu ruldu. Fedora 13 Beta Jesse Keating, Fedora 13'ün beta sürümünü duyurdu. Beta sürüm, Fedora 13'ün önemli son kilometre taşı oluyor. Sürümü test edecek kullanıcıların yapacağı geri bildirimlerin önemi çok büyük. Artık yalnızca kritik hata dü zeltmelerine çaba harcanacağı ve Fedora 13 final sürümünün Mayıs ortasında yayımlan masının planlandığı söyleniyor. Son kullanı cılar için yeni özellikler kısaca şöyle sıra lanabilir: Otomatik yazıcı sürücüsü yükleme; masaüstü donanımları Shotwell fotoğraf yöneticisi, Dejadup yedekleme yazılımı, Pino Identi.ca / Twitter istemcisi ve Simple Scan tarayıcı uygulaması; daha iyi bir Mobile Broadband içeren NetworkManager, Blue tooth ve yeni CLI özellikleri; renk yönetimi, geliştirilmiş iPod işlevleri; NVIDIA kartlar için deneysel 3D grafik desteği içeren özgür Nouveau sürücü... Eski bilgisayarlar için tasarlanmış olan SimplyMEPIS'in hafif bir versiyonu niteli ğindeki antiX MEPIS'in 8.5 sürümü, 13 Nisan 2010 Salı günü Warren Woodford tarafından duyuruldu. antiX MEPIS 8.5 Warren Woodford, eski bilgisayarlar için tasarlanmış olan SimplyMEPIS'in hafif bir versiyonu niteliğindeki antiX MEPIS 8.5'i duyurdu. Temmuz 2009'da duyurulan antiX MEPIS 8.2 sürümünün üzerinden dokuz ay geçmiş bulunuyor. Şimdi antiX ekibi; Simply MEPIS ve Debian "testing" tabanlı hızlı, hafif, esnek ve eksiksiz antiX MEPIS 8.5'in ma saüstü ve live CD versiyonlarını duyuruyor. 2.6.32 Linux çekirdeği üzerine yapılandırılan HABERLER sistemde, hafif bir masaüstü ortamı olan IceWM masaüstü ortamı, varsayılan olarak özelleştirilmiş bulunuyor. Ancak dilenirse; Fluxbox, wmii ve dwm de yüklenebiliyor. Tüm MEPIS araçları güncellenmiş ve Antix için uyarlanmış. Yükleme seçeneklerine ext4 de eklenmiş. X.org 7.4, Roxfiler 2.10, fluxbox 1.1.1, pidgin 2.6.5, ceni 2.7 gibi pek çok paketin bulunduğu sistemde internet için Iceape, ofis kullanımı için AbiWord ve Gnu meric, müzik için XMMS ve Google's music manager, video için MPlayer ve GNOME MPlayer tercih edilmiş... antiX, 64 MB RAM'e kadar düşük imkanı olan bilgisayarlarda ça lışıyor. openSUSE 11.3'ün beşinci kilometre taşı sürümü, openSUSE 11.3 Milestone 5, 14 Nisan 2010 Çarşamba günü James Mason tarafından duyuruldu. openSUSE 11.3 Milestone 5 James Mason, openSUSE 11.3'ün beşinci kilometre taşı sürümünü duyurdu. openSUSE 11.3 final sürümünün Temmuz 2010'da çıkacağını hatırlatan Mason, openSUSE 11.3 Milestone 5'i indirip denemek suretiyle final sürümünün bir görüntüsünü almanın mümkün olduğunu söyledi. openSUSE 11.3 Milestone 5'in hem openSUSE topluluğunun hem de Linux topluluğunun dikkate değer katkıları ile gereğince değerlendirildiğini belirten Mason, sürüme yeni ilginç paketler eklediklerini, www.enixma.org Mayıs 2010 Sayfa 45 çekirdek süreçlerine bazı güncellemeler yap tıklarını, 50 hatayı giderdiklerini ve 8 yeni özelliği uygulamaya koyduklarını ifade etti. Perl 5.12 ve parted 2.2 güncellemeleri, Intel ve (özgür nouveau sürücüsüyle) NVIDIA kartlar için KMS entegrasyonu sürümün diğer ayrıntıları. Kullanıcının 25 Mart 2010 Per şembe günü Andreas Jaeger tarafından du yurulan dördüncü kilometre taşı sürümünde aşina olunan özelliklerin çoğu elbette ki bu sürümde de varlığını sürdürüyor. Milestone 5, OpenOffice.org 3.2 ile geliyor. Debian tabanlı Parsix GNU/Linux'un "Frankie" kod adlı 3.5 sürümünün ikinci test versiyonu 17 Nisan 2010 Cumartesi günü Alan Baghu mian tarafından duyuruldu. Parsix GNU/Linux 3.5 Test 2 Alan Baghumian, Debian tabanlı Parsix GNU/Linux'un "Frankie" kod adlı 3.5 sürü münün ikinci test versiyonunu duyurdu. Masaüstü ve live CD versiyonları duyurulan Parsix GNU/Linux 3.5 Test 2, 2.6.32.11 Linux çekirdeği üzerine yapılandırılmış. Baghumian, bu sürümde, topluluk kullanıcıları tarafından rapor edilip çözülen problemler ile kararlı sürüme dayanan değişikliklerin merkezileş tirildiğini söyledi. Baghumian; bu sürümün, 7 Nisan 2010 tarihli Debian testing depolarıyla senkronize edildiğini ve pek çok güncellenmiş paketle geldiğini ifade etti. "Frankie" ISO kalıplarının, LZMA sıkıştırması ile ve Squ ashfs 4.0 kullanılarak derlendiğini söyleyen Baghumian, varsayılan önyükleyici olarak GRUB 2 kullandıklarını sözlerine ekledi. GNOME 2.28.2 masaüstü yöneticisine sahip olan sistemde; X.Org 7.5, Iceweasel 3.5.9, GParted 0.5.2, Pidgin 2.6.2, OpenOffice.org 3.2.0, CompizFusion 0.8.4, VirtualBoxOSE 3.1.6 ve pek çok gücel paketi bulmak mümkün. Azami masaüstü performansını hedefleyen PCLinuxOS 2010, 20 Nisan 2010 Salı günü Bill Reynolds tarafından duyuruldu. PCLinuxOS 2010 Bill Reynolds, PCLinuxOS 2010'u duyurdu. Azami masaüstü performansı sağlamak için 2.6.32.11bfs Linux çekirdeği üzerine yapılan dırılan sistem; tam tekmil ve çok hızlı bir KDE 4.4.2 masaüstü yöneticisi içeriyor. PC LinuxOS, KDE dışında başka masaüstü yöneticileri de sunuyor. Bunların başında Gnome 2.30.0 masaüstü yöneticisi geliyor. LXDE, XFCE ve daha eski bilgisayarlar için Enlightenment E17 kullanmak da mümkün. PCLinuxOS 2010; NVIDIA ve ATI ekran kartları için sürücü desteği, pek çok popüler format için multimedya oynatma desteği, pek çok ağ aygıtı için kablosuz desteği, pek çok yerel yazıcı ve ağ yazıcısı için yazıcı desteği sunuyor. Sistem, kullanıcıya kendini 60'tan fazla yerel dile dönüştürme olanağı veriyor. PCLinuxOS 2010; en yaygın uygulamaların HABERLER en son sürümleriyle geliyor: Firefox 3.6.3, Thunderbird 3.0.4, Pidgin 2.6.6 gibi. Ktorrent, Gimp, Digikam, Amarok, Smplayer sistemle gelen pek çok yazılımdan bazıları. Reynolds, bunlara ek olarak, 12,000'den fazla paketin de yazılım depolarında hazır olduğunu hatırlattı. Sürüm duyurusu 26 Mart 2010'da yapılan Sabayon Linux 5.2'nin "CoreCD" sürümü 20 Nisan 2010 Salı günü Mitch Harder ta rafından duyuruldu. Sabayon Linux 5.2 "CoreCD" Mitch Harder, Sabayon Linux 5.2 versiyo nunun "CoreCD" sürümünü duyurdu. Sa bayon Linux 5.2 "CoreCD" ile kullanıcının kendine özgü ihtiyaçlarına uyarlanmış, özel leştirilmiş bir yükleme inşa etmek için mi nimalist bir ortam sağlanmış. Bu, CD veya USB sürücü için 350400 MB'lik yeniden yüklenebilir imaj anlamına geliyor. Metin ta banlı kurulum söz konusu. Hızlı kurulum da cabası. Yeni GCC 4.4.1 ve glibc 2.10'a dayalı olan sistem, 2.6.33 Linux çekirdeği üzerine yapılandırılmış bulunuyor. "CoreCD" sürümü; sistem özelliklerinin ve paket yükleme işl emlerinin tüm kontrolünü ele geçirmek is teyen ileri düzey kullanıcıları hedeflemiş. Sabayon Linux 5.2 "CoreCD" için minimum sistem gereksinimleri ise şöyle sıralanıyor: i686 uyumlu işlemci (Intel Pentium II/III, Celeron, AMD Athlon), 512Mb RAM ve 2 GB www.enixma.org Mayıs 2010 Sayfa 46 boş disk alanı. "Lucid Lynx" kod adlı Ubuntu 10.04'ün ge lecek hafta çıkarılması planlanan final ver siyonundan önceki son test sürümü olan Ubuntu 10.04 RC, 22 Nisan 2010 Perşembe günü Steve Langasek tarafından duyuruldu. Ubuntu 10.04 Beta 2 "Lucid Lynx" kod adlı Ubuntu 10.04'ün ge lecek hafta çıkarılması planlanan final ver siyonundan önceki son test sürümü indirilmek üzere yansılarda yerini almış bulunuyor. Sürüm duyurusunu yapan Steve Langasek, Ubuntu ekibi olarak Ubuntu 10.04 LTS (Long Term Support) sürümünün masaüstü, server ve netbook versiyonlarının sürüm adayını duyurmaktan mutlu olduklarını söyledi. Bu sürüm adayını, kararlı sürümün tamamlan ması ve kullanıcının sistemi uygun biçimde test etmesi olarak değerlendirdiklerini söyle yen Langasek; Ubuntu ailesinin varyantları olan Kubuntu, Xubuntu, Edubuntu, Ubuntu Studio ve Mythbuntu'nun da sürüm aday larının çıktığını sözlerine ekledi. Masaüstü versiyonu üç yıl, server versiyonu ise beş yıl desteklenecek olan "Lucid Lynx" kod adlı Ubuntu 10.04 LTS, 29 Nisan 2010 Perşembe günü çıkacak. 2.6.32.11 tabanlı 2.6.3221.32 Linux çekirdeği üzerine yapılandırılan Ubuntu 10.04 RC'de; bütünüyle desteklenen hal desteği sayesinde sistem açılışının daha hızlı gerçekleşmesinin mümkün olduğu söyleniyor. Sistemde, açık kaynak kodlu Nouveau sürücü varsayılan olarak sunuluyor. Açılış ekranı da yenilenen sistemin masaüstü yöneticisi, GNOME masaüstü yöneticisinin en yeni sü rümü 2.30. Bu arada Kubuntu'da masaüstü yöneticisi olarak KDE SC 4.4 kullanılmış. "Lucid Lynx" kod adlı Ubuntu 10.04'ün final sürümü 29 Nisan 2010 Perşembe günü du yuruldu. Ubuntu 10.04 Ubuntu ekibi, iki yılda bir çıkarılan uzun süreli desteğe sahip (Long Term Support) sürüm lerden biri olan "Lucid Lynx" kod adlı Ubuntu 10.04'ün final sürümünü duyurdu. Böylelikle Ubuntu ailesinin varyantları olan Kubuntu, Xubuntu, Edubuntu, Ubuntu Studio ve Myth buntu da final sürümlerine ulaşmış bulu nuyorlar. Bütünüyle desteklenen hal desteği sayesinde sistem açılışının daha hızlı ger çekleşmesinin mümkün olduğu söylenen sis temde; GNOME masaüstü yöneticisinin en yeni sürümü 2.30 ve Kubuntu'da KDE ma saüstü yöneticisinin 4.4.2 sürümü kullanılmış. Nvidia ekran kartları için geliştirilmiş destek sunan sistem, açık kaynak kodlu Nouveau sürücüsünü varsayılan olarak sunuyor. Yeni temalar (Ambiance, Radiance), Rhythmbox ile bütünleşik UbuntuOne Music Store, sosyal ağlar için Gwibber ve meMenu uygulaması, sunucu bazında geliştirilmiş Ubuntu Kurumsal Bulut yükleyicisi gibi özellikler sistemle gelen HABERLER diğer ayrıntılardan bazıları. Bu arada, ön tanımlı olarak gelen Gnome oyunlarının sa yısı 5'e indirilmiş. YAZILIM HABERLERİ Gözde bilgisayar masaüstü ortamı GNOME masaüstü yöneticisinin en son sürümü GNOME 2.30 duyuruldu. GNOME 2.30 Gözde bilgisayar masaüstü ortamı GNOME masaüstü yöneticisinin en son sürümü GNOME 2.30 duyuruldu. GNOME; kullanım kolaylığı, kararlılık, birinci sınıf uluslararası laştırma ve erişim desteği özellikleriyle dikkat çekiyor. Özgür ve açık kaynak kodlu bir yazılım olan GNOME, ayrıca, hem masaüstü hem de mobil uygulamalarda biçimlendirilebilir ve güçlü bir platform olarak öne çıkıyor. GNOME; her altı ayda bir yeni bir sürüm, pek çok yeni özellik ve geliştirmeler sunuyor. GNOME 2.30'dan sonra duyurulacak kararlı sürüm ise 3.0 olacak. Bu sürümde de saptanan pek çok hata giderilmiş, kulla nıcılardan gelen bildirimler doğrultusunda iyileştirilmeler yapılmış bulunuyor. Nautilus www.enixma.org Mayıs 2010 Sayfa 47 dosya yöneticisi arayüzünde değişiklere gi dilmiş. Sistemin sürükle bırak yöntemiyle dosya yükleme özelliği ise zaten bir süredir gündemdeydi. 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.