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/

image-1657794384571.png

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 鍵繼續安裝流程。

image-1657846101740.png

3 詢問是否要更新 installer

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

image-1657849530512.png

4 設定鍵盤 Layout

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

image-1657846363956.png

5 設定 IP

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

image-1657846630873.png

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

image-1657846907013.png

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

image-1657847283663.png

6 指定 Proxy

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

image-1657847459044.png

7 設定預設更新來源

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

image-1657847630094.png

8 分割硬碟

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

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

image-1657848195752.png

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

image-1657848585738.png

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

image-1657848674397.png

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

image-1657849197191.png

image-1657849083579.png

image-1658806135003.png

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

image-1657849312872.png

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

image-1657849404401.png

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

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

image-1657849819370.png

10 輸入 Ubuntu Advantage token

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

image-1657850003938.png

11 安裝 OpenSSH Server

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

image-1657850193062.png

12 選擇安裝其它套件

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

image-1657850317136.png

13 安裝進行中

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

image-1657850367059.png

14 重新開機

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

image-1657851541825.png

成功開機的畫面如下:

image-1658806851637.png

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

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 及網卡資訊為何,我們可以使用 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 基本的主機調整工作啦~