Linux 2.6.28 Kerneline İlk Bakış

Linux 2.6.28 kerneli resmi olarak yayınlandı. İnternet üzerinde karşıma çıkan bir ilk bakış yazısını okurken bir yandan da Filistin'de, Gazze'deki olaylarla ilgili bir yazıyı okuyordum. İnsan bir an düşünüyor. Bu ne biçim çelişkidir. Linux kerneli yenilikleriyle beraber oldukça kolaylaştırıcı, yararlı şeyler getirmiş. Ama neye yarar? İşimi kolaylaştıracak, artık daha hızlı bir şekilde disklerimi hatalara karşı tarayabileceğim, grafik kartım daha verimli kullanılacak. Falan Filan. E Peki Gazze'de veya dünyanın başka bir yerinde savaş nedeniyle, düzen nedeniyle, açlık nedeniyle, yokluk nedeniyle ölen ve hayatı boyunca bir bilgisayarı olmayacak, bilgisayar görmeyecek olan çocuğa, insana ne faydası var bu kernelin? Bilim ve teknoloji artık çığrından çıkmıştır. İnsanlık için bir işe yaradığı yoktur. Tamamen egemenlere yaramaktadır. Eğer bir Filistin'li çocuğun ölmesine seyirci kalıyorsam ve umursamıyorsam, kernelin yeni sürümü çıkmış, bu da bana yılbaşı hediyesi olmuş neye yarar.

Dünyayı verelim çocuklara hiç değilse bir günlüğüne
allı pullu bir balon gibi verelim oynasınlar
oynasınlar türküler söyliyerek yıldızların arasında
dünyayı çocuklara verelim
kocaman bir elma gibi verelim sıcacık bir ekmek somunu gibi
hiç değilse bir günlüğüne doysunlar
bir günlük de olsa öğrensin dünya arkadaşlığı
çocuklar dünyayı alacak elimizden
ölümsüz ağaçlar dikecekler
Nazım Hikmet

Ayrıntıların ayrımında olmak

GNU lisanslı içerik yönetim sistemi Drupal ile şimdiye kadar bir çok site yaptım (Bir ara Drupal'i size anlatır temel kurulumun nasıl yapıldığını, sizinle paylaşırım). Sitesinden son versiyonu indirip sıkıştırılmış dosyaları açıyor ve ftp ile site sunucunuza(host) yüklüyorsunuz. Siteyi kurmak çok uzun süren bir işlem değil; ancak benim saatlerimi aldı: Yüklediğimde izinlerle ilgili bir hata veriyordu, yani "You don't have permission to access / on this server" hatası. İnternette çözümler aradım, .htaccess dosyasına müdahelelerde bulundum. Dosyaları çalışan sitemin alt klasörüne koyuyor ve alan ismini oraya yönlendiriyorum. İşin tuhaf yanı web sitem ve benzer şekilde alt klasörlerde barındırdığım diğer siteler normal çalışıyordu. .htaccess'te yaptığım değişikliklerle kurulum sayfasını görüyor; ama tasarımını düzgün göremiyordum. Farklı html sayfalarıyla denedim çalıştı, dosyaların izinlerini değiştirip denedim yine de tasarımı tam görülmüyordu. Firefox'ta sayfa biçemiyle ilgili bir sorun da değil. Bilgisayarımı açtım kapattım( sorun çözülmüyorsa başvurulan klasik ilkel yöntem, bazen işe yarar). Başka bilgisayarda denedim, olmadı. Servis sağlayıcımın Drupal ile ilgili önceden bir çok vukuatı var, o olmalı sorun. Değilmiş... Drupal dosyalarını kendi bilgisayarımdan yükledim. Tabii; başka yerden yükleyemem; ama dosyaları bulundurduğum yer ayrı bir disk bölümü ve kullanıcı olarak o bölüme erişme yetkilerim kısıtlı ve sıkıştırılmış dosyaları orada açtığım için tüm dosyaların izinleri de o şekilde ayarlanmış. Yüklediğimde de aynen kalmış. Ben dizinlerin izinlerini değiştirsem de en içteki dosyaları etkilemediği için tasarımsız ve eksik olarak görülüyormuş.Sonuç olarak şunu anladım: bazen sorunların gerçekten "kaynağı"na inmek gerekiyormuş ve sadece ayrıntılar değilmiş önemli olan, o ayrıntıların ayrımında olmak da önemliymiş.

Tahir Özgür : Öykülerin Fotoğrafı

"Öykülerin fotoğrafını çekmek istiyorum

O'nu, bir pasajın girişinde gördüm...

Elinde şemsiye vardı...

Ayağında ise sandelet...

Üzerinde kısa kollu bir gömlek...

Yanında boş bir tabure....

Arkasında yeşil bir duvar...

Bir taburenin üzerinde uyukluyordu...

...Ve yüreğim ağladı o an...

Bayramdan bir gün önceydi....

Yani, "Arefe" günü..

Yani herkesin karınca kaderince bayram hazırlığı yaptığı, çarşıda, 'iğne atsanız yere düşmez' denilen günlerden bir gün...

Alışverişten geliyor ve işyerime çıkıyordum..

İşte öylece gördüm O'nu orada..."

Devamını okumak için lütfen Öykülerin Fotoğrafı adresini tıklayın.

(Sürekli takip ettiğim Fotoritim e-Fotoğraf dergisinden)
(Tahir Özgür'ün özgeçmişi)

GNU/Linux'te kaynak kodtan kurulum yapmak

GNU/Linux işletim sisteminde kaynak kodtan program kurma
Günümüzde artık neredeyse bütün GNU/Linux'lerin (Slackware dışındakiler mi demeliyiz :) ) kullanıcının işini kolaylaştıran bir paket yöneticisi var. Paket yöneticisi olmasa bile kendi özel paket sistemleri (Debian tabanlı sistemler için deb uzantılı, Red Hat sistemler için rpm uzantılı) var. Bu kendi özel paketlerini genellikle çift tıklama ile kurabiliyorsunuz. Paket yöneticisi de çoğu GNU/Linux kullanıcısının bileceği gibi işleri oldukça kolaylaştırıyor. Paketi arıyorsunuz, seçiyorsunuz ve kur diyorsunuz. Paket gerekli bağımlılıklarıyla beraber kuruluyor. Güncellemesi geldiği zaman görebiliyorsunuz, güncel sürümüne sorunsuz bir şekilde yükseltebiliyorsunuz.

Buraya kadar herşey güzel. Diyelim ki paket depolarında olmayan, ve sadece kaynak koduna sahip olduğunuz bir programı kurmak istediniz. Ne yapacaksınız? Paket depolarında aradığı programı bulamayanların ve bir şekilde kaynak koda erişenlerin sorduğu en temel sorudur bu. Özellikle kullanıcı kendisini “uzman” olarak görmüyorsa bu işlem karmaşık ve zor bir işlem olarak gözünü korkutacaktır.

Bu kaynak kod dosyaları arasında aşama aşama ne yapılması gerektiğini anlatan README (Oku Beni) dosyaları vardır. Yoksa, o kaynak dosyasının indirildiği sitede falan olması gerekir. Bütün bu dosyalarda GNU/Linux sistemler için temel aşamalar anlatılır, elbette o program için kurulması gereken bağımlılıklar, kütüphaneler varsa bu “oku beni” dosyasında öncelikle o paketlerin, programların, kütüphanelerin nasıl kurulacağı anlatılır. Bu bağımlılıklar kurulduktan sonra, sıra asıl programı kurmaya gelecektir. Kaynak kodtan kurulma işlemleri aşağıdaki temel adımlardan oluşur. İndirdiğiniz sıkıştırılmış dosyanın tar.gz uzantılı olduğunu varsayarak aşağıdaki aşamalar anlatılmıştır (Bir terminal kullanarak bu komutların girilmesi gerekmektedir):

  • tar xvzf paketismi.tar.gz (veya tar xvjf paketismi.tar.bz2) Bu kod yardımıyla sıkıştırılmış dosyayı açmak için kullanılmaktadır. (Dilerseniz, eğer masaüstü ortama erişiminiz varsa grafiksel bir uygulama ile de sıkıştırılmış dosyayı açabilirsiniz -açabilirsiniz derken genişletmeyi, “extract” kavramını kastediyorum)
  • Açılan paketin oluşturduğu klasöre girmemiz lazım : cd paketismi
  • ./configure yardımıyla derleme öncesi gerekli yapılandırmaların gerçekleşmesini sağlıyoruz.
  • make komutuyla da derleme işleminin başlatılmasını tetikliyoruz.
  • Daha sonra make install komutuyla programın kurulumunu tamamlarız.

Bu komutların ne işe yaradığı, ne olduğu ayrıntılı bir yazı konusu aslında. Temel olarak bunları bilmeden de çoğu paketi kurmak, oluşan hatalar doğrultusunda gerekenleri yapmak sorunları çözecektir. “make” GNU tarafından üretilmiş olan ve çalıştırılabilir veya diğer kaynak kod olmayan dosyaların üretilmesini kontrol eden bir yazılımdır. “makefile” denilen bir dosyadan programın nasıl üretileceğini keşfederek programı üretir (gcc'yi de araştırmanız lazım :), ya da kolay olsun bağlantıları inceleyin ;) ).

Not: Burada anlatılanlar C, C++ kaynak kodlarından kurulumu (derlemeyi) anlatmaktadır. Farklı programlama diline göre, farklı aşamalar olacaktır. Her kaynak koduyla beraber dağıtılan oku beni dosyaları bu işlemi anlattıkları için mutlaka izlenmesi ve okunması gereken belgelerdir. Bu işlemi öğrenmenin en güzel yolu sürekli deneyerek, hataları okuyup çözümler bulmaya çalışarak ve forumlarda hata mesajları için yardım isteyerek mümkündür.

Bağlantılar:
http://www.tuxfiles.org/linuxhelp/softinstall.html 
http://www.newlinuxuser.com/howto-install-deb-rpm-and-source-code-files/
http://linuxpoison.blogspot.com/2008/02/howto-install-software-from-source-code.html
http://www.gnu.org/software/make/ 
http://gcc.gnu.org/ 

Rastgele Sayı Üretme

Bir çok uygulaması olan rastgelelik için, programlarda rastgele sayı üreteçleri kullanılır. Rastgele sayı üreteçleri fiziksel veya yazılımsal bir cihaz olabilir. Fiziksel cihazlara örnek olarak para atma, rulet tekeri (diğer şans oyunları için), Zener diodlarındaki termal gürültü verilebilir. Gerçek anlamda rastgelelilik için özellikle Entropi kaynakları (radyoaktif bozulma, atmosferdeki radyo dalgaları gürültüsü)kullanılabiliyor.

Bilgisayarlara baktığımızda rastgelelik için Yalancı (Pseudo) Rastgele Sayı Üreteçleri dediğimiz algoritmalar kullanılıyor. Bu algoritmalar (PRNG) rastgelelik özelliği olan uzun sayılar oluşturur. En sık karşılaşılan bir PRNG Doğrusal Congruential üreticidir. Bu üretici sayıları üretmek için aşağıdaki tekrarı kullanır:

X_{n+1} = (a X_n + b)\, \textrm{mod}\, m


Kaynak:
Random Number Generation
Bir cevap