저는 페도라 16을 사용하고 있습니다. 내 /dev/sda2는 /(루트)에 마운트되어 있으며 약 50G가 100% 채워져 있습니다.
[foampile@~ 13:13:39]> df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 51606140 49025452 0 100% /
devtmpfs 2988452 0 2988452 0% /dev
tmpfs 2999424 96 2999328 1% /dev/shm
/dev/sda2 51606140 49025452 0 100% /
tmpfs 2999424 51992 2947432 2% /run
tmpfs 2999424 0 2999424 0% /sys/fs/cgroup
tmpfs 2999424 0 2999424 0% /media
/dev/sda1 99150 79569 14461 85% /boot
/dev/sda5 247972844 10782056 224594412 5% /home
1분기: 디렉토리의 모든 파일을 재귀적으로 나열하고 크기의 내림차순으로 정렬할 수 있는 명령이나 ls 옵션이 있습니까? 어떤 파일/디렉토리가 장치를 차지하고 있는지 확인하고 싶습니다.
2분기: 나의 /home은 덜 사용됩니다. 디스크를 다시 파티션하고 일부 디스크 공간을 /dev/sda5(/home)에서 /dev/sda2로 전환하는 방법이 있습니까?
감사해요
답변1
50GB의 rootfs는거대한, 맹목적으로 확장하는 것보다 파일 시스템이 꽉 차는 이유를 확인하는 것이 좋습니다. 루트 파일 시스템만 확장하면 짧은 시간 내에 다시 채워질 가능성이 높습니다. /var, /var/log 또는 /tmp를 채우고 싶습니다.
내 경험에 따르면 이는 일반적으로 상대적으로 작은 파일이 많기 때문에 발생하므로 수동적이고 구조적인 방식으로 수행하는 것이 가장 좋습니다. 아래 방법을 사용하면 하나의 큰 파일이나 다수의 작은 파일이 포함된 디렉터리를 찾을 수 있습니다.
sudo -i
cd /
du -sxh * | sort -h
du
디스크 사용량 나열-h
사람이 읽을 수 있는 형식의 인쇄 크기(예: 1K 234M 2G)-s
각 매개변수의 합계만 표시-x
다른 파일 시스템의 디렉터리를 건너뛰는 데 사용됩니다.
sort -h
가장 큰 디렉터리가 마지막에 나타나도록 합니다.
이제 마지막 디렉터리를 조사합니다.
cd the_large_diretory
그리고 반복하다
du -sxh * | sort -h
대용량 파일이 포함된 디렉터리를 찾을 때까지. 마지막으로 다음을 사용하여 디렉토리의 내용을 확인할 수 있습니다.
cd the_large_directory
ls -hlrS
ls
디렉토리의 내용 나열-h
"사람이 읽을 수 있는 형식"으로 파일 크기 표시-l
파일 세부정보 표시-r
역순으로 정렬(가장 큰 파일을 마지막에)-S
파일 크기별로 정렬
노트
- 시스템의 명령
du
이나 명령 중 하나라도sort
이 플래그를 지원하지 않으면-h
를 사용하세요du -sxk * | sort -n
. 출력은 비슷하지만 숫자가 너무 길어 읽기가 어렵습니다. ls
시스템이 이 플래그를 지원하지 않는 경우-h
건너뛰십시오. 필수는 아니지만 가독성이 향상됩니다.ls
시스템이 이 플래그를 지원하지 않으면 출력-S
을 다음으로 파이프하십시오.sort -nk5
답변2
Q1. 비슷한 것을 시도해 보세요 sudo du -a -m -x | sort -k1n -r | head -n40
. -a
to 플래그는 du
재귀를 나타냅니다. 이 -m
플래그는 크기를 MB 단위로 표시합니다. -x
단일 파일 시스템에 유지됩니다 . 그러면 파일과 디렉터리가 나열되며 (옵션으로 인해 -n40
) 가장 큰 40개만 나열됩니다 head
. 일부 du
구현에서는 -t SIZE
SIZE보다 큰 항목만 표시하도록 선택할 수 있습니다.
파일만 나열하려면 다음과 같이 시도할 수 있습니다 find / -xdev -type f -size +1M -ls
. /
동일한 파일 시스템에서 1MB보다 큰 파일 만 나열됩니다 .
Q2. 거의 확실합니다. 하지만 이 질문은 별도로 물어보거나 꽤 자주 논의되는 "linux" 및 "repartition"과 같은 키워드를 (여기 또는 다른 곳에서) 검색해야 합니다. 다음은 사이트의 이전 질문 중 일부입니다.
답변3
A1: ls -larS / | head -50
A2:예, 하지만 /home의 크기를 조정할 때는 주의하고 디스크 검사 및 백업을 강제로 실행하세요.
e2fsck -f /home
그 다음에
resize2fs /home 50G