APT包管理清理
sudo apt-get clean刪除/var/cache/apt/archives/目錄下所有已下載的軟件包文件(.deb格式),釋放磁盤空間;sudo apt-get autoclean則僅刪除不再需要的舊版本軟件包(如已更新軟件包的舊版本),避免緩存過度膨脹。sudo apt-get autoremove刪除已安裝但不再被任何軟件包依賴的“孤兒”依賴包;sudo apt-get autoremove --purge進一步刪除這些包的配置文件,徹底釋放空間;sudo deborphan | xargs sudo apt-get remove --purge通過deborphan工具找出并刪除無用的庫文件(無其他包依賴的庫)。sudo rm /var/log/apt/history.log刪除APT操作歷史記錄(如安裝、升級日志);sudo rm /var/lib/apt/lists/*清理APT的軟件包列表緩存(從軟件源下載的包信息),減少不必要的磁盤占用。臨時文件與緩存清理
sudo rm -rf /tmp/*刪除/tmp目錄下的所有臨時文件(重啟后該目錄會自動重建),避免臨時文件堆積占用空間。sudo sync && echo 3 > /proc/sys/vm/drop_caches清理頁面緩存(加速文件讀取的緩存)、目錄項緩存(加速文件名查找)和inode緩存(加速文件元數據訪問)。注意:清理后系統需重新加載常用數據到內存,可能短暫影響性能,建議在低峰時段操作。rm -rf ~/.cache/*刪除當前用戶的緩存文件(如瀏覽器緩存、應用臨時文件),釋放用戶目錄空間。日志文件管理
du -sh /var/log/*查看/var/log目錄下各日志文件大小,sudo rm /var/log/syslog(或auth.log、kern.log等)刪除特定大日志文件;sudo > /var/log/syslog清空日志文件內容(保留inode,避免影響正在運行的服務)。logrotate是Debian默認的日志輪轉工具,通過編輯/etc/logrotate.conf(全局配置)或/etc/logrotate.d/下的服務配置(如/etc/logrotate.d/apache2),設置日志保留天數(rotate 7保留7天)、壓縮選項(compress)等。手動觸發輪轉可使用sudo logrotate -f /etc/logrotate.conf。systemd,journalctl --disk-usage查看日志磁盤使用量;journalctl --vacuum-time=3d刪除3天前的日志,journalctl --vacuum-size=500M限制日志總大小不超過500MB。修改/etc/systemd/journald.conf(如SystemMaxUse=16M)可永久調整日志保留策略,修改后需sudo systemctl daemon-reload && sudo systemctl restart systemd-journald生效。舊內核與孤立軟件包清理
dpkg --list | grep linux-image列出所有已安裝的內核版本,sudo apt-get remove --purge linux-image-x.x.x-x-generic(替換x.x.x-x為舊內核版本號)刪除舊內核(保留當前正在使用的內核,避免系統無法啟動)。dpkg --list | grep "^rc"列出狀態為“rc”(未配置,已卸載但保留配置文件)的軟件包,xargs sudo dpkg --purge徹底刪除其配置文件;sudo systemctl disable <service-name>禁用不需要的系統服務(如藍牙、打印服務),減少后臺進程對資源的占用。自動化與定期維護
#!/bin/bash
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get autoremove --purge -y
sudo rm -rf /tmp/*
sudo journalctl --vacuum-time=3d
賦予執行權限(chmod +x cleanup.sh)后,可手動或通過cron定時運行。cron設置定期清理任務,例如每周日凌晨2點執行清理腳本:編輯crontab(sudo crontab -e),添加0 2 * * 0 /path/to/cleanup.sh。也可利用systemd的tmpfiles.d配置(如/etc/tmpfiles.d/cleanup.conf)定義自動清理規則(如刪除/var/tmp中超過30天的文件)。