回答:
プログラムとそのすべての依存関係で使用されるスペースを取得する最も簡単でバグのない方法は、apt自体を使用することです。別のプログラムで使用されていないが、パッケージと共にインストールされている依存関係は削除されないため、考慮されないことに注意してください。
単に
sudo apt-get --assume-no autoremove PACKAGENAME
または
apt-space-used-by() { sudo apt-get --assume-no autoremove $@ | grep freed | cut -d' ' -f4-5 ;}
使用法 apt-space-used-by PACKAGENAME
この pythonスクリプトは有望に見えます(bigpkg-システム上で多くのスペースを必要とするパッケージを見つけます)
echo -n | sudo apt-get purge <package> | grep "disk space will be freed"
または
echo -n | sudo apt-get purge --auto-remove <package> | grep "disk space will be freed"
どこ置き換える<package>
あなたにpackage-name
(例:gimp
)
これは、パッケージを削除しません依存関係ではなくのみ解放されますどのくらいのディスクスペース与えますの助けを借りてgrep
!
dpkg --print-avail
またはを使用apt-cache show
:apt-cache show <package> | grep "Installed-Size"
または
dpkg --print-avail <package> | grep "Installed-Size"
これにより、インストールされたサイズが表示されます<package>
。
例:
$ apt-cache show gimp | grep "Installed-Size"
Installed-Size: 15024
dpkg-query -W -f='${Installed-Size;8} ${Package}\n' | sort -n
ページ単位でさらに使用できます:
dpkg-query -W -f='${Installed-Size;8} ${Package}\n' | sort -n | more
上記のサイズに応じてパッケージtail
をリストし、次のようにトップサイズを消費するパッケージをリストするために使用できます。
dpkg-query -W -f='${Installed-Size;8} ${Package}\n' | sort -n | tail
dpigs
(manからdpigs
):dpigs-最も多くのスペースを占めるインストール済みパッケージを表示
dpigsは、インストールされたパッケージをサイズでソートし、最大のものを出力します。デフォルトでは、dpigsは最大10個のパッケージを表示します。あなたは変えられる -nオプションを使用してこの値を設定します(「オプション」を参照)。情報は、grep-status(1)を使用してdpkgステータスファイルから取得されます。
これは次の方法でインストールできます。
実行コマンドの例sudo apt-get install debian-goodies
$ dpigs
115449 wine1.6-i386
110356 linux-image-extra-3.13.0-24-generic
103828 libreoffice-core
86240 fonts-horai-umefont
74016 libreoffice-common
72709 liboxideqtcore0
61736 linux-headers-3.13.0-24
60821 libpyzy-1.0-0
59477 firefox
59443 thunderbird
popularity-contest (8) - list the most popular Debian packages
popcon-largest-unused (8) - List size of unused packages
最初に実行しpopularity-contest
、次にpopcon-largest-unused
、これは未使用パッケージのサイズを見つけるのに役立ちます。詳細については、マンページをご覧ください。
有用なコマンドを段階的に提供するために最善を尽くしました。
これらが役立つことを願っています!
apt-cache show packagename
パッケージのインストール済みサイズとパッケージの依存関係などをリストします。apt-cache rdepends packagename
そのパッケージを使用するパッケージのリストもあります。
後者のコマンドを使用してapt-cache policy packagename
、reverse-depdendencyがインストールされているかどうかを確認することもできます。
Installed-Size
一方、キロバイト単位であるSize
バイトです。私の答えでそれを言及すべきだった。
これを行うスクリプトを次に示します。ただし、機械に優しい出力はありません。
sudo apt-get install python-apt
これで準備完了です。
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
from __future__ import (absolute_import, division,
print_function, unicode_literals)
import apt
from apt.cache import Filter, FilteredCache
MB = 1024*1024
class InstalledFilter(Filter):
def apply(self, pkg):
return pkg.is_installed
def iter_base_deps(cache, package):
deps = []
version = package.installed
for dep_type in ('Depends', 'PreDepends', 'Recommends'):
deps.extend(version.get_dependencies(dep_type))
for dep in deps:
for base_dep in dep:
if base_dep.name in cache:
yield base_dep
def main():
package_ref_count = {}
results = []
cache = FilteredCache(apt.Cache())
cache.set_filter(InstalledFilter())
for package in cache:
for base_dep in iter_base_deps(cache, package):
if base_dep.name in package_ref_count:
package_ref_count[base_dep.name] += 1
else:
package_ref_count[base_dep.name] = 1
for package in cache:
base_deps_size = 0
base_deps = []
for base_dep in iter_base_deps(cache, package):
if package_ref_count[base_dep.name] == 1:
base_deps.append(base_dep)
base_deps_size += cache[base_dep.name].installed.installed_size
total_size = package.installed.installed_size + base_deps_size
results.append((total_size, package, base_deps_size, base_deps))
for total_size, package, base_deps_size, base_deps in sorted(results, reverse=True):
if package.name in package_ref_count:
continue
if total_size < MB:
break
self_size = package.installed.installed_size
base_dep_count = len(base_deps)
print('{:.1f} MB {}'.format(total_size/MB, package.name) + \
(' with {} deps'.format(base_dep_count) if base_dep_count else ''))
if base_dep_count:
print(' {:.1f} MB self'.format(self_size/MB))
for base_dep in base_deps:
size = cache[base_dep.name].installed.installed_size
print(' {:.1f} MB {}'.format(size/MB, base_dep.name))
if __name__ == '__main__':
main()
出力例:
72.6 MB gthumb with 4 deps
3.0 MB self
61.0 MB libwebkit2gtk-3.0-25
8.0 MB gthumb-data
0.1 MB gstreamer0.10-gnomevfs
0.5 MB flex
apt-cache show packagename
パッケージのインストール済みサイズとパッケージの依存関係などをリストします。apt-cache rdepends package
そのパッケージを使用するパッケージのリストもあります。そこから始めたいかもしれません。