<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sezai Yılmaz'ın Bilgisayar Dünyası &#187; Linux</title>
	<atom:link href="http://www.sezaiyilmaz.com/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sezaiyilmaz.com</link>
	<description>Linux, UNIX, Windows, sistem yönetimi, uygulama ve sistem programı geliştirme tecrübeleriyle ilgili yazıları...</description>
	<lastBuildDate>Mon, 30 Nov 2009 11:10:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>PHP ile PDF Yazdırmak &#8211; FPDF</title>
		<link>http://www.sezaiyilmaz.com/2009/11/30/php-ile-pdf-yazdirmak-fpdf/</link>
		<comments>http://www.sezaiyilmaz.com/2009/11/30/php-ile-pdf-yazdirmak-fpdf/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 21:51:51 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Geliştirme]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Teknoloji]]></category>
		<category><![CDATA[fpdf]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[pdf protection]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[piechart]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=462</guid>
		<description><![CDATA[Eşim Meryem&#8217;in yayıncılık işlerine teknolojik destek vermek amacıyla 2009&#8242;un yaz aylarında Online Soru Bankası ve Online Sınav Üreteci uygulamaları geliştirdim. Amaç İngilizce ilköğretim öğretmenlerine diledikleri ünitelerden diledikleri sayıda sorudan oluşan sınavları Online Soru Bankası&#8217;ndaki sorulardan üretmeleri. PHP ile geliştirmiş olduğum uygulamadan üretilen sınavların yazıcı çıktısına müsait olabilmeleri için PDF olarak öğretmenlere sunulması gerekiyordu. Önce hosting [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-464" title="fpdf" src="http://www.sezaiyilmaz.com/wp-content/uploads/2009/11/fpdf.gif" alt="fpdf" width="104" height="71" />Eşim Meryem&#8217;in yayıncılık işlerine teknolojik destek vermek amacıyla 2009&#8242;un yaz aylarında Online Soru Bankası ve Online Sınav Üreteci uygulamaları geliştirdim. Amaç İngilizce ilköğretim öğretmenlerine diledikleri ünitelerden diledikleri sayıda sorudan oluşan sınavları Online Soru Bankası&#8217;ndaki sorulardan üretmeleri. PHP ile geliştirmiş olduğum uygulamadan üretilen sınavların yazıcı çıktısına müsait olabilmeleri için PDF olarak öğretmenlere sunulması gerekiyordu.<span id="more-462"></span></p>
<p>Önce hosting firmasının sunucusundaki PHP yorumlayıcısında PDF eklentisinin olmadığını öğrendim. Bu nedenle hosting firması değiştirmem gerekeceğini düşünmeye başladım. Ancak biraz daha araştırınca sadece PHP ile geliştirilmiş ve herhangi bir C PDF kütüphanesi ihtiyacı duymadan PDF formatında çıktı üretebilen bir PHP projesi ile tanıştım: <a title="FPDF" href="http://www.fpdf.org" target="_blank">FPDF</a>.</p>
<p>FPDF basit yazabilen bir PHP sınıfından ibaret bir proje. Bu sınıfı genişleterek kendi projenize uygun PDF çıktısı üretecek yeni bir sınıf yazarak kullanmanız gerekiyor. Böylece PDF dökümanının dinamik bir şekilde yazılması sürecinin tamamına (mesela yeni sayfaya geçilmesinde yapılacak işlemlere) müdahale edebiliyorsunuz.</p>
<pre><code><span>&lt;?php
</span></code>
<pre><code><span>require(</span><span>'fpdf.php'</span><span>);
</span></code></pre>
<p><code><span>class </span>PDF <span>extends </span>FPDF<br />
{<br />
</code></p>
<pre><code><span>function </span>Header<span>()
{
    </span><span>// her yeni sayfanın üst kısmına yazılacak
 </span>   $<span>this-&gt;</span>SetFont<span>(</span><span>'Arial'</span><span>,</span><span>'B'</span><span>,</span>16<span>);
    </span>$<span>this-&gt;</span>SetTextColor<span>(</span>255<span>,</span>192<span>,</span>203<span>);
    </span>$<span>this-&gt;</span></code><code>MultiCell<span>(</span>0<span>,</span>5<span>,"sample header text"</span><span>,</span>0<span>,</span><span>'L'</span><span>);</span></code><code><span>
}
}

</span></code>
<pre><code>$pdf<span>=new </span>PDF<span>();
</span>$pdf<span>-&gt;</span>AddPage<span>();
</span>$pdf<span>-&gt;</span>SetFont<span>(</span><span>'Arial'</span><span>,</span><span>''</span><span>,</span>12<span>);
</span>$txt<span>=</span><span>"FPDF is a PHP class which allows to generate PDF files with pure PHP, that is to say "</span><span>.
    </span><span>"without using the PDFlib library. F from FPDF stands for Free: you may use it for any "</span><span>.
    </span><span>"kind of usage and modify it to suit your needs.\n\n"</span><span>;
for(</span>$i<span>=</span>0<span>;</span>$i<span>&lt;</span>25<span>;</span>$i<span>++)
    </span>$pdf<span>-&gt;</span>MultiCell<span>(</span>0<span>,</span>5<span>,</span>iconv('utf-8', 'iso-8859-9', $txt)<span>,</span>0<span>,</span><span>'J'</span><span>);
</span>$pdf<span>-&gt;</span>Output<span>();
</span></code></pre>
<p><code>?&gt;<br />
</code></pre>
</pre>
<p>Türkçe True Type fontları da FPDF&#8217;in kullanabileceği formata dönüştürerek sorunsuz Türkçe karakter yazdırmanız mümkün oluyor. Üretilen PDF&#8217;lere bu fontlar da gömülüyor ve her PDF gösterebilen ortamda sorunsuz bir şekilde Türkçe karakterleri gösterebiliyor. Tek dezavantajı UTF-8&#8242;den anlamıyor. Türkçe yazdırmanız gereken herşeyi iso-8859-9 formatında yazdırmanız gerekiyor. Normalde UTF-8 kodlaması kullandığım için bu durum benim için büyük bir problem olarak karşıma çıktı. Ancak iconv() işlevi yardımıma koştu. Veritabanından okuttuğum tüm UTF-8 içeriğini iconv() ile iso-8859-9&#8242;a dönüştürerek FPDF yardımı ile PDF&#8217;e yazdırdım.</p>
<p>Basit PDF yazdırma dışında ihtiyacım olan gelişmiş özellikler için ise yine <a title="www.fpdf.org" href="http://www.fpdf.org/en/script/" target="_blank">www.fpdf.org</a>&#8216;daki scriptler yardımıma koştu. Her birisinin ayrı ayrı yetenekleri olan onlarca script FPDF&#8217;in özelliklerini ve yeteneklerini genişletmektedir. Örneğin çapraz yazı yazmak için Rotation script&#8217;i kullanılabilir. Benim amacım çapraz silik yazı yazarak watermark oluşturmak olduğu için Watermark script&#8217;i işimi gördü. Bunun yanında PieChart türünde bazı grafikler çizme ihtiyacım olduğu için Sector script&#8217;ini de kullandım. Öğretmenlerin sadece çıktı alabilmeleri için PDF Security de uygulama ihtiyacım vardı. Bu nedenle Protection script&#8217;ini de projeye dahil ettim.</p>
<p>Üretilen sınav sayfasında her bir sorunun resmi/resimleri ile beraber cevap şıkları da dahil olarak ne kadar yer kaplayacağı önceden bilinemiyor. Bu nedenle oluşturduğum PDF üreteci sınıfın geçici bir instance&#8217;ı ile PDF sayfası hazırlıyor ve artan boşluğu hesaplıyorum. Böylece yeni yazılacak olan sorunun ne kadar yer kaplayacağını önceden hesaplamış oluyorum. Buna göre de sayfa yapısında sorular arasında eşit miktara boşluk bırakarak soruların dengeli ve düzenli bir şekilde yerleştirilmesini sağlıyorum. Bu hesaplama bana iki kez PDF oluşturma maliyeti getiriyor. Ancak bu durum bu güne kadar bir performans sorununa neden olmadı.</p>
<p>FPDF&#8217;in PDF yazma performansı oldukça yüksek. 5 sayfalık bir PDF&#8217;i günümüz için orta güçte olan bir bilgisayarda 0.5 saniyede yazabilmekte. PDF security uygulandığında ise aynı PDF yaklaşık 7 saniyede üretilebilmekte.</p>
<p>FPDF&#8217;in oldukça iyi bir dökümantasyonu var. İngilizce sıkıntısı yaşayanlar için dökümantasyonun Türkçe tercümesi Çağlar Ülküderner tarafından yapılmış.</p>
<p>FPDF&#8217;i iş başında görmek ve ürettiği sonucu yakından incelemek için sınav üretme demo&#8217;sunu <a title="www.successtosbs.com" href="http://www.successtosbs.com" target="_blank">http://www.successtosbs.com</a>&#8216;dan gerçekleştirebilirsiniz. Öğretmen Girişi sayfasından Demo Girişi bağına tıklamanız demo kullanıcısı ile oturum açmanız için yeterlidir.</p>
<p>PHP&#8217;den PDF üretme ihtiyacı olanlara FPDF&#8217;i şiddetle öneririm.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2009/11/30/php-ile-pdf-yazdirmak-fpdf/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JPC &#8211; Java PC</title>
		<link>http://www.sezaiyilmaz.com/2009/07/08/jpc-java-pc/</link>
		<comments>http://www.sezaiyilmaz.com/2009/07/08/jpc-java-pc/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 08:12:25 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Teknoloji]]></category>
		<category><![CDATA[Ürün İnceleme]]></category>
		<category><![CDATA[dsl]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[pure java]]></category>
		<category><![CDATA[virtual machine]]></category>
		<category><![CDATA[vm]]></category>
		<category><![CDATA[x86]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=439</guid>
		<description><![CDATA[JPC &#8211; Pure Java x86 Emulator sadece java programlama dili ile geliştirilmiş olan bir sanal bilgisayardır. Geliştiricilerine göre oldukça yüksek performanslı. Sanal ortamda sorunsuz çalıştırabildiği işletim sistemleri listesinde Linux ve DOS ağırlığı görülüyor. Henüz Windows XP&#8217;yi tam anlamıyla yükleyip çalıştıramıyor. Ancak Linux ve DOS sorunsuz çalışıyor. JPC&#8217;nin en güzel ve fantezi yönü de Java ile [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-440" title="jpc_logo" src="http://www.sezaiyilmaz.com/wp-content/uploads/2009/07/jpc_logo.png" alt="jpc_logo" width="84" height="72" />JPC &#8211; Pure Java x86 Emulator sadece java programlama dili ile geliştirilmiş olan bir sanal bilgisayardır. Geliştiricilerine göre oldukça yüksek performanslı. Sanal ortamda sorunsuz çalıştırabildiği işletim sistemleri listesinde Linux ve DOS ağırlığı görülüyor. Henüz Windows XP&#8217;yi tam anlamıyla yükleyip çalıştıramıyor. Ancak Linux ve DOS sorunsuz çalışıyor. JPC&#8217;nin en güzel ve fantezi yönü de Java ile geliştirildiği için her ortamda çalışabiliyor olmasıdır. Hatta browser içerisinde applet olarak bile çalışabilmekte. Browser içerisinde apllet olarak çalışmasının henüz fantezi dışında özel bir avantajını göremedim. Yine de güzel bir fantezi.</p>
<p><span id="more-439"></span>Yaptığım araştırma ve incelemeler sonrasında sanal makinayı DSL (Damn Small Linux) ile kendi sitesi üzerinden web browser içinden applet olarak test ettim. Performansı oldukça başarısızdı. Ancak yine de Java dili ile x86 makina yapılabilmiş olması ve Linux işletim sistemini grafiksel kullanıcı arabirimi ile kullandırabiliyor olması Java dilinin gücünü göstermektedir.</p>
<p>GPL2 lisanslı JPC&#8217;ye ulaşmak için <a href="http://www-jpc.physics.ox.ac.uk/" target="_blank">http://www-jpc.physics.ox.ac.uk/</a> adresine tıklayabilirsiniz. Yapmış olduğum denemenin ekran görüntüleri aşağıdadır.</p>

<a href='http://www.sezaiyilmaz.com/2009/07/08/jpc-java-pc/jpc_01/' title='jpc_01'><img width="150" height="150" src="http://www.sezaiyilmaz.com/wp-content/uploads/2009/07/jpc_01-150x150.png" class="attachment-thumbnail" alt="jpc_01" title="jpc_01" /></a>
<a href='http://www.sezaiyilmaz.com/2009/07/08/jpc-java-pc/jpc_02/' title='jpc_02'><img width="150" height="150" src="http://www.sezaiyilmaz.com/wp-content/uploads/2009/07/jpc_02-150x150.png" class="attachment-thumbnail" alt="jpc_02" title="jpc_02" /></a>
<a href='http://www.sezaiyilmaz.com/2009/07/08/jpc-java-pc/jpc_03/' title='jpc_03'><img width="150" height="150" src="http://www.sezaiyilmaz.com/wp-content/uploads/2009/07/jpc_03-150x150.png" class="attachment-thumbnail" alt="jpc_03" title="jpc_03" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2009/07/08/jpc-java-pc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Linux İçin İlk Google Chrome</title>
		<link>http://www.sezaiyilmaz.com/2009/06/06/linux-icin-ilk-google-chrome/</link>
		<comments>http://www.sezaiyilmaz.com/2009/06/06/linux-icin-ilk-google-chrome/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 10:51:05 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ürün İnceleme]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google chrome]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=435</guid>
		<description><![CDATA[Google&#8217;ın MS-Windows pazarına uzun zaman önce sokmuş olduğu Google Chrome web gezgini hızla pazarda kendine yer edinmeye başlamışken biz Linux kullanıcılarının Linux sürümü için heyecanlı bekleyişi nihayet sona eriyor. Ubuntu ve Debian&#8217;lar için aşağıdaki adresten indirip ilk beta sürümünü deneyebilirsiniz. http://www.google.com/chrome/intl/en/eula_dev.html?dl=unstable_i386_deb Bu yazıyı da Google Chrome&#8217;un Linux sürümü ile hazırlayıp gönderiyorum. Henüz yapılacak çok işi [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-436" title="google-chrome-logo" src="http://www.sezaiyilmaz.com/wp-content/uploads/2009/06/google-chrome-logo-150x150.jpg" alt="google-chrome-logo" width="72" height="72" />Google&#8217;ın MS-Windows pazarına uzun zaman önce sokmuş olduğu Google Chrome web gezgini hızla pazarda kendine yer edinmeye başlamışken biz Linux kullanıcılarının Linux sürümü için heyecanlı bekleyişi nihayet sona eriyor.</p>
<p><span id="more-435"></span>Ubuntu ve Debian&#8217;lar için aşağıdaki adresten indirip ilk beta sürümünü deneyebilirsiniz.</p>
<p>http://www.google.com/chrome/intl/en/eula_dev.html?dl=unstable_i386_deb</p>
<p>Bu yazıyı da Google Chrome&#8217;un Linux sürümü ile hazırlayıp gönderiyorum. Henüz yapılacak çok işi var ama şu ana kadarki sonuç da oldukça etkileyici. Performansı, sade göreselliği ve takılmadan akıcı hareket eden animasyonları mükemmel olmuş. Yine de eklentiler, gelişmiş ağ ayarları, vb. konularda bayağı yol alması lazım.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2009/06/06/linux-icin-ilk-google-chrome/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Active Directory&#8217;de GAL Oluşturmak</title>
		<link>http://www.sezaiyilmaz.com/2009/05/22/active-directoryde-gal-olusturmak/</link>
		<comments>http://www.sezaiyilmaz.com/2009/05/22/active-directoryde-gal-olusturmak/#comments</comments>
		<pubDate>Thu, 21 May 2009 22:26:14 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistem Yönetimi]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[active directory]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[contact]]></category>
		<category><![CDATA[CRM]]></category>
		<category><![CDATA[E71]]></category>
		<category><![CDATA[GAL]]></category>
		<category><![CDATA[global address list]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[ldapadd]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[nokia]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=431</guid>
		<description><![CDATA[Nokia E71 ve Mail for Exchange kullanmaya başladığımdan beri en büyük sıkıntım şirketin müşteri bilgileri veritabanını sorgulayamamak olmuştur. Bu sorunu aşmak için MS-Exchange&#8217;in Active Directory&#8217;den ürettiği Global Address List&#8217;i kullanmak gerekiyordu. Ancak herkese bir account açamayacağımıza göre bir çözüm bulmak gerekiyordu. Çözümü Contacts isimli bir organizational unit tanımlayarak içini contactlarla doldurmakta buldum. Şirketin mevcut CRM [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-432" title="exchange2007logo" src="http://www.sezaiyilmaz.com/wp-content/uploads/2009/05/exchange2007logo-150x150.jpg" alt="exchange2007logo" width="90" height="90" />Nokia E71 ve Mail for Exchange kullanmaya başladığımdan beri en büyük sıkıntım şirketin müşteri bilgileri veritabanını sorgulayamamak olmuştur. Bu sorunu aşmak için MS-Exchange&#8217;in Active Directory&#8217;den ürettiği Global Address List&#8217;i kullanmak gerekiyordu. Ancak herkese bir account açamayacağımıza göre bir çözüm bulmak gerekiyordu. Çözümü Contacts isimli bir organizational unit tanımlayarak içini contactlarla doldurmakta buldum.</p>
<p><span id="more-431"></span>Şirketin mevcut CRM veritabanından tüm müşteri bilgilerini CSV formatında export ettim. Daha sonra örnek bir contact oluşturarak linux&#8217;ten ldapsearch ile bu contact&#8217;taki hangi alanın hangi attribute&#8217;a karşılık geldiğini tespit ettim. Aşağıda yazmış olduğum script ile de CSV formatındaki ilgili kolona karşılık her bir veriyi ldif formatına dönüştürdüm.</p>
<pre><span style="color: #808080;">#!/bin/bash

# </span><span style="color: #808080;">iletisim_bilgileri.csv</span> <span style="color: #808080;">dosyasının kolon sırası aşağıdaki gibi olmalı
# first_name,last_name,phone_mobile,phone_work,phone_other,phone_fax,email,company

IFS="
"

for i in `cat iletisim_bilgileri.csv`
do

givenName=`echo $i | cut -d, -f1 | sed "s/^ //g" | sed "s/ $//g"`
sn=`echo $i | cut -d, -f2 | sed "s/^ //g" | sed "s/ $//g"`
pmobile=`echo $i | cut -d, -f3`
pwork=`echo $i | cut -d, -f4`
pfax=`echo $i | cut -d, -f6`
email=`echo $i | cut -d, -f7`
company=`echo $i | cut -d, -f8`
nickname=`echo ${givenName} ${sn} | sed "s/ //g" | sed "y/ğüşıöçĞÜŞİÖÇ/gusiocGUSIOC/" | sed "s/[^a-zA-Z0-9]//g"`
givenName2=`echo ${givenName} | sed "s/ //g" | sed "y/ğüşıöçĞÜŞİÖÇ/gusiocGUSIOC/" | sed "s/[^a-zA-Z0-9]//g"`
sn2=`echo ${sn} | sed "s/ //g" | sed "y/ğüşıöçĞÜŞİÖÇ/gusiocGUSIOC/" | sed "s/[^a-zA-Z0-9]//g"`

echo
echo
echo "dn: CN=$givenName $sn,OU=Contacts,DC=firma,DC=com,DC=tr"
echo "objectClass: top"
echo "objectClass: person"
echo "objectClass: organizationalPerson"
echo "objectClass: contact"
echo "cn: $givenName $sn"
if [ "${sn}x" != "x" ]
then
    echo "sn: $sn"
fi
echo "givenName: $givenName"
echo "distinguishedName: CN=$givenName $sn,OU=Contacts,DC=firma,DC=com,DC=tr"
echo "instanceType: 4"
echo "displayName: $givenName $sn"
echo "proxyAddresses: X400:c=US;a= ;p=Firma;o=Exchange;s=${sn2};g=${givenName2};"
echo "proxyAddresses: SMTP:$email"
echo "targetAddress: SMTP:$email"
echo "mailNickname: $nickname"
echo "mAPIRecipient: FALSE"
echo "name: $givenName $sn"
echo "showInAddressBook: CN=Default Global Address List,CN=All Global Address Lists,CN=Address Lists Container,CN=Firma,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=firma,DC=com,DC=tr"
echo "showInAddressBook: CN=All Contacts,CN=All Address Lists,CN=Address Lists Container,CN=Firma,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=firma,DC=com,DC=tr"
echo "legacyExchangeDN: /o=Firma/ou=First Administrative Group/cn=Recipients/cn=$nickname"
echo "objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=firma,DC=com,DC=tr"
echo "textEncodedORAddress: c=US;a= ;p=Firma;o=Exchange;s=${sn2};g=${givenName2};"
if [ "${company}x" != "x" ]
then
    echo "company: $company"
fi
if [ "${email}x" != "x" ]
then
    echo "mail: $email"
fi
if [ "${pwork}x" != "x" ]
then
    echo "telephoneNumber: $pwork"
fi

if [ "${pmobile}x" != "x" ]
then
    echo "mobile: $pmobile"
fi

echo "msExchALObjectVersion: 23"
echo "msExchPoliciesIncluded: {CBEFB3AB-CFC6-4947-84B8-E2726B473828},{26491CFC-9E50-4857-861B-0CB8DF22B5D7}"
echo
echo

done</span></pre>
<p>Yukarıdaki script&#8217;i aşağıdaki gibi kullanarak ldif&#8217;i üretebiliriz.</p>
<pre><span style="color: #808080;"># ./ldif_uret.sh &gt; contacts.ldif</span></pre>
<p>Daha sonra bu ldif&#8217;i active directory&#8217;ye Linux üzerinden aşağıdaki komutla import edebiliriz.</p>
<pre><span style="color: #808080;"># ldapadd -x -h 192.168.36.24 -D "cn=Administrator,dc=firma,dc=com,dc=tr" -W -f contacts.ldif</span></pre>
<p>Bu yöntemle Contacts OU altında 1500&#8242;ün üzerinde adres defteri bilgisini bir dakikanın altında bir sürede import edebildim. Artık hem Outlook ile hem de Nokia E71 üzerindeki Mail for Exchange ile gelen Comp Directory uygulaması ile telefon ve e-posta bilgilerini sorgulayabilir oldum.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2009/05/22/active-directoryde-gal-olusturmak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nokia E71 İçin Video Hazırlanması</title>
		<link>http://www.sezaiyilmaz.com/2009/04/05/nokia-e71-icin-video-hazirlanmasi/</link>
		<comments>http://www.sezaiyilmaz.com/2009/04/05/nokia-e71-icin-video-hazirlanmasi/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 13:10:54 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Diğer]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Symbian]]></category>
		<category><![CDATA[Teknoloji]]></category>
		<category><![CDATA[DVD]]></category>
		<category><![CDATA[E71]]></category>
		<category><![CDATA[mencoder]]></category>
		<category><![CDATA[mplayer]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[Nokia E71]]></category>
		<category><![CDATA[USB]]></category>
		<category><![CDATA[VCD]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[Xvid]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=427</guid>
		<description><![CDATA[Uzun ve yoğun bir iş dönemi nedeni ile web sitemle yakından ilgilenemedim. Aşırı yoğunluk biraz azaldığına göre bundan sonra daha sık yazmaya çalışacağım. Bu seferki konumuz, uzun süreli seyehatlerimiz sırasında biz veya çocuklarımızı yolculuk ettiğimiz araçta oyalayacak ve eğlenceli bir yolculuk geçirmemizi sağlayacak olan en sevdiğimiz videoların Nokia E71&#8242;in 320&#215;240 çözünürlüklü ekranı için dönüştürülmesidir. Bu [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-428" title="mplayer-portable_1" src="http://www.sezaiyilmaz.com/wp-content/uploads/2009/04/mplayer-portable_1-150x150.png" alt="mplayer-portable_1" width="90" height="90" />Uzun ve yoğun bir iş dönemi nedeni ile web sitemle yakından ilgilenemedim. Aşırı yoğunluk biraz azaldığına göre bundan sonra daha sık yazmaya çalışacağım. Bu seferki konumuz, uzun süreli seyehatlerimiz sırasında biz veya çocuklarımızı yolculuk ettiğimiz araçta oyalayacak ve eğlenceli bir yolculuk geçirmemizi sağlayacak olan en sevdiğimiz videoların Nokia E71&#8242;in 320&#215;240 çözünürlüklü ekranı için dönüştürülmesidir. Bu dönüşümü yapmadığımız sürece videolar E71&#8242;in harici hafızasında gereksiz yere fazladan yer kaplar ve daha az video barındırabilir.</p>
<p><span id="more-427"></span>Dönüşüm için Ubuntu GNU/Linux üzerinde <strong>mplayer</strong> projesinin bir üyesi olan <strong>mencoder</strong> aracını kullanıyorum. Uzun süreli denemeler sonucunda keşfettiğim en optimum parametreler aşağıdaki gibidir.</p>
<h4>VCD&#8217;yi 320&#215;200 Çözünürlükte XViD&#8217;e Dönüştürmek İçin</h4>
<p>VCD&#8217;den XViD kodlanmış AVI videosu elde etmek için aşağıdaki komutu kullanıyorum.</p>
<pre><span style="color: #808080;">$ mencoder -ovc xvid -xvidencopts bitrate=256 -oac mp3lame -lameopts cbr:br=96 -vf scale=320:240 -o video.avi vcd://2</span></pre>
<p>Ortaya çıkan video.avi dosyası Nokia E71&#8242;e USB kablosu vasıtası ile harici bellek modunda aktardıktan sonra Core Player programı ile telefondan izlenebilmektedir.</p>
<h4>DVD&#8217;yi 320&#215;200 Çözünürlükte XViD&#8217;e Dönüştürmek İçin</h4>
<p>DVD dönüşümü biraz daha teferruat istemektedir. Öncelikle DVD&#8217;lerde farklı kameralarla çekilmiş farklı sahneler olabildiği gibi farklı dillerde seslendirmeleri de bulunabilmektedir. Ayrıca farklı dillerde altyazılar da seçimlik olarak film gösterimi sırasında kullanılabilmektedir. Ancak E71 ile sadece bunların bir kombinasyonunu oynatma şansımız var. Bu nedenle bizim için en doğru kombinasyonu belirleyip onu DVD&#8217;den XViD&#8217;e dönüştürmemiz gerekmektedir. Öncelikle mplayer ile aşağıdaki komutlarla doğru kombinasyonun oynatılmasını sağlamamız gerekiyor.</p>
<pre><span style="color: #808080;">$ mplayer dvd://1 -alang tr,en</span></pre>
<pre><span style="color: #808080;">$ mplayer dvd://2 -alang tr,en</span></pre>
<pre><span style="color: #808080;">$ mplayer dvd://3 -alang tr,en</span></pre>
<p>Yukarıdaki komutlardan hangisi doğru video&#8217;yu oynatırsa o kombinasyonu aşağıdaki komutta kullanmak gerekiyor. Yani DVD içindeki video izletinden (ing. track) doğru olanını tespit edip seslendirme dili olarak Türkçe&#8217;yi seçmeye çalışıyoruz ve doğrusunu aşağıdaki komuta parametre olarak vererek XViD&#8217;e dönüştürüyoruz.</p>
<pre><span style="color: #808080;">$ mencoder -ovc xvid -xvidencopts bitrate=256 -oac mp3lame -lameopts cbr:br=96 -vf scale=320:240 -o video.avi dvd://2 -alang tr,en</span></pre>
<p>Ortaya çıkan video.avi dosyası Nokia E71&#8242;e USB kablosu vasıtası ile harici bellek modunda aktardıktan sonra Core Player programı ile telefondan izlenebilmektedir.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2009/04/05/nokia-e71-icin-video-hazirlanmasi/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>VirtualBox Güncellendi</title>
		<link>http://www.sezaiyilmaz.com/2008/12/23/virtualbox-guncellendi/</link>
		<comments>http://www.sezaiyilmaz.com/2008/12/23/virtualbox-guncellendi/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 21:19:45 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistem Yönetimi]]></category>
		<category><![CDATA[Teknoloji]]></category>
		<category><![CDATA[Ürün İnceleme]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Direct 3D]]></category>
		<category><![CDATA[host interface]]></category>
		<category><![CDATA[internal interface]]></category>
		<category><![CDATA[NAT]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[Quake]]></category>
		<category><![CDATA[Quake II]]></category>
		<category><![CDATA[RDP]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[Sun Microsystems]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[Windows XP]]></category>
		<category><![CDATA[xvm]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=424</guid>
		<description><![CDATA[Sun, 17 Aralık 2008 tarihinde VirtualBox&#8217;un 2.1.0 sürümünü duyurdu. Yeni sürümde oldukça fazla değişiklik yapılmış ve çok daha zahmetsiz ve kolay kullanılan ve yapılandırılan bir hal almış. Her şeyin yenisi iyidir felsefesini benimsemiş, insanın başına ne gelirse ya meraktan ya da meraktan gelirmiş diyerek yeniliklerle gelebilecek her türlü riskleri göze alan birisi olarak hemen çiçeği [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-64" title="VirtualBox Logo" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/07/logo_vbox.png" alt="VirtualBox Logo" width="87" height="90" />Sun, 17 Aralık 2008 tarihinde VirtualBox&#8217;un 2.1.0 sürümünü duyurdu. Yeni sürümde oldukça fazla değişiklik yapılmış ve çok daha zahmetsiz ve kolay kullanılan ve yapılandırılan bir hal almış. Her şeyin yenisi iyidir felsefesini benimsemiş, insanın başına ne gelirse ya meraktan ya da meraktan gelirmiş diyerek yeniliklerle gelebilecek her türlü riskleri göze alan birisi olarak hemen çiçeği burnunda 2.1.0 sürümlü VirtualBox&#8217;ı denedim.</p>
<p><span id="more-424"></span>VirtualBox 2.1.0 ile gelen yenilikler beni oldukça etkiledi. Tam değişiklik listesine <a href="http://www.virtualbox.org/wiki/Changelog" target="_blank">buradan</a> ulaşılabilir. Ancak beni etkileyen yeni özellikler şu şekilde.</p>
<ul>
<li>Sanal ağ yapılandırması vmware&#8217;inki kadar kolaylaşmış, ağ erişim performansı artırılmış.<br />
Artık sanal bilgisayar kolayca yerel ağa doğrudan bağlanabiliyor (Host Interface), NAT bağlantı türü iyileştirilmiş ve performansı artırılmış (eskiden sanal bilgisayardan herhangi bir yere ping çekilemiyordu, artık çekilebiliyor), Internal Interface bağlantı türü ile ağ adı olarak aynı ismi verdiğiniz tüm sanal bilgisayarlar birbirleri ile kendi aralarında ayrı bir iç ağ oluşturmakta.</li>
<li>Windows işletim sistemi koşturan sanal bilgisayarlara donanım destekli OpenGL 3D hızlandırması eklenmiş.<br />
Deneme amaçlı olarak Quake II demosunu kurup çalıştırdım. Hız yeterli düzeyde. Direct 3D desteği henüz yok, ancak yol haritasıda yakında Direct 3D desteği de ekleneceği yazıyor.</li>
<li>64 bitlik sanal bilgisayarlar 32 bitlik ev sahibi işletim sistemi üzerinde koşturulabiliyor.</li>
<li>VMDK ve VHD sanal dosya sistemleri için tam destek sağlandığı belirtiliyor.</li>
<li>Immutable olarak sisteme kaydedilmiş sanal disklerin snapshotları read-write olarak kullanılabiliyor.<br />
Böylece salt okunur durumdaki windows işletim sistemim artık her türlü ayarını koruyabiliyor, bozulduğu zaman da snapshot&#8217;ını silerek yeniden temel haline geri dönülebiliyor.</li>
</ul>
<p>Bu yeni özelliklerinin yanında hayran olduğum CD-DVD yazıcı sürücüsüne doğrudan erişim yeteneği ile sanal bilgisayar üzerinden CD-DVD yazabilme, saatinin çok dakik ilerleyerek vmware&#8217;da olduğu gibi şaşmaması gibi eski özellikleri de olduğu gibi duruyor.</p>
<p>VirtualBox&#8217;ın bu güzel özelliklerinin yanında bazı yetenekleri de yoktu. Örneğin GUI&#8217;si olmadan sanal bilgisayar çalıştıramama sorunu gibi. Yani bir sunucu üzerinde sanal bilgisayar işletebilmek için GUI&#8217;sinin açık olması gerekiyor. Ancak bugün öğrendiğim bir araç ile VirtualBox sanal bilgisayarları görsel arayüzü olmadan da çalıştırılabiliyor. Örneğin aşağıdaki komutla &#8220;Windows XP&#8221; isimli sanal bilgisayar görsel arayüzü olmadan başlatılabiliyor ve 3389 numaralı TCP portuna RDP bağlantısı yapılarak console&#8217;una ulaşılabiliyor.</p>
<pre>$ VBoxHeadless -s "Windows XP" -v on -p 3389

$ VBoxHeadless
VirtualBox Headless Interface 2.1.0
(C) 2008 Sun Microsystems, Inc.
All rights reserved

Usage:
   -s, -startvm, --startvm &lt;name|uuid&gt;   Start given VM (required argument)
   -v, -vrdp, --vrdp on|off|config       Enable (default) or disable the VRDP
                                         server or don't change the setting
   -p, -vrdpport, --vrdpport &lt;port&gt;      Port number the VRDP server will bind
                                         to
   -a, -vrdpaddress, --vrdpaddress &lt;ip&gt;  Interface IP the VRDP will bind to
   -c, -capture, --capture               Record the VM screen output to a file
   -w, --width                           Frame width when recording
   -h, --height                          Frame height when recording
   -r, --bitrate                         Recording bit rate when recording
   -f, --filename                        File name when recording.  The codec
                                         used will be chosen based on the
                                         file extension</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2008/12/23/virtualbox-guncellendi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nokia E71 &#8211; Ad-Hoc WiFi Kurulumu</title>
		<link>http://www.sezaiyilmaz.com/2008/11/09/nokia-e71-ad-hoc-wifi-kurulumu/</link>
		<comments>http://www.sezaiyilmaz.com/2008/11/09/nokia-e71-ad-hoc-wifi-kurulumu/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 22:00:33 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistem Yönetimi]]></category>
		<category><![CDATA[Symbian]]></category>
		<category><![CDATA[ad-hoc]]></category>
		<category><![CDATA[bridge]]></category>
		<category><![CDATA[dnsmasq]]></category>
		<category><![CDATA[E71]]></category>
		<category><![CDATA[eth0]]></category>
		<category><![CDATA[eth1]]></category>
		<category><![CDATA[ifconfig]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[iwconfig]]></category>
		<category><![CDATA[kablosuz ağ]]></category>
		<category><![CDATA[köprü]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[Nokia E71]]></category>
		<category><![CDATA[sysctl]]></category>
		<category><![CDATA[wifi]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=399</guid>
		<description><![CDATA[Ofiste dizüstü bilgisayarımı kablolu bir bağlantı ile ağa bağlamaktayım. Diğer bir deyişle ofiste kablosuz (WiFi) bağlantı imkanı bulunmamakta. Ofisteyken Nokia E71&#8242;imi mevcut kurumsal ağıma dahil edebilmek ve kurumsal ağım üstünden internete çıkararak kabaran GSM operatörü fatura bedellerini kısmak için Nokia E71&#8242;i ad-hoc modunda dizüstü bilgisayarıma kablosuz olarak bağlamak aklıma geldi. Nokia E71 Üzerinde Ad-Hoc Erişim [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-419" title="wifi" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/11/wifi-150x150.gif" alt="" width="90" height="90" />Ofiste dizüstü bilgisayarımı kablolu bir bağlantı ile ağa bağlamaktayım. Diğer bir deyişle ofiste kablosuz (WiFi) bağlantı imkanı bulunmamakta. Ofisteyken Nokia E71&#8242;imi mevcut kurumsal ağıma dahil edebilmek ve kurumsal ağım üstünden internete çıkararak kabaran GSM operatörü fatura bedellerini kısmak için Nokia E71&#8242;i ad-hoc modunda dizüstü bilgisayarıma kablosuz olarak bağlamak aklıma geldi.<span id="more-399"></span></p>
<h4>Nokia E71 Üzerinde Ad-Hoc Erişim Noktası Tanımlama</h4>
<p>Telefonunuzda bekleme konumundayken Menu -&gt; Tools -&gt; Settings -&gt; Connection menüsünü açınız. Burada Access points&#8217;e giriniz.</p>
<p><img class="alignnone size-medium wp-image-414" title="screenshot0028" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/11/screenshot0028-300x225.png" alt="" width="300" height="225" /></p>
<p>Sol alttaki &#8220;Options&#8221;a tıklayarak çıkan menüden &#8220;New access point&#8221;e tıklayınız.</p>
<p><img class="alignnone size-medium wp-image-415" title="screenshot0029" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/11/screenshot0029-300x225.png" alt="" width="300" height="225" /></p>
<p><strong>Connection name:</strong> Oluşturmakta olduğunuz ad-hoc bağlantı profiline bir isim veriniz.</p>
<p><strong>Data bearer:</strong> Wireless LAN olarak seçiniz.</p>
<p><strong>WLAN network name:</strong> Bu örneği &#8220;test&#8221; ismiyle yaptığımız için test deyiniz. Bu ad-hoc bağlantınızın ESSID&#8217;si olacak, Linux&#8217;ünüzde de aynı ismi kullanmanız gerekecek.</p>
<p><img class="alignnone size-medium wp-image-416" title="screenshot0030" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/11/screenshot0030-300x225.png" alt="" width="300" height="225" /></p>
<p><strong>Network status:</strong> Hidden olarak seçiniz.</p>
<p><strong>WLAN network mode:</strong> Ad-hoc olarak seçiniz.</p>
<p><strong>WLAN security mode:</strong> WEP olarak seçiniz.</p>
<p>WLAN security settings&#8217;e tıklayarak güvenlik ayarlarına giriniz.</p>
<p><img class="alignnone size-medium wp-image-417" title="screenshot0031" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/11/screenshot0031-300x225.png" alt="" width="300" height="225" /></p>
<p><strong>WEP key in use:</strong> #1 olarak kalsın.</p>
<p><strong>Authentication type:</strong> Open olarak seçiniz.</p>
<p>WEP key settings&#8217;e tıklayarak WEP anahtarınızı tanımlama ayarlarına giriniz.</p>
<p><img class="alignnone size-medium wp-image-418" title="screenshot0032" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/11/screenshot0032-300x225.png" alt="" width="300" height="225" /></p>
<p><strong>WEP encryption:</strong> 64 bits olarak seçiniz. Arzu ederseniz daha yüksek güvenlik için 128 bit olarak da seçebilirsiniz. Ancak örneğimiz 64 bitlik bir anahtar ile yapılmış durumda.</p>
<p><strong>WEP key format:</strong> Hexadecimal olarak seçiniz.</p>
<p><strong>WEP key:</strong> 10 haneli hexadecimal rakamlardan oluşan bir sayı giriniz.</p>
<p>Sağ alt köşedeki Back&#8217;e tıklayarak kaydetmek isteyip istemediğinizi soran sorulara Yes olarak yanıt veriniz. Bu çalışma ile ad-hoc WiFi bağlantı profiliniz hazır. Sırada bu profil ile uyuşan Linux üzerindeki ayarlarda.</p>
<h4>Dizüstü Bilgisayarınızdaki Hazırlıklar</h4>
<p>Dizüstü bilgisayar üzerinde bir DHCP sunucu çalıştırma zorunluluğu bulunmakta. Aksi taktirde kablosuz ağ arayüzünden DHCP isteminde bulunacak olan Nokia E71&#8242;e DHCP ile IP yapılandırması veren bir cihaz olmayacak. Bu amaca yönelik olarak çok basit bir şekilde <strong>dnsmasq</strong> paketi kurularak çalıştırılabilir (apt-get install dnsmasq).</p>
<p>Dizüstü bilgisayarımda eth0 kablolu, eth1 kablosuz ağ bağlatı arayüzleridir, örneklerim buna bağlı olarak devam edecek. Dnsmasq&#8217;in yapılandırma dosyası <strong>/etc/dnsmasq.conf</strong> içerisine aşağıdaki iki satırı ekleyiniz.</p>
<pre>interface=eth1
dhcp-range=192.168.0.50,192.168.37.150,12h</pre>
<p>Linux dağıtımlarından birisini koşturan dizüstü bilgisayarınızda aşağıdaki komutları çalıştırınız.</p>
<pre># iwconfig eth1 mode ad-hoc essid test key 1234567890
# ifconfig eth1 192.168.0.1 up
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# sysctl -w net.ipv4.ip_forward=1
# /etc/init.d/dnsmasq restart</pre>
<p>Yukarıdaki komutları bir shell script içerisine yazarak daha pratik bir şekilde topluca çalıştırabilirsiniz. Bu aşamadan sonra Nokia E71 üzerinde internet erişimi yapacak olan herhangi bir uygulama başlattığınızda internet erişimi için bağlantı profili seçimi sorulduğunda yeni tanımlamış olduğunuz kablosuz ağ bağlantısını seçip kullanabilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2008/11/09/nokia-e71-ad-hoc-wifi-kurulumu/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Nokia E71 Üzerinden Ubuntu&#8217;yu İnternete Çıkarmak</title>
		<link>http://www.sezaiyilmaz.com/2008/10/28/nokia-e71-uzerinden-ubuntuyu-internete-cikarmak/</link>
		<comments>http://www.sezaiyilmaz.com/2008/10/28/nokia-e71-uzerinden-ubuntuyu-internete-cikarmak/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 16:38:33 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistem Yönetimi]]></category>
		<category><![CDATA[Symbian]]></category>
		<category><![CDATA[/dev/rfcomm0]]></category>
		<category><![CDATA[AT Hayes]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[E71]]></category>
		<category><![CDATA[edge]]></category>
		<category><![CDATA[gprs]]></category>
		<category><![CDATA[gsm]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[kppp]]></category>
		<category><![CDATA[modem]]></category>
		<category><![CDATA[network manager]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[Nokia E71]]></category>
		<category><![CDATA[ppp0]]></category>
		<category><![CDATA[rfcomm]]></category>
		<category><![CDATA[route]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[wvdial]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=400</guid>
		<description><![CDATA[Medeniyetten uzak yerlerde ancak GSM operatörümüzün kapsama alanı dahilinde internet erişimi ihtiyacımız olabilmekte. Her ne kadar Nokia E71 ile internetten yararlanmamızı sağlayan birçok araç (WEB, E-posta, FTP, SSH, RDP erişimi için çeşitli uygulamalar mevcut) bulunsa da 320&#215;240 çözünürlüğündeki bir ekrandan kullanımın konforu ile bir dizüstü bilgisayarın ekranındaki kullanım konforu karşılaştırılabilecek durumda bile değil. Hatta bazen [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-thumbnail wp-image-420 alignleft" title="bluetooth_logo-small" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/11/bluetooth_logo-small.jpg" alt="" width="58" height="74" />Medeniyetten uzak yerlerde ancak GSM operatörümüzün kapsama alanı dahilinde internet erişimi ihtiyacımız olabilmekte. Her ne kadar Nokia E71 ile internetten yararlanmamızı sağlayan birçok araç (WEB, E-posta, FTP, SSH, RDP erişimi için çeşitli uygulamalar mevcut) bulunsa da 320&#215;240 çözünürlüğündeki bir ekrandan kullanımın konforu ile bir dizüstü bilgisayarın ekranındaki kullanım konforu karşılaştırılabilecek durumda bile değil. Hatta bazen OpenVPN gibi Nokia E71 üzerinde bulamayacağınız bazı araçları çalıştırma ihtiyacı da duyulabilir. Bu nedenle Nokia E71 üzerinden Ubuntu GNU/Linux dağıtımı koşturan dizüstü bilgisayarımı internete çıkarma ihtiyacı ile sık sık karşılaşmaktayım. Bunun nasıl yapıldığını öğrenmek için yazının devamını okumanızı öneririm.</p>
<p><span id="more-400"></span>Nokia E71&#8242;de bekleme durumunda giriş ekranında iken <strong>*#2820#</strong> tuşlayarak Nokia E71&#8242;in bluetooth donanım adresini öğrenin ve bir yere not edin.</p>
<p>Ubuntu üzerinde /etc/bluetooth/rfcomm.conf dosyasına aşağıdaki gibi bir satırlar bloğu ekleyin:</p>
<pre>rfcomm0 {
        bind yes;
        device 00:21:FE:5F:A1:63;
        channel 4;
        comment "E71";
}</pre>
<p>Burada dikkat edilmesi gereken nokta, device ile belirtilen bluetooth donanım adresinin telefondan alınan adres bilgisi ile aynı olması, channel&#8217;ın mutlaka 4 olması ve bind&#8217;ın yes olmasıdır. Özellikle channel değeri 4 olmak zorunda. E71&#8242;i geliştirenler channel&#8217;ları farklı amaçlara göre bölmüşler. Bluetooth kulaklık etkin iken, internet bağlantısı için gerekli olan seri arayüz (ing. serial interface) hizmetini de aynı bluetooth üstünden aynı anda sunmanın yolu farklı channel kullanımından geçiyor. 4 numaralı channel&#8217;ın seri arayüz amacına yönelik olduğunu deneme yanılma ile keşfettim. Eğer bu dosyada rfcomm0 zaten başka bir cihaz için kullanılmış ise rfcomm1&#8242;i veya sıra numarasına göre uygun olan bir tanesini kullanabilirsiniz.</p>
<p>Bu işlemden sonra Ubuntu&#8217;nun bluetooth hizmetlerini yeniden başlatılması gerekmekte:</p>
<pre># /etc/init.d/bluetooth restart</pre>
<p>Nokia E71 üzerindeki bluetooth açık hale getirilir getirilmez Ubuntu üzerinde /dev/rfcomm0 adındaki aygıt kullanılabilir duruma gelecektir. Bu aygıt AT Hayes komut kümesi uyumlu GPRS/EDGE modemdir.</p>
<p>Ubuntu&#8217;da sistem tepsisinde (ing. system tray) yer alan ağ bağlantıları (Network Manager Applet / nm-applet) üzerine farenin sol düğmesi ile tıklayınız. Açılan menüden &#8220;Manual Configuration&#8221;a tıklayınız. Açılan &#8220;Network Settings&#8221; penceresindeki unlock düğmesine tıklayarak oturum açma şifrenizi giriniz. Bu aşamadan sonra Network Settings penceresindeki bileşenler etkin duruma geleceklerdir.</p>
<p><img class="alignnone size-medium wp-image-401" title="nm1" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/10/nm1-300x170.png" alt="" width="300" height="170" /></p>
<p>Connections sekmesinde yer alan &#8220;Point to Point connection&#8221;a tıklayarak seçiniz ve Properties düğmesine tıklayınız. &#8220;ppp0 Properties&#8221; adında yeni bir pencere açılacak. Bu pencereden &#8220;Connection type:&#8221; kısmında &#8220;GPRS/UMTS&#8221; seçiniz, &#8220;Access point name:&#8221; kısmına &#8220;internet&#8221; yazınız, username ve password alanlarını da olduğu gibi bırakınız. Modem sekmesine geçiniz ve &#8220;Modem port:&#8221; kısmına &#8220;/dev/rfcomm0&#8243; yazınız ve OK düğmesine tıklayarak &#8220;ppp0 Properties&#8221; penceresini kapatınız.</p>
<p><img class="alignnone size-medium wp-image-402" title="nm2" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/10/nm2-300x263.png" alt="" width="300" height="263" /> <img class="alignnone size-medium wp-image-403" title="nm3" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/10/nm3-300x263.png" alt="" width="300" height="263" /></p>
<p>&#8220;Network Settings&#8221; penceresindeki &#8220;Close&#8221; düğmesine tıklayarak &#8220;Network Settings&#8221; penceresini kapatınız.</p>
<p>Bu ayarlamadan sonraki normal kullanımda GRPS/EDGE ile ağ bağlantısı kurmak için sistem tepsisindeki ağ simgesine sol fare düğmesi ile bir kez tıklayınız, çıkan menüden &#8220;Dial-Up Connections&#8221; alt menüsünü açınız ve &#8220;Connect to ppp0 via Modem&#8230;&#8221; tıklayınız (Nokia E71 üzerinde bluetooth açık vaziyette olmalı). Bağlantıyı kesmek için de hemen altında yer alan &#8220;Disconnect from ppp0 via Modem&#8230;&#8221; tıklayınız.</p>
<p>Komut satırında bağlantının kurulup kurulamadığını &#8220;ifconfig ppp0&#8243; komutu ile takip edebilirsiniz. Bağlantı kurulduğunda ppp0 ağ arayüzü bulunabilecek ve IP yapılandırması aşağıdaki gibi görüntülenebilecektir. Bağlantı kurulmadıysa ppp0 ağ arayüzü bulunamayacaktır.</p>
<pre>sezay@zmey:~$ ifconfig ppp0
ppp0: error fetching interface information: Device not found
sezay@zmey:~$ ifconfig ppp0
ppp0: error fetching interface information: Device not found
sezay@zmey:~$ ifconfig ppp0
ppp0      Link encap:Point-to-Point Protocol
inet addr:213.43.76.137  P-t-P:10.6.6.6  Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
RX packets:6 errors:1 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:60 (60.0 B)  TX bytes:81 (81.0 B)</pre>
<p>Bir de &#8220;netstat -nr&#8221; ile ön tanımlı ağ geçidinin ppp0 aygıtına ilişkilendirilmiş olan ağ geçidi olup olmadığını kontrol ediniz. Destination 0.0.0.0 varsayılan ağ geçidini temsil etmektedir.</p>
<pre>sezay@zmey:~$ netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.6.6.6        0.0.0.0         255.255.255.255 UH        0 0          0 ppp0
0.0.0.0         0.0.0.0         0.0.0.0         U         0 0          0 ppp0</pre>
<p>Ayrıca <strong>/var/log/messages</strong> altındaki loglarda ayrıntılı olarak bağlantı kurulma girişimi ve durumu hakkındaki kayıtları takip edebilirsiniz.</p>
<pre>sezay@zmey:~$ tail -20 /var/log/messages
Oct 27 13:02:07 zmey chat[8825]: expect (OK)
Oct 27 13:02:07 zmey chat[8825]: ^M
Oct 27 13:02:08 zmey chat[8825]: AT+CGATT=1^M^M
Oct 27 13:02:08 zmey chat[8825]: OK
Oct 27 13:02:08 zmey chat[8825]:  -- got it
Oct 27 13:02:08 zmey chat[8825]: send (AT+CGDCONT=1,"IP","internet"^M)
Oct 27 13:02:08 zmey chat[8825]: expect (OK)
Oct 27 13:02:08 zmey chat[8825]: ^M
Oct 27 13:02:08 zmey chat[8825]: AT+CGDCONT=1,"IP","internet"^M^M
Oct 27 13:02:08 zmey chat[8825]: OK
Oct 27 13:02:08 zmey chat[8825]:  -- got it
Oct 27 13:02:08 zmey chat[8825]: send (ATDT*99***1#^M)
Oct 27 13:02:09 zmey pppd[8780]: Serial connection established.
Oct 27 13:02:09 zmey pppd[8780]: Using interface ppp0
Oct 27 13:02:09 zmey pppd[8780]: Connect: ppp0 &lt;--&gt; /dev/rfcomm0
Oct 27 13:02:09 zmey pppd[8780]: PAP authentication succeeded
Oct 27 13:02:09 zmey kernel: [  178.778319] PPP BSD Compression module registered
Oct 27 13:02:09 zmey kernel: [  178.840660] PPP Deflate Compression module registered
Oct 27 13:02:10 zmey pppd[8780]: local  IP address 213.43.76.137
Oct 27 13:02:10 zmey pppd[8780]: remote IP address 10.6.6.6</pre>
<p>Bu yöntemle kurulan bağlantıda DNS sunucu bilgileri otomatik olarak kurulmuyor. <strong>/etc/resolv.conf</strong> dosyası içine &#8220;nameserver 193.140.216.203&#8243; gibi herkesçe erişilebilir bir DNS sunucu IP&#8217;si yazmayı unutmayınız. En doğrusu GSM operatörünün sağladığı DNS IP&#8217;lerini kullanmaktır. Ancak loglarda DNS sunucu tanımlamasını görmek mümkün değil. Belki bir windows bilgisayar ile aynı GSM operatörü üzerinden GPRS bağlantısı kurmuş olan bir arkadaşınızdan DNS yapılandırmasına göz atarak ilgili GSM operatörünün DNS IP adreslerini alıyor olabilirsiniz.</p>
<p>Yukarıdaki tariflerde önemli olan bluetooth üstünden Nokia E71&#8242;in <strong>/dev/rfcomm0</strong> olarak Linux&#8217;e gösterilmesiydi. Bu aşamayı başardıktan sonra bağlantıyı kurmak amacıyla ppp0 ağ arayüzünü ayağa kaldırmak için kppp, wvdial gibi araçlar da kullanılabilir. Turkcell GSM operatörü ve Nokia E71 ile yapmış olduğum bu tür bağlantılarda azami olarak 236 kbps bağlantı hızı elde edebildim. Bu da EDGE&#8217;in GPRS&#8217;ten 5-6 kat daha hızlı veri bağlantısı sağladığı anlamına geliyor. Ülkemizde 3G hizmete girebilirse 3.5 mbps&#8217;a kadar bağlantı hızlarını GSM operatörleri üzerinden gerçekleştirebiliyor olacağız. Ancak şimdilik 236 kbps gibi hızlara şükretmekten başka seçeneğimiz yok.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2008/10/28/nokia-e71-uzerinden-ubuntuyu-internete-cikarmak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ortak Dosya Kullanımı &#8211; UNISON</title>
		<link>http://www.sezaiyilmaz.com/2008/08/19/ortak-dosya-kullanimi-unison/</link>
		<comments>http://www.sezaiyilmaz.com/2008/08/19/ortak-dosya-kullanimi-unison/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 19:23:40 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[bilgisayarlar arası dosya eşitleme]]></category>
		<category><![CDATA[bilgisayarlar arası dosya senkronizasyonu]]></category>
		<category><![CDATA[cygwin]]></category>
		<category><![CDATA[dosya senkronizasyonu]]></category>
		<category><![CDATA[file synchronization]]></category>
		<category><![CDATA[file synchronization between computers]]></category>
		<category><![CDATA[ortak dosya kullanımı]]></category>
		<category><![CDATA[socket]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[unison]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=176</guid>
		<description><![CDATA[Birçok dosyadan oluşan projelerde, herkesin kendi bilgisayarından çevrimdışı (ing. offline) çalışarak ortak havuzda güncelleme yapması, yeni dosyalar oluşturması, dosyaları birbirleri ile paylaşmaları hep sorun olmuştur. İlgili dosyayı en son kimin güncellediği, en güncel kopyanın kimde olduğu, acaba benden önce birisi güncel bir halini ortak havuza attı mı gibi soru işaretleri nedeni ile ortak çalışmalarda güçlük [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-357" title="unison" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/08/unison.gif" alt="" width="46" height="54" />Birçok dosyadan oluşan projelerde, herkesin kendi bilgisayarından çevrimdışı (ing. offline) çalışarak ortak havuzda güncelleme yapması, yeni dosyalar oluşturması, dosyaları birbirleri ile paylaşmaları hep sorun olmuştur. İlgili dosyayı en son kimin güncellediği, en güncel kopyanın kimde olduğu, acaba benden önce birisi güncel bir halini ortak havuza attı mı gibi soru işaretleri nedeni ile ortak çalışmalarda güçlük çekilmektedir. Bahsettiğimiz ortak projeler yazılım projeleri değil. Yazılım projelerinde bu sorunları CVS/SVN çözmektedir. Ancak onlara benzer bir mantıkla metin, hesap tablosu, sunu gibi dökümanlarımızı da yönetme ihtiyacımız oluyor. Bu ihtiyaçlarımızı karşılamak üzere <a href="http://www.cis.upenn.edu/~bcpierce/unison/">UNISON</a> projesi geliştirilmiş.<span id="more-176"></span>Unison Unix ve Windows için bir dosya eşitleme (ing. file synchronization) aracıdır. İki veya daha fazla kopya olarak aynı bilgisayarda veya farklı bilgisayarlarda bulunan bir dizi dosya ve klasör hiyerrşisinin, ayrı ayrı değiştirilebilmesine ve zaman zaman bir araya getirilerek en güncel değişikliklerin taraflar arasında paylaşılarak her tarafın en güncel hale sahip olmasını sağlar. Unison Windows ve birçok tür UNIX platformu arasında dosya eşitleme imkanı sağlamaktadır. Düşük hızlı ağ bağlantılarında bile etkili ve hızlı bir şekilde çalışmaya olanak veren özel bir rsync protokolü kullanmaktadır. Ağ transferleri ssh üstünden veya doğrudan socket bağlantısı ile gerçekleştirilmektedir.</p>
<p><strong>Unison Kullanımı</strong></p>
<p>Unison temel olarak kendisine verilen iki klasörü birbirleri ile eşitler. Soldakileri sağa, sağdakiler sola atar, bir tarafta silinme durumu varsa kullanıcı onayı alınarak diğer taraftan da siler, değişiklik durumu varsa değişen taraftan değişmeyen tarafa dosyaları aktarır, iki tarafta birden değişiklik varsa bu çakışma (ing. conflict) durumudur ve kullanıcıya son değiştirilme tarihlerini sunarak hangisini asıl olarak kabul edeceğini sorar. Bu hali ile Unison sadece iki klasörü eşitler gibi görünse de, aslında bir tanesini havuz gibi kullanarak, diğer kullanıcıların hep o havuzla eşitlemesi sağlandığında 3, 4, 5, &#8230; çok sayıda klasör eşit tutulabilir.</p>
<p>Unison ile gelen ayrı bir kullanım kılavuzu yoktur. Unison&#8217;un kendi içinden çıkan kullanım kılavuzları tüm özelliklerini özet bir şekilde sunmaktadır.</p>
<pre><strong>$</strong> <span style="color: #808080;">unison -doc topics</span>
Documentation topics:
          about About Unison
         people People
          lists Mailing Lists and Bug Reporting
         status Development Status
        copying Copying
            ack Acknowledgements
        install Installation
       tutorial Tutorial
         basics Basic Concepts
       failures Invariants
        running Running Unison
            ssh Installing Ssh
           news Changes in Version 2.13.15
Type "unison -doc &lt;topic&gt;" for detailed information about &lt;topic&gt;
or "unison -doc all" for the whole manual
<strong>$</strong></pre>
<p>Yukarıdaki komutla unison içinde yazılı olan tüm kullanım kılavuzlarının konuları listelenmektedir. Okumak istediğiniz kullanım kılavuzu için de &#8220;unison -doc konu&#8221; biçiminde komut vermelisiniz.</p>
<p>Unison&#8217;u kullanmak için ilgili kullanıcı ev dizininde ~/.unison adlı bir klasör oluşturulmalıdır. Bu klasör altında .prf uzantılı unison profile dosyaları oluşturulmalıdır. Ön tanımlı profile dosyası default.prf&#8217;dir. İçeriği aşağıdaki gibidir.</p>
<pre>root = /home/kullanici/evraklar/aprojesi
root = ssh://kullanici@dosyasunucusu/evraklar/aprojesi
auto = true</pre>
<p>Yukarıdaki örnek ssh üstünden iki farklı klasör kökünün eşit tutulması için oluşturulmuş bir örnektir. Yukarıda iki adet root tanımı, bir adet auto tanımı yer almaktadır. root tanımları eşitlenecek olan klasörleri temsil eder. Auto tanımı da true olarak yapılandırılırsa çakışma olmayan durumlarda kullanıcı onayı alınmaksızın eşitlemenin iki taraflı olarak otomatik yapılmasını tercih ettiğimiz manasına gelmektedir. Profile dosyasında kullanılabilecek tüm tanımları ve ne işe yaradıklarını &#8220;unison -doc running&#8221; komutu ile öğrenebiliyoruz. Tüm tanımlar komut satırından kullanılabildiği gibi yukarıdaki gibi profile dosyası aracılığı ile de kullanılabilmektedir. Aşağıdaki örnek yukarıdaki örneğin komut satırından kullanılma biçimidir ve ilave olarak SSH üstü sıkıştırma özelliği etkinleştirilmiş halidir:</p>
<pre><strong>$</strong> <span style="color: #808080;">unison /home/kullanici/evraklar/aprojesi ssh://kullanici@dosyasunucusu/evraklar/aprojesi -auto true -rshargs "-C"</span></pre>
<p>Windows ortamında Unison aynı biçimde kullanılabilmektedir. Bilgisayarlar arası eşitleme ya Unison&#8217;un kendisinin sağlamış olduğu socket bağlantı özelliği ya da rsh / ssh ile yapılabilir. Socket bağlantı özelliği herhangi bir kullanıcı doğrulaması özelliği sağlamadığından dolayı güvenilir değildir. SSH ise hem kullanıcı doğrulaması sağlamaktadır hem de iletişim için şifreli altyapı sağlamaktadır. Windows ortamında ssh veya sshd için Cygwin ile gelen SSH&#8217;ın kullanılması unison tarafından önerilmektedir (ssh kurulumu için &#8220;unison -doc ssh&#8221;). Unison&#8217;un windows sürümünün .unison klasörünün yeri windows kullanıcı profilinin köküdür. Örneğin &#8220;ismet&#8221; isimli kullanıcı için &#8220;C:\Documents and Settings\ismet\.unison&#8221; klasörüdür. Unison için GTK tabanlı görsel arayüz de kullanılabilir.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2008/08/19/ortak-dosya-kullanimi-unison/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>İnternetten Bilgisayarınızı Açın &#8211; WakeOnLan</title>
		<link>http://www.sezaiyilmaz.com/2008/08/10/internetten-bilgisayarinizi-acin-wakeonlan/</link>
		<comments>http://www.sezaiyilmaz.com/2008/08/10/internetten-bilgisayarinizi-acin-wakeonlan/#comments</comments>
		<pubDate>Sun, 10 Aug 2008 10:24:11 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistem Yönetimi]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ağ arayüzü]]></category>
		<category><![CDATA[airties]]></category>
		<category><![CDATA[airties rt210]]></category>
		<category><![CDATA[bilgisayar internet üzerinden nasıl açılır]]></category>
		<category><![CDATA[bilgisayar uzaktan nasıl açılır]]></category>
		<category><![CDATA[bilgisayarınızı uzaktan açın]]></category>
		<category><![CDATA[broadcast]]></category>
		<category><![CDATA[ethernet]]></category>
		<category><![CDATA[ethernet kartı]]></category>
		<category><![CDATA[etherwake]]></category>
		<category><![CDATA[ethtool]]></category>
		<category><![CDATA[internetten bilgisayarınızı açın]]></category>
		<category><![CDATA[kesintisiz güç kaynağı]]></category>
		<category><![CDATA[kgk]]></category>
		<category><![CDATA[kılavuz]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[man]]></category>
		<category><![CDATA[manual page]]></category>
		<category><![CDATA[NAT]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[network interface]]></category>
		<category><![CDATA[ozenda]]></category>
		<category><![CDATA[pat]]></category>
		<category><![CDATA[philips]]></category>
		<category><![CDATA[port address translation]]></category>
		<category><![CDATA[rt210]]></category>
		<category><![CDATA[sna]]></category>
		<category><![CDATA[ups]]></category>
		<category><![CDATA[wake on lan]]></category>
		<category><![CDATA[wakeonlan]]></category>
		<category><![CDATA[wol]]></category>
		<category><![CDATA[yayın]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=353</guid>
		<description><![CDATA[Bilgisayarımı uzaktan açabilmek benim için hep bir ihtiyaç olmuştur. Özellikle ofiste çalışırken acilen evdeki bilgisayardan almam gereken bazı dosyalar olabiliyor. Bu duruma en az 1-2 ayda bir düşmüşümdür. Ofis ile ev arası 17 km olunca &#8220;ah şu işi yapmamı sağlayacak birşeyler olsa&#8221; derdim. Bazen evde bilgisayar bilgisi sıfır olan Mert&#8217;in bakıcısı veya annem olabiliyor. Onlara [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-355" title="ethernet" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/08/ethernet-150x150.jpg" alt="" width="105" height="105" />Bilgisayarımı uzaktan açabilmek benim için hep bir ihtiyaç olmuştur. Özellikle ofiste çalışırken acilen evdeki bilgisayardan almam gereken bazı dosyalar olabiliyor. Bu duruma en az 1-2 ayda bir düşmüşümdür. Ofis ile ev arası 17 km olunca &#8220;ah şu işi yapmamı sağlayacak birşeyler olsa&#8221; derdim. Bazen evde bilgisayar bilgisi sıfır olan Mert&#8217;in bakıcısı veya annem olabiliyor. Onlara bilgisayarın monitor olmadığını, üzerinde iki düğmesi olan kara kutuyu ve doğru düğmeleri tarif edene kadar bir ömür geçiyordu.</p>
<p>Yıllardır BIOS ayarlarında Ağ Üzerinden Uyan (ing. Wake on Lan) ayarını görmekteydim ama hiç kullanmak nasip olmamıştı. İlk çıktığı zamanlar da bu teknolojiden yararlanmamızı sağlayacak araçlar da pek yoktu. Bu teknolojiden yararlanmanın artık vakti gelmiştir diye düşündüm ve konuyu araştırıp uygulamaya koydum.<span id="more-353"></span></p>
<p>WoL özelliğinin çalışma mantığı şu şekilde. Öncelikle BIOS&#8217;tan WoL etkinleştirme ayarı yapılıyor. Bu ayar bilgisayar kapalıyken ethernet kartının elektrikle beslenip kablo üzerindeki sinyalleri işleyebilir olmasını sağlıyor. Ancak maalesef bu yeterli değil. Öncelikle bir işletim sistemi tarafından kapatılmış olması gerekiyor. Çünkü kablo üzerindeki sinyaller ethernet driverının ethernet belleğinde bırakmış olduğu bir miktar kod ile sistemi uyarabiliyor. Elektrik kesintisi sonrasında ethernet kartında bu kod yer almadığı için WoL özelliği BIOS&#8217;ta açık ve etkin olsa bile açılmayacaktır. Bilgisayarı bir MS-Windows işletim sistemi kapattıysa WoL %99 ihtimalle çalışacaktır. Bir Linux kapattıysa WoL %1 ihtimalle çalışacaktır. Bu duruma üzülmenize gerek yok. Linux&#8217;te ethernet üzerinde bu kodu bırakması için bir ayar yapmak gerekiyor. Tek sıkıntı bu. Bu ayardan sonra %99 ihtimalle Linux üzerinde de WoL çalışacaktır. Hatta Linux&#8217;te bu ayarla birlikte o kadar güzel seçenekler var ki Windows&#8217;un otomatik sağladığı WoL özelliği halt etmiş diyebilirim (donanımın da bu özellikleri destekliyor olması gerekiyor).</p>
<p><span style="text-decoration: underline;"><strong>Linux&#8217;te WoL Ayarı:</strong></span></p>
<pre><strong>root@sistem#</strong> <span style="color: #808080;">ethtool -s eth0 wol g</span></pre>
<p>Yukarıdaki komutun işletiminden sonra Linux kapanırken ethernet kartı üzerinde WoL kodunu bırakacaktır. Bu Windows&#8217;un bıraktığı kod ile uyumlu olandır. Diğer güvenlik ve güvensizlik seçenekleri için ethtool aracının kılavuz sayfalarını (ing. manual page) okumanızı öneririm. Yukarıdaki komut bu ayarı kalıcı yapmamaktadır. Kalıcı olması isin sistem açılış veya kapanış sürecinde işletilen betiklere dahil edilmesi gerekmektedir. Hem Linux hem Windows için geçerli olan birşey var ki bilgisayarınız bu şekilde kapalıyken elektrikler kesilir ve gelirse ethernet kartındaki WoL kodu yok olmuş olacak ve ne kadar uğraşırsanız uğraşın açılmayacaktır. Dolayısı ile bilgisayarınız kapalı da olsa KGK (ing. UPS) ile beslenmeye devam etmesi önerilir. Son bir hatırlatma olarak da ethernet kartınız PCI genişleme yuvasına takılı ise ayrıca bir WoL kablosunun bulunması ve anakarttaki ilgili pinlere bağlatısının yapılmış olması gerekmektedir. Ethernet kartı anakarta bütünleşik ise WoL kablolaması için özel birşey yapmanız gerekmeyecek.</p>
<p>Bu teknoloji nasıl çalışyor? Öncelikle sihirli paket (ing. magic packet) hazırlamalı ve bu sihirli paketi ağ üzerindeki kapalı olan ancak WoL şartlarını sağlayan bilgisayarınıza ulaştırmalısınız. Sihirli paket aslında 6 byte&#8217;lik 0xFFFFFFFFFFFF değerinden sonra ilgili ethernet kartının MAC adresini 16 kez peş peşe içeren özel bir UDP paketidir. Ancak uyandırılacak olan sistem kapalı olduğu için UDP paketinin hedefine ulaşması amacıyla hedef MAC adresi değerinde (ing. destination mac address) tüm ağa yayılması için FF:FF:FF:FF:FF:FF yayın adresini (ing. broadcast address) kullanılabilir. Tüm bunların normal ağ veya tcp/ip programları ile yapılması mümkün değil (switch&#8217;in arp çağrılarına kapalı olduğu için cevap vermeyecektir, dolayısı ile nerede olduğunu asla bilemezsiniz, bu nedenle normal socket programlama ile WoL uygulaması yapılamaz). Dolayısı ile sadece bu amaca yönelik packet injection kütüphaneleri kullanılarak geliştirilmiş uygulamalar kullanılır. WoL şartlarını sağlayan kapalı bilgisayarların ethernet kartına bu sihirli paket ulaştığında, kendi MAC adresini peş peşe 16 kez görünce anakarta sanki düğmeye basılmış gibi açılma sinyali gönderilmekte ve bilgisayar açılmaktadır.</p>
<p>Linux ortamında <strong>etherwake</strong> veya <strong>wakeonlan</strong> araçları kullanılabilir. Packet injection işlemi yapılacağı için root kullanıcısı hakları ile kullanılmasını öneririm.</p>
<pre><strong>root@sistem#</strong> <span style="color: #808080;">etherwake 00:13:23:DB:BD:FA</span></pre>
<p>Yukarıdaki komutu çalıştırdığımızda ağımızda yer alan ve WoL şartlarını sağlayan 00:13:23:DB:BD:FA MAC adresli bilgisayar açılacaktır.</p>
<p>Buraya kadar herşey güzel. Peki ya ofisten evdeki bilgisayarı internet üzerinden nasıl açarız? Eğer evinizde ulaşabileceğiniz 7/24 açık bir sunucunuz varsa onun üzerinden yapabilirsiniz. Ya o da yoksa? Bu durumda şansınızın yaver gitmesi için duğa etmelisiniz. Çünkü geri kalan tamamen ADSL (veya diğer türlerdeki) router/firewall&#8217;unuzun yeteneğidir. Bazı ADSL router&#8217;larının PAT (ing. Port Address Translation) ayarlarında dış UDP port 9, hedef iç UDP port 9, hedef iç IP 192.168.0.255 gibi yayın adresi (ing. broadcast) olan iç adres belirtilebiliyor. Bu durumda dış IP&#8217;nizin 9 numaralı UDP portune gelecek olan her paket içteki tüm ağınıza yayılmış olacak. Sade ve sadece sihirli paketin içeriği kendi mac adresi ile eşleşen bilgisayar açılacaktır.</p>
<p>Peki ya ADSL router&#8217;ınız yayın adresini yazmanıza izin vermiyorsa? Benim durumum da aynı bu şekilde. Yerli Airties firmamızın arayüzünde Türkçe çeviri yaparak fason olarak piyasamıza soktuğu, Çinli Arcadyan&#8217;ın üretiği ve dünya piyasasında Philips, SNA, Ozenda gibi değişik markalarda da görebildiğimiz Airties rt210&#8242;un ilk sürümünü kullanmaktayım. Çok güzel, sağlam, ısıya dayanıklı, mükemmel bir ürün, öyle olmasa Philips ve SNA tercih etmezlerdi. Bu alet NAT ayarlarındaki Virtual Server bölümünde iç hedef IP adresi olarak yayın adresi girilmesine kesinlikle izin vermiyor. Sizin durumunuz da bu şekildeyse WoL&#8217;ı internet üzerinden çalıştırmak için küçük bir şansınız daha olabilir. Ben o küçük şansa sahip olanlardan birisiyim ve Airties rt210&#8242;da bu iş oluyor. Hemen ayrıntılara girelim.</p>
<p>Bir komut isteminden Airties&#8217;a telnet ile bağlantı kuruyorsunuz. Windows kullanıcıları Komut İstemini kullanabilirler, ben Linux üzerinden örnekleyeceğim.</p>
<p>=================================</p>
<pre><strong>kullanici@sistem$</strong> <span style="color: #808080;">telnet 192.168.2.1</span>
User Name : root
User Password : **********</pre>
<pre>Telnet Manager Version 0.44</pre>
<pre>Type ? for Command-Sensitive Help, TAB match command</pre>
<pre>ROOT :&gt; dhcp fixed add 00:13:23:DB:BD:FA 192.168.2.100
ROOT :&gt; show dhcp

(1) DHCP Server Parameters
    Service(TAB)       : Enable
    Interface(TAB)     : LAN 1
    Default Gateway    : 192.168.2.1
    Subnet Mask        : 255.255.255.0
    DHCP Start IP      : 192.168.2.10
    DHCP IP Count      : 155
    Leased Time (sec.) : 1209600
    Name Server IP     : 192.168.2.1

(2) List Fixed Host Entries
  No   Ethernet  Address     IP  Address
 ---- ------------------- -----------------
   1  00:13:23:DB:BD:FA    192.168.2.100

(3) DHCP Client Parameters
    Client Functionality      : Disable
    Activate interface number : ATM 1

ROOT :&gt; write

Do you want to write the configuration(y/n) ? : y
Write configuration successful !!!

Do you want to restart the system to activate new configuration(y/n) ? : n

Cancel by user !!!
ROOT :&gt; exit

CONF :&gt; exit

USER :&gt; exit

Do you want to disconnect(y/n) ?  : y

 Disconnect by user.....Connection closed by foreign host.
<strong>kullanici@sistem$</strong></pre>
<p>=================================</p>
<p>Yukarıdaki telnet oturumunda açıkça görülmektedir ki DHCP ayarlarında bir MAC adresi için static IP rezervasyonu yaptım. Web arayüzünde olmayan bunun gibi ilave özelliklere de telnet komut isteminden ulaşabilirsiniz. Hatta Philips ya da SNA&#8217;in firmware&#8217;larını yazarsanız QoS / VLAN gibi ayarlarınız da olacak. <img src='http://www.sezaiyilmaz.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Airties ile uğraşmayı bırakıp konumuza geri dönelim.</p>
<p>Bu ayardan sonra Airties&#8217;ın web tabanlı arayüzünün NAT -&gt; Virtual Server ayarlarında dışa geken UDP 9 portu paketlerini içteki 192.168.2.100&#8242;ün UDP 9&#8242;una yönlendir ayarı yapıp kaydetmek gerekiyor. Bu aşamadan sonra ofisinizden evinizin dış IP&#8217;sini aşağıdaki gibi hedef göstererek evinizdeki WoL şartlarını sağlayan kapalı bilgisayarınızı uyandırabilirsiniz.</p>
<pre><strong>kullanici@sistem$</strong> <span style="color: #808080;">wakeonlan -i 81.214.22.200 -p 9 00:13:23:DB:BD:FA</span>
Sending magic packet to 81.214.22.200:9 with 00:13:23:DB:BD:FA
<strong>kullanici@sistem$</strong></pre>
<p>Bu yöntemle aylarca yaşadım. Ta ki evimde bir Linux sunucum oluncaya kadar. İhtiyacı olanların denemesini öneririm. Son bir hatırlatma, şansınız yaver gitmezse ve ADSL router&#8217;ınız Airties gibi davranmıyorsa tüm bu çabalarınız boşa olabilir.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2008/08/10/internetten-bilgisayarinizi-acin-wakeonlan/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
