歡迎您光臨本站 註冊首頁

Fedora Core 5.0 用 Xen 虛擬Slackware 10.2

←手機掃碼閱讀     火星人 @ 2014-03-24 , reply:0

1、什麼是Xen;

Xen 是一個基於操作系統內核的虛擬程序,是遵循GPL發行;她能在一套物理硬體上虛擬多個操作系統,其虛擬的操作系統是最接近原汁原味。由於她是基於內核的虛擬機,能和操作系統聯繫的更加緊密,能大大減少系統資源的佔用率;Xen 是從事跨平台開發,網路測試的利器;

Xen 兼容操作系統,請參見:《Current OS Compatibility》

目前Xen 還不能對Windows的支持還在開發之中,對Linux、BSD等的支持沒有太大的問題;


2、運行Xen的平台選擇;

大多Linux發行版本及BSD的版本都有支持Xen,所以Xen目前是比較成熟的技術,因其遵循GPL發布,使得Xen在開源操作系統佔用率只高不下。我這次選用的是Fedora Core 5.0;當然您也可以用其它操作系統,自己來編譯安裝Xen;


2.1 Xen的運行平台Fedora Core 5.0

Fedora Core 5.0的好處是在線就能升級安裝支持Xen的內核軟體包,所以就省卻了自己編譯安裝Xen的麻煩;


2.2 為Fedora Core 5.0 安裝支持Xen的內核;

安裝支持Xen的內核比較簡單,用yum 就可以在線安裝,請參見:《關於Fedora Core 5.0 通過Yum在線升級說明》,先設置好yum的源,然後在線安裝支持Xen的內核,您可以用yumex來點滑鼠完成,當然也可以用命令行模式來安裝,看自己的喜歡吧;

[root@localhost ~]# yum install kernel-xen0-2.6.16-1.2080_FC5
[root@localhost ~]# yum install kernel-xenU-2.6.16-1.2080_FC5

其中kernel-xen0-2.6.16-1.2080_FC5是虛擬機運行環境的內核,這個內核可以為虛擬的操作系統提供一個基礎的虛擬硬體環境,比如虛擬網卡、顯示卡等;而kernel-xenU-2.6.16-1.2080_FC5內核是客戶機所用的內核,也就是被虛擬的操作系統,要通過這個內核來引導;

安裝好后,在/etc/grub.conf中以有類似如下一段(看看就行);

title Fedora Core (2.6.16-1.2080_FC5xen0)
root (hd0,6)
kernel /boot/xen.gz-2.6.16-1.2080_FC5
module /boot/vmlinuz-2.6.16-1.2080_FC5xen0 ro root=LABEL=/ rhgb quiet
module /boot/initrd-2.6.16-1.2080_FC5xen0.img

當我們重新引導系統時,要在GRUB的菜單上選擇以這個內核來啟動系統;


2.3 為Fedora Core 5.0 安裝Xen;

我們可以在線通過yum來安裝,請參考 :《關於Fedora Core 5.0 通過Yum在線升級說明》,先設置好yum的源,然後在線安裝或升級Xen,您可以用yumex來點滑鼠完成,當然也可以用命令行模式來安裝,看自己的喜歡吧;我所用的Xen版本是xen-3.0.1-4;

[root@localhost ~]# yum install xen


2.31 確認Xen伺服器的運行級別;

[root@localhost ~]# chkconfig --list |grep xend
xend 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
xendomains 0:關閉 1:關閉 2:關閉 3:啟用 4:啟用 5:啟用 6:關閉

通過chkconfig 命令,我們得知xend和xendomains兩個守護程序都在3(文本運行模式)和5(圖形運行模式)都能自動運行;請詳細看上面的輸出。如果我們看到 xend和xendomains在3和5運行模式下關閉的,則要打開;您可以通過system-config-services或ntsysv來打開這兩個守護程序;也可以用下面的簡單辦法 ;

[root@localhost ~]# chkconfig --level 35 xend on
[root@localhost ~]# chkconfig --level 35 xendomains on


2.32 Xen伺服器的啟動、停止的方法;

上面我們提到了當系統啟動時,xend伺服器會自動打開。如果我們修改配置文件或xend有問題時,我們可能需要重啟xend和 xendomains伺服器;下面是一個簡單的說明,其它伺服器的啟動和停止也類似;對於Fedora Core 來說,我們經常用的伺服器守護程序(也就是伺服器程序的開關),大多都在/etc/init.d目錄中;自己看看就好,如果您不懂。

[root@localhost ~]# /etc/init.d/xend start 註:啟動
[root@localhost ~]# /etc/init.d/xend restart 註:重啟
[root@localhost ~]# /etc/init.d/xend stop 註:停止

同理xendomains的啟動、停止和重啟也是相似的;


2.33 Xen和防火牆的關係的處理;

防火牆包括iptables和SELinux,我是建議把他們關掉,如果您是新手,就關了吧;

[root@localhost ~]# system-config-securitylevel

全都Disable掉;


2.34 查看Xen是否運行起來了xm list;

[root@localhost ~]# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 586 1 r----- 696.6

如果看到上面的Domain-0的輸出,就可以證明xend和xendomains已經在正常運行;

值得注意的是:這時系統所用的內核是vmlinuz-2.6.16-1.2080_FC5xen0 在/boot中有,您可以通過下面的命令來查看;

[root@localhost ~]# uname -r -p
2.6.16-1.2080_FC5xen0 i686
[root@localhost ~]#


3、 在Fedora Core 5.0中安裝Slackware 10.2的方法;

目前安裝操作系統的主要方法是通過chroot來實現,就Slackware 10.2的在Fedora 環境下的安裝,自然也超不出這個方法;不過對於Xen的虛擬Slackware 10.2已經有人寫了一個腳本,然後通過腳本在Fedora Core 5.0中安裝Slackware 10.2,採用的方法也是chroot 的方法;

為了使大家明白一點怎麼在一個操作系統下安裝另一個操作系統,我看有必要簡單的寫一寫chroot的要點;


3.1 通過chroot 命令來構建Slackware 10.2;(僅供參考)

大多開源操作系統都可以通過chroot的方法來安裝,在這方面Gentoo 和LFS用的比較多,如果您懂得Gentoo 或LFS,您應該明白如何chroot安裝一個操作系統;一個操作系統可以寫進一個實際的物理硬碟分區,也可以寫在一個映像文件中,主要做什麼用了。如果您想讓這個操作系統不通過任何虛擬機運行,就要安裝在一個實際物理分區中;如果是虛擬運行,安裝到一個映像文件中比較好,象我們這次通過Xen虛擬 Slackware 10.2,我們把操作系統安裝在映像文件中比較好;

請參考:《通過chroot 構建Linux操作系統概要》


3.2 通過腳本實現自動安裝Slackware 10.2到映像文件中;(推薦)

我在通過chroot 構建Slackware 10.2的過程中,查到了一個用腳本構建的方法;

原文地址:http://wiki.xensource.com/xenwiki/SlackwareDomU


3.21 下載Slackware 10.2相關;

Slackware 10.2 下載: http://www.slackware.com/getslack
Slackware builder for UMLmkuml-2004.07.17-ananas.tar.bz2

說明: Slackware builder for UML就是通過chroot 模式安裝Slackware 到映像文件的相關腳本和軟體包,只是把我們自己chroot來安裝Slackware的工作簡化;


3.22 通過 Slackware builder for UML來安裝Slackware 10.2


第一步:解壓mkuml-2004.07.17-ananas.tar.bz2

[root@localhost ~]# tar jxvf mkuml-2004.07.17-ananas.tar.bz2
[root@localhost ~]# cd mkuml-2004.07.17
[root@localhost mkuml-2004.07.17]#


第二步:在mkuml-2004.07.17中創建slackware-current目錄,並把Slackware 10.2的兩張光碟內容提取出來放入slackware-current目錄中;

[root@localhost ~]# cd mkuml-2004.07.17
[root@localhost mkuml-2004.07.17]# mkdir slackware-current
[root@localhost mkuml-2004.07.17]# cd slackware-current/
[root@localhost slackware-current]# mount -o loop /opt/slackware-10.2-install-d1.iso /mnt/cdrom/
[root@localhost slackware-current]# cp -rp /mnt/cdrom/* .
[root@localhost slackware-current]# umount /mnt/cdrom
[root@localhost slackware-current]# mount -o loop /opt/slackware-10.2-install-d2.iso /mnt/cdrom/
[root@localhost slackware-current]# cp -rp /mnt/cdrom/* .
[root@localhost slackware-current]# umount /mnt/cdrom

說明:如果 /mnt目錄下沒有cdrom 目錄,就自己創建一個;Slackware的兩張安裝盤放置目錄在哪,要根據自己的情況來指定,我是把這兩張光碟放在了/opt目錄中,所以就有上面的mount 命令;


第三步:更改mkuml-2004.07.17目錄中的mkuml.sh;

在mkuml.sh中找到如下段落;
# file system sizes
ROOT_MB=2000
SWAP_MB=128

更改為

# file system sizes
ROOT_MB=3000
SWAP_MB=256

其中ROOT_MB是指定創建映像文件的大小,也就是說Slackware是安裝到這個映像文件中;我在這裡設置成為3G大小,SWAP_MB是指定交換分區文件的大小,我在這裡設置為256M;根據自己的情況來設置。一般的情況下,Slackware完全安裝需要3G左右;

在mkuml.sh中找到
mke2fs -F -j root_fs

改為

mke2fs -F -j -O ^resize_inode root_fs

和上面的改更聯繫起來的意思就是,首先要創建一個root_fs的文件,大小為3G,然後再創建一個swap_fs的文件,大小為256M;然後再對這兩個文件分別創建文件系統,root_fs創建為ext3文件系統,swap_fs創建為swap文件系統;如果不太明白,請參看 mkuml.sh中的相關語句;


第四步:執行mkuml.sh;

這個過程就是創建映像文件 root_fs和swap_fs,然後在他們之上進行創建文件系統,接著會通過mount 掛載root_fs,然後安裝我們剛才提取出來的Slackware 10.2的兩張光碟的軟體包到root_fs中;這一切都是通過腳本實現的,所以說這個腳本實在是太好了。呵。。。簡單明了。。。

把mkuml.sh改好后,我們要執行;
[root@localhost mkuml-2004.07.17]# ./mkuml.sh /opt/slack102vm

這是什麼意思呢?這個意思就是通過腳本mkuml.sh,在/opt中創建一個目錄,然後創建root_fs和swap到/opt/slack102vm中;然後進行創建上面所說的文件系統,掛載文件系統,安裝Slackware 之類的;一切全自動了... ...

到這一步,我們就會明白了吧,是不是把Slackware 安裝到了一個文件中了呢?所以說安裝操作系統,也是可以安裝到一個文件中的。比如 VMWARE虛擬Linux的安裝,也是可以虛擬到一個文件中的;

在這一過程中,還有root密碼的設置的提示,自己輸入一下,還有網路設置,也可以設置一下。在Hostname ,我設置的是slack,在DOMAINNAME的設置中,我設置的是localdomain ,在設置IP那塊,要根據自己的實際網路情況。我用的是DHCP自動獲取的,因為我在路由器中設置了所有的機器都通過DHCP自動獲取IP;

如果您想知道自己的Slackware 10.2安裝到哪裡了呢?你查看一下/opt/slack102vm中的root_fs就知道了;怎麼查看呢?

應該用mount -o loop 的方法來掛載;

[root@localhost mkuml-2004.07.17]# mkdir /mnt/slack
[root@localhost mkuml-2004.07.17]# mount -o loop /opt/slack102vm/root_fs /mnt/slack
[root@localhost mkuml-2004.07.17]#cd /mnt/slack

上面的內容就是說,把/opt/slack102vm中的root_fs映像文件掛載到了/mnt/slack中,進入/mnt/slack目錄,就可以查看到了root_fs映像文件的內容;


第五步:複製相關文件到root_fs映像中;

要把一些文件寫到root_fs中,我們首先必須要做的是掛載root_fs映像文件,如前面所提到的mount -o loop的辦法;

[root@localhost ~]# mount -o loop /opt/slack102vm/root_fs /mnt/slack

首先我們要把Fedora Core 5.0中內核模塊2.6.16-1.2080_FC5xenU目錄複製到/mnt/slack下的lib/modules目錄中;

[root@localhost ~]# mkdir /mnt/slack/lib/modules
[root@localhost ~]# cd /mnt/slack/lib/modules/
[root@localhost modules]# cp -r /lib/modules/2.6.16-1.2080_FC5xenU .

您也可以把Slackware的兩張安裝光碟,都可以複製到 root_fs中,也就是root_fs的掛載目錄 /mnt/slack目錄中;這樣少什麼樣的軟體,就可以先通過chroot /mnt/slack 進入Slackware的系統,然後就可以通過掛載光碟映像通過pkgtool 或installpkg來安裝了;比如我們Slackware的iso放在了Slackware系統中的 /opt目錄中。


第六步:更改root_fs中的/etc/inittab和/etc/fstab文件;

還是如同前面一樣,要先掛載root_fs到/mnt/slack目錄中;如果已經掛載好了,就直接進入/mnt/slack目錄就行了。

找到 /mnt/slack/etc/inittab文件中的;

c0:1235:respawn:/sbin/agetty 38400 tty0 linux
#c1:1235:respawn:/sbin/agetty 38400 tty1 linux

在上面的這段的第一行前面加上#號,並把第二行的前面的#號去掉;

#c0:1235:respawn:/sbin/agetty 38400 tty0 linux
c1:1235:respawn:/sbin/agetty 38400 tty1 linux

因為tty0的終端設備已經被Fedora Core 5佔用,所以只能用tty1以後的了,當然您可以打開其它的終端 ,就是把類似這樣的行前面的#號去掉;

找到/mnt/slack/etc/fstab文件;把其內容改為如下的

/dev/sda1 / ext3 defaults 1 1
/dev/sda2 swap swap defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0


第七步:chroot 到Slackware系統進行配置;

我們要掛載 /opt/slack102vm中的root_fs到/mnt/slack,然後chroot到/mnt/slack;

[root@localhost ~]# chroot /mnt/slack
bash-3.00# 註:看到類似這樣的提示符,說明我們已經進入到了Slackware;

我們還要進行一系列的操作,比如 索引Slackware的庫文件;

bash-3.00# ldconfig

接著,我們要創建一個rc.modules 的文件,在/etc/rc.d目錄中;

bash-3.00# touch /etc/rc.d/rc.modules
bash-3.00# echo \'modprobe xennet\' > /etc/rc.d/rc.modules

註:上面那句echo的命令,意思是向rc.modules中寫入一句 modprobe xennet。在Slackware中,所有的內核模塊的載入,都在 rc.modules中,modprobe xennet意思是讓系統在開機時自動掛載xennet模塊。xennet 模塊就是我們在Fedora Core 5.0 中複製到Slackware的文件系統root_fs中的/lib/modules/2.6.16-1.2080_FC5xenU ;xennet模塊就是Xen的虛擬Slackware的網卡;

如果您用DHCP 自動獲取IP,我們還要在Slackware中安裝dhcp開頭的包,這些包位於Slackware 10.2第一張光碟中的slackware目錄中的d目錄中;我們前面已經說過,要把Slackware的安裝盤最好複製到Slackware的文件系統root_fs中;比如您把Slackware 10.2的安裝盤複製到 Slackware的文件系統/opt目錄中,我們就可以掛載,然後安裝所需要的包了;比如我們Slackware的iso放在了Slackware系統中的 /opt目錄中。

bash-3.00# mount -o loop /opt/slackware-10.2-install-d1.iso /mnt/cdrom
bash-3.00# cd /mnt/cdrom/slackware/n
bash-3.00# installpkg dhcp*.tgz
bash-3.00# cd ~
bash-3.00# umount /mnt/cdrom

如果您的Slackware的網路沒有配置好,請用netconfig來配置;

bash-3.00# netconfig

ENTER HOSTNAME 中,您可以寫上slack;在DOMAINNAME 中,您可以寫上localdomain;如果您用的是DHCP獲取IP,就選DHCP;如果問到DHCP伺服器在哪,也可以寫上您的DHCP伺服器,留空也行;

如果您用的是靜態指定IP,您可以選擇靜態IP設置那項;
ENTER IP ADDRESS 寫上您的IP;比如 192.168.1.11
ENTER NETMASK 寫上網路掩碼: 比如 255.255.255.0
ENTER GATEWAY 網關:比如 192.168.1.1
NAMESERVER 可以寫上:202.96.128.143

更改/etc/resolv.conf文件;
在這個文件中,是存放DNS伺服器地址的,比如下面的內容;

nameserver 192.168.1.1
nameserver 202.96.128.143
nameserver 202.96.134.133

這是三個DNS地址,第一個地址是根據路由器192.168.1.1上的來更新,如果您有路由器,就根據自己的網路情況來寫;後面的兩個地址是可以用的;嘗試一下就知道了;

配置好后,要退出Slackware的環境;

bash-3.00# exit

還要把Slackware文件系統root_fs卸載掉;

[root@localhost ~]# umount /mnt/slack


4、Fedora Core 5.0 的Xen的配置;

我們在Fedora Core 5.0中/etc/xen的目錄中,創建一個文件slack,目的是通過/etc/xen/slack引導Slackware 10.2;

[root@localhost ~]# touch /etc/xen/slack

在/etc/xen/slack的內容,如果您用DHCP來獲取IP,請參考下面的配置文件來修改;

kernel =\"/boot/vmlinuz-2.6.16-1.2080_FC5xenU\"
memory = 128
name = \"slack\"
nics = 1
vif = [\'mac=aa:00:00:00:11:11\']
disk = [\'file://opt/slack102vm/root_fs,sda1,w\',\'file:/opt/slack102vm/swap_fs,sda2,w\']
dhcp=\"dhcp\"
root = \'/dev/sda1 ro\'

如果您用指定IP,就參考下面的配置文件來修改;

kernel =\"/boot/vmlinuz-2.6.16-1.2080_FC5xenU\"
memory = 128
name = \"slack\"
nics = 1
vif = [\'mac=aa:00:00:00:11:11\']
disk = [\'file://opt/slack102vm/root_fs,sda1,w\',\'file:/opt/slack102vm/swap_fs,sda2,w\']
dhcp=\"off\"
root = \'/dev/sda1 ro\'
ip = \"192.168.1.11\"
netmask = \"255.255.255.0\"
gateway = \"192.168.1.1\"
hostname=\"slack\"

解說:


1)kernel

我們是用vmlinuz-2.6.16-1.2080_FC5xenU這個內核來引導Slackware 10.2的,此內核文件位於Fedora Core 5.0中的/boot目錄中。通過Xen虛擬運行Slackware ,並不能用Slackware自身所帶的內核來引導。用Slackware自帶的內核根本沒有辦法引導得起來。Xen虛擬其它的操作系統,都可以用這個內核來引導;

2)memory

是用來定義內存大小的,一般的情況下128就可以;

3)vif

可以定義虛擬網卡物理地址,自己隨便設置一個mac地址就行,

4)disk

其中root_fs是Slackware的文件系統,swap_fs是Slackware的交換分區文件系統;其中的sda1是什麼意思?在這裡 root_fs映射到/dev/sda1設備上,是虛擬的,同理sda2也是這樣理解;w是可以讓用戶寫入文件到root_fs和swap_fs中;

其它是有關網路方面的,自己看一下就明白了;如果是通過DHCP自動獲取的IP的,可以用第一個配置文件來修改。如果您是指定IP的,要根據下面來修改,按情況自己來辦;沒有什麼大不了的。嘗試一下就知道了;


5、啟動Slackware,Xen虛擬Slackware正式開始;

我們創建好/etc/xen/slack的配置文件后,我們要用它來啟動Slackware操作系統,Xen虛擬Slackware正式開始;

[root@localhost ~]# xm create -c slack

啟動過程... ...

然後出現登錄畫面;

Welcome to Linux 2.6.16-1.2080_FC5xenU (tty1)
slack: login:

在login 後面輸入root ,然後回車,接著出來密碼提示,再輸入密碼,回車;這樣就登錄到Slackware了;

Waking a person unnecessarily should not be considered
a capital crime. For a first offense, that is.
root@slack::~# root

成功中,現在我們就可以用Slackware了;在這段輸出中,Walking a person ... ... 之類的,是Slackware登錄時出來的名人名言;每次登錄都有。

首先我們查看一下網路是不是通的;

root@slack:~# ifconfig eth0
eth0 Link encap:Ethernet HWaddr AA:00:00:00:11:11
inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a800:ff:fe00:11/64 Scope:Link
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2120 (2.0 Kb) TX bytes:1974 (1.9 Kb)

root@slack:~# ping linuxsir.org
PING linuxsir.org (218.61.34.138) 56(84) bytes of data.
64 bytes from cncln.online.ln.cn (218.61.34.138): icmp_seq=1 ttl=59 time=7.20 ms
64 bytes from cncln.online.ln.cn (218.61.34.138): icmp_seq=2 ttl=59 time=7.56 ms

看來是能通了... ... ... 這時我們就可以應用Slackware了。這時我們所應用的Slackware ,應該算做本地訪問。我們應該學會如何應用通過Fedora Core 5.0 來遠程訪問,請看下一節;


6、Xen 虛擬的Slackware的遠程訪問方法;

虛擬機就是根據自己的需要,在一個操作系統平台上,藉助相關的軟體虛擬另外的操作平台。虛擬出來的操作系統和我們所處的真實的操作系統各自是獨立的。被虛擬的操作系統應該看作是一台正在運行的機器 。

因為真實的操作系統Fedora Core 5.0和虛擬的Slackware 10.2都被看成是各自獨立的機器,所以我們應該想到遠程訪問Slackware;有兩種方法,一種是ssh ,另一種是vnc ;其中 ssh訪問是文本的,而vnc訪問則是訪問桌面的;

6.1 通過 ssh 遠程訪問;

通過ssh遠程訪問比較簡單;首先確認在Slackware中是否已經安裝了sshd 伺服器;這個過程是在Slackware中操作;我們前面已經說了,要把Slackware引導起來登錄;


6.11 引導Slackware的命令;

[root@localhost ~]# xm create -c slack


6.12 查看sshd伺服器已經運行;

登錄Slackware后,查看sshd伺服器已經運行;如果有下面類似下面的提示,表示sshd伺服器已經運行,否則表示您沒有安裝sshd 伺服器;

root@slack:~# pgrep sshd
400


6.13 判斷sshd伺服器是否安裝;

判斷sshd伺服器是否安裝,請查看/var/adm/packages,如果裡面有openssh的文件,表示已經安裝;
root@slack:~# ls /var/adm/packages/openssh*
/var/adm/packages/openssh-4.2p1-i486-1

如果沒有,請在安裝盤的第一張找出openssh軟體包,用下面的命令來安裝;

root@slack:~# installpkg openssh*


6.14 如何打開sshd伺服器呢?

root@slack:~# /etc/rc.d/rc.sshd


6.15 查看是sshd伺服器是否運行得起來了?

root@slack:~# pgrep sshd


6.16 查看網卡的ip地址;

root@slack:~# ifconfig
eth0 Link encap:Ethernet HWaddr AA:00:00:00:00:11
inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a800:ff:fe00:11/64 Scope:Link
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
RX packets:165 errors:0 dropped:0 overruns:0 frame:0
TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10538 (10.2 Kb) TX bytes:2011 (1.9 Kb)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:784 (784.0 b) TX bytes:784 (784.0 b)

上面表示網路地址為192.168.1.11;物理地址是AA:00:00:00:00:11,這個物理地址我們是在什麼地方設置的??是在Fedora Core 5.0中的/etc/xen/slack配置文件中;


6.17 在Fedora 中通過ssh訪問 Slackware;

[root@localhost ~]# ssh root@192.168.1.11
The authenticity of host \'192.168.1.11 (192.168.1.11)\' can\'t be established.
RSA key fingerprint is 81:0f:fc:ff:a9:e2:d0:e0:27:89:00:db:f0:33:f0:48.
Are you sure you want to continue connecting (yes/no)? yes 註:在這裡輸入yes;
Warning: Permanently added \'192.168.1.11\' (RSA) to the list of known hosts.
root@192.168.1.11\'s password:註:在這裡輸入密碼;
Last login: Wed Apr 5 10:02:47 2006 from 192.168.1.3
Linux 2.6.16-1.2080_FC5xenU.
It\'s not Camelot, but it\'s not Cleveland, either.
-- Kevin White, Mayor of Boston
root@slack:~# 註:登錄成功;


6.2 在Fedora 中通過vnc訪問;

在Fedora 中能通過vnc連接遠程的Slackware桌面,這是一個方便的工具;也是在OpenSource操作系統中最常用的工具之一;在Fedora 中,我們要用到vnc的客戶端vncviewer,而在遠程的Slackware中,我們要架vnc的伺服器vncserver;


6.21 在Fedora 中安裝vnc;

[root@localhost ~]# yum install vnc


6.22 在Slackware中安裝vnc;

我們可以在Slackware中安裝TightVNC,我下載的版本是 tightvnc-1.3dev7-i486-1kjz.tgz

您可以到 http://www.linuxpackages.net 上查找下載,TightVNC下載地址請訪問下面的地址,選擇一個鏡像來用wget下載;

http://www.linuxpackages.net/download.php?id=8599

在Slackware中,通過wget下載,比如;

#wget http://linuxpackages.slackwaresupport.com/\\
Slackware-10.2/ken/tightvnc-1.3dev7-i486-1kjz.tgz

安裝TightVNC,請用installpkg來安裝;

root@slack:~# installpkg tightvnc-1.3dev7-i486-1kjz.tgz


6.23 在Slackware中配置和運行vncserver;


第一步: 運行vncserver,生成登錄密碼和配置文件;

我們運行一下vncserver,這樣就在當前用戶的家目錄下生成一個.vnc的目錄,這個目錄中有一個文件是配置文件xstartup比較重要,隨後我們會介紹如何更改這個文件;

root@slack:~# vncserver
You will require a password to access your desktops.
Password: 註:在這裡輸入vncserver的密碼;
Warning: password truncated to the length of 8.
Verify: 註:再輸入一次密碼;
Would you like to enter a view-only password (y/n)?y
註:請輸入一個僅能遊覽的密碼,以這個密碼登錄后,僅能查看,不能做任何操作;比如前面的密碼,您可以設置為123456,僅能瀏覽桌面的密碼,您可以設置為654321;嘗試一下就知道這兩個密碼的許可權有何不同了;


第二步:關掉vncserver;

root@slack:~#pkill vnc


第三步:配置vncserver;

其實配置vncserver 主要是想讓客戶機瀏覽Slackware 時,能看到什麼桌面環境,是GNOME還是KDE,還是Wmaker?用什麼桌面就得在Slackware中安裝什麼。Slackware系統比較小,總共才兩張盤,安裝安裝就行了,用installpkg 或pkgtool 來安裝;如何安裝桌面環境不提了,我們已經多次說到如何安裝Slackware的軟體包了;

比如 我們想讓客戶機通過vncview瀏覽Wmaker桌面;我就得如下做;
root@slack:~# cd ~/.vnc 註:切換到當前用戶家目錄中的.vnc目錄;我用的是root用戶;
root@slack:~/.vnc# pwd 註:查看用戶所在的當前目錄;
/root/.vnc 註:我們看到我們位於的正是root用戶下的.vnc目錄;
root@slack:~/.vnc# cp /etc/X11/xinit/xinitrc.wmaker xstartup 註:這是讓客戶機操作Wmaker桌面;
root@slack:~/.vnc# cp /etc/X11/xinit/xinitrc.gnome xstartup 註:這是讓客戶機操作GNOME桌面;
root@slack:~/.vnc# cp /etc/X11/xinit/xinitrc.kde xstartup 註:這是讓客戶機操作kde桌面;
root@slack:~/.vnc# cp /etc/X11/xinit/xinitrc.xfce xstartup 註:這是讓客戶機操作xfce桌面;

上面的桌面任選其一,只有您安裝了相應的桌面,才能在/etc/X11/xinit目錄中看到相應桌面的啟動文件;

注意:每次更改xstartup 時,都要重新啟動vncserver,否則不會生效;

第四步:啟動vncserver ;

root@slack:~/.vnc# vncserver -depth 24 -geometry 800x600 -pixelformat RGB888

我們是以800x600的解析度,色深是24... ... 具體的參數,請查看 vncserver --help

root@slack:~/.vnc# vncserver -depth 24 -geometry 800x600 -pixelformat RGB888
New \'X\' desktop is slack:1 註:記住後面的slack:1,這個就是客戶機通過vncview查看Slackware桌面的地址;
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/slack:1.log


6.24 在Fedora 中通過vncview訪問Slackware桌面;

首先我們在Fedora Core中運行vncview,vncview 是用來連接遠程桌面的工具;

[root@localhost ~]  $ vncviewer

出來一個連接的畫面,有下面的一行:

VNC server:註:我們要在畫面的輸入框中輸入Slackware的vncserver伺服器的地址,您可以在Slackware中查看網路地址,通過 ifconfig;比如我的Slackware的地址是192.168.1.11 ,而我們在運行vncserver后,看到一下vncserver的地址slack:1 ,如果您的機器通過DNS解析過了,就就在VNC Server的後面輸入slack:1就能連接了。如果您的機器沒有做DNS,您可以直接用ip地址來訪問,也就是把slack:1中的slack換成您的IP地址,也就是類似這樣的192.168.1.11:1

所以我們應該在VNC server畫面中輸入框中輸入 192.168.1.11:1 ,請與您的vncserver的地址和ip地址為準,我在這裡只是舉個例子;

VNC server: 192.168.1.11:1

輸入密碼后,應該能看到Slackware的桌面了... ....
















7、Xen的相關用法及說明;

主要是xm工具的用法,請參考:《Xen 初學者指南》


8、常見問題處理;




9、關於本文;

本文是我用三個晚上寫成的,修改放在了白天。這篇文檔文字比較多,主要怕新手或對Xen不太熟悉的弟兄看不清楚,所以就多寫了點。技術含量呢,應該說比較低,大家將就著看吧。如果能指點指點,是我最高興的事了。一個人寫文檔是有點無聊,大家參與相互學習和交流,可能會好一點 ... ...


10、後記;

想把去年未完成的Samba教程寫完,也想知道一點新的技術動態。想學習的東西太多了,呵... ... 現在才感覺到時間真的很寶貴,一年也就是一晃就過去了... ... 在有生之年,做點自己喜歡做的事,人生無非如此... ...


11、參考文檔;

《How to Install Slackware Linux to a DomainU》

《Xen v3.0 Users\' Manual》

[火星人 ] Fedora Core 5.0 用 Xen 虛擬Slackware 10.2已經有699次圍觀

http://coctec.com/docs/linux/show-post-135756.html