답변:
프로그램이 사용하는 공간과 모든 종속 항목을 얻는 가장 간단하고 버그가없는 방법은 적절한 자체를 사용하는 것입니다. 다른 프로그램에서 사용하지 않지만 패키지와 함께 설치되는 종속성은 제거되지 않으므로 고려되지 않습니다.
간단히
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
이 파이썬 스크립트는 유망 해 보입니다 (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(남성에서 dpigs) :dpigs-가장 많은 공간을 차지하는 설치된 패키지 표시
dpigs는 설치된 패키지를 크기별로 정렬하고 가장 큰 패키지를 출력합니다. 기본 dpigs는 최대 10 개의 패키지를 표시합니다. 당신은 변경할 수 있습니다 -n 옵션을 사용하여이 값을 지정하십시오 ( "OPTIONS"참조). 정보는 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리버스 종속성이 설치되어 있는지 판별 할 수 있습니다 .
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해당 패키지를 사용하는 패키지를 나열 할 수도 있습니다 . 거기서 시작하고 싶을 수도 있습니다.