카테고리 보관물: Unix

Unix

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

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

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