Linux

Linux Program Kurmak – Paket Yönetim Sistemleri(RPM) – YUM – Yerel Depo (Local Repository) Oluşturmak

Linux Program Kurmak

Windows’tan, Linux’a geçen kullanıcıların büyük çoğunluğu program yüklemekte sorun yaşarlar. Windows kullanırken, program yüklemek son derece basit bir iştir. Yükleyeceğiniz kurulum (Setup) dosyasına çift tıkladığınızda, bir ekran çıkar ve sadece İleri tuşuna basarak bir programı yükleyebilirsiniz.

Linux dünyasında işler ne yazık ki biraz daha karmaşıktır. Program kurmaya kalktığınızda, deb, apt, rpm, make, config, package vb. onlarca terim karşınıza çıkar. Karşılaşacağınız sorunlar bunlarla da bitmez; bağımlılık (dependency) ve eksik kütüphane dosyaları başınızı ağrıtır. Dağıtımınıza uygun kurulum paketlerinin olmayışı can sıkıcı bir konudur.

Neden bu kadar zor?

Bunu açıklamak için konunun başına dönmek gerekiyor. İnsanlar, Linux’u Windows XP veya Windows 2000 gibi bir işletim sistemi olarak düşünmekteler. Aslında Linux bir işletim sistemi değil; işletim sistemi çekirdeğidir. Firmalar veya şahıslar, bu çekirdeği alır ve bunu kullanarak bir dağıtım hazırlar. Yani SuSE, Ubuntu, Pardus veya Redhat yüklediğinizde, yüklediğiniz şey aslında Linux çekirdeği üzerine kurulmuş bir işletim sistemidir.

Bütün dağıtımlar, elbette ki, birbirlerine az çok benzerler ama bu onların farklı olduğu gerçeğini değiştirmez. Dünya genelinde, 300 üzerinde Linux dağıtımı ­bir başka değişle 300 üzerinde Linux tabanlı işletim sistemi­ bulunuyor. İşte sorunda buradan kaynaklanmakta. Yeni geliştirilmiş bir programın, her dağıtımda kolayca kurulup, çalışabilmesi oldukça zor bir konu. Var olan çeşitliliği düşününce, zaman zaman uyumsuzlukların olması ve sorunların çıkması gayet olağan bir durum. Windows XP için hazırlanmış bir kurulum dosyasını, Windows ME’de çalıştırmaya kalkarsanız, uyumsuzluk sorunları yine olabilir. Program yüklemenin sıkıntısı, çeşitliliğin bir sonucudur; hatayı Linux’ta aramamak lâzım

Program Derlemek…

Açık yazılım dünyasında geliştirilmiş çoğu programın, başka ortamlara taşınabilirliği yüksektir. Yazılımın kodu ortadadır ve sizin yapmanız gereken bu kodu derlemektir. Bu sayede, dağıtım bağımsız bir yapıda programı kurup, kullanma fırsatınız olur. Üstelik bunun için programlama bilmeniz gerekmez.

Her programın uyacağı belirli bir standart yok. Ancak çoğunluğun sahip olduğu, genel kurallar bulunuyor. Hemen hemen hepsinde, README ve INSTALL adında okunabilir metin (text) dosyalarını bulabilirsiniz. Bu iki dosya, programın ne olduğunu, yüklemek için nelere ihtiyacınız olduğunu içerir. Bir programı derlemek için yapacağınız ilk iş shell’de, programı açtığınız (extract) yere gelip, “./configure” yazmaktır. ./configure yazdığınızda karşınıza çıkacak ekran, gerekli programlardan hangilerinin sizde olup olmadığını yes/no ifadeleriyle gösterir.

Şayet her şey yolunda gider ve ./configure işlemi başarılı olursa, ikinci yapacağımız işlem konsolda “make” yazmaktır. Bunu yaptığınız takdirde, program yüklenmeye hazır olur. Son aşamada programı yüklemek için “make install” yazarız. Programımız yüklenir ve biz de kullanabiliriz.

tar zxvf paket-vxx.tgz
./configure
./make
./make install

NOT : Eğer programı kaldırmak isterseniz, aynı klasörde “make uninstall” yazabilirsiniz.

Programları derleyerek kurmak oldukça zahmetli bir uğraş. Açıkçası Linux’a yeni başlayanlara, bu yöntemi kesinlikle tavsiye etmem. Dosya bağımlılıkları ve derleyici sorunlarıyla boğuşmak, yorucu bir mücadele gerektiriyor. Sorunlarla boğuşmak yerine, daha önce derlenmiş ve çalıştırılmaya hazır paketleri (packages) kullanmak çok daha kolaydır.

Linux Paketler

Windows’ta program kurmak için, çoğu zaman bir şeylerin Setup.exe dosyasına tıklarsınız. Setup.exe önceden derlenmiş ve bu nedenle sizi uğraştırmayan bir yapıdır. Size sadece kurulumu yönetmek kalır.

Benzer bir imkan, Linux dağıtımlarında da bulunur. Daha önce birileri kaynak kodlardan, yazılımı derlemiş ve kullanıma hazır hâle getirmiştir. Siz programın paket dosyasını indirir ve aynı Windows’taki gibi üzerine tıklarsınız. Karşınıza bir ekran çıkar ve onay vermeniz durumunda, program kurulumu başlar. İşlem son derece basittir ve bir iki tıklamayla tamamlanır.

Şimdi yukarıda anlatınlanları kısaca özetleyecek olursak.

Linux de program kurulumu 2 şekilde gerçekleştirilebilir;

  1. Kaynak kodunu derleyerek kurmak.
  2. Önceden derlenerek oluşturulmuş pakedi bir paket yöneticisi ile kurmak.

İlk yöntem bazı avantajlarına rağmen fazla tercih edilmemektedir. Bir pakedi kaynak kodundan derlerken, derleyici parametrelerini değiştirip eldeki işlemciye özel, daha hızlı çalışabilir, ikili (binary) programlar oluşturulabilir veya özel isteklere göre  yapılandırılıp derlenebilir. Ancak derleyerek kod kurmanın dezavantajlarıda vardır;

  • Kod derlemek, yeni başlayanlar için zor bir işlem olabilir.
  • Kurulum öncesi düzenleme sıkıntıları (paket.conf, conf.h vs)
  • Kurulum sonrası dosyalar ve dokümanların dağılımı (/usr, /usr/local, /opt, /bin)
  • Kaldırma problemleri
  • Her paket için farklı ayarlamalar ve kurulum yöntemleri

Linux Paket Yönetim Sistemi

İkinci yöntem olan Paket ise programın (yazılımsal araç veya uygulamaların) derlenmiş kodu olarak tanımlanabilir.
(continue reading…)

134 total views, 4 views today


Linux’ta Dosya Sistemi Yapısı

Dosyalarımız fiziksel depolama alanları üzerinde tutulur.Bu alanlar bilgisayarımızdaki dahili harddisk ,harici hard diskimiz ,CD/DVD ROM,SAN,NAS.. gibi biçimlerde olabilir. Peki bu alanlardaki bilgilere nasıl erişiriz sorusunun cevabı File System(Dosya Sistemi) oluyor arkadaşlar. File System olmadan depolama alanına ne bir şey kopyalayabiliriz, ne paylaştırabiliriz, ne güvenlik ve erişimini sağlayabiliriz ne de herhangi bir şekilde kullanabiliriz. İşletim sistemimizin verilere erişimi için yine onun bileceği bir biçimde diski biçimlendirmeliyiz. Nasıl ki Windows ortamlarında diskimizi biçimlendirirken NTFS dosya sistemini kullanıyorsak, Linux vari işletim sistemlerinde de ext2,ext3,ext4 gibi dosya sistemlerini kullanıyoruz. Linux işletim sistemi birden fazla dosya sistemine destek verir.

Bir işletim sisteminin dosya sisteminin performansı, hızı ve buna benzer çeşitli özellikleri sistemin verimli ve kararlı çalışması üzerinde doğrudan etkisi vardır. Linux dizin yapısının geliştirilmesinde FSSTND (file system standard) grubunun çalışmalarının payı çok büyük oldu. Programcılardan oluşan grup, standartların belirlenmesinde ve uygulama aşamasında Linux ile ilgilenenlere yardım etti. 1993 yılında Olaf Kirsh, Linux haber grubuna yazdığı bir e-postasında Linux dosya sistemi üzerindeki çalışmaların tamamlandığını haber verdi.

Bir Linux dağıtımından diğerine dosya sistemi yapısı bakımında küçük farklılıklar olabilir ancak genel yapı aynıdır. Bu maddede Linux dağıtımlarının kullandığı ortak dosya sistemi yapısı, dizinlerin ne anlama geldikleri ve Windows’taki bazı dosya ve dizinlerin Linux’taki karşılıkları konularında temel ve ileri düzeyde bilgi alabilirsiniz.

Dosya sistemi, işletim sisteminin bir disk veya bölüm üzerindeki dosyaları takip edebilmesi için oluşturulmuş yöntem ve veri yapıları bütünüdür. Linux’da, Unix’de olduğu gibi “Tekil Hiyerarşik Klasör Yapısı”nı benimsemiştir. Her şey / simgesiyle ifade edilen kök dizinden başlayarak dallanıp budaklanır. Kök dizin altındaki dizinler, geçmişte Linux Dosya Sistem Hiyerarşisi (kısaca FSSTND) denilen bir standart ile belirlenmiş klasörlerdir. Günümüzde Linux dağıtımlarının büyük çoğunluğunun FSSTND standartında belirlenmiş klasörlerin dışında kök dizine bir iki klasör daha ekledikleri ya da nadiren bu yapıdan bir klasörü çıkardıkları görülmektedir.

Herhangi bir dizin ya da dosyanın sistemdeki adresi önce kök dizinden başlar sonra o dosya ya da dizine ulaşmak için geçilmesi gereken dizinler arasına yine / yazılarak elde edilir. Örneğin /home/ahmet yolu, kök dizininde, home isimli dizin içindeki ahmet dizininin konumunu belirtir. Bu ifadede en baştaki / işareti kök dizini belirtmektedir.

Windows’ta dosya adreslerinde \ (ters slaş) işareti kullanılırken Linux’ta / işareti kullanılır. Linux’ta bu kullanımın nedeni Linux’un Unix geleneğini takip etmesindendir. Ayrıca bu geleneğe uygun olarak küçük büyük harf duyarlılığı önemli bir konudur. Örneğin; Windows’ta KLASOR_ADI ve klasor_adi aynı şeydir; fark etmez. Linux’ta ise bunlar farklı klasörlerdir.

Windows’ta bir program yüklediğinizde, programa ait dosyaların büyük çoğunluğu Program Files içindeki kendi klasörüne yüklenir. Linux’ta ise durum farklıdır; programın, örneğin belgelendirmeleri /usr/share/doc/program_adi/ altına atılır, man(ual) dosyaları, /usr/share/man/man altına atılır, info dosyaları /usr/share/info altına atılır. Bu şekilde aradığınız bir yerelleştirme dosyasını yani programın Türkçe çalışması için yapılmış çeviri dosyasını, programın kullandığı kütüphane dosyasını yani Windows’taki (.dll) Linux’daki (.so) dosyası ve bunun gibi belirli bir amaç için kullanılan dosyaları yerleştirilmiş oldukları kendine özgü klasörün içinde bulabilirsiniz. Kısacası Linux’ta, sistem hiyerarşisine gömülen bir yapı söz konusudur. Yüklenen herhangi bir program, işletim sisteminin muhtelif yerlerine yerleşmektedir.

Linux'ta Dosya Sistemi Yapısı (continue reading…)

130 total views, 2 views today


Oracle OSWatcher Aracı

OSWatcher aracı belirli aralıklarla top, iostat,vmstat, netstat gibi komutlar ile üretilen verilerin analiz edilip saklanılıp raporlanması için geliştirilmiş bir araçtır.İçinde barındırdığı OSWg aracı ile analiz edilen verileri grafik olarak sunar.

OSWatcher aracı Oracle tarafından geliştirilmiştir ve metalink üzerinden (support.oracle.com) ücretsiz indirip kullanabilirsiniz. Metalink üzerinden (https://support.oracle.com) “OS Watcher Black Box User Guide [ID 301137.1]” isimli dokümanda bulunan oswbb733.tar isimli dosyayı indirelim.

1.Bu dosyayı WinSCP tarzı bir program ile Linux sunucumuza “oracle” kullanıcısı ile kopyalayalım.

2.tar dosyasını “oracle” kullanıcısı ile açalım.

[oracle@test-rac1 oswatcher]$ tar xvf /home/oracle/oswatcher/oswbb733.tar
oswbb/
oswbb/docs/
oswbb/docs/The_Analyzer/
oswbb/docs/The_Analyzer/OSWatcherAnalyzerOverview.pdf
oswbb/docs/The_Analyzer/oswbbaUserGuide.pdf
oswbb/docs/The_Analyzer/oswbba_README.txt
oswbb/docs/OSWatcher/
oswbb/docs/OSWatcher/oswbb_README.txt
oswbb/docs/OSWatcher/OSWatcherUserGuide.pdf
oswbb/Exampleprivate.net
oswbb/nfssub.sh
oswbb/stopOSWbb.sh
oswbb/call_du.sh
oswbb/iosub.sh
oswbb/OSWatcherFM.sh
oswbb/ifconfigsub.sh
oswbb/ltop.sh
oswbb/mpsub.sh
owbb/call_uptime.sh
oswbb/psmemsub.sh
oswbb/tar_up_partial_archive.sh
oswbb/oswnet.sh
oswbb/vmsub.sh
oswbb/call_sar.sh
oswbb/oswib.sh
oswbb/startOSWbb.sh
oswbb/Example_extras.txt
oswbb/oswsub.sh
oswbb/oswbba.jar
oswbb/OSWatcher.sh
oswbb/tarupfiles.sh
oswbb/xtop.sh
oswbb/src/
oswbb/src/Thumbs.db
oswbb/src/OSW_profile.htm
oswbb/src/tombody.gif
oswbb/src/missing_graphic.gif
oswbb/src/coe_logo.gif
oswbb/src/watch.gif
oswbb/src/oswbba_input.txt
oswbb/oswrds.sh
[oracle@test-rac1 oswatcher]$

NOT : OSWatcher ksh kabuğunda(shell) yazıldığı için sistemimizde ksh olması gerekmektedir. ksh olup olmadıgını anlamak için aşagıdaki komutdan yararlanabiliriz.

[root@test-rac1 ~]# rpm -qa | grep ksh
ksh-20100621-19.el6.x86_64

(continue reading…)

3,369 total views, no views today


Linux Sunucularda Ağ Bağdaştırıcısının Adını(Network Interface Card) Değiştirme

Bu yazıda, ethernet/kablosuz bağdaştırıcı (eth0, eth1, wlan0, wlan1 vb.) için tanımlanan adın nasıl değiştirileceği ele alınacaktır. Linux altında kablolu/kablosuz bağdaştırıcı için geçerli adı şu komutla kontrol edebilirsiniz;

ifconfig

Sonra, ilgili dosyanın bir yedeğini almak üzere şu komutu döndürüyoruz;

cp /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules.back

1. Öncelikle ağ bağdaştırıcılarının MAC adreslerini aşagıda ki komut yardımıyla ögreniriz.

# ifconfig -a | grep -i --color hwaddr

Örnek çıktı;

eth0      Link encap:Ethernet  HWaddr b8:ac:6f:65:31:e5
pan0      Link encap:Ethernet  HWaddr 4a:71:40:ed:5d:99
vmnet1    Link encap:Ethernet  HWaddr 00:50:56:c0:00:01
vmnet8    Link encap:Ethernet  HWaddr 00:50:56:c0:00:08
wlan0     Link encap:Ethernet  HWaddr 00:21:6a:ca:9b:10

2. Şimdi “/etc/udev/rules.d/70-persistent-net.rules” dosyasını düzenleyerek ağ bağdaştırıcılarının isimlerini degiştirebiliriz.

vi “/etc/udev/rules.d/70-persistent-net.rules”
# PCI device 0x14e4:0x1680 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="b8:ac:6f:65:31:e5", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
 

Örnegin “/etc/udev/rules.d/70-persistent-net.rules” dizinimizin içerisi yukarıdaki gibi olsun buna gore mac adresi “b8:ac:6f:65:31:e5” olan cihazın adı “eth0” dır.
Bunu eth1 yapmak istersek “NAME” kısmını aşagıda ki gibi düzeltmemiz gerekir.

# PCI device 0x14e4:0x1680 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="b8:ac:6f:65:31:e5", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

3. Daha sonra sisteme reboot vererek degişlikligi tamamlamış oluruz.

NOT : Sisteme reboot vermeden ismi degiştirmek istersek öncelikle “/etc/sysconfig/network-script” dizininde ki “ifcfg” ile başlayan dosyalarıda düzenlemeliyiz daha sonra network servisine restart vermeliyiz.

/etc/init.d/network restart

Ağ bağdaştırıcılarının isimlerini görmek için aşagıda ki komutlardan herhangi birini kullanabiliriz.

# ifconfig -a
# ifconfig wan0
# ifconfig -a | less
# ip addr show

Yararlı olması Dilegiyle…

3,679 total views, 4 views today


Linux Sistemde reboot Vermeden Disk Ekleme

Çalışan sistemlere online olarak (scsi) disk eklemek mümkün. Ancak Linux yeni diskin algılanabilmesi için SCSI bus’ın re-scan edilmesi gerekiyor. Bu şekilde sistemi reboot etmeksizin yeni diski sisteme gösterebiliyorsunuz.
Bu işlemi yapmak için aşağıdaki adımları takip edebilirsiniz.
Sisteminize yeni diski ekledikten sonra üzerinde yapılması gereken re-scan işlemi, RHEL ve Debian tabanlı dağıtımlarda şu şekilde yapılmaktadır:

echo "- - -" > /sys/class/scsi_host/host0/scan

“host0″ ibaresi benim test sistemimdeki scsi_host’un ismidir ve bu değer sizin sisteminiz için farklı olabilir. Kendi scsi_host bilginizi öğrenmek için /sys/class/scsi_host dizininin altına bakabilirsiniz; host değeri buradaki dizinin ismidir:

ls -1 /sys/class/scsi_host

host0
host1
host2
Kendi scsi_host’unuzu öğrendikten sonra yukarıdaki komutu ilgili host değerini içerecek şekilde çalıştırsanız rescan işlemi yapılacaktır.

echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan

Durumu check etmek için fdisk komutunu -l paramteresi ile çalıştırabilirsiniz:

fdisk -l

Örnekte görüldüğü gibi sdc ismi ile yeni bir disk algılanmış durumda. Artık yeni diski uygun bir dosya sistemi ile formatlayabilir ve sisteminize mount edebilirsiniz.
Yararlı olması Dilegiyle…

2,458 total views, no views today


Linux İşletim Sistemlerinde VNC Server Yapılandırması

Merhaba bu yazımda Linux İşletim Sistemine uzak bağlantı kurabilmek için VNC Server kurulumunu ve ayarlarını örnekle anlatacagım.
Ben örnegimi Oracle Enterprise Linux 6 üzerine yapacagım,diger dagıtımlarda da küçük degişiklikler hariç hemen hemen yapılan işlemler aynı.

  • Sistemize istegigimiz VNC server paketini kurarız.Ben tigervnc yazılımını tercih edecegim,bu paket OEL cd’sinin repo’sunda geldigi için tercih nedenim.
[root@***** yum.repos.d]# yum install tigervnc-server -y
Loaded plugins: refresh-packagekit, security
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package tigervnc-server.x86_64 0:1.1.0-5.el6 will be installed
–> Finished Dependency Resolution
Dependencies Resolved
========================================
========================================
Package Arch
Version Repository Size
========================================
========================================
Installing:
tigervnc-server x86_64
1.1.0-5.el6 Oracle 1.0 M
Transaction Summary
========================================
========================================
Install 1 Package(s)
Total download size: 1.0 M
Installed size: 2.6 M
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : tigervnc-server-1.1.0-5.el6.x86_64 1/1
Verifying : tigervnc-server-1.1.0-5.el6.x86_64 1/1
Installed:
tigervnc-server.x86_64 0:1.1.0-5.el6
Complete!
  • /etc/sysconfig/vncservers dosyayımızı düzenleriz.

vi /etc/sysconfig/vncservers

VNCSERVERS=”2:root 3:mustafa”

VNCSERVERARGS[2]=”-geometry 1280×1024 -nolisten tcp -localhost”

VNCSERVERARGS[3]=”-geometry 1280×1024″



VNCSERVERS=”4:oracle”

VNCSERVERARGS[4]=”-geometry 1024×768 -depth 16″

Burada kullanılan 2,3,4 gibi numaralar kullanıcıya atanan numaralardır,mesela yukarıda ki örnekte 2’yi root kullanıcısına attık.

  • VNC Server parolasını yapılandırdııgmız kullanıcılar için belirliyoruz.Bizim örnegimiz de  “root”,“oracle” ve “mustafa” kullanıcıları için belirliyecegiz.
[root@***** ~]# vncpasswd
Password:
Password must be at least 6 characters – try again
Password:
Verify:
[root@***** ~]# su – oracle
[oracle@***** ~]$ vncpasswd
Password:
Verify:
[oracle@***** ~]$ su – mustafa
Password:
[mustafa@***** ~]$ vncpasswd
Password:
Verify:

VNC Server servisini başlatmak ve sunucumuz yeniden başladığında otomatik açılması için gerekli komutları çalıştırıyoruz.

/etc/init.d/vncserver start
chkconfig vncserver on

NOT : VNC paketini kurduktan sonra “/etc/sysconfig/vncservers” dosyasında degişiklik yapmadan da vnc baglantısı yapabiliriz.Örnek verecek olursak ;

  • Hangi kullancıya vnc ile baglanmak istersek o kullanıcıya girer aşagıda ki gibi bir komut çalıştırdıgımız da bir tane vnc servis oluşturmuş oluruz ve bu servis aracılıgı ile sunucuya vnc ile baglanabiliriz.
vncserver -geometry 1024x768 -depth 16 :4
  • VNC’yi kullanabilmemiz için vnc servisi oluşturdugumuz kullanıcıya bir de şifre oluşturmamız dogru olacaktır.
vncpasswd 
  • Oluşturdumuz vnc servisini öldürmek için aşagıda ki komutu kullanabiliriz.
vncserver -kill :4

NOT : VNCSERVER komutu hakkında daha ayrıntılı bilgi almak için aşagıda ki komutları kullanabiliriz.

man vncserver
vncserver --help

NOT : VNC Client aracılıgı ile VNC Server’a baglanmak;
Linux için ;

vncviewer machine-name:portnumber
vncviewer 192.168.1.150:4

Windows için ;

VNC Client

Yararlı olması Dilegiyle…
Yazar : Mustafa Bektaş Tepe

2,317 total views, no views today


  • Sertifikasyon



  • Etiketler

  • Topluluklar

                     
                     
  • Live Traffic Feed

    Feedjit Widget
  • Copyright © 1996-2010 Mustafa Bektaş Tepe. All rights reserved.
    Türkçeleştirme Blogizma | AltyapıWordPress
    Takip Et

    Her yeni yazı için posta kutunuza gönderim alın.

    Diğer takipçilere katılın: