ディスク領域を解放するにはどうすればよいですか?


181

私のUbuntuクラウドサーバーは900MBのディスクスペースしか残していません。

ディレクトリ/ tmpを空にして、他にクリーンアップする場所があるかどうかを考えます。


1
これも試してください:dpkg -l | grep ^ rc | カット-d '' -f3 | xargs sudo apt-get purge -y
crsuarezf

あなたがドッキングウィンドウを使用している場合:docs.docker.com/config/pruning
ジェラルドCARBO

多くの場合:sudo docker container prune -f && sudo docker image prune -f
smftr

回答:


104
sudo apt-get autoremove

これにより、置き換えられた多くのガフ(古いカーネルなど)を一掃できます。Synapticでも同様のことができます(それを読み込んでステータスボタンを選択してから、[自動削除]オプションを選択します)。


アプリケーションが依存する必要なパッケージを削除する場合など、実行中のアプリケーションには影響しませんか?
user3215

1
いいえ。Autoremoveは、孤立したパッケージ、つまり、自分で明示的にインストールしなかったパッケージ(autoとマークされたパッケージ)、および依存関係のないパッケージを探します。のaptitude代わりにを使用するとapt-get、移動中にクリーンアップできますが、セキュリティ更新プログラムがリリースされると、古いインストールではインストールされたカーネルの大部分を収集することは非常に一般的です。
オリ

1
私の最後のコメントのタイプミス。みなしご化されたパッケージは、依存関係のないパッケージであり、「依存関係のない」パッケージではないということです。それらは依存関係を持っている可能性があり、もしそれらがその孤立したパッケージに対してのみ存在する場合、それらも削除されます。時々(本当に深い依存関係ツリーで)クリーンアップするために、いくつかの自動削除が必要になる場合があります。
オリ

5
上記のコマンドは確かに便利ですが、前述のとおり、古いカーネルは削除されません。これは、手動で行うか、Ubuntu Tweakなどの追加ツールを使用して行う必要があります。
コーディング

1
@nyarlathotep カーネルヘッダーファイル削除します。これにより、一見すると古いカーネルが削除されていると思われるかもしれませんdpkg --get-selections | grep linux-image。ただし、古いカーネルは残っています(try )。
drevicko

211

ダウンロード済みのパッケージ(.deb)を既にインストールされている(および不要になった)削除するには

sudo apt-get clean

もうダウンロードできないパッケージ(つまり、リポジトリに存在しないか、リポジトリに新しいバージョンがあるパッケージ)のキャッシュに保存されているすべてのアーカイブを削除します。

sudo apt-get autoclean

不要なパッケージを削除するには(アプリをアンインストールした後、不要なパッケージが存在する可能性があります)

sudo apt-get autoremove

古いカーネルバージョンを削除するには

sudo apt-get remove --purge linux-image-X.X.XX-XX-generic

削除するカーネルバージョンがわからない場合

dpkg --get-selections | grep linux-image

ソース: Limpiando Ubuntu:comandos y programas(actualización)google translation


1
実行cleanすると、かなりのスペースが解放されました。直後、私は走ったautocleanと私の空き容量が行ったダウン 45メガバイトで。clean再度実行すると、この余分なスペースが解放されました。
ドリューノアケス

8
私が記載されているすべてのLinuxイメージ取り除かdpkg --get-selections | grep linux-imageれたが、私のブートエラーの原因となった- Ubuntuは、GRUBの起動メニューから消えた- この答えは、問題を修正-最新の画像は削除されませしよう
laplasz

Linuxイメージを削除するとき、正確に何をしていますか?
メネラオスバコプーロス14

4
[OK]を、これはすでに100回に答えてきた(&このスレッドでも)、しかし、私はそれを見つける本当に:ので、160回upvotedされる奇妙な sudo apt-get clean ことが-simply-ますパッケージにあなたが持っているかもしれパッケージのすべてのローカルコピーを削除します+ upgradeをインストールするときにダウンロードされます。これにより、/ var / cache / apt / archivesディレクトリがほぼ空になります。 ...そのため、次に実行sudo apt-get updateすると、すべてが(既にそこに)再ダウンロードされます。ちょっとヘッズアップ!.. :)
ノストロモフ

168
  • 現在のディレクトリの上位10個のサブディレクトリを表示します。

    du -sk * | sort -nr | head -10
    
  • filelightまたはkDirStatを使用して、ディスクスペースが視覚的にどこに向かっているかを確認します。

  • 削除する古いカーネルがあるかどうかを確認します

    ls -lh /boot
    
  • クリーニングパッケージ

    sudo apt-get autoremove
    sudo apt-get autoclean
    

    サイズでソートされた、インストールされているすべてのパッケージのリストをご覧ください。大きなものが表示されて使用しない場合は、アンインストールします

    dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
    
  • 使用されていない言語ファイルを翻訳できれいにします(それらがたくさんあります)

    sudo apt-get install localepurge
    
  • / var / tmp /の内容を確認します

    du -sh /var/tmp/
    
  • また確認してください

    man deborphan
    
  • 大きなファイルを検索する:

    find / -type f -size +1024k
    

    または

    find / -size +50000  -exec ls -lahg {} \;
    
  • 大きなインストール済みパッケージ

    dpigs
    

これはパッケージの一部です:debian-goodies


4
私が提案する大きなファイルを見つけるために、ncduディレクトリがあなたのディスクスペースを使用しているかを確認するための高速な方法を提供し、
rubo77

1
kDirStat置き換えられますbaobab
rubo77

17

古いカーネルとヘッダーファイルを削除して、ほぼ2つのギグを解放しました。

つかいます

uname -r

現在のバージョンを確認するには、

dpkg -l linux-image-* linux-headers-*

すべての古いカーネルとヘッダーファイルを表示するには、

sudo apt-get remove linux-image-<XYZ> linux-headers-<XYZ>

このapt-get removeコマンドはワイルドカードをサポートしているapt-get remove linux-image 3.0.* linux-headers-3.0.*ため、たとえば、一度に多数を削除することができます。

もちろん、現在のカーネルを削除しないでください。念のために、1つまたは2つの古いバージョンを保持することもできますが、10または20ではありません


ワイルドカードについてのそのビット?それを使用する前に、私はそれを試してみたので、それを再確認しました。私は何らかの方法で詰め込んでいる可能性があります(おそらくそうです)が、どのように私は知りませんが、私は思ったよりも多くのヘッダーを失いました。
グラウコン

ワイルドカードは、グロブではなく正規表現のワイルドカードです。
チャイT.レックス

13

ゴミ箱を空にすることを忘れないでください。

ここに画像の説明を入力してください


またはコマンドラインから:

rm -r ~/.local/share/Trash/info/ && rm -r ~/.local/share/Trash/files/  

11

UbuntuのすべてをクリーンアップするBleachBitプログラムをお勧めします。

次のコマンドを使用してインストールします。

sudo apt-get install bleachbit


11

使用しない大きなパッケージをアンインストールする

一部のパッケージは非常に大きくなる場合があります。これらを見つける便利な方法は、を使用することdpigsです。デフォルトではインストールされませんが、debian-goodiesGitHubプロジェクト)にあります

sudo apt-get install debian-goodies

次に:

$ dpigs
419576 texlive-latex-extra-doc
204112 nvidia-319
175463 google-chrome-stable
141058 linux-image-extra-3.11.0-15-generic
113173 libreoffice-core
104822 valgrind
102322 qt4-doc
93337 blender
91105 texlive-pstricks-doc
90517 libboost1.53-dev

いくつかのオプションがあります。

-n, --lines=N
  Display the N largest packages on the system (default 10).
-s, --status=status-file
  Use status-file instead of the default dpkg status file.
-S, --source
  Display the largest source packages of binary packages installed
  on the system.
-H, --human-readable
  Display package sizes in human-readable format (like ls -lh or du -h)
-h, --help
  Display this message.

10

すべての古いカーネルバージョンを自動的に削除する

注意:カーネルをアップグレードしたばかりの場合は、古いバージョンを削除する前に再起動してください!

使用しているカーネルのタイプを必ず確認してください:

uname -r

次に、ルートとして:

sudo apt-get remove --purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d')

このコマンドを使用して、必要なカーネルを削除しないように安全にスレッドを読んでください!


8

UFWを使用する場合は、ログフォルダーを確認してください。私のマシンの1つで、UFWは数日で8Gbのログを生成していました。

aptキャッシュを空にすることもできます:

sudo apt-get clean

UfWログファイルは見つかりましたか?
好奇心が強い見習い

8

sourceforgeにある)BleachBitを使用してみてください。それは素晴らしいプログラムです。基本的な考え方は、ディスクスペースをすばやく解放し、システムに隠されている多くのジャンクを削除するというものです。約70のアプリケーションがあり、それらを認識して消去できます。また、これを使用して空きディスク領域を「ワイプ」する機能もあります。Linux専用のWindowsからのCCleanerと考えています。


3
質問は特にサーバーツールを要求するものであり、これはデスクトッププログラムであることに注意してください(Xディスプレイが必要です)。
ライア

今までで最高のツール!
ロジャー

8

多数のログファイルも確認します。

sudo du -h /var/log

または、rubo77が賞賛で指摘しているように、NCursesディスク使用ツールを使用できます。

sudo ncdu /var/log

ファイルのサイズではなく、「ログファイルの数」一覧表示に便利なコマンド
dogmatic69

または使用sudo ncdu /var/log
rubo77

@ rubo77、ありがとう、それは本当に素晴らしいツールです!
ドリューノアケス

4

最初に、すべての大きなフォルダーとファイルをリストするツールがあります。ランチャーに「Baobab」と入力するだけです。フォルダやファイルを削除することで、必要以上のスペースを確保できます。


次に、二重ファイルを削除するためのプログラムがあります。プログラムが呼び出されfslintます。次を入力してインストールします

sudo apt-get install fslint

ターミナルで。

またはグラフィカルに

ソフトウェアセンターからfslintをインストールする


また、パッケージキャッシュをクリアすることもできます

sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove

4番目のステップは、古いカーネルエントリを削除することです。これを行うには、Synapticをインストールして開きます。Synapticで、古いカーネルエントリ(GRUBに表示されるすべてのカーネルエントリのうち、最新のものを除く)を検索して削除します。


1つの良いステップは、アプリケーションキャッシュを削除することです。これを行うには、インストールして実行しbleachbitます。

sudo apt-get install bleachbit

またはグラフィカルに

ソフトウェアセンター経由でbleachbitをインストールする

重要:削除されたキャッシュは復元できません!


最後のステップは、ファイルシステムの最適化です。これには次を実行します。

cd $HOME
git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
cd e2fsprogs
./configure
make

これらのコマンドを使用して、e2fsprogsをダウンロードしてコンパイルします。(あなたまたはコミュニティがプログラムをインストールするより良い方法を持っているなら、編集してください!)

また、それgit-coreがインストールされていることを確認してください。そうでない場合は、次を実行します。

sudo apt-get install git-core 

またはソフトウェアセンターを使用して ソフトウェアセンターからgit-coreをインストールします

これでプログラムを実行できます:

cd $HOME/e2fsprogs/misc
./e4defrag /dev/sda1    #defragment /dev/sda1
./e4defrag -v /dev/sda1 # verbose output
./e4defrag -c /dev/sda1 # see overview of fragmentation status

/ dev / sda1を目的のファイルシステムまたはフォルダー/ファイルに置き換えます。デバイス(HDDなど)の最適化にはルート特権が必要ですが、自分のファイルには必要ないことに注意してください。


ソース(ドイツ語):こちら


うわー、古いlinux-headerとlinux-imageのバージョンを削除すると、10.04のインストールで1ギガ半ほど解放されました。fslintも素晴らしい発見です。ありがとう。
ブラッドック

:代わりに、あなたはまた、大規模なフォルダやファイルを見つけるために、コマンドラインツールncduを使用することができますバオバブのsudo apt-get install ncdu
rubo77

4

クリーナースクリプト

このスクリプトは、コンソールで最大のチャンクを実行します。

  • aptキャッシュを消去
  • アンインストールされた.debパッケージから残っている構成ファイルを削除します(--purgeスイッチをで使用しない場合に発生しますapt-get
  • 使用しているカーネルを除くすべてのカーネルを削除します
  • すべてのユーザーのゴミ箱を空にします(ルートを含む)

このコンテンツを使用してファイルを作成し、実行権限を付与します。

#!/bin/bash
# Adapted from 71529-ubucleaner.sh - http://www.opendesktop.org/CONTENT/content-files/71529-ubucleaner.sh

OLDCONF=$(dpkg -l|grep "^rc"|awk '{print $2}')
CURKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g')
LINUXPKG="linux-(image|headers|ubuntu-modules|restricted-modules)"
METALINUXPKG="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)"
OLDKERNELS=$(dpkg -l|awk '{print $2}'|grep -E $LINUXPKG |grep -vE $METALINUXPKG|grep -v $CURKERNEL)
YELLOW="\033[1;33m"; RED="\033[0;31m"; ENDCOLOR="\033[0m"

if [ $USER != root ]; then
  echo -e $RED"Error: must be root! Exiting..."$ENDCOLOR
  exit 0
fi

echo -e $YELLOW"Cleaning apt ..."$ENDCOLOR
aptitude clean
apt-get autoremove
apt-get autoclean

echo -e $YELLOW"Those packages were uninstalled without --purge:"$ENDCOLOR
echo $OLDCONF
#apt-get purge "$OLDCONF"  # fixes the error in the original script
for PKGNAME in $OLDCONF ; do  # a better way to handle errors
  echo -e $YELLOW"Purge package $PKGNAME"
  apt-cache show "$PKGNAME"|grep Description: -A3
  apt-get -y purge "$PKGNAME"
done

echo -e $YELLOW"Removing old kernels..."$ENDCOLOR
echo current kernel you are using:
uname -a
aptitude purge $OLDKERNELS

echo -e $YELLOW"Emptying every trashes..."$ENDCOLOR
rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
rm -rf /root/.local/share/Trash/*/** &> /dev/null

echo -e $YELLOW"Script Finished!"$ENDCOLOR

71529-ubucleaner.shから適応


大きなフォルダーとパッケージを見つける

大きなフォルダーとパッケージを見つけるのに役立ついくつかのツール:

sudo apt-get install ncdu debian-goodies deborphan

sudo ncdu /    # lists all folders by size on the console (like the gui `baobab`)
dpigs -H       # shows large packages that you don't use
man deborphan  # finds packages that have no packages depending on them
deborphan --guess-all --libdevel | xargs apt-get -s purge

ローカル駆除

localepurgeを使用して、システムの未使用の言語をアンインストールします。

sudo apt-get install localepurge

古いスナップ画像を削除する

LANG=c snap list --all | awk '/disabled/{print $1, $3}' | \
    while read snapname revision; do \
        snap remove "$snapname" --revision="$revision"; \
    done

ブリーチビット

すべてのニーズを満たす素晴らしいグラフィカルGUIツール:

sudo apt-get install bleachbit

マンページとドキュメントを削除する

さらに、Ubuntu Wikiで説明されているように、マンページとドキュメントを削除できます。

目的のフィルターを指定するファイル/etc/dpkg/dpkg.cfg.d/01_nodocを作成します。例:

path-exclude /usr/share/doc/*
# if we need to keep copyright files for legal reasons:
# path-include /usr/share/doc/*/copyright
path-exclude /usr/share/man/*
path-exclude /usr/share/groff/*
path-exclude /usr/share/info/*
# lintian stuff is small, but really unnecessary
path-exclude /usr/share/lintian/*
path-exclude /usr/share/linda/*

project-configのpostinstで同じファイルとディレクトリのセットを削除します。例:

echo "Removing documentation..."
# if we need to keep copyright files for legal reasons:
# find /usr/share/doc -depth -type f ! -name copyright | xargs rm || true
# else:
find /usr/share/doc -depth -type f | xargs rm || true
rm -rf /usr/share/man/* /usr/share/groff/* /usr/share/info/* /usr/share/lintian/* /usr/share/linda/* /var/cache/man/*

場合によっては、このスクリプトでさらにいくつかのオプションを見つけることができます:github.com/box-cutter/debian-vm/blob/master/script/minimize.sh
rubo77

このスクリプトを実行すると、実行中のバージョンと同じバージョン番号のカーネルを削除しようとしているという警告が表示されました。
クリストフ・デ・トロイエ

で使用している現在のカーネルを確認しuname -aます。以前にapt-get ugradeを実行して新しいカーネルを取得した場合、これが原因である可能性があります。使用している現在のカーネルがインストールされている最新のものではないのですか?このスクリプトを開始する前に、後回しをする
rubo77


3

「/ tmp」ディレクトリは、絶対に必要な場合を除き、手動でクリーンアップしないでください(つまり、閉じたアプリケーションは、それ自体をクリーンアップしませんでした)。

「du」コマンドを使用して、スペースがいっぱいになる場所を検索できます。通常、関心のある場所は「/ var」の中にあります。2つの通常の容疑者に「/ var / log」と「/ var / cache」という名前を付けます。バックアップユーティリティをインストールし、1週間または1か月にわたって蓄積されてディスクスペース全体を埋めるGBの増分バックアップが '/ var / backup'に作成されることに気付かないユーザーもいますが。


ありがとうございました!。あなたが言ったように、/ var / cacheの下にMBで占有されているスペースがあり、不要なファイルを削除する方法を疑問に思っています。
user3215

2

ubuntu-tweakを使用してクリーニングします。

インストールアプリにダウンロードされたすべての* .debを消去します。


KDEで動作していない
rubo77

1

すでに大量のジャンクを削除しているが、ディスクスペースがきれいに見えない場合は、ubuntuを再起動してください。または、同様の質問のようにコマンドを実行するだけで再起動したくない場合。

sudo service rsyslog restart

0

サーバーの空き容量を増やす必要がある場合は、このコマンドを使用します。50 MBを超えるすべてのファイルを検索し、「du -h」はファイルのリストを改善し、パイプはファイルサイズで数値順にソートした後、「sort -n」を作成します。

find / -size +50M -type f -exec du -h {} \; | sort -n

1
ncdu /代わりに使用してほこりの方が良いでしょう
rubo77

1
与えられたdu -hsort -h同様に使用します。
ムル

-3
uname -r 

(あなたのものを見るために)

apt-get remove linux-image 3.0.* 

(あなたの古いバージョン)。600MBの空きスペースができました。


3
このようなコマンドを使用すると、注意しないと最新のカーネル(またはすべてのカーネル)を削除できるため、ダウン投票されます。
ndemou
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.