Aydan Taşdemir Yılmaz

Linux Notları

Recent News

Cuma, Temmuz 24, 2009

Staj Günlüğü 20.Gün

Evet bugün stajım bitti.Kendimi biraz boşlukta hissediyorum.
Bugün kaldığım yerden devam etmekle işe başladım.
Cat ile başlayan dosyayı dün kapatamamıştım.Fakak bugün kapamayı başardım:)Bu işte bittikten sonra LFS nin dosya yolunu son bir kez kontrol etmeye geldi.echo $LFS sonucunun /mnt/lfs olduğunu görünce rahatladım :)
Bütün hazırlıklarımız derliyiceğimiz paketler içindi.Bu yüzden paket derleme işlemine başladım.
İlk olarak içinde bağlayıcı assembler ve dosya sistemleri tutmaya yardımcı binutils programıı yüklüyoruz.bu paket glibc ve gcc yüklenebilmesi için gerekli.Texinfonun 4.9 dan yeni sürümlerini desteklemediği için yama uygulamamız gerekiyor.
Öncelikle bilgisayarda patch komutunun bulunmadığını gördüm.Pisi it patch ile komutu yükledim.Daha sonra
patch -N1 -i binutils-2.18-configure-1.patch komutunu çalıştırdığımda
hatası ile karşılaştım.Google'dan yaptığım araştırmalar sonucunda patch dosyasının /mnt/lfs/tools/ dizini altına değilde /mnt/lfs/ dizini altına yüklemem gerektiğini ve
patch binutils-2.18-configure-1.patch komutunu çalıştırmam gerektiğini öğrendim.
Bir umutla komutu çalıştırdım.
Fakat komut bu şekilde kaldı.İlerlemiyor:(
Bir çaresini de bulamadım.Bu yüzden stajım ilerlemeyen bir komut ile sona erdi...

Perşembe, Temmuz 23, 2009

Staj Günlüğü 19.Gün

*Evet root olarak işlem yaparsak eğer en ufak bir hatada sistemi kaybedebileceğimiz için
lfs isimli bir grup ve bu gruba üye lfs isimli bir kullanıcı oluşturuyoruz.
*$LFS/tools ve $LFS/sources dizinlerinin sahiplik haklarını lfs isimli kullanıcıya atıyoruz.
chown -v lfs $LFS/tools
chown -v lfs $LFS/sources
*2 yeni başlangıç noktası oluşturuyoruz.



ve maalesef 2.sini oluştururken bir hatayla karşılaşıyorum:(
EOF dediğim halde kapanmıyor.
Necdet Hoca burda olmalıydı.
Yada google'ın bir an önce yardım etmesi lazım:(

Staj Günlüğü 19.Gün

Tek başına bütün gün bir odada kalmak çok sıkıcı:(
İnsan hiç bişey yapmak istemiyor.Ama yapmak zorundayım tabiki de;)
Bazı hatalarla karşılaşınca sistemin temelini sağlam oluşturmak amacıyla yaptığım şeylerin hepsini baştan alma kararı aldım.Bugün yaptıklarımı adım adım resimli olarak anlatma kararı aldım.
*Öncelikle disk bölümü düzenleyicisinden 10 gblık lfs 10 gblık da takas alanı için yer ayırdım.
lfs için /dev/sda6
takas alanı için /dev/sda7
*mke3fs -jv /dev/sda6 komutuyla ayırdığım alanda bir ext3 dosya sistemi olşuturdum.
*debugfs -R feature /dev/sda6 ile dosya sisteminin doğru oluşturulup oluşturulmadığını kontrol ettim.
*mkswap /dev/sda7 ile ayırdığım 2. yeri takas alanı olarak ayırdım.


*LFS yolunu /mnt/lfs olarak tanımladım.
*mkdir -pv $LFS
mount -v -t ext3 /dev/sda6 $LFS ile olşuturduğum alanı /mnt/lfs'ye bağladım.
*/sbin/swapon -v /dev/sda7 ile takas alanını etkin olarak temin ettik(bu kısmını anladığım söylenemez)
*Daha sonra indirdiğimiz paketler için yer oluşturmaya başladık.
mkdir -v $LFS/sources
chmod -v a+wt $LFS/sources
*Paketleri indirmiştim zaten.
*Tüm programları derlemek için tools dizinini $LFS/tools adı altında oluşturuyoruz.
mkdir -v $LFS/tools
*LFS dizininden yeni yaratılan dizine ulaşmak için host sistemde bir link oluşturuyoruz.
ln -sv $LFS/tools /
daha önceden link oluşturduğum için dosya var uyarısı geldi.

Çarşamba, Temmuz 22, 2009

Staj Günlüğü 18.Gün

Bugün sabah kafamda 50 gblık yer parduse 10 gblık yer LFS için 10 gb LFS takas alanı ve 5 gb ta pardus takas alanı oluşturma planım vardı.
Bir an evvel işe başladım.
Tekrar pardus kurulumunu başlattım belirttiğim yerleri ayırdım.10 gblık takas alanını oluştururken pardus kişisel dosyalar için kısmını işaretledim.Bu dosyaların /home bağlantılı olduğunu söyledi.Bende bir sakınca görmeyerek devam ettim pardus kuruldu.mke2fs -jv ile ext3 dosya sistemini oluşturdum.Fakat takas alanını tanımlarken bağımllığı nedeniyle ayıramadım.
Disk yöneticisinde uğraştım.Disk bölümü düzenleyicisinin altından girdim üstünden çıktım.
Ama yok olmuyor olmuyor.
Başka bir çaresini bulamayıp(!)(kesin çok kolay bir yolu vardır ama)
Tekrar pardus yükledim.10 gblık alanı tamamen boş tanımladım.bu pardus yüklemesinin son olmasını umut ederek pardusu yükledim.
Evet sanırım bu sefer son.
Dosya sistemi ve takas alanı işlerini hallettim ve paketleri yüklemeye başladım.
Bu iş fazlasıyla uzun sürdü tek tek araştır ve yükle vs.
Daha sonra www.linuxfromscratch.com adresinde hazır linkler halinde bulunduklarını gördüğümde dünyam başıma yıkıldı.Tam bir zaman kaybı...:(
Paketleri indirdim yamaları indirdim.
Lfs kullanıcı eklemede sıkıntım var umarım yrn çözebilirim.Bugünlük bu kadar...

Staj Günlüğü 17.Gün

Cevap bekleyerek zaman kaybetmek yerine bugün başka bir makinaya pardus 2009 yükleme kararı aldık.
Makinayı monitöre bağladım ve pardus 2009 kurulumu başladı.
Daha önce hiç pardus yüklememiş birinin(benim(!)) 2 gün içinde 10dan fazla pardus yüklemiş olması gerçekten fazlasıyla garip:)
Bu sefer pardusu de açabildim rahatlıkla.
Usb belleğe LFS kurucaktım.Fakat
mke2fs -jv /media/IDONE komutunu çalıştırdığımda bu alanın blok yapılı olmadığı şeklinde bir hatayla karşılaştım.
Necdet hocam madem yeniden pardus yükledim sistemde kendime bir yer ayırmamı söyledi.
Bu nedenle tekrar pardus kurumuna başladım.Kurarkende 10 gblık /mnt/archive bağımlılığı olan bir yer ayırdım.LFS kurabilmek için.
Ve pardusu tekrar yükledim.Daha sonra swap alanı sorunu ortaya çıktı.
Bu işi gittikçe çorba haline getirmekten korkuyorum.Umarım becereblirim.
Bugünlük bu kadar.

Salı, Temmuz 21, 2009

Staj Günlüğü 16.Gün

Bugün pardus 2009 indirmekle işe başladım.
http://mirror.comu.edu.tr de bulunan pardus yansısından pardus 2009 kararlı sürümü indirmeye başladım.Kısa bir sürede indi.Fakat bulunduğum bilgisayarda cd yazıcı yokmuş.Sonra Necdet Hocamın bilgisayarına geçerek ordan pardus 2009 cdsini elde ettim.
Ve üzerinde usb girişi bulunan makineye pardus 2009 kurmaya başladım.Hocamın yardımları sayesinde kolay bir kurulum oldu.kurulum esnasında F6ya basarak tetris oyununu da oynadım.Gayet eğlenceliydi.Ta ki pardusu açmaya çalışana kadar.
Login ekranında kullanıcı adı ve parolayı girdikten sonra tam sistem yüklenirken ekran kararıyor ve login ekranına geri dönüyor.
Bu yüzden araştırmalarım başladı ve Hocam bugzilla da hata kaydı olup olmadığına bakmamı hata kaydı yok ise hata kaydı belitrip bu hatayı çözmemi istedi.Bugzillada hata kaydı yapmakla ilgili en ufak bir fikrim bile yoktu.Bu yüzden google araştırmalarıma başladım.Öncelikle bugzilla email listesine üye oldum.Hata kaydı yaparken dikkat edilmesi gerekenleri okudum ve bi kaç hata mesajı inceleyip hatamın daha önce verilip verilmediğini araştırdıktan sonra grafik ekrandan pardusun açılmadığı şeklindeki hata kaydımı yolladım.
Öncelikle konuyla ilgili bir pardus geliştiricisine atandım.Ve cvp beklemeye başladım.
Bu arada internetten yaptığım araştırmalarla güvenli kipte oturumu açabildim.
Ama simgeler Hocamında tabiriyle "dana gibi" idi.
Bir müddet pardus 2009 u inceledim.LFS yapabilmek için bir an evvel pardus 2009 u kurmam şart.Umarım çabucak bir cevap alabilirim.

Cuma, Temmuz 17, 2009

Mühimm

Linux sistemininn nasıl çalıştığını öğrenmek için her bir paketin ne olduğunu ,ne iş için kullanıldığını ve sistemin o pakete neden ihtiyacı bilmek gerekir.

Staj Günlüğü 15.Gün

...(dünkü özetin devamıdır.)
    11)Bash-3.2
      *Bash paketi Bourne-again SHell' i içerir.kurulmadan önce yama uygulanır           (bash-3.2-fixes-8.patch)
    12)Bzip2-1.0.5
      *Bu paket sıkıştırılmış ve sıkıştırılmamış dosyalar için program içerir.Yazı             dosyalarını bzip2 ile sıkıştırmak gzip ile sıkıştırmaktan bir miktar daha                 iyidir.
    13)Coreutils-6.12
      *Bu paket temel sistem karakteristiğini gösteren ve kuran araçlar içerir.
    14)Diffutils-2.8.1
      *Bu program dosya ve dizinler arasındaki farkı gösterir.
    15)E2fsprogs-1.41.3
      *Ext2 dosya sistemi için standart dosya sistemi uygulamaları sağlar.
      Ext3/4 dosya sistemlerinin günlüğe kaydetme özelliklerini de destekler.
    16)Finutils-4.4.0
      *Dosyaları bulmamızı sağlar.
    17)Gawk-3.1.6
      *Metin dosyalarını işlememizi sağlar.
    18)Gettext-0.17
      *Uluslararasılaştırma ve yerelleştirme araçları sunar.
    19)Grep-2.5.3
      *Dosyaları bulmamızı sağlar.
    20)Gzip-1.3.12
      *Dosyaları sıkıştırmamıza ve açmamıza yardımcı olur.
    21)M4-1.4.12
      *Bir makro işlemcidir.
    22)Make-3.81
      *Paketleri derlememizi sağlar.
    23)Patch-2.5.4
      *Yama dosyalarını eklememize yardımcı olur.
    24)Perl-5.10.0
      *Perl (Kolay çıkarımlar ve raporlama dili)ni içerir.
    25)Sed-4.1.5
      *Akıcı bir editor(düzenleyici)'dir.
    26)Tar-1.20
      *Arşivleme programıdır.
    27)Textinfo-4.13a
      *Bilgi sayfalarını okumamızı.yazmamızı ve dönüştürmemizi sağlar.
    28)Ut,l-Linux-ng-2.14.1
      *Dosya sistemleri,konsollar,bölümler ve mesajlarla ilgili çeşitli araçlar içerir.
*Eğer ayırdığımız LFS bölümü kısıtlı iste gereksiz öğeler kaldırılırak yerden tasarruf sağlanır.Bu bölüm zorunlu değildir.70 mb kadar bir yer kazandırır.
 strip --strip-debug /toold/lib/*
 strip --strip-unneeded /tools/{ ,s}bin/*
*Oluşturduğumuz lfs kullanıcısının etkinlik hakkını değiştiriyoruz.


Ve LFS sistemimizi inşa etmeye başlıyoruz.

Staj Günlüğü 15.Gün

Daraltı 58 programı internetten tek tek bulup indirdikten sonra yetmeyip 27 yamayı indiren birinin hissettikleridir.Şu an bu his bana çok tanıdık gelmekte.

Perşembe, Temmuz 16, 2009

Staj Günlüğü 14.Gün

Linux from Scratch kitabını okumaya çalışıyorum.Kolay bir iş olduğunu söyleyemem:)
Okuduklarımdan bir özet çıkardım.Yoksa o kadar bilinmeyen kelime içerisinde boğulup gidicektim.Aslında bilinmeyen değil başkaları biliyodur ama benim bildiğim söylenemez:)
>>Sıfırdan linux sistemi oluşturmanın faydaları<<

*Bir linux sisteminin tam olarak nasıl çalıştığını öğrenebilirsiniz.
*Kendi ihtiyaçlarınıza ve isteklerinize yönelik olarak bir linux sistemi oluşturabilirsiniz.
*Sistem üzerinde daha fazla kontrol sahibi olabilir başkalarına istiyaç duymazsınız.Sürücü koltuğunda oturarak sistemin ne yapması gerektiğine,hangi programın nereye ve nasıl kurulucağına karar verebilirsiniz.
*Linux dağıtımları bazen istemediğiniz çok sayıda program ile birlikte gelir.Sıfırdan bir linux programı oluşturarak bilgisayarınızda yerden tasarruf sağlayabilirsiniz.
*Ayrıca sistemin oluşturulması size ait olduğu için tüm paketler dikkatli ve doğru yüklendiği taktirde güvenlik sorunu yaşamazsınız.
>>Sıfırdan bir linux sistemi oluşturmak için yapılması gerekenler.<<

*LFS için bilgisayarımızda boş bir alan ayırıyoruz.(Aslında LFS başka bir işletim sisteminin olduğu bir alanda da kurulabilir fakat boş bir alanda oluşturmak daha sağlıklı;)
*Ayırdığımız alanda indiriceğimiz paketler için bir dosya sistemi oluşturmamız gerekiyor
mke2fs -jv /dev/  ( ayırdığımız alan adı)
*Nadiren kullanılan veriler ve aktif olarak kullanılan diğer işlere yer ayırmak için çekirdek tarafından kullanılan bir takas alanı oluşturulabilir.
*Oluşturduğumuz dosya sistemini bu alana monte ediyoruz.
*Paketleri ve yamaları indiriyoruz.
*Genelde en yeni paketlerin indirilmesi istenilen bir durum değildir.bunun nedeni yeni paketlerin özelliklerin bilinmeyen durumlara sebebiyet vermesi ve hataya sahip  olabilmeleridir.
*Paketler için bir dizin oluşturulur.Dizinin yazılabilir ve yapışkan(sticky) olması istenir.Burada sticky'den kasıt bir programa verilen izinlerin dizin içindeki diğer programlara uygulanabilme özelliğidir.
*Yaklaşık olarak 58 paket ve paketlere ek olarak eklenicek olan gerekli yaklaşık 27 yama indirilir.(üşenmeyip saydım:)
*LFS/tools yolunda bir dizin oluşturuyoruz.Bu dizinin tüm programların derleniceği geçici bir dizindir ve LFS nin son halinde yer almaz.
*Yapıcağımız işleri root olarak yaparsak eğer ufak bir hatada sistemin zarar görmesine yada yok olmasına sebep olabiliriz.Bu nedenle yeni bir kullanıcı eklenmesi önerilir.
*SBU(=standart Build Unit) LFS işleminde paketlerin derlenmesi için geçen zamanın hesaplanmasını sağlayan bir birimdir.
*Sırada paketlerin yüklenmesi var.
    1)Binutils-2.18 -Pass 1
       *Bir bağlayıcı,bir assembler ve nesne dosyalarını tutan diğer araçları içerir.
    2)GCC-4.3.2 -Pass 1
      *GNU derleyici koleksiyonudur(C ve C++ derleyici bulunan).Öncelikle GMP            ve MPFR paketlerini yüklememiz gerekir.
    3)Linux-2.6.27.4 API Headers
      *Glibc'nin kullanılabilmesi için ihtiyaç vardır.
    4)Glibc-2.8-20080929
      *Temel C kütüphanesini içerir.Bu kütüphane hafıza tahsisi,dizin arama,dosya       açma kapama,dosya okuma ve yazma ve model eşleme için temel rutinleri             sağlar.
*Toolchain ayarlanır.
    5)Tcl-8.5.5
      *Araç komut dili içerir.
    6)Expect-5.43.0
      *Diğer etkileşimli programların dialog betklerini yürüten programdır.
    7)DejaGNU-1.4.4
      *Diğer programların test edilmesine yardımcı olur.
    8)GCC-4.3.2  -Pass 2
      *GCC ve Binutils'i test edicek olan -Tcl,Expect ve DejaGNU -yüklendikten               sonra GC ve Binutils tekrar yüklenerek test edilmelidir.
    9)Binutils-2.18  -Pass2
      *Yeni bir inşa dizini oluşturularak tekrar inşa edilir.
    10)Ncurses-5.6
      *Terminal bağımsız karakter ekranlarını ele alır.
...(Devam edicek umarım:)


Staj Günlüğü 13.Gün

Bugün donkey isimli paketin hatalarını hallettim yıhahaha:)
.pisi uzantılı paketi dizinin içinde görünce ne kadar mutlu olduğumu anlatamam:P
Biraz uğraştıktan actionsAPI'nin derinliklerine indikten sonra donkey programınıda pislemiş oldum.Pisiledim ama çomar hatası yüzünden tam çalışıp çalışmadığını anlayamadım.Bu hata nedeniyle hiç bir paketi kuramaz oldum.Önce firefoxum gitti opera kullanmaya başladım daha sonra paket kuramaz oldum.2009 pardusun çıkmasını bekliyoruz yüklemek için.Bir an önce çıksın:)
Daha sonra tekrar başladım paket arayışlarına.En sevmediğim iş bu sanırım.
Baloonshooter adında bir oyun var.Paketlenmesi oldukça kolay ve bende  o oyunu çok severim.Bu nedenle onu paketliyim bari edim ve o işi de hallettim:)
Şimdilik pisi paket yapımı işine biraz mola verdim sanırım.Çünkü Necdet hocam 300 sayfalık ve ingilizce bir kitap olan Linux from Scratch(Sıfırdan Linux) kitabının ilk bölümün okuyup anladıklarımı ona anlatmamı istedi.64 bit pardus projesinde kullanıcağımız bir kaynak.
Evet ingilizce kitap okuma alışkanlığı olmayan biri için değişik bir deneyim diyebilirim:)
Debian paket depoları ile olan dostluğumu bırakıp google.translete ile kanka oldum.Onun yardımlarıyla konuyu anlamaya çalıştım.
Ama kitap gittikçe gözümde büyüyor.Bilmediğim kelimelere savaş açtım:)
bugünlük bu kadar ..:)
See you tomorrow everybody.
One language one person.:)

Salı, Temmuz 14, 2009

Staj Günlüğü 12.Gün

Bugün yapmakta olduğum paketin hatalı olduğunu görerek yıkıldım.
Daha sonra aramalarıma tam gaz devam etmeye başladım.Debian paket deposundan donkey isimli sadece bir kerelik parola üreten bir programı gözüme kestirdim.Başladım araştırmaya.
Paketin install dosyasında yazanlara göre öncelikle sıkıştırılmış dosyayı açıyouz ./setup diyerek setup dosyasını çalıştırıyoruz.
Daha sonra bu setup dosyası obj dizininin içerisinde sistemin adı ve sürümünün birleşiminden oluşan (örn.Linux.2.6.25.20-114)bir dizin oluşturuyor.
Daha sonra cd komutu ile bu dizinin içinden ./configure ve make komutlarını çalıştırıp programımızı yüklüyoruz.
Şimdi bu anlatılanları konsoldan yapmak kolay sadece komutları yazıyoruz çalışıyor.Ama paket yapma kısmı biraz zahmetli.
Paketin lisans,homepage vs bilgilerini internetten araştırarak pspec.xml dosyasını oluşturdum.
actions.py ye geldiğimizde setup dosyasını çalıştırmak için shelltools.system(./setup) komutunu kullandım.bu komutu konsoldaki kullandığımız komutları çalıştırmak için kullanabiliyoruz.
Linux.2.6.25.20-114 klasörüne geçmek için bir hayli zorlandım.Necdet Hocamdan ve internetten faydalandım.İlk olarak `uname -r` komutunu kullanmaya çalıştık.Ama sürekli bir hata verdi.Önce çok fazla tırnak işareti kullanımından kaynaklanan  syntax error, daha sonra uname i komut olarak görmediğinden kaynaklanan bu dizin bulunamadı hatası.En sonunda pes etmedik ve actionsAPI de bulunan  get.curKERNEL() fonksiyonunun sürüm numarasını verdiğini bularak bu işi hallettik:)
Ama programın bana hazırladığı engeller bitmedi ve bin dosyasının /usr/local/bine atılmasından dolayı çalıştıramama gibi bir sorun baş gösterdi.
Uzun uğraşlar sonucunda hala bulamadık.Bugünlük bu kadar...:)

Staj Günlüğü 12.Gün

Kendime inanamıyorum...:@
Bir daha paket yapmadan önce pisi deposuna bakmazsam mouse kablosuyla boğucam kendimi(!).5 dk önce paketlediğim flexin depoda olduğunu görmek tam bir hayal kırıklığı oldu.Tabi sütten ağzı yanan yoğurdu üfleyerek yermiş hemen bisona baktım.O da paket deposunda varmış.

Pazartesi, Temmuz 13, 2009

Staj Günlüğü 11.Gün

Bugün pazartesi olduğu için "okula gelmek istememekle" güne başladım desem yalan olmaz sanırım:)
Cuma gününden kalma gnumeric paketi nedeniyle işe koyuldum.Paket goffice 0.6 bağımlılığı istiyor.Bu yüzden işe goffice kurmakla başladım.Goffice'i kurdum fakat program kurduğum kütüphaneyi görmemekte ısrarlıydı.
İnternetten araştırdığımda kimsenin bu kadar bağımlılık isteyen paketleri paketlemek ,istemediğini öğrendim.Necdet hocamla başka bir pakete geçmem konusunu konuştuk.Ve bende paket arayışlarıma başladım.
Aslında bir paket oluşturmaktan çok uygun bir paket ararken sıkıntı çektiğimi gördüm.Çünkü bulduğum programlardan bazıları çalışmıyor, bazıları sadece ./configure make ve make install adımlarından oluşuyor:(
Bugün bulduğum batmand isimli programın görevi protokol yönlendirme idi.
Önce pspec.xml dosyasını oluşturdum.Man dosyaları için actions.py de
def install(): satırının altına
pisitools.newman() komutunu kullandım.Her pakette farklı bir komut kullanarak actionsAPIlerin kullanımını öğrenmeye çalışıyorum.Bazı komutlar aynı işi yapıyor olsa bile bir komut sizin için en iyisi olabilir:)
Man olayını da çözdükten sonra artık kardeş gibi olduğum Gerekli IM size bulunamadı hatası yine karşıma çıktı.Files bölümünde gerekli düzenlemeleri yaptıktan sonra bu paketi de hazırlamış oldum:)
Ve tekrar araştırmalara başladım.Sanırım en zoru paket bulmak:(
argus-client isimli bir paket buldum.Paketin flex ve bison isimli 2 bağımlılığı var bu nedenle işe flexi paketlemekle başladım.
Ama işlerim yarına kaldı.

Staj Günlüğü 10.Gün

Bugün adduser isimli programla cebelleşmeye başladım.Google aklımdaki sorulara yanıt bulamayınca Necdet Hocama danıştım.Editleme işleminin sistemi değiştirebileceğini sistemde zaten hali hazırda bir kullanıcı ekleme programı olduğumu söyledi.Bende o paketi bırakma mecburiyetinde kaldım.
Pisi paket listesinde paketini bulamadığım (ama daha sonra var olduğunu gördüğüm:)
perl-compres-raw-Zlib paketini pardus paket deposundaki bilgilerle paketledim.
Daha sonra Necdet Hocam gnumeric isimli programın paketini yapmamı istedi.
Paketin oluşturulmasında bir sorun yok gibi görünsede bağımlılıkları nedeniyle çok zorlandım.Birbirine bağlı ,biri olmadan diğerinin çalışmadığı paketler topluluğu.Ve kendim yüklemesini bile başaramadım henüz.
İnşa bağımlılıkları,çalışma zamanı bağımlılıkları vs.
Paket işini araştırırken bağımlılık konusunun önemli olduğunu okumuştum ama bu kadar zor olucağına inanmamıştım.Bugün bağımlı paketimi tamamlayamadım.Haftaya pyqt ile uğraşıcağım sanırım.Bugünlük bu kadar...

Perşembe, Temmuz 09, 2009

Staj Günlüğü 9.Gün

Bugün sağlam kafayla atanks paketimin .desktop uzantı sorununu halletmeye çalışarak işe başladım.Files dizinine yaptığım eklentiyi çıkarıp dizinin içinde bulunan dosyayı kullandım.Nihayet uygulamalar kısmına bir icon bırakmayı başardım.
Daha sonra yine debian paket depolarında arama yapmaya başladım:)
Bir paketi gözüme kestirdim.Dnstop adında ağımızdaki dns trafiğini kontrol eden programı paketledim.
Yavaş yavaş daha kolay yapmaya başlıyorum bu işi sanırım biraz da olsa ilerleme var:)
Ama kendimi geliştirmem gerekiyor.
Bunun için başka paket aramaya başladım
Şimdiki hedefim adduser isimli bir program.Fakat bu programın çalıştırılması için .conf uzantılı dosyasının bir editor ile editlenmesi gerekiyor.Bunu nasıl yapıcam bilmiyorum.Yarınki hedefimde o olsun o zaman:)

Çarşamba, Temmuz 08, 2009

Staj Günlüğü 8.Gün

Bugün sürekli paket aradım bulduğum 2 paketi de paketledim.
Bir tanesi sleepd isimli laptop kullanılmadığı veya şarjı az olduğu taktirde bilgisayarı uyku durumuna alan bir program.
Diğeri ise tmpReader adındaki tmp klasöründeki dosyaları 7 gün sonra silip sistem temizliğini sağlayn bir program.
Bu paketleri yaptıktan sonra oyun paketleme isteği doğdu bende.
Yaptığım araştırmalar sonunda atanks isimli bir oyun buldum.
Oyun konsoldan açınca çalışıyo fakat masaüstüne bir icon bırakmıyor.
Kendi dizininde atanks.desktop uzantılı bir dosyası var fakat ben bu dosyayı bir türlü çalıştıramadım.
Kendim files dizinine ekleme yaptım fakat dosya isimleri aynı olduğu için onuda beceremedim işin açıkçası:)
Ama umudumu yitirmedim yarın sabah sağlam kafayla tekrar düşünücem.
Bugünlük bu kadar..:)

Staj Günlüğü 7.Gün

Bugün dün yarım bıraktığım ipv6calc uygulamasının paketini yapmayı tamamladım.
Dizin isimlerini takip etmediğim için karşılaştığım hatalardan bunaldım.Kafamı topladım ve dikkatli bir çalışmayla [ERRNO2] hatasıylada baş etmeyi başardım:)
Hatayı çözdükten sonra Necdet Hocamında yardımıyla paketi tamamladım.Man dosyası için
/usr/man
takılarımızı kullanmayı da unutmuyoruz tabi:)
Hoca man dosyaları nerde diye sorduğunda afallamamak için:)
Daha sonra kendimi Debian paket deposunda kaybolmuş bir halde buldum.
GENPOWER isimli UPS izleme görevi yapan konsoldan çalışan bir uygulamayı paketledim.

Salı, Temmuz 07, 2009

Staj Günlüğü 6.Gün

Haftasonunun ardından iş başı yapmak zor gelmedi desem yalan olur.
Bütün gün date-calculator isimli basit bir programın paketini yapmaya uğraştım ve hala başarılı olamadım:(
Öğleden sonra Necdet Hoca bana ipv6calc isminde ipv6 hesaplayan ve dönüştüren bir paket yapmamı söyledi.
[ERRNO] 2 hatasından nefret etmeye başladım.Bugün klasör isimlerini takip ederken çok dikkatli olmam gerektiğni öğrendim.
Paketin büyük bi kısmı bitti ama henüz .pisi uzantılı hale gelmedi.
Her paketten yeni bir şey öğreniyorum.Pratik yapmam şart:)
Bugünlük bu kadarr...

Pazar, Temmuz 05, 2009

Masaüstümü kaybettim

Haftasonu paket yapmak için uğraşırken ev dizininin biraz karışık olduğunu gördüm ve içindekileri siliyim dedim
Konsoldan rm -rf /home/Idone/
dememle birlikte masaüstüm kayboldu.Bi daha da pardusu açamadım.
En azından Pardus 2008'i yüklemek için bir bahanem olmuş oldu:)

Staj Günlüğü 5.Gün

Bugün ki görevim yeni bir paketti.
İotop adlı konsoldan çalışan ve işlemcinin programlara göre çalışma hızını gösteren bir programdı.
Herzaman ki gibi programı kendim yükleyerek işe başladım.
İnternetten pspec.xml dosyasını yazabilmek için araştırma yaptım.
Daha önce yapmış olduğum cpulimit uygulamasına benzer bir uygulama olduğu için bu sefer biraz daha kolay oldu diyebilirim.
Burada beni tek zorlayan .py uzantılı dosyayı çalıştırmamın istenmesiydi.Bunuda actionsApi de bulunan pythontools yardımıyla çözdüm.
Uzun süren deneme yanılmalardan sonra 3. paketimi de hazırlamış oldum.

Perşembe, Temmuz 02, 2009

Staj Günlüğü 4.Gün

Bugünkü görevime başlamadan önce pspec.xml dosyasındaki bilgilerin doğruluğunu kontrol ederek tekrar bir düzenleme yaptım.Lisans ve açıklamalar kısmından emin olduktan sonra nasıl resim koyabilirim die derin düşüncelere daldım.
Genelde program paketlerinin içinde icons isimli bir dizinde bulunan resimler benim paketlediğim programda olmadığı için internetten programı temsilen bir resim buldum.
Resmi eklemek için en uygun yerin files dizini olduğunu düşündüm.Böylelikle pspec.xml içerisinde etiketleri ile tanımladığım taktirde resimi de paketime dahil etmiş olucaktım.
Daha sonra x-lite.desktop isimli bir dosya oluşturdum.Bu dosyanın içeriği
*[Desktop Entry]
Name=X-Lite
Comment=Communication application for PiSi
GenericName=VoIP Telephony
GenericName[tr]=VoIP Telefonu
Exec=xtensoftphone
Icon=x-lite.png
Terminal=0
Type=Application
Encoding=UTF-8
Categories=Network;Application;

Burada önemli olan kısım Exec,Icon ve Categories kısımları.
Exec kısmına çalıştırılabilir dosyamızın adını
Icon kısmına files içine eklediğimiz resim dosyasını
Categories kısmına da uygulamamızın ne tür bir uygulama olduğunu yazıyoruz.

Benim buda yaptığım hata exec kısmını yanlış doldurmaktı.Paketi hazırlama ve kurulum aşamasında bir sorun çıkmadı.Ama uygulamanın simgesinin üzerinde tıkladığımda hiç bir tepki vermiyordu.
Exec kısmını düzeltip programı tekrar paketledim ve mutlu son:)
İlk pisi paketimi hazırlamış oldum.:)

İkinci görevim cpulimit isimli konsoldan çalışan işlemciye limit koymamızı sağlayan bir programdı.
Önce herzamanki gibi programı kendim kurup çalıştırdım.
README dosyasını inceledim.Lisansı,sürümü bağımlılıkları hakkında bilgi edindim.
Açık konuşmak gerekirse programı ilk başta kurarken bile zorlandım.Çünkü konsoldan yapmam gerekiyodu ve daha önce pek yaptığım söylenemezdi.Uzun uğraşlar sonucunda paketi kurdum hangi dosyaları nereye atıyo gördüm çalıştırdım denedim.
Daha sonra pspec.xml ve actions.py dosyalarımı oluşturmaya başladım.
Konsoldan çalışan bir program olduğu için .desktop uzantılı bir dosyaya ihtiyaç duymadım.Herhangi bir yama yada resim kullanmadığım içinde files dizini bile oluşturmadım.
Herşeyi yaptıktan sonra daha önce karşılaştığım bir takım hatalarla karşılaştım ama daha önceden deneyimli olduğum için çözmek zamanımı almadı bu kez.
Akşam 5 sularında cpulimit.pisi uzantılı pisi paketimi elde ettim:)
Bir günde 2 paket yapmak moral verici ve yüreklendirici bir şey.
Hocamla birlikte çalıştırıp denedik ve bugünkü görevimde bitmiş oldu.
Pisi paketleme işinin deneyim ve denemelere bağlı olduğunu öğrenmiş oldum.İnsan aşina olduktan,farklı programlar üzerinde çalıştıktan sonra fazla zorlanmıyacağını düşünmeye başladım.

Staj Günlüğü 3.Gün

Ewt bugün xten-xlite uygulamasını tanımakla işe başladım.

Bir VoIP iletişim uygulaması.

Önce programı kendim kurdum.Hangi dosyaları nereye atıyor bunları gördüm.X-lite'ın Skype'a benzer özellikleri var.Bu yüzden pardus paket deposundan skype'ın actions.py ve pspec.xml dosyalarını inceledim.

Parduswiki de bulunan http://tr.pardus-wiki.org/NASIL:PiSi_Hello_World belgesini açık tutup kendime rehber ettim.

Sürekli olarak forumlardaki önerilere baktım.Daha sonra dosyaları oluşturmaya başladım.

Pspec.xml dosyasını kopyalayıp kendi programıma göre düzenledim.İşin önemli bir kısmı bitmişti.ama bilgilerin doğruluğu şüpheliydi.Yükleme aşamasında görücektim herşeyi:)

Actions.py dosyasını oluştururkende programın içinde bulunan README dosyasını okudum.Bu dosyada install aşamasında neler yapılıcağı zaten yazıyor.README de yazanlara göre actions.py dosyasını oluşturdum.

Ardından files adında bir dizin oluşturdum.Bu dizin içinde x-lite.desktop adında bir dosya yazdım.Bu dosyayı yazma sebebim program kurulduktan sonra programlar kısmında görmek istememizdi.

Sıra geldi işin en heyecanlı kısmına.Yazdıklarımızın gerekten doğru olup olmadığını anlamaya.Bunun için konsola gelip pisi build pspec.xml yazdım.Ve ilk gördüğüm şey bir hata mesajıydı.

Hata yaptığım yerler.

1)sha1sum numarasının yanlış yazmından kaynaklı "check_file_hash başarısızlığa uğradı" hatası
2)Dosyayı indirdiğimiz kaynakla alakalı "not a gzip file" hatası
3)taz.gz dosyası ile içinden çıkan klasörün farklı olması durumunda ortaya çıkan bazı hatalar.

Bu hataları forumlardan araştırarak çözdüm.
1. si için konsoldan sha1sum paketadi.tar.gz komutunu
2.si için biraz hocamın yardımı
3.sü için ise actions.py de def setup(): tan önce workDir("*") fonksiyonunu kullandım.

Tüm bunları çözüp tekrar inşa ettikten sonra(pisi build pspec.xml) elimde .pisi uzantılı bir paket oluşmuştu.Böylelikle ilk paketimi yaptım ama eksiklerim var.Daha uygulamalar kısmına bir icon ve resim yerleştirme var.