데비안에서 가장 많은 디스크 공간을 사용하는 설치된 패키지는 무엇입니까?

데비안에서 가장 많은 디스크 공간을 사용하는 설치된 패키지는 무엇입니까?

루트 파티션의 디스크 공간이 부족하여 시스템에서 일부 응용 프로그램을 제거하고 싶습니다. 어떤 패키지가 가장 많은 디스크 공간을 사용하고 있는지 확인하는 방법은 무엇입니까? 어디서 볼 수 있나요 aptitude?

df또는 같은 일반 디스크 공간 분석기에 대해 알고 있지만 baobab설치된 애플리케이션에 대한 솔루션이 필요합니다.

답변1

추가 패키지를 설치하지 않고 가장 간단한 방법은 다음과 같습니다.

dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n

패키지 표시추정된크기 순서(KB), 가장 큰 패킷이 마지막에 옵니다.

불행하게도 적어도 일부 시스템에서는 이 목록에 제거되었지만 정리되지 않은 패키지가 포함되어 있습니다. 이러한 모든 패키지는 다음을 실행하여 지울 수 있습니다.

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

답변2

가장 쉬운 방법은 실행하는 것입니다 wajig large. 패키지는 apt install멀리 떨어져 있어야합니다.

다음은 다른 방법에 대한 두 가지 링크입니다.

또한 설치 크기는 패키지가 차지하는 공간의 일부일 뿐이라는 점을 명심하십시오. 압축된 버전은 여전히 ​​캐시에 남아 있어 일부 공간을 차지할 수도 있습니다. 으로 삭제할 수 있습니다 apt-get clean.

답변3

원한다면 see which [installed] software packages use the most disk space[,] from aptitude... 물론 가능합니다 aptitude! CLI 또는 {대화형, TUI, 비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설치된 패키지만 검색하도록 지시합니다 .
  • ...그리고, 그렇지 않다면매우head파일 로 파이프하거나 반환할 줄 수를 less확인하기 위해 설치된 패키지는 거의 없습니다(내 일반 Debian 워크스테이션에는 2400개가 넘습니다).wc -laptitude

당신은 또한 원할 수도 있습니다

  1. aptitude표시할 때 사용할 줄 너비(문자 단위)를 지정합니다 --width <your desired integer value/>. aptitude는 터미널 너비라고 생각하는 기본값으로 설정되지만 때로는 잘못 추측하거나 파일에 쓰고 싶을 때도 있습니다.
  2. 형식 문자열에 추가 정보를 표시하거나 필드 너비를 변경합니다. 예를 들어 향상된 형식 문자열은 다음과 같이 '%30p %I %r %60d'표시됩니다.

    • %30p:필드 너비 = 30자 패키지 이름
    • %I : 예상 설치 크기
    • %r : 'reverse dependencys count': 이 패키지에 의존하는 설치된 다른 패키지의 대략적인 수
    • %60d:필드 너비 = 60자로 구성된 패키지에 대한 간단한 설명

출력 필드에 변경사항이 표시되지 않으면 이를 설정해야 할 수도 있습니다 --width.

...{interactive, TUI}에서도 이 작업을 수행할 수 있습니다 aptitude. 예를 들어 표시 형식 기본 설정을 지정하려면

  • 옵션->기본 설정을 클릭하거나 탐색하세요.
  • 스크롤패키지 보기 표시 형식
  • %I현재 값을 원하는 위치에 추가

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

  • 누르기 l(소문자 L)
  • ~i대화 상자에 입력

설치 크기별로 대화식으로 정렬하려면 aptitude,

  • Shift-S(대문자 S) 를 누르세요
  • installsize대화 상자에 입력

인용하다:

답변4

먼저 다음과 같은 도구를 사용하십시오.baobab( sudo apt-get install baobab) 보여주다어디이 공간은 다음 사용자가 사용하고 있습니다.

여기에 이미지 설명을 입력하세요.

이는 좋은 그래픽 개요를 제공하고 차지하는 공간의 범위를 좁히는 데 도움이 됩니다. 다음을 사용하여 명령줄에서 이 정보를 얻을 수도 있습니다 du.

$ sudo du -ch /

디렉터리 크기별로 정렬하려면 다음을 전달합니다 sort(GNU 가정 sort, Debian의 경우).

$ 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

관련 정보