导航菜单
首页 >  使用Ubuntu Cloud Image快速初始化虚拟机生成cloud  > 在 QEMU 使用 Ubuntu Cloud Images • 鰭狀漏斗

在 QEMU 使用 Ubuntu Cloud Images • 鰭狀漏斗

Cloud Image 是已經預先裝好作業系統的磁碟映像,常常被用來部署作業系統至雲端伺服器。在這篇文章中,我們要用它在虛擬機器中安裝作業系統。

這次我們要在 QEMU-KVM 中裝 Ubuntu 20.04。

為了在雲端部署的方便,一些 Cloud Image 像是 Ubuntu Cloud Image 會在初始化時執行 cloud-init。如果不設定,只照預設值的話,就算知道帳號還是無法登入。所以這篇文章主要要講的是如何手動設定 cloud-init。

1. 下載 Ubuntu Cloud Images

到 Ubuntu Cloud Images 網站,點選 focal/ > current/(也就是這裡),下載最新的 Ubuntu 20.04 image。

Ubuntu 的開發代號

Ubuntu 每個版本都有一個代號,由形容詞加上動物名稱所組成,而且這兩個詞的第一個字母都相同。下面是最近長期支援版本(LTS)的開發代號:

20.04:Focal Fossa22.04:Jammy Jellyfish24.04:Noble Numbat

可以發現剛剛點進去的 focal 是 20.04 代號的形容詞部分。如果要下載其他版本可以點選那個版本代號的形容詞的資料夾。資料夾旁邊的說明也寫的很清楚是哪個版本,所以不會很難找。

台灣的 Mirror

如同 Ubuntu 安裝程式一樣,Ubuntu Cloud Images 也有 mirror,在台灣的 mirror 下載通常會比較快。

mirror 列表:

國家高速網路與計算中心

要下載的是這個檔名相對比較短的檔案:focal-server-cloudimg-amd64.img。

如果不是用 QEMU 的話,需要選擇適用自己虛擬機器軟體的格式。

2. 製作供 cloud-init 使用的映像檔

我們要用 data source NoCloud 來設定 cloud-init。

要使用這個方式的話,需要一個 ISO 檔,它的 volume label(掛載之後顯示的名稱)要是 cidata 或 CIDATA,裡面要包含 2 個檔案:

meta-datauser-data

我們可以用 cloud-localds 指令製作出符合格式的映像檔,當然也可以自己做。

使用 cloud-localds

cloud-localds 指令包含在 cloud-utils 套件中,所以要先安裝 cloud-utils:

Terminal window# Arch Linuxsudo pacman -S cloud-utils# Ubuntusudo apt-get install cloud-image-utils

然後要新增一個檔案記錄要寫入的設定,為了方便,就命名為 user-data.txt 吧。

如果只是要設定密碼,最簡單的設定是:

#cloud-configpassword: < 你的密碼 >chpasswd: { expire: False }ssh_pwauth: True

這樣的話,登入帳號是 ubuntu,密碼是你設定的密碼。

如果想知道

相关推荐: