Alpine Linux
Alpine Linux 是一個小巧,適合用來當作嵌入式儀器作業系統的 Linux 系統。它使用 musl
作為 C 語言程式庫,以及 busybox
作為基礎服務提供程式,造就了它精巧的體積。
不過,零件少就表示可能有時會有漏掉某些比較少用的東西。
在 Docker 上面使用 Alpine 相對容易,不過千秋打算用虛擬機器設定看看,因為這樣小體積的發行版應該對研究叢集行為會有不小的幫助吧!
Virtual machine 設置
使用 OpenSUSE 的 QEMU/KVM 加上圖形界面管理程式。機器的網路卡設定成 virtio
(用預設的 rtl8139 無法被系統辨識)。在設定機器時以 Add Hardware
加上 Filesystem
,模式設定為 mapped
以便與本地檔案系統分享檔案。
Alpine Linux 的映像檔可以直接使用( liveOS ),只有文字界面。千秋選用 alpine-virt-3.6.2-x86_64-x86_64.iso
登入時使用 root
為帳號,密碼為空字串(直接按下 enter
)。要安裝的話使用 setup-alpine
指令。
安裝的過程中,安裝程式會偵測網路卡,並且詢問網卡的網路設定。若沒有詢問的話表示 Alpine 找不到您的網路卡。
另外,安裝時不要忘了要使用 ssh server 服務,否則將難以從 host 連接到 guest 。
安裝完成後,若使用 wget
時出現找不到 ssl_helper
的錯誤,則 apk add ca-certificates openssl
接著,因為 ssh
預設無法使用 root 帳號連接,最好的方法是以 adduser
新增一個帳號。
要掛載分享的檔案系統時,使用 mount -t 9p <KVM-target-path> /tmp/mountpoint
最後,娛樂完畢,使用 poweroff
指令關機。重新啟動的話,使用 reboot
。
VirtualBox 網路設定
若要從主體利用 ssh
連接到客體,則需要在客體上設定兩張網卡
host-only network
靜態或是動態 IP 都可以
NAT
很不幸的是 VirtualBox 的 NAT 沒辦法讓主體連入客體
用橋接網路不是不可以,但每次都必須手動用 VirtualBox 的客體畫面來登入,增添了麻煩;此外,某些情況下可能沒辦法直接接觸到 VirtualBox 的客體畫面,例如在以 ssh 連入的遠端機器中利用 command line 產生虛擬機器的情況。
注意 若選擇設定靜態 IP ,那要注意 gateway 要設定成可以和外部世界( Internet )連接的
gateway ,否則會無法使用網路!
如何知道虛擬機被分配到的 IP 位置
在虛擬機裡面執行
ifconfig
在 host 執行
arp -a
在 host 使用
virsh
(root
權限)12# virsh net-list# virsh net-dhcp-leases <network-name-from-previous-command>