Ubuntu Server 20.04 基本安裝
Ubuntu Server 20.04 基本安裝
下載 Ubuntu Server 20.04 安裝 ISO 檔
1 官方 ISO 下載點
請先至 Ubuntu 的官網下載最新的 ISO 檔案,因為後續是伺服器的應用,我們會下載伺服器版本進行安裝示範工作。
Ubuntu Linux 的官網連結為:https://www.ubuntu-tw.org/
下載網頁連結為:https://www.ubuntu-tw.org/modules/tinyd0/
2 國內 ISO 下載點
雖然 Ubuntu Server 目前最新的版本是 22.04 版,支援到 2032 年 4 月(付費版),不過對於追求穩定的朋友來說,目前應該仍會選擇採用 20.04 的版本,目前 20.04 免費的版本可以支援到 2025 年 4 月,付費版則可支援到 2030 年 4 月,國內的下載點如下:
Ubuntu 正體中文站台載點
國家高速網路中心載點
國立成功大學載點
開始安裝
1 準備好你的機器環境並開機
基本上測試的環境只需要 32GB 的硬碟空間及 2GB 的記憶體就可以運作了,請依照你自己的實際環境,若是用 usb 開機安裝在實體機上的話,可參考這篇把 ISO 檔寫入 usb 隨身碟中,本篇說明是採用 PVE 虛擬機架構進行測試(如果對 PVE - Provmox VE 有興趣的朋友,可以先參考這裡)。
2 選擇語言
以虛擬機開機後經過一連串的訊息畫面後,會先出現以下選單,請利用方向鍵往上切換至「English」,並按下 Enter 鍵繼續安裝流程。
3 詢問是否要更新 installer
接下來系統會先詢問你,要不要先設定更新到最新的 installer (最新的是 22.06.1,現在是使用 22.02.2),如果沒有特別的硬體需求或是網路暫且是中斷或不穩定的情況下,請直接選擇「Continue without updating」繼續,因為安裝完系統也會直接做升級的工作。
4 設定鍵盤 Layout
接下來設定 keyboard layout,沒意外的話就選擇「Done」採用預設值即可。
5 設定 IP
設定 IP 的部份,如果沒有想特別設定的話,採用預設的 DHCP 即可,不過通常伺服器應用都會設定固定 IP,在此請先將光標用鍵盤方向鍵移動至「ens18 eth」這邊並按下「Enter」鍵選取「Edit Ipv4」,再按下「Enter」鍵進到「IPv4 Method」的選項,預設會設定為「Automatic (DHCP)」,請先按下「Enter」鍵,並用方向鍵「下」將選項切換為「Manual」。
按下「Enter」鍵後,會直接出現 IPv4 固定 IP 的設定畫面,請填入內部網路的資訊,Subnet 寫法範例( C class:192.168.1.0/24 )。
接下來請將光標移動到「Save」,並按下「Enter」鍵繼續下一步,會回到網路的設定畫面,此時 IP 已經變了,再把光標移動到「Done」按下「Enter」鍵繼續下一步。
6 指定 Proxy
接著下來看到 Proxy 的設定畫面,通常不會設定,直接在「Done」按下「Enter」鍵跳過即可。
7 設定預設更新來源
接下來設定預設的 Ubuntu 套件來源庫的位置,沒有意外的話,一開始都會使用預設值,請直接在「Done」按下「Enter」鍵跳過即可。
8 分割硬碟
然後來到分割硬碟的畫面,通常都是建議要自行建立硬碟分割資訊,基本上我們需要幾個分割區:
- boot - 放置核心相關檔案。
- swap - Linux 記憶體置換分割區。
- / - root 空間,如果是測試站台,可以把剩下的空間都分給它。
- /var - 通常會是網頁、mail、Log 等資源的硬碟空間,如果是正式主機,建議將此分割區獨立依據用述做更詳細的規劃。
- /data - 通常會做為網站服務的用戶儲存空間路徑,不會直接曝露在網站的連結路徑中。
因為此是是示範主機,故本文只分割 boot(1GB)、swap (4GB),其它的空間就分配給 / 分割區,請先將滑鼠光標移動到「Custom storage layout」並按下「Enter」鍵,選完後一樣把光標移動到「Done」按下「Enter」鍵繼續。
接下來進到儲存裝置的設定畫面,首先,先設定哪一個硬碟為「開機碟」,本文案例只有一個硬碟,請先選擇硬碟的型號,按下「Enter」鍵,並將光標移動到「Use As Boot Device」並按下「Enter」鍵繼續。
完成後,在下方的「USED DEVICES」列表就會出現設定好的開機磁區清單。
接下來請將光標移動到「free space」,並按下「Enter」鍵選擇「Add GPT Partition」後,分別設定 boot(1GB/Ext4)、swap(4GB/swap) 及 /(約27GB/Ext4) 的分割資訊,每個分割區資訊填寫完成後,都請將光碟移動到「Create」按下「Enter」鍵完成設定。
- boot(1GB)
- swap(4GB)
- /(剩下的空間 - 留空白就是把所有空間都分配下來)
分割完的資訊列表如下,確認無誤後,請將光標移動到「Done」並按下「Enter」鍵繼續。
系統會提出警告,確認後請將光碟移動到「Continue」並按下「Enter」鍵繼續往下。
9 設定主機名稱及使用者資訊
接下來請設定主機的名稱及一位使用者帳號,此帳號未來會擔負管理帳號的身份,確認後請將光標移動到「Done」並按下「Enter」鍵繼續往下。
10 輸入 Ubuntu Advantage token
如果您有購買 Ubuntu 的訂閱服務,請在此輸入 Token 資訊,若沒有的話,請將光標移動到「Done」並按下「Enter」鍵繼續往下。
11 安裝 OpenSSH Server
系統會出現安裝 OpenSSH Server 的畫面,如果不安裝,則開始時候就只能在機器前面登入,所以建議一開始請選擇安裝,請用鍵盤光標移動到「Install OpenSSH Server」的位置,按下「Enter」鍵選擇,「Importy SSH identity」的部份就採用預設設定即可,然後請將光標移動到「Done」並按下「Enter」鍵繼續往下。
12 選擇安裝其它套件
Ubuntu 幫用戶整合許多工具,安裝流程的最後會列出清單讓用戶參考,這邊目前建議是不需要安裝,請將光標移動到「Done」並按下「Enter」鍵繼續往下。
13 安裝進行中
接下來系統會開始進行安裝作業,如下所示,請等待其完成。
14 重新開機
安裝完成後,畫面最下的選單會變成「Reboot Now」,代表已完成安裝作業,請先移除主機的光碟片,或是移除虛擬主機的開機 ISO 位置設定,然 後將光標移動到「Reboot Now」並按下「Enter」鍵重新開機即完成安裝作業。
成功開機的畫面如下:
進行第一次系統升級、調校及安裝基礎套件
1 基本升級
在安裝完基礎系統後,需進行基本的升級工作,建議使用安裝過程式的一般用戶名稱登入,並使用 sudo 指令進行系統更新作業。
$ sudo apt update
一樣第一次會請你輸入 sudo 的密碼:
[sudo] password for ossii:
輸入正確的密碼後,就會以 Root 身份執行 apt update 的工作了,接下來會出現類似於以下的訊息。
Hit:1 http://tw.archive.ubuntu.com/ubuntu focal InRelease
Hit:2 http://tw.archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:3 http://tw.archive.ubuntu.com/ubuntu focal-backports InRelease
Hit:4 http://tw.archive.ubuntu.com/ubuntu focal-security InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
41 packages can be upgraded. Run 'apt list --upgradable' to see them.
接下來請執行以下指令:
$ sudo apt upgrade
然後接著會出現要升級的套件資訊,如下所示:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following package was automatically installed and is no longer required:
libfwupdplugin1
Use 'sudo apt autoremove' to remove it.
The following NEW packages will be installed:
libfwupdplugin5 libmbim-glib4 libmbim-proxy libmm-glib0 libqmi-glib5 libqmi-proxy modemmanager
usb-modeswitch usb-modeswitch-data
The following packages will be upgraded:
alsa-ucm-conf apt apt-utils bolt command-not-found fwupd fwupd-signed isc-dhcp-client
isc-dhcp-common kmod landscape-common libapt-pkg6.0 libc-bin libc6 libfwupd2 libjcat1 libkeyutils1
libkmod2 libnetplan0 libnss-systemd libpam-systemd libsystemd0 libudev1 locales login netplan.io
open-vm-tools passwd python3-commandnotfound python3-distupgrade sbsigntool snapd sosreport
systemd systemd-sysv systemd-timesyncd ubuntu-advantage-tools ubuntu-release-upgrader-core udev
unattended-upgrades update-notifier-common
41 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
Need to get 59.8 MB of archives.
After this operation, 17.3 MB of additional disk space will be used.
Do you want to continue? [Y/n] 按下 Y 鍵開始下載更新
第一次更新完請重新開機,指令如下:
$ sudo reboot
2 安裝基礎套件
基本上會建議安裝以下常用的基本套件,這樣在之後的管理工作上會比較簡單,這份清單會隨著時間更新,列表及說明如下:
項次 | 套件名稱 | 說明 |
1 | vim | 提供更多 vi 編輯器效果的延伸套件,讓你編輯純文字文件時不再只是單調的畫面。 |
2 | wget | 下載網路連結檔案的工具,常常會在安裝其它非 RPM Base 的工具中用到。 |
3 | net-tools | 基本網路查詢工具,在確認網路或是服務狀態時會常常用上。 |
4 | unzip | 解壓縮工具。 |
安裝指令如下:
$ sudo apt install vim wget net-tools unzip
一樣在輸入 Root 密碼後按下「Y」鍵,系統即會自動安裝完成。
3 基本調校工作
- 變更密碼
如果您想要變更 root 密碼,可以使用「passwd」指令,變更 root 密碼的操作方式如下:
$ sudo passwd root
New password:
Retype new password:
passwd: password updated successfully
- 變更系統網路 IP
先查詢看看目前的 IP 及網卡資訊為何,我們可以使用 ifconfig 指令:
$ ifconfig
ens18: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.3.78 netmask 255.255.255.0 broadcast 192.168.3.255
inet6 fe80::448a:95ff:fe70:da59 prefixlen 64 scopeid 0x20<link>
ether 46:8a:95:70:da:59 txqueuelen 1000 (Ethernet)
RX packets 16374 bytes 13711868 (13.7 MB)
RX errors 0 dropped 3 overruns 0 frame 0
TX packets 4024 bytes 308208 (308.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
所以會看到,網路卡是 ens18,IP 則是 192.168.3.78,如果我們要變更網路資訊的話,請用 vim 指令(vim 指令教學)編輯網路設定檔,本例如下:
$ sudo vim /etc/netplan/00-installer-config.yaml
內容如下:
# This is the network config written by 'subiquity'
network:
ethernets:
ens18:
addresses:
- 192.168.3.79/24
gateway4: 192.168.3.1
nameservers:
addresses:
- 8.8.8.8
search:
- ossii.com.tw
version: 2
上面紅色的部份就請依照實際的網路環境變更即可,存檔之後執行以下的指令即可重新取得新的 IP 資訊。
$ sudo netplan apply
這個時候若是透過 SSH 連線的話,應該會斷線,請重新以新的 IP(本例為:192.168.3.79) 連入,資訊如下:
$ ifconfig
ens18: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.3.79 netmask 255.255.255.0 broadcast 192.168.3.255
inet6 fe80::448a:95ff:fe70:da59 prefixlen 64 scopeid 0x20<link>
ether 46:8a:95:70:da:59 txqueuelen 1000 (Ethernet)
RX packets 126577 bytes 24996107 (24.9 MB)
RX errors 0 dropped 11 overruns 0 frame 0
TX packets 4511 bytes 353668 (353.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- 調整系統時間
Ubuntu 20.04 預設的時區資訊可能是錯誤的,請先使用 date 的指令來查詢,結果如下:
$ date
Tue 26 Jul 2022 06:22:34 AM UTC
若要調整時區,請使用 timedatectl 指令來設定,若是 Asia/Taipei 時區,請使用下以下指令:
$ sudo timedatectl set-timezone Asia/Taipei
[sudo] password for ossii:
ossii@ubuntu-test-server2:~$ date
Tue 26 Jul 2022 02:25:02 PM CST
這樣子就完成了時間的調校工作,如果想要列出所有時區的名稱,可以使用以下指令:
$ timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
...
...
如此就完成了 Ubuntu 20.04 基本的主機調整工作啦~