1. 程式人生 > >Ubuntu清理硬碟空間的8個技巧

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"

Debian/Ubuntu刪除殘餘配置檔案

其中第一欄的rc表示軟體包已經刪除(Remove),但配置檔案(C

onfig-file)還在. 現在提取這些軟體包的名稱.

dpkg --list | grep "^rc" | cut -d " " -f 3

Debian/Ubuntu刪除殘餘配置檔案

刪除這些軟體包

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

Linux清理硬碟空間

將它們刪除

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

Linux清理硬碟空間

從上圖可以發現,shadowsocks.log佔用了24.5MiB的硬碟空間,我們可以用下面的命令來清空這個日誌檔案的內容.

sudo dd if=/dev/null of=/var/log/shadowsocks.log

6. baobab硬碟空間用量分析工具

baobab是一個圖形介面工具,可以幫助我們查詢系統中哪個目錄或檔案佔據了大量空間.在終端裡執行下面的命令

baobab

Linux清理硬碟空間

從上圖中可以發現,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快取,舊核心,沒有用的軟體包配置檔案,以及孤兒軟體包.

ubuntu tweak清理快取

以上就是解決Linux磁碟空間不足的8個技巧。