Ubuntu清理硬碟空間的8個技巧
轉載:https://www.cnblogs.com/hsdchenliyang/archive/2018/02/24/8465653.html
1. 刪除殘餘的配置檔案
通常Debian/Ubuntu刪除軟體包可以用兩條命令
sudo apt-get remove <package-name> sudo apt-get purge <package-name>
remove將會刪除軟體包,但會保留配置檔案.purge會將軟體包以及配置檔案都刪除.
找出系統上哪些軟體包留下了殘餘的配置檔案
dpkg --list | grep "^rc"
其中第一欄的rc表示軟體包已經刪除(Remove),但配置檔案(C
dpkg --list | grep "^rc" | cut -d " " -f 3
刪除這些軟體包
dpkg --list | grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge
(Reading database ... 64538 files and directories currently installed.) Removing libapt-inst1.4:amd64 (0.8.16~exp12ubuntu10.11) ... Purging configuration files for libapt-inst1.4:amd64 (0.8.16~exp12ubuntu10.11) ... Removing libbind9-80 (1:9.8.1.dfsg.P1-4ubuntu0.6) ... Purging configuration files for libbind9-80 (1:9.8.1.dfsg.P1-4ubuntu0.6) ...
如果你只想刪除某個軟體包的配置檔案,那麼可以使用下面的命令
sudo dpkg --purge <package-name>
2. 刪除沒有用的deb軟體安裝包
通常我們用sudo apt-get install 命令安裝軟體包後,apt-get下載的deb安裝包會保留在系統上.所以如果你經常安裝軟體,那麼這些deb安裝包會佔據大量的空間.這些安裝包在/var/cache/apt/archives目錄下。在軟體安裝完成後,這些deb安裝包就沒什麼用了。對於硬碟容量有限的伺服器來說apt-get clean命令可以騰出很多空間。你可以輸入下面的命令來檢視/var/chace/apt/archives目錄下deb安裝包的總大小
du -sh /var/cache/apt/archives
要刪除這些deb包,只需要執行下面兩個命令就行了.
sudo apt-get clean sudo apt-get autoclean
3. 刪除孤兒軟體包
有時候,你用apt-get安裝一個軟體包時會自動安裝其他的依賴.當你刪除掉這個軟體包時,這些依賴也就沒有用處了.這些沒有用的依賴包叫做孤兒軟體包,可以用下面的命令刪除
sudo apt-get autoremove
不過apt-get autoremove只會刪除經apt-get自動安裝的依賴包,而你自己手動安裝的依賴包則不會被刪除,這時我們可以用deborphan來徹底刪除.
sudo apt-get install deborphan
列出孤兒軟體包
deborphan
將它們刪除
deborphan | xargs sudo apt-get purge -y
4. 刪除過時的軟體包
所謂過時(obsolete)的軟體包是指/etc/apt/sources.list原始檔中沒有任何一個軟體源提供這個軟體的deb安裝包.也就是說這個軟體包在軟體源裡找不到了,不被支援了.這可能是因為下面幾個原因:
- 上游開發者不維護這個軟體,又沒有人來接管這個軟體的開發.所以Debian/Ubuntu的軟體包維護人員決定將這個軟體從軟體源中刪除.
- 這個軟體成了孤兒,同時使用者很少.所以它就從軟體源裡消失了.
- 這個軟體有了一個新的名字,維護人員給它起了一個新的名字並保留舊軟體包.
因為這些過時的軟體不會有安全更新了,而且搞不好會在軟體升級過程中引來麻煩,所以我們需要將它們刪除.首先找出哪些軟體包是過時的
sudo aptitude search ?obsolete
我的輸出結果
i linux-image-3.2.0-29-generic - Linux kernel image for version 3.2.0 on 64
將它刪除
sudo apt-get purge linux-image-3.2.0-29-generic
你也可以使用下面的命令將所有過時的軟體包一下清除
sudo aptitude purge ~o
不過需要注意的是,有些軟體包雖然在軟體源裡找不到,但它並不是過時的軟體包.比如你自己下載安裝的ubuntu-tweak.ubuntu-tweak需要你從官網下載deb安裝包,但不提供軟體源.用上面這條命令會將這類軟體包也刪除.所以我建議使用apt-get purge,自己選擇需要刪除的軟體包.
5. 清理日誌檔案
日誌檔案會變得越來越大,我們可以用ncdu工具來檢視大日誌檔案.
sudo apt-get install ncdu sudo ncdu /var/log
從上圖可以發現,shadowsocks.log佔用了24.5MiB的硬碟空間,我們可以用下面的命令來清空這個日誌檔案的內容.
sudo dd if=/dev/null of=/var/log/shadowsocks.log
6. baobab硬碟空間用量分析工具
baobab是一個圖形介面工具,可以幫助我們查詢系統中哪個目錄或檔案佔據了大量空間.在終端裡執行下面的命令
baobab
從上圖中可以發現,thunerbird裡的郵件就有14.3GB的大小!還有chromuim瀏覽器,Spotify音樂播放器,谷歌瀏覽器,縮圖,這些快取(cache)也佔用了不少空間.
其實我們也可以用上面所提到了ncdu工具來檢視大容量目錄和檔案.比如檢視/home/<username>/
sudo ncdu /home/<username>
不過用ncdu的話,每檢視一個目錄就要輸入一次命令,建議在伺服器上用ncdu,在桌面版本用圖形化的baobab工具.
7. 刪除大容量軟體包
首先安裝debian-goodies
sudo apt-get install debian-goodies
然後輸入下面的命令
dpigs -H
我的輸出結果
441.0M texlive-latex-extra-doc 230.1M valgrind-dbg 200.6M chromium-browser 171.4M google-chrome-stable 153.4M linux-image-extra-3.19.0-39-generic 153.4M linux-image-extra-3.19.0-37-generic 151.5M maltego 144.8M wine1.7-amd64 140.6M metasploit-framework 137.4M wine1.7-i386
接下來你就可以刪除你不用的軟體包了.上面的命令預設只會顯示前10個結果,你可指定結果的個數,比如20個
dpigs -H --lines=20
8. 使用ubuntu-tweak來清理
前往ubuntu-tweak官網下載deb安裝包,然後輸入下面的命令安裝.
sudo apt-get install gdebi sudo gdebi ubuntu-tweak*.deb
開啟ubuntu tweak後,選擇Janitor標籤.在這裡你可以清理應用程式的快取,縮圖快取,apt快取,舊核心,沒有用的軟體包配置檔案,以及孤兒軟體包.
以上就是解決Linux磁碟空間不足的8個技巧。