루트 파티션의 디스크 공간이 부족하여 시스템에서 일부 응용 프로그램을 삭제하고 싶습니다. 가장 많은 디스크 공간을 사용하는 소프트웨어 패키지를 어떻게 알 수 있습니까? 에서 볼 수 aptitude
있습니까?
df
or 와 같은 일반적인 디스크 공간 분석기에 대해서는 알고 baobab
있지만 설치된 응용 프로그램에 대한 솔루션이 필요합니다.
답변
가장 쉬운 방법입니다 wajig large
. 패키지는 apt-install
멀리 떨어져 있어야합니다 .
다른 방법으로 수행 할 수있는 두 가지 링크가 있습니다.
또한 설치된 크기는 패키지가 차지하는 공간의 일부일뿐입니다. 압축 된 버전은 여전히 캐시에있을 수 있으며 공간을 차지합니다. 을 사용하여 제거 할 수 있습니다 apt-get clean
.
답변
추가 패키지를 설치하지 않고 가장 쉬운 방법은 다음과 같습니다.
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n
패키지는 크기 순서대로, 가장 큰 패키지가 마지막으로 표시됩니다.
불행히도 일부 시스템에서는이 목록에 제거되었지만 제거되지 않은 패키지가 포함되어 있습니다. 다음을 실행하여 이러한 모든 패키지를 제거 할 수 있습니다.
dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge
또는 제거 된 패키지를 제거하지 않으려면이 변형을 사용하여 목록에서 ‘설치됨’상태가 아닌 패키지를 필터링 할 수 있습니다.
dpkg-query -Wf '${db:Status-Status} ${Installed-Size}\t${Package}\n' | sed -ne 's/^installed //p'|sort -n
답변
당신이 원하기 때문에 see which [installed] software packages use the most disk space[,] from aptitude
… 물론 사용할 수 있습니다 aptitude
! CLI 또는 {interactive, TUI, non-CLI} 굉장함을 통해. 먼저 CLI와 TUI에 대해 논의 해 봅시다. 어느 쪽이든, 당신은 단지
- 사용할 명령 줄 옵션. 다음 텍스트는 긴 옵션 (문서를 쉽게 검색하기 위해)을 사용하지만 물론 짧은 옵션도 사용할 수 있습니다.
- 사용할 명령 줄 인수
- 사용할 출력 형식 문자열
가장 많은 디스크 공간을 사용하는 설치된 소프트웨어 패키지를 표시하는 가장 기본적인 명령 줄은 아마도
aptitude search --sort '~installsize' --display-format '%p %I' '~i' | head
그래서 그것을 분해하자 :
--sort
패키지 정렬 순서이며 패키지 정렬 정책을~installsize
지정합니다 .installsize
는 ‘정렬 된 설치 크기 정렬’을 의미하고 앞의~
정렬은 내림차순을 의미합니다 (모든 정렬 정책의 기본값이 오름차순이므로).--display-format
을 변경합니다<you guessed :->
. 형식 문자열은'%p %I'
알aptitude
출력 패키지 이름, 다음 설치 크기.'~i'
aptitude
설치된 패키지 만 검색하도록 지시 합니다.- … 당신이하지 않는 한, 아주 소수의 설치 패키지를 (내 좀 제네릭 데비안 워크 스테이션 2400 이상이), 당신이 파이프에 원하는
head
또는less
파일이나, 또는 어쩌면 그냥wc -l
얼마나 많은 라인을 볼 수aptitude
반환됩니다.
당신은 또한 할 수 있습니다
aptitude
과 함께 표시 할 때 사용할 줄 너비 (문자)를 지정하십시오--width <your desired integer value/>
.aptitude
터미널 너비라고 생각되는 것을 기본값으로 사용하지만 때로는 잘못 추측하고 때로는 파일에 쓰고 싶어합니다.-
형식 문자열에 자세한 정보를 표시하거나 필드 너비를 변경하십시오. 예를 들어, 강화 된 형식 문자열
'%30p %I %r %60d'
표시%30p
: 필드 너비의 패키지 이름 = 30 자%I
: 예상 설치 크기%r
: ‘역수에 따라 다름’:이 패키지에 의존하는 설치된 다른 패키지의 대략적인 수%60d
: 필드 너비 = 60 문자로 된 패키지의 간단한 설명
출력 필드에 변경 사항이 표시되지 않으면을 설정해야합니다 --width
.
… {interactive, TUI}에서 이런 종류의 작업을 수행 할 수도 있습니다 aptitude
. 예를 들어, 표시 형식 환경 설정을 설정하려면
- 클릭하거나 옵션-> 환경 설정으로 이동하십시오
- 패키지보기의 표시 형식으로 스크롤
- 추가
%I
하여 원하는 위치의 현재 값
대화 형 설치 패키지로 검색을 제한하려면 aptitude
,
- 프레스 l(소문자
L
) ~i
대화 상자에 입력
대화 형 설치 크기에 정렬하려면 aptitude
,
- 프레스 Shift-S(대문자
S
) installsize
대화 상자에 입력
참고 문헌 :
- 에 대한
aptitude
패키지의 검색 패턴을 참조 https://aptitude.alioth.debian.org/doc/en/ch02s04s05.html#tableSearchTermQuickGuide을 - 대한
aptitude
패키지 정렬 정책을 참조 https://aptitude.alioth.debian.org/doc/en/ch02s05s01.html#secSortingPolicy을 - 위한
aptitude
출력 표시 형식 참조 https://aptitude.alioth.debian.org/doc/en/ch02s05s01.html#secDisplayFormat을
답변
wajig를 설치하지 않으려는 경우 모든 사람이 데비안 제품을 설치했다고 생각합니다.
dpigs - Show which installed packages occupy the most space
답변
우선 baobab
( sudo apt-get install baobab
) 와 같은 도구를 사용하여 해당 공간이 사용되는 위치 를 표시하십시오 .
멋진 그래픽 개요를 제공하고 공간을 차지하는 범위를 좁히는 데 도움이됩니다. 다음을 사용하여 명령 행에서이 정보를 얻을 수도 있습니다 du
.
$ sudo du -ch /
이것을 디렉토리 크기에 따라 정렬하려면 sort
(GNU를 가정 sort
하고 데비안의 경우가되어야 함) 가정 하십시오.
$ sudo du -ch / | sort -h
다음 단계로이 명령으로 특정 패키지가 사용중인 공간을 확인할 수 있습니다.
$ sudo apt-get --assume-no --purge remove "PACKAGE_NAME" | grep "be freed" |
awk '{print $4, $5}'
예를 들어, 내 시스템에서 모든 texlive
패키지를 제거하면 1,502MB의 여유 공간이 생깁니다.
$ sudo apt-get --assume-no --purge remove "texlive*" | grep "be freed" |
awk '{print $4, $5}'
1,502 MB
마지막으로 다음 명령을 사용하여 설치된 모든 패키지에 대한이 정보를 얻을 수 있습니다 .
$ for i in $(dpkg -l | awk '($1=="ii"){print $2}'); do
echo -e "$i\t"$(sudo apt-get --assume-no --purge remove "$i" |
grep "be freed" | awk '{print $4, $5}');
done
답변
wajig 패키지와 명령을 사용할 수 있습니다
wajig large
도움이이 작업을 설명합니다.
wajig large -h
usage: wajig large [-h]
List size of all large (>10MB) installed packages
답변
다른 답변에 추가하려면 명령 줄을 좋아한다면 좋은 것을 사용할 수 있습니다 durep
# durep -td 1 /etc # or -td 2
[ /etc 319.4K (60 files, 43 dirs) ]
90.2K [######## ] 28.26% apache2/
27.5K [## ] 8.62% apt/
23.7K [## ] 7.43% mime.types
19.7K [# ] 6.18% cron.daily/
18.7K [# ] 5.87% services
18.0K [# ] 5.64% security/
14.7K [# ] 4.61% init.d/
13.2K [# ] 4.13% ssl/
11.1K [# ] 3.48% ld.so.cache
9.0K [ ] 2.81% locale.gen
7.8K [ ] 2.43% pam.d/
4.5K [ ] 1.42% default/
4.3K [ ] 1.35% skel/
2.9K [ ] 0.92% locale.alias
당신은 아마 사용하여 공간을 확보 할 수 있습니다 localepurge
# dpkg-reconfigure localepurge
# localepurge
localepurge: Disk space freed in /usr/share/locale: 26160 KiB
localepurge: Disk space freed in /usr/share/man: 1304 KiB
Total disk space freed by localepurge: 27464 KiB
마지막으로, 때로는 많은 공간을 차지할 수있는 아이콘과 글꼴을 제거 할 수 있습니다. 이 웹 사이트에서 세부 사항을보십시오
https://ownyourbits.com/2017/02/18/squeeze-disk-space-on-a-debian-system/
(자신의 비트에서 추출한 예)