1. 检查磁盘空间使用情况
在采取任何操作前,需先明确空间占用情况。常用命令:
df -h
:以人类可读格式显示所有分区的总大小、已用空间、可用空间(重点关注/
根分区和其他常用分区如/home
)。du -sh / --max-depth=1
:显示根目录下各子目录的大小(如/var
、/usr
、/home
),快速定位占用空间大的目录。2. 清理系统缓存与临时文件
系统运行中产生的缓存和临时文件是空间占用的“常客”,清理它们能快速释放空间:
/var/cache/apt/archives
,可通过以下命令清理:sudo apt clean
(彻底清理所有APT缓存)、sudo apt autoclean
(仅清理过时的软件包缓存)。/var/log
目录下的日志文件(如syslog
、auth.log
)可能随时间增长占用大量空间。可使用journalctl
工具清理旧日志:sudo journalctl --vacuum-time=3d
(删除3天前的日志)、sudo journalctl --vacuum-size=100M
(限制日志文件总大小为100MB)。/tmp
目录下的临时文件可安全删除:sudo rm -rf /tmp/*
(重启后/tmp
会自动清空,无需担心数据丢失)。3. 清理旧内核与无用软件包
旧内核和不再使用的软件包会占用大量磁盘空间,需定期清理:
dpkg
列出所有已安装的内核,排除当前正在使用的内核(通过uname -r
查看),然后删除旧版本:dpkg -l | grep linux-image
→ sudo apt purge $(dpkg -l 'linux-image-*' | grep -v $(uname -r) | awk '{print $2}' | head -n -1)
(保留最新的2-3个内核版本,避免系统无法启动)。apt autoremove
命令可自动删除因安装软件而附带但不再需要的依赖包(如libxxx
等)。snap list --all | awk '/disabled/{print $1, $3}' | while read snapname revision; do sudo snap remove "$snapname" --revision="$revision"; done
。4. 清理用户缓存与个人文件
用户日常使用产生的缓存(如浏览器、应用程序)和个人文件(如下载、文档)也是空间占用的主要来源:
~/.cache
),可使用rm -rf ~/.cache/*
(需替换~
为具体用户目录,如/home/username
)。~/.cache/thumbnails
,清理命令:rm -rf ~/.cache/thumbnails/*
。~/Downloads
(下载目录)、~/Documents
(文档目录)、~/Pictures
(图片目录)等,删除不再需要的文件(如旧电影、重复照片)。5. 使用图形界面工具简化操作
若不熟悉命令行,可使用以下图形工具快速清理:
sudo add-apt-repository ppa:gerardpuig/ppa && sudo apt update && sudo apt install ubuntu-cleaner
,运行后选择“系统垃圾”“旧内核”“Snap包”等项目一键清理。sudo apt install stacer
,提供实时磁盘使用监控、进程管理、缓存清理等功能,界面友好。sudo apt install bleachbit
,支持清理缓存、日志、Cookies、临时文件等,可选择清理范围(如“系统”“浏览器”)。6. 扩展存储空间(长期解决方案)
若清理后仍空间不足,需通过扩展存储解决:
GParted
(图形工具,sudo apt install gparted
)调整分区大小,将未分配空间划给根分区或其他分区(需注意:操作前备份重要数据,避免分区错误导致数据丢失)。ubuntu--vg-root
,需替换为实际名称):sudo lvextend -L +10G /dev/mapper/ubuntu--vg-root
(扩展10GB)→ sudo resize2fs /dev/mapper/ubuntu--vg-root
(调整文件系统大小以使用新增空间)。/mnt
),或修改/etc/fstab
实现开机自动挂载(需备份数据并确认硬盘兼容性)。