# 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/)

<div class="pointer-container" id="bkmrk-%C2%A0"><div class="pointer anim is-page-editable"><div class="input-group inline block"> </div></div></div>下載網頁連結為：[https://www.ubuntu-tw.org/modules/tinyd0/](https://www.ubuntu-tw.org/modules/tinyd0/)

[![image-1657794384571.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657794384571.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657794384571.png)

##### 2 國內 ISO 下載點

雖然 Ubuntu Server 目前最新的版本是 **22.04 版**，支援到 2032 年 4 月(付費版)，不過對於追求穩定的朋友來說，目前應該仍會選擇採用 **20.04 的版本**，目前 20.04 免費的版本可以支援到 2025 年 4 月，付費版則可支援到 2030 年 4 月，國內的下載點如下：

<p class="callout info">Ubuntu 正體中文站台載點</p>

- [http://ftp.ubuntu-tw.org/ubuntu-releases/](http://ftp.ubuntu-tw.org/ubuntu-releases/)

<p class="callout info">國家高速網路中心載點</p>

- [https://free.nchc.org.tw/ubuntu-cd/](https://free.nchc.org.tw/ubuntu-cd/)

<p class="callout info">國立成功大學載點</p>

- [https://ubuntu.ccns.ncku.edu.tw/ubuntu-cd/](https://ubuntu.ccns.ncku.edu.tw/ubuntu-cd/)

# 開始安裝

##### **1 準備好你的機器環境並開機**

基本上測試的環境**只需要 32GB 的硬碟空間及 2GB 的記憶體**就可以運作了，請依照你自己的實際環境，若是用 usb 開機安裝在實體機上的話，可參考[這篇](https://briian.com/7214/)把 ISO 檔寫入 usb 隨身碟中，本篇說明是採用 PVE 虛擬機架構進行測試(**如果對 PVE - Provmox VE 有興趣的朋友，可以先參考**[這裡](http://blog.jason.tools/search/label/Proxmox%20VE))。

##### **2 選擇語言**

<div class="pointer-container" id="bkmrk-%C2%A0"><div class="pointer anim is-page-editable"><div class="input-group inline block"> </div></div></div>以虛擬機開機後經過一連串的訊息畫面後，會先出現以下選單，請利用方向鍵往上切換至「English」，並按下 Enter 鍵繼續安裝流程。

[![image-1657846101740.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657846101740.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657846101740.png)

##### **3 詢問是否要更新 installer**

接下來系統會先詢問你，要不要先設定更新到最新的 installer (最新的是 22.06.1，現在是使用 22.02.2)，如果沒有特別的硬體需求或是網路暫且是中斷或不穩定的情況下，請直接選擇「Continue without updating」繼續，因為安裝完系統也會直接做升級的工作。

[![image-1657849530512.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657849530512.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657849530512.png)

##### **4 設定鍵盤 Layout**

接下來設定 keyboard layout，沒意外的話就選擇「Done」採用預設值即可。

[![image-1657846363956.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657846363956.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657846363956.png)

##### **5 設定 IP**

設定 IP 的部份，如果沒有想特別設定的話，採用預設的 DHCP 即可，不過通常伺服器應用都會設定固定 IP，在此請先將光標用鍵盤方向鍵移動至「ens18 eth」這邊並按下「Enter」鍵選取「Edit Ipv4」，再按下「Enter」鍵進到「IPv4 Method」的選項，預設會設定為「Automatic (DHCP)」，請先按下「Enter」鍵，並用方向鍵「下」將選項切換為「Manual」。

[![image-1657846630873.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657846630873.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657846630873.png)

按下「Enter」鍵後，會直接出現 IPv4 固定 IP 的設定畫面，請填入內部網路的資訊，Subnet 寫法範例**( C class：192.168.1.0/24 )**。

[![image-1657846907013.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657846907013.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657846907013.png)

接下來請將光標移動到「Save」，並按下「Enter」鍵繼續下一步，會回到網路的設定畫面，此時 IP 已經變了，再把光標移動到「Done」按下「Enter」鍵繼續下一步。

[![image-1657847283663.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657847283663.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657847283663.png)

##### **6 指定 Proxy**

接著下來看到 Proxy 的設定畫面，通常不會設定，直接在「Done」按下「Enter」鍵跳過即可。

[![image-1657847459044.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657847459044.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657847459044.png)

##### **7 設定預設更新來源**

接下來設定預設的 Ubuntu 套件來源庫的位置，沒有意外的話，一開始都會使用預設值，請直接在「Done」按下「Enter」鍵跳過即可。

[![image-1657847630094.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657847630094.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657847630094.png)

##### **8 分割硬碟**

然後來到分割硬碟的畫面，通常都是建議要自行建立硬碟分割資訊，基本上我們需要幾個分割區：

- boot - 放置核心相關檔案。
- swap - Linux 記憶體置換分割區。
- / - root 空間，如果是測試站台，可以把剩下的空間都分給它。
- /var - 通常會是網頁、mail、Log 等資源的硬碟空間，如果是正式主機，建議將此分割區獨立依據用述做更詳細的規劃。
- /data - 通常會做為網站服務的用戶儲存空間路徑，不會直接曝露在網站的連結路徑中。

因為此是是示範主機，故本文只分割 boot(1GB)、swap (4GB)，其它的空間就分配給 / 分割區，請先將滑鼠光標移動到「Custom storage layout」並按下「Enter」鍵，選完後一樣把光標移動到「Done」按下「Enter」鍵繼續。

[![image-1657848195752.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657848195752.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657848195752.png)

接下來進到儲存裝置的設定畫面，首先，先設定哪一個硬碟為「開機碟」，本文案例只有一個硬碟，請先選擇硬碟的型號，按下「Enter」鍵，並將光標移動到「Use As Boot Device」並按下「Enter」鍵繼續。

[![image-1657848585738.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657848585738.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657848585738.png)

完成後，在下方的「USED DEVICES」列表就會出現設定好的開機磁區清單。

[![image-1657848674397.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657848674397.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657848674397.png)

接下來請將光標移動到「free space」，並按下「Enter」鍵選擇「Add GPT Partition」後，分別設定 boot(1GB/Ext4)、swap(4GB/swap) 及 /(約27GB/Ext4) 的分割資訊，每個分割區資訊填寫完成後，都請將光碟移動到「Create」按下「Enter」鍵完成設定。

- boot(1GB)

[![image-1657849197191.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657849197191.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657849197191.png)

- swap(4GB)

[![image-1657849083579.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657849083579.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657849083579.png)

- /(剩下的空間 - 留空白就是把所有空間都分配下來)

[![image-1658806135003.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1658806135003.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1658806135003.png)

分割完的資訊列表如下，確認無誤後，請將光標移動到「Done」並按下「Enter」鍵繼續。

[![image-1657849312872.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657849312872.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657849312872.png)

系統會提出警告，確認後請將光碟移動到「Continue」並按下「Enter」鍵繼續往下。

[![image-1657849404401.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657849404401.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657849404401.png)

##### **9 設定主機名稱及使用者資訊**

接下來請設定主機的名稱及一位使用者帳號，此帳號未來會擔負管理帳號的身份，確認後請將光標移動到「Done」並按下「Enter」鍵繼續往下。

[![image-1657849819370.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657849819370.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657849819370.png)

##### **10 輸入 Ubuntu Advantage token**

如果您有購買 Ubuntu 的訂閱服務，請在此輸入 Token 資訊，若沒有的話，請將光標移動到「Done」並按下「Enter」鍵繼續往下。

[![image-1657850003938.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657850003938.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657850003938.png)

##### **11 安裝 OpenSSH Server**

系統會出現安裝 OpenSSH Server 的畫面，如果不安裝，則開始時候就只能在機器前面登入，所以建議一開始請選擇安裝，請用鍵盤光標移動到「Install OpenSSH Server」的位置，按下「Enter」鍵選擇，「Importy SSH identity」的部份就採用預設設定即可，然後請將光標移動到「Done」並按下「Enter」鍵繼續往下。

[![image-1657850193062.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657850193062.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657850193062.png)

##### **12 選擇安裝其它套件**

Ubuntu 幫用戶整合許多工具，安裝流程的最後會列出清單讓用戶參考，這邊目前建議是不需要安裝，請將光標移動到「Done」並按下「Enter」鍵繼續往下。

[![image-1657850317136.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657850317136.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657850317136.png)

##### **13 安裝進行中**

接下來系統會開始進行安裝作業，如下所示，請等待其完成。

[![image-1657850367059.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657850367059.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657850367059.png)

##### **14 重新開機**

安裝完成後，畫面最下的選單會變成「Reboot Now」，代表已完成安裝作業，請先移除主機的光碟片，或是移除虛擬主機的開機 ISO 位置設定，然 後將光標移動到「Reboot Now」並按下「Enter」鍵重新開機即完成安裝作業。

[![image-1657851541825.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1657851541825.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1657851541825.png)

成功開機的畫面如下：

[![image-1658806851637.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1658806851637.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1658806851637.png)

# 進行第一次系統升級、調校及安裝基礎套件

##### **1 基本升級**

<div class="pointer-container" id="bkmrk-%C2%A0"><div class="pointer anim is-page-editable"><div class="input-group inline block"> </div></div></div>在安裝完基礎系統後，需進行基本的升級工作，建議使用安裝過程式的**一般**用戶名稱登入，並使用 sudo 指令進行系統更新作業。

```shell
$ sudo apt update
```

一樣第一次會請你輸入 sudo 的密碼：

```shell
[sudo] password for ossii:
```

輸入正確的密碼後，就會以 Root 身份執行 apt update 的工作了，接下來會出現類似於以下的訊息。

```shell
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.
```

接下來請執行以下指令：

```shell
$ sudo apt upgrade
```

然後接著會出現要升級的套件資訊，如下所示：

```shell
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 鍵開始下載更新
```

第一次更新完請重新開機，指令如下：

```shell
$ sudo reboot
```

##### **2 安裝基礎套件**

<div class="pointer-container" id="bkmrk-%C2%A0-0"><div class="pointer anim is-page-editable"><div class="input-group inline block"> </div></div></div>基本上會建議安裝以下常用的基本套件，這樣在之後的管理工作上會比較簡單，這份清單會隨著時間更新，列表及說明如下：

<table id="bkmrk-%E9%A0%85%E6%AC%A1-%E5%A5%97%E4%BB%B6%E5%90%8D%E7%A8%B1-%E8%AA%AA%E6%98%8E-1-vim-%E6%8F%90%E4%BE%9B%E6%9B%B4" style="border-collapse:collapse;width:100%;height:158.984px;border-color:#000000;border-style:inset;"><tbody><tr style="height:29.7969px;"><td class="align-center" style="width:6.30408%;height:29.7969px;">項次</td><td class="align-center" style="width:26.4452%;height:29.7969px;">套件名稱</td><td class="align-center" style="width:67.2507%;height:29.7969px;">說明</td></tr><tr style="height:29.7969px;"><td class="align-center" style="width:6.30408%;height:29.7969px;">1</td><td class="align-center" style="width:26.4452%;height:29.7969px;">vim</td><td style="width:67.2507%;height:29.7969px;">提供更多 vi 編輯器效果的延伸套件，讓你編輯純文字文件時不再只是單調的畫面。</td></tr><tr style="height:29.7969px;"><td class="align-center" style="width:6.30408%;height:29.7969px;">2</td><td class="align-center" style="width:26.4452%;height:29.7969px;">wget</td><td style="width:67.2507%;height:29.7969px;">下載網路連結檔案的工具，常常會在安裝其它非 RPM Base 的工具中用到。</td></tr><tr style="height:29.7969px;"><td class="align-center" style="width:6.30408%;height:29.7969px;">3</td><td class="align-center" style="width:26.4452%;height:29.7969px;">net-tools</td><td style="width:67.2507%;height:29.7969px;">基本網路查詢工具，在確認網路或是服務狀態時會常常用上。</td></tr><tr style="height:10px;"><td class="align-center" style="width:6.30408%;height:10px;">4</td><td class="align-center" style="width:26.4452%;height:10px;">unzip</td><td style="width:67.2507%;height:10px;">解壓縮工具。</td></tr></tbody></table>

安裝指令如下：

```shell
$ sudo apt install vim wget net-tools unzip
```

一樣在輸入 Root 密碼後按下「Y」鍵，系統即會自動安裝完成。

##### **3 基本調校工作**

<div class="pointer-container" id="bkmrk-%C2%A0-1"><div class="pointer anim is-page-editable"><div class="input-group inline block"> </div></div></div>- **變更密碼**


如果您想要變更 root 密碼，可以使用「passwd」指令，變更 root 密碼的操作方式如下：

```shell
$ 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 指令([**<span style="color:#e03e2d;">vim 指令教學</span>**](https://blog.techbridge.cc/2020/04/06/how-to-use-vim-as-an-editor-tutorial/))編輯網路設定檔，本例如下：

```shell
$ sudo vim /etc/netplan/00-installer-config.yaml
```

內容如下：

> \# This is the network config written by 'subiquity'  
> network:  
>  ethernets:  
>  ens18:  
>  addresses:  
> <span style="color:#e03e2d;"> **- 192.168.3.79/24**</span>  
> **<span style="color:#e03e2d;"> gateway4: 192.168.3.1</span>**  
>  nameservers:  
>  addresses:  
> **<span style="color:#e03e2d;"> - 8.8.8.8</span>**  
>  search:  
>  - ossii.com.tw  
>  version: 2

上面紅色的部份就請依照實際的網路環境變更即可，存檔之後執行以下的指令即可重新取得新的 IP 資訊。

```shell
$ sudo netplan apply
```

這個時候若是透過 SSH 連線的話，應該會斷線，請重新以新的 IP(本例為：192.168.3.79) 連入，資訊如下：

```shell
$ 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 的指令來查詢，結果如下：

```shell
$ date
Tue 26 Jul 2022 06:22:34 AM UTC
```

若要調整時區，請使用 timedatectl 指令來設定，若是 Asia/Taipei 時區，請使用下以下指令：

```shell
$ sudo timedatectl set-timezone Asia/Taipei
[sudo] password for ossii:
ossii@ubuntu-test-server2:~$ date
Tue 26 Jul 2022 02:25:02 PM CST
```

這樣子就完成了時間的調校工作，如果想要列出所有時區的名稱，可以使用以下指令：

```shell
$ timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
...
...
```

如此就完成了 Ubuntu 20.04 基本的主機調整工作啦～