1. 程式人生 > >Alpine Linux虛擬機器安裝過程

Alpine Linux虛擬機器安裝過程

Alpine Linux介紹

Alpine Linux就是一個很適合執行在虛擬機器或Docker中的Linux系統,它有以下優點:

  1. 輕量。沒有自帶很多軟體,安裝完虛擬磁碟才150M。
  2. 快速。沒有圖形介面,啟動速度快。
  3. 易用。自帶包管理器,官方維護的軟體版本還是比較新的

安裝Alpine Linux

準備工作

1: 進入官網,下載Alpine Linux的ISO映象,Alpine Linux提供了專門的虛擬機器版本。

這裡寫圖片描述

2: 新建一臺虛擬機器,型別選Linux,版本選Linux 2.6 / 3.x / 4.x (64-bit),記憶體一般256M夠用,虛擬磁碟8G夠用。

3: 在虛擬機器的設定視窗中,載入剛才下載的ISO映象。

這裡寫圖片描述

安裝過程

1: 啟動虛擬機器,首次啟動時使用root這個使用者名稱登入,不需要密碼

2: 登入成功後,執行setup-alpine進入安裝嚮導,嚮導會詢問你一系列的問題,然後等待你的輸入。如果途中操作有失誤,可以按Ctrl + c 退出嚮導,再重新開始嚮導

3: 下面解釋下每個問題的含義:

Select keyboard layout [none]: 
選擇鍵盤佈局,系統預設給你選了none,直接回車

Enter system hostname (short form, e.g. 'foo') [localhost]
選擇虛擬機器host名稱,系統給你選了localhost,沒有特殊需要的話直接回車

Which one
do you want to initialize? (or '?' or 'done') [eth0] 選擇要不要設定網絡卡,系統給你選了需要初始化eth0那張網絡卡,直接回車 Ip address for eth0? (or 'dhcp', 'none', '?') [dhcp] 輸入eth0網絡卡的IP地址,或者直接通過dhcp協議自動獲取IP,系統給你選了dhcp,直接回車 Do you want to do any manual network configuration? [no] 還需要手工修改網絡卡的其他配置嗎?系統給你選了no,直接回車 Changeing password for
root New password: 安裝完成後,就不能像現在這樣不用密碼就登入了,系統提示你輸入root帳號的密碼。 Retype Password: 確認一遍密碼 Which timezone are you in? ('?' for list) [UTC] 輸入時區,國內可以輸入"Asia/Shanghai" HTTP/FTP pxory URL? 需要使用HTTP代理連線網路嗎?一般不需要,可以直接回車 Enter mirror number (1-21) or URL to add (or r/f/e/done) [f] Alpine Linux自帶的包管理器需要聯網下載軟體包

這時候按下e,編輯映象配置檔案,把國內的映象地址填進去:

這裡寫圖片描述

退出編輯後向導會檢查地址是否可用,沒問題的話會繼續下面的步驟。

Which SSH server? ('openssh', 'dropbear' or 'none') [openssh]
SSH伺服器(用於登入Linux)有兩種可供選擇,預設選擇openssh,回車

Which NTP client to run? ('busybox', 'openntpd', 'chorony' or 'none') [chrony]
選擇NTP客戶端(用來調整系統時鐘)的型別,保持預設的chrony即可,回車

Available disks are:
  sda   (8.6 GB ATA    VBOX HARDDISK    )
Which disk(s) would you like to use? (or '?' for help or 'none') [none]
這一步比較關鍵,系統發現了有塊8.6GB大小,名稱叫sda的硬碟
問你需不需要使用硬碟,因為Alpine Linux可以執行在記憶體裡,這裡的預設選項是不使用硬碟
所以要手動鍵入sda,後面的步驟才會將系統安裝在硬碟上

The following disk is selected:
  sda   (8.6 GB ATA      VBOX HARDDISK    )
How would you like to use it? ('sys', 'data', 'lvm' or '?' for help) [?]
以何種方式安裝系統,這裡需要鍵入"sys",表示把整個系統安裝在硬碟上。
其他選項並不適用於虛擬機器

WARNING: The following disk(s) will be erased:
  sda   (8.6 GB ATA      VBOX HARDDISK   )
WARNING: Erase the above disk(s) and continue? [y/N]
嚮導讓你確認選擇的sda磁碟上的資料會全部丟失
虛擬機器磁碟,初始肯定是沒資料的,鍵入"y"確認

隨著螢幕滾動,系統會安裝一陣子,等出現這行字時,就算安裝完成了。

Instalation is complete. Please reboot
安裝完成,請重啟(先彆著急)

在重啟之前,我們先給系統添加個非root帳號。因為root帳號不能用SSH終端登入,所以要添加個別的帳號:

localhost:~# adduser 使用者名稱
New password: 鍵入密碼
Retype password: 確認密碼

OK,安裝過程到此結束。

與Linux互動

重啟之後,使用剛才新增的帳號登入,就可以使用Linux了。然而,使用VirtualBox本身的虛擬機器視窗操作Linux不是很方便。使用SSH客戶端(如SecureCRT、XShell、putty)登入虛擬機器,操作Linux起來會更得心應手。

使用SSH客戶端登入Linux

首先,需要在宿主機與虛擬機器之間做一個埠轉發,開啟虛擬機器的設定頁面,左側選擇“網路”,然後按下“埠轉發”

這裡寫圖片描述

把宿主機的22埠直接轉發到虛擬機器的22埠:

這裡寫圖片描述

重新啟動虛擬機器,這樣就可以通過SSH客戶端訪問了:

這裡寫圖片描述

包管理器

Alpine Linux自帶的apk包管理器十分好用,而且軟體包更新速度很快,一般search和add兩個命令就能搞定軟體包依賴問題

// 搜尋名字中帶php7的軟體包
localhost:~$ apk search php7
php7-pear-net_smtp-doc-1.8.0-r1
php5-snmp-5.6.30-r3
php7-simplexml-7.1.5-r0
php7-xmlwriter-7.1.5-r0
....
// 安裝軟體包
localhost:~$ apk add php7

檔案傳輸

宿主機與虛擬機器之間的檔案傳輸是比較常見的需求,Alpine Linux中可以有兩種檔案傳輸的方法。

方法1. 使用共享目錄

使用VirtualBox的共享目錄功能需要安裝Guest Addition。Alpine Linux的虛擬機器專用版本自帶Guest Addition,通過apk命令安裝:

// 先切換到root使用者,然後安裝
localhost:/home/guest# apk add virtualbox-guest-additions virtualbox-guest-modules-virthardened

下一步,關閉虛擬機器,進入虛擬機器設定頁,左側選擇“共享資料夾”,右側選擇“新增共享資料夾”。彈出的視窗中,“共享資料夾名稱”需要記住,在虛擬機器中會用到。

這裡寫圖片描述

重新開啟虛擬機器,將共享目錄掛載上:

# 先建一個目錄
mkdir share_dir

# 啟用共享目錄模組
modprobe -a vboxsf

# 掛載
mount -t vboxsf windows_d share_dir

這樣宿主機與虛擬機器的檔案就能共享了

這裡寫圖片描述

方法2. 使用SFTP協議

除了共享目錄,還可以通過SFTP協議傳輸檔案。比如Filezilla支援SFTP協議

這裡寫圖片描述