web-dev-qa-db-ja.com

書き込みエラー:デバイスにスペースが残っていません。 「余分な」パッケージを削除します。回復を試みる

問題:

私がタイプするとき:

dpkg-query -Wf '${Package;-40}${Priority}\n' | sort -b -k2,2 -k1,1

マシンにインストールされているすべてのパッケージのリストを取得します。例:

...
raspberrypi-artwork                     extra
raspberrypi-bootloader                  extra
raspberrypi-ui-mods                     extra
raspi-config                            extra
rpi-update                              extra
sonic-pi                                extra
ssh                                     extra
triggerhappy                            extra
wireless-tools                          extra
xkb-data                                extra
adduser                                 important
apt                                     important
apt-utils                               important
aptitude                                important
aptitude-common                         important
bsdmainutils                            important
...

私は最近、多くのものにインストールされたスクリプトを実行しましたが、今では私のマシンは次のように応答します:/usr/bin/mandb: can't write to /var/cache/man/2694: No space left on device(パスは変更されますが、スペースが残っていないことが常に通知されます。)

私が見る可能性のあるラベルは次のとおりです。

  • 標準
  • 余分
  • 重要
  • オプション
  • 必須

さまざまなリポジトリでコミットされていない変更があり、ローカルの変更をプッシュできるようにしたいのですが、プッシュしようとするとこのエラーが発生し続けます。

$ git Push
fatal: write error: No space left on device
error: Couldn't write .git/refs/remotes/Origin/master.lock
error: Cannot update the ref 'refs/remotes/Origin/master'.
Everything up-to-date

また、すべてが最新ではないことを私は知っていると言わなければなりません。

システム:

これは、「wheezy」ラズビアンを実行しているRaspberryPi上にあります。

質問:

数百のパッケージがインストールされています。 'extra'というラベルの付いたすべてのパッケージを削除するにはどうすればよいですか?これは私のマシンのスペースを解放するための最良の方法ですか?さまざまなリポジトリでコミットされていない変更があり、ローカルの変更をプッシュできるようにしたいと考えています。

私はまた、必要かつ重要なもの以外のすべてを削除する答えを受け入れます。 Gitにはオプションのラベルが付いているので、これを保持したいと思います(ただし、不要なパッケージをすべて削除した後はいつでも再インストールできます)。

前もって感謝します!!

3
Caleb Adams

次のコマンドを使用して、すべてのオプションパッケージと追加パッケージを削除できます。Sudo apt-get --simulate purge $(dpkg-query -Wf '${Package;-40}${Priority}\n' | awk '$2 ~ /optional|extra/ { print $1 }')

--simulateフラグを使用すると、実際にすべてを削除せずに、何が削除されるかを確認できます。フラグを削除して、実際にパッケージをアンインストールします。

Gitは他のオプションの追加パッケージと一緒に削除されるため、再インストールする必要があります。

オプションの追加パッケージが必要になる場合があるため、慎重に削除してください。詳細はこちら: https://askubuntu.com/questions/79665/keep-only-essential-packages

3
heybales

確認する必要がありますwhereスペースが不足しています。 df(1)コマンドは、どのファイルシステムがいっぱいであるかを示します。

スペースが不足する一般的な理由は、大きなログファイルです(_/var/log_で確認してください。システムには、古いログをクリーンアップするコマンドが必要です)。 sort(1)は、_var/tmp_または_/tmp_のいずれかの一時ファイルを使用することに注意してください。これらのいずれかに大量の残骸が含まれていると、スペース不足のために失敗する可能性があります。

2
vonbrand

あなたは適性をインストールしているので、それはここであなたを助けることができます。 aptitudeを起動し、一致するパッケージにビューを制限します(ショートカット:l

~i ~pextra

検索語のリファレンスについては、 オンラインマニュアル または/usr/share/doc/aptitude/READMEを参照してください。

すべてをアンインストールすることを選択できるようになりました。各トップレベルの見出しの下にある-を押してパッケージをアンインストール対象としてマークする(構成ファイルを保持する)か、_を押してパッケージをパージ対象としてマークする(構成ファイルを削除する)か、次にgで先に進みます。一部のパッケージを保持したい場合は、リストを確認する機会があります。