아이 노드 부족


26

99 % inode 사용으로 인해 Ubuntu를 업데이트 할 수 없습니다. 이 문제를 완화하는 가장 쉬운 방법은 무엇입니까?

당신의 도움을 주셔서 감사합니다.


2
StackOverlow에 대해 매우 비슷한 질문이 제기되었습니다. 어쩌면 도움이 될 것입니다 stackoverflow.com/questions/653096/howto-free-inode-usage

1
그리고 ServerFault serverfault.com/questions/185553/…

또한 AskUbuntu 와 비슷합니다 .
Pablo A

답변:


24

inode 수는 파티션이 포맷 될 때 설정됩니다. 일반적으로 생성 된 inode 수는 거의 모든 목적에 충분합니다. 그러나 아주 작은 파일이 많으면 디스크가 가득 차기 전에 inode를 사용할 수 있습니다.

inode를 사용하는 시스템에있는 수천 개의 작은 파일을 찾아서 삭제하거나 사용 가능한 매우 많은 inode가있는 파티션으로 이동해야합니다. 파티션을 포맷 한 후에는 파티션에서 사용 가능한 inode 수를 변경할 수 없습니다.

paxdiablo가 stackoverflow에서 작성한 스크립트 는 알지 못하는 지나치게 작은 파일 사용을 확인하는 편리한 방법 일 수 있습니다. 여기 다시 있습니다 :

#!/bin/bash
# count_em - count files in all subdirectories under current directory.
echo 'echo $(ls -a "$1" | wc -l) $1' >/tmp/count_em_$$
chmod 700 /tmp/count_em_$$
find . -mount -type d -print0 | xargs -0 -n1 /tmp/count_em_$$ | sort -n
rm -f /tmp/count_em_$$

이 스크립트를 텍스트 파일 ~ / bin / count_em에 넣고 명령을 실행하십시오.

chmod +x ~/bin/count_em

실행 가능하게 만듭니다. ~ / bin 디렉토리를 만들어야한다면 아직 실행 경로에 있지 않으므로 로그 아웃했다가 다시 로그인하면됩니다.

입력 한 프로그램을 실행하려면

count_em

그리고 현재 디렉토리와 서브 디렉토리에있는 모든 파일의 수를 디렉토리별로 나열하며 가장 높은 수를 갖습니다. 매우 편리합니다!


이 라인> chmode + x ~ / bin / count_em은 (는) 실제로는> chmod + x ~ / bin / count_em

1
사용자가 만든 모든 파일을 삭제해야합니까, 아니면 tar 아카이브로 이동하면 트릭이됩니까?
amc

그것들을 보관하는 것은 그것을 다루는 좋은 방법이며, 사용자 데이터를 삭제하지는 않지만 이전과 같이 파일을 사용할 수 없기 때문에 그들의 행동이 만족스럽지 않다는 것을 알게합니다. 그러나 아무도 사용하지 않는 파일에 의해 많은 수의 파일이 생성되어 안전하게 삭제할 수는 있지만 위험합니다.
LovesTha

스크립트에 좋은 한 줄의 대안이 될 수sudo du -a -d 1 --inodes . | sort -nr | head -20
찰스 그린

1
물론, 임시 파일을 생성하기 때문에 inode가 완전히없는 경우에는 작동하지 않습니다 :(
Molomby

8

이 명령을 사용하여 inode 수별로 정렬 된 디렉토리 목록을 표시 할 수도 있습니다. du --inodes -d 3 / | sort -n | tail

거기에서 삭제할 디렉토리를 결정할 수 있습니다


1
unrecognized option '--inodes'Ubuntu 14.04, fyi
Molomby

2019 년에 ubundu 14.04를 사용하는 이유는 무엇입니까? 2013 년 2 월의 coreutils 8.21이있는 --inodes옵션이 2013 년 7 월에 추가되었습니다. lmao
ZN13

2

inode 사용법이 /root/.local에서 온 것을 발견하고 해당 폴더를 삭제했습니다.


2
/root/.local을 사용하는 것은 많지 않으며 호환성을 위해서만 존재합니다. 이 디렉토리에 많은 작은 파일을 쓰는 것이 무엇인지 알아야합니다.
fabricator4
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.