루트 파티션의 디스크 공간이 부족하여 시스템에서 일부 응용 프로그램을 삭제하고 싶습니다. 가장 많은 디스크 공간을 사용하는 소프트웨어 패키지를 어떻게 알 수 있습니까? 에서 볼 수 aptitude
있습니까?
df
or 와 같은 일반적인 디스크 공간 분석기에 대해서는 알고 baobab
있지만 설치된 응용 프로그램에 대한 솔루션이 필요합니다.
루트 파티션의 디스크 공간이 부족하여 시스템에서 일부 응용 프로그램을 삭제하고 싶습니다. 가장 많은 디스크 공간을 사용하는 소프트웨어 패키지를 어떻게 알 수 있습니까? 에서 볼 수 aptitude
있습니까?
df
or 와 같은 일반적인 디스크 공간 분석기에 대해서는 알고 baobab
있지만 설치된 응용 프로그램에 대한 솔루션이 필요합니다.
답변:
가장 쉬운 방법입니다 wajig large
. 패키지는 apt-install
멀리 떨어져 있어야합니다 .
다른 방법으로 수행 할 수있는 두 가지 링크가 있습니다.
또한 설치된 크기는 패키지가 차지하는 공간의 일부일뿐입니다. 압축 된 버전은 여전히 캐시에있을 수 있으며 공간을 차지합니다. 을 사용하여 제거 할 수 있습니다 apt-get clean
.
apt-get clean
입니다. "검색 패키지 파일의 로컬 저장소를 지 웁니다"- 사람 apt-get을
추가 패키지를 설치하지 않고 가장 쉬운 방법은 다음과 같습니다.
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
설치된 패키지 만 검색하도록 지시 합니다.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
)~i
대화 상자에 입력대화 형 설치 크기에 정렬하려면 aptitude
,
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을*texlive*
얼마입니까?
aptitude -s remove '?and(texlive,~i)'
충분하지 않을까요? 또한 특정 패키지에 사용자 태그를 추가하여 작업과 같이 전체적으로 조작 할 수 있습니다.
wajig를 설치하지 않으려는 경우 모든 사람이 데비안 제품을 설치했다고 생각합니다.
dpigs - Show which installed packages occupy the most space
dpigs
실제로 dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr | head
가장 많은 공간을 차지하는 설치된 패키지 중 상위 10 개와 동일한 결과가 있음을 알았습니다 . 여전히 dpigs
간단하고 짧습니다.
우선 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
다른 답변에 추가하려면 명령 줄을 좋아한다면 좋은 것을 사용할 수 있습니다 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/
(자신의 비트에서 추출한 예)
dpkg-reconfigure localepurge
localepurge
사용할 수없는 패키지 에 대해 불평 합니다.
목록에 몇 가지 더 많은 도구를 추가, 난 항상 사용했습니다 debfoster
및 deborphan
내 시스템. 업그레이드 후 매달려있는 오래된 종속성을 사냥하는 데 가장 유용합니다.
apt-get autoremove
훌륭하지만 모든 것을 얻지는 못하며 설치 마크를 따르기 때문에 항상 무엇을 보관하고 싶은지 알지 못합니다. apt-mark
그래도 사용 하면 어느 정도 지시 할 수 있습니다.
또한 확인하십시오 : https://wiki.debian.org/ReduceDebian
이것은 다른 GUI 디스크 공간 사용 도구와 비슷한 KDE / QT Filelight를 추가하는 훌륭한 도구 모음이지만 주제 제목에 대한 문자적인 대답은 아닙니다.
이 스레드에 대한 의문을 말 그대로, 즉 시스템에서 가장 큰 패키지는 무엇입니까?
libreoffice 패키지 제품군은 단일 패키지는 아니지만 실제로는 큰 패키지입니다.
리눅스 커널과 관련 헤더 패키지는 두 번째로 생각됩니다. 대부분의 시스템에있는 여러 커널을 설치하면 각 커널은 약 135mB의 디스크 공간으로 대략 매년 커지는 것으로 생각하지만 그 정도는 커집니다. . 무료 비디오 드라이버가 아닌 것을 사용하는 경우 관련 드라이버 패키지 / 파일도 있습니다. libreoffice와 마찬가지로 각 커널은 실제로 2 개 또는 3 개의 패키지, 이미지, 헤더 및 드라이버 패키지로 구성 될 수 있으므로 패키지 크기 당 리터럴은 실제로 정확한 의미를 갖지 않는 한 정확하지 않습니다.
그 후, 내가 알고있는 데비안 패키지 풀에는 방대한 양의 패키지가 없습니다.
루트 파티션이 패키지를 제거하는 방법을 궁금해하기 시작했을 때 충분히 커지기 시작하면 일반적으로 더 큰 루트 파티션으로 이동하거나 크기를 조정할 때입니다.
apt-get clean은 물론 캐시 된 모든 .deb 파일을 제거하기 위해 가장 먼저 실행해야하지만 일단 일단 제거하면 2 개의 커널을 제외하고 여전히 충분한 공간이 붙어 있지 않은 경우 더 좋습니다. 정리 등은 루트 파티션 공간에서 거의 실행중인 붉은 깃발이기 때문에 파티션 크기를 늘리는 데 실용적입니다. 업그레이드. 제거 된 패키지에서 남은 구성 파일을 제거 작업으로 정리하면 디스크 공간이 작기 때문에 디스크 공간을 다시 확보하는 데 전혀 도움이되지 않지만 지금 수행 한 다음 부스러기를 정리하는 것이 좋습니다. ' 실제로 의미있는 디스크 공간을 확보 한 것으로 오인하지 마십시오.
apt-get auto-remove도 나쁘지는 않지만 패키지가 제거되는 것에 대해 때때로 틀린 점에 유의하십시오. 따라서 apt-get auto-remove는 물건을 제거하기 전에 목록을주의 깊게 확인하고 싶습니다. 기술적으로 해당 목록을 제거하는 것이 좋습니다. 구성 파일을 제거하고 동시에 제거하거나 자동 제거하면 제거 할 수 있습니다.