Debian/Ubuntu清理硬盤空間的8個技巧(轉)


Debian/Ubuntu清理硬盤空間的8個技巧

在前一篇文章中,我介紹了如何在ubuntu系統上刪除舊的Linux內核以騰出硬盤空間.現在,我整合我所了解的其他清理硬盤空間的技巧,分享給大家.下面介紹的是 Debian/Ubuntu類Linux發行版磁盤空間不足的8個解決方法。

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),但配置文件(Config-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個技巧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM