Ubuntu server 20.04詳細安裝教程

盐有点多發表於2024-03-23

Ubuntu Server 20.04詳細安裝教程

1. Ubuntu Server20.04啟動盤製作

1.1 下載映象

去Ubuntu官網找到20.04的映象檔案(20.04下載地址),按照自己的需求下載 iso檔案

1.2 製作啟動盤

  • 用Rufus製作啟動盤,到官網下載檔案(rufus官網
  • 分割槽型別:選擇GPT,目標系統型別UEFI(非SM)

GPT和MBR是不同的分割槽表型別
使用MBR分割槽表的硬碟最多隻能劃分4個主分割槽磁碟,並且MBR最大僅支援 2TB的硬碟。
如果需要分割槽的硬碟容量超過2TB了,則需要使用GPT分割槽表型別,此分割槽表型別不受分割槽個數、硬碟大小的限制。
FAT32:
指的是檔案分配表是採用32位二進位制數記錄管理的磁碟檔案管理方式,因FAT類檔案系統的核心是檔案分配表,命名由此得來。

一般2012年之後的電腦, BIOS的主流模式都是UEFI模式。
從GPT分割槽的硬碟啟動,則主機板使用UEFI、硬碟使用GPT分割槽、作業系統支援GPT和UEFI這三個條件缺一不可。目前比較新的64位Linux系統和Win系統都是支援UEFI的,所以都是需要從GPT分割槽的硬碟啟動的。
如果是UEFI+GPT分割槽表模式,那麼給ubuntu分割槽的時候不用設定/boot分割槽,設定efi系統分割槽;
如果是legacy+MBR分割槽表那麼就要設定/boot分割槽

1.3 BIOS設定

將隨身碟製作成啟動盤之後,保持插入在電腦中不要拔出,將電腦關機之後。再重新開機,開機的時候一直按F2鍵(也有按其他按鍵的,聯想筆記本是F2+Fn組合鍵,大部分筆記本是按F2,如果按F2無法進入,可以百度查查自己的筆記本進入BIOS的熱鍵)進入到BIOS設定。進入BIOS設定之後,主要要設定兩個地方分別是將Secure Boot設定為Disabled將Boot Option #1設定為隨身碟

注意:不同廠商的筆記本BIOS選單可能有所不同,但是需要設定的東西都是一樣的,選中之後敲回車就好

  • Secure Boot設定:Security —> Secure Boot —> Disabled
  • Boot Option設定:Boot —> Boot Option #1 —> 將 UEFI USB Key: **** 選擇至第一位
  • 儲存BIOS設定:Exit—>Save Changes and Reset

2. Ubuntu Server系統安裝

2.1 系統安裝

2.1.1 進入到安裝介面,選擇Install Ubuntu—>回車

2.1.2 選擇語言

本步驟直接預設按回車

2.1.3 選擇鍵盤

本步驟直接預設按回車

2.1.4 配置網路

按tab鍵配置IP相關地址,使用 DHCP 或者 靜態IP。

進行手動配置,選擇網路卡回車,選擇IPv4,回車,選擇Manuel,回車。

進入網路配置頁面

這裡subent格式為xxx.xxx.xxx.0/xx,舉例我的192.168.199.0/24。這裡的/24,就是子網掩碼255.255.255.0的意思。/25是255.255.255.128。24是0,25是128,26是192,27是224。address就是IP地址了。gateway是閘道器。Name servers就dns,直接114.114.114.114。
儲存,回車,下一步

2.1.5 選擇代理

本步驟直接預設按回車

2.1.6 選擇映象

本步驟可預設按回車,也可以配置阿里雲(http://mirrors.aliyun.com/ubuntu/),後續也可自行新增

2.1.7 配置磁碟分割槽

選擇預設的使用整塊磁碟自動分割槽,需要手動分割槽的話選擇 [custom storage layout]

檢查磁碟分割槽是否符合要求,回車繼續

確認是否繼續,繼續後會破壞磁碟資料

2.1.8 配置系統資訊

配置系統主機名、登入使用者和密碼。

2.1.9 安裝openssh遠端連線工具

按空格鍵勾選圖中的小方框內為小叉子,然後按tab鍵選擇Done繼續。

2.1.10 選擇預置環境

按需選取,不需要則直接回車繼續

2.1.11 安裝系統

如果聯網狀態會自動安裝系統更新,更新完重啟


重啟後遇到這個提示,拔掉啟動盤,按下回車,重新啟動
至此安裝完成

2.2 系統配置

2.2.1 root賬戶設定密碼

當前普通使用者介面下輸入命令,然後按提示兩次輸入密碼即可。

sudo passwd root

2.2.2 ssh配置

# 檢視是否安裝了SSH服務
ps -ef |grep ssh 

# 沒有安裝的話,執行下面語句
sudo apt-get update                   #先更新下資源列表
sudo apt-get install openssh-server   #安裝openssh-server
sudo ps -ef | grep ssh                #檢視是否安裝成功
sudo systemctl restart sshd           #重新啟動SSH服務 

# 進入ssh配置檔案
sudo vim  /etc/ssh/sshd_config    

PermitRootLogin 是一個用於配置 SSH 伺服器的選項。這個選項決定了是否允許 root 使用者透過 SSH 直接登入到伺服器。通常情況下,為了提高安全性,最好禁止 root 使用者透過 SSH 直接登入,而是使用一個普通使用者登入後再透過 su 或者 sudo 切換到 root 使用者來執行需要特權的操作。這樣可以降低系統受到攻擊的風險。
常見的 PermitRootLogin 選項取值包括:

  • yes:允許 root 使用者透過 SSH 直接登入。
  • no:禁止 root 使用者透過 SSH 直接登入。
  • without-password:允許 root 使用者透過 SSH 金鑰登入,但不允許使用密碼登入。

按i進入編輯模式,找到#PermitRootLogin prohibit-password,預設是註釋掉的。
PermitRootLogin without-password 改為 PermitRootLogin yes,注意PermitRootLogin without-password被註釋掉了,要去掉註釋。如果沒有找到PermitRootLogin without-password,直接檔案末尾新增PermitRootLogin yes即可。然後按esc,輸入:wq儲存並退出。
重啟sshd服務

sudo systemctl restart sshd

2.2.3 驅動更新

# 1. 更新軟體包列表:
sudo apt update

# 2. 升級已安裝的軟體包:
sudo apt upgrade -y

# 3. 更新驅動程式:
sudo apt install ubuntu-drivers-common
sudo ubuntu-drivers autoinstall

2.2.4 網路配置

  1. 開啟終端,使用root許可權登入或者使用sudo命令獲取root許可權。

  2. 使用文字編輯器開啟網路配置檔案/etc/netplan/00-installer-config.yaml

    sudo vim /etc/netplan/00-installer-config.yaml
    
  3. 在檔案中,找到network部分,然後根據你的網路設定進行編輯。以下是一個示例配置:

    network:
      ethernets:
        enp0s3:
          addresses: [192.168.1.10/24]
          gateway4: 192.168.1.1
          nameservers:
            addresses: [8.8.8.8, 8.8.4.4]
      version: 2
    
    • enp0s3是網路介面的名稱,你需要根據你的實際網路介面名稱進行替換。
    • addresses是你的伺服器的靜態IP地址和子網掩碼。
    • gateway4是你的閘道器IP地址。
    • nameservers是DNS伺服器的IP地址。
  4. 儲存檔案並關閉文字編輯器。

  5. 在終端中執行以下命令以應用配置更改:

    sudo netplan apply
    
  6. 重新啟動網路服務以使更改生效:

    sudo systemctl restart networking
    

現在,你的Ubuntu Server 20.04已經配置了靜態網路。你可以透過ping命令或開啟瀏覽器測試網路連線。

2.2.5 禁止自動休眠

  1. 執行如下命令檢視休眠模式的情況,如果sleep狀態是loaded,也就是處於自動休眠開啟狀態
systemctl status sleep.target
  1. 接下來,執行如下命令關閉系統的自動休眠開關:
# 這些命令做了以下幾點:
# 透過mask命令,你禁用了所有休眠相關的systemd目標。
# 透過set-default命令,你設定預設的執行級別為多使用者文字模式(即命令列介面)
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
sudo systemctl set-default multi-user.target

####################################################
# 如果你想要恢復自動休眠功能,可以使用以下命令:
sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target
sudo systemctl set-default graphical.target

  1. 再次執行檢視命令,可以看到sleep的狀態已經變成了masked,也就是關閉了。
  2. 編輯/etc/systemd/logind.conf檔案:
    sudo vim /etc/systemd/logind.conf
    
  3. 在檔案中找到以下行:
    #IdleAction=
    #IdleActionSec=
    
  4. 將這兩行的註釋符號#移除,並設定IdleActionignoreIdleActionSec0,如下所示:
    IdleAction=ignore
    IdleActionSec=0
    
  5. 儲存檔案並關閉編輯器。
  6. 使用以下命令重新載入systemd配置:
    sudo systemctl restart systemd-logind.service
    
  7. 完成!現在Ubuntu Server 20.04將不會因為無操作而自動休眠。

2.2.6 設定關蓋/合蓋不掛起/不睡眠

  1. 透過更改登入配置檔案logind.conf設定
sudo vim /etc/systemd/logind.conf
  1. 裡面影響關蓋操作的變數包括HandleLidSwitchHandleLidSwitchExternalPowerHandleLidSwitchDocked
    logind.conf 裡面各項的含義如下:
1. NAutoVTs=6:指定系統啟動時自動分配的虛擬終端數量。
2. ReserveVT=6:指定系統保留的虛擬終端數量。
3. KillUserProcesses=no:指定當使用者登出時是否終止使用者程序。
4. KillOnlyUsers=:指定需要終止程序的使用者列表。
5. KillExcludeUsers=root:指定不需要終止程序的使用者列表。
6. InhibitDelayMaxSec=5:指定阻止操作的最大延遲時間(以秒為單位)。
7. HandlePowerKey=poweroff:指定按下電源鍵時的操作,此處設定為關機。
8. HandleSuspendKey=suspend:指定按下休眠鍵時的操作,此處設定為休眠。
9. HandleHibernateKey=hibernate:指定按下休眠鍵時的操作,此處設定為休眠。
10. HandleLidSwitch=suspend:指定關閉膝上型電腦蓋子時的操作,此處設定為休眠。
11. HandleLidSwitchExternalPower=suspend:指定在外部電源連線時關閉膝上型電腦蓋子的操作,此處設定為休眠。
12. HandleLidSwitchDocked=ignore:指定連線到底座時關閉膝上型電腦蓋子的操作,此處設定為忽略。
13. PowerKeyIgnoreInhibited=no:指定是否忽略阻止操作的電源鍵按下。
14. SuspendKeyIgnoreInhibited=no:指定是否忽略阻止操作的休眠鍵按下。
15. HibernateKeyIgnoreInhibited=no:指定是否忽略阻止操作的休眠鍵按下。
16. LidSwitchIgnoreInhibited=yes:指定是否忽略阻止操作的蓋子關閉。
17. HoldoffTimeoutSec=30s:指定在執行操作前等待的時間(以秒為單位)。
18. IdleAction=ignore:指定系統處於空閒狀態時的操作,此處設定為忽略。
19. IdleActionSec=30min:指定系統處於空閒狀態多長時間後執行操作(以分鐘為單位)。
20. RuntimeDirectorySize=10%:指定執行時目錄的最大大小,此處設定為總磁碟空間的10%。
21. RemoveIPC=yes:指定是否在使用者登出時刪除IPC物件。
22. InhibitorsMax=8192:指定系統允許的阻止操作的最大數量。

HandleLidSwitch: 定義膝上型電腦關閉蓋子時的行為。可以設定的值有:

  • ignore:忽略關閉蓋子的事件。
  • poweroff:關閉電源。
  • reboot:重新啟動。
  • halt:停止系統。
  • kexec:透過 kexec 進行快速啟動。
  • suspend:掛起系統。
  • hibernate:休眠系統。

HandleLidSwitchExternalPower: 定義當膝上型電腦連線外部電源時關閉蓋子的行為。可以設定的值與 HandleLidSwitch 相同。

HandleLidSwitchDocked: 定義當膝上型電腦連線到底座時關閉蓋子的行為。可以設定的值與 HandleLidSwitch 相同。

HandlePowerKey: 定義電源按鈕的行為。可以設定的值與 HandleLidSwitch 相同。

IdleAction: 定義系統空閒時的行為。可以設定的值有:

  • ignore:忽略空閒事件。
  • poweroff:關閉電源。
  • reboot:重新啟動。
  • halt:停止系統。
  • kexec:透過 kexec 進行快速啟動。
  • suspend:掛起系統。
  • hibernate:休眠系統。

IdleActionSec: 定義系統空閒多少秒後觸發 IdleAction

UserTasksMax: 定義每個使用者可以同時執行的任務數的最大值。

KillUserProcesses: 定義當使用者登出時是否終止使用者的程序。可以設定的值有:

  • yes:終止使用者的程序。
  • no:不終止使用者的程序。

2.2.7 定時自動關閉顯示器

  1. 想要定時關閉顯示器,可以編輯/etc/default/grub這個檔案
  2. 透過修改GRUB_CMDLINE_LINUX_DEFAULT變數,你可以新增或修改傳遞給核心的引數,以便在啟動時對系統進行自定義配置。
# ipv6.disable=1:禁用 IPv6 協議。
# consoleblank=300:設定控制檯空閒時間為 300 秒後自動關閉。
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 consoleblank=300"
  1. 修改完了執行sudo update-grub,然後重啟,即可設定系統5分鐘沒有活動自動關閉顯示器。

相關文章