<?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>Linux Öğrenme Zamanı &#124; www.linuxogren.com</title>
	<atom:link href="http://www.linuxogren.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.linuxogren.com</link>
	<description>Haydi Durma linux Öğrenmeye Başla :)</description>
	<lastBuildDate>Tue, 17 Jan 2012 09:59:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ubuntu 10.04 üzerine java kurulumu</title>
		<link>http://www.linuxogren.com/ubuntu-10-04-uzerine-java-kurulumu.html</link>
		<comments>http://www.linuxogren.com/ubuntu-10-04-uzerine-java-kurulumu.html#comments</comments>
		<pubDate>Tue, 17 Jan 2012 09:59:35 +0000</pubDate>
		<dc:creator>Sadık Öztürk</dc:creator>
				<category><![CDATA[Linux Makaleleri]]></category>
		<category><![CDATA[install java]]></category>
		<category><![CDATA[java kullanımı]]></category>
		<category><![CDATA[java kur]]></category>
		<category><![CDATA[java linux kurulumu]]></category>
		<category><![CDATA[java nedir]]></category>
		<category><![CDATA[linux java]]></category>
		<category><![CDATA[neden java gerekli]]></category>
		<category><![CDATA[ubuntu 10.04 java]]></category>
		<category><![CDATA[ubuntu java kurulumu]]></category>
		<category><![CDATA[ubuntuya java kuralım java linux]]></category>

		<guid isPermaLink="false">http://www.linuxogren.com/?p=638</guid>
		<description><![CDATA[Kısaca java hakkında bilgi vermek isterim;
Java, ilk olarak Sun Microsystems tarafından 1995&#8242;te piyasaya sunulan bir programlama dili ve bilgi işlem platformudur. Yardımcı programlar, oyunlar ve ticari uygulamalar gibi son teknoloji ürünü pek çok program bu teknolojiyi temel alır. Java, dünya çapında 850 milyon bilgisayarda ve cep telefonları ile televizyonlar gibi milyarlarca aygıtta çalışmaktadır.
Java yazılımı niye [...]]]></description>
			<content:encoded><![CDATA[<p>Kısaca java hakkında bilgi vermek isterim;</p>
<p>Java, ilk olarak Sun Microsystems tarafından 1995&#8242;te piyasaya sunulan bir programlama dili ve bilgi işlem platformudur. Yardımcı programlar, oyunlar ve ticari uygulamalar gibi son teknoloji ürünü pek çok program bu teknolojiyi temel alır. Java, dünya çapında 850 milyon bilgisayarda ve cep telefonları ile televizyonlar gibi milyarlarca aygıtta çalışmaktadır.</p>
<p>Java yazılımı niye gerekir?</p>
<p>Pek çok uygulama ve web sitesi, sisteminizde Java yüklü değilse çalışmaz. Üstelik bu tür uygulamaların sayısı gün geçtikçe artmaktadır. Java hızlı, güvenli ve güvenilir bir teknolojidir. Bugün Java teknolojisini dizüstü bilgisayarlardan veri merkezlerine, oyun konsollarından bilimsel amaçlı süper bilgisayarlara, cep telefonlarından Internet&#8217;e kadar her yerde bulabilirsiniz!</p>
<p>Java&#8217;yı indirmek ücretsiz mi?</p>
<p>Evet, Java yazılımını ücretsiz olarak indirebilirsiniz. En son sürümü http://java.com sitesinde bulabilirsiniz.</p>
<p>Neden en son Java sürümüne geçmeliyim?</p>
<p>En son Java sürümü, bilgisayarınızda çalıştırdığınız Java uygulamalarının başarım, kararlılık ve güvenilirlik özelliklerini artırmaya yönelik önemli yenilikleri içerir. Bu ücretsiz güncelleştirmeyi yüklediğinizde, Java uygulamalarınızın güvenli ve verimli biçimde çalışacağından emin olabilirsiniz.</p>
<p>AYRINTILI TEKNIK BILGI</p>
<p>Başlangıçta OAK olarak anılan bu platformun adı 1995&#8242;te Java programlama dili olarak değiştirildi.</p>
<p>Java yazılımını indirdiğimde bilgisayarıma neler yüklenecek?</p>
<p>Java yazılımını indirdiğinizde bilgisayarınıza yüklenecek olan yazılım Java Runtime Environment ya da kısaca JRE&#8217;dir. JRE, Java Virtual Machine (JVM) yazılımını, Java platformunun çekirdek sınıflarını ve bunları destekleyen Java platformu kitaplıklarını içerir. JRE, Java yazılımının çalışma zamanı bölümüdür; yani yazılımı Web tarayıcınızda çalıştırmak için gereken asıl bölümdür. Java yazılımını indirdiğinizde yalnızca ihtiyacınız olan yazılımlar yüklenir; casus yazılımlar ya da virüsler değil.</p>
<p>Java Plug-in yazılımı nedir?</p>
<p>Java Plug-in yazılımı Java Runtime Environment (JRE) yazılımının bir bileşenidir. JRE, Java programlama diliyle yazılmış küçük uygulamaların (applet) çeşitli tarayıcılarda çalışmasını sağlar. Java Plug-in yazılımı tek başına çalışan bir program değildir ve JRE&#8217;den ayrı olarak yüklenemez.</p>
<p>Java Virtual Machine ve JVM terimlerini duydum. Bu Java yazılımı mıdır?</p>
<p>Java Virtual Machine, Java yazılımının bileşenlerinden yalnızca biridir ve web etkileşimlerinden sorumludur. Java Virtual Machine, indirdiğiniz Java yazılım paketinde yerleşik olarak bulunur ve Java uygulamalarının çalıştırılmasına yardımcı olur.</p>
<p>öncelikle repository eklememiz geekiyor.</p>
<p><code>sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"<br />
sudo apt-get update</code></p>
<p>şimdi artık java &#8216;yı kurabiliriz.</p>
<p><code>sudo apt-get install sun-java6-jre sun-java6-plugin</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxogren.com/ubuntu-10-04-uzerine-java-kurulumu.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ntp server Kurulumu</title>
		<link>http://www.linuxogren.com/ntp-server-kurulumu.html</link>
		<comments>http://www.linuxogren.com/ntp-server-kurulumu.html#comments</comments>
		<pubDate>Mon, 11 Jul 2011 08:44:23 +0000</pubDate>
		<dc:creator>Sadık Öztürk</dc:creator>
				<category><![CDATA[Linux Makaleleri]]></category>

		<guid isPermaLink="false">http://www.linuxogren.com/?p=636</guid>
		<description><![CDATA[sudo aptitude -y install ntp 
kurulum bittikten sonra
sudo gedit /etc/ntp.conf 
# line 19: make it comment
# server 0.ubuntu.pool.ntp.org
# server 1.ubuntu.pool.ntp.org
# server 2.ubuntu.pool.ntp.org
# server 3.ubuntu.pool.ntp.org
# server ntp.ubuntu.com
# change servers for synchronization
server ntp1.jst.mfeed.ad.jp
server ntp2.jst.mfeed.ad.jp
server ntp3.jst.mfeed.ad.jp
 
# line 48: add the network range you allow to receive requests
restrict 10.0.0.0 mask 255.255.255.0 nomodify notrap

içeriği kaydetmeden önce restrict 10.0.0.0 yazan [...]]]></description>
			<content:encoded><![CDATA[<p><code>sudo aptitude -y install ntp </code></p>
<p>kurulum bittikten sonra</p>
<p><code>sudo gedit /etc/ntp.conf </code></p>
<p><code># line 19: make it comment<br />
# server 0.ubuntu.pool.ntp.org<br />
# server 1.ubuntu.pool.ntp.org<br />
# server 2.ubuntu.pool.ntp.org<br />
# server 3.ubuntu.pool.ntp.org<br />
# server ntp.ubuntu.com<br />
# change servers for synchronization<br />
server ntp1.jst.mfeed.ad.jp<br />
server ntp2.jst.mfeed.ad.jp<br />
server ntp3.jst.mfeed.ad.jp</code></p>
<p><code> </code></p>
<p><code># line 48: add the network range you allow to receive requests<br />
restrict 10.0.0.0 mask 255.255.255.0 nomodify notrap<br />
</code></p>
<p>içeriği kaydetmeden önce restrict 10.0.0.0 yazan kısmında sizin kendi networkünüze göre değiştirin</p>
<p><code> /etc/init.d/ntp restart </code><br />
alttaki komut ntp server &#8216;ın çalışdığını verify etmek içindir.<br />
<code>ntpq -p</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxogren.com/ntp-server-kurulumu.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rsync ve Backup İşlemi</title>
		<link>http://www.linuxogren.com/rsync-ve-backup-islemi.html</link>
		<comments>http://www.linuxogren.com/rsync-ve-backup-islemi.html#comments</comments>
		<pubDate>Mon, 22 Nov 2010 13:54:49 +0000</pubDate>
		<dc:creator>Sadık Öztürk</dc:creator>
				<category><![CDATA[Linux Makaleleri]]></category>
		<category><![CDATA[remote yedek]]></category>
		<category><![CDATA[Rsync ile yedek almak]]></category>
		<category><![CDATA[Rsync komutu]]></category>
		<category><![CDATA[Rsync nasıl]]></category>
		<category><![CDATA[Rsync nasıl kullanılır]]></category>
		<category><![CDATA[Rsync nedir]]></category>
		<category><![CDATA[Rsync parametreleri]]></category>
		<category><![CDATA[Rsync yedek]]></category>
		<category><![CDATA[Rsync yedek aracı]]></category>

		<guid isPermaLink="false">http://www.linuxogren.com/?p=631</guid>
		<description><![CDATA[Yedekleme, sistem yönetiminin en zor ve en ihmal edilen parçasıdır. Ve aynı zamanda en önemli kısmıdır. Donanım problemlerine, güvenlik açıklarına, ve en önemlisi son kullanıcı hatalarına karşı son çaredir. Pahalı teyp sürücülerine, hatalı programlara binlerce dolar harcanırken aslında çok daha iyi bir çözüm var : Rsync .
Rsync, oldukça sık kullanılan güzel bir dosya transfer uygulamasıdır. [...]]]></description>
			<content:encoded><![CDATA[<p>Yedekleme, sistem yönetiminin en zor ve en ihmal edilen parçasıdır. Ve aynı zamanda en önemli kısmıdır. Donanım problemlerine, güvenlik açıklarına, ve en önemlisi son kullanıcı hatalarına karşı son çaredir. Pahalı teyp sürücülerine, hatalı programlara binlerce dolar harcanırken aslında çok daha iyi bir çözüm var : Rsync .</p>
<p>Rsync, oldukça sık kullanılan güzel bir dosya transfer uygulamasıdır. Yedekleme ya da senkronizasyon işlemlerinde sadece değişen dosyaların (incremental) kopyalanmasını sağlayarak işlemleri hızlandırmayı amaçlamaktadır. Rsync ile lokal yedekleme yapılabildiği gibi uzaktaki bir sisteme ssh üzerinden kopyalama yapabilmek de mümkündür.<br />
Özellikle, bir çok dosya barındıran büyük dizinlerin hızlıca yedeklenme ihtiyacı gibi durumlar için ideal olan rsync, web sunucularda, kök dizinlerin birden fazla sistemde senkronize olarak tutulması (yansılama) gibi işlemler için sıklıkla kullanılmaktadır.</p>
<p>Özellikle, bir çok dosya barındıran büyük dizinlerin hızlıca yedeklenme ihtiyacı gibi durumlar için ideal olan rsync, web sunucularda, kök dizinlerin birden fazla sistemde senkronize olarak tutulması (yansılama) gibi işlemler için sıklıkla kullanılmaktadır.</p>
<p>Rsync’nin özelliklerinden bahsedelim.<br />
Tüm bir dizinin ya da dosya sisteminin yedeklenebilmesi.<br />
Root yetkisine gereksinim duyulmaması.<br />
Lokal sistem üzerinde yedekleme/senkronizasyon.<br />
Lokal sistemden, uzaktaki sisteme yedekleme/senkronizasyon.<br />
Uzaktaki sistemden, lokal sisteme yedekleme/senkronizasyon.<br />
Network üzerinden transfer için ssh kullanabilme.<br />
Rsync daemon modu ile sunucu desteği.<br />
Exclude anahtarı ile spesifik dosya/dizinlerin, dosya tiplerinin hariç tutulabilmesi.</p>
<p>Debian ve ubuntu gibi dağıtımlarda kurulum için aşağıdaki işlem yapılır</p>
<p>Kurulum için:<br />
<code>apt-get install rsync</code><br />
Kullanımı ise:<br />
<code>rsync –a kaynakdizin hedefdizin</code><br />
Eğer yedekler uzaktaki bir sisteme transfer edilmek istenirse komut aşağıdaki gibi kullanılabilir. (Elbette, her iki sistemde de rsync kurulu olmalıdır.)<br />
<code>rsync -a kaynakdizin uzaksistem:hedefdizin</code><br />
Eğer yedekler, uzaktaki bir sistemden alınacaksa;<br />
<code>rsync -a uzaksistem:kaynakdizin hedefdizin</code><br />
Komutta kullanılan -a, [--archive] anahtarı</p>
<p>“-a anahtarının parametreleri de aşağıdaki gibidir;”</p>
<p>-r : Kopyalama işlemi, alt dizinlerde kapsanacak şekilde recursive olarak yapılır.<br />
-l : Sembolik linkler, sembolik link olarak kopyalanır.<br />
-p : Dosya ve dizinlerin izin değerleri korunur.<br />
-t : Dosyaların değiştirilme (mtime) bilgisi de transfer edilir. Senkronizasyon işlemleri için bu anahtar kullanılmalıdır.<br />
-g : Dosya ve dizinlerin grup bilgileri korunur.<br />
-o : Dosya ve dizinlerin sahip bilgileri korunur.<br />
-D : Device dosyaları vs hedefte oluşturulur.<br />
-H : Hard linkleri de transfer eder.<br />
-z : Transfer sırasında dosyaları sıkıştırır.<br />
&#8211;exclude : Belirtilen PATTERN, kopyalama işleminden muaf tutulur. Örnekler bölümünde detaylandırılacak.<br />
&#8211;dry-run : Komut çalıştırıldığı zaman, hangi işlemlerin gerçekleşeceği gösterilir ancak işlemler gerçekte uygulanmaz.<br />
&#8211;delete :  Kaynak tarafta artık bulunmayan dosyalar, hedef taraftan da silinir. Dikkatli kullanmanızı öneririm.<br />
&#8211;human-readable : Çıktılar, human-readable (anlaşılır) formatta verilir.</p>
<p>Size birkaç örnek de vermekte fayda var  sürekli terimlerle konuşmak olmaz…</p>
<p><strong>Lokal Diskler Arası Kopyalama</strong><br />
Lokal yedekleme işlemleri için rsync komutu öntanımlı hali ile kullanılabilir. Örenek verecek olursak /home/kullanici adlı şahsi dosyalarınızın bulunduğu dizini, sistemenizde /media/disk/ dizinine bağlanmış olan harici diskinize aktarmak için aşağıdaki komutu kullanabiliriz.<br />
<code>rsync -av /home/kullanici/ /media/disk/yedekler/</code><br />
<strong> Lokalden Uzaktaki Sisteme Kopyalama</strong><br />
Gene yukarıdaki örnekten gidersek, /home/kullanici/ dizininde bulunan dosyaları, uzaktaki bir sunucuya yedeklemek için rsync şu şekilde kullanabiliriz.<br />
<code>rsync -av /home/kullanici/ kullanici@192.168.12.12:yedekler/</code><br />
Komutu çalıştırdığınız zaman, 192.168.12.12 ip’li sisteme SSH üzerinden bağlantı sağlanacak ve kullanıcı şifreniz sorulacaktır. Şifrenizi girdikten sonra /home/kullanici/ dizininde bulunan tüm dosyalar, uzaktaki sistemin /home/kullanici dizini altında oluşturulan yedekler klasörüne SSH üzerinden (güvenli olarak) kopyalanacaktır.<br />
Şifre sorulmamasını istediğiniz durumlar için uzaktaki sisteme key-based authentication (anahthar üzerinden kimlik doğrulaması) ile erişebilmek üzere sisteminizi yapılandırmanız gerekir.</p>
<p><strong>Uzak Sistemden Lokale Kopyalama</strong><br />
Bir önceki örneğin tersi olan bu kopyalama işleminde, uzaktaki bir sistemde bulunan bir dizin, lokaldeki bir dizine aşağıdaki şekilde transfer edilebilir:<br />
<code>rsync -av root@201.201.52.52:/yedekler/ /yedekler/</code><br />
Bu şekilde, 201.201.52.52 ip’li sistemin /yedekler/ dizininde bulunan dosyalar, lokal sisteminizin /yedekler/ dizinine transfer edilecektir.</p>
<p><strong>Exclude (Hariç Tutma) İşlemleri</strong><br />
Rsync’in –exclude parametresi, yedekleme sırasında, kopyalamadan muaf tutulacak dosya tiplerinin ya da dizinlerin belirtilebilmesine yaramaktadır.Bu sayede de gereksiz veya istemediğimiz güvenli olmayan dosya ve klasörleri de taşımayız..</p>
<p>Örnek olarak, /home/kullanici isimli şahsi dizininizde bir çok pdf dosyası olması ve bu dosyaların yedeklenmesine gerek duymamanız gibi durumlarda, exclude parametresi ile iş görecektir:<br />
<code>rsync -av --exclude '*.pdf' /home/kullanici/ root@201.201.52.52:/yedekler/</code><br />
Böylece, pdf uzantılı dosyalara hariç, /home/kullanici/ dizinindeki tüm dosyalar, 201.201.52.52 ip’li sistemin /yedekler/ dizinine kopyalanacaktır.</p>
<p>–exclude parametresi, dosyalar için olduğu gibi dizinler için de kullanılabilmektedir. Örneğin aşağıdaki komut, /home/kullanici/ dizini altındaki “mustafayalcin” isimli klasoru yedekleme işleminden hariç tutmaktadır.<br />
<code>rsync -av --exclude 'mustafayalcin' /home/kullanici/ root@201.201.52.52:/yedekler/</code></p>
<p><strong>Dry-Run</strong><br />
Kopyalama yapılacak yer test edilebilir. Bu da tabi veri güvenliği ve veri bütünlüğü açısından çok önemlidir.<br />
<code>rsync -avn /home/kullanici root@201.201.52.52:/yedekler/</code></p>
<p>Alıntıdır.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxogren.com/rsync-ve-backup-islemi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ssh ile server&#8217;a otomatik bağlanma scripti</title>
		<link>http://www.linuxogren.com/ssh-ile-servera-otomatik-baglanma-scripti.html</link>
		<comments>http://www.linuxogren.com/ssh-ile-servera-otomatik-baglanma-scripti.html#comments</comments>
		<pubDate>Fri, 12 Nov 2010 18:54:07 +0000</pubDate>
		<dc:creator>Sadık Öztürk</dc:creator>
				<category><![CDATA[Bash Script]]></category>
		<category><![CDATA[Linux Makaleleri]]></category>
		<category><![CDATA[otomatik ssh]]></category>
		<category><![CDATA[remote baglanti]]></category>
		<category><![CDATA[servera ssh]]></category>
		<category><![CDATA[ssh client]]></category>
		<category><![CDATA[ssh ile bağlantı]]></category>
		<category><![CDATA[ssh ile server]]></category>
		<category><![CDATA[ssh ile servera baglanti]]></category>
		<category><![CDATA[ssh otomatik]]></category>

		<guid isPermaLink="false">http://www.linuxogren.com/?p=628</guid>
		<description><![CDATA[Alttaki script ile ssh kullanarak otomatik ssh server olan herhangi bir yere bağlantı sağlayabilirsiniz.

#!/bin/bash
HOST="baglanilacak ip adresi yada dns name yazın"
USER="kullanici"
PASS="sifre"
CMD=$@
 
VAR=$(expect -c "
spawn ssh -o StrictHostKeyChecking=no $USER@$HOST $CMD
match_max 100000
expect \"*?assword:*\"
send -- \"$PASS\r\"
send -- \"\r\"
expect eof
")
echo "==============="
echo "$VAR"

]]></description>
			<content:encoded><![CDATA[<p>Alttaki script ile ssh kullanarak otomatik ssh server olan herhangi bir yere bağlantı sağlayabilirsiniz.</p>
<p><code><br />
#!/bin/bash</code></p>
<p><code>HOST="baglanilacak ip adresi yada dns name yazın"<br />
USER="kullanici"<br />
PASS="sifre"<br />
CMD=$@</code></p>
<p><code> </code></p>
<p><code>VAR=$(expect -c "<br />
spawn ssh -o StrictHostKeyChecking=no $USER@$HOST $CMD<br />
match_max 100000<br />
expect \"*?assword:*\"<br />
send -- \"$PASS\r\"<br />
send -- \"\r\"<br />
expect eof<br />
")<br />
echo "==============="<br />
echo "$VAR"<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxogren.com/ssh-ile-servera-otomatik-baglanma-scripti.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sed Kullanımı ve Örnekleri</title>
		<link>http://www.linuxogren.com/sed-kullanimi-ve-ornekleri.html</link>
		<comments>http://www.linuxogren.com/sed-kullanimi-ve-ornekleri.html#comments</comments>
		<pubDate>Tue, 08 Jun 2010 12:07:55 +0000</pubDate>
		<dc:creator>Sadık Öztürk</dc:creator>
				<category><![CDATA[Bash Script]]></category>
		<category><![CDATA[Sed Kullanımı ve Örnekleri]]></category>

		<guid isPermaLink="false">http://www.linuxogren.com/?p=623</guid>
		<description><![CDATA[1.Örnek (Dosya içinde string değiştirme)
Bir dosya içine aşağıdakileri yazıp kaydedin.
İçinde www.deu.edu.tr/berent gecen ifadeyi www.yahoo.com/hasan/sayfam olarak degistirelim
find . -name &#8220;*.htm&#8221; &#124; while read sfile
do sed &#8217;s/www.deu.edu.tr\/berent/www.yahoo.com\/hasan\/sayfam/g&#8217;  &#60; ${sfile} &#62; ${sfile}.tmp &#38;&#38; mv ${sfile}.tmp ${sfile}
done
dosyaya çalıştırma izni verin.
$ chmod 744 dosyaismi
$ ./dosyaismi
Baska bir örnekte diyelim ki basit olarak  /usr/bin&#8217;leri /usr/local/bin yapacaksiniz
$ sed  -e  [...]]]></description>
			<content:encoded><![CDATA[<p>1.Örnek (Dosya içinde string değiştirme)<br />
Bir dosya içine aşağıdakileri yazıp kaydedin.</p>
<p>İçinde www.deu.edu.tr/berent gecen ifadeyi www.yahoo.com/hasan/sayfam olarak degistirelim</p>
<p>find . -name &#8220;*.htm&#8221; | while read sfile<br />
do sed &#8217;s/www.deu.edu.tr\/berent/www.yahoo.com\/hasan\/sayfam/g&#8217;  &lt; ${sfile} &gt; ${sfile}.tmp &amp;&amp; mv ${sfile}.tmp ${sfile}<br />
done</p>
<p>dosyaya çalıştırma izni verin.</p>
<p>$ chmod 744 dosyaismi<br />
$ ./dosyaismi</p>
<p>Baska bir örnekte diyelim ki basit olarak  /usr/bin&#8217;leri /usr/local/bin yapacaksiniz</p>
<p>$ sed  -e  &#8217;s/\/usr\/bin/\/usr\/local\/bin/g&#8217; dosya &gt; yenidosya</p>
<p>2.Örnek (Dosya içinde satır silme)<br />
Bir dosyanın içinde şu ifadeler olsun.</p>
<p>aaaa 1.satir<br />
bbfgfga 2.satir<br />
cfgfg 3.satir<br />
dfgfgfgfa 4.satir<br />
asdasddfgfgfgfa 5.satir</p>
<p>Bu dosyadan ikinci satırı silmek için kullanacağınız aşağıdaki komutu kullanabilirsiniz.</p>
<p>$ sed -e &#8216;2 d&#8217; dosyaismi</p>
<p>Dosyayı çalıştırdığınızda ekrana çıktısı şu şekilde olacaktır.</p>
<p>aaaa 1.satir<br />
cfgfg 3.satir<br />
dfgfgfgfa 4.satir<br />
asdasddfgfgfgfa 5.satir</p>
<p>Görüldüğü gibi ekran çıktısında 2.satır yok.<br />
Bu değişikliği yeni bir dosyada saklamak için vereceğimiz komut şu şekilde olacaktır.</p>
<p>$ sed -e &#8216;2 d&#8217; dosyaismi &gt; yenidosyaismi</p>
<p>$ sed -e &#8216;2,4 d&#8217;  dosyaismi<br />
komutuyla ise dosyanın 2,3 ve 4. satırlarını kesmiş oluruz.</p>
<p>Ekran çıktısı ise şu şekilde olacaktır.</p>
<p>aaaa 1.satir<br />
asdasddfgfgfgfa 5.satir</p>
<p>$ sed -e &#8216;2 d&#8217; -e &#8216;4 d&#8217; dosyaismi<br />
komutuyla ise dosyanın sadece 2 ve 4. satırlarını kesip ekrana vermiş oluruz.</p>
<p>Ekran çıktısı ise şu şekilde olacaktır.</p>
<p>aaaa 1.satir<br />
cfgfg 3.satir<br />
asdasddfgfgfgfa 5.satir</p>
<p>Daha Karmaşık Örnekler:</p>
<p>1.Örnek</p>
<p>Dosyamızda aşağıdaki satırların olduğun varsayalım.</p>
<p>#include &#8220;strto.c&#8221;<br />
#include<br />
~</p>
<p>Burada #include &#8220;strto.c&#8221;  satırını #define _DB_H_  olarak degiştirmek istiyoruz.Komutumuz şu şekilde olacaktır.</p>
<p>$ sed &#8217;s/^#include &#8220;strto.c&#8221;/#define _DB_H_/&#8217; yardim</p>
<p>Dosyanın ekran çıkışı aşağıdaki duruma gelmiş olacaktır.</p>
<p>#define _DB_H_<br />
#include</p>
<p>2.Örnek</p>
<p>Bir dosyada değiştirilecek iki satır olsun.</p>
<p>Dosyamızın içindeki iki satırı değiştirmek istiyoruz.Bu dosyadaki ifadeler şöyle olsun.</p>
<p>#define TCL_VER &#8220;/usr/lib/tcl&#8221;<br />
#define TCL_LIBRARY_DIR  &#8220;/usr/include/tclcheck&#8221;</p>
<p>Bu iki satırı aşağıdaki gibi değiştirmek istiyoruz.</p>
<p>#define TCL_VER &#8220;/usr/local/lib/tcl/lib&#8221;<br />
#define TCL_LIBRARY_DIR &#8220;/usr/local/include/share/tclcheck&#8221;</p>
<p>$ sed &#8217;s/^#define TCL_VER \+&#8221;\/usr\/lib\/tcl&#8221;/#define TCL_VER &#8220;\/usr\/local\/lib\/tcl\/lib&#8221;/ ; s/^#define TCL_LIBRARY_DIR \+&#8221;<br />
\/usr\/include\/tclcheck&#8221;/#define TCL_LIBRARY_DIR &#8220;\/usr\/local\/include\/share\/tclcheck&#8221;/&#8217;</p>
<p>Burada dikkat edilecek nokta yukardaki komutun tek bir satır olmasıdır.</p>
<p>Eğer yapacağımız iş için dosya sayısı çoksa bazı kolaylıklardan yararlanmak gerekir.Basit bir script ile döngü şemamızı kuralım.Önce yukardaki uzun komutu bir dosyaya yazalım.Dosyamızın ismi degistir1 olsun.Ayrı bir dosya daha açalım ve ismi yap olsun.Bu dosya içinde aşağıdaki basit scripti oluşturalım.</p>
<p>find . -name &#8220;*.c&#8221; | while read sfile<br />
do<br />
./degistir1 &lt; ${sfile} &gt; ${sfile}.tmp &amp;&amp; mv ${sfile}.tmp ${sfile}<br />
done</p>
<p>Find komutu ile sonu .c ile biten dosyaları buluyoruz.Ve do ile her bulduğu dosyada degistir1 scriptinin iş yapmasını sağlıyoruz.</p>
<p>$ chmod 750 degistir1;chmod 750 yap<br />
$ ./yap</p>
<p>KISA İPUÇLARI</p>
<p>$ sed  s/ahmet/&#8221;\t&#8221;/g dosyaismi</p>
<p>İçinde ahmet stringi geçen bölümü tab karakterine çevirir.</p>
<p>$ sed  s/ahmet/&#8221; &#8220;/g dosyaismi</p>
<p>İçinde ahmet stringi geçen bölümü boşluk karakterine çevirir.</p>
<p>Daha geniş bilgi için man sed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxogren.com/sed-kullanimi-ve-ornekleri.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu Paket Yönetimi İle İlgili Soru Cevaplar</title>
		<link>http://www.linuxogren.com/ubuntu-paket-yonetimi-ile-ilgili-soru-cevaplar.html</link>
		<comments>http://www.linuxogren.com/ubuntu-paket-yonetimi-ile-ilgili-soru-cevaplar.html#comments</comments>
		<pubDate>Fri, 30 Apr 2010 11:18:26 +0000</pubDate>
		<dc:creator>Sadık Öztürk</dc:creator>
				<category><![CDATA[Linux Makaleleri]]></category>
		<category><![CDATA[Paket Listesi]]></category>
		<category><![CDATA[Paket nasıl kaldırılır]]></category>
		<category><![CDATA[Paket nasıl kurulur]]></category>

		<guid isPermaLink="false">http://www.linuxogren.com/?p=621</guid>
		<description><![CDATA[Bölüm 8. Paket Yönetimi




8.1. Paket kurmak istediğimde E tuşuna basıyorum ancak komut satırına düşüyor



Bu geçici bir problem, şu an için E yerine sadece Enter ile işlemi başlatabilirsiniz.




8.2. Kurmak istediğim paketin istediğim sürümünün deb paketi yok ne yapmalıyım?



Belki aradığınız paketin istediğiniz sürümünü  http://www.apt-get.org benzeri  gayri-resmi depolardan temin edebilirsiniz. Veya kullanmakta olduğunuz sürümün bir üstündeki [...]]]></description>
			<content:encoded><![CDATA[<h2>Bölüm 8. Paket Yönetimi</h2>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2531630"></a>8.1. Paket kurmak istediğimde <span><em>E</em></span> tuşuna basıyorum ancak komut satırına düşüyor</h2>
</div>
</div>
</div>
<p>Bu geçici bir problem, şu an için <span><em>E</em></span> yerine sadece <span><em>Enter</em></span> ile işlemi başlatabilirsiniz.</div>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2531655"></a>8.2. Kurmak istediğim paketin istediğim sürümünün deb paketi yok ne yapmalıyım?</h2>
</div>
</div>
</div>
<p>Belki aradığınız paketin istediğiniz sürümünü  <a href="http://www.apt-get.org/" target="_top">http://www.apt-get.org</a> benzeri  gayri-resmi depolardan temin edebilirsiniz. Veya kullanmakta olduğunuz sürümün bir üstündeki depoya bakıp paketiniz oralarda varsa, kaynak kodunu indirip kendi sisteminizde derleyerek deb paketini oluşturabilirsiniz.</p>
<p>Aradığınız paket unstable depoda yer alıyor olsun; Unstable depo için gerekli olan  <span><em>deb-src</em></span> satırını <span><em>/etc/apt/sources.list</em></span> dosyanıza ekleyiniz. Daha sonra;</p>
<pre>apt-get update
apt-get build-dep &lt;paket_ismi&gt;
apt-get -b source &lt;paket_ismi&gt;</pre>
<p>Şeklinde sisteminizde yeni bir deb paketi oluşturmaya çalışıp oluşan deb paketini kurmaya  çalışabilirsiniz.</p>
<p>Diğer yandan paketi Unstable depodan direk olarak indirip kurmayı deneyebilirsiniz.</p>
<p>Bu yöntemlerin hepsi, resmi olmayan ve problemlerle karşılaşma ihtimalinizin olduğu yöntemlerdir. Bu şekilde kurulan paketlerin %100 kararlı veya sorunsuz olarak çalışabileceği garanti edilemez. Ancak bu kesin sorun çıkarır anlamında da algılanmamalıdır.</p>
<div style="margin-left: 0.5in; margin-right: 0.5in;">
<table border="0" summary="Note">
<tbody>
<tr>
<td rowspan="2" width="25" align="center" valign="top"><img src="http://sss.debian-tr.org/images/note.png" alt="[Not]" title="Ubuntu Paket Yönetimi İle İlgili Soru Cevaplar" /></td>
<th align="left">Not</th>
</tr>
<tr>
<td colspan="2" align="left" valign="top">Şayet kaynak kodu üzerinde değişiklik yapmak istiyorsanız yukarıdaki son satırı <span><strong>-b</strong></span> parametresini dahil etmeden işletiniz.  Daha sonra kaynak kodun yer aldığı dizine geçerek yapmak istediğiniz değişiklikleri  yapıp <span><strong>fakeroot debian/rules binary</strong></span> veya <span><strong>dpkg-buildpackage -uc -us -rfakeroot</strong></span> komutunu işletiniz.</td>
</tr>
</tbody>
</table>
</div>
</div>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2531764"></a>8.3. Bir dosyanın hangi paket içerisinden çıktığını nasıl öğrenebilirim?</h2>
</div>
</div>
</div>
<p>Bu tür yöntemlerin hepsinde olduğu gibi bu işlem için birden fazla yöntem uygulamak mümkün.</p>
<div>
<ul type="disc">
<li> dpkg ile; <span><strong>dpkg -S /dosyanın/bulunduğu/yol/dosya.ismi</strong></span> şeklinde</li>
<li> apt-file aracını kullanarak;<span><strong>apt-file</strong></span> tüm paketler hakkında içerdikleri dosyalara ilişkin kayıtları tutar
<pre>apt-get install apt-file
apt-file update
apt-file search /dosyanın/bulunduğu/yol/dosya.ismi</pre>
<p>Bir paketin içeriğini aşağıdaki komutla listeleyebilirsiniz:</p>
<pre>apt-file list &lt;paket_ismi&gt;</pre>
</li>
<li> auto-apt aracı ile; Bu paket öntanımlı olarak apt-file auto-apt ile aynı kaynağı kullanır.</li>
<li><a href="http://packages.debian.org/" target="_top">http://packages.debian.org</a> adresindeki  sorgu panelini kullanarak aradığınız dosyanın hangi paket içerisinde çıktığını bulabilirsiniz.</li>
</ul>
</div>
<p>Daha detaylı bilgi için; <a href="http://www.debian.org/doc/manuals/apt-howto/ch-search.tr.html" target="_top">http://www.debian.org/doc/manuals/apt-howto/ch-search.tr.html</a></div>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2531865"></a>8.4. Aynı tür yazılımlardan sadece birisinin öntanımlı olarak ayarlanabilmesi</h2>
</div>
</div>
</div>
<p><span><strong>update-alternatives</strong></span> komutu ile aynı kategorideki yazılımlardan birisinin varsayılan olarak seçilebilmesini sağlayabilirsiniz.</p>
<p>Misal olarak; <span><strong>update-alternatives &#8211;display x-window-manager</strong></span> komutu ile sisteminizdeki mevcut Pencere Yöneticilerini görebilir, dilediğiniz birisini varsayılan olarak atayabilirsiniz. Herhangi bir Pencere Yöneticisini varsayılan olarak atama  yapabilmek için ise; <span><strong>update-alternatives &#8211;config x-window-manager</strong></span> komutunu kullanabilirsiniz.</p>
<p>Benzer şekilde sisteminizdeki tarayıcılardan birisini varsayılan olarak atayabilmek için anahtar kelime <span><em>www-browser</em></span> olacaktır. <span><strong>update-alternatives &#8211;config www-browser</strong></span> ile de varsayılan olarak belirlenmesini istediğiniz tarayıcınızı değiştirebileceksiniz. Masaüstü yöneticimizi değiştirebilmek için ise anahtar kelime  <span><em>x-display-manager</em></span> olacaktır.  Bu işlem için de  <span><strong>update-alternatives &#8211;config x-display-manager</strong></span> komutunu işletmek gerekecek.</p>
<p>Varsayılan editörümüzü değiştirebilmek için; <span><strong>update-alternatives &#8211;config editor</strong></span></p>
<p>Benzer şekilde örnekleri çoğaltmak mümkün olmakla birlikte tüm seçeneklerinizin, yani mevcut anahtar kelimelerinizin neler olduğuna <span><strong>ls -al /etc/alternatives</strong></span> komutu ile bakabilirsiniz.</div>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2531973"></a>8.5. Sistemdeki Paket Listesini Yedeklemek</h2>
</div>
</div>
</div>
<p>Sistemdeki paket listesini kaydetmek için; var olan</p>
<pre>dpkg --get-selections &gt; selections.txt</pre>
<p>Gerektiğinde başka bir makinede bu listeyi kullanarak hızlıca kurulum yapabilmek için;</p>
<pre>dpkg --set-selections &lt; selections.txt
apt-get deselect-upgrade</pre>
</div>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2532004"></a>8.6. Kurulu olan paketlerin listesini ve sürümlerini nasıl görebilirim?</h2>
</div>
</div>
</div>
<p>dpkg -l</p>
<p>komutu ile sisteminize kurduğunuz, kaldırdığınız tüm paketlerin listesini ve sürümlerini görebilirsiniz. Sisteminizde tamamıyle kurulu olan paketlerin listesini almak için aşağıdaki komut daha uygun olacaktır.</p>
<p>dpkg -l | awk &#8216;/^ii/ {print}&#8217;</p>
<p>Bu konudaki detaylar için daha sonraki soru ve cevapları takip ediniz.</p></div>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2532037"></a>8.7. Paketleri nasıl bulabilirim?</h2>
</div>
</div>
</div>
<p><a href="http://packages.debian.org/" target="_top">http://packages.debian.org</a> adresinden  aradığınız paketi sorgulayarak bulabilirsiniz, veya sisteminiz üzerinden de benzer sorgulamayı  yapabilirsiniz. Bunun için /etc/apt/sources.list dosyanızda depo adreslerinin uygun şekilde  yer alması ve ardından da paket indexinizi apt-get update ile güncellemeniz gerekir.  apt-get update işlemi sonucunda /var/lib/apt/lists/ dizini içerisinde sonu <span><em>Packages</em></span> ifadesi ile biten (/var/lib/apt/lists/*_Packages) dosyalarda kullandığınız depolardaki paketlerin listesi yer alır. Daha sonra bu liste üzerinde apt-cache komutu ile sorgulama yapabilirsiniz.</p>
<p>apt-cache search &lt;sorgu&lt;</p>
<p><span><em>Örnek:</em></span> <span><strong>apt-cache search apache</strong></span>, <span><strong>apt-cache search x-window</strong></span></p>
<p>Bundan başka,</p>
<div>
<ul type="disc">
<li> synaptic ve aptitude gibi araçların arama fonksiyonlarını kullanabilirsiniz</li>
<li> Ara veya Xara isimli araçları kullanabilirsiniz.</li>
<li><a href="http://ara.zapto.org/" target="_top">http://ara.zapto.org</a> adresinden yine online olarak</li>
<li><a href="http://debian.vitavonni.de/packagebrowser/" target="_top">http://debian.vitavonni.de/packagebrowser/</a> adresinden kategori edilmiş halde duran paketlere bakabilirsiniz.</li>
</ul>
</div>
<p>Gayri-resmi paketleri kullanmak için ;</p>
<div>
<ul type="disc">
<li><a href="http://www.apt-get.org/" target="_top">http://www.apt-get.org</a> gibi sitelerden arama yapabiliriz.</li>
<li>Yazılımın kendi sitesinde .deb paketinin olup olmadığını kontrol edebiliriz.</li>
<li><a href="http://www.google.com/" target="_top">google</a> üzerinde çeşitli kriterlerle arama yapabiliriz</li>
</ul>
</div>
</div>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2532170"></a>8.8. Yüklü olan bir paketin sadece sürümünü nasıl görebilirim?</h2>
</div>
</div>
</div>
<p>dpkg -l &lt;paket_ismi&gt;</p></div>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2532183"></a>8.9. <span><em>dpkg -l</em></span> ile paket ismi ve sürümünü net olarak göremiyorum, ekrana sığmıyor?</h2>
</div>
</div>
</div>
<p>COLUMNS=200 dpkg -l</p></div>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2532198"></a>8.10. <span><em>dpkg -l</em></span> sonucunda gelen rc,ii, pn gibi başlıklar neyi ifade ediyor?</h2>
</div>
</div>
</div>
<pre>#dpkg -l
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-===========================================
ii  adduser        3.47           Add and remove users and groups
ii  analog         5.23-0woody1   analyzes logfiles from web servers

[....]</pre>
<p>Görüldüğü üzere <span><strong>dpkg -l</strong></span> çıktısı yukarıdaki şekilde uzayıp gider. Soruda da belirtildiği gibi burada önemli olan bazı ifadeler vardır;</p>
<p><span><strong>ii = </strong></span> Paket normal olarak yüklendi</p>
<p><span><strong>rc = </strong></span> Paket yüklendikten sonra apt-get remove ile kaldırıldı  ancak konfigürasyon dosyaları halen sistemde duruyor anlamındadır. Paket kaldırılırken  ayar dosyalarıda kalmasın isterseniz, bunun icin <span><strong>apt-get remove &#8211;purge</strong></span> ile  kaldırmak gerekir.</p>
<p><span><strong>pn = </strong></span> Paket ayar dosyaları ile birlikte sistemden kaldırıldı. dpkg -l &lt;paket_ismi&gt; çıktısının sol tarafında +++ ile belirtilen üç hanelik yer vardır.</p>
<p>Sisteme sorunsuzca yüklenmiş paketleri görebilemek için;  <span><strong>dpkg -l | awk &#8216;{ if($1 == &#8220;ii&#8221;) print }&#8217;</strong></span> veya  <span><strong>dpkg -l | awk &#8216;/^ii/ {print}&#8217;</strong></span> Benzer şekilde durumu <span><em>rc</em></span> olanları listelemek için;  <span><strong>dpkg -l | awk &#8216;/^rc/ {print}&#8217;</strong></span> Diğer yandan <span><strong>dpkg &#8211;get-selections</strong></span> sistemde yüklü olan paketleri  (paketin sadece ayar dosyaları yüklü olsa bile) getirir. Ancak biz sadece düzgünce  yüklenmiş olan paketleri görmek istiyorsak  <span><strong>dpkg &#8211;get-selections | awk &#8216;{ if($2 == &#8220;install&#8221;) print $1}&#8217;</strong></span> şeklinde de bu paketleri görebilmemiz mümkün.</div>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2532337"></a>8.11. Nasıl yeni bir paket yükleyebilirim?</h2>
</div>
</div>
</div>
<p>Paket *.deb şeklinde elinizde mevcutsa <span><strong>dpkg -i &lt;paket_ismi&gt;</strong></span> şeklinde bunu sisteme yükleyebilirsiniz. Ancak yüklemeye çalıştığınız paket başka bir pakete veya paketlere de bağımlı ise paketin bağımlı olduğu diğer paketleri de temin edip yüklemek gerekir. Paket yükleme işlemi için genelde apt-get install yöntemi tercih edilir. <span><strong>apt-get install &lt;paket_ismi&gt;</strong></span> ile, belirttiğiniz  paket indirilip sisteme dpkg -i ile sizin kurulur. Gerekli paket bağımlıklarını da apt-get halleder.</p>
<p>Bütün bunlardan önce kurmak istediğiniz paketi tespit etmeniz gerekir. Bunun için de  <span><em>Paketleri nasıl bulabilirim</em></span> başlıklı sorunun cevabına göz atmanız yerinde olacaktır.</p>
<p>Daha detaylı bilgi için : <a href="http://www.debian-tr.org/?q=debian-quick-apt" target="_top">http://www.debian-tr.org/?q=debian-quick-apt</a></div>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2532400"></a>8.12. Sistemimde yüklü olan bir paketi yeniden nasıl yükleyebilirim?</h2>
</div>
</div>
</div>
<p>Şayet paket .deb olarak elinizde varsa, <span><strong>dpkg -i paket_ismi</strong></span> ile aynı paketin tekrar kurulmasını  sağlayabilirsiniz. Veya <span><strong>apt-get install &#8211;reinstall paket_ismi</strong></span> ile paketi yeniden kurabilirsiniz.</div>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2532428"></a>8.13. Yüklü olan bir paketi nasıl kaldırabilirim?</h2>
</div>
</div>
</div>
<p>Bu işlemi en alt seviyede <span><strong>dpkg &#8211;remove</strong></span> ile gerçekleştirebilirsiniz.  <span><strong>apt-get &#8211;remove &lt;paket_ismi&gt;</strong></span> (veya <span><strong>dpkg -r &lt;paket_ismi&gt;</strong></span>) ile kaldırmak istediğiniz paketi sistemden kaldırabilirsiniz. Ancak burada dikkat edilmesi gereken iki nokta var. Birincisi, &#8211;remove ile paketi kaldırdığınızda o pakete ait konfigürasyon dosyaları sistemde kalır. Siz daha sonra aynı paketi sisteme kurarsanız, paket en son ayarladığınız konfigürasyon ile çalışmaya devam eder.  İkinci nokta, dpkg &#8211;remove ile paketi kaldırırken şayet -varsa- o pakete bağımlı diğer paketlerden  sistemden kaldırılır.</p>
<p>Bu durumda, birinci nokta için  &#8211;purge parametresi paketin sistemden tümden kaldırılmasını sağlar.</p>
<p><span><strong>dpkg &#8211;purge &#8211;remove &lt;paket_ismi&gt;</strong></span>, veya <span><strong>dpkg -P -r &lt;paket_ismi&gt;</strong></span> ile paketi kalıntı bırakmadan kaldırabilirsiniz.</p>
<p>Yukarıda sözü edilen ikinci nokta için ise;</p>
<p><span><strong>dpkg &#8211;force-depends &#8211;remove &lt;paket_ismi&gt;</strong></span> ile sadece &lt;paket_ismi&gt; ile  belirtilen paketin kaldırılmasını sağlayabilirsiniz.</p>
<p>Paket kaldırmak için benzer şekilde, <span><strong>apt-get remove &lt;paket_ismi&gt;</strong></span> veya  <span><strong>apt-get remove &#8211;purge &lt;paket_ismi&gt;</strong></span> şeklinde apt-get&#8217;ide kullanabilirsiniz.</p>
<p>Sistemden paket kaldırmak için kullanabileceğiniz yöntemler bunlarla sınırlı değil elbette, synaptic, aptitude, dselect gibi araçlarıda tercih edebilirsiniz.</p></div>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2532538"></a>8.14. Sistemde sadece konfigürasyon dosyaları kalmış paketleri nasıl tamamen temizleyebilirim?</h2>
</div>
</div>
</div>
<p>Sisteminizde kaldırırken &#8211;purge ifadesini kullanmadığınız tüm paketleri görebilmek için;</p>
<p><span><strong>dpkg -l | awk &#8216;/^rc/ {print $2}&#8217;</strong></span> veya <span><strong>COLUMNS=200 dpkg -l | awk &#8216;/^rc/ {print $2}&#8217;</strong></span></p>
<p>Bunları sistemden tamamen temizlemek için ise;</p>
<p><span><strong>dpkg -l | awk &#8216;/^rc/ {print $2}&#8217; | xargs dpkg &#8211;purge</strong></span> veya <span><strong>COLUMNS=200 dpkg -l | awk &#8216;/^rc/ {print $2}&#8217; | xargs dpkg &#8211;purge</strong></span></p>
<p>Böylece sistemden daha önce purge işlemini ilave etmeden kaldırmış olduğunu ancak konfigürasyon dosyaları halen duran paketleride tamamen temizlemiş olursunuz.</p></div>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2532599"></a>8.15. Bir pakete bağımlı olarak kurulan ancak sistemde istemediğim paketleri nasıl temizleyebilirim?</h2>
</div>
</div>
</div>
<p>Sisteminize bir A paketini kurdunuz, kurulum sırasında A paketine bağımlı olan B ve C  paketlerininde geldiğini farzedelim. Siz kurulumdan sonra herhangi bir sebeple A paketini  sisteminizden kaldırmak istediğinizde, A ya bağımlı olan B ve C paketleri sistemde kalacaktır.  Genel olarak bu paketleri bulup temizleyebilmek için <span><strong>deborphan</strong></span> veya <span><strong>debfoster</strong></span> araçlarını kullanabilirsiniz.</p>
<p>deborphan için <a href="http://www.tribe.eu.org/deborphan/" target="_top">http://www.tribe.eu.org/deborphan/</a></p>
<p>debfoster için <a href="http://www.fruit.eu.org/debfoster/" target="_top">http://www.fruit.eu.org/debfoster/</a></div>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2532657"></a>8.16. Tutarsız durumda kalan paketleri nasıl kaldırabilirim?</h2>
</div>
</div>
</div>
<p>Şayet bir paketi kaldırırken herhangi bir sebepten dolayı tutarsız durum oluşursa, paket düzgünce sistemden kaldırılamaz ve yeniden yüklemek istediğinizde de yüklenmez ise;</p>
<pre>dpkg --purge --force-remove-reinstreq paket_ismi</pre>
<p>ile bu tutarsız durumdan kurtulmayı deneyiniz.</p></div>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2532684"></a>8.17. Sunucu listemi (sources.list) nasıl düzenleyebilirim veya değiştirebilirim?</h2>
</div>
</div>
</div>
<p>apt-setup yazılımı size bu konuda yardımcı olabilir. Şayet bu işlemi elle yapmak isterseniz,  /etc/apt/sources.list dosyasında isteğinize uygun şekilde değişiklik yapıp <span><strong>apt-get update</strong></span> ile index&#8217;inizi güncellemeniz yeterli olacaktır.</div>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2532710"></a>8.18. Sistemimi Woody&#8217;den Sarge&#8217;ye nasıl dönüştürebilirim?</h2>
</div>
</div>
</div>
<p>/etc/apt/sources.list dosyanızı sadece Sarge depolarından oluşacak şekilde uygun şekilde ayarlayın ve;</p>
<pre>apt-get update
apt-get install apt-utils debconf dpkg
apt-get upgrade</pre>
</div>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2532736"></a>8.19. Bir .deb paketinin içeriğini nasıl elde edebilirim (extract)?</h2>
</div>
</div>
</div>
<p>dpkg -x &lt;paket_ismi&gt;.deb /içeriğin/açılacağı/dizin_ismi/</p></div>
<div lang="tr">
<div>
<div>
<div>
<h2 style="clear: both;"><a name="id2532750"></a>8.20. Bir paketi konfigürasyon dosyaları ile birlikte yeniden nasıl yükleyebilirim?</h2>
</div>
</div>
</div>
<p>dpkg &#8211;force-confmiss -i &lt;paket_ismi&gt;</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxogren.com/ubuntu-paket-yonetimi-ile-ilgili-soru-cevaplar.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ssh ile Şifresiz Giriş Bash Scripti</title>
		<link>http://www.linuxogren.com/ssh-ile-sifresiz-giris-bash-scripti.html</link>
		<comments>http://www.linuxogren.com/ssh-ile-sifresiz-giris-bash-scripti.html#comments</comments>
		<pubDate>Sat, 06 Mar 2010 22:04:46 +0000</pubDate>
		<dc:creator>Sadık Öztürk</dc:creator>
				<category><![CDATA[Bash Script]]></category>
		<category><![CDATA[ssh bash script]]></category>
		<category><![CDATA[ssh bash script uygulaması]]></category>
		<category><![CDATA[ssh ile bağlantı]]></category>
		<category><![CDATA[ssh ile şifresiz bağlanmak]]></category>
		<category><![CDATA[ssh script]]></category>
		<category><![CDATA[ssh şifresiz bağlantı]]></category>
		<category><![CDATA[ssh şifresiz giriş]]></category>
		<category><![CDATA[ssh şifresiz scripti]]></category>

		<guid isPermaLink="false">http://www.linuxogren.com/?p=618</guid>
		<description><![CDATA[Aslında başlığa bakarak yanılmayın. Doğrusu sürekli giriş yaptığınız sunuculara her seferinde şifre girmek yerinde oluşturulan bir anahtar ile aynı bilgisayardan otomatik giriş yapılması sağlanabilir.
Yerel bilgisayarda oluşturulan bir anahtar karşı bilgisayara yüklenerek bağlanmak istediğinizde bilgisayarı tanıması ve girişi kabul edilmesi sağlanır.
Konunun fazla ayrıntısına girmeden bu işin bir script tarafından kolayca yapılabilmesi sağlanabilir. Scripti inceledeiğinizde nasıl yapıldığını [...]]]></description>
			<content:encoded><![CDATA[<p>Aslında başlığa bakarak yanılmayın. Doğrusu sürekli giriş yaptığınız sunuculara her seferinde şifre girmek yerinde oluşturulan bir anahtar ile aynı bilgisayardan otomatik giriş yapılması sağlanabilir.</p>
<p>Yerel bilgisayarda oluşturulan bir anahtar karşı bilgisayara yüklenerek bağlanmak istediğinizde bilgisayarı tanıması ve girişi kabul edilmesi sağlanır.</p>
<p>Konunun fazla ayrıntısına girmeden bu işin bir script tarafından kolayca yapılabilmesi sağlanabilir. Scripti inceledeiğinizde nasıl yapıldığını nasılsa öğrenebilirsiniz. Scripti ben yazmadım ama çok basit olduğunu görebiliyorsunuz. Scriptin kaynağı burası.</p>
<p>Kullanılması ise çok kolay. Dosyasyı sunucunuza yükleyin ve yüklediğiniz yerden çalıştırdığınızda ssh anahtar varsa karşıya yükler yoksa karşıya yüklemeden önce bir kereye mahsus karşı tarafın şifresini ister. Tekrar bağlanmak istediğinizde şifre sormuyorsa işlem başarılmış demektir.</p>
<p>Kulanımı:</p>
<blockquote><p>./sshkont kullanıcı@sunucuip</p></blockquote>
<p>Bash kod bu şekilde;</p>
<blockquote><p>
#!/bin/bash</p>
<p>KEY_PRIVATE=&#8221;$HOME/.ssh/id_dsa&#8221;<br />
KEY_PUBLIC=&#8221;${KEY_PRIVATE}.pub&#8221;</p>
<p>if [ "$1" == "" ] ; then<br />
   echo &#8220;Kullanım: $0 <[kullanıcı@]sunucu>&#8221;<br />
   exit<br />
fi</p>
<p>if [ ! -f "${KEY_PRIVATE}" ] ; then<br />
   echo Genel ve özel anahtarlar oluşturuldu&#8230;<br />
   ssh-keygen -t dsa -f &#8220;${KEY_PRIVATE}&#8221; -N &#8221;<br />
fi</p>
<p>if [ -f "${KEY_PUBLIC}" ] ; then<br />
   cat &#8220;${KEY_PUBLIC}&#8221; |<br />
   ssh &#8220;${1}&#8221; &#8220;mkdir -p ~/.ssh ; cat>> .ssh/authorized_keys2 ; chmod -R go-rwx ~/.ssh&#8221;<br />
else<br />
   echo &#8220;${KEY_PUBLIC}&#8221; dosyasına erişimeledi veya bulunamadı&#8230;<br />
fi
</p></blockquote>
<p>Dosyayı sshkont ismiyle oluşturun ve chmod ayarlarını 0755 yaparak çalıştırılabilir yapın.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxogren.com/ssh-ile-sifresiz-giris-bash-scripti.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linux &#8216;da Paralel Port Kontrolü</title>
		<link>http://www.linuxogren.com/linux-da-paralel-port-kontrolu.html</link>
		<comments>http://www.linuxogren.com/linux-da-paralel-port-kontrolu.html#comments</comments>
		<pubDate>Sat, 06 Mar 2010 21:58:00 +0000</pubDate>
		<dc:creator>Sadık Öztürk</dc:creator>
				<category><![CDATA[Linux Makaleleri]]></category>
		<category><![CDATA[linux paralel port]]></category>
		<category><![CDATA[paalel porttan veri iletişimi]]></category>
		<category><![CDATA[paralel port kontrolü]]></category>
		<category><![CDATA[paralel port nedir]]></category>
		<category><![CDATA[paralel portdan işlem]]></category>
		<category><![CDATA[printer port kontrolü]]></category>

		<guid isPermaLink="false">http://www.linuxogren.com/?p=615</guid>
		<description><![CDATA[PC ile elektronik sistem konrolu ile uğraşanlar için en çok merak edilen konu bilgisayar portlarıyla elektronik cihazların kontroludur.
Her ne kadar windows ile bu kolayca yapılsa da Linux ile bunu yapmak daha kolaydır. Windows işletim sistemine ve sistem 32/64bit sistemlere göre farklılık gösteri ve ona göre program yazmak gerekir.
Linux işletim sisteminde ilgili kütüpaneler de hazır geldiği [...]]]></description>
			<content:encoded><![CDATA[<p>PC ile elektronik sistem konrolu ile uğraşanlar için en çok merak edilen konu bilgisayar portlarıyla elektronik cihazların kontroludur.</p>
<p>Her ne kadar windows ile bu kolayca yapılsa da Linux ile bunu yapmak daha kolaydır. Windows işletim sistemine ve sistem 32/64bit sistemlere göre farklılık gösteri ve ona göre program yazmak gerekir.</p>
<p>Linux işletim sisteminde ilgili kütüpaneler de hazır geldiği için bilgisayar port kontolu daha kolaydır.  Port kontrolu sadece dışarıya açılan paralal ve seri portlarla sınırlı değildir. Bilgisayar içerisine yapılabilecek basit bir kartla sisteme daha çok ve işlevsel port eklenip yazılımlar yoluyla kontrol edilebilir.</p>
<p>En basit haliyle Linux üzerinden bash kabuğundan C ile yazılacak ufak bir programcık ile portlar kontrol edilebilir.</p>
<p>Örnek bir program kodu;</p>
<blockquote><p>C++:<br />
#include<br />
#include<br />
#include<br />
#include</p>
<p>main(int argc, char *argvek[])<br />
{<br />
if(argc &lt;3){<br />
printf(&#8221;Eksik parametre!\n&#8221;);<br />
exit(0);<br />
}</p>
<p>if(argc&gt; 3){<br />
printf(&#8221;Cok fazla parametre !\n&#8221;);<br />
exit(1);<br />
}</p>
<p>int  port = atoi(argvek[1]);<br />
int  veri = atoi(argvek[2]);</p>
<p>if (ioperm(port,1,1)){<br />
fprintf(stderr, &#8220;Couldn&#8217;t get the port at %x\n&#8221;, port), exit(1);<br />
}<br />
outb(veri, port);<br />
}</p></blockquote>
<p>Linux konsolundan programı derlemek için;</p>
<blockquote><p>gcc -O portkontrol.c -o portkontrol</p></blockquote>
<p>Programın kullanımı;</p>
<blockquote><p>./portkontrol port veri</p></blockquote>
<p>Port adresini bilgisayarınızdaki poert adresinin hex karşılığını girebilirsiniz. Veri olarak girebileceğiniz değer 0-255 arasında olmalıdır. 255 olarak girdiğiniz veri bütün çıkışları &#8220;1&#8243; durumuna getirecektir. &#8220;0&#8243; olarak tekrar gönderirseniz bütün çıkışlar off durumuna yani &#8220;0&#8243; olacaktır.</p>
<p>Programı derleyeceğiniz bilgisayarda gcc, g++ ve bağlı olduğu paketler kurulu olması gerekiyor.</p>
<p>Internete bağlı Debian için şu şekilde paketler ve bağlı olduğu diğer paketler kurulabilir.</p>
<blockquote><p>apt-get update<br />
apt-get install gcc g++</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxogren.com/linux-da-paralel-port-kontrolu.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Servislerini Yeniden Başlatmak</title>
		<link>http://www.linuxogren.com/linux-servislerini-yeniden-baslatmak.html</link>
		<comments>http://www.linuxogren.com/linux-servislerini-yeniden-baslatmak.html#comments</comments>
		<pubDate>Fri, 05 Mar 2010 16:59:09 +0000</pubDate>
		<dc:creator>Sadık Öztürk</dc:creator>
				<category><![CDATA[Bash Script]]></category>
		<category><![CDATA[linux servis yönetimi]]></category>
		<category><![CDATA[linux servisleri]]></category>
		<category><![CDATA[linux servislerini yeniden başlatmak]]></category>
		<category><![CDATA[server servisleri]]></category>
		<category><![CDATA[servisleri resetlemek]]></category>

		<guid isPermaLink="false">http://www.linuxogren.com/?p=613</guid>
		<description><![CDATA[Evet Arkadaşlar bu yazımız da bazı linux servislerini script ile yeniden başlatmayı öğreneceğiz. Öncelikle bu iş için hangi servisleri yeniden başlatmak istediğimizi belirlememiz gerekiyor. Ben mtsql,dns,httpd,ftp servislerini yeniden başlatmak istiyorum. Bunun için ;
gedit reset_services.sh
Açılan pencerenin içine ;
#/usr/bin/!
echo &#8220;Restart Baslasinnnnn&#8230;.&#8221;
service mysql restart
service named restart
service exim restart
service httpd restart
service pure-ftpd restart
echo &#8220;Restart islemleri tamamlandi&#8230;&#8221;
yazıp dosyayı kaydedin. Daha [...]]]></description>
			<content:encoded><![CDATA[<p>Evet Arkadaşlar bu yazımız da bazı linux servislerini script ile yeniden başlatmayı öğreneceğiz. Öncelikle bu iş için hangi servisleri yeniden başlatmak istediğimizi belirlememiz gerekiyor. Ben mtsql,dns,httpd,ftp servislerini yeniden başlatmak istiyorum. Bunun için ;</p>
<blockquote><p>gedit reset_services.sh</p></blockquote>
<p>Açılan pencerenin içine ;</p>
<blockquote><p>#/usr/bin/!<br />
echo &#8220;Restart Baslasinnnnn&#8230;.&#8221;<br />
service mysql restart<br />
service named restart<br />
service exim restart<br />
service httpd restart<br />
service pure-ftpd restart<br />
echo &#8220;Restart islemleri tamamlandi&#8230;&#8221;</p></blockquote>
<p>yazıp dosyayı kaydedin. Daha sonra ;</p>
<blockquote><p>chmod 777 reset_services.sh</p></blockquote>
<p>komutunu kullanarak dosyamızı çatıştırılabilir hale getirelim. Artık scriptimiz çalışmaya hazırdır.</p>
<blockquote><p>./reset_services.sh</p></blockquote>
<p>sonuç çıkıtsı ;</p>
<blockquote><p>[root@server ~]# ./reset_services.sh<br />
Restart Baslasinnnnn&#8230;.<br />
Shutting down MySQL&#8230;                                     [  OK  ]<br />
Starting MySQL                                             [  OK  ]<br />
Stopping named:                                            [  OK  ]<br />
Starting named:                                            [  OK  ]<br />
Shutting down clamd:                                       [  OK  ]<br />
Shutting down exim:                                        [  OK  ]<br />
Shutting down antirelayd:                                  [  OK  ]<br />
Shutting down spamd:                                       [  OK  ]<br />
Starting clamd:                                            [  OK  ]<br />
Starting exim:                                             [  OK  ]<br />
Starting exim-smtps:                                       [  OK  ]<br />
Starting antirelayd:                                       [  OK  ]<br />
Starting spamd:                                            [  OK  ]<br />
/etc/init.d/httpd restart: httpd restarted<br />
pure-ftpd: unrecognized service<br />
Restart islemleri tamamlandi&#8230;<br />
[root@server ~]#</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxogren.com/linux-servislerini-yeniden-baslatmak.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Başlangıça Servis Eklemek Yada Servis Kaldırmak</title>
		<link>http://www.linuxogren.com/baslangica-servis-eklemek-yada-servis-kaldirmak.html</link>
		<comments>http://www.linuxogren.com/baslangica-servis-eklemek-yada-servis-kaldirmak.html#comments</comments>
		<pubDate>Fri, 05 Mar 2010 09:32:45 +0000</pubDate>
		<dc:creator>Sadık Öztürk</dc:creator>
				<category><![CDATA[Linux Makaleleri]]></category>
		<category><![CDATA[başlangıç scripleri]]></category>
		<category><![CDATA[başlangıca servis eklemek]]></category>
		<category><![CDATA[default ruınlevel]]></category>
		<category><![CDATA[rc scriptler]]></category>
		<category><![CDATA[runlevel değiştirmek]]></category>
		<category><![CDATA[runlevel nedir]]></category>
		<category><![CDATA[servis çıkarmak]]></category>
		<category><![CDATA[servislerim listesini görmek]]></category>
		<category><![CDATA[ubuntu başlangıç servisleri]]></category>

		<guid isPermaLink="false">http://www.linuxogren.com/?p=611</guid>
		<description><![CDATA[Arkadaşlar bu yazımızda sizlere ubuntu aılışına scriptleri eklemeyi ve çıkarmayı anlatacağız.  Bildiğiniz gibi ubuntu açılırken bir çok script çalıştırıyor. bu scripleri sizin belirlemiş olduğunuz runleveline göre çalıştırmaktadır. Benim ubuntumda default run level 2, runleveli öğrenmek için terminal penceresinde ;
runlevel
yazmanız yeterlidir. benim runlevelim 2 olduğuna göre ubuntu açılışta, /etc/rc2.d altındaki scriptleri çağıracaktır. tabiki bu scripleri çağırma [...]]]></description>
			<content:encoded><![CDATA[<p>Arkadaşlar bu yazımızda sizlere ubuntu aılışına scriptleri eklemeyi ve çıkarmayı anlatacağız.  Bildiğiniz gibi ubuntu açılırken bir çok script çalıştırıyor. bu scripleri sizin belirlemiş olduğunuz runleveline göre çalıştırmaktadır. Benim ubuntumda default run level 2, runleveli öğrenmek için terminal penceresinde ;</p>
<blockquote><p>runlevel</p></blockquote>
<p>yazmanız yeterlidir. benim runlevelim 2 olduğuna göre ubuntu açılışta, /etc/rc2.d altındaki scriptleri çağıracaktır. tabiki bu scripleri çağırma sırası her script ismine göre değişecektir. çağırma sıorasıyla ilgili daha teknik bilgiler ileriki konularda analtılacaktır. </p>
<p>Şimdi açılış scritlerimize istediğimiz servisi nasıl ekleriz ve çıkarabiliriz bunu öğrenelim. </p>
<p>Ubuntu açılışına servis eklemek için;</p>
<blockquote><p>update-rc.d proftpd defaults</p></blockquote>
<p>yukarıki komutta proftpd servisini başlangıç scritlerine eklemiş olduk. Servislerden çıkarmak için ise ;</p>
<blockquote><p>update-rc.d -f proftpd remove</p></blockquote>
<p>yazmanız yeterlidir. </p>
<p>Yüklü tüm servislerin listesini ve durumlarını görmek için ;</p>
<blockquote><p>service &#8211;status-all</p></blockquote>
<p>yazmanız yeterlidir. Şimdilik hoşçakalın.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxogren.com/baslangica-servis-eklemek-yada-servis-kaldirmak.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

