Ubuntu空間不夠的處理方案

這次是遇到空間滿載100%。還好能夠SSH登入。但是要重啟服務之類的基本上都是直接無法使用。

雖然說擴容方式直接增加比較快。但是這次是緊急處理所以就是想辦法讓他減肥騰出一些空間就好。

移除不用的安裝套件

# apt-get autoremove

清除apt中的暫存

查看目前暫存的大小
# du -sh /var/cache/apt 
清除
#  apt autoclean
清除整個暫存
# apt clean

刪除舊的核心,這個操作要小心點

查看已安裝的核心
# dpkg --list 'linux-image*'*
刪除舊版的核心
# apt remove linux-image-版本號

刪除log

檢查log大小
# journalctl --disk-usage
刪除
# /etc/cron.daily/logrotate
# find /var/log -type f -iname *.gz -delete
# journalctl --rotate
# journalctl --vacuum-time=1s

查看現在空間狀況就可以知道效果如何了

# df -Th | grep -v fs

恩。寫個shell讓之後方便使用。

#!/bin/sh
LANG=en_GB.UTF-8

## Clean apt cache
apt-get update
apt-get -f install
apt-get -y autoremove
apt-get clean

## Remove old versions of Linux Kernel
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs apt-get -y purge

## Rotate and delete old logs
/etc/cron.daily/logrotate
find /var/log -type f -iname *.gz -delete
sudo journalctl --rotate
sudo journalctl --vacuum-time=1s

## Show free space
df -Th | grep -v fs