本文將會介紹從虛擬機的新建到ubuntu server的安裝,不是桌面版,不包含GUI。并將其置于后臺運行的全過程。因為操作差別很小,所以無論是使用windows還是mac系統(tǒng)的人都可以通過本文來快速部署一個ubuntu虛擬機。本文包含以下內容:
-
VirtualBox新建虛擬機并安裝Ubuntu - 配置
Ubuntu的遠程連接 -
VirtualBox后臺運行Ubutnu
新建虛擬機
VirtualBox的安裝這里就不再贅述了,直接用后面的鏈接下載安裝就行 下載 - VirtualBox ,下面講一下如何新建一個虛擬機。
其實新建虛擬機和安裝虛擬機總結一個子就是 莽,過程非常簡單,基本就是無腦下一步,下面我就把新建虛擬機的截圖放一下,大部分都可以通過下面的圖片名字知道怎么做,有需要操作的地方我會做具體講解:
新建虛擬機
下面教程將以 mac 系統(tǒng)來演示,不過 windows 和 mac 的差別除了長得不一樣沒什么區(qū)別了。所以,做就完事了。首先打開VirtualBox,點擊這個巨大醒目的 新建 按鈕。

設置虛擬機名稱及類型
然后這一步怕不是操作最多的一步了,填寫好名字之后選擇系統(tǒng)類型為 Linux,再選擇版本為 Ubuntu(64-bit)即可,這里需要注意如下兩點:
- 該步驟并不會去具體安裝虛擬機,而是 將虛擬機自動設置為最適合安裝你選擇的系統(tǒng)的狀態(tài)。
- 選擇的版本位數要和你下一步下載的
Ubuntu鏡像位數保持一致,但這都 9102 年了,我不信還有人會去安 32 位的系統(tǒng)。

選擇內存
選擇虛擬機內存,除非電腦太弱,否則直接默認

選擇硬盤
選擇虛擬機硬盤,直接默認

選擇硬盤類型
選擇要創(chuàng)建的新硬盤類型,依舊默認

選擇存儲方式
動態(tài),果斷動態(tài)

選擇存儲位置
這里選擇存儲的位置,在 windows 下,如果你 c 盤空間太小,我才會建議你換到其他盤上,不然一律選擇默認位置。

創(chuàng)建完啦
然后就完事了,下一步咱們來裝系統(tǒng)

安裝 ubuntu
首先去 ubuntu官網上下載穩(wěn)定版LTS的鏡像。鏈接在這 下載 - Ubuntu 18.04 Server。注意!本教程安裝的是Server 版本的 ubuntu!所以在網上搜的桌面版的教程或者問題解決不一定會適用!出問題了請在搜索時加上 server。然后,啟動虛擬機,選擇剛才下載的鏡像:

之后?點回車就完事了。真的是一直點,不信就去看官方文檔 [tutorial-install-ubuntu-server](https://tutorials.ubuntu.com/tutorial/tutorial-install-ubuntu-server?_ga=2.29582839.936945077.1561361562- 762545357.1561361562#2)。回車到下面這一步的時候你可能會發(fā)現回車不動了,按 下鍵 選擇continue再回車。

然后就到這一步了,分別填寫下面的內容之后Done一下:
- 你的名字 隨便
- 你服務器名字 隨便
- 你的登錄用戶名
- 你的密碼
- 重復你的密碼

安裝 openssh-server
這個是用來遠程連接的,安就完事了,只選第一個就行。

安裝額外軟件
然后它會讓你選是不是要安裝額外的常用服務器軟件,想裝啥裝啥,我啥都不想裝,所以我直接點了Done:

等待安裝完成
等有三五分鐘,安裝完成,在Reboot Now上回車:

移除安裝介質
重啟之后顯示如下畫面,問題不大,不用回車,直接用power off關閉虛擬機,然后啥都不用干直接重啟虛擬機,你就會發(fā)現,誒~進去了:


然后呢,我們配置下安裝好的虛擬機,讓他可以進行遠程連接。
ubuntu 遠程連接
做一步操作是因為,在virtual box中打開的命令行窗口他真的是個純粹的命令行窗口,平時常用的鼠標復制一行指令或者上文刷出的信息然后粘貼他就完全做不到,只能手打。這誰頂得住。而且用了遠程連接之后就可以讓virtual box后臺運行,這樣就舒服多了。
安裝完成后啟動虛擬機,等他刷完一大堆OK之后就可以看到停留在了如下界面:
ubuntu 18.04.2 LTS worker1 tty1
worker1 login: _
然后輸入你在安裝時配置的用戶名,再輸入密碼時就可以成功登陸系統(tǒng)了。
安裝open-ssh
這個咱們安裝系統(tǒng)的時候已經安好了,這里也順便提一下。遠程連接需要安裝open-ssh服務,依次執(zhí)行下列三條命令即可。
# 切換為 root 權限 需要輸入當前用戶密碼
sudo -s
# 安裝 ssh 服務
apt-get install ssh
# 安裝 openssh-server 服務
apt-get install openssh-server
開放 root 用戶
首先要說的是,這個教程安裝的是ubuntu server版本,網上的那些教程里用/usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf或者/etc/lightdm/lightdm.conf來配置root用戶的都不用看,人家是desktop版本的,咱們服務器版沒這玩意。
好,下面回歸正題,開放root用戶首先需要配置root的密碼,然后在ssh的配置文件里啟用root登錄就可以了。下面的命令可以修改root的密碼:
sudo passwd root
回車之后他會彈出來讓你輸入密碼并確認,正常確認即可。然后需要配置ssh連接。首先打開配置文件,這一步如果找不到的話回頭看一下ssh服務有沒有正確安裝:
sudo vi /etc/ssh/sshd_config
然后做如下修改,如果沒有找到對應配置項直接在文件末尾輸入即可:
# 允許 root 登錄
PermitRootLogin yes
# 允許密碼登錄
PasswordAuthentication yes
修改完了:wq保存退出,然后重啟ssh服務即可
sudo service sshd restart
確認網絡正常
ok,到此服務器中的配置就已經完成了,接下來需要確認虛擬機和宿主機之間的網絡連接情況。怎么確認呢,首先要保證虛擬機可以訪問到宿主機:
虛擬機訪問宿主機
- 宿主機打開命令行,獲取自己的 ip 地址。
- windows 使用
ipconfig - mac 使用
ifconfig
- windows 使用
- 打開虛擬機
ping剛才拿到的 ip 地址。
宿主機訪問虛擬機
宿主機訪問虛擬機有兩種方式 NAT網絡地址轉換 和 橋接網卡。這里推薦第一種 NAT網絡地址轉換,注意!下面的配置不支持多虛擬機之間相互訪問,要想完成該功能可以參考 virtualbox 虛擬機組網。
- 關閉虛擬機,打開虛擬機配置,依次選擇 網絡地址轉換 > 高級 > 端口轉發(fā)。

- 在端口轉發(fā)頁面將 虛擬機的 22 端口 轉發(fā)到宿主機的 2201 端口。之所以這么搞,是因為我們只需要虛擬機的 22 端口進行
ssh連接,所以只轉發(fā)這個端口即可,至于轉發(fā)到宿主機的 2201 端口,這個可以隨便填,只要不占用就行。

- 設置完成后一路確認回去,然后重啟虛擬機獲取 ip 地址,如果發(fā)現虛擬機的 ip 變成了
10.0.xxx.xxx的形式,就說明修改成功了。
這里要提一下,虛擬機是使用網絡地址轉換模式配置網絡的話,宿主機是無法使用虛擬機的 ip 地址訪問到對應的虛擬機的。好了下面說一下為什么不推薦使用 橋接網卡 模式配置連接。
使用橋接網卡
啟用橋接網卡只需要將網絡模式設置為橋接網卡即可。橋接網卡可以把虛擬機映射到局域網的一個真實 ip 地址之上,和宿主機在網絡上屬于同一層,所以可以相互ping通。
那為什么不用橋接網卡呢?因為,這個 ip 地址可能會隨著網絡環(huán)境的變化而發(fā)生改變。如果你不想之后使用過程中出現莫名其妙的訪問不到的問題的話,就老老實實用網絡地址轉換模式就好。

連接
上面這幾步做完了之后就可以直接在宿主機上進行連接了,無論是putty、Xshell還是SecureCRT都可以,因為新建連接的過程大同小異,所以下面就簡單放出要配置的數據:
- 登錄協議:SSH2
- IP地址(host主機):127.0.0.1 因為使用了NAT轉換將虛擬機端口轉發(fā)到了本機上
- 端口號:2201 這個填上一步在端口轉發(fā)里配置的主機端口,不一定是2201
- 登錄用戶名:root
然后 輸入密碼 并 確認連接密鑰 既可成功連接:

到此連接成功,下一步就是將虛擬機放到后臺執(zhí)行,這里貼一個apt換國內源的教程 apt切換為清華源 ,推薦換一下。
后臺執(zhí)行 ubuntu
其實VirtualBox自帶了一套命令行工具,所以我們就可以通過該工具快速的進行部署,想要使用該工具:
-
windows 上需要先切換至
VirtualBox根目錄下,然后即可使用VBoxManage.exe調起命令行,使用VBoxManage.exe -v檢查命令行是否可用 -
mac 上可以直接在全局使用
VBoxManage進行操作,使用VBoxManage -v檢查命令行是否可用
接下來介紹幾個常用的命令,我們可以通過下述幾條命令讓虛擬機在后臺運行,注:下列命令都是mac上的使用方式,要在windows上只需將VBoxManage替換成VBoxManage.exe即可,(注意先切換至跟目錄下):
列出虛擬機
VBoxManage list vms|runningvms
使用該命令可以顯示虛擬機的名字和 uuid ,使用VBoxManage list vms列出所有可用虛擬機,使用VBoxManage list runningvms來列出正在運行的虛擬機。之后我們就可以通過這兩者來調用虛擬機,為了方便起見,我在下文都使用<your-vm-name>代替虛擬機名字來描述命令。
啟動虛擬機
VBoxManage startvm <your-vm-name> --type headless
startvm命令可以通過 虛擬機名稱 或者 uuid 啟動一臺虛擬機,通過指定其type為headless可以讓虛擬機在后臺運行。
關閉虛擬機
VBoxManage controlvm <your-vm-name> acpipowerbutton|poweroff
向指定虛擬機發(fā)送信號,acpipowerbutton是關機信號,poweroff是強制斷電信號。
掌握了上述幾條命令后就可以在后臺運行虛擬機了,為了方便起見還可以將其寫成腳本來一鍵執(zhí)行,windows 可以用批處理,mac 直接做shell腳本即可,內容簡單這里就不再贅述。