使用df -h命令查看各分區(尤其是根分區/、/home或/boot)的使用率,定位空間不足的分區;再用du -sh * | sort -h(在根目錄或目標目錄下運行)找出占用空間大的文件或目錄(如大型日志、下載文件、舊備份等)。
運行以下命令清理APT緩存(/var/cache/apt/archives)和不再需要的依賴包:
sudo apt clean # 清理所有APT緩存文件
sudo apt autoclean # 清理過時的緩存文件(僅保留當前可用的包)
sudo apt autoremove # 自動移除不再需要的依賴包
這些操作可釋放/var目錄下的空間(通常占幾GB)。
舊內核會占用/boot分區空間(常見于Ubuntu Server或手動安裝的系統)。通過以下命令清理:
dpkg -l | grep linux-image # 列出已安裝的內核版本(排除當前正在使用的)
sudo apt purge linux-image-x.x.x-x-generic # 刪除舊內核(替換x.x.x-x為具體版本號)
清理后可釋放/boot分區的大量空間(通常每個舊內核占100-300MB)。
系統日志(如/var/log/syslog、/var/log/kern.log)可能隨時間增長占用大量空間。使用以下命令清理:
sudo journalctl --vacuum-time=3d # 刪除超過3天的日志(可調整為7d/30d)
sudo rm -rf /var/log/*.gz # 刪除壓縮的舊日志文件
注意:避免刪除正在使用的日志文件(如syslog),以免影響系統運行。
縮略圖緩存(位于~/.cache/thumbnails)會隨著圖片、視頻文件的增多而增大。運行以下命令清理:
rm -rf ~/.cache/thumbnails/* # 刪除當前用戶的縮略圖緩存
若需清理所有用戶的緩存,可使用sudo rm -rf /home/*/.cache/thumbnails/*(謹慎操作)。
Snap應用會保留舊版本(位于/var/lib/snapd/snaps),占用大量空間。使用以下腳本清理:
sudo snap list --all | awk '/disabled/{print $1, $3}' | while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
該腳本會刪除所有Snap應用的舊版本,僅保留最新版。
若系統使用LVM(邏輯卷管理),可通過擴展邏輯卷來增加空間(適用于未分配空間充足或已添加新硬盤的情況):
sudo fdisk -l # 查看物理磁盤情況
sudo vgdisplay # 查看卷組(VG)剩余空間
sudo lvdisplay # 查看邏輯卷(LV)大小
sudo lvextend -L +100G /dev/mapper/ubuntu--vg-ubuntu--lv # 替換為你的LV路徑
sudo pvcreate /dev/sdX # 將新磁盤(如/dev/sdb)初始化為物理卷
sudo vgextend ubuntu-vg /dev/sdX # 將物理卷添加到現有卷組(替換為你的VG名稱)
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv # 擴展LV到卷組所有剩余空間
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
sudo xfs_growfs /dev/mapper/ubuntu--vg-ubuntu--lv
df -h # 查看分區大小是否已擴展
sudo lvdisplay # 確認邏輯卷大小已更新
注意:擴展邏輯卷前需確保卷組有足夠空間,否則需先擴展卷組。
若現有磁盤無剩余空間且無法通過LVM擴展,可添加新硬盤:
將新硬盤插入計算機(臺式機需打開機箱,筆記本需確認接口支持)。
GParted工具(圖形界面)或fdisk命令劃分分區(如/dev/sdb1);sudo mkfs.ext4 /dev/sdb1 # 或 sudo mkfs.xfs /dev/sdb1
/mnt/newdisk):sudo mkdir /mnt/newdisk
sudo mount /dev/sdb1 /mnt/newdisk
/etc/fstab文件):echo "/dev/sdb1 /mnt/newdisk ext4 defaults 0 2" | sudo tee -a /etc/fstab
將原分區中的部分數據(如/home、/var)遷移到新分區,以釋放原分區空間。
/home目錄、文檔、照片),避免誤操作導致數據丟失;rm、lvextend等命令,需確認路徑和參數正確,避免誤刪系統文件;