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 網路配置
-
開啟終端,使用root許可權登入或者使用sudo命令獲取root許可權。
-
使用文字編輯器開啟網路配置檔案
/etc/netplan/00-installer-config.yaml
。sudo vim /etc/netplan/00-installer-config.yaml
-
在檔案中,找到
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地址。
-
儲存檔案並關閉文字編輯器。
-
在終端中執行以下命令以應用配置更改:
sudo netplan apply
-
重新啟動網路服務以使更改生效:
sudo systemctl restart networking
現在,你的Ubuntu Server 20.04已經配置了靜態網路。你可以透過ping命令或開啟瀏覽器測試網路連線。
2.2.5 禁止自動休眠
- 執行如下命令檢視休眠模式的情況,如果sleep狀態是loaded,也就是處於自動休眠開啟狀態
systemctl status sleep.target
- 接下來,執行如下命令關閉系統的自動休眠開關:
# 這些命令做了以下幾點:
# 透過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
- 再次執行檢視命令,可以看到sleep的狀態已經變成了masked,也就是關閉了。
- 編輯
/etc/systemd/logind.conf
檔案:sudo vim /etc/systemd/logind.conf
- 在檔案中找到以下行:
#IdleAction= #IdleActionSec=
- 將這兩行的註釋符號
#
移除,並設定IdleAction
為ignore
,IdleActionSec
為0
,如下所示:IdleAction=ignore IdleActionSec=0
- 儲存檔案並關閉編輯器。
- 使用以下命令重新載入systemd配置:
sudo systemctl restart systemd-logind.service
- 完成!現在Ubuntu Server 20.04將不會因為無操作而自動休眠。
2.2.6 設定關蓋/合蓋不掛起/不睡眠
- 透過更改登入配置檔案
logind.conf
設定
sudo vim /etc/systemd/logind.conf
- 裡面影響關蓋操作的變數包括
HandleLidSwitch
、HandleLidSwitchExternalPower
和HandleLidSwitchDocked
。
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 定時自動關閉顯示器
- 想要定時關閉顯示器,可以編輯
/etc/default/grub
這個檔案 - 透過修改GRUB_CMDLINE_LINUX_DEFAULT變數,你可以新增或修改傳遞給核心的引數,以便在啟動時對系統進行自定義配置。
# ipv6.disable=1:禁用 IPv6 協議。
# consoleblank=300:設定控制檯空閒時間為 300 秒後自動關閉。
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 consoleblank=300"
- 修改完了執行
sudo update-grub
,然後重啟,即可設定系統5分鐘沒有活動自動關閉顯示器。