Eski sunumlar ve bildiriler 23 April 08, Wednesday @ 05:29

Daha önce verdiğim sunum ve bildirileri buraya koyma niyetim uzun zamandır vardı, ancak kısmet bugüneymiş.

Çanakkale'de Akademik Bilişim 2008 konferansında verdiğim "Xen 3.1 Üzerinde Sanal Ağ Tasarımı" konulu sunum (ppt) ve bildiri metni (pdf).

Bilkent Üniversitesi Bilgisayar Teknolojileri ve Programlama (CTP) bölümünde "Networking Principles and Applications" (204) dersi öğrencilerine verdiğim "IP Routing" konulu sunum. (odp , ppt , pdf)



Tags: Sanallaştırma     ,  Comments: 0 ( Add your comment )
Xen üzerinde sanal Pardus'ta otomatik gui başlatmak 23 April 08, Wednesday @ 03:46

Daha önceki bir yazımda (kesin konuşmak gerekirse şu yazımda) Xen üzerinde sanal Pardus kurmuş ve normal kullanıcı olarak oturum açıp, ağdaki herhangi diğer bilgisayar veya dom0'dan VNC ile bağlanıp sanal Pardus'umuzu kullanmıştık.

Kısaca özetlemek gerekirse:

  1. domU'da normal kullanıcı olarak VNC sunucusu çalıştırılır.
  2. Normal kullanıcının DISPLAY çevre değişkeni çalıştırılan VNC sunucu olacak şekilde ayarlanır.
  3. domU'da KDE başlatılır.

Ancak bir süre sonra fark edeceğiniz gibi, her grafik arayüz kullanmak istediğimizde bütün bu işlemleri baştan yapmak epey vakit kaybettiriyor. Ben de yukarıda saydığım adımları bizim adımıza yapan bir COMAR servis betiği ile sorunu çözmeye çalıştım. Betik son derece basit ve kirli, ancak özellikle Linux sistemleri yönetmenin kolaylığı ve elimizin altındaki araçlar konusunda fikir vermesi açısından yararlı olacağını düşünüyorum.

Önce COMAR tarafından çağrılacak başlatma betiği:

#!/bin/bash

export USER="otc"
export HOME="/home/otc"
/usr/bin/vncpasswd < /home/otc/.vnc/vnc-passwd
/usr/bin/vncserver :1 > /home/otc/vnc.log 2>&1
export DISPLAY="pardus-client:1"
/usr/kde/3.5/bin/startkde > /home/otc/kde.log 2>&1

vncserver programını başlatabilmek için bir şifre girme zorunluluğu bizi vncpasswd programı ile şifreyi önceden belirlemek zorunda bırakıyor. Bu şifre kullanıcımızın ev dizinindeki bir dosyadan okunacak şekilde ayarlanıyor. DISPLAY çevre değişkeni ayarlanıp KDE başlatılıyor. USER ve HOME çevre değişkenlerinin ayarlanması vncserver programını başlatabilmek için gerekli, eğer bunları ayarlamaz iseniz vnc sunucunuz başlatılamıyor.

Sırada vnc sunucumuzun otomatik başlamasını sağlayacak COMAR servis betiği var:

from comar.service import *
import os

serviceType = "script"
serviceDesc = _({
"en": "Vnc Server",
"tr": "Vnc Sunucu",
})
serviceDefault = "on"

@synchronized
def start(boot=False):
if status():
return

run("/sbin/start-stop-daemon --start --quiet --chuid otc -b --exec /etc/init.d/startvnc")


@synchronized
def stop():
run("/sbin/start-stop-daemon --stop --quiet --name startkde")
run("/sbin/start-stop-daemon --stop --quiet --name Xvnc")

def status():
return isServiceRunning("/home/otc/.vnc/pardus-client:1.pid")

COMAR servis betikleri Python ile yazılan ve servis ile ilgili işlemlerin tanımlandığı betiklerdir. Bu işlemler tanımlanırken COMAR Service API'si bize çok çeşitli metodlar sunar. Siz service komutunu veya TASMA'dan Servis Yöneticisi'ni çalıştırdığınızda COMAR servis betiğinizi çalıştırarak size istediğiniz bilgiyi sunar.

COMAR API'leri sistemde /usr/lib/pardus/comar altında bulunur. Bu dizinin içindeki service.py ve utility.py betikleri içerisinde servis betiğinde kullanabileceğiniz metod ve sınıfların kaynak kodları bulunur.

serviceDefault değişkeni ile servisin öntanımlı durumu (her açılışta başlatılıp başlatılmayacağı) belirtilir.

serviceDesc ile Servis Yöneticisi veya service komutunun çıktısında servisin açıklama hanesinde görünecek değer belirtilir.

Bir COMAR servis betiğinde servisin çalıştırılması, durdurulması ve o anki durumunun öğrenilmesi için gerekli 3 metod tanımlanması yeterlidir.

Servisleri başlatmak için run (/usr/lib/pardus/comar/utility.py içinde tanımlı) veya startService (/usr/lib/pardus/comar/service.py içinde tanımlı) çağrılarını kullanabilirsiniz. Run metodu yeni bir kabuk başlatmadan verilen komutu çalıştırır.

vncserver programı kendi süreç numarasını kullanıcının ev dizinindeki bir dosyaya yazar. COMAR isServiceRunning metoduna bu dosyanın yolunu vererek, dosyanın içinde yazan süreç numarasını okuyup o numaralı sürecin aktif olup olmadığını kontrol etmesini istiyoruz.

Servis başlatılacağı ve durdurulacağı zaman /sbin/start-stop-daemon programını çalıştırılmasını istiyoruz. start-stop-daemon orjinalde debian için yazılmış, servis başlatmak ve durdurmak için aşağı yukarı her linux dağıtımında bulunan yararlı bir program. Bu program ile ilgili daha ayrıntılı bilgi almak isteyenler programın man sayfasına bakabilirler.

start-stop-daemon ile servis başlatılırken /etc/init.d/startvnc betiğini otc kullanıcısı olarak start parametresi ile çalıştırmasını ve hata çıktıları haricinde hiçbir çıktıyı ekrana yazdırmamasını istiyoruz. startvnc betiğinde de vncserver ve startkde programlarının standart ve hata çıktılarını kullanıcının ev dizinindeki bir dosyaya yönlendiriyoruz ki COMAR ile servisi başlattığımızda bu çıktıları dosyadan takip edebilelim.

Servis durdurulacağı zaman Xvnc ve startkde adındaki tüm programların SIGTERM sinyali ile durdurulmasını istiyoruz. Belirtilen programların hangi sinyal ile durdurulacakları start-stop-daemon'un --signal parametresi ile belirtilebilir.

Hazırladımız COMAR servis betiğini kullanması için COMAR'a kaydettirmemiz gerekli. COMAR ile komut satırından haberleşmek için hav komutunu kullanıyoruz.

# hav register System.Service vnc service.py

Yukarıdaki komut ile service.py betiğini vnc adı ile COMAR Service sınıfı altına kaydettik. Artık Servis Yöneticisi veya service komutu ile vnc adını verdiğimiz servisimizi kullanmaya başlayabiliriz.

# service vnc start
# service vnc stop
# service vnc status

Servis betiğinizde bir hata olduğunu fark eder, veya artık bu servisi kullanmak istemediğinize karar verirseniz COMAR'a bu servisi silmesini söylemeniz gerekir.

# hav remove vnc 


Tags: Pardus   ,  Comments: 0 ( Add your comment )
Xen ile sanal makinede yazıcı tanıtma 15 February 08, Friday @ 05:44

Xen ile domU altında herhangi bir gerçek aygıtı kullanmak isterseniz öncelikle aygıtı sadece domU'nun kullanması için transfer etmeniz gerekir.

Xen ile USB portlarını domU'lara transfer edemezsiniz. Şu an (3.2.0 kararlı sürümü ile) Xen sadece PCI aygıtlarının domU'ya transfer edilmesi özelliğini sağlamaktadır. Ancak USB aygıtlar, birer PCI aygıtı olan USB Controler aracılığı ile kullanılırlar. :-)

PCI aygıtları domU'ya transfer etmek için Xen'in PCI Backend (pciback) sürücüsü kullanılır. dom0 içinde yüklü olan pciback sürücüsü Xen'in fiziksel aygıtları kullanabilmesi için bir arayüz sunar. Buna benzer bir arayüz olan PCI Frontend (pcifront) de domU'larda bulunur ve her ikisi birlikte sanal makinelerin gerçek aygıtlarla güvenli bir şekilde iletişimini sağlar.

Herhangi bir aygıtı domU'ya transfer etmek, backend sürücüsünün aracılığını ortadan kaldırmak demek olduğu için aygıt artık dom0 veya diğer domU'lar tarafından kullanılamaz. Aynı zamanda Xen hipervizörünün de aracılığı ortadan kalktığı için (normalde bütün aygıtlar Xen hipervizörü tarafından yönetilen backend sürücüsü aracılığıyla kullanılırlar.) domU'nun aygıtın kullanımı konusunda sınırsız yetkisi olur.

Aşağıda örnek olarak yazıcınızı nasıl domU'ya transfer edebileceğinizi göstereceğim.

Bir aygıtı domU'ya transfer etmeniz için önce onu pciback sürücüsünü kullanarak dom0'dan saklamanız ve daha sonra domU ayar dosyasında aygıtın kullanılacağını belirtmeniz gerekir.

Bunu sağlamak için üç yöntem mevcuttur. Birinci yöntem sadece pciback ve pcifront sürücüleri dom0 ve domU kerneli içinde statik olarak derlenmişse işe yarar. Eğer her iki sürücüden biri modül olarak derlenmişse sadece diğer yöntemler kullanılabilir.

Her üç yöntem için de önce hangi aygıtı transfer edeceğinizi bulmanız gerekir. Bunun için lspci çıktısını kullanabilirsiniz. Benim makinemde lspci çıktısı aşağıdaki gibidir:

# lspci 
00:00.0 Host bridge: Silicon Integrated Systems [SiS] 741/741GX/M741 Host (rev 03)
00:01.0 PCI bridge: Silicon Integrated Systems [SiS] SiS AGP Port (virtual PCI-to-PCI bridge)
00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS964 [MuTIOL Media IO] (rev 36)
00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev 01)
00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] AC'97 Sound Controller (rev a0)
00:03.0 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f)
00:03.1 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f)
00:03.2 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f)
00:03.3 USB Controller: Silicon Integrated Systems [SiS] USB 2.0 Controller
00:04.0 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rev 90)
00:05.0 IDE interface: Silicon Integrated Systems [SiS] RAID bus controller 180 SATA/PATA [SiS] (rev 01)
00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] 661/741/760/761 PCI/AGP VGA Display Adapter

Bu çıktı içinden bir transfer etmek istediğiniz pci aygıtını bulmanız gerekir. Usb portuna herhangi bir aygıt takın. dmesg çıktısında aygıtın hangi Controller üzerinde olduğunu görebilirsiniz. Burada örnek olarak transfer etmek istediğimiz USB portunun 00:03:0 adresinde olduğunu farzedeceğim.

1. YÖNTEM

Xen sanal makine yöneticisine açılışta vereceğiniz kernel parametreleri ile pciback sürücüsünün hangi aygıtları dom0'dan saklaması gerektiğini belirtebilirsiniz. Örnek bir grub girdisi şöyle olabilir.

title           Xen 3.1.0 / Debian GNU/Linux, kernel 2.6.18-xen
root (hd0,1)
kernel /boot/xen-3.1.0.gz
module /boot/vmlinuz-2.6.18-xen root=/dev/sda2 ro console=tty0 pciback.hide=(00:03.0)
module /boot/initrd.img-2.6.18-xen
savedefault

Bu yöntemin işe yaraması için pciback sürücüsünün dom0 kernel'i içine statik olarak derlenmesi gerektiğini unutmayın.

2. YÖNTEM

pciback sürücüsüne göndereceğiniz parametreler ile aygıtın saklanmasını sağlayabilirsiniz. Ancak pciback sürücüsünün aygıtı kontrol altına alması için o aygıtın hiçbir sürücünün kontrolü altında olmaması gerekir. Eğer saklayacağınız PCI aygıtı için bir sürücü yüklenmiş ise öncelikle bu sürücüye aygıtı bırakmasını söylemeniz gerekir. Örneğin dmesg çıktısına göre benim yazıcımın bağlı olduğu PCI Controler aygıtı ohci_hcd sürücüsü tarafından kullanılmaktaymış.

ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
usb 1-1: new full speed USB device using ohci_hcd and address 2

O halde ohci_hcd sürücüsüne bu PCI aygıtının kontrolünü bırakmasını söylemeliyiz.

# echo -n 0000:00:03.0 > /sys/bus/pci/drivers/ohci_hcd/unbind

Eğer yukarıdaki komut bir hata veriyorsa (hatayı dmesg çıktısında görebilirsiniz) yanlış sürücüye parametre yolluyorsunuz demektir.

Artık bu aygıtı pciback sürücüsünün kontrol etmesini söyleyebiliriz.

# echo -n 0000:00:03.0 > /sys/bus/pci/drivers/pciback/new_slot
# echo -n 0000:00:03.0 > /sys/bus/pci/drivers/pciback/bind

Yukarıdaki 3 komutu bir açılış betiği içine yazarak her açılışta otomatik olarak çalıştırılmasını sağlayabilirsiniz.

Bu yöntemi kullanırsanız hatırlamanız gereken şey, pciback modülü herhangi bir nedenle kaldırılırsa veya yeniden yüklenirse aynı işlemleri yeniden yapmanız gerektiğidir.

3. YÖNTEM

Modül ayarlarının yazıldığı dizinde birkaç oynamayla aynı işlemi yapabilirsiniz. Bu yöntemin yararı herhangi bir nedenle pciback modülü kaldırılsa veya yeniden yüklense bile ayarların yeniden yapılması gerekmez. Ancak bu yöntemin uygulanması dağıtımdan dağıtıma farklılık gösterir. Örneğin modüller ile ilgili ayarlar Debian' da /etc/modprobe.d/ dizini altında herbir modül için modülün adıyla aynı birer dosya şeklinde tutulur. Pardus'ta bu dizin /etc/modules.d/ adını alırken, Red Hat, CentOS ve Fedora gibi dağıtımlarda bütün modüller ile ilgili ayarlar /etc/modprobe.conf içine yazılırlar.Kullandığınız dağıtımda bu özelliği nasıl kullacağınızı bulmak size kalmış. :-)

Örneğin Debian'da /etc/modprobe.d/pciback dosyasındaki ayarlar aşağıdaki gibi olmalıdır.

options pciback hide=(0000:00:03.0)

Ancak eğer ohci_hcd modülü pciback modülünden önce yüklenirse bu parametre işe yaramaz. (2. YÖNTEM'de anlatılan sebepten dolayı) O halde ohci_hcd modülünün ayar dosyasına da pciback modülünden önce yüklenmesini engelleyecek bir ayar koymalıyız.

install ohci_hcd /sbin/modprobe pciback ; /sbin/modprobe --first-time --ignore-install ohci_hcd

Bu ayar ile ohci_hcd modülü ilk defa yükleneceği zaman önce pciback modülünün yüklenmesini sağladık.

Eğer bu üç yöntemden birini kullanarak aygıtı pciback kontrolüne verdiyseniz artık aygıtınız domU tarafından kullanılmaya hazırdır. domUayar dosyasına yazılan pci parametresi ile aygıtı domU'nun kontrolüne verebilirsiniz.

pci=['00:03.0']

Eğer herşey yolunda gittiyse domU başladığında yeni bir PCİ aygıtı görüp kullanmaya başlayacaktır.

# lspci
00:00.0 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f)
# lsusb
Bus 001 Device 003: ID 04e8:325b Samsung Electronics Co., Ltd
Bus 001 Device 002: ID 058f:9254 Alcor Micro Corp. Hub
Bus 001 Device 001: ID 0000:0000

Sadece bir usb portunu domU'ya atamadığımıza dikkat edin. Atadığımız PCI aygıtı USB Controler idi, dolayısı ile aynı USB Contoler'a bağlı USB portlarının hepsini birden domU'ya atadık. Bu portların sayısı birden fazla olabilir.

Ayrıca bu işlem her PCI aygıtı için tekrarlanabilir. Böylelikle birden fazla aygıtı (örneğin iki ağ kartı ve bir yazıcıyı) domU'nun kontrolüne verebilirsiniz.



Tags: Sanallaştırma   ,  Comments: 0 ( Add your comment )
Pardus'ta komut satırında makine adını (hostname) değiştirmek 15 February 08, Friday @ 04:17

Pardus'ta makine adını (hostname) komut satırından "hostname" komutu ile değiştirirseniz yaptığınız değişiklik COMAR'a kaydedilmediği için bilgisayarınız yeniden başlatıldığında makine adınız eski haline dönecektir. COMAR her açılışta makine adını yeniden ayarlar.

Pardus'u sürekli grafik arayüz ile kullanmaya alıştı iseniz bu tip ince ayrıntıları unutabiliyorsunuz. ("Neden ağ programcığı varken komut satırından komut satırından makine adını değiştireyim ki" dediğinizi duyar gibiyim.) İşte size adım adım makine adını COMAR ile değiştirmenin yöntemi:

1) Herhangi bir python yorumlayıcısı başlatın.

# python

 

2) Python yorumlayıcısında sıra ile aşağıdaki komutları girin.

import comar
link = comar.Link()
link.Net.Stack.setHostNames(hostnames="makine_adı")
reply = link.read_cmd()
reply.command
reply.data.split("\n")

3) reply.command komutunun çıktısı 'result' ise makine adınız bir dahaki açılışta makine_adı olarak değiştirilecek. Şimdi güvenle hostname komutunu kullanabilirsiniz.

# hostname makine_adı 

 



Tags: Pardus   ,  Comments: 2 ( Add your comment )
Xen üzerinde sanal Pardus kurulumu 15 February 08, Friday @ 03:48

Açık kaynak Sanal Makine Yöneticisi (Virtual Machine Monitor - VMM) olan Xen son versiyonlarında eklediği özelliklerle gerçekten kullanışlılığı ile dikkat çekmeye başladı. Ben de bu ilk girdimde Xen üzerinde sanal Pardus kurulumunu anlatmaya karar verdim.

Bu girdide Xen kurulumundan veya ayarlarından bahsetmeyeceğim. Makinenizde zaten Xen'in kurulu ve düzgün çalışıyor olduğunu varsayıyorum. Eğer Xen kurulumu ile uğraşacaksanız yine dom0 olarak Pardus kullanmanızı tavsiye ederim. Hergün sanal makineler ile uğraştığım için bugüne kadar birçok işletim sistemi altında Xen kurdum, çalıştırdım ve hatta kendim derledim. Gerçekten de şunu rahatlıkla söyleyebilirim ki Xen kurulumu ve kullanımı en rahat Pardus altında oluyor.

Ancak sanal Pardus kullanmak için mutlaka dom0'ınızın da Pardus olması gerekmiyor. En azından Pardus kurulu bir makineye erişiminiz olmalı ki temel bir imaj hazırlayabilesiniz.

İşte size adım adım Pardus kurulumu. (Aşağıdaki işlemler Pardus 2007.3 altında 2007-test deposundan alınan Xen ve kernel-dom0 kernel-domU paketleri ile test edilmiş ve doğrulanmıştır.)

1) Eğer sanal makinelerinizin diskleri için imaj kullanacaksanız öncelikle bir disk imajı oluşturmalısınız. dd komutu bu konuda işimizi görür.

# dd if=/dev/zero of=imaj_dosyası bs=1k seek=4096k count=1

Yukarıdaki komut 4 GB'lık bir imaj dosyası oluşturur. seek parametresi olarak verilen değer ile oynayarak daha küçük veya büyük imajlar hazırlanabilir. Eğer domU'da GUI kullanacaksanız min 3 GB, kullanmayacaksanız 1GB minimum değerler olmalıdır.

Eğer disk olarak imaj yerine başka bir yöntem (mantıksal [lvm] veya fiziksel bölüm, NFS vs.) kullanacaksanız bu işlemi atlayabilirsiniz.

2) Daha sonra yarattığınız imajın içinde dosya sistemi oluşturmalısınız. (Eğer imaj yerine mantıksal ya da fiziksel bölüm kullanacaksanız kullanacağınız bölüm üzerinde dosya sistemi oluşturun.)

# mkfs.ext3 imaj_dosyası

3) İmajı (veya mantıksal yada fiziksel bölümü) dosya sisteminiz altında herhangi bir yere bağlayın (örn. /mnt/pardus)

# mount -o loop imaj_dosyası /mnt/pardus

4) Bağlanan diskte pisi'nin kullanması için bir depo oluşturun.

# pisi ar pardus-2007 http://paketler.pardus.org.tr/pardus-2007.3/pisi-index.xml.bz2 -D /mnt/pardus/

 

Eğer kendi lokal deponuz varsa Pardus deposunun adresi yerine kendi deponuzun adresini yazın.

5) Sanal makinenin diskine Pardus temel sistem bileşenlerini kurun.

# pisi it -c system.base -D /mnt/pardus --ignore-comar

--ignore-comar dememizin sebebi sistemin kurulduğu yerde Comar kurulu olmaması, bu problemi daha sonra halledeceğiz.

Yukarıdaki komut ile 63.13 MB'lık paket indiriyorsunuz.

6) Yeni oluşturduğunuz dizine chroot edin.

# chroot /mnt/pardus

7) linker için gereken dosyaları oluşturun.

# cp /usr/share/baselayout/ld.so.conf /etc/ && ldconfig 

8) Yeni kurduğunuz sistemin ilk ayarlarının yapılabilmesi için Comar'ı başlatın.

# service comar start 

9) Comar'ın paketlerin --ignore-comar seçeneğinden dolayı eksik kalan ayarlarını yapmasını sağlayın.

# pisi configure-pending

 

10) Yeni sistemde root kullanıcısının parolasını belirleyin.

# passwd

11) /etc/fstab dosyasını gerektiği şekilde düzenleyin.

/dev/xvda1	none		swap	defaults	0 0
/dev/xvda2 / ext3 noatime 0 1
none /proc proc nosuid,noexec 0 0
none /dev/shm tmpfs defaults 0 0

12) Boot etmek için gerekli aygıt node'larını oluşturun.

# /usr/bin/mknod /dev/console c 5 1
# /usr/bin/mknod /dev/null c 1 3 

13) /etc/inittab içindeki tty2-6 arası bütün terminalleri kapatın. Xen altında sadece 1 terminalimiz olacak.

c1:12345:respawn:/sbin/mingetty --noclear tty1
#c2:12345:respawn:/sbin/mingetty --noclear tty2
#c3:12345:respawn:/sbin/mingetty tty3
#c4:12345:respawn:/sbin/mingetty tty4
#c5:12345:respawn:/sbin/mingetty tty5
#c6:12345:respawn:/sbin/mingetty tty6

14) exit komutu ile chroot'dan çıkın.

15) domU başlatma dosyasını oluşturun.

name = "pardus"
memory = 256
kernel = /boot/kernel-2.6.18.8-16-domU
disk = [ "file:swap_imajı, xvda1, w", "file:imaj_dosyası, xvda2, w" ]
root = "/dev/xvda2"
vif = [ "" ]

Dikkat etmeniz gereken şey fstab içinde hangi diski root olarak belirtti iseniz burada da root parametresine aynı değeri girmeniz.

16) domU'nun kullanacağı kernel'in modüllerini imajınızın içine kopyalayın. (domU kernel'ini kernel satırında belirttik.)

# cp -r /lib/modules/kernel-2.6.18.8-16-domU /mnt/pardus/lib/modules

Pardus'ta Modül bağımlılıkları her açılışta yeniden hesaplandığından depmod komutunu çalıştırmanıza gerek yok.

18) imaj dosyanızı umount ile çözün ve domU'yu başlatın.

# xm cr -c domU_başlatma_betiği

Terminalde çalışan minimal bir Pardus'unuz var. :-)

Eğer ben GUI olmadan çalışamam diyorsanız işte size KDE'li sanal Pardus kurmak için fırsat.

19) KDE için gerekli paketleri kurun.

# pisi it arts artwork kdeaccessibility kdeaddons kdeadmin kdeartwork-emoticons kdebase kdebindings \
kdeedu kdegames kdegraphics kdelibs kdemultimedia kdenetwork kdepim kdesdk kdetoys \
kdeutils qt libvncserver tightvnc sudo

Yukarıdaki komut tek bir satıra yazılmalıdır.

Ayrıca aşağıdaki çıktıya dikkat etmenizi öneririm:

Paket(ler)in toplam boyu: 285.75 MB
Bağımlılıklar yüzünden ek paketler var. Devam etmek istiyor musunuz? (evet/hayır)

Bunlar KDE çalıştırabilmek için zorunlu olan paketler. Bir de seçimlik olanlar var. Örneğin ben Pardus ayarlarımı yapmak için Tasma kullanmak istiyorum diyorsanız:

# pisi it tasma 
Bağımlılıkları sağlamak için bu paketler verilen sırada kurulacaktır:
sip qscintilla PyQt PyKDE PyKDEeXtensions package-manager user-manager dbus-python disk-manager
boot-manager pygobject libglade2 libsvg libsvg-cairo pycairo pygtk startup-notification libwnck
libsexy notification-daemon libnotify notify-python network-manager iksemel service-manager
python-iptables iptables firewall-config tasma
Paket(ler)in toplam boyu: 8.01 MB

20) Kurulum tamamlandıktan sonra KDE kullanırken ihtiyacınız olacak bütün servisleri açın.Benim makinemde service komutunun çıktısı aşağıdaki gibi:

     Servis     |   Durum   | Otobaşla | Açıklama
-------------------------------------------------
PolicyKit | çalışıyor | evet | Politika Araçları
cups | çalışıyor | evet | CUPS Yazıcı Sunucusu
cyrus-sasl | | | Cyrus-SASL Sunucusu
dbus | çalışıyor | evet | DBUS Masaüstü İletişim Sistemi
gpm | | | Konsol için Fare Sunucusu
hal | çalışıyor | evet | Donanım Soyutlama Katmanı (HAL)
iptables | | | Güvenlik Duvarı
kdebase | | | KDE Masaüstü Ortamı
lirc | | | InfraRed Bağlantı Yöneticisi
mDNSResponder | çalışıyor | evet | Zeroconf İstemcisi
nas | | | Ağ Ses Sistemi
net-snmp | | | SNMP Sunucusu
openssh | çalışıyor | evet | Güvenli Kabuk Sunucusu
samba | çalışıyor | evet | SMB Ağ Paylaşımı
subversion | | | SVN Sunucusu
sysklogd | çalışıyor | evet | Sistem Mesajları Kütüğü
vixie-cron | çalışıyor | evet | Cron Görev Zamanlayıcı
zemberek-server | çalışıyor | evet | Zemberek Yazım Denetimi

21) Eğer grafik ekrana root kullanıcısı olarak giriş yapmayacak iseniz (benim önerim yapmayın, pardus geliştiricileri düşünmüşler, taşınmışlar ve bu konuda bir karar almışlar, bu karara saygı duyun :-) ) yeni bir kullanıcı yaratın ve onu istediğiniz gruplara üye yapın.

# useradd -m -d /home/pardus -k /etc/skel -g users -G wheel pardus 

Yukarıdaki komut ile wheel grubuna üye (sistem yönetimi yetkilerine sahip) pardus isminde bir kullanıcı yarattık.

Tabii ki bu kullanıcının bir de şifresi olmalı. Onu da tanımlayın eliniz değmişken.

# passwd pardus 

22) Yeni kullanıcı olarak login olun.

# su - pardus

23) Diğer makinelerden (dom0 veya uzaktaki bir makine olabilir.) bağlanabilmek için VNC sunucusunu başlatın.

$ vncserver

Bu komut sizden VNC bağlantılarınız için bir şifre tanımlanızı ister ve aşağıdakine benzer bir çıktı verir.

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
xauth: creating new authority file /home/pardus/.Xauthority

New 'X' desktop is pardus:1

Creating default startup script /home/pardus/.vnc/xstartup
Starting applications specified in /home/pardus/.vnc/xstartup
Log file is /home/pardus/.vnc/pardus:1.log

Burada X sunucusunun adresi 6. satırda verilmiştir. Bu adresi not edin.

24) VNC sunucunun öntanımlı başlatma betiği Pardus'un öntanımlı pencere yöneticisi yerine başka bir pencere yöneticisi kullanır. Eğer benim gibi alışmakta zorluk çekecekseniz bunu değiştirmeniz gerekir.Değiştirmeniz gereken başlatma betiğinin adresi yukarıdaki komut çıktısında var.

$ nano /home/pardus/.vnc/xstartup
#!/bin/sh

xrdb $HOME/.Xresources
xsetroot -solid grey
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
kwin &

En son satırdaki twm programı yerine Pardus'un öntanımlı pencere yöneticisi olan kwin programının çalıştırılmasını söyledik.

Değişikliklerin etkin olması için VNC sunucuyu yeniden başlatmalısınız.

$ killall Xvnc && vncserver

25) vncserver komutunun çıktısında yazan X sunucunuzun adresini not ettiniz değil mi? Siz not ettiniz ama Pardus'a da söyleyin hangi sunucuyu kullandığınızı:

$ export DISPLAY=pardus:1 

26) Artık kde başlatmaya hazırsınız:

$ startkde&

Bu işlemi root olarak yapmaya çalışırsanız (yapmamanız konusunda uyarmıştım değil mi! bkz. madde 21 :-) ) komutun bulamadığı şikayeti ile karşılaşacaksınız. Korkmayın ...

# /usr/kde/3.5/bin/startkde&

Artık KDE çalışan bir sanal Pardus'unuz var. Ama göremiyoruz :-(

27) dom0 veya uzaktaki herhangi bir bilgisayarda VNC istemcisini çalıştırın. vncviewer veya krdc olabilir.

$ vncviewer pardus:1

veya

$ krdc pardus:1

İstemcinizi başlatırken makine adı yerine adres de verebilirsiniz.

$ krdc 192.168.1.1:1

28 ) Eğer ağ ayarlarınızı yapmak için bugüne kadar hep Tasma'yı veya panelde sağ köşedeki ağ programcığını kullandı iseniz, sanal makinenizin terminalinde ağ ayarlarını yapmakta zorlanabilirsiniz. Aradığınız programın adı network.

# network help

ile kullanımı ile ilgili yardım alabilirsiniz.



Tags: Sanallaştırma   ,  Comments: 0 ( Add your comment )
5 result(s) in 1 page(s)
Previous Page  - 1 / 1 -  Next Page