Aydan Taşdemir Yılmaz

Linux Notları

Recent News

Çarşamba, Mart 17, 2010

Debian Paketleri>2

Bugün debian paket deposundan seçtiğim bir paketi kendim paketlemeye çalıştım.

Bu işi sırasında yaptıklarımı tek tek anlatmaya karar verdim.Tüm bunları yaparken de Debian İkilik Paket Nasıl isimli belgeden faydalandım.
Öncelikle debian paket deposundan parted isimli paketi seçtim.Paketin ne yaptığıyla tam olarak ilgilenmeden paket yapım aşamalarını kavramak üzerinde durdum.O yüzden deb paketini indirdim.
*)Parted programını bilgisayara indirdim.

wget http://ftp.de.debian.org/debian/pool/main/p/parted /parted_1.8.8.git.2008.03.24.orig.tar.gz

*)İndirdiğim dosyanın yanına debian isimli bir dizin oluşturdum.

/home/aydan# mkdir debian

*)Debian dizininin içine /usr/bin isimli alt dizinler ekledim ve indirdiğim part isimli programı /usr/bin dizinine kopyaladım.

/home/aydan# mkdir -p ./debian/usr/bin
/home/aydan# cp parted_1.8.8.git.2008.03.24.orig.tar.gz ./debian/usr/bin/

*)Daha sonra parted programının deb paketinden çıkan control isimli dosyayı debian dizini altında DEBIAN isimli bir alt dizine kopyalıyorum.

/home/aydan# vi control
/home/aydan# mkdir -p debian/DEBIAN
/home/aydan# find ./debian -type d | xargs chmod 755
/home/aydan# cp control debian/DEBIAN

*)Son olarak aşağıdaki komutu yazarak debian.deb isimli paketi oluşturuyoruz isminide parted.deb olarak değiştiriyoruz.

/home/aydan# dpkg-deb --build debian
dpkg-deb: building package `parted' in `debian.deb'.

/home/aydan# mv debian.deb parted.deb

*)Son olarakta hazırladığımız paketi sistemimize kuruyoruz.

/home/aydan# dpkg -i ./parted.deb
(Reading database ... 29969 files and directories currently installed.)
Preparing to replace parted 1.8.8.git.2008.03.24-11.1 (using ./parted.deb) ...
Unpacking replacement parted ...
Setting up parted (1.8.8.git.2008.03.24-11.1) ...


Daha önceden paket kurulu olduğu için böyle bir çıktı aldık.Bu paket yapmaya çalışmanın başlangıcı bile sayılmaz.Çok çalışmalıyızz çookkk.:)

Perşembe, Mart 11, 2010

Debian Paketleri

İleri işletim sistemleri dersimizin proje konusu DSL(Damn Small Linux ) isimli 50 mb lık bir dağıtımın 32 bit mimariden diğer mimarilere port edilmesi oldu.
DSL debian paket tabanlı bir dağıtım olduğu için .deb uzantılı paketlerin nasıl yapıldığı da bizi ilgilendiren konuların biri, çünkü DSL i port ederken sahip olduğu paketleri yeniden derlememiz gerekecek.Bu nedenle Necdet Hocamızın önerdiği belgeleri okumadan önce bir debian paketini incelemek cazip geldi:)
Debian paket deposundan bir paket seçtim.Paketin içinden çıkan dosyalar ve benim izlenimlerim :)
1)control.tar.gz:
İçerisinde
*control isimli bir metin belgesi :İçeriğinde paket adı,versiyonu,derlendiği mimari,bağımlılıkları ve programın tanımı gibi bilgiler bulunduruyor.
*md5sums isimli bir metin belgesi :İçerisinde paketin kurulacağı bilgisayarın belirli yerlerine koyacağı man yada doc tarzı dosyaların doğrulama kodları(sha1sum) bulunuyor.
2)data.tar.gz:
*sbin isimli bir dizin : İçinde programın çalışan dosyası bulunuyor.
*usr isimli bir dizin:İçerisinde share dizini onun içerisinde doc ve man dosyaları bulunuyor.
3)debian-binary isimli bir metin dosyası:İçinde sadece 2.0 yazıyor.(Evet bu kısmın neden böyle olduğunu henüz anlayabilmiş değilim :)

Çarşamba, Mart 10, 2010

Pisi Paket Yapımı Yine Yeni Yeniden...

Pardus 64 bit projesinde paketçi olarak çalışıcağımız için paketleme konusunda deneyim kazanmamız gerekmekte.Bu yüzden bize dendiği üzere Pardus paket deposundan 10 paket seçerek uğraşmaya başladık.Madplay isimli bir paket seçmiştim.Bir audio decode imiş kendileri.Bu paketi yapmaya çalışırken aşağıda ki hatayı aldım ve çözümü ilgimi çektiği için burdan da paylaşmak istedim.

Kurulum dizini (/var/pisi/paketadı/install) altında terkedilmiş dosyalar var:
şeklinde bir hata alırsak eğer.

- pspec.xml dosyasında "Files" bölümünde yolunu belirtmediğiniz dosyalar
 olabilir,
 - kaynak kodda "authors", "readme*" gibi dosyalar olup bunlar
 pisitools.dodoc ile gerekli yerlere gönderilmemiş olabilir,
 - doc veya man gibi klasörlerin pakete alınmaması gibi durumlar olabilir.
 Pspec.xml dosyasında yollar eksiksiz yazılmalı,
 actions.py dosyasında pisitools.dodoc ile dosyalar sahipsiz
 bırakılmamalı, gereksiz dosyalar yine de varsa pisi actionsapi'deki diğer
 yollarla silinmeli imiş.İlgili arkadaşlara faydalı olur umarım.

Eyvah Eyvah


Uzun zamandır sinemaya gidememenin verdiği bir mutluluk mu yoksa filmin gerçekten çok güzel olması mı etkiledi beni bilmiyorum ama "eyvah eyvah" çok güzeldi.
Hatta Mehmet ile gittiğimiz en eğlenceli film olduğuna karar verdik.Tabi bu filme gitmemizi de biraz zorlama bir kampanya ( şifre alabilmek için 150 kontür yükleme gereği her şifreyi almak için 2 kontür gitmesi vs.) olmasına rağmen gençturkcelle ve tabi ki arkadaşlarımıza borçluyuz:)

Hiç kendimizi gülmek için kasmadan tamamen filmin akışıyla gülmekten yerimizde duramadığımız,argo konuşmalarından bile rahatsız olmadığım sıcak bir film.Herkese gitmesini tavsiye ediyorum.



Salı, Mart 09, 2010

Programlama Dilleri Kavram Karmaşası2

Programlama dillerinin sözdizimini tanımlamak için en çok BNF ve EBNF kullanılır.

Sözcüksel ve Sözdizimsel Analiz Nasıl Yapılır?

Dil gerçekleştirim sistemleri kaynak kodu gerçekleştirime bakmaksızın analiz
etmelidir.

Söz dizimsel analiz iki parçadan meydana gelir.
-Düşük seviyeli kısım :sözcüksel analizci( lexical analyzer)bir sonlu otomatadır.
- Yüksek seviye kısım; bir sözdizim analizcisi(syntax analyzer) ,veya
ayrıştırıcı(parser) serbest içerik temelli bir aşağı-itme otomatı temellidir.(push-down
automaton)

LEXiCAL(Sözcüksel analiz ) Girdi stringini alır ve içindeki bütün lexeme ve tokenları bulur.Programları başından sonuna kadar okur.Tek tek tiplerini çıkartır.

*Compilerda lexical analiz ve parser işlemi yapılır.Lexical analiz girdiyi alır ve lexemalara ayırır.Parser da bu girdleri parse ağacına dönüştürür.







Programlama Dilleri Kavram Karmaşası

Yazdığıklarımızın anlamlarını ifade etmek için kullanılır.

Anlamsallar(Semantics)

Daha önce yazdığımız dilin anlamlarını araştırmamıştık.Semantics de ifadenin anlamı açıklanır.
1)İşlemsel Anlamlar:
Yazdığımız ifade simüle edilir daha sonra anlamı araştırıır.
2)Aksiyomatik Anlamlar:Her ifadeden önce bir ön ve son koşul belirtilir.
{ön koşul}
A>
{son koşul}
bu ifade ön koşul sağlandığında A çalışır ve son koşul çalışır eğer son koşul çalışıyosa A ifadesi doğrudur.

Örnek:
a=b+1 {a>1}
bunun tam çalışması için ön koşul b>0 olmalıdır.
Sağlayan minimum ön koşula zayıf önkoşul denir.