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