問題:
次のように入力すると:
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」Raspbian を実行している Raspberry Pi 上にあります。
質問:
数百のパッケージがインストールされています。「extra」というラベルの付いたパッケージをすべて削除するにはどうすればよいでしょうか。これがマシンのスペースを解放する最善の方法でしょうか。さまざまなリポジトリにコミットされていない変更があり、ローカルの変更をプッシュできるようにしたいと考えています。
必須かつ重要なもの以外をすべて削除する回答も受け入れます。Git はオプションとしてラベル付けされており、これを保持したいと思います (ただし、不要なパッケージをすべて削除した後でいつでも再度インストールできます)。
前もって感謝します!!
答え1
次のコマンドを使用して、すべてのオプションおよび追加パッケージを消去できます。
sudo apt-get --simulate purge $(dpkg-query -Wf '${Package;-40}${Priority}\n' | awk '$2 ~ /optional|extra/ { print $1 }')
フラグ--simulate
を使用すると、実際にすべてを削除せずに何が削除されるかを確認できます。実際にパッケージをアンインストールするには、フラグを削除します。
他のオプションおよび追加パッケージとともに git も削除されるため、git を再インストールする必要があります。
オプションや追加パッケージが必要になる場合がありますので、注意して削除してください。詳細はこちら:https://askubuntu.com/questions/79665/keep-only-essential-packages
答え2
確認する必要があるどこスペースが不足しています。このdf(1)
コマンドは、どのファイルシステムがいっぱいになっているかを表示します。
容量不足の一般的な原因は、ログ ファイルが大きいことです ( を確認してください/var/log
。システムには古いログを消去するコマンドがあるはずです)。 はまたはsort(1)
の一時ファイルを使用するので、どちらかに不要なファイルが多すぎると、容量不足で失敗する可能性があることに注意してください。var/tmp
/tmp
答え3
aptitudeがインストールされているので、ここで役立ちます。起動して、一致するパッケージのみを表示aptitude
します(ショートカット:l
~i ~pextra
見るオンラインマニュアルまたは/usr/share/doc/aptitude/README
検索用語の参照用です。
ここで、すべてをアンインストールすることを選択できます。-
各トップレベルの見出しの下の を押して、パッケージをアンインストール対象としてマーク (構成ファイルを保持) するか、_
削除対象としてマーク (構成ファイルを削除) してから、g
先に進みます。一部のパッケージを保持したい場合は、リストを確認する機会があります。