저는 주로 파일 서버 + 라우터로 사용되는 우분투 12.10 서버를 가지고 있습니다. 몇 번 전에는 매우 이상하게 동작하기 시작했습니다. 예를 들어 삼바 서버에서 1GB/s 링크를 통한 파일 전송 속도가 매우 느려졌습니다(1MB/s 미만).
네트워크를 조사하고 플레이한 후에 / 파티션 사용량이 100%라는 것을 알았습니다.
Filesystem Size Used Avail Use% Mounted on
/dev/md1 3.1G 3.1G 0 100% /
/dev/sda1 105M 144k 104M 1% /boot/efi
/dev/md2 52G 1.5G 48G 3% /usr
/dev/md4 52G 13G 37G 26% /home
/dev/md5 21G 181M 20G 1% /tmp
/dev/md3 155G 824M 147G 1% /var
/dev/md6 21G 437M 20G 3% /var/log
문제인데, /lib(2.3G) 폴더를 다른 디렉토리로 옮기고, 시작시 마운트하면 해결될 것 같습니다. 시스템은 소프트웨어 raid0에 설치되어 있으므로 다시 파티션하는 것은 매우 어려울 것입니다.
- 네트워크 문제의 근원과 같나요?
내가 그런 짓을 하려고 하면 어떤 문제에 직면하게 될까요?재동기화/lib
폴더를/home/root/lib
?/lib
와 내용을 병합/home/lib
한 다음 나중에 에 마운트 할 수 있나요/lib
?
PS. 어떻게 그런 일이 일어났는지 궁금합니다. 디스크를 파티션할 때 모든 프로그램이 /home이나 사용자 폴더에 설치될 것이라고 생각했는데, 충분히 크게 만든 것인데… 어떤 파티션이 어떤 프로그램에 사용되는지는 어디서 읽을 수 있나요?
편집됨: ~에대지내가 찾은 것 :
"/bin, /lib 및 /etc 디렉토리는 별도의 파티션이 되어서는 안 됩니다! 부팅 시 처음에는 /만 마운트됩니다. init 프로그램은 /etc의 파일에 액세스해야 하며 bootup 스크립트는 /bin의 명령에 액세스해야 합니다. 이는 /lib의 파일에 따라 달라질 수 있습니다. 부팅 프로세스를 완료하는 데 필요한 커널 모듈도 /lib에 보관됩니다.
/lib
그래서 다른 파티션으로 이동할 수 없습니다 . 그것을 지울 수 있나요? 아니면 다른 방법으로 할 수 있나요?
/lib/modules에는 다음이 포함됩니다.
3.5.0-17-generic 3.5.0-26-generic 3.5.0-30-generic 3.5.0-34-generic 3.5.0-40-generic
3.5.0-23-generic 3.5.0-27-generic 3.5.0-31-generic 3.5.0-37-generic 3.5.0-41-generic
3.5.0-25-generic 3.5.0-28-generic 3.5.0-32-generic 3.5.0-39-generic 3.5.0-42-generic
이 파일이 모두 필요합니까?
답변1
설치된 15개의 커널이 루트( ) 파일 시스템에서 너무 많은 공간을 소비하고 있는 것 같습니다 /
. dpkg
적어도 부팅하고 로그인할 수 있다고 가정하면 명령을 사용하여 이를 제거할 수 있습니다 . -P
다음과 같이 옵션을 사용하십시오.
sudo dpkg -P linux-image-3.5.0-17-generic
가장 오래된 커널을 제거하십시오(최신 커널에 문제가 있는 경우는 제외하고, 이 경우에는 신뢰성이 가장 낮은 커널을 제거해야 합니다).
다음과 같이 명령을 통해 공간이 사용되는 위치를 추적할 수도 있습니다 du
.
du -sx /* | sort -n
이 작업을 실행하는 데 시간이 좀 걸리지만 완료되기 전에 일부 오류가 발생할 수 있습니다. 오류를 무시하십시오. 이 명령은 얼마나 많은 공간을 소비하는지에 따라 정렬된 디렉터리 목록을 생성하며 가장 큰 디렉터리가 목록 맨 아래에 표시됩니다. 그런 다음 다음과 같이 해당 디렉터리 중 더 큰 디렉터리로 이동할 수 있습니다.
du -sx /var/* | sort -n
/var
이 예에서는 사용된 디스크 공간에 따른 하위 디렉터리를 보여줍니다 . 디스크 공간이 소비되는 위치를 발견하면 문제의 디렉터리 또는 너무 많은 공간을 차지하는 개별 파일을 조사하십시오. 컴퓨터가 메일 서버로 작동하는 경우 메일 스풀과 같이 일부는 합법적으로 많은 공간을 소비할 수 있습니다. 다른 것들은 임시 파일로 채워져 있을 수도 있고( 의 대부분의 파일과 같이 /tmp
) 파일이 너무 커졌을 수도 있습니다( 의 로그 파일이 너무 커짐 /var/log
). 이러한 문제는 각각 고유한 방식으로 처리되어야 합니다.
이 외에도 파티션 크기가 잘못되었습니다. Linux는 대부분의 프로그램 파일을 에 저장 /usr
하지만 이 디렉토리/파티션에는 약 10GB 이상의 공간이 필요한 경우가 거의 없으며 그 중 절반 이하인 경우도 많습니다. 대부분의 시스템에서 이러한 파일은 패키지 업데이트 또는 설치 중을 제외하고 거의 변경되지 않습니다. /
하지만 루트( ) 파티션의 일부 다른 하위 디렉터리 /tmp
에는 (종종 용량이 클 수 있는 임시 파일에 사용됨) 및 /var/log
. 따라서 루트( /
) 파티션에 상당한 추가 공간을 만드는 것이 현명한 경우가 많습니다. 실제로 /usr
루트( /
) 파티션의 일반 하위 디렉터리로 두고 후자를 10~30GB 정도로 만드는 것이 일반적입니다.
디렉토리 /home
에는 사용자 파일이 들어 있습니다. 개별 사용자가 직접 작성하는 소프트웨어를 제외하고는 프로그램 파일을 거의 보관하지 않습니다. 대부분의 데스크탑 시스템에서는 /home
디지털 사진, MP3, MPEG 또는 기타 오디오/비디오 파일, 디스크 이미지 파일 등을 저장하므로 상대적으로 큽니다. 이것들은 모두 상당히 클 수 있습니다. 그러나 세부 사항은 컴퓨터마다 다릅니다.
답변2
공간을 확보하는 가장 좋은 방법은 더 이상 필요하지 않은 이전 커널 버전을 제거하는 것입니다. 그렇게 하려면 이전 답변에 있는 이 훌륭하고 광범위한 가이드를 따르십시오(방문하여 찬성 투표하십시오).
https://askubuntu.com/a/100953/130555
여기에는 이전 버전을 제거하기 위한 그래픽 방법뿐만 아니라 쉘 방법도 포함됩니다. 이전 개정판 중 2~3개를 유지하라는 권장 사항(저도 이에 동의함)을 숙지하시기 바랍니다. 업데이트는 잘 테스트되었지만 문제가 발생하면 항상 이전 실행 버전으로 돌아갈 수 있기를 원합니다.