어떤 설치된 소프트웨어 패키지가 데비안에서 가장 많은 디스크 공간을 사용합니까? 싶습니다. 가장

루트 파티션의 디스크 공간이 부족하여 시스템에서 일부 응용 프로그램을 삭제하고 싶습니다. 가장 많은 디스크 공간을 사용하는 소프트웨어 패키지를 어떻게 알 수 있습니까? 에서 볼 수 aptitude있습니까?

dfor 와 같은 일반적인 디스크 공간 분석기에 대해서는 알고 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반환됩니다.

당신은 또한 할 수 있습니다

  1. aptitude과 함께 표시 할 때 사용할 줄 너비 (문자)를 지정하십시오 --width <your desired integer value/>. aptitude터미널 너비라고 생각되는 것을 기본값으로 사용하지만 때로는 잘못 추측하고 때로는 파일에 쓰고 싶어합니다.
  2. 형식 문자열에 자세한 정보를 표시하거나 필드 너비를 변경하십시오. 예를 들어, 강화 된 형식 문자열 '%30p %I %r %60d'표시

    • %30p : 필드 너비의 패키지 이름 = 30 자
    • %I : 예상 설치 크기
    • %r : ‘역수에 따라 다름’:이 패키지에 의존하는 설치된 다른 패키지의 대략적인 수
    • %60d : 필드 너비 = 60 문자로 된 패키지의 간단한 설명

출력 필드에 변경 사항이 표시되지 않으면을 설정해야합니다 --width.

… {interactive, TUI}에서 이런 종류의 작업을 수행 할 수도 있습니다 aptitude. 예를 들어, 표시 형식 환경 설정을 설정하려면

  • 클릭하거나 옵션-> 환경 설정으로 이동하십시오
  • 패키지보기의 표시 형식으로 스크롤
  • 추가 %I하여 원하는 위치의 현재 값

대화 형 설치 패키지로 검색을 제한하려면 aptitude,

  • 프레스 l(소문자 L)
  • ~i대화 상자에 입력

대화 형 설치 크기에 정렬하려면 aptitude,

  • 프레스 Shift-S(대문자 S)
  • installsize대화 상자에 입력

참고 문헌 :


답변

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/

(자신의 비트에서 추출한 예)