ozirus’

diary of a computer alchemist
  • rss
  • Ana sayfa
  • Hakkımda
  • Linux
  • Kısa Filmler

Pardus Ağ Yöneticisine Ad-hoc Desteği Eklemek

08 July 2008

GİRİŞ

Staj sonuçları açıklandığında Pardus’ta staj yapacağım için gerçekten çok sevinmiştim. Hatta bu sevinç yurtta bilgisayar odasındaki ” ‘Yaşasın!’ diyerek sandalyeden fırlayan genç gören insan” ‘larca da bizzat tasdik edilip onaylanmıştı. Proje tercihimi her ne kadar “İnternet Bağlantısı Paylaşım Projesi” için kullanmış olsam ve bu proje GSoC‘cu bir arkadaşımız olan ve projesinin hakkını gayet güzel veren Cihangir‘e gitse de yine de “güzel ve eğlenceli” şeyler yaşayacağımı biliyordum Eskişehir’den staj için Gebze’ye gelirken. Herkes birbiriyle tanışıp iş projelerin dağıtılması aşamasına gelince eğlenceli olabileceğini düşündüğümden ‘ağ yöneticisine ad-hoc desteği eklenmesi’ projesini seçtim. Proje danışmanım ise Bahadır oldu. İşte, bu yazı buraya kadar yazdıklarımla tamamen alakasız olarak projeyi nasıl yaptığımla ilgili bir takım teknik şeylerle alakalı olacak. (Ayrıca umarım içeriğine bağlı olarak staj defteri doldurma sancımı da değerli kopyala ve yapıştır arkadaşların yardımıyla bir nebze olsun azaltacak.)

AĞ YÖNETİCİSİ ile ÇOMAR’I ANLAMAK

İşe nasıl başlayacağımı kestirebilmek adına çalışmalarımın ilk aşamasına ağ yöneticisinin kodlarını inceleyerek başladım. Epey vakit alan bu süreç sonunda işimi bitirdiğimde bu sürecin neyin-nerden-nasıl geldiği ile alakalı olarak bana epey birşey kattığını farkettim. Tabii olarak bu okuma ve inceleme aşaması süresince başta ÇOMAR olmak üzere kimi başka konulara da girdim.

…ve ÜZERLERİNDE OYNAMAK

Ağ yöneticisinin işleyişini anladığımı düşündüğümde normalde/her hangi bir GUI olmadan bilgisayarları ad-hoc bağlamak için gerekli olan; kablosuz ağ arayüzü modunu ad-hoc’a ayarlamak, arayüze ip vermek, isteniyorsa arayüze şifre vermek, kanal ayarı yapmak gibi işleri ağ yöneticisinden yapılabilir hale getirebilmek için ÇOMAR’a ait Net_Link_wireless_tools.py betiğini düzenlemeye başladım. Bu betiğin özellikle Dev sınıfına ait up metoduna bağlantı moduna göre değişen bir işlerlik kazandırmam gerekiyordu. Bu sebeple ağ yöneticisine ait connection.py dosyasından gelen mod bilgisine -ki kendileri Net_Link_wireless_tools.py betiğinde bir Python listesinin içinde ikamet ediyorlar- göre (bir erişim noktası ile internete çıkılan kablosuz bağlantılarda managed, ad-hoc bağlantılarda ad-hoc) up metodunda bir dallanma gerçekledim ve geriye sadece Wireless sınıfına ait metodlarla yada standart bir metodu yok ise eğer subprocess modülü yardımıyla up metodunun ad-hoc dallanmasının içini doldurmak kaldı.

Buraya kadar yaptıklarımla ve connection.py‘yi düzenleyerek yaptığım kimi GUI değişiklikleri ile ağ yöneticisini bilgisayarları ad-hoc bağlayabilir hale getirebildim. Fakat projenin buraya kadar yaptığım kadarı ad-hoc modda birbirlerine bağlanacak olan bilgisayarlara el ile ip verme zorunluluğu getiriyordu. Bu noktada bir takım RFC okuma çabalarına daldım ve bir-iki günümü bu hevese harcadım.

Okumaya çalıştığım RFC’lerden öğrendiğim şey yapmaya çalıştığım şeyin (ad-hoc bağlananan makinelere otomatik ip vermek ve ip çakışmasının önüne geçmek) makineler arası Link-Local bağlantı yapmak olduğunu öğrenmem oldu. Bu tipteki bir bağlantı (ki kendisi RFC 3927 ile efendi gibi anlatılmış) ad-hoc bağlı makinelere 169.254.0.0/16 aralığından bir ip tahsis ediyor ve çakışma olduğunda çakışmaya sebep olan makinelerden birine farklı bir ip atıyor.

Bu bağlantı şeklini projeme uygulayabilmek amacıyla birtakım kütüphane arayışlarına girdim. Arayışlarım sırasında avahi-autoipd adlı bir uygulamanın var olduğunu gördüm ve teknik ayrıntılar için freenode’un #avahi kanalında biraz vakit geçirdim. Daha sonra bunu yine up metodunun ilgili kısmına ekleyerek bağlanırken üzerinde mod, şifre vb… ayarları yaptığım ağ arayüzüne ip adresi vermede kullandım. Burda avahi-autoipd‘ye ip adresi verdirirken getirilecek sınırlandırma ve özelleştirmelerin ayarlandığı avahi-autoipd.action dosyası üzerinde de bir takım düzenlemeler yapmam gerekti. Bu işlemle birlikte artık ad-hoc bağlantı yapılan makinelere elle ip verme zorunluluğu ortadan kalkmış ve ağ yöneticisinin ad-hoc desteği projesi testler hariç tamamlanmış olmuştu.

TESTLER, CİHAZ UYUMSUZLUKLARI vs…

Proje bittikten sonra testleri yaparken karşılaştığım en büyük sorun kimi kablosuz cihazların geriye dönük uyumsuzlukları oldu. Intel PRO/Wireless 2200BG chipset’e sahip dizüstümde yazdığım ve düzgün çalışan bir kodun mod değiştirme kısmı Intel PRO/Wireless 3945ABG‘lı bir başka dizüstünde “Device is busy” hatası verebiliyordu örneğin. Bu sorun biraz vaktimi aldı ama olay sonuçta Ubuntu forumlarında gördüğüm ve “Neden daha önce aklıma gelmedi ki?” şaşkınlığıyla karşıladığım; arayüzü önce pasif et, değişiklikleri yap, sonra aktif et tandansında çözümlendi.

Yorumlar
Henüz yorum yok
Kategori
Gezegen, Pardus, Python, Staj, Öğrenelim
RSS Yorumlar RSS Yorumlar
Trackback Trackback

“Free is freedom” yada “Free as in freedom”

07 February 2008

Bugün derste bilgi birikimine son derece saygı duyduğum bir hocam konuşmasında aynen şunu söyledi;

“…bazıları diyor ki ‘free is freedom’… bu devirde kim kime bedava bir şey vermiş allah aşkına(!)”

Bunu söylerken aynı zamanda da tahtaya ‘free is freedom’ yazdı.

Sanırsam kendisi biryerlerden ‘free as in freedom’ lafını işitmiş olacak ki bir ms teknolojisi kullanarak yapacağımız yeni ödev projemizi anlatırken böyle/bunun gibi birşey(ler) söylemeye gerek duydu.

Keşke ‘free’ kelimesinin çift anlamlılığından (ücretsiz/özgür) dolayı böyle bir izahın yapıldığını ve ayrıca izahın ‘free is freedom’ şeklinde değil ‘free as in freedom’ şeklinde olduğunu söyleyebilseydim. N’apayım, yine ‘anlatmadan anlaşılmaya aşık’ canımselimliğim tutmuştu o sırada… (:

Gratis versus Libre

Yorumlar
1 yorum var
Kategori
Asabiyet, Gezegen, Özgür yazılım, Öğrenelim
Tags
free as in freedom, free is freedom, free software, fsf, gnu
RSS Yorumlar RSS Yorumlar
Trackback Trackback

MIT’ten “Algoritmalara Giriş” Kursu

07 August 2007

MIT hocalarınca yazılmış meşhur “Introduction To Algorithms” kitabını bilenler bilir. Programlamaya yeni başlamış, algoritma kavramına aç beyinler için mükemmel bir başlangıç(!) kitabıdır. Bu adreste ise kitapta yer alan konuların büyük bir kısmını yine bizzat MIT’te çekilmiş videolar eşliğinde görüp, inceleyip, çalışabiliyoruz. Gönül isterdi ki böyle bir çalışma Türkiye’de de yapılmış olsun fakat ne yazık ki henüz görünürde birşeyler yok. Ama olacak gibi sanki…

Yorumlar
Henüz yorum yok
Kategori
Gezegen, Öğrenelim
RSS Yorumlar RSS Yorumlar
Trackback Trackback

Geçmiş zaman olur ki…

05 August 2007

Bilim ve Teknik dergisinin meşhur arşiv dvd’sini karıştırırken 1994 yılı sayılarından birinde şöyle bir şeye rastgeldim;

Bilim-Teknik 1994

Bu yazının yazılış tarihinden on üç yıl sonra 1mbit sınırsız bağlantıya 50 YTL’ye sahip olabilen bizler bundan on üç yıl sonrasını çılgınlar gibi merak etmiyor değiliz tabii ki.

Yorumlar
4 yorum var
Kategori
Eğlencelik, Gezegen, Öğrenelim
RSS Yorumlar RSS Yorumlar
Trackback Trackback

Pirates of Silicon Valley

04 August 2007

Az önce izlemeyi bitirdiğim 1999 yapımı harika bir film Pirates of Silicon Valley. Konu olarak Microsoft ve Apple şirketlerinin kuruluş aşamalarında geçen olayları Bill Gates ve Steve Jobs cephesinden ayrı ayrı anlatıyor. Tabii biz de bu arada Steve Jobs ve Bill Gates’in kişilikleri hakkında biraz daha bilgi sahibi oluyoruz.

Özellikle ‘telif’, ‘esinlenme’, ‘kopyalama’ konularında çok güzel muhabbetler dönüyor.

Film sayesinde Bill Gates’e olan ‘kıllığımın’ bir kat daha arttığını söylemeden edemeyeceğim.

İyi seyirler…

Yorumlar
1 yorum var
Kategori
Gezegen
RSS Yorumlar RSS Yorumlar
Trackback Trackback

Squid, Dansguardian, Webmin, Iptables belgesi

11 July 2007

Staj için hazırlamış olduğum belgede temel anlamda şunları anlatmaya çalıştım;

  • Squid proxy server’ın kurulumu ve basit konfigürasyonu
  • Dansguardian içerik filtreleme yazılımı kurulumu, konfigürasyonu ve squid ile entegre çalıştırılması
  • Webmin kurulum ve kullanımı
  • iptables’ın temel kullanımı

Belgeyi danışmanımın isteği üzerine CentOS 5 dağıtımını göz önüne alarak hazırladım.

İndirmek için şurayı tıklayınız.

Konulara yeni olduğum için her türlü yorumu bekliyorum.

Not: Bu LaTeX şahane birşeymiş.

Yorumlar
Henüz yorum yok
Kategori
CentOS, Gezegen, Gnu/Linux, Makaleler, Staj
RSS Yorumlar RSS Yorumlar
Trackback Trackback

Kategori

  • .Net
  • Asabiyet
  • Aşk
  • Çok dertliyim be blog
  • Özgür yazılım
  • Öğrenelim
  • CentOS
  • Debian / Ubuntu
  • Dizi
  • Django
  • Efkar
  • Eğlencelik
  • Fotoğraf
  • Gezegen
  • Gnu/Linux
  • Kategorilenmemiş
  • Kendime not
  • Kitap İnceleme
  • Kişisel düşünceler
  • Komiklik içerebilir
  • Makaleler
  • Müzik
  • Okul falan
  • Pardus
  • Php
  • Python
  • Seratonin
  • Sinema
  • Siyaset
  • Staj
  • Tutunamayanlar
  • Windows
  • Yazılım mühendisliği
  • Şiir

Twitter


follow ozirus at http://twitter.com

Son okuduklarım


Reklamlar


Ohloh

Ohloh profile for Furkan ÇALIŞKAN
rss RSS Yorumlar valid xhtml 1.1 design by jide powered by Wordpress get firefox