루트 파티션의 디스크 공간이 부족하여 시스템에서 일부 응용 프로그램을 제거하고 싶습니다. 어떤 패키지가 가장 많은 디스크 공간을 사용하고 있는지 확인하는 방법은 무엇입니까? 어디서 볼 수 있나요 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 -l
aptitude
당신은 또한 원할 수도 있습니다
aptitude
표시할 때 사용할 줄 너비(문자 단위)를 지정합니다--width <your desired integer value/>
.aptitude
는 터미널 너비라고 생각하는 기본값으로 설정되지만 때로는 잘못 추측하거나 파일에 쓰고 싶을 때도 있습니다.형식 문자열에 추가 정보를 표시하거나 필드 너비를 변경합니다. 예를 들어 향상된 형식 문자열은 다음과 같이
'%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
대화 상자에 입력
인용하다:
aptitude
패키지 검색 모드는 다음을 참조하세요 .https://aptitude.alioth.debian.org/doc/en/ch02s04s05.html#tableSearchTermQuickGuideaptitude
패키지 분류 전략은 다음을 참조하세요 .https://aptitude.alioth.debian.org/doc/en/ch02s05s01.html#secSortingPolicy- 출력
aptitude
표시 형식은 다음을 참조하세요.https://aptitude.alioth.debian.org/doc/en/ch02s05s01.html#secDisplayFormat
답변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