ps做網(wǎng)站需要幾個畫布lol今日賽事直播
嘮嘮閑話
最近服務器硬盤故障多,在修復過程中,學習了一些操作,這里做個記錄。本期主要介紹 U盤啟動盤的制作,以及持久化存儲。
U 盤啟動盤
鏡像選擇
Ubuntu 的版本命名遵循 “Adjective Animal” 的模式,即 “形容詞+動物” 名稱,每個版本都有一個官方代號。此外,版本還分為 LTS 和普通版,LTS 是“Long Term Support”的縮寫,意味著這個版本將獲得長期的支持,通常是五年。普通版本通常每六個月發(fā)布一次,支持期限為九個月。
寫這篇博客的時候是 2024 年,建議下載至少 20.04 LTS 版本的 Ubuntu 鏡像,這是一個長期支持版本,支持到 2025 年。
-
20.04 LTS “Focal Fossa”
- 發(fā)布時間:2020年4月
- “Focal”意味著“中心的”或“焦點”,“Fossa”是馬達加斯加的一種貓科動物,暗示該版本穩(wěn)定且聚焦于長期支持特性
- 下載地址:https://releases.ubuntu.com/focal/
-
22.04 LTS “Jammy Jellyfish”
- 發(fā)布時間:2022年4月
- “Jammy”在英國俚語中意思是“非常幸運的”,“Jellyfish”即水母,可能是指新的長期支持版本在穩(wěn)定性與新特性引入方面的“幸運平衡”
- 下載地址:https://releases.ubuntu.com/jammy/
下載 Ubuntu 22 鏡像:
wget -c https://releases.ubuntu.com/jammy/ubuntu-22.04.4-desktop-amd64.iso
制作啟動盤
從 Rufus 官網(wǎng)下載 Rufus 工具,該工具僅支持 Windows 系統(tǒng):
wget -c https://github.com/pbatard/rufus/releases/download/v4.4/rufus-4.4.exe
打開后,選擇鏡像,和 U 盤,然后開始制作啟動盤。
設置持久化分區(qū)存儲,這樣在 U 盤上安裝軟件和保存文件都會被保留。如果該 U 盤僅用于系統(tǒng)盤,可將持久分區(qū)拉滿。
下圖保留了部分空間用于日常存儲。
注1:如果不設置持久存儲,U 盤時將以只讀模式加載,同時使用 RAM(隨機訪問存儲器)作為臨時的寫入空間。這意味著使用過程中產(chǎn)生的數(shù)據(jù)(如臨時文件、系統(tǒng)日志等)都存儲在內(nèi)存中,而不是 U 盤或硬盤上。
注2:Rufus 的持久性功能被明確標記為 EXPERIMENTAL,如果希望更穩(wěn)定的持久性功能,可以嘗試其他工具,如 UNetbootin。
啟動 U 盤
進 BIOS 的方式和主板相關。通常,開機按 F2 或 Delete 進入 BIOS 設置,找到啟動項,將 U 盤啟動項調(diào)整到第一位。
開機后,選擇語言,選擇 “試用 Ubuntu” 進入系統(tǒng)。
輸入 ctrl + alt + t
打開終端,輸入 df -h
查看硬盤信息,可以看到系統(tǒng)目錄 /
由持久化存儲分區(qū) /cow
掛載。
軟件配置
可將 U 盤當作移動的系統(tǒng)盤,隨時隨地使用。
根據(jù)需要給 U 盤安裝軟件,參考 Ubuntu 教程(一) | 必備軟件的安裝和配置。
默認的 APT 源不完整,搜索不到 testdisk
等應用,需要修改。以下為 22 版本的 apt 源:
# cd /etc/apt
# cp sources.list sources.list.bak
# nano sources.list
deb http://archive.ubuntu.com/ubuntu jammy main restricted
deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted
deb http://archive.ubuntu.com/ubuntu jammy universe
deb http://archive.ubuntu.com/ubuntu jammy-updates universe
deb http://archive.ubuntu.com/ubuntu jammy multiverse
deb http://archive.ubuntu.com/ubuntu jammy-updates multiverse
deb http://archive.ubuntu.com/ubuntu jammy-backports main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu jammy-security main restricted
deb http://archive.ubuntu.com/ubuntu jammy-security universe
deb http://archive.ubuntu.com/ubuntu jammy-security multiverse
更改 apt 源后,開始安裝軟件:
sudo apt update
sudo apt install net-tools vim testdisk curl git network-manager gddrescue lvm2 -y
# 可選,用于 ssh 連接和網(wǎng)絡掛載
sudo apt install openssh-server sshfs -y
sudo apt install python3 python3-pip -y
實測用 Rufus 安裝的 U 盤啟動盤,在啟動時,有可能會重置主機名和默認登錄用戶。因此建議創(chuàng)建新用戶,并在新用戶上配置環(huán)境。
網(wǎng)絡設置
Netplan
會讀取 /etc/netplan/
目錄下的所有以 .yaml
結尾的文件來構建整個系統(tǒng)的網(wǎng)絡配置。如果目錄中有多個配置文件,Netplan
會按字母順序合并這些文件。
查看默認 netplan
配置文件:
# cat /etc/netplan/01-network-manager-all.yaml
network:version: 2renderer: NetworkManager
網(wǎng)絡配置由 NetworkManager 服務管理,NetworkManager 是一個動態(tài)網(wǎng)絡管理工具,它可以自動檢測和配置網(wǎng)絡連接,使得用戶在大多數(shù)情況下無需手動配置網(wǎng)絡。
部分情況需手動修改,可通過以下方法之一來查看系統(tǒng)中所有網(wǎng)絡接口的名稱:
- 執(zhí)行
ip link
或ip a
命令在終端中查看。 - 使用
ifconfig
命令(如果已安裝net-tools
包)。
舉個例子:
network:ethernets:enp195s0: # 接口名稱,通過 ip link 查看addresses: [192.168.98.26/24]eno2:addresses: # 靜態(tài) IP 地址- 172.23.148.35/24# 網(wǎng)絡配置gateway4: 172.23.148.1nameservers:addresses:- 114.114.114.114search: []version: 2
接口名稱的含義:
en
表示以太網(wǎng)(Ethernet)。o
表示 onboard(板載設備)。s
表示 hotplug slot(熱插槽)。x
表示 MAC地址(通常用于無法通過其他方式分類的情況)。- 數(shù)字表示物理位置或者是內(nèi)部編號,如
eno1
通常指的是第一個板載以太網(wǎng)接口。
修改配置后,執(zhí)行 sudo netplan apply
使配置生效。
修改日志規(guī)則
默認情況下,Ubuntu 系統(tǒng)日志使用 rsyslog
服務來記錄系統(tǒng)事件,按時間輪轉(zhuǎn)。
cd /etc/logrotate.d
cat rsyslog
內(nèi)容形如:
/var/log/syslog
/var/log/kern.log
...
/var/log/debug
/var/log/messages
{rotate 4weeklymissingoknotifemptycompressdelaycompresssharedscriptspostrotate/usr/lib/rsyslog/rsyslog-rotateendscript
}
前邊是指定的日志文件,大括號 {}
內(nèi)的是對這些文件應用的具體規(guī)則:
rotate 4
:保留最新的4個輪替文件。超過這個數(shù)量的舊文件會被刪除。weekly
:日志文件將每周輪替一次。missingok
:如果日志文件不存在,不會報錯。notifempty
:如果日志文件為空,不進行輪替。compress
:輪替的日志文件將被壓縮(默認使用gzip)。delaycompress
:壓縮操作將延遲到下一次輪替周期。sharedscripts
:這個選項意味著postrotate
腳本將只執(zhí)行一次,而不是對每個日志文件執(zhí)行一次。postrotate
/endscript
:這是一對指令,定義了在日志文件輪替后需要執(zhí)行的腳本。
比如將 weekly
改為 size 100M
選項,指定日志文件達到一定大小時進行輪替,避免異常占用。
執(zhí)行 sudo logrotate -f /etc/logrotate.conf
使配置生效。
異常處理
U 盤運行 ddrescue
時,沒限制日志大小,把電腦卡死了,導致重啟一直卡在光標處進不了系統(tǒng)。
在論壇翻到了一個進入命令行系統(tǒng)的方案:Ubuntu boots to a black screen with blinking a underscore character after release upgrade。
開機選擇安全模式,卡在光標處的時候,按 Ctrl + Alt + F1
或 Ctrl + Alt + F3
切換到命令行模式。
最后通過命令行發(fā)現(xiàn)了該問題: U 盤的 /var/log/syslog
和 /var/log/kern.log
把持久化內(nèi)存撐爆了,導致系統(tǒng)無法正常啟動。
清理并刷新系統(tǒng)日志:
cd /var/log
sudo echo > syslog
sudo echo > kern.log
sudo systemctl restart rsyslog
重新輸入 df -h
查看硬盤占用信息。
工作區(qū)備份
Rufus 重裝后有兩個分區(qū),一個是只讀的 squashfs,另一個是持久化的 ext4。如果將 U盤用于日常工作,可以用 dd 命令備份硬盤,避免 U 盤損壞丟失工作區(qū)。命令如下:
sudo dd if=/dev/sda of=/path/to/backup.img bs=4M status=progress
以上。實踐過程中遇到了其他問題或有新的發(fā)現(xiàn),歡迎討論~