<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-2739302564559392019</atom:id><lastBuildDate>Sun, 04 Dec 2011 09:52:19 +0000</lastBuildDate><category>Ağaçlar</category><category>Python</category><category>IPv6</category><category>Van Gogh</category><category>Serhat İrem Ersel</category><category>Javascript</category><category>honeyd</category><category>Gimp</category><category>ÇOMÜ Bilişim Topluluğu</category><category>bitirme projesi</category><category>Cross Compile</category><category>İnternet Yasakları</category><category>seruhatto</category><category>CLFS</category><category>pardus</category><category>Cobit</category><category>Protocols</category><category>Grub</category><category>Askerlik</category><category>Blogger</category><category>C programlama</category><category>Netron</category><category>Google</category><category>LFS</category><category>Algoritma</category><category>Veri Yapıları</category><category>Disk Bölümleme</category><category>kütüphane</category><category>Pardus 64</category><category>64 Bit Programlama</category><category>libevent</category><category>Firefox</category><category>GSoC</category><category>UDP</category><category>Linux From Scratch</category><category>SPLAY TREE</category><category>Linux</category><category>Wolfram</category><category>ÇOMÜ</category><category>Crontab</category><category>honeypot</category><category>Karalama Defteri</category><category>Cross Linux From Scratch</category><category>Arama Motorları</category><category>fdisk</category><category>balküpü</category><category>İletişim Kuralları</category><title>Mühendisin Karalama Defteri</title><description>Karalama Kağıtlarımdaki Herşey</description><link>http://serhatersel.blogspot.com/</link><managingEditor>noreply@blogger.com (Serhat İrem ERSEL)</managingEditor><generator>Blogger</generator><openSearch:totalResults>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/blogspot/lcKU" /><feedburner:info uri="blogspot/lcku" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-912782312631036689</guid><pubDate>Sun, 07 Mar 2010 06:16:00 +0000</pubDate><atom:updated>2010-03-06T23:05:43.465-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Serhat İrem Ersel</category><category domain="http://www.blogger.com/atom/ns#">seruhatto</category><category domain="http://www.blogger.com/atom/ns#">pardus</category><category domain="http://www.blogger.com/atom/ns#">Pardus 64</category><title>Kripton' a Teşekkürler - Necdet Yücel+3M</title><description>&lt;p&gt;Üniversite yıllarında &lt;a href="http://caliskanesra.blogspot.com/"&gt;Esra&lt;/a&gt;'nın hadi gidelim demesiyle başladığım Japonca kursuna maalesef sadece 1 kur gidebilmiştim. Çok zevk alarak gittiğim bu kurstan az zamanda çok şeyler öğrenmeye çalışmıştık.Ama oradan öğreneceğim bir şeyin bir zaman sonra beni hiç beklemediğim bir yerde ve zamanda beni bu kadar mutlu edebileceğini hiç düşünmezdim.
Bu kelime Japonların alfabesinden kaynaklandığı için özel isim olmasına rağmen birazcık değişime uğruyordu ve bu benim o zamanlar çok hoşuma gitmişti her yerde bunu kullanmaya başladım. Sanırım biraz fazla kullanmıştık artık arkadaşlarım bana ismim yerine bununla hitap ediyordu.:)&lt;/p&gt;
&lt;p&gt;Pardus 64 ekibi henüz hazırlık aşamalarındayken bende 1 ay yanlarında kalmıştım bir şeyler öğrenmeye çalışıyordum. O zamanlar sürüm isimleri hakkında birbirimizle sohbet edip şakalaşıyorduk ki sürümlere kod adları verildiğinde benim nöbette olabileceğim hakkında konuşmalar geçince o zaman bir sürümünü "o şimdi asker" diye adlandırırız diye şaka bile yapmıştık:) &lt;/p&gt;
&lt;p&gt;İşte bu üzerime yapışan ismimin Japonca söylenmesiyle oluşan "SERUHATTO" kelimesinin  ,  
&lt;b&gt;&lt;a href="http://tinyurl.com/seruhatto"&gt;Pardus Kurumsal 2 x86_64 3. Önizleme Sürümü &lt;/a&gt;&lt;/b&gt;nün kod adı olarak düşünen ve beni buralarda  mutlu eden düşünceli davranışlarından dolayı &lt;a href="nyucel.blogspot.com"&gt;Necdet Hocam&lt;/a&gt;a ve &lt;a href="http://blog.metebilgin.com"&gt;M&lt;/a&gt;&lt;a href="http://m-akdere.blogspot.com"&gt;M&lt;/a&gt;&lt;a href="http://meltemparmaksiz.blogspot.com/"&gt;M&lt;/a&gt; 'e teşekkür ederim.&lt;/p&gt;
*http://nyucel.blogspot.com/2010/03/pardus-kurumsal-2-x8664-3-onizleme.html&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-912782312631036689?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/jRqzw81LdIk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/jRqzw81LdIk/kripton-tesekkurler-necdet-yucel3m.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2010/03/kripton-tesekkurler-necdet-yucel3m.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-4673818761193035305</guid><pubDate>Sun, 13 Dec 2009 21:12:00 +0000</pubDate><atom:updated>2009-12-13T13:12:00.531-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Crontab</category><category domain="http://www.blogger.com/atom/ns#">Askerlik</category><category domain="http://www.blogger.com/atom/ns#">Python</category><title>Kısa bir Dönem Yokum Yerime KısaDönem.py</title><description>&lt;p&gt;Sonunda asker oldum artık Kısa bir dönem yokum bu ayrılık süresince bu ayrılığa bir tek alışamayan ben değilim haliyle beni sevenler benimle devamlı vakit geçirenler canlarım,ailem... için alıştırdığım bazı şeyleri özlemle bekliyor olacaklar. Ben de onlar için bir süpriz yapmak istedim giderken.Bu süpriz biraz farklı ve acayip olacak belki onlar için anlaşılmaz olacak ama Python ve &lt;a href="http://www.belgeler.org/man/man8/man8-cron.html"&gt;Cron&lt;/a&gt; kullanarak oluşturduğum minik uygulama sonucunda bazı özel günlerde ve istediğim zamanlarda cep telefonlarına mesaj gelecek.Bu kaydı aslında onlar için yazıyorum.Be askerdeyken onlara gelecek ilk mesajı aldıklarında şaşırdıklarında buradan onların anlamasını sağlayacağım.
&lt;/p&gt;
&lt;p&gt;13.Aralık 2009 günü bu kayıtla beraber bu minik sistemi otomatik olarak başlatacağım.kisadonem.py diye adlandırdığım bu uygulamadan kısaca bahsedeyim.
&lt;/p&gt;
&lt;p&gt;
Python ile yaptığım bu uygulama &lt;a href="http://wwwsearch.sourceforge.net/mechanize/"&gt; "mechanize"&lt;/a&gt; modülünü kullanıyor.Bu modül ile web sitesine arka planda bağlanarak istediğim işlemleri yapıp istenilen numaraya kısa mesaj göndermeme yardımcı oluyor. Bundan sonrası zaten dosya okuma işlemi.Dosyaya belirli bir düzende yazdığım numara,tarih,mesaj ve lazım olacak birkaç bayrak koyarak dosyadan okuma işlemi yaptım.İnternet' in o an olmama durumu,sitenin sorunlu olması,dosyanın okunamaz olması gibi aksaklık çıkarabilecek durumlara "try,except" komutlarımı koyarak sürekli çalışabilir yapmaya çalıştım. O günün tarihinde bir mesaj bulursam önce mesaj içeriklerinde "gece,günaydın,akşam..." gibi kelimeler varsa bunları ayırarak belirli zamanlarda atmasını belirttim.Bu şekilde "iyi geceler" mesajını sabah 9 da atmayacaktı. Aslında düzenlediğim iki python dosyası vardı birisi threadler ile yaptıgımdan bir kere çalıştıktan sonra belirli bir saatte dosyayı okuyarak tekrarlama yoluyla çalışıyordu ama bir şekilde çalışma kırılırsa tekrar çalışması için bir şeylere ihtiyaç duyacaktı. Tam bu sırada CRON u fark ettim. o yüzden istediğim saatleri &lt;b&gt;/etc/crontab&lt;/b&gt; içine yazarak çok kolay bir şekilde dosyamın çalışmasını cron' a bıraktım. Crontab her dakika başında kuyrukta çalışmayı bekleyen bir uygulama olup olmadığını kontrol ettiği için tam istediğim gibi çalışıyor.Maalesef ki şuan sadece aynı operatörden olan kişilere mesajım gitmektedir ve inşallaah onlar bu süprizimi beğenirler.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-4673818761193035305?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/SvcK7sEIZwY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/SvcK7sEIZwY/ksa-bir-donem-yokum-yerime-ksadonempy.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>1</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/12/ksa-bir-donem-yokum-yerime-ksadonempy.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-9013819039488676427</guid><pubDate>Sun, 06 Dec 2009 23:50:00 +0000</pubDate><atom:updated>2010-03-22T04:32:38.302-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Askerlik</category><title>ASKERLİK: Yedek Subay Sınavı ve Sonuçları</title><description>&lt;p&gt;Ayın 1'i geldi çattı sınava gireceğiniz günlerden birincisi bugün. Sınava nerede girecekseniz size verilen zarfta yazıyordur. Sınava girmeden önce hangi gün sınava gireceğinizi belirleyin daha sonra o şehre ulaşmak için biletinizi hemen alın ve oraya varacağınız saat gidebileceğiniz en erken saat olsun.Saat 3 te kim gider oraya demeyin giden epey kişi oluyor. Alımlar 8:30 - 9:00 gibi oluyor ama erken gelenler kağıt kalem çıkarıp 50şer kişilik listeler yapıp girişi ona göre belirleme çalışıyorlar.&lt;/p&gt; 
&lt;p&gt;Sınava girmeden önce yanınıza sarı zarfı,kimliğinizi,kurşun kalem,silgi,pilot kalem almayı unutmayın.Bunların dışında özel birşey belirtilmemişse birşey almanıza gerek yok.&lt;/p&gt;
&lt;p&gt;Sınav zamanı herşeyden önce hemen oraya gitmenizi öneriyorum kalemim kırıldı, silgim yok onları bi alayım derseniz bu size 1-2 saat sonra çıkmanıza patlar.Zaten bu eksiklerinizi tamamlamak için size er kantinini gösterecekler.&lt;/p&gt;
&lt;p&gt;Sınav Sonuçları ayın 9-10 gecesi: &lt;a href="http://pertem.kkk.tsk.tr/yedeksubay/AdayNoArama.aspx"&gt; buradan &lt;/a&gt; öğrenebilrisiniz. O gün ayın 10'nu gecesi 00:00 da siteye ulaşım olmayacak ve siz facebooktan ve forum sitelerinden çoğu kişiye soracaksınız ne oluyor diye. Çoğu kişi şuan yükleme yapıyorlar az sonra açılır diyecekler ama siteye 80.000 adayın bakmaya çalıştığını düşünürsek bunu kaldırabilecek bir sunucu olduğunu düşünmüyorum. O yüzden kafanızı o gün çok yormayın.Ben genelde kimin nereye çıktığına bakıp arkadaşlarımla konusuyordum.Çoğu kişi isyan edip uyumuştu o gün gerçekten çok stresli bir gün öss stresi yanında hafif kalmıştı. Herkes Saat 3 gibi sonuçlarını öğrenmeye başlamıştı.
&lt;p&gt;Sonuç:&lt;b&gt;Soğanlık - 5. Numaralı Jandarma Depo Komutanlığı Kartal /İSTANBUL &lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-9013819039488676427?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/VWAk-6ES_MM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/VWAk-6ES_MM/askerlik-yedek-subay-snav-ve-sonuclar.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/12/askerlik-yedek-subay-snav-ve-sonuclar.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-6530838562109036763</guid><pubDate>Mon, 16 Nov 2009 16:18:00 +0000</pubDate><atom:updated>2010-03-22T04:24:23.623-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Askerlik</category><title>ASKERLİK: Sevk Evraklarını Alma</title><description>331. Dönem Kısa Dönem ve Yedek Subay Adayı olmaya çalışırken askerlik ile ilgili kulaktan dolma bilgiler ve korkutmalar sonucu çoğu işi yaparken tedirginlik içindeydim diğer adaylar gibi. Bu yazımda 333. Kısa Dönem Er ve Yedek Subay Adayı olanlar ve daha sonraki dönemler için işe yarayabileceğini düşündüğüm deneyimlerimi paylaşıcağım.

Daha önce bir askerlik şubesine gidip önümüzdeki celp dönemi için asker olmak istiyorum diye başvurup muayene olduysanız. Size "Yedek Subay Aday Adayıdır, Askere gidebilir hiç bir sakıncası bulunmamaktadır. " yazan bir kağıt verdiyseler Celp döneminizden bir ay önce (Aralık celbinde gidecekler Kasım 1-30 ,Nisan için Mart 1-31 arasındaki iş günlerinde) gideceğiniz Dönemin 1.2.3. günlerinden istediğiniz birinde test ve mülakat merkezine gitmek için size evraklarınız içinde olan kapalı bir sarı zarf verecekler. Bunun için gittiğiniz askerlik şubesine &lt;b&gt;Diploma Aslı, Arkalı-Önlü 3 Diploma fotokopisi, Nüfus Cüzdanı ve 2 fotokopisi&lt;/b&gt;(Bunların dışında ceza durumunuz varsa Sabıka Kağıdı, Yabancı Dil Sınavına girdiyseniz aldığınız puan ve sonuç ile ilgili bilgiler,Yüksek lisans yaptıysanız bunlarla ilgili evraklar.)

Sistem kitlenmediği sürece işlemler aslında çok uzun sürmüyor, yoğunluğa göre değişiyor. Sıranız geldiğinde, size en sonunda verecekleri sarı zarfı,optik form,belgeleri aldığınıza dair belgeler imzalıyorsunuz sonra bu belgeleri komutana imzalattırıyorsunuz. Belgeleri verip yol paranızıda aldıktan sonra artık sınav gününü bekliyorsunuz. Sınavınız Gideceğiniz Celp dönemine denk gelen ayın 1. 2. 3. günüdür.&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-6530838562109036763?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/JuiNPDvYwIo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/JuiNPDvYwIo/askerlik-sevk-evraklarn-alma.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/11/askerlik-sevk-evraklarn-alma.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-77495492292498917</guid><pubDate>Sun, 08 Nov 2009 08:44:00 +0000</pubDate><atom:updated>2009-11-12T05:41:25.086-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">pardus</category><category domain="http://www.blogger.com/atom/ns#">Pardus 64</category><title>Pardus 64 : Chroot</title><description>&lt;p&gt;2 Ekim 2009 günü projeye başladığımızda henüz ekibimi bile tanımıyordum tam olarak.
Böyle sıkı çalışma içerisinde bu çalışma ortamının öğretici ve bir o kadar da zevkli olacağını nereden bilebilirdim ki.
Tam 1 ay sonra, 2 Kasım 2009 günü rahatsızlığımdan dolayı neredeyse 1 haftadır ekipten kopuk bir şekilde grip virüsleriyle uğraşıyorum.
Bu arada &lt;a href="ce.comu.edu.tr"&gt; bölümdekilere&lt;/a&gt; SVN ve Yama ile ilgili konularını anlatarak katkıda bulunacağım bir bilgilendirme ve eğitim semineri verecektik.Ama anlatılacaklarımı rahatsız olduğum için &lt;a href="makdere.blogspot.com"&gt;Metin&lt;/a&gt; anlatmıştı.(Ona çok teşekkür ediyorum.)
&lt;/p&gt;
&lt;p&gt;1 ay sonunda tam boot etme işlemleri sırasında rahatsız olunca gözüm arkada kaldı.Temel sistemi görüpte gitmek istiyordum memleketime, &lt;b&gt;Pardus 2009 64 bit&lt;/b&gt; paketlerini derlememiz için bir 64 bit Temel Linux Sistemi olması gerekmekteydi.
Bu temel sistemi iki şekilde elde edebiliriz.·
Birincisi Boot edilebilir bir sistem yapmak; Bunun için 64 bit bir çekirdek derleyip başlangıç ile ilgili paketleri kurararak kuluçka sistemden ayrı bir şekilde çalışmaya başlayan boot edildiğinde açılan bir sistem oluşturmak.
İkincisi ise; Chroot yapılabilir bir sistemi sağlamak. Pardus 64 bit paketlerini derlemeniz için oluşturduğunuz temel sistem boot ettiğiniz bir dağıtım üzerinden ( pardus,debian...) chroot komutunu vererek kök dizinini temel kök dizini yaparak kendi kütüphanelerinizi ve ikili dosyalarınızı kullanarak paketleri 64 bit derlemeyi sağlamaktır.·
Ama bizim Chroot yapabilmemiz sistemin mimarileri aynı olmalıdır.Yani temel sistem 64 bit için oluşturulurken kuluçka dağıtımında 64 bit bir sistem olması gerekmekteydi. Bu yüzden  Boot seçeneğini seçmiştik ilk olarak.
Boot işlemleri aslında başarılı ilerleyecekti ama biz temel çekirdek modülleriyle yetinmedik şuan pardusun kullandığı yapılandırma dosyasını 64 bit için uyarlamya çalışarak çekirdeği derledik ama initramfs ile ilgili unuttuğumuz birşeyler vardı 64 bit e geçerken. Bu sorunları elbette aşacaktık ama calismasi gereken bir rootfs tarihi var. 7 Kasım Cumartesi akşamı henüz hastalıktan çıkamamışken Necdet Hocamın bana "Serhat Chroot" yaptık haberini vermesi beni sevindirmişti.·
Ben gitmeden chroot yapılan bir sistemi gördüm diyebilirim. Gözüm arkada kalmadı :)&lt;/p&gt;
&lt;p&gt;Askerliğimin yaklaşmasından dolayı artık memleketime döndüm. Bu yüzden onlarla aktif olarak şuan çalışamıyorum. Ama çalıştığım günleri düşününce gerek hocamın yardımlarını gerek arkadaşlarımın güleryüzlü ve paylaşımcı ruhunu unutmayacağım. Bu zevkli işte çalışırken bir çok şey öğrendim şuan uzaktayım diye onlarla çalışamıyor olabilirim ama yardımını aldığımız&lt;a&gt;clfs&lt;/a&gt; kitabını Türkçeye çevirirken yaptığım eksiklikleri ve düzeltmeleri burada yapacağım. Umarım askere gitmeden düzeltmeleri düzgün bir şekilde yapmış olurum ve belgelendirmeye biraz katkım olur. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-77495492292498917?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/XNVEKdo37HA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/XNVEKdo37HA/pardus-64-chroot.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/11/pardus-64-chroot.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-2335768098403462420</guid><pubDate>Sat, 31 Oct 2009 19:27:00 +0000</pubDate><atom:updated>2009-10-31T16:10:52.684-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">pardus</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">Pardus 64</category><title>Pardus 64 : Sürüm Takvimi</title><description>&lt;p&gt;Pardus 64 için başladığımız tarihten itibaren ilk olarak Pardus 2008 ile başladığımız çalışmalara Pardus ekibiyle ile yazışmalar  sonucu 
Pardus 2009 için 64 bit sistem oluşturmasına başladık. 
Pardus 2008 geçici sistemi yapılandırma için harcadığımız zamanın 1/3 zamanda geçici sistemi bitirdik ve temel sistem için giriş yapmaya başladık. 
Dün itibariyle artık bir sürüm takvimimiz var ve yapacaklarımız ve yollarımız daha da netleşiyor.
 Sürüm takvimini dün &lt;a href="http://nyucel.blogspot.com/2009/10/64bit-pardus-surum-takvimi.html"&gt;Necdet Hocamız&lt;/a&gt; açıkladı.Takvime göre; Akademik Bilişim öncesi bir alfa sürümümüz elimizde olacağını umut ediyorum.
&lt;/p&gt;

&lt;ul&gt;
  &lt;li &gt;2 Ekim 2009- 64 Bit çalışmalarının başlangıcı&lt;/li&gt;
  &lt;li &gt;&lt;b&gt;23 Kasım 2009&lt;/b&gt;- Temel Sistem(RootFS)&lt;/li&gt;
  &lt;li &gt;1 Şubat 2010- Alfa &lt;/li&gt;
  &lt;li &gt;22 Şubat 2010- Beta&lt;/li&gt;
  &lt;li &gt;8 Mart 2010- RC-1&lt;/li&gt;
  &lt;li &gt;15 Mart 2010- RC-2&lt;/li&gt;
  &lt;li &gt;&lt;b&gt;1 Nisan 2010- Final Sürüm&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bu aralar sorunlarla, çekirdekle haşır neşir olmaktan dolayı zaman bulup karalama defterime öğrendiklerimi yazamadım.Haftaya çalışmalara uzaktan takip ederken karalama defterime ilgi göstericem.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-2335768098403462420?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/7XYQO80DWLE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/7XYQO80DWLE/pardus-64-surum-takvimi.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>2</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/10/pardus-64-surum-takvimi.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-8047884915337904416</guid><pubDate>Wed, 14 Oct 2009 22:15:00 +0000</pubDate><atom:updated>2009-11-11T02:45:04.355-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Serhat İrem Ersel</category><category domain="http://www.blogger.com/atom/ns#">pardus</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">Pardus 64</category><title>Pardus 64 : Ekip 64 ve Çalışma</title><description>&lt;p&gt;Çalışmaya başlayalı 14 gün oldu. Zevkli bir çalışma ortamı içerisinde artık tam bir ekip olduğumuzu düşünüyorum. Çünkü çalışma esnasında sorunları ele alışımız, ilerleme adımlarını belirleme konusunda hatta çalışmaktan yorulduğumuz anlarda ara verirken bile çay yapma ve yanında atıştırma konusunda nasıl hareket edeceğimiz bile güzel bir düzende artık :)&lt;/p&gt;
&lt;p&gt;Tüm günümüz derleme-araştırma-karar verme şeklinde gidip gelirken derinlere dalıp kaybolduğumuz bir gerçek. Bu çalışma sırasında insan kendini mühendis gibi hissediyor. yaklaşık 2 haftadır sistem üzerinde yaptıklarımıza bakacak olursak epey yol aldık gibi görünüyor ama çok daha iyi şekilde olacağı kesin.
&lt;/p&gt;
&lt;p&gt;İlk olarak konuk sistem olarak Pardus 2008 'i kullanarak çalışmaya başladık. İlk olarak önemli araç zincirlerini(Binutils-GCC...) kurarak 32 bitten 64 bite geçiş için ilk adımı attık. Çapraz Derleme Araçları dediğimiz bu araçlar Geçici Sistem İnşası için bize yardım edecek geçiş evresi olacak.O yuzden en zorlu kısım şimdilik burası oldu.( GCC 4.3.2 bağımlılığı olan GMP ve MPFR paketlerini çapraz derleme aracı olarak zorunlu bağımlılık içerisinde derlenmezse Geçici Sistemde GCC derlemesinde çakılabiliyoruz.) Pardus 2008 in derlenecek bütün paketlerinin ne eski ne yeni olmaması için bir düzen içinde olması için sistemde kurulan bütün paketler Pardus 2008 deposunda kullanılan en son sürümleriyle aynı tuttuk.&lt;/p&gt;
&lt;p&gt;Şimdiki durumumuz &lt;b&gt;boot&lt;/b&gt; edilebilir bir sistem oluşturarak sistemi 64 bit paketleri derlemek için hazır hale getirmek. Bu adım bittikten sonra neler yaptığımızı ve neler yapacağımızı ayrıntılı bir şekilde göstereceğiz. Zaten belgelendirme bittiği zaman daha ayrıntılı bir şekilde sorulara cevap bulabileceğiz.&lt;/p&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_pgBH6tLTsT0/StHDbGf_TRI/AAAAAAAAATQ/THYiFyXe7yc/s1600-h/resim-0091.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 400px;" src="http://3.bp.blogspot.com/_pgBH6tLTsT0/StHDbGf_TRI/AAAAAAAAATQ/THYiFyXe7yc/s400/resim-0091.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5391305099307863314" /&gt;&lt;/a&gt;
İlk zamanlar &lt;b&gt;Çapraz Derleme&lt;/b&gt; karmaşıklığını çözmeye çalıştığımız zaman oluşan gösterimler (Mete Bilgin' in çizimiyle)&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-8047884915337904416?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/yBCR6kvKwNo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/yBCR6kvKwNo/pardus-64-2-ekip-arkadaslaryla-calsma.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_pgBH6tLTsT0/StHDbGf_TRI/AAAAAAAAATQ/THYiFyXe7yc/s72-c/resim-0091.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/10/pardus-64-2-ekip-arkadaslaryla-calsma.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-1652992986046585152</guid><pubDate>Sat, 03 Oct 2009 15:43:00 +0000</pubDate><atom:updated>2009-11-11T02:54:09.217-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Serhat İrem Ersel</category><category domain="http://www.blogger.com/atom/ns#">64 Bit Programlama</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">Pardus 64</category><title>Pardus 64 : İlk Heyecan</title><description>&lt;p&gt;Mezun olmamıza üç kala &lt;a href="http://nyucel.blogpsot.com"&gt;Necdet Hocanın&lt;/a&gt; yanına uğradığımızda bize "Pardus 64"ten bahsettiğinde şaşırmıştık.Hiç bir şey bilmeden böyle bir şeye başlamak... &lt;/p&gt;
&lt;p&gt;Mezun olduktan sonra aklımda ilk yapılacak; Vatan görevini tamamlamaktı. O sıra bu haberi duyunca askere kadar bu iş tam benlik diye düşünmüştüm. Hemen çalışmalara  başladım. Gündüz çalıştığım için ancak akşam 64 olabiliyordum :). İlk iş 64 programlama ile ilgili biraz bilgi edinmekti. Daha sonra  Sıfırdan Linux Yapımı (Linux From Scratch) için çapraz derleme&lt;a href="./search/label/CLFS"&gt; CLFS &lt;/a&gt; ile ilgili kaynağı belli bir kısma kadar Türkçesine çevirirken projenin Ekim ayında başlayacağını öğrenince birazcık üzüldüm. Çünkü Aralıkta birliğime teslim olacaktım.&lt;/p&gt;
&lt;p&gt; Nihayet çalışmalara geçen cuma başladık. Çok kısa süre ekibe yardım edebileceğim için aceleyle bitirmek için alevleniyorum neredeyse.İlk gün biraz konuşup tartışıp anladıklarımızı tarttıktan sonra baktık ki hemen ekip ile kaynaştık. İyi bir ekip olmaya ilk adım atıldı gibi geldi bana .
Projenin ilk ayağında Necdet Yücel danışmanlığında Mete Bilgin,Metin Akdere,Meltem Parmaksız ve ben Sıfırdan bağımsız temel bir 64 bit Linux yaparak Pardus paketleri için derleme ortamı oluşturacağız.
&lt;/p&gt;
&lt;p&gt;Pardus 64 için çalışmalara başlama tarihi &lt;b&gt;2 Ekim 2009&lt;/b&gt; olarak karalama defterime karalamış oluyorum. Haydi hayırlısı tüm ekibe kolay gelsin. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-1652992986046585152?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/qlXyqu5G8aQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/qlXyqu5G8aQ/pardus-64-1-ilk-heyecan.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/10/pardus-64-1-ilk-heyecan.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-1294674208281264603</guid><pubDate>Tue, 22 Sep 2009 18:38:00 +0000</pubDate><atom:updated>2009-09-23T09:39:54.589-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Wolfram</category><category domain="http://www.blogger.com/atom/ns#">Google</category><category domain="http://www.blogger.com/atom/ns#">Arama Motorları</category><category domain="http://www.blogger.com/atom/ns#">Firefox</category><title>Wolfram ve Google ile Wolfram</title><description>"05/05/1986 tarihinde Tavşanlı ilçesinde hava kaç dereceydi?"&lt;br /&gt;
"Microsoft ile Apple karşılaştır."&lt;br /&gt;
"22 gram Altın"&lt;br /&gt;
"Everest'in yüksekliği ile Golden Gate Köprüsünün uzunluğunu karşılaştır?"&lt;br /&gt;
"2 Bardak portakal suyu ..."&lt;br /&gt;
"2 atm basınç altında su ..."&lt;br /&gt;
"ankara ve istanbul'u karşılaştır."&lt;br /&gt;
"1.harfi 'i', 3. harfi 't' olan 8 harfli kelimeleri bul."&lt;br /&gt;
...gibi daha bir çok arama yapabileceğiniz bir yer var mı?
Böyle sorduğumuz sorulara cevap veren bilgisayarlar hep bilim kurgu filmlerinde olmuştur. İşte o bilim kurgu filmlerine ilk adımı Harvard Üniversitesindeki Fizikçi &lt;a href="http://www.stephenwolfram.com/"&gt;Stephen Wolfram&lt;/a&gt; atmış bulunmakta. 
&lt;h4&gt;WolframAlpha da nedir peki?&lt;/h4&gt;
15 Mayıs 2009 da kullanıma açılmış olan bir arama motoru. Diyebilirsiniz ki Google üstüne bir arama motoru yapanda kim. Onun üzerine yapılmış bir arama motoru değil kendisi. WolframAlpha Bilişimsel bilgi arama motoru. Nedemek yani bu? Şu demek oluyor ki aramaları rastgele siteler üzerinden değil belirlenmiş kaynaklar üzerinden yapıyor ve bir ansiklopetik cevap karşımıza dönüyor.Elbette Wikipedia GoogleMap gibi bağlantıları sonuçlarında kullanıyor.
&lt;h4&gt;Google çöpe mi gidiyor?&lt;/h4&gt;
Tabi ki de hayır. Her nekadar internet üzerinde "Google'a ezeli rakip","Google Bu teknoloji karşısında Comodore64 gibi kalacak"... gibi şeyler söylensede Google'ın bizde ayrı bir yeri olduğu gibi Stephen Wolfram' da Google ile WolframAlpha'nın farklı kulvarlarda olduğunu beliritiyor. Mesela Ankara ile ilgili hem nüfusunu hava durumunu aratıp hemde sosyal içeriği aratacaksanız bir onda bir bunda mı aratacaz. Buna da cevap hayıır olacak . Yine zeki birileri bunu düşünmüş ve firefox için bu eklentiyi yapmış.
&lt;a href="http://1.bp.blogspot.com/_pgBH6tLTsT0/Srk4jJppMwI/AAAAAAAAASk/pGFr4RDj_u4/s1600-h/Ankara+-+Google%27da+Ara_1253652544249.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 153px;" src="http://1.bp.blogspot.com/_pgBH6tLTsT0/Srk4jJppMwI/AAAAAAAAASk/pGFr4RDj_u4/s320/Ankara+-+Google%27da+Ara_1253652544249.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5384397006035301122" /&gt;&lt;/a&gt;
&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/12006"&gt;Firefox için Google Wolfram|Alpha Eklentisi&lt;/a&gt;
&lt;h4&gt;Aramalar Nasıl?&lt;/h4&gt;
Bir kaç arama örneği verelim ve sonuçlarına bakalım(bakmak istediklerinizin üstüne tıklayabilirsiniz.)
&lt;ul&gt;
&lt;li&gt;&lt;a onclick="var walframStr='http://www.wolframalpha.com/input/?i='+this.innerHTML;document.getElementById('serhatFrame').src=walframStr;"&gt;Mustafa Kemal&lt;/a&gt;  &gt;  Mustafa Kemal Hakkında...&lt;/li&gt;
&lt;li&gt;&lt;a onclick="var walframStr='http://www.wolframalpha.com/input/?i='+this.innerHTML;document.getElementById('serhatFrame').src=walframStr;"&gt;Weather Tavsanli 05/05/1986&lt;/a&gt;  &gt;  5 Mayıs 1986 da Tavşanlı' daki hava durumu&lt;/li&gt;
&lt;li&gt;&lt;a onclick="var walframStr='http://www.wolframalpha.com/input/?i='+this.innerHTML;document.getElementById('serhatFrame').src=walframStr;"&gt;Microsoft Apple&lt;/a&gt;  &gt;  karşılaştırması&lt;/li&gt;
&lt;li&gt;&lt;a onclick="var walframStr='http://www.wolframalpha.com/input/?i='+this.innerHTML;document.getElementById('serhatFrame').src=walframStr;"&gt;22 g Gold&lt;/a&gt;  &gt;  22 g altının bütün değerleri&lt;/li&gt;
&lt;li&gt;&lt;a onclick="var walframStr='http://www.wolframalpha.com/input/?i='+this.innerHTML;document.getElementById('serhatFrame').src=walframStr;"&gt;2 cup of Orange Juice&lt;/a&gt;  &gt;  2 bardak Portakal Suyundaki Herşey&lt;/li&gt;
&lt;/ul&gt;
&lt;iframe id="serhatFrame" src="http://www.wolframalpha.com/input/?i=" width="100%" height="500px"&gt;
&lt;/iframe&gt;

&lt;p&gt;
&lt;h5&gt;Kaynaklar:&lt;/h5&gt;
&lt;ul class="ref"&gt;
&lt;li&gt;www.wolframalpha.com&lt;/li&gt;
&lt;li&gt;http://tr.wikipedia.org/wiki/Wolfram_Alpha&lt;/li&gt;
&lt;li&gt;http://www.wolframalpha.com/screencast/introducingwolframalpha.html&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-1294674208281264603?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/FV8SBxZwnSA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/FV8SBxZwnSA/google-wolfram-ve-google-ile-wolfram.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_pgBH6tLTsT0/Srk4jJppMwI/AAAAAAAAASk/pGFr4RDj_u4/s72-c/Ankara+-+Google%27da+Ara_1253652544249.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/09/google-wolfram-ve-google-ile-wolfram.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-183716757450182695</guid><pubDate>Sat, 19 Sep 2009 18:14:00 +0000</pubDate><atom:updated>2009-09-20T10:50:01.389-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Blogger</category><category domain="http://www.blogger.com/atom/ns#">İnternet Yasakları</category><title>Blogger Erişim Sorunu ve Çözümü</title><description>&lt;p&gt;Eğer bu yazıyı bir şekilde Google'da buldunuz ve şu an sadece Google Önbelleği ile okuyabiliyorsanız demek ki siz de yasaklanma yüzünden &lt;b&gt;Blogger&lt;/b&gt;'a ben gibi erişemiyorsunuz. Size Windows ve Pardus için çözümü hemen göstereyim.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;/etc/hosts&lt;/b&gt; dosyasına ulaşıyoruz Windows için sadece başına &lt;b&gt;c:/windows/system32/drivers/&lt;/b&gt; ekliyoruz.Zaten dosyaların içeriği aynı localhost yazan yerin altına giremediğimiz siteyi ve ip adresini yazıyoruz.&lt;/p&gt;
&lt;ul class="codes"&gt;
&lt;li&gt;127.0.0.1 localhost pardus&lt;/li&gt;
&lt;li class="liNote"&gt;74.125.115.191 www.blogger.com&lt;/li&gt;
&lt;li class="liNote"&gt;74.125.115.191 serhatersel.blogspot.com&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Maalesef işler düzelene kadar gireceğiniz bloglarıda bu şekilde yazmalısınız.Yani sadece Blogger'ı erişime açmak bir şey kazandırmıyor.&lt;/p&gt;

&lt;p&gt;Tamamdır. Eğer kaydetmede bir sorun yaşıyorsanız Windows için dosya özelliklerinden yazmayı açmalısınız. Pardusta Yetkili olarak açarsanız bir sorun yaşamazsınız. Bilgisayarı yeniden başlatmadan hemen Firefox'ta bir sekme açarak Blogger'a dalabilirsiniz.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-183716757450182695?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/qVmkEtZcVJM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/qVmkEtZcVJM/blogger-erisim-sorunu-ve-cozumu.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/09/blogger-erisim-sorunu-ve-cozumu.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-448956538644913516</guid><pubDate>Mon, 14 Sep 2009 09:14:00 +0000</pubDate><atom:updated>2010-04-18T04:44:22.741-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">LFS</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">Pardus 64</category><category domain="http://www.blogger.com/atom/ns#">CLFS</category><category domain="http://www.blogger.com/atom/ns#">Cross Linux From Scratch</category><title>CLFS-9. Testsuite Araçlarını Yapılandırma</title><description>&lt;p class="version"&gt;Düzenleme Sürümü 0.6.0&lt;/p&gt;
&lt;h4&gt;9.1 Giriş&lt;/h4&gt;
&lt;p&gt;Bu bölümde test araçlarını yükleyeceğiz."make check" gibi...
 "Tcl","Expect" ve "DejaGNU", "GCC" ve "Binutils" test takımı için ihtiyaçtır ve Tree ise Udev test takımı tarafından kullanılır.&lt;/p&gt;
&lt;h4&gt;9.2 Tcl-8.4.16&lt;/h4&gt;
&lt;p&gt;(Tool Command Language)TCL dilinin tanımlanan anlamsal ve söz dizimi kurallarını izler.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="7"&gt;
cd unix
CC="gcc ${BUILD64}" ./configure --prefix=/tools --libdir=/tools/lib64

make 
make install
 #Tcl nin özel başlık dosyaları diğer paket olan Expect için ihtiyaçtır.
make install-private-headers
ln -sv tclsh8.4 /tools/bin/tclsh
&lt;/textarea&gt;
&lt;ul&gt;
 &lt;li&gt;tclsh8.4 : Tcl Kabuk Komutu&lt;/li&gt;
 &lt;li&gt;tclsh : tclsh8.4 bağlantısı&lt;/li&gt;
 &lt;li&gt;libtcl8.4.so : Tcl Kütüphanesi&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;9.3. Expect-5.43.0&lt;/h4&gt;
&lt;p&gt;Bu paket diğer etkileşimli programlarla mesaj iletişimi gerçekleştirmek için bir program içerir.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="7"&gt; 
    sed -i '/EXP_LIB_SPEC=/s@${exec_prefix}/lib@${libdir}@' configure
    patch -Np1 -i ../expect-5.43.0-spawn-2.patch
    CC="gcc ${BUILD64}" ./configure --prefix=/tools \
--with-tcl=/tools/lib64 --with-tclinclude=/tools/include \
--libdir=/tools/lib64

    make 
    make SCRIPTS="" install
&lt;/textarea&gt;
&lt;ul class="codes"&gt;
    &lt;li&gt;--with-tcl=/tools/lib64&lt;/li&gt;
    &lt;li class="liNote"&gt;TCL yükleme yerinin tools konumunda olduğundan emin olur.&lt;/li&gt;
    &lt;li&gt;--with-tclinclude=/tools/include&lt;/li&gt;
    &lt;li class="liNote"&gt;Tcl nin dahili başlıklarının nerede bulacağını söyler.Bu seçim "configure" başarısız olduğu şartlardan kaçınır çünkü  TCL kaynak dizinin konumu otomatik olarak bulunamaz.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
 &lt;li&gt;expect: bir betiğe göre diğer etkileşimli programlar ile haberleşir.&lt;/li&gt;
 &lt;li&gt;libexpect-5.43.a:C veya C++ dan direk olarak ya da TCL uzantıları ile Expect fonksiyonlarına erişimine izin verilen fonksiyonları barındırır.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;9.4. DejaGNU-1.4.4&lt;/h4&gt;
&lt;p&gt;Diğer programları test etmek için bir çatı içerir.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="4"&gt;
    ./configure --prefix=/tools
    make install
&lt;/textarea&gt;
&lt;ul&gt;
 &lt;li&gt;runtest: doğru expect kabuğunu belirleyen ve daha sonra DejaGNU yu çalıştıran bir betik paketidir.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;9.5. Tree-1.5.1.1&lt;/h4&gt;
&lt;p&gt;Bu paket, grafiksel ağaç biçiminde dizin yapısı listeleyen program içerir."Udev" tarafından kullanılır. &lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="4"&gt;
 make CC="gcc ${BUILD64}"
 make prefix=/tools install
&lt;/textarea&gt;
&lt;ul class="codes"&gt;
&lt;li&gt;prefix=/tools&lt;/li&gt;
&lt;li class="liNote"&gt;"Makefile"daki "/usr"nin varsayılan önekini geçersiz kılar.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
 &lt;li&gt;tree: dizinleri ağaç şeklinde listeleyecek.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-448956538644913516?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/6tKWy-Y70o4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/6tKWy-Y70o4/clfs-9-testsuite-araclarn-yaplandrma.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/09/clfs-9-testsuite-araclarn-yaplandrma.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-4429421460744462758</guid><pubDate>Mon, 14 Sep 2009 09:11:00 +0000</pubDate><atom:updated>2010-04-18T04:44:02.458-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">LFS</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">Pardus 64</category><category domain="http://www.blogger.com/atom/ns#">CLFS</category><category domain="http://www.blogger.com/atom/ns#">Cross Linux From Scratch</category><title>CLFS-8. CHROOT ile Yola Devam</title><description>&lt;p class="version"&gt;Düzenleme Sürümü 0.6.0&lt;/p&gt;
&lt;h4&gt;8.1. Giriş&lt;/h4&gt;
&lt;p&gt;Bu bölümde Son sistem paketleri inşası için chroot hiyerarşisinin nasıl olacağına bakacağız.&lt;/p&gt;
&lt;h4&gt;8.2. E2fsprogs-1.40.4&lt;/h4&gt;
&lt;p&gt;Dosya sistemi biçimlendirmesini sağlayan 
programları içerir ext2 dışında ext3 desteği de vardır.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="80" rows="10" &gt;
    chmod -v 0755 configure
    cp -v configure{,.orig}
    sed -e "/libdir=.*\/lib/s@/lib@/lib64@g" configure.orig &gt; configure
    
    mkdir -v build
    cd build
    
    CC="${CC} ${BUILD64}" ../configure --prefix=/tools \
    --enable-elf-shlibs --disable-evms --with-cc="${CC} ${BUILD64}" \
    --with-linker=${LD} --host=${CLFS_TARGET}
    
    make libs
    make install-libs
&lt;/textarea&gt;
&lt;ul class="codes"&gt;
    &lt;li&gt;--enable-elf-shlibs&lt;/li&gt;
    &lt;li class="liNote"&gt;Bu pakette bazı programların kullandığı paylaşılan kütüphaneleri oluşturur. &lt;/li&gt;
    &lt;li&gt;--disable-evms&lt;/li&gt;
    &lt;li class="liNote"&gt;EVMS(Enterprise Volume Management System) ekletisini devredışı bırakır.&lt;a href="http://evms.sourceforge.net"&gt;Daha fazlası için...&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;install-libs&lt;/li&gt;
    &lt;li class="liNote"&gt;Bu komut sadece e2fsprogs kütüphanleri yükleyecek&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;8.3. Util-linux-ng-2.14&lt;/h4&gt;
&lt;p&gt;dosya sistemleri, konsollar, bölümler ve mesajlar ile ilgili çeşitli araçları içerir.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="8" &gt;
CC="${CC} ${BUILD64}" ./configure --prefix=/tools \
--build=${CLFS_HOST} --host=${CLFS_TARGET}

make -C mount mount umount
make -C text-utils more

cp -v mount/{,u}mount text-utils/more /tools/bin
&lt;/textarea&gt;
&lt;h4&gt;8.4. Sanal Çekirdek Dosya Sistemlerini Bağlama&lt;/h4&gt;
&lt;textarea readonly="readonly" cols="60" rows="10" &gt;
mkdir -pv ${CLFS}/{dev,proc,sys}
    # Şimdi Dosya Sistemini Bağlayalım.
mount -vt proc proc ${CLFS}/proc
mount -vt sysfs sysfs ${CLFS}/sys
    # Herhangi Sebepten dolayı CLFS sistemindn çıkılırsa bu dosya sistemlerini chroot ortamına girmeden önce tekrardan bağlamayı unutmayın.
mknod -m 600 ${CLFS}/dev/console c 5 1
mknod -m 666 ${CLFS}/dev/null c 1 3
    # /dev/console ve /dev/null  iki aygıt düğümü çekirdek tarafından ihtiyaç duyulur.
mount -v -o bind /dev ${CLFS}/dev

mount -f -vt tmpfs tmpfs ${CLFS}/dev/shm
mount -f -vt devpts -o gid=4,mode=620 devpts ${CLFS}/dev/pts
&lt;/textarea&gt;
&lt;h4&gt;8.5. Chroot Ortamına Giriş:&lt;/h4&gt;
&lt;p&gt;Son CLFS sistemini inşa etmeye ve yüklemeye başlamak için chroot ortamına girme zamanı.Root olarak aşağıdaki komutları çalıştırılım: &lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="6" &gt;
chroot "${CLFS}" /tools/bin/env -i \
    HOME=/root TERM="${TERM}" PS1='\u:\w\$ ' \
    PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
    /tools/bin/bash --login +h
&lt;/textarea&gt;
&lt;p&gt;env komutu için verilen -i seçeneği chroot ortamının tüm değişkenlerini temizleyecektir.
Sonra HOME,TERM,PS1 ve PATH değişkenleri tekrar ayarlar. TERM=${TERM} yapımı TERM değişkenini 
CHROOT içine dışındaki gibi ayarlayacak. Bu değişken vim,less benzeri programları düzgün işletmek için ihtiyaç duyar.
Bu noktada CLFS değişkenine ihtiyacımız yok çünkü CLFS dosya sisteminde tüm işler kısıtlanmış olacak.
Bu bölümün bundan sonraki bölümündeki tüm komutlar ve bundan sonraki konular "Chroot" ortamı içinden çalışacak.
Herhangi bir sebepten dolayı(yeniden başlatmak gibi) bu ortamdan ayrılırsan ilk bağlanan "proc" ve 
    "devpts" dosya sistemlerini bağlamayı ve yüklemeye devam etmeden önce chroot girişi yapmayı unutmayın.

 &lt;/p&gt;
&lt;h4&gt;8.6. Sahiplik Değişimi&lt;/h4&gt;
&lt;p&gt;"/tools" ve "/cross-tools" dizinleri clfs kullanıcı tarafından sahiplikleri vardır. 
    sadece konuk sistem üzerinde bir kullanıcı var.
&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="2"&gt;
    chown -Rv 0:0 /tools
    chown -Rv 0:0 /cross-tools
&lt;/textarea&gt;
&lt;p&gt;
 Komutta kullanılan "0:0", "root:root" yerine geçer çünkü chown, passswd oluşturulana kadar "root" çözememektedir.&lt;/p&gt;
&lt;h4&gt;8.7. Dizinleri Oluşturma&lt;/h4&gt;
&lt;p&gt;CLFS dosya sisteminde bazı yapıları oluşturma zamanı. Standart dizin ağacını oluşturalım:&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="8"&gt;
mkdir -pv /{bin,boot,dev,{etc/,}opt,home,lib{,64},mnt}
mkdir -pv /{proc,media/{floppy,cdrom},sbin,srv,sys}
mkdir -pv /var/{lock,log,mail,run,spool}
mkdir -pv /var/{opt,cache,lib{,64}/{misc,locate},local}
install -dv /root -m 0750
install -dv {/var,}/tmp -m 1777
mkdir -pv /usr/{,local/}{bin,include,lib{,64},sbin,src}
mkdir -pv /usr/{,local/}share/{doc,info,locale,man}
mkdir -pv /usr/{,local/}share/{misc,terminfo,zoneinfo}
mkdir -pv /usr/{,local/}share/man/man{1..8}
for dir in /usr{,/local}; do
ln -sv share/{man,doc,info} $dir
done
install -dv /usr/lib/locale
ln -sv ../lib/locale /usr/lib64
&lt;/textarea&gt;
&lt;p&gt;Dizinler varsayılan olarak 755 iziniyle oluşturuldu ama bu bütün dizinler için kabul edilebilir birşey değil. O yüzden yukarıdaki komutlarda "root" kullanıcısının ev dizini ve geçici dosyalar için oluşturulan dizininin izinleri değişitirildi.&lt;br /&gt;
Birincisinde diğerlerinin "/root" dizinine giriş yapmasını engelliyoruz.İkincisinde ise "/tmp" ve "/var/tmp"  dizinleri için her kullanıcıya yazma izni ama sadece kendi dosyalarını silme izni veriyoruz. Bunu da yapışkan bit(sticky bit=1) ile yapıyoruz.&lt;/p&gt;
&lt;h4&gt;8.7.1. FHS Uyum Notu&lt;/h4&gt;
&lt;p&gt;&lt;a href="http://pathname.com/fhs/"&gt;FHS(FileSystem Hierarcy Standart)&lt;/a&gt; tabanlı dizin ağacıdır.Buna 
    ek olarak yukarıda oluşturduğumuz ağacı için bu standart "/usr/local/games" ve 
    "/usr/local/share" dizinlerinin varolmasını sart koşar. FHS "/usr/local/share 
    alt dizininin yapısı için tam değildir, bu yüzden biz sadece gerekli dizinleri 
    oluşturduk. Bununla birlikte FHS için bunları oluşturabilirsin..."&lt;/p&gt;
&lt;h4&gt;8.8. Temel Sembolik Bağlantıları Oluşturma&lt;/h4&gt;
&lt;p&gt;Bazı programlar henüz olmayan programlar için direk yolları kullanırlar.Bu programları memnun edebilmek için daha sonraki bölümlerde gerçek dosyalar ile yer değiştirecek sembolik bağlantıları oluşturacağız.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="4"&gt;
    ln -sv /tools/bin/{bash,cat,echo,grep,pwd,stty} /bin
    ln -sv /tools/bin/file /usr/bin
    ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib
    ln -sv /tools/lib64/libgcc_s.so{,.1} /usr/lib64
    ln -sv /tools/lib/libstd* /usr/lib
    ln -sv /tools/lib64/libstd* /usr/lib64
    ln -sv bash /bin/sh
&lt;/textarea&gt;
&lt;h4&gt;8.9. Bayrakları İnşa Et&lt;/h4&gt; 
&lt;textarea readonly="readonly" cols="60" rows="5"&gt;
    export BUILD32="-m32"
    export BUILD64="-m64"

    export CLFS_TARGET32="i686-pc-linux-gnu"
    #Tekrar inşaya geri döndüğümüzde hataları engellemek için değişkenleri aktarıyoruz.
    echo export BUILD32=\""${BUILD32}\"" &gt;&gt; ~/.bash_profile
    echo export BUILD64=\""${BUILD64}\"" &gt;&gt; ~/.bash_profile
    echo export CLFS_TARGET32=\""${CLFS_TARGET32}\"" &gt;&gt; ~/.bash_profile
&lt;/textarea&gt;
&lt;h4&gt;8.10. Parola(passwd),Grup ve günlük dosyalarını oluşturma&lt;/h4&gt;
&lt;p&gt;"root" olarak "root" adıyla oturum açabilmek için "/etc/passwd" ve "/etc/group" içerisinde ilgili girdilerin olması gerekmektedir.Aşağıdaki komutla "/etc/passwd" dosyasını oluşturalım:&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="4"&gt;
    cat &gt; /etc/passwd &lt;&lt; "EOF"
    root:x:0:0:root:/root:/bin/bash
    EOF
&lt;/textarea&gt;
&lt;p&gt; root için gerçek parola daha sonra atanacak.(x burada yertutucu olarak kullanılır.)&lt;/p&gt;
&lt;h6&gt;Ekleyebileceğin ek kullanıcılar:&lt;/h6&gt;
&lt;ul class="codes"&gt;
 &lt;li&gt;bin:x:1:1:bin:/bin:/bin/false&lt;/li&gt;
 &lt;li&gt;daemon:x:2:6:daemon:/sbin:/bin/false&lt;/li&gt; 
 &lt;li&gt;adm:x:3:16:adm:/var/adm:/bin/false&lt;/li&gt;
 &lt;li&gt;lp:x:10:9:lp:/var/spool/lp:/bin/false&lt;/li&gt;
 &lt;li&gt;mail:x:30:30:mail:/var/mail:/bin/false&lt;/li&gt;
 &lt;li&gt;news:x:31:31:news:/var/spool/news:/bin/false&lt;/li&gt;
 &lt;li&gt;uucp:x:32:32:uucp:/var/spool/uucp:/bin/false&lt;/li&gt;
 &lt;li&gt;operator:x:50:0:operator:/root:/bin/bash&lt;/li&gt;
 &lt;li&gt;postmaster:x:51:30:postmaster:/var/spool/mail:/bin/false&lt;/li&gt;
 &lt;li&gt;nobody:x:65534:65534:nobody:/:/bin/false&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Şimdi "/etc/group" oluşturalım:
&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="6"&gt;
    cat &gt; /etc/group &lt;&lt; "EOF"
    root:x:0:
    bin:x:1:
    sys:x:2:
    kmem:x:3:
    tty:x:4:
    tape:x:5:
    daemon:x:6:
    floppy:x:7:
    disk:x:8:
    lp:x:9:
    dialout:x:10:
    audio:x:11:
    video:x:12:
    utmp:x:13:
    usb:x:14:
    cdrom:x:15:
    EOF
&lt;/textarea&gt;
&lt;h6&gt;Ekleyebileceğin ek gruplar:&lt;/h6&gt;
&lt;ul&gt;
 &lt;li&gt;adm:x:16:root,adm,daemon&lt;/li&gt;
 &lt;li&gt;console:x:17:&lt;/li&gt;
 &lt;li&gt;cdrw:x:18:&lt;/li&gt;
 &lt;li&gt;mail:x:30:mail&lt;/li&gt;
 &lt;li&gt;news:x:31:news&lt;/li&gt;
 &lt;li&gt;uucp:x:32:uucp&lt;/li&gt;
 &lt;li&gt;users:x:1000&lt;/li&gt;
 &lt;li&gt;nogroup:x:65533&lt;/li&gt;
 &lt;li&gt;nobody:x:65534&lt;/li&gt; 
&lt;/ul&gt;
&lt;textarea readonly="readonly" cols="60" rows="2"&gt;
    exec /tools/bin/bash --login +h
&lt;/textarea&gt;
&lt;p&gt;login,agetty ve init programları gibi programlar günlük dosyaları tutarlar. Kimin, ne zaman işlem yaptığı tutan bu dosyalar oluşmamış ise günlükleme yaılamaz. O yüzden günlük dosyalarımızı oluşturalım ve izinlerini verelim: &lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="6"&gt;
    touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
    chgrp -v utmp /var/run/utmp /var/log/lastlog
    chmod -v 664 /var/run/utmp /var/log/lastlog
    chmod -v 600 /var/log/btmp
&lt;/textarea&gt;
&lt;p&gt;"/var/run/utmp" dosyası şu anki oturum açan kullanıcıyı kaydeder. "/var/log/wtmp" dosyası tüm oturum açma ve kapama işlemlerini kaydeder. "/var/log/lastlog" dosyası her kullanıcının açtığı en son oturumu kaydeder."/var/log/btmp" dosyası başarışız girişleri kaydeder.&lt;/p&gt;
&lt;h4&gt;8.11. Çekirdek Dosya Sistemini Bağlama&lt;/h4&gt;
&lt;p&gt;yeni oluşturulmuş dizinler üzerinde çekrideğe özgü dosya sistemini bağlıyoruz.&lt;/p&gt;
&lt;textarea readonly="readonly" readonly="readonly" cols="80" rows="4"&gt;
    mount -vt devpts -o gid=4,mode=620 none /dev/pts
    mount -vt tmpfs none /dev/shm
&lt;/textarea&gt;
&lt;ul class="codes"&gt;
    &lt;li&gt;can't open /etc/fstab: No such file or directory.&lt;/li&gt;
    &lt;li class="liNote"&gt;mount komutundan sonra böyle bir uyarı ile karşılaşırsanız. "/etc/fstab" henüz oluşturulmamış fakat dosya sistemini doğru şekilde oluşturmak için gerekli değildir. Bu yüzden bu uyarıyı içiniz rahat bir şekilde yoksayabilirsiniz.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-4429421460744462758?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/Y7iN-GCQ57g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/Y7iN-GCQ57g/clfs-8-chroot-ile-yola-devam.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/09/clfs-8-chroot-ile-yola-devam.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-5099977356813456942</guid><pubDate>Mon, 14 Sep 2009 09:10:00 +0000</pubDate><atom:updated>2010-04-18T04:43:41.919-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">LFS</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">Pardus 64</category><category domain="http://www.blogger.com/atom/ns#">CLFS</category><category domain="http://www.blogger.com/atom/ns#">Cross Linux From Scratch</category><title>CLFS-6. Geçici Sistem İnşa Etme</title><description>&lt;p class="version"&gt;Düzenleme Sürümü 0.9.0&lt;/p&gt;
&lt;h4&gt;6.1. Giriş&lt;/h4&gt;
&lt;p&gt;Bu bölümde en küçük Linux sistemin nasıl derlenip yüklendiğini göreceğiz.Bu sistem Bölüm-10-Temel Sistem Yazılımlarının Yüklenmesi(Installing Basic System Software) içerisinde son CLFS sistemini oluşturmaya başlamak için yeterli araçları içerir ve sıkışık ortamdan daha fazla kullanıcı rahatlığı sağlayan bir çalışma ortamına izin verecektir.
Bu bölümde ki araçlar "/cross-tools" dizinindeki araç zincirini(toolchain) kullanarak çapraz derleme yapar ve daha sonraki CLFS sistemizin kirlenmesinide önlmek için "${CLFS}/tools" dizini altına yükleyecek. Şimdi değişkenimizi kontrol edelim.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="2"&gt;
    echo ${CLFS}
 #/mnt/clfs çıktısını verdiğinden emin olalım.
&lt;/textarea&gt;
    &lt;p&gt;Bu bölümde böyle bir hatayla karşılaşırsanız güvenle yokmuş gibi davranabilirsiniz.&lt;/p&gt;
    &lt;p class="warning"&gt;configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.&lt;/p&gt;
&lt;h4&gt;6.2 Değişkenleri Oluşturma&lt;/h4&gt;
&lt;p&gt;Bağlayıcılar ve derleyici için hedefe özel değişkenleri atayalım.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="7"&gt;
export CC="${CLFS_TARGET}-gcc"
export CXX="${CLFS_TARGET}-g++"
export AR="${CLFS_TARGET}-ar"
export AS="${CLFS_TARGET}-as"
export RANLIB="${CLFS_TARGET}-ranlib"
export LD="${CLFS_TARGET}-ld"
export STRIP="${CLFS_TARGET}-strip"
 #Tedbirden dolayı ~/.bashrc içine bunları ekliyoruz.
echo export CC=\""${CC}\"" &gt;&gt; ~/.bashrc
echo export CXX=\""${CXX}\"" &gt;&gt; ~/.bashrc
echo export AR=\""${AR}\"" &gt;&gt; ~/.bashrc
echo export AS=\""${AS}\"" &gt;&gt; ~/.bashrc
echo export RANLIB=\""${RANLIB}\"" &gt;&gt; ~/.bashrc
echo export LD=\""${LD}\"" &gt;&gt; ~/.bashrc
echo export STRIP=\""${STRIP}\"" &gt;&gt; ~/.bashrc
&lt;/textarea&gt;

&lt;h4&gt;6.3. Binutils-2.18&lt;/h4&gt;
&lt;p&gt;Binutils paketi bağlayıcı,assembler ve nesne dosyaları için diğer araçları içerir.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="7"&gt;
patch -Np1 -i ../binutils-2.18-posix-1.patch
patch -Np1 -i ../binutils-2.18-genscripts_multilib-1.patch
patch -Np1 -i ../binutils-2.18-branch_update-3.patch

mkdir -v ../binutils-build
cd ../binutils-build

CC="${CC} ${BUILD64}"
../binutils-2.18/configure --prefix=/tools \
--libdir=/tools/lib64 --with-lib-path=/tools/lib \
--build=${CLFS_HOST} --host=${CLFS_TARGET} --target=${CLFS_TARGET} \
--disable-nls --enable-shared --enable-64-bit-bfd

make configure-host
make
make install
&lt;/textarea&gt;
&lt;ul class="codes"&gt;
    &lt;li&gt;CC="${CC} ${BUILD64}" &lt;/li&gt;
    &lt;li class="liNote"&gt;Derleyiciye 64 bit inşa bayraklarımızı kullanmasını söyler.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;6.4. GCC-4.2.4&lt;/h4&gt;
&lt;textarea readonly="readonly" cols="60" rows="7"&gt;
patch -Np1 -i ../gcc-4.2.4-PR31490-1.patch
patch -Np1 -i ../gcc-4.2.4-specs-1.patch
patch -Np1 -i ../gcc-4.2.4-posix-1.patch
patch -Np1 -i ../gcc-4.2.4-cross_search_paths-1.patch
 #CPP'nin arama yolunu değiştiriyoruz. CPP artık "/usr/include" içine bakmayacak."/usr/include" "0" ile değiştirildi.
cp -v gcc/cppdefault.c{,.orig}
sed -e '/#define STANDARD_INCLUDE_DIR/s@"/usr/include"@0@g' \
gcc/cppdefault.c.orig &gt; gcc/cppdefault.c
 #Ayrıca, sistem başlık dosyaları için sabit bir "include" dizini atamaya ihtiyacımız var. Artık konuk Sistemin başlık dosyalarına bakmayacağız.
cp -v gcc/Makefile.in{,.orig}
sed -e 's@\(^NATIVE_SYSTEM_HEADER_DIR =\).*@\1 /tools/include@g' \
gcc/Makefile.in.orig &gt; gcc/Makefile.in
 #"multilibs" için arandığı zaman, Çapraz-Derleyicimiz tarafından "--print-multi-lib" sonuclarını kullanmak için inşa zorlayın...
cp -v gcc/Makefile.in{,.orig2}
sed -e "/MULTILIBS/s@\$(GCC_FOR_TARGET)@/cross-tools/bin/${CC}@g" \
gcc/Makefile.in.orig2 &gt; gcc/Makefile.in

mkdir -v ../gcc-build
cd ../gcc-build
 #Before starting to build GCC, remember to unset any environment variables that override the default optimizationflags.

CC="${CC} ${BUILD64}" CXX="${CXX} ${BUILD64}" \
../gcc-4.2.4/configure --prefix=/tools --libdir=/tools/lib64 \
--build=${CLFS_HOST} --host=${CLFS_TARGET} --target=${CLFS_TARGET} \
--with-local-prefix=/tools --enable-long-long --enable-c99 \
--enable-shared --enable-threads=posix --enable-__cxa_atexit \
--disable-nls --enable-languages=c,c++ --disable-libstdcxx-pch

make AS_FOR_TARGET="${AS}" \
LD_FOR_TARGET="${LD}"
make install
&lt;/textarea&gt;
&lt;ul class="codes"&gt;
 &lt;li&gt;CXX="${CXX} ${BUILD64}"&lt;/li&gt;
 &lt;li class="liNote"&gt;64 bit bayraklarmızı kullanmamız için C++ derleyicimizi zorlar.&lt;/li&gt;
 &lt;li&gt;--disable-libstdcxx-pch&lt;/li&gt;
 &lt;li class="liNote"&gt;libstdc++ için ön-derleme başlıklarını(PCH) inşa etmez.Çok fazla alan kapladığı için onu kullanmıyoruz. &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;6.5. Ncurses-5.6&lt;/h4&gt;
&lt;p&gt;The Ncurses package contains libraries for terminal-independent handling of character screens.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="6"&gt;
patch -Np1 -i ../ncurses-5.6-bash_fix-1.patch

CC="${CC} ${BUILD64}" CXX="${CXX} ${BUILD64}" \
    ./configure --prefix=/tools --with-shared \
    --build=${CLFS_HOST} --host=${CLFS_TARGET} \
    --without-debug --without-ada \
    --enable-overwrite --with-build-cc=gcc \
    --libdir=/tools/lib64

make
make install
&lt;/textarea&gt;
&lt;ul class="codes"&gt;
 &lt;li&gt;--with-shared&lt;/li&gt;
   &lt;li class="liNote"&gt;Ncurses'e paylaşılan kütüphane oluşturmasını söyler.&lt;/li&gt;
 &lt;li&gt;--without-debug&lt;/li&gt;
   &lt;li class="liNote"&gt;İnşanın Debug olmadan yapılmasını söyler.&lt;/li&gt;
 &lt;li&gt;--without-ada&lt;/li&gt;
   &lt;li class="liNote"&gt;Son Sistem inşası sırasında Ada Derleyici kullanılmayacağı için desteğini kaldırır.&lt;/l&gt;
 &lt;li&gt;--enable-overwrite&lt;/li&gt;
 &lt;li class="liNote"&gt;Diğer paketler başarılı bir şekilde Ncurses başlık dosyalarını bulabilmesi için "/tools/include/ncurses" yerine "/tools/include" içerisine yüklemesini söyler.&lt;/li&gt;
 &lt;li&gt;--with-build-cc=gcc&lt;/li&gt;
   &lt;li class="liNote"&gt;Kullanacağımız derleyicinin tipini söyler.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;6.6. Bash-3.2&lt;/h4&gt;
&lt;p&gt;Bourne-Again SHell&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="6"&gt;
patch -Np1 -i ../bash-3.2-fixes-8.patch
 #Çapraz-Derleme sırasında oluşabilecek sorunları engellemek için bunları config.cache içine ekliyoruz.
cat &gt; config.cache &lt;&lt; "EOF"
ac_cv_func_mmap_fixed_mapped=yes
ac_cv_func_strcoll_works=yes
ac_cv_func_working_mktime=yes
bash_cv_func_sigsetjmp=present
bash_cv_getcwd_malloc=yes
bash_cv_job_control_missing=present
bash_cv_printf_a_format=yes
bash_cv_sys_named_pipes=present
bash_cv_ulimit_maxfds=yes
bash_cv_under_sys_siglist=yes
bash_cv_unusable_rtsigs=no
gt_cv_int_divbyzero_sigfpe=yes
EOF

CC="${CC} ${BUILD64}" CXX="${CXX} ${BUILD64}" \
   ./configure --prefix=/tools \
   --build=${CLFS_HOST} --host=${CLFS_TARGET} \
   --without-bash-malloc --cache-file=config.cache

make
make install

ln -sv bash /tools/bin/sh

&lt;/textarea&gt;
&lt;ul class="codes"&gt;
 &lt;li&gt;--without-bash-malloc&lt;/li&gt;
 &lt;li class="liNote"&gt;Bu seçenek "Bash"'in hafıza ayırma fonksiyonunu (malloc) kapatır. "Bash", daha kararlı olan "Glibc" nin "malloc" fonksiyonunu kullanır.&lt;/li&gt;
&lt;/ul&gt;


&lt;h4&gt;6.7. Bzip2-1.0.4&lt;/h4&gt;
&lt;p&gt;Sıkıştırma ve açma programları içerir.Metin dosyalarını sıkıştırma geleneksel gzip'e oranla bzip daha iyi bir sıkıştırma sağlar.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="6"&gt;
 #Makefile içinde varsayılan kütüphane yolunu lib64 olarak değiştiriyoruz ve çoklu mimaride çalışmayacak testleri siliyoruz.
cp -v Makefile{,.orig}
sed -e 's@^\(all:.*\) test@\1@g' \
    -e 's@/lib\(/\| \|$\)@/lib64\1@g' Makefile.orig &gt; Makefile
 #Bu paket configure betiği içermemektedir.
make CC="${CC} ${BUILD64}" AR="${AR}" RANLIB="${RANLIB}"
make PREFIX=/tools install
&lt;/textarea&gt;
&lt;h4&gt;6.8. Coreutils-6.9&lt;/h4&gt;
&lt;p&gt;temel sistem karakteristiklerini ayarlama ve gösterme için araçlar içerir.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="6"&gt;
sed -i "s/futimens/gl_&amp;/" $(grep -lr futimens *)
 #"Configure",Çapraz-Derleme sırasında boş alanı nasıl alacağımızı uygunca belirleyemez.Aşağıdaki girişi "config.cache" içine koymazsanız "df" programı inşa edilmeyecektir.
echo "fu_cv_sys_stat_statfs2_bsize=yes" &gt; config.cache

CC="${CC} ${BUILD64}" ./configure --prefix=/tools \
    --build=${CLFS_HOST} --host=${CLFS_TARGET} \
    --cache-file=config.cache
 #...
touch man/touch.1

make 
make install
&lt;/textarea&gt;
&lt;h4&gt;6.9. Diffutils-2.8.7&lt;/h4&gt;
&lt;p&gt;Dizinlerin veya dosyaların arasındaki farkları gösterir.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="6"&gt;
CC="${CC} ${BUILD64}" ./configure --prefix=/tools \
  --build=${CLFS_HOST} --host=${CLFS_TARGET}

make 
make install
&lt;/textarea&gt;
&lt;h4&gt;6.10. Findutils-4.2.32&lt;/h4&gt;
&lt;p&gt;Dosyaları bulmak için programlar içerir.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="6"&gt;
CC="${CC} ${BUILD64}" ./configure --prefix=/tools \
   --build=${CLFS_HOST} --host=${CLFS_TARGET}

make
make install
&lt;/textarea&gt;
&lt;h4&gt;6.11. Zlib-1.2.3&lt;/h4&gt;
&lt;p&gt;Bazı programlar tarafından kullanılan sıkıştırma ve açma programlarını içerir.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="6"&gt;
CC="${CC} ${BUILD64}" \
   ./configure --prefix=/tools --shared --libdir=/tools/lib64

make 
make install
&lt;/textarea&gt;
&lt;h4&gt;6.12. File-4.23&lt;/h4&gt;
&lt;p&gt;Verilen dosya(lar) tiplerini düzenlemek için araçlar içerir.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="6"&gt;
CC="${CC} ${BUILD64}" ./configure --prefix=/tools \
   --libdir=/tools/lib64 --build=${CLFS_HOST} --host=${CLFS_TARGET}

make
make install
&lt;/textarea&gt;
&lt;h4&gt;6.13. Gawk-3.1.6&lt;/h4&gt;
&lt;p&gt;Dizge kalıplarını tarama ve işleme dilidir.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="6"&gt;
CC="${CC} ${BUILD64}" \
   ./configure --prefix=/tools \
   --build=${CLFS_HOST} --host=${CLFS_TARGET}

make 
make install
&lt;/textarea&gt;
&lt;h4&gt;6.14. Gettext-0.17&lt;/h4&gt;
&lt;p&gt;Bu paket ulusal ve yerel uyarlamalar için araçlar içerir.Bunlar programlara NLS(Native Language Support) ile derlenmeye izin verir.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="6"&gt;
cd gettext-tools
 #Olabilecek derleme hatalarını önler:
echo "gl_cv_func_wcwidth_works=yes" &gt; config.cache

CC="${CC} ${BUILD64}" CXX="${CXX} ${BUILD64}" \
    ./configure --prefix=/tools --disable-shared \
    --build=${CLFS_HOST} --host=${CLFS_TARGET} \
    --cache-file=config.cache

make -C gnulib-lib
make -C src msgfmt

cp -v src/msgfmt /tools/bin
&lt;/textarea&gt;
&lt;h4&gt;6.15. Grep-2.5.3&lt;/h4&gt;
&lt;p&gt;Dosyalar arasında arama için program içerir.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="6"&gt;
CC="${CC} ${BUILD64}" ./configure --prefix=/tools \
   --build=${CLFS_HOST} --host=${CLFS_TARGET} \
   --disable-perl-regexp

make
make install
&lt;/textarea&gt;
&lt;ul class="codes"&gt;
 &lt;li&gt;--disable-perl-regexp&lt;/li&gt;
 &lt;li class="liNote"&gt;Son sistem inşas edildiği zaman çalışmayacak şuan ki sistemde çalışabilir, PERL COMPATIBLE REGULAR EXPRESSION (PCRE) kütüphanesinin bağlantısını almaz.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;6.16. Gzip-1.3.12&lt;/h4&gt;
&lt;p&gt;Dosyaları sıkıştırma ve açma programları içerir.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="6"&gt;
 #futimens gl_futimens ile değiştirilir.
sed -i "s/futimens/gl_&amp;/" $(grep -lr futimens *)
CC="${CC} ${BUILD64}" ./configure --prefix=/tools \
  --build=${CLFS_HOST} --host=${CLFS_TARGET}
make
make install
&lt;/textarea&gt;
&lt;h4&gt;6.17. Make-3.81&lt;/h4&gt;
&lt;p&gt;Derleme paketleri için program içerir.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="6"&gt;
CC="${CC} ${BUILD64}" ./configure --prefix=/tools \
   --build=${CLFS_HOST} --host=${CLFS_TARGET}

make
make install
&lt;/textarea&gt;
&lt;h4&gt;6.18. Patch-2.5.9&lt;/h4&gt;
&lt;p&gt;Dosyalar arasındaki farkı yama dosyaları ile düzenleyen veya oluşturan programı içerir.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="6"&gt;
CC="${CC} ${BUILD64}" ./configure --prefix=/tools \
    --build=${CLFS_HOST} --host=${CLFS_TARGET}

make
make install
&lt;/textarea&gt;
&lt;h4&gt;6.19. Sed-4.1.5&lt;/h4&gt;
&lt;p&gt;bir (stream editor)düzenleyici içerir.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="6"&gt;
CC="${CC} ${BUILD64}" ./configure --prefix=/tools \
   --build=${CLFS_HOST} --host=${CLFS_TARGET}
make 
make install
&lt;/textarea&gt;
&lt;h4&gt;6.20. Tar-1.20&lt;/h4&gt;
&lt;p&gt;Sıkıştırma programı içerir.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="7"&gt;
 #TAR UTF8 yeteneklerini kullanır,aşağıdaki komutu kullamazsanız inşanın UTF8 bölümleri başarısız olacaktır.
    echo "gl_cv_func_wcwidth_works=yes" &gt;&gt; config.cache

    CC="${CC} ${BUILD64}" ./configure --prefix=/tools \
    --build=${CLFS_HOST} --host=${CLFS_TARGET} \
    --cache-file=config.cache
    
    make
    make install
&lt;/textarea&gt;
&lt;h4&gt;6.21. Texinfo-4.11&lt;/h4&gt;
&lt;p&gt;Bilgi sayfalarını okuma,yazma ve çevirme için gerekli programları içerir.&lt;/p&gt;
&lt;textarea readonly="readonly" cols="60" rows="7"&gt;
    #mbstate nedeniyle oluşan hatayı düzeltir.
    patch -Np1 -i ../texinfo-4.11-mbstate_fix-1.patch
    
    CC="${CC} ${BUILD64}" ./configure --prefix=/tools \
    --build=${CLFS_HOST} --host=${CLFS_TARGET}
    
    make -C tools/gnulib/lib
    make -C tools
    make
    make install
&lt;/textarea&gt;
&lt;h4&gt;6.22. Boot veya Chroot ?&lt;/h4&gt; 
&lt;span&gt;Bu noktadan sonra son sitemizi tamamlamak için iki farklı yolumuz var.
Oluşan geçici sistemi kullanarak boot etmeyi sağlamak,Chroot ile sistemi kullanmak.
BOOT metodu PowerPC sistemin x86 üzerinden inşa ederken kullanılır, CHROOT olunamaz.
CHROOT metodu aynı mimari üzerinde inşa edildiği zaman kullanılır.
Bu konu üzerinde şüpheleriniz var ise aşağıdaki komutları deneyebilirsiniz.
Bu size CHROOT metodunu ve ya BOOT metodunu seçmenize yardım edecek.&lt;/span&gt;
&lt;ul class="codes"&gt;
    &lt;li&gt;/tools/lib/libc.so.6&lt;/li&gt;
    &lt;li&gt;/tools/lib64/libc.so.6&lt;/li&gt;
    &lt;li&gt;/tools/bin/gcc -v&lt;/li&gt;
&lt;/ul&gt;
&lt;span&gt;Biz yola CHROOT ile devam edeceğiz... &lt;/span&gt;
&lt;div class="ref"&gt;
&lt;ul&gt;
&lt;li&gt; &lt;/li&gt;
&lt;li&gt; &lt;/li&gt;
&lt;/ul&gt;
Referances... &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-5099977356813456942?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/SFnndfeDTag" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/SFnndfeDTag/clfs-6-gecici-sistem-insa-etme.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/09/clfs-6-gecici-sistem-insa-etme.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-5361247576500610562</guid><pubDate>Sun, 30 Aug 2009 07:47:00 +0000</pubDate><atom:updated>2010-04-18T04:45:13.096-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">LFS</category><category domain="http://www.blogger.com/atom/ns#">Pardus 64</category><category domain="http://www.blogger.com/atom/ns#">CLFS</category><category domain="http://www.blogger.com/atom/ns#">Linux From Scratch</category><category domain="http://www.blogger.com/atom/ns#">Cross Linux From Scratch</category><title>CLFS-4. Son Hazırlıklar</title><description>&lt;h2&gt;Son hazırlıklar:&lt;/h2&gt;
Çoğu değişkeni birçok kez kullanıyoruz o yuzden bu değişkenlerimiz kontrol etmeliyiz. CLFS değişkenini &lt;div class="codes"&gt;
echo ${CLFS} &lt;/div&gt;
ile yazdırıp /mnt/clfs çıktısı verdiğinden emin olun. eğer istediğimiz cevap değilse şu şekilde yapalım. &lt;div class="codes"&gt;
export CLFS=/mnt/clfs &lt;/div&gt;
&lt;div class="codes"&gt;
install -dv ${CLFS}/tools &lt;/div&gt;
CLFS dizini özelliklerini aynısı ile oluşturuyoruz. *su reenter dikkat!'! Cross-Compile Araçlarını bu dizin altına kuracağız. &lt;div class="codes"&gt;
install -dv ${CLFS}/cross-tools  ln -sv ${CLFS}/cross-tools / &lt;/div&gt;
CLFS kullanıcısı eklemek root ile bazı işlemleri yapmak çok tehlikeli olabilir. Bu yüzden paket kurulumları için yetkileri kısıtlı bir kullanıcı oluşturup onunla yola devam edeceğiz. Şimdi clfs grubu açıp içine clfs kullanıcısı ekleyecez. &lt;div class="codes"&gt;
groupadd clfs useradd -s /bin/bash -g clfs -d /home/clfs clfs mkdir -pv /home/clfs chown -v clfs:clfs /home/clfs &lt;/div&gt;
-s /bin/bash : clfs kullanıcısı için varsayılan kabuk komutlarını atar. -g clfs : clfs grubuna clfs kullanıcısı ekler. clfs kullanıcısına parola için &lt;div class="codes"&gt;
passwd clfs &lt;/div&gt;
aşağıdaki dizinlere sahipliğini atıyoruz. &lt;div class="codes"&gt;
chown -v clfs ${CLFS}/tools chown -v clfs ${CLFS}/cross-tools chown -v clfs ${CLFS}/sources su - clfs &lt;/div&gt;
Artık Clfs kullanıcı ile oturum açtık. Artık Bundan sonra clfs kullanıcı ile yola devam ediyoruz. Çevresel Ayarları Düzenlemek: bash_profile ile bize gerekli olan değişkenler atanacak. &lt;div class="codes"&gt;
exec env -i HOME=${HOME} TERM=${TERM} PS1='\u:\w\$ ' /bin/bash &lt;/div&gt;
bashrc dosyasını oluşturuyoruz. &lt;div class="codes"&gt;
set +h umask 022 CLFS=/mnt/clfs LC_ALL=POSIX PATH=/cross-tools/bin:/bin:/usr/bin export CLFS LC_ALL PATH&lt;/div&gt;
umask ile oluşturduğumuz dosyaların gerekli izinlerde olması sağlanacak.  &lt;div id="ref"&gt;
&lt;h5&gt;
İlgili Kaynaklar&lt;/h5&gt;
&lt;a href="http://linux.about.com/"&gt;LFS Ana Sitesi&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-5361247576500610562?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/IRqzVXuFG3o" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/IRqzVXuFG3o/clfs-4-son-hazrlklar.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/10/clfs-4-son-hazrlklar.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-6922332793640411765</guid><pubDate>Wed, 26 Aug 2009 22:28:00 +0000</pubDate><atom:updated>2009-08-26T15:51:45.574-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Karalama Defteri</category><title>Nasıl: Düzenleme Sürümü</title><description>Bu aralar epey yoğunum istediğim şeyleri karalama defterime geçirirken bazen acele ediyorum,bazen çok ağırdan sindire sindire yazıyorum bu yüzden yazılarımda bir kopukluk oluyor bende bundan sonra yazılarıma Düzenleme Sürümü koymaya başladım.&lt;br /&gt;
&lt;li&gt;&lt;b&gt;Nedir Düzenleme Sürümü?&lt;/b&gt;&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
Yazılarım takip edildiği zaman (şu an hiç bir ziyaretçim yok ama :)) yayınlanan yazının ne kadar eksik olduğunu gösteren ya da ben en son nerede kalmışım dememi sağlayan bir düzen.&lt;br /&gt;
&lt;br /&gt;
&lt;li&gt;&lt;b&gt;İlgimi Çekti Ama Neyi,Nasıl Anlayacağım?&lt;/b&gt;&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
Düzenleme Sürümü Başlığın hemen altında yer alacak ve şu şekilde belirecek&lt;br /&gt;
Düzenleme Sürümü: 1.0.0&lt;br /&gt;
Burada genelde uygulamlar için sorun olmaması açısından belirlediğim birşey olacak.Bazı yapmayı düşündüğüm uygulamaları önce teorik olarak buraya yazıyorum ama denemeye fırsatım olmuyor.Onların şuan ne durumda olduğunu göstermeye çalışıyorum.&lt;br /&gt;
şimdi bir kaç örnek verelim.&lt;br /&gt;
&lt;span class="version"&gt;Düzenleme Sürümü: 0.5.0&lt;/span&gt;&lt;br /&gt;
Bu sürüm numarası Başlangıç sürüm numarası, bundan daha küçük numaralar olursa taslak halinde olması gereken yazıdır ama yayınlanmış bir yazıdır ve eksikliklere müdahale edip beni uyarmanız için sizden yardım beklediğim sürümdür.&lt;br /&gt;
Başlangıç sürüm numarası, yani bir yazıya başlamışım ve bitirmişim ama hiç kontrol etmemişim.&lt;br /&gt;
&lt;span class="version"&gt;Düzenleme Sürümü: 0.8.0&lt;/span&gt;&lt;br /&gt;
Genel Kapsamlı yazılarda ya da çevirilerimde bu sürüme ulaşmışsam. Yazı bütünlüğü bir şekilde sağlanmış ama uygulamalar veya kodlar ile ilgili bütünlük sağlanmamıştır.&lt;br /&gt;
&lt;span class="version"&gt;Düzenleme Sürümü: 0.9.0&lt;/span&gt;&lt;br /&gt;
Bu sürüme ulaşmışsam kod bütünlüğü sağlanmış ama uygulama pratikte genel olarak test edilmemiştir.&lt;br /&gt;
&lt;span class="version"&gt;Düzenleme Sürümü: 1.0.0&lt;/span&gt;&lt;br /&gt;
Bu sürüme ulaşmışsam kod veya uygulama sorunsuz bir şekilde denemişim, yazı birden fazla kişi tarafından okunmuş ve düzgün bir kaynak olacak şekilde yayınlanmıştır.&lt;br /&gt;
Düzenleme Sürümünün 1.0.0 dan daha büyük olduğu durumlarda gözden kaçan bir eksiklik, yazım hatası,yorumlarda belirtilen eksiklikler ve teknoloji yenilenmesi gibi durumlardan oluşan değişiklikleri belirtmektedir.&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-6922332793640411765?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/gQyLfQ7xU-g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/gQyLfQ7xU-g/nasl-duzenleme-surumu.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/08/nasl-duzenleme-surumu.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-5034876813045695428</guid><pubDate>Sat, 22 Aug 2009 22:51:00 +0000</pubDate><atom:updated>2010-04-18T04:43:12.033-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">LFS</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">Pardus 64</category><category domain="http://www.blogger.com/atom/ns#">CLFS</category><category domain="http://www.blogger.com/atom/ns#">Cross Compile</category><category domain="http://www.blogger.com/atom/ns#">Linux From Scratch</category><category domain="http://www.blogger.com/atom/ns#">Cross Linux From Scratch</category><title>CLFS-5. Çapraz Derleme Araçlarını Yapmak</title><description>&lt;span class="version"&gt;Düzenleme Sürümü 0.8.0&lt;/span&gt;&lt;br /&gt;
&lt;p&gt;Artık daha fazla geçmişe takılmadan ilerleyelim ve&lt;/p&gt;&lt;ul class="codes"&gt;&lt;li&gt;su -clfs&lt;/li&gt;
&lt;/ul&gt;diyerek başlayalım.&lt;br /&gt;
&lt;p class="warning"&gt;NOT:Bazı paketleri derlemeden önce yamaya ihtiyacımız olacak ama yamaları bir sorunun etrafından dolaşmamız gerekeceği zaman uygulayacağız. &lt;br /&gt;
Bununla birlikte derlemelerde veya yamalarda çoğu zaman uyarılarla karşılaşabilirsiniz. Bu uyarıları güvenli birşekilde yoksayabilirsiniz. &lt;br /&gt;
Çünkü bazı paketler hala eski C standartlarını kullanıyor buda bazı uyarılara sebep olsada istediğimiz sorunsuz uygulanıyor.&lt;br /&gt;
Son olarak her paket yüklendikten sonra kaynak dizini silinirse daha sonraki tekrar yüklemelerden doğacak yanlış yapılandırmaları engellemiş olursunuz.&lt;br /&gt;
&lt;/p&gt;&lt;h5&gt;CFLAGS Ayarları:&lt;/h5&gt;&lt;ul class="codes"&gt;&lt;li class="liNote"&gt;CFLAGS ve  CXXFLAGS cross-tools inşası sırasında ayarlı olmamalı.&lt;/li&gt;
&lt;li&gt;unset CFLAGS&lt;/li&gt;
&lt;li&gt;unset CXXFLAGS&lt;/li&gt;
&lt;li&gt;echo unset CFLAGS &gt;&gt; ~/.bashrc&lt;/li&gt;
&lt;li&gt;echo unset CXXFLAGS &gt;&gt; ~/.bashrc&lt;/li&gt;
&lt;/ul&gt;&lt;h5&gt;Değişkenleri Yapılandırma:&lt;/h5&gt;&lt;ul class="codes"&gt;&lt;li class="liNote"&gt;Çapraz Derleme araçlarının inşası sırasında lazım olacak ana ve hedef makineleri belirtecek değişkenleri belirtelim: &lt;/li&gt;
&lt;li&gt;export CLFS_HOST = \&lt;/li&gt;
&lt;li&gt;"$(echo $MACHTYPE | sed "s/$(echo $MACHTYPE |cut -d- -f2)/cross/")"&lt;/li&gt;
&lt;li&gt;export CLFS_TARGET="x86_64-unknown-linux-gnu"&lt;/li&gt;
&lt;li&gt;export CLFS_TARGET32="i686-pc-linux-gnu"&lt;/li&gt;
&lt;/ul&gt;&lt;h5&gt;Bayraklar:&lt;/h5&gt;derleyici ve bağlayıcı için iki bayrağa ihtiyacımız olacak.&lt;br /&gt;
&lt;ul class="codes"&gt;&lt;li&gt;export BUILD32 = "-m32"&lt;/li&gt;
&lt;li&gt;export BUILD64 = "-m64"&lt;/li&gt;
&lt;li class="liNote"&gt;Daha sonra tekrar yükleme olursa diye bunları bashrc içine ekliyoruz.&lt;/li&gt;
&lt;li&gt;echo export CLFS_HOST=\""${CLFS_HOST}\"" &gt;&gt; ~/.bashrc&lt;/li&gt;
&lt;li&gt;echo export CLFS_TARGET=\""${CLFS_TARGET}\"" &gt;&gt; ~/.bashrc&lt;/li&gt;
&lt;li&gt;echo export CLFS_TARGET32=\""${CLFS_TARGET32}\"" &gt;&gt; ~/.bashrc&lt;/li&gt;
&lt;li&gt;echo export BUILD32=\""${BUILD32}\"" &gt;&gt; ~/.bashrc&lt;/li&gt;
&lt;li&gt;echo export BUILD64=\""${BUILD64}\"" &gt;&gt; ~/.bashrc&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;Linux-Headers-2.5.24.7:&lt;/h4&gt;&lt;span&gt;Tüm mimariler için genelleşmiş başlık dosyalarını içerir.&lt;/span&gt;&lt;br /&gt;
&lt;ul class="codes"&gt;&lt;li&gt;install -dv /tools/include&lt;/li&gt;
&lt;li&gt;make mrproper&lt;/li&gt;
&lt;li&gt;make ARCH=x86_64 headers_check&lt;/li&gt;
&lt;li&gt;make ARCH=x86_64 INSTALL_HDR_PATH = dest headers_install&lt;/li&gt;
&lt;li&gt;cp -rv dest/include* /tools/include&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;File-4.23&lt;/h4&gt;&lt;span&gt;Verilen dosyanın tipini düzenlemek için bir araç içerir.&lt;/span&gt;&lt;br /&gt;
&lt;ul class="codes"&gt;&lt;li&gt;./configure -- prefix=/cross-tools&lt;/li&gt;
&lt;li&gt;make&lt;/li&gt;
&lt;li&gt;make install&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;Cross Binutils-2.18&lt;/h4&gt;&lt;span&gt;bir bağlayıcı,bir assemnler ve nesnelerle ilgili diğer araçları içerir.&lt;br /&gt;
GCC ve Glibc den önce en önemli araç budur.Dikkat!&lt;/span&gt;&lt;br /&gt;
&lt;ul class="codes"&gt;&lt;li&gt;patch -Np1 -i ../binutils-2.18-posix-1.patch&lt;/li&gt;
&lt;li&gt;patch -Np1 -i ../binutils-2.18-branch_update-3.patch&lt;/li&gt;
&lt;li&gt;patch -Np1 -i ../binutils-2.18-genscripts_multilib-1.patch&lt;/li&gt;
&lt;li&gt;mkdir -v ../binutils-build&lt;/li&gt;
&lt;li&gt;cd../binutils-build&lt;/li&gt;
&lt;li class="liNote"&gt;Derlemeye hazırlık:&lt;/li&gt;
&lt;li&gt;AR=ar AS=as ../binutils-2.18/configure --prefix=/cross-tools \&lt;/li&gt;
&lt;li&gt;--host=${CLFS_HOST} --target=${CLFS_TARGET} --with-lib-path=/tools/lib \&lt;/li&gt;
&lt;li&gt;--disable-nls --enable-shared --enable-64-bit-bfd&lt;/li&gt;
&lt;li class="liNote empBold"&gt;Yazdıklarımız Ne Anlama Geliyor:&lt;/li&gt;
&lt;li class="liNote empItalic"&gt;--prefix=/cross-tools :&lt;/li&gt;
&lt;li class="liNote"&gt; cross-tools dizininde yükleme paketleri için hazırlar&lt;/li&gt;
&lt;li class="liNote empItalic"&gt;--host=${CLFS_HOST} &lt;/li&gt;
&lt;li class="liNote"&gt; --target ile kullanıldığında CLFS_HOST üzerinde çalışan CLFS_TARGET için çapraz mimari çalıştırılabilir dosyaları oluşturur.&lt;/li&gt;
&lt;li class="liNote empItalic"&gt;--target=${CLFS_TARGET} :&lt;/li&gt;
&lt;li class="liNote empItalic"&gt;--with-lib-path=/tools/lib  :&lt;/li&gt;
&lt;li class="liNote"&gt;bağlayıcı için kütüphane dizinini /tools/lib ayarlar.&lt;/li&gt;
&lt;li class="liNote empItalic"&gt;--disable-nls : &lt;/li&gt;
&lt;li class="liNote"&gt; çarpraz derlemeiçin işe yaramayacak genelleştirmeyi pasifleştirir.&lt;/li&gt;
&lt;li class="liNote empItalic"&gt;--enable-shared&lt;/li&gt;
&lt;li class="liNote"&gt;Paylaşılan kütüphanelerin oluşturulmasını sağlar.&lt;/li&gt;
&lt;li class="liNote empItalic"&gt;--enable-64-bit-bfd&lt;/li&gt;
&lt;li class="liNote"&gt;64 Bit Desteğini Ekler.&lt;/li&gt;
&lt;li class="liNote empBold"&gt;Şimdi Derleyip sonrada yükleyelim.&lt;/li&gt;
&lt;li&gt;make configure-host&lt;/li&gt;
&lt;li&gt;make&lt;/li&gt;
&lt;li&gt;configure-host&lt;/li&gt;
&lt;li class="liNote"&gt;Bu kontrol Binutils derlemek için kullanılabilir önemli araçları  host a göre emin olur.&lt;/li&gt;
&lt;li&gt;make install&lt;/li&gt;
&lt;li&gt;cp -v ../binutils-2.18/include/libiberty.h /tools/include&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;Cross GCC-4.2.4-Static&lt;/h4&gt;&lt;span&gt;GNU C ve C++ derleyicilerini içerir.&lt;/span&gt;&lt;br /&gt;
&lt;ul class="codes"&gt;&lt;li&gt;patch -Np1 -i ../gcc-4.2.4-specs-1.patch&lt;/li&gt;
&lt;li&gt;patch -Np1 -i ../gcc-4.2.4-posix-1.patch&lt;/li&gt;
&lt;li class="liNote"&gt;Çapraz Derleme sırasında libgcc_s.so dosyasını /usr dizininde aramamak için:&lt;/li&gt;
&lt;li&gt;patch -Np1 -i ../gcc-4.2.4-cross_search_paths-1.patch&lt;/li&gt;
&lt;li class="liNote"&gt;kütüphanedeki Başlangıç dosyayı değiştirme&lt;/li&gt;
&lt;li&gt;echo "&lt;/li&gt;
&lt;li&gt;#undef STARTFILE_PREFIX_SPEC&lt;/li&gt;
&lt;li&gt;#define STARTFILE_PREFIX_SPEC \" /tools/lib/\"" &gt;&gt; gcc/config/linux.h&lt;/li&gt;
&lt;li class="liNote"&gt;GCC nin C önişlemcisini sadece /tools kullanması için düzenleyeceğiz:&lt;/li&gt;
&lt;li&gt;cp -v gcc/Makefile.in{,.orig}&lt;/li&gt;
&lt;li&gt;sed -e "s@\(^CROSS_SYSTEM_HEADER_DIR =\).*@\1 /tools/include@g" \&lt;/li&gt;
&lt;li&gt;gcc/Makefile.in.orig &gt; gcc/Makefile.in&lt;/li&gt;
&lt;li class="liNote"&gt;GCC belgeleri Belirlenen inşa dizinindeki kaynak dizinin dışında GCC yi inşa etmeyi önerir.&lt;/li&gt;
&lt;li&gt;mkdir -v ../gcc-build&lt;/li&gt;
&lt;li&gt;cd ../gcc-build&lt;/li&gt;
&lt;li class="liNote"&gt;GCC derlemek için hazırla&lt;/li&gt;
&lt;li&gt;../gcc-4.2.4/configure --prefix=/cross-tools \&lt;/li&gt;
&lt;li&gt;--host=${CLFS_HOST} --target=${CLFS_TARGET} \&lt;/li&gt;
&lt;li&gt;--with-local-prefix=/tools --disable-nls --disable-shared \&lt;/li&gt;
&lt;li&gt;--disable-threads --enable-languages=c&lt;/li&gt;
&lt;li class="liNote"&gt;Yapılandırma ayarlarının anlamı:&lt;/li&gt;
&lt;li&gt;--with-local-prefix=/tools&lt;/li&gt;
&lt;li class="liNote"&gt;Bu anahtarın amacı GCC'nin arama yolundan "/usr/local" dizini kaldırmaktır. &lt;/li&gt;
&lt;li class="liNote"&gt;Bu kesinlikle zorunlu değildir ama ana sistemin etkisini en aza indirmeye yardımcı olur.&lt;/li&gt;
&lt;li&gt;--disable-shared&lt;/li&gt;
&lt;li class="liNote"&gt;paylaşılan kütüphanelerin oluşumunu yoksayar.&lt;/li&gt;
&lt;li&gt;--disable-threads&lt;/li&gt;
&lt;li class="liNote"&gt;Bu, bu mimari için henüz oluşturulmayan, multi-thread içeren dosyaları aramasını engeller.&lt;/li&gt;
&lt;li class="liNote"&gt;GCC, Glibc Başlıkları oluşturduktan sonra multi-thread bilgisini bulabilecek.&lt;/li&gt;
&lt;li&gt;--enable-languages=c&lt;/li&gt;
&lt;li class="liNote"&gt;C Derleyici olmasını garantileyen bir seçenektir.&lt;/li&gt;
&lt;li class="liNote"&gt;Paketi derleyerek devam edelim:&lt;/li&gt;
&lt;li&gt;make all-gcc&lt;/li&gt;
&lt;li&gt;make install-gcc&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;Glibc-2.7 32 Bit&lt;/h4&gt;&lt;span&gt;Glibc temel C kütüphanesini içerir.Bu kütüphane rutin bellek işlemleri,dizin arama, dosya açma-kapama, okuma-yazma,string elde etme,aritmetik... işlemleri sağlar.&lt;/span&gt;&lt;br /&gt;
&lt;ul class="codes"&gt;&lt;li&gt;patch -Np1 -i ../glibc-2.7-libgcc_eh-1.patch&lt;/li&gt;
&lt;li&gt;patch -Np -i ../glibc-2.7-localedef_segfault-1.patch&lt;/li&gt;
&lt;li&gt;mkdir -v ../glibc-build&lt;/li&gt;
&lt;li&gt;cd ../glibc-build&lt;/li&gt;
&lt;li&gt;echo "libc_cv_forced_unwind=yes" &gt; config.cache&lt;/li&gt;
&lt;li&gt;echo "liibc_cv_c_cleanup=yes" &gt;&gt; config.cache&lt;/li&gt;
&lt;li&gt;BUILD_CC="gcc" CC="${CLFS_TARGET}-gcc ${BUILD32}" \&lt;/li&gt;
&lt;li&gt;AR="${CLFS_TARGET}-ar" RANLIB="${CLFS_TARGET}-ranlib" \&lt;/li&gt;
&lt;li&gt;CFLAGS="-march=$(cut -d- -f1 &lt;&lt;&lt; $CLFS_TARGET32) -mtune=generic -g -O2" \&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li&gt;../glibc-2.7/configure --prefix=/tools \&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li&gt;--host=${CLFS_TARGET32} --build=${CLFS_HOST} \&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li&gt;--disable-profile --enable-add-ons \&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li&gt;--with-tls --enable-kernel=2.6.0 --with-__thread \&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li&gt;--with-binutils=/cross-tools/bin --with-headers=/tools/include \&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li&gt;--cache-file=config.cache&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li class="liNote empBold"&gt;Bunlar Ne Anlama Geliyor:&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li class="liNote empItalic"&gt;BUILD_CC="gcc"&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li class="liNote"&gt;&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li class="liNote empItalic"&gt;CC="${CLFS_TARGET}-gcc ${BUILD32}"&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li class="liNote empItalic"&gt;AR="${CLFS_TARGET}-ar"&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li class="liNote empItalic"&gt;RANLIB="${CLFS_TARGET}-ranlib"&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li class="liNote empItalic"&gt;CFLAGS="-march=$(cut -d- -f1 &lt;&lt;&lt; $CLFS_TARGET32) -mtune=generic -g -O2"&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li class="liNote empItalic"&gt;--disable-profile&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li class="liNote empItalic"&gt;--enable-profile&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li class="liNote empItalic"&gt;enable-add-ons&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li class="liNote empItalic"&gt;--with-tls&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li class="liNote empItalic"&gt;--enable-kernel=2.6.0&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li class="liNote empItalic"&gt;--with-__thread&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li class="liNote empItalic"&gt;--with-binutils=/cross-tools/bin&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li class="warning"&gt;Bu adımlar sırasında bazı uyarılar ile karşılaşabilirsiniz.&lt;a href="#msgfmt"&gt;Bakınız&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li class="liNote"&gt;Daha sonra derleme ve yüklemeye devam ediyoruz.&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li class="codes"&gt;make&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;li class="codes"&gt;make install&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/ul&gt;&lt;h4&gt;Glibc-2.7 64 Bit&lt;/h4&gt;&lt;span&gt;Glibc temel C kütüphanesini içerir.Bu kütüphane rutin bellek işlemleri,dizin arama, dosya açma-kapama, okuma-yazma,string elde etme,aritmetik... işlemleri sağlar.&lt;/span&gt; &lt;ul class="codes"&gt;&lt;li class="liNote"&gt;Glibc için bu kitapta önerilen derleme dışındaki derleme sistemin kararlılığını bozabilir.&lt;/li&gt;
&lt;li class="liNote"&gt;"libgcc_eh" için bağlamayı devre dışı bırakır:&lt;/li&gt;
&lt;li&gt;patch -Np1 -i ../glibc-2.7-libgcc_eh-1.patch&lt;/li&gt;
&lt;li class="liNote"&gt;&lt;b&gt;segfault&lt;/b&gt; için &lt;b&gt;localdef&lt;/b&gt;  düzenler.&lt;/li&gt;
&lt;li&gt;patch -Np1 -i ../glibc-2.7-localedef_segfault-1.patch&lt;/li&gt;
&lt;li&gt;mkdir -v ../glibc-build&lt;/li&gt;
&lt;li&gt;cd ../glibc-build&lt;/li&gt;
&lt;li class="liNote"&gt;Glibc için NPTL desteğini &lt;b&gt;config.cache&lt;/b&gt; e ekler:  &lt;/li&gt;
&lt;li&gt;echo "libc_cv_forced_unwind=yes" &gt; config.cache&lt;/li&gt;
&lt;li&gt;echo "libc_cv_c_cleanup=yes" &gt;&gt; config.cache&lt;/li&gt;
&lt;li class="liNote"&gt;&lt;b&gt;/tools/lib64 içine Glibc için 64-bit kütüphanelerini yüklemesini söyler.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;echo "slibdir=/tools/lib64" &gt;&gt; configparms&lt;/li&gt;
&lt;li class="liNote"&gt;Derleme Hazırlığı&lt;/li&gt;
&lt;li&gt;BUILD_CC="gcc" CC="${CLFS_TARGET}-gcc ${BUILD64}" \&lt;/li&gt;
&lt;li&gt;AR="${CLFS_TARGET}-ar" RANLIB="${CLFS_TARGET}-ranlib" \&lt;/li&gt;
&lt;li&gt;../glibc-2.7/configure --prefix=/tools \&lt;/li&gt;
&lt;li&gt;--host=${CLFS_TARGET} --build=${CLFS_HOST} --libdir=/tools/lib64 \&lt;/li&gt;
&lt;li&gt;--disable-profile --enable-add-ons \&lt;/li&gt;
&lt;li&gt;--with-tls --enable-kernel=2.6.0 --with-__thread \&lt;/li&gt;
&lt;li&gt;--with-binutils=/cross-tools/bin --with-headers=/tools/include \&lt;/li&gt;
&lt;li&gt;--cache-file=config.cache&lt;/li&gt;
&lt;li class="liNote"&gt;Bunlar Ne Anlama Geliyor:&lt;/li&gt;
&lt;li class="liNote empItalic"&gt;CC="${CLFS_TARGET}-gcc ${BUILD64}"&lt;/li&gt;
&lt;li class="liNote"&gt;Hedef mimaride GCC nin 64bit bayraklarını kullanmasını sağlar.&lt;/li&gt;
&lt;li class="liNote empItalic"&gt;--libdir=/tools/lib64&lt;/li&gt;
&lt;li class="liNote"&gt;Glibc yi  "/tools/lib" yerine "/tools/lib64" içine koyar.&lt;/li&gt;
&lt;li class="warning"&gt;&lt;a name="msgfmt"&gt;&lt;/a&gt; Bu aşamada Aşağıdaki uyarı görülebilir:&lt;/li&gt;
&lt;li&gt;configure: WARNING:&lt;/li&gt;
&lt;li&gt;*** These auxiliary programs are missing or&lt;/li&gt;
&lt;li&gt;*** incompatible versions: msgfmt&lt;/li&gt;
&lt;li&gt;*** some features will be disabled.&lt;/li&gt;
&lt;li&gt;*** Check the INSTALL file for required versions.&lt;/li&gt;
&lt;li class="warning"&gt;GetText paketinin bir parçası olan &lt;b&gt;msgfmt&lt;/b&gt; eksik ve uyumsuz mgmft programı genellikle zararsızdır. &lt;/li&gt;
&lt;li class="liNote empBold"&gt;Paketi derleyip sonrada yükleyelim&lt;/li&gt;
&lt;li&gt;make&lt;/li&gt;
&lt;li&gt;make install&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;Cross GCC-4.2.4-Final&lt;/h4&gt;&lt;span&gt;C ve C++ derleyicilerini içeren GNU derleyicilerini içerir.&lt;/span&gt; &lt;ul class="codes"&gt;&lt;li class="liNote"&gt; Çekirdek derleme hata düzeltmelerini sağlar:&lt;/li&gt;
&lt;li&gt;patch -Np1 -i ../gcc-4.2.4-PR31490-1.patch&lt;/li&gt;
&lt;li class="liNote"&gt;GCC'nin inşa ortamımızı kullandığından emin olmak için temel ayar çiftini yapar:&lt;/li&gt;
&lt;li&gt;patch -Np1 -i ../gcc-4.2.4-specs-1.patch&lt;/li&gt;
&lt;li class="liNote"&gt;uygun sözdizimini kullanmak için bu yama ile emin oluruz:&lt;/li&gt;
&lt;li&gt;patch -Np1 -i ../gcc-4.2.4-posix-1.patch&lt;/li&gt;
&lt;li class="liNote"&gt;Çapraz derleme yapıldığı zaman gcc nin libgcc_s.so için /usr dizinini armamasını sağlar:&lt;/li&gt;
&lt;li&gt;patch -Np1 -i ../gcc-4.2.4-cross_search_paths-1.patch&lt;/li&gt;
&lt;li class="liNote"&gt;Doğru kütüphane yolunu vermek için Başlangıç Dosya özelliğini değiştiriyoruz.(StartFileSpec)&lt;/li&gt;
&lt;li&gt;echo "&lt;/li&gt;
&lt;li&gt;#undef STARTFILE_PREFIX_SPEC&lt;/li&gt;
&lt;li&gt;#define STARTFILE_PREFIX_SPEC \"/tools/lib/\"" &gt;&gt; gcc/config/linux.h&lt;/li&gt;
&lt;li class="liNote"&gt;Şimdi GCC nin önişlemcisinin varsayılan arama yolunu sadece "/tools" kullanması için değiştirelim. &lt;/li&gt;
&lt;li&gt;cp -v gcc/Makefile.in{,.orig}&lt;/li&gt;
&lt;li&gt;sed -e "s@\(^CROSS_SYSTEM_HEADER_DIR =\).*@\1 /tools/include@g" \&lt;/li&gt;
&lt;li&gt;gcc/Makefile.in.orig &gt; gcc/Makefile.in&lt;/li&gt;
&lt;li class="liNote"&gt;Son olarak "configure" içinde -B yi devre dışı bırakarak, -B gibi "Multilib" özelliği tarafından genişletilmemiş olan yanlış mimari kütüphanelerini almayız:&lt;/li&gt;
&lt;li&gt;cp -v configure{,.orig}&lt;/li&gt;
&lt;li&gt;sed -e '/FLAGS_FOR_TARGET.*\/lib\//s@-B[^ ]*/lib/@@g' configure.orig &gt; \&lt;/li&gt;
&lt;li&gt;configure&lt;/li&gt;
&lt;li class="liNote"&gt;GCC belgelerinde tavsiye edilen; inşa edilecek dizinin dışında bir dizinde inşanın yapılmasıdır:&lt;/li&gt;
&lt;li&gt;mkdir -v ../gcc-build&lt;/li&gt;
&lt;li&gt;cd ../gcc-build&lt;/li&gt;
&lt;li class="liNote"&gt;Derleme için GCC yi hazırlayalım:&lt;/li&gt;
&lt;li&gt;../gcc-4.2.4/configure --prefix=/cross-tools \&lt;/li&gt;
&lt;li&gt;--target=${CLFS_TARGET} --host=${CLFS_HOST} \&lt;/li&gt;
&lt;li&gt;--with-local-prefix=/tools --disable-nls --enable-shared \&lt;/li&gt;
&lt;li&gt;--enable-languages=c,c++ --enable-__cxa_atexit \&lt;/li&gt;
&lt;li&gt;--enable-c99 --enable-long-long --enable-threads=posix&lt;/li&gt;
&lt;li class="liNote empBold"&gt;Bunlar Ne Anlama Geliyor:&lt;/li&gt;
&lt;li class="liNote"&gt;--enable-languages=c,c++ &lt;/li&gt;
&lt;li class="liNote"&gt;Bu seçenek sadece c ve c++ derlemelerini yapmasını sağlar.&lt;/li&gt;
&lt;li class="liNote"&gt;--enable-__cxa_atexit&lt;/li&gt;
&lt;li class="liNote" title="This option allows use of __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global
objects and is essential for fully standards-compliant handling of destructors. It also affects the C++ ABI and
therefore results in C++ shared libraries and C++ programs that are interoperable with other Linux distributions"&gt;Yıkıcı fonksiyon olarak çağrılmayı sağlayan etkin kılar!!!&lt;/li&gt;
&lt;li class="liNote"&gt;--enable-c99&lt;/li&gt;
&lt;li class="liNote"&gt;C programları için C99 etkinleştirir.&lt;/li&gt;
&lt;li class="liNote"&gt;--enable-long-long&lt;/li&gt;
&lt;li class="liNote"&gt;Derleyicide long long etkinleştirilir.&lt;/li&gt;
&lt;li class="liNote"&gt;--enable-threads=posix&lt;/li&gt;
&lt;li class="liNote"&gt;Multi-thread için hata yakalamasını etkinleştirir.&lt;/li&gt;
&lt;li class="liNote empBold"&gt;Derleme ve yükleme ile devam edelim:&lt;/li&gt;
&lt;li&gt; make AS_FOR_TARGET="${CLFS_TARGET}-as" \&lt;/li&gt;
&lt;li&gt; LD_FOR_TARGET="${CLFS_TARGET}-ld"&lt;/li&gt;
&lt;li&gt; make install&lt;/li&gt;
&lt;/ul&gt;&lt;ul class="ref"&gt;&lt;li class="liNote"&gt;Başvurulan Kaynaklar:&lt;/li&gt;
&lt;li&gt;CLFS Kitabı(Part III. Make the Cross-Compile Tools)&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-5034876813045695428?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/T7JYFc3ZenU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/T7JYFc3ZenU/4-capraz-derleme-insas-clfs.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>1</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/08/4-capraz-derleme-insas-clfs.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-6736314585449663463</guid><pubDate>Wed, 05 Aug 2009 20:59:00 +0000</pubDate><atom:updated>2010-04-18T04:42:17.990-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">LFS</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">Pardus 64</category><category domain="http://www.blogger.com/atom/ns#">CLFS</category><category domain="http://www.blogger.com/atom/ns#">Cross Linux From Scratch</category><title>CLFS-3. Paketler ve Yamalar</title><description>Şimdi bir linux inşa edilmesi için gereken paketlerin listesini verip bunları nasıl  kuracağımızdan bahsedicez. Kitapta belirli versiyonların kurulumunu yapmış ve daha yeni sürümlerin kurulumunu yaparsanız karşılabileceğiniz hatalara hazırlıklı olun diyor;) Paketleri yayınlayacağız ama bulamazsanız kitabın yeni sürümüne, olmadı &lt;a href="http://cross-lfs.org/files/packages/1.1.0/"&gt;bu siteye&lt;/a&gt; o da olmadı. en son Google a başvurabilisiniz. :) İlk adımımızı paketlerimizi ve yamalarımızı koymamız için bağladığımız CLFS diskine bir dizin oluşturalım: &lt;div class="codes"&gt;
mkdir -v  ${CLFS}/sources chmod -v a+wt ${CLFS}/sources  &lt;/div&gt;
ile yazılabilir ve yapışkan özelliğini verdik. &lt;span style="font-style: italic;"&gt;Yapışkanlık&lt;/span&gt;  birden fazla kullanıcı bu dizine yazabilir ama yazdıkları dosyaları silebilirler veya değiştirebilirler.(Yani Herkes dosyasına yapışık) &lt;p&gt;&lt;a href="http://cross-lfs.org/files/packages/1.1.0/"&gt; Gerekli Paketler Burada&lt;/a&gt;&lt;/p&gt; Paketlerin Açıklamaları: 
&lt;ul&gt;
&lt;li&gt;Autoconf :  Configure.in dosyasını configure dosyasına çevirir. &lt;/li&gt;
&lt;li&gt; Automake : Makefile.in dosyasını kullanarak yükleme bilgilerini bir araya getirir. &lt;/li&gt;&lt;li&gt; Bash: Kabuk Betik Dili &lt;/li&gt;&lt;li&gt; Bash Documentation &lt;/li&gt;&lt;li&gt; BinUtils &lt;/li&gt;&lt;li&gt; Bison : context free gramere göre bir parçalayıcı &lt;/li&gt;&lt;li&gt; Bzip2 (1.0.4) : blok sıralamalı dosya sıkıştırıcı &lt;/li&gt;&lt;li&gt; CLFS-Bootscripts (1.1.0)  : &lt;/li&gt;&lt;li&gt; Coreutils (6.9) : fileutils,shellutils,textutils paketlerini kapsayan paket &lt;/li&gt;&lt;li&gt; DejaGNU (1.4.4) : diğer programları test etmeye yarayan çatı. &lt;/li&gt;&lt;li&gt; Diffutils (2.8.7) : dosyalar arası farkı karşılaştırmaya yarayan araçları barındırır. &lt;/li&gt;&lt;li&gt; E2fsprogs (1.40.4)  ext2 dosya sistemi araçları ve kütüphanesini barındırır. &lt;/li&gt;&lt;li&gt; Expect (5.43.0) &lt;/li&gt;&lt;li&gt; File (4.23) Dosya tiplerini düzenler. &lt;/li&gt;&lt;li&gt; Findutils (4.2.32)  Arama araçlarını barındırır. &lt;/li&gt;&lt;li&gt; Flex (2.5.35) Scanner diller için &lt;/li&gt;&lt;li&gt; Gawk (3.1.6) tarama ve işleme dili &lt;/li&gt;&lt;li&gt; GCC (4.2.4) GNU C Derleyicisi &lt;/li&gt;&lt;li&gt; Gettext (0.17) çoklu dil mesajı sağlar. &lt;/li&gt;&lt;li&gt; Glibc (2.7) genel standart kütüphaneleri içerir. &lt;/li&gt;&lt;li&gt; Grep (2.5.3)  arama aracı &lt;/li&gt;&lt;li&gt; Groff (1.19.2) belge biçimlendirme sistemi &lt;/li&gt;&lt;li&gt; Gzip (1.3.12) GNU orjinal sıkıştırma programı &lt;/li&gt;&lt;li&gt; Iana-Etc (2.20) ağ servisleri ve protokollerini sağlar. &lt;/li&gt;&lt;li&gt; Inetutils (1.5) yaygın ağ servislerini içerir.(ftp,telnet,rlogin) &lt;/li&gt;&lt;li&gt; IPRoute2 (2.6.23) ağ servislerini içerir. &lt;/li&gt;&lt;li&gt; Kbd (1.13) Sistem Konsolunun davarnışını yöneten araçları barındırır. &lt;/li&gt;&lt;li&gt; Less (418) - &lt;/li&gt;&lt;li&gt; Libtool (1.5.26) Kabuk komutlarını otomailermesini sağlayan kütüphane &lt;/li&gt;&lt;li&gt; Linux (2.6.24.7) Linux Çekirdeği &lt;/li&gt;&lt;li&gt; M4 (1.4.10) GNU makro dili &lt;/li&gt;&lt;li&gt; Make (3.81) kurulacak programı otomatik düzenleme &lt;/li&gt;&lt;li&gt; Man (1.6e) programların belgelerinin çağrılmasını sağlar. &lt;/li&gt;&lt;li&gt; Man-pages (3.01) programların belgelerini barındırır. &lt;/li&gt;&lt;li&gt; Mktemp (1.5)  geçici dosyalar oluşturmayı sağlar. &lt;/li&gt;&lt;li&gt; Module-Init-Tools (3.4)  Çekirdek modüllerini yüklenmesi,eklenmesi,silinmesini sağlar. &lt;/li&gt;&lt;li&gt; Ncurses (5.6) Ncurses metin tabanlı terminaller için pencereler oluşturma ve kullanmaya,  ekranı farklı renklerde boyamaya ve fonksiyon tuşlarını kullanmaya imkan veren  bir kütüphanedir &lt;/li&gt;&lt;li&gt; Patch (2.5.9)  orjinal dosyaya patch farkını uygular. &lt;/li&gt;&lt;li&gt; Perl (5.8.8)  Raporlama dili &lt;/li&gt;&lt;li&gt; Procps (3.2.7) sistem bilgilerini içeren araçlar barındırır.(ps, uptime, free...) &lt;/li&gt;&lt;li&gt; Psmisc (22.6) süreçler ile ilgili araçları barındırır. &lt;/li&gt;&lt;li&gt; Readline (5.2) komut satırı düzenlemeyi sağlar. &lt;/li&gt;&lt;li&gt; Sed (4.1.5)  temel metin editörü &lt;/li&gt;&lt;li&gt; Shadow (4.1.2) şifreli parola dosyası &lt;/li&gt;&lt;li&gt; Sysklogd (1.5) Sistem günlüklemesi için. &lt;/li&gt;&lt;li&gt; Sysvinit (2.86) Sistemin kontrolü için gerekli süreçleri içerir. &lt;/li&gt;&lt;li&gt; Tar (1.20) sıkıştırılmış verileri açan ve verileri sıkıştıran araç. &lt;/li&gt;&lt;li&gt; Tcl (8.4.16) bir betik dili. &lt;/li&gt;&lt;li&gt; Texinfo (4.11) &lt;/li&gt;&lt;li&gt; Tree (1.5.1.1) &lt;/li&gt;&lt;li&gt; Udev (124) &lt;/li&gt;&lt;li&gt; Util-linux-ng (2.14) &lt;/li&gt;&lt;li&gt; Vim (7.1)   :metin editörü &lt;/li&gt;&lt;li&gt; Vim (7.1) language files (optional) : &lt;/li&gt;&lt;li&gt; Zlib (1.2.3) x86_64 &lt;p style="font-weight: bold;"&gt;Multilib için ek paket&lt;/p&gt; &lt;/li&gt;&lt;li&gt;  GRUB (0.97) - 950 KB: &lt;/li&gt;
&lt;/ul&gt;
&lt;a style="font-weight: bold; font-style: italic;" href="http://patches.cross-lfs.org/1.1.0/"&gt; Gerekli Yamalar Burada &lt;/a&gt; &lt;p style="font-weight: bold;"&gt;Ek Yamalar&lt;/p&gt; &lt;ul&gt;&lt;li&gt; Binutils Multilib Patch : &lt;/li&gt;&lt;li&gt; GCC Specs Patch : &lt;/li&gt;&lt;li&gt; Grub 256-Byte Inode Patch &lt;/li&gt;&lt;li&gt; Grub Various Fixes - 136 KB: &lt;/li&gt;&lt;li&gt; Grub Use MMAP Patch - 4 KB: &lt;/li&gt;&lt;li&gt; IPRoute2 Lib64 Patch - 4 KB: &lt;/li&gt;&lt;li&gt; Perl Configure Multilib Patch - 1.4 KB: &lt;/li&gt;&lt;li&gt; Udev Lib64 Patch - 12 KB:&lt;/ul&gt; 
&lt;div class="ref"&gt;
&lt;h5&gt;
İlgili Kaynaklar&lt;/h5&gt;
&lt;a href="http://linux.about.com/"&gt;LFS Ana Sitesi&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-6736314585449663463?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/uilsxXR0EOk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/uilsxXR0EOk/sfrdan-linux-yapmak-linux-from-scratch.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/08/sfrdan-linux-yapmak-linux-from-scratch.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-1175434150327608907</guid><pubDate>Sat, 01 Aug 2009 20:02:00 +0000</pubDate><atom:updated>2010-04-18T04:41:53.337-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">LFS</category><category domain="http://www.blogger.com/atom/ns#">Pardus 64</category><category domain="http://www.blogger.com/atom/ns#">fdisk</category><category domain="http://www.blogger.com/atom/ns#">CLFS</category><category domain="http://www.blogger.com/atom/ns#">Disk Bölümleme</category><category domain="http://www.blogger.com/atom/ns#">Cross Linux From Scratch</category><title>CLFS-2. Yeni Bölüm Oluşturma</title><description>&lt;span style="font-family:verdana;"&gt;Bu yazımızda yavaş yavaş CLFS sistemimiz için alt yapı oluşturacağız. İlk olarak yeni bir bölüm oluşturup biçimlendirip bölümü bağlama (mount)  işlemlerini yapıcaz.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;Yeni Bölüm oluşturma: &lt;/span&gt;  &lt;p&gt;İlk olarak biçimlendireceğiniz boş bölümü belirliyoruz. Bu bölümü /mnt/clfs olarak bağlıyacaz.Minimum sistem gereksinimi olarak 2.5 GB ayırdıkmı bize bi hayli yeterli olacak. Eğer ana linuxum olacak diyorsanız ek yazılımlarınız yüklenmesi için 2-10 GB ekleyebilirsiniz. Bununla birlikte derleme sırasında bazı süreçlerin ihtiyacını RAM karşılayamayabilir bunun içinde küçük bir Swap alanı oluşturulabilir.Diski bölümlemeye cfdisk , fdisk gibi programlamarla yapabiliriz bunlar hakkında yeterli bilginiz yoksa &lt;a style="font-family: verdana;" href="http://www.belgeler.org/howto/partition-howto-fdisk.html#partition-howto-mixed"&gt;belgeler.org ta ki şu yazı&lt;/a&gt; ya da fdisk(8), cfdisk(8) man dosyalarına başvurabilirsiniz. &lt;div class="codes"&gt;mke2fs /dev/[aygitAdi] &lt;/div&gt;mke2fs ile ext2 dosya sistemi oluşturup( diğer dosya sistemlerini "mkfs." ile başlayan komutta bulabilirsiniz.)mkswap ile takas alanı ayarlıyor daha sonra da &lt;span style="font-family:verdana;"&gt;Yeni bölümü  bağlıyoruz.&lt;/span&gt; &lt;div style="font-family: verdana;" class="codes"&gt;export CLFS=/mnt/clfs mkdir -pv ${CLFS} mount -v /dev/[yenibolum] ${CLFS} &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-1175434150327608907?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/XYARavpdhgs" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/XYARavpdhgs/sfrdan-linux-yapmak-linux-from-scratch_01.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/08/sfrdan-linux-yapmak-linux-from-scratch_01.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-1599799898134692345</guid><pubDate>Sat, 01 Aug 2009 19:00:00 +0000</pubDate><atom:updated>2010-04-18T04:41:28.652-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">LFS</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">Pardus 64</category><category domain="http://www.blogger.com/atom/ns#">CLFS</category><category domain="http://www.blogger.com/atom/ns#">Linux From Scratch</category><title>CLFS-1. -Giriş - Sıfırdan Linux Yapımı(Linux From Scratch)</title><description>&lt;div&gt;&lt;/div&gt;&lt;a style="font-weight: bold;" href="http://linuxfromscratch.org/"&gt;Linux From Scratch&lt;/a&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;çevirirsek &lt;span style="font-weight: bold;"&gt;Sıfırdan Linux Yapımı&lt;/span&gt;  demek kısaca kaynak koddan istediğiniz araçları derleyerek &lt;span style="font-weight: bold;"&gt;size özel bir Linux Dağıtımı&lt;/span&gt; oluşturmayı sağlar. Bu kadar dağıtım varken neden kendi dağıtımımı oluşturmalıyım diye sorduğumuzda ise birçok cevap verebiliriz. Bunların başında bir dağıtım ile gelen bütün yazılımlar genel kapsamlıdır yani sizin hiç açıp bakmadığınız yüzlerce program olabiliyor ya da sisteminiz biraz eski ve kullandığınız dağıtım ile bellek kullandığınız dağıtım ile sorunlu hale geliyor ya da küçük bir şirketiniz var size özel bir güvenlik ile işlemlerinizi yürütmek istiyorsunuz. Daha bir çok sebep sayılabilir belki şuan aklıma gelenler sadece bunlar. Size özel uygulamlar ve güvenlikle oluşmuş bir işletim sistemini kullanırken bu benim diye de gururlanabilirsiniz belki :D . LFS bir konuk linux dağıtımı kullanarak oluşturulur. Diskin bir bölümü ya da yeni bir disk biçimlendirilir ve onun üzerine adım adım inşa edilmeye başlanır. Her şeyi tırnaklarınızla kazıyarak yapacaksınız:P Endişelenmeye gerek yok&lt;a href="http://www.linuxfromscratch.org/lfs/download.html"&gt; LFS için öyle güzel kitapları &lt;/a&gt;varki herşeyi adım adım anlatıyorlar. LFS sistemi gereksinimlerden dolayı, &lt;span style="font-style: italic; color: rgb(0, 153, 0);"&gt;ALFS(Automated),&lt;/span&gt; &lt;span style="font-style: italic; color: rgb(0, 153, 0);"&gt;BLFS(Beyond),&lt;/span&gt; &lt;span style="font-style: italic; color: rgb(0, 153, 0);"&gt;CLFS(Cross),&lt;/span&gt; &lt;span style="font-style: italic; color: rgb(0, 153, 0);"&gt;HLFS(Hardened) &lt;/span&gt;olarak ayrılmış bunların içinden CLFS, LFS ye ek olarak 64 bit işlemcilere destek vermek için geliştirilmiş. CLFS için &lt;a href="http://trac.cross-lfs.org/wiki/download#DownloadtheCrossLinuxFromScratchBook"&gt;buradan&lt;/a&gt; kitabını indirebilirsiniz birden farklı kitap var bunlardan bir tanesi şuan okuduğum CLFS x86_64 multilib ve diğeri x86_64-pure 64 . Pure 64 ( saf 64 ) sadece 64 bit uygulamaların çalıştırılacağı bir sistem yapmanızı sağlıyor. Multilib hem 32bit hemde 64 bit desteklemeyi sağlıyor. Biz multilib üzerinden yola çıkacağız. Başlamadan önce bilmemiz gereken birkaç birşey var. Ne kadar yardımcı olacak kaynak olsada, elimiz altında google da olsa bazı çözümler yanıbaşımızdadır ve onları es geçmemek gerekir. Bunların başında derleme sorunları ile bol bol karşılacağımız bu uygulamamızda ilk olarak configure sorunları için config.log içine bakmayı unutmayalm. Ama sorunla ilgili çözümler artık başağrıtcı duruma geliyor ve sorularımıza düzgün cevap bulamadığınıza inanıyorsanız size &lt;a href="http://belgeler.org/howto/smart-questions.html"&gt;şu yazıyı&lt;/a&gt; öneririm. Ben işletim sisteminin arkasında neler dönüyor, Çapraz Derleme de neymiş, İşletim sisteminin her köşesi benden sorulur, diyorsanız beraberce CLFS ye giriş yapıcaz... &lt;div id="ref"&gt;www.linuxfromscratch.com &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-1599799898134692345?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/tMBGhmarYmA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/tMBGhmarYmA/sfrdan-linux-yapm-linux-from-scratch.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/07/sfrdan-linux-yapm-linux-from-scratch.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-4836387775854985050</guid><pubDate>Fri, 31 Jul 2009 20:09:00 +0000</pubDate><atom:updated>2009-07-31T13:28:20.940-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Javascript</category><category domain="http://www.blogger.com/atom/ns#">Linux From Scratch</category><title>Yükleniyor...</title><description>Yazmak için kollarımı sıvadığım her zaman düzgünce öğrenmeden olmaz diyerek vazgeçtiğim günlüğüme bir şeyleri unutmadan yazmam gerekiyor biliyorum. Ama artık kendi sitemin çalışmalarını hazırlarken aynı anda sitemi oluşturacağım araçların son teknolojisi olması ve şu aralar çalıştığım projelerden kazandığım deneyimlerle farklı bir şey yapmak istiyorum. Kısa zaman içinde bitmeyecek biliyorum ama askere gitmeden (Tabi Gidebilirsem!) arkamda güzel bir şey bırakacağım. Şu aralar javascript, jquery, css ile web kolundan kendime bir şeyler katmaya çalışırken, mühendislik kısmında 64 bit programlama ve Çapraz-Derleme(Cross-Compile) ile yeni bir Linux dağıtımı oluşturma çabasındayım. O yüzden lütfen biraz bekleyiniz yükleniyorum...&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-4836387775854985050?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/RgNvSau1EN8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/RgNvSau1EN8/yukleniyor.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/07/yukleniyor.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-5748871260883832182</guid><pubDate>Sun, 05 Jul 2009 10:29:00 +0000</pubDate><atom:updated>2009-08-10T01:41:26.990-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">pardus</category><category domain="http://www.blogger.com/atom/ns#">Grub</category><title>pardus 2007,2008,2009 Grub Kurtarma</title><description>&lt;p&gt;Windows'un yüzünden devamlı kaybettiğim şu grub menüsünü Pardusun her sürümü için yeniden kurmak bir bela olmaya başladı. Onda böyleydi bunda nasıl demeye başladım. ve devamlı unutmaya başladığım için karalama defterimi hemen buraya geçirmeliyim diye düşündüm yine ben gibi unutanlar varsa buyrun yapılacaklar.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="FONT-WEIGHT: 600;color:#2841cf;" &gt;Pardus 2007 grubu arıyorsanız:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="FONT-WEIGHT: 600;color:#2841cf;" &gt;1- &lt;/span&gt;&lt;span style="FONT-WEIGHT: 600;color:#ff0707;" &gt;Pardus 2007 CD&lt;/span&gt;&lt;span style="FONT-WEIGHT: 600;color:#2841cf;" &gt; sini takın,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="FONT-WEIGHT: 600;color:#2841cf;" &gt;2- &lt;/span&gt;&lt;span style="FONT-WEIGHT: 600"&gt;Mavi seçim ekranı&lt;/span&gt;&lt;span style="FONT-WEIGHT: 600;color:#2841cf;" &gt; gelince "&lt;/span&gt;&lt;span style="FONT-WEIGHT: 600;color:#ff0707;" &gt;C&lt;/span&gt;&lt;span style="FONT-WEIGHT: 600;color:#2841cf;" &gt;" tuşuna basın ve grub konsoluna geçin.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="FONT-WEIGHT: 600;color:#c2720f;" &gt;Pardus 2008 grubu arıyorsanız:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="FONT-WEIGHT: 600;color:#c2720f;" &gt;1- &lt;/span&gt;&lt;span style="FONT-WEIGHT: 600;color:#ff0707;" &gt;Pardus 2008 CD&lt;/span&gt;&lt;span style="FONT-WEIGHT: 600;color:#c2720f;" &gt; sini takın,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="FONT-WEIGHT: 600;color:#c2720f;" &gt;2- &lt;/span&gt;&lt;span style="FONT-WEIGHT: 600"&gt;YALI nın kurulum ekranı&lt;/span&gt;&lt;span style="FONT-WEIGHT: 600;color:#c2720f;" &gt; geldiğinde (GPL sözleşmesinin çıktığı ekran) &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="FONT-WEIGHT: 600;color:#ff0707;" &gt;CTRL ALT F1&lt;/span&gt;&lt;span style="FONT-WEIGHT: 600;color:#c2720f;" &gt; tuşlarına birlikte basın ve gelen konsola &lt;/span&gt;&lt;span style="FONT-WEIGHT: 600;color:#ff0707;" &gt;grub&lt;/span&gt;&lt;span style="FONT-WEIGHT: 600;color:#c2720f;" &gt; yazıp &lt;/span&gt;&lt;span style="FONT-WEIGHT: 600;color:#ff0707;" &gt;enter&lt;/span&gt;&lt;span style="FONT-WEIGHT: 600;color:#c2720f;" &gt; a basın ve grub konsoluna geçin.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="FONT-WEIGHT: 600;color:#851bc2;" &gt;Pardus 2009 grubu arıyorsanız:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="FONT-WEIGHT: 600;color:#851bc2;" &gt;1- henüz bende daha grubu kaybetmedim.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="FONT-WEIGHT: 600;color:#851bc2;" &gt;2- çok yakın bir zamanda grubu kaybedip buraya eklerim :)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="FONT-WEIGHT: 600;color:#851bc2;" &gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="FONT-WEIGHT: 600;color:#51474a;" &gt;grub&gt; Konsolu :&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="FONT-WEIGHT: 600;color:#767676;" &gt;3- "grub&gt;" adı altında gelen ekrana root (hd, yazın ve TAB tuşuna iki kere basın. hd0, hd1... diye sıralanacak buradan hd0 olarak yazın eğer usbden başlatmıyorsanız.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="FONT-WEIGHT: 600;color:#767676;" &gt;4- root (hd0, yazdıktan sonra iki kere daha TAB tuşuna basın. Ekrana hangi disk dölümünde hangi dosya sisteminin yüklü olduğu gelecek.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="FONT-WEIGHT: 600;color:#767676;" &gt;5- ext2fs olan bölümüm 5 te kuruluymuş o yuzden 5 seçtim. root (hd0,5) şekilde yazdım ve enter a bastım.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="FONT-WEIGHT: 600;color:#767676;" &gt;6- son olarak setup (hd0) yazdıktan sonra enter ve reboot yazarak sistemi yeniden başlatın.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="FONT-WEIGHT: 600"&gt;Daha Ayrıntılı Bilgi: http://tr.pardus-wiki.org/NASIL:Grub%27u_kurtarmak&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-5748871260883832182?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/lg414Z1SqKU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/lg414Z1SqKU/pardus-200720082009-grub-kurtarma.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/07/pardus-200720082009-grub-kurtarma.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-2645874909645115576</guid><pubDate>Wed, 17 Jun 2009 21:27:00 +0000</pubDate><atom:updated>2009-06-17T14:43:27.724-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ÇOMÜ</category><title>Mezuniyet ve Serdarv6</title><description>Yılın sonuna geldik ve üniversiteninde... Honeypot6 ile başladığım bu günlük ile yapmak istediklerimin yarısını yaptım maalesef yarısı da taslak olarak kayıtlı. "Biraz daha bilgi ekleyeyim sonra yayınlarım" dediğim zamanlar öğrendiğim şeyin ardı arkası kesilmedi ve her öğrendiğimi kaydettim. Ama çok kısa süre sonra taslaklarımdaki herşeyi yayınlamaya kararlıyım.

"Mezun olduk artık ipv6 desteğini başka şeylere verirsin okul bitti proje gitti" denilecek sanıyorum ama serdarla da bu konu üzerine konustuk fırsat buldukça honeypot6 için birşeyler yapmayı düşünüyoruz. Ne yaptık nereye kadar geldik bunları pek bahsedemedim ama yayınlanacak yazılarımda ne yapmışız belli olacak. Ama önemli olan bundan sonra neler yapılabilir belki bu iş için gönüllü birilerini bile bulabiliriz. Katılanlar olacaktır. Honeypot6 bizim için tam hobi olmaya başladı bu yüzden bu hobiden umarım ekipce vazgeçmeyiz. Artık takım arkadaşım Ankara'da Ulakbim de çalışmaya başlamış olsada benden uzakta olması onunla ekip ruhumu kaybediceğim anlamına gelmeyecek. &lt;a href="http://seridarus.blogspot.com/"&gt;İş yaşamında başarılar, umarım bütün isteklerin gerçekleşir&lt;/a&gt;.
 Felsefemizi unutma "Herşeye IPv6"&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-2645874909645115576?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/Y-7jPp3jd2g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/Y-7jPp3jd2g/mezuniyet-ve-serdarv6.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>1</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/06/mezuniyet-ve-serdarv6.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-8124636485135216021</guid><pubDate>Mon, 27 Apr 2009 19:26:00 +0000</pubDate><atom:updated>2009-04-27T11:00:32.662-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">honeyd</category><category domain="http://www.blogger.com/atom/ns#">kütüphane</category><category domain="http://www.blogger.com/atom/ns#">C programlama</category><category domain="http://www.blogger.com/atom/ns#">libevent</category><title>Libevent - Durum Bildirimi 1</title><description>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span&gt;Yine honeyd içinde olmazsa olmaz bir kütüphaneyi araştırma sonuçlarında bu libevent kodlarını sadece incelemekle kalmadım birazcık üzerinde denemeler de yaptım.  &lt;/span&gt;&lt;a href="http://monkey.org/%7Eprovos/libevent/"&gt;&lt;span&gt;Libevent &lt;/span&gt;&lt;/a&gt;bir &lt;a href="http://en.wikipedia.org/wiki/File_descriptor"&gt;dosya tanımlayıcısı&lt;/a&gt; üzerinde bir durumun gerçekleştiğinde ya da herhangi bir zaman aşımı olduğunda çalışması için geri çağrılan işlevleri çalıştırmayı sağlayan bir kütüphanedir. Neredeyse bütün işletim sistemlerinde derlenebilir. &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Çok farklı şekillerde durum kütüphanesini kullanmak mümkün. Nasıl mı?&lt;/span&gt;&lt;/span&gt;

&lt;span style=";font-family:verdana;font-size:85%;"  &gt;   &lt;span style="font-weight: bold;"&gt;1.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; Event notification &lt;/span&gt;: Her dosya tanımlayıcısını izlemek içindir. "event.h"
 * event_set()
 * event_add()
 * event_del()

&lt;span style="font-weight: bold;"&gt;2.&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;I/O Buffers &lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;: tampon giriş çıkışlarını otomatikleştirir. "event.h"
 * evtimer_set()
 * evtimer_add()
 * evtimer_del()

&lt;span style="font-weight: bold;"&gt;3.&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Timers &lt;/span&gt;  : belirli bir zaman süre sonra çalıştırılması için beklenen fonksiyonlar için özelleştirilmiştir. "event.h"
 * evtimer_set()
 * evtimer_add()
 * evtimer_del()

&lt;span style="font-weight: bold;"&gt;4.&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Timeouts &lt;/span&gt;: timers ile aynı şekilde çalışır. "event.h"
 * timeout_set()  
 * timeout_add()  
 * timeout_del()  

&lt;span style="font-weight: bold;"&gt;5.&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Asynchronous DNS resolution&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;&lt;/span&gt;: standart DNS çözümleme fonksiyonlarının yerine kullanılır. "evdns.h"
 * evdns_init()
 * evdns_resolve_ipv4()
 * evdns_resolve_reverse()

&lt;span style="font-weight: bold;"&gt;6. &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Event-driven HTTP servers&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;: Uygulama içine basit bir olay-dayalı HTTP sunucusu sağlar. "evhttp.h"
 * evhttp_new()  
 * evhttp_bind_socket()
 * evhttp_set_cb()  
 * evhttp_set_gencb()      &lt;/span&gt;

&lt;span style="font-weight: bold;font-size:85%;" &gt;   &lt;span style=";font-family:verdana;font-size:85%;"  &gt;7.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;a class="anchor" name="evrpc"&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;A framework for RPC servers and clients &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;: &lt;/span&gt;RPC sunucu ve kullanıcı oluşturmak için bir iskelet oluşturur. &lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;span&gt;"evrpc.h"

&lt;span style="font-style: italic;font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;1. Durum Bildirimi ( Event Notification )
&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Fonksiyonları:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-style: italic;font-size:130%;" &gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;
&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;struct event_base *&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;
&lt;span style="font-family:courier new;"&gt;event_init();&lt;/span&gt;&lt;span style="font-size:85%;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="color: rgb(153, 51, 153);"&gt;&lt;span style="font-size:85%;"&gt;Bu fonksiyon event API sini kullanmadan önce gerekli olan fonksiyondur bir libevent çalışma mantığında event_init() ile başlar event_dispatch() ile son bulur. event_base_new() fonksiyonu ile birlikte yeni bir event_base yapısı oluşturur ve global "current_base" olarak bunu tutar.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="color: rgb(153, 51, 153);"&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(153, 51, 153);"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-family:courier new;font-size:100%;"  &gt;void&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;b  style="font-family:courier new;"&gt;
event_s&lt;span style=";font-family:courier new;font-size:100%;"  &gt;et&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;font-size:100%;"  &gt;(&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;i style="font-family: courier new;"&gt;struct event *ev&lt;/i&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;, &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;i style="font-family: courier new;"&gt;int fd&lt;/i&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;, &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;i style="font-family: courier new;"&gt;short event&lt;/i&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;, &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;i style="font-family: courier new;"&gt;void (*fn)(int, short, void *)&lt;/i&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;, &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;i style="font-family: courier new;"&gt;void *arg&lt;/i&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;font-size:100%;"  &gt;)&lt;/span&gt;&lt;span style="font-size:100%;"&gt;;
&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-style: italic;font-family:verdana;font-size:85%;"  &gt;Bu fonksiyon event_add() ve even_del() fonksiyonlarının çağrılması için event yapısını hazırlar.  parametre olarak gönderilen event yapısının içeriğini doldurur. event_init() ile oluşturulan current_base, parametre ile gönderilen fd, event, fn, arg parametreleri yapı içine atanır.
EV_READ, EV_WRITE, EV_TIMEOUT, EV_SIGNAL durumları ile "fd" dosya tanımlayıcısını işaret eder.&lt;/span&gt;&lt;span style="font-style: italic;"&gt; bu tanımlamalar event.h içerisinde sayısal değerleriyle belirtilmiştir.Bunların dışında EV_PERSIST event_add ile eklenir ve event_del ile karşılaşana kadar kalıcılığı sağlar.
&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; &lt;span style=";font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;b&gt;
&lt;span style="font-family:courier new;"&gt;event_add&lt;/span&gt;&lt;/b&gt;&lt;span style="font-weight: bold;"&gt;(&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;struct event *ev&lt;/i&gt;, &lt;i&gt;struct timeval *tv&lt;/i&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;)&lt;/span&gt;; &lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-weight: bold; font-style: italic;font-family:verdana;font-size:85%;"  &gt;ev&lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;durumu için eğer bir timeval yapısı ile zaman belirlenmişse bu zaman sonra &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;font-family:verdana;font-size:85%;"  &gt;event_set()&lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;font-size:85%;"  &gt; ile atanan &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;font-family:verdana;font-size:85%;"  &gt;fn&lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;font-size:85%;"  &gt; fonksiyonu çalışmasını sağlar. eğer bir timeval yerine &lt;span style="font-weight: bold;"&gt;NULL&lt;/span&gt; atanırsa bir giriş yapılmasını bekler ve  &lt;span style="font-weight: bold;"&gt;&lt;span&gt;event_set()&lt;/span&gt; &lt;/span&gt;içine yazdığımız "&lt;span style="font-weight: bold;"&gt;short event&lt;/span&gt;" bayraklarına göre davranışı değişir. timeval yapısı &lt;span style="font-weight: bold;"&gt;sys/time.h&lt;/span&gt; dosyasında bulunur ve içerisinde saniye ve mikrosaniye tutulur. &lt;/span&gt;

&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style=";font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;font-family:courier new;" &gt;int&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;
&lt;span style="font-family:courier new;"&gt;event_dispatch&lt;/span&gt;(&lt;/span&gt;void&lt;span style="font-weight: bold;"&gt;);
&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 153, 153);"&gt;süreçler döngüye girerler ve çalıştırılması için atanan fonksiyonlar istenilen tetikleme ile çalıştırılmaya hazır olurlar.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style=";font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-weight: bold;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;font-size:85%;"  &gt;
-------------------------------------------------------------------------------------------------
&lt;span style="font-style: italic;"&gt;...&lt;/span&gt; &lt;span style="font-style: italic;"&gt;
#include " event.h" &lt;/span&gt;

void &lt;span style="font-weight: bold;"&gt;callback&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;1&lt;/span&gt;(int fd, short evtype, void *data)·
{
   printf(" yaklaşık %d saniye sonra callback1 fonksiyonu çalıştı \n\n",(int)data);
}

&lt;/event.h&gt;&lt;/event.h&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;font-size:85%;"  &gt;void &lt;span style="font-weight: bold;"&gt;callback&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;2&lt;/span&gt;(int fd, short evtype, void *data)·
{
   printf(" yaklaşık %d saniye sonra callback2 fonksiyonunu çalıştı \n\n",(int)data);
}&lt;/span&gt;&lt;/span&gt;
&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;font-size:85%;"  &gt;&lt;event.h style="font-style: italic;"&gt;&lt;event.h&gt;

int main()
&lt;span style="font-weight: bold;"&gt;{&lt;/span&gt;&lt;/event.h&gt;&lt;/event.h&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;font-size:85%;"  &gt;
    struct event ev, ev2;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;font-size:85%;"  &gt;
    int fd = &lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;font-size:85%;"  &gt;open("/var/log/messages", O_RDONLY);&lt;/span&gt;&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;font-size:85%;"  &gt;&lt;span style="font-style: italic;"&gt;  

struct timeval timevl,timevl2;  // &lt;sys h=""&gt;&lt;/sys&gt;&lt;/span&gt;
&lt;span style="font-style: italic;"&gt;       timevl.tv_sec =2;&lt;/span&gt;
&lt;span style="font-style: italic;"&gt;        timevl.tv_usec=0;

timevl2.tv_sec=5;
timevl2.tv_usec=0;
&lt;/span&gt;
&lt;span style="font-style: italic;"&gt;   event_init();&lt;/span&gt; &lt;span style="font-style: italic;"&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;font-size:85%;"  &gt;&lt;span style="font-style: italic;"&gt;   event_set(&amp;amp;ev, 0, &lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;EV_READ | EV_PERSIST&lt;/span&gt; , &lt;span style="font-weight: bold;"&gt;callback&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;1&lt;/span&gt;, timevl.tv_sec);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;font-size:85%;"  &gt;&lt;span style="font-style: italic;"&gt;   event_set(&amp;amp;ev2, 0, &lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;EV_READ | EV_PERSIST&lt;/span&gt; , &lt;span style="font-weight: bold;"&gt;callback&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;2&lt;/span&gt;, timevl2.tv_sec);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;

&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;font-size:85%;"  &gt;&lt;span style="font-style: italic;"&gt;   event_add(&amp;amp;ev, &amp;amp;timevl);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;font-size:85%;"  &gt;&lt;span style="font-style: italic;"&gt;   event_add(&amp;amp;ev2, &amp;amp;timevl2);&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;

&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;font-size:85%;"  &gt;&lt;span style="font-style: italic;"&gt;   event_dispatch();&lt;/span&gt;  &lt;span style="font-style: italic;"&gt;
return 0;&lt;/span&gt;
&lt;span style="font-style: italic; font-weight: bold;"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;font-size:85%;"  &gt;--------------------------------------------------------------------------------------------------
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Burada çıktı timeval da verilen saniyeye göre belirlenir. timevl 2 sn timevl2 5 sn olarak belirlendiği için önce callback1 fonksiyonu daha sonra da callback2 fonksiyonu çalışır. callback1 program çalıştıktan 2 sn sonra çalışmaya başlar daha sonra 3 saniye sonra callback2 çalışmaya başlar. ayarlanan zaman ilk çalışma anına göre belirlenen zamandır.&lt;/span&gt;

&lt;span style="font-weight: bold;"&gt;EV_READ                                     &lt;/span&gt;girdi ile işlem
&lt;span style="font-weight: bold;"&gt;EV_WRITE&lt;/span&gt;                                  hemen işlem
&lt;span style="font-weight: bold;"&gt;EV_TIMEOUT                            &lt;/span&gt;işlem yok
&lt;span style="font-weight: bold;"&gt;EV_PERSIST&lt;/span&gt;                                                               işlem yok
&lt;span style="font-weight: bold;"&gt;EV_READ | EV_TIMEOUT&lt;/span&gt;        girdi ile işlem
&lt;span style="font-weight: bold;"&gt;EV_WRITE | EV_PERSIST&lt;/span&gt;         hemen işlem ve sonsuza kadar
&lt;span style="font-weight: bold;"&gt;EV_READ | EV_PERSIST&lt;/span&gt;             girdi ile sonsuza kadar işlem&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;
&lt;span style="font-weight: bold;font-size:85%;" &gt;e-posta listesi:&lt;/span&gt; &lt;/span&gt;&lt;a href="http://monkeymail.org/mailman/listinfo/libevent-users"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:78%;"&gt;http://monkeymail.org/mailman/listinfo/libevent-users&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;
dökümanları   :   &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.monkey.org/%7Eprovos/libevent/doxygen-1.4.3/index.html"&gt;http://www.monkey.org/~provos/libevent/doxygen-1.4.3/index.html&lt;/a&gt;
&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-8124636485135216021?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/oFy7N1F_6uI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/oFy7N1F_6uI/libevent-durum-bildirimi-1.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/02/libevent-durum-bildirimi-1.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-2206477603046389712</guid><pubDate>Mon, 20 Apr 2009 14:33:00 +0000</pubDate><atom:updated>2009-04-22T12:29:57.437-07:00</atom:updated><title>8 Linux Şenlikleri ve Özgür Yazılım Günleri</title><description>&lt;span style="font-weight: bold; font-style: italic;"&gt;17-18 Nisan&lt;/span&gt; da  düzenlenen 8. Linux ve Özgür Yazılım Şenliiği İstanbul Bilgi Üniversitesi Dolapdere Kampüsündeydi.  Biz de Çanakkale Onsekiz Mart Üniversitesi olarak &lt;a href="http://www.blogger.com/topluluk.comu.edu.tr/bt"&gt;COBIT&lt;/a&gt;' in katkılarıyla  yaklaşık 40 kişi oradaydık.

&lt;table class="program" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td bgcolor="#ffffff"&gt;&lt;strong&gt;Açılış Konuşması&lt;/strong&gt;
           Chris Stephenson&lt;/td&gt; &lt;td&gt;
&lt;/td&gt; &lt;td&gt;
&lt;/td&gt; &lt;td&gt;
&lt;/td&gt; &lt;td&gt;
&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;&lt;a href="http://senlik.linux.org.tr/2009/etkinlik-programi/#douglas_crockford"&gt;&lt;img src="http://senlik.linux.org.tr/2009/wp-content/themes/senlik2009/images/info.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;strong&gt;Javascript: The Good Parts&lt;/strong&gt; &lt;a href="http://senlik.linux.org.tr/2009/etkinlik-programi/#sim" style="color: red;"&gt;&lt;b&gt;*&lt;/b&gt;&lt;/a&gt;
Douglas Crockford&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table class="program" width="100%"&gt;&lt;tbody&gt;  &lt;tr&gt;    &lt;td bgcolor="#ffffff"&gt;&lt;strong&gt;&lt;a href="http://senlik.linux.org.tr/2009/etkinlik-programi/#enver_altin"&gt;&lt;img src="http://senlik.linux.org.tr/2009/wp-content/themes/senlik2009/images/info.gif" alt="" border="0" /&gt;&lt;/a&gt;Linux Nasıl Savunulmaz ve Tanıtılmaz&lt;/strong&gt;
           Enver Altın&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;strong&gt;&lt;a href="http://senlik.linux.org.tr/2009/etkinlik-programi/#fatih_ozavci"&gt;&lt;img src="http://senlik.linux.org.tr/2009/wp-content/themes/senlik2009/images/info.gif" alt="" border="0" /&gt;&lt;/a&gt;Özgür Yazılımlar ile VoIP Denetimi&lt;/strong&gt;
           Fatih Özavcı
&lt;strong&gt;&lt;a href="http://senlik.linux.org.tr/2009/etkinlik-programi/#jonathan_conradt"&gt;&lt;img src="http://senlik.linux.org.tr/2009/wp-content/themes/senlik2009/images/info.gif" alt="" border="0" /&gt;&lt;/a&gt;How Embracing Open Source Built Google&lt;/strong&gt; &lt;a href="http://senlik.linux.org.tr/2009/etkinlik-programi/#sim" style="color: red;"&gt;&lt;b&gt;*&lt;/b&gt;&lt;/a&gt;
           Jonathan Conradt
&lt;strong&gt;&lt;a href="http://senlik.linux.org.tr/2009/etkinlik-programi/#hakan_hamurcu"&gt;&lt;img src="http://senlik.linux.org.tr/2009/wp-content/themes/senlik2009/images/info.gif" alt="" border="0" /&gt;&lt;/a&gt;OpenOffice.org
           &lt;/strong&gt;Hakan Hamurcu, Mehmet Pekgenç
&lt;a href="http://senlik.linux.org.tr/2009/etkinlik-programi/#chris_stephenson"&gt;&lt;img src="http://senlik.linux.org.tr/2009/wp-content/themes/senlik2009/images/info.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;strong&gt;Özgür Yazılım ve Çalışma Kültürü&lt;/strong&gt;
           Chris Stephenson
&lt;strong&gt;&lt;a href="http://senlik.linux.org.tr/2009/etkinlik-programi/#baris_simsek"&gt;&lt;img src="http://senlik.linux.org.tr/2009/wp-content/themes/senlik2009/images/info.gif" alt="" border="0" /&gt;&lt;/a&gt;Özgür İnsan Kaynağı ve İş Hayatı
           &lt;/strong&gt;Barış Şimşek
&lt;strong&gt;&lt;a href="http://senlik.linux.org.tr/2009/etkinlik-programi/#serdar_koylu"&gt;&lt;img src="http://senlik.linux.org.tr/2009/wp-content/themes/senlik2009/images/info.gif" alt="" border="0" /&gt;&lt;/a&gt;Ağ Sunucusu Geliştirme Teknikleri&lt;/strong&gt;
            Serdar Köylü
&lt;a href="http://senlik.linux.org.tr/2009/etkinlik-programi/"&gt;diğer etkinlikler...&lt;/a&gt;

Katıldığım bu etkinlikler de &lt;span style="font-weight: bold;"&gt;Douglas Crockford&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;Jonathan Conradt&lt;/span&gt;' ın yaptıkları sunumlar çok etkileyiciydi.  Socket Programlama hakkında bilgiler veren Serdar Köylü' nün uzun sunumu da tam da zamanında verilmiş bir sunumdu. Bu aralar bitirme projesi için çalıştığım "socket" programlama için özel bir sunum oldu sanki bana ama maalesef Çanakkale' ye dönüş otobüsüne yetişmek zorunda olduğum için  sunumun sonunu getiremedim. Özgür yazılıma gönül vermiş insanların bir arada bulunması ve bir kaygısı olmadan özveriyle birilerine birşeyler anlatan bütün konuşmacılara teşekkür ederim. Umarım zamanı geldiğinde ben de o konuşmacılar arasında olabilirim.&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-2206477603046389712?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/HaQ8MG5-IiM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/HaQ8MG5-IiM/8-linux-senlikleri-ve-ozgur-yazlm-g.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/04/8-linux-senlikleri-ve-ozgur-yazlm-g.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2739302564559392019.post-501073616161501449</guid><pubDate>Mon, 30 Mar 2009 18:01:00 +0000</pubDate><atom:updated>2009-04-23T08:40:53.325-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Google</category><title>WEB e Taşındık... 10 TTL ileride Google ' dayız.</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.aytacmestci.com/wp-content/uploads/2009/01/google20logo.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 167px; height: 156px;" src="http://www.aytacmestci.com/wp-content/uploads/2009/01/google20logo.jpg" alt="" border="0" /&gt;&lt;/a&gt;Artık herşey internet ortamında, neredeyse bütün programların bir web arayüzü var. Artık işletim sistemi için masaüstü uygulaması yazmak bitti. Çünkü bütün işlerinizi görecek web uygulamalar var hem taşınabilir, hem ücretsiz, hem de esnek... Bunu hedefleyen en büyük firma da Google kuşkusuz. Bir mail adresi aldığınız zaman bir çok şey elinizin altında bulunuyor.
Fotoğrafları &lt;a href="http://www.blogger.com/picasa.google.com.tr"&gt;Picasa&lt;/a&gt; web albümüne , yazılarımı &lt;a href="http://www.blogger.com/www.blogger.com"&gt;Blogger&lt;/a&gt; da, belgelerim &lt;a href="http://www.blogger.com/docs.google.com"&gt;Documents&lt;/a&gt; 'ta, yapacaklarım edeceklerim etkinliklerim &lt;a href="https://www.google.com/calendar"&gt;Takvim&lt;/a&gt; de , kısa kısa tuttuğum notlar &lt;a href="http://www.google.com/notebook"&gt;Not Defteri&lt;/a&gt;nde, daha önce nerelere girmişim dediğim web geçmişi &lt;a href="http://www.google.com/history"&gt;Google Geçmiş&lt;/a&gt;te, çerivirmene ihtiyacım olduğunda yanıma koşan &lt;a href="http://www.blogger.com/translate.google.com"&gt;Çevirici&lt;/a&gt;, bir yerde kaybolduğumda &lt;a href="http://www.blogger.com/maps.google.com"&gt;Harita&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_pgBH6tLTsT0/Se-gP7it1gI/AAAAAAAAAHE/xb2KvdIcQn0/s1600-h/google.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 179px;" src="http://2.bp.blogspot.com/_pgBH6tLTsT0/Se-gP7it1gI/AAAAAAAAAHE/xb2KvdIcQn0/s400/google.jpg" alt="" id="BLOGGER_PHOTO_ID_5327653079744370178" border="0" /&gt;&lt;/a&gt; ,haber takibi yapacağımda &lt;a href="http://www.blogger.com/google.com/reader"&gt;Reader&lt;/a&gt;... bunlar sadece kullanabildiğim özellikleri...  adsense, analytics, product a kadar o kadar çok ürünü var ki hayatı kolaylaştırmak için herşey yapıyorlar ve biz zamanla internete taşınıyoruz ya da taşınmak zorunda kalıyoruz.&lt;div class="blogger-post-footer"&gt;RSS&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739302564559392019-501073616161501449?l=serhatersel.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lcKU/~4/w1er535dFA4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/lcKU/~3/w1er535dFA4/web-e-tasndk-10-ttl-ileride-google-dayz.html</link><author>noreply@blogger.com (Serhat İrem ERSEL)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_pgBH6tLTsT0/Se-gP7it1gI/AAAAAAAAAHE/xb2KvdIcQn0/s72-c/google.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://serhatersel.blogspot.com/2009/03/web-e-tasndk-10-ttl-ileride-google-dayz.html</feedburner:origLink></item></channel></rss>

