Hết mực


26

Tôi không thể cập nhật Ubuntu vì tôi có mức sử dụng inode 99%. Cách dễ nhất để tôi giảm bớt vấn đề này là gì?

Cảm ơn bạn đã giúp đỡ.


2
Một câu hỏi rất giống đã được hỏi trên StackOverlow. Có lẽ điều đó sẽ giúp stackoverflow.com/questions/653096/howto-free-inode-usage


Cũng tương tự ở đây trên AskUbfox .
Pablo A

Câu trả lời:


24

Số lượng các nút được đặt tại thời điểm phân vùng được định dạng. Thông thường số lượng các nút được tạo ra là đủ cho hầu hết mọi mục đích; tuy nhiên, nếu bạn có một số lượng lớn các tệp rất nhỏ thì bạn có thể sử dụng hết các nút trước khi đĩa đầy.

Bạn cần tìm ra hàng ngàn tệp nhỏ bạn có trên hệ thống đang sử dụng hết các nút và xóa chúng hoặc di chuyển chúng đến một phân vùng đã được thiết lập riêng với số lượng rất lớn các nút có sẵn. Không thể thay đổi số lượng các nút có sẵn trên một phân vùng sau khi nó đã được định dạng.

Kịch bản được viết bởi paxdiablo trên stackoverflow có thể là cách thuận tiện để kiểm tra việc sử dụng tệp quá nhỏ mà bạn có thể không biết. Lại một lân nưa:

#!/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_$$

Đặt tập lệnh này vào tệp văn bản ~ / bin / Count_em và sau đó ban hành lệnh

chmod +x ~/bin/count_em

để làm cho nó thực thi. Nếu bạn phải tạo thư mục ~ / bin thì nó sẽ không nằm trong đường dẫn thực thi được, vì vậy chỉ cần đăng xuất và đăng nhập lại.

Để chạy chương trình, bạn chỉ cần gõ

count_em

và nó sẽ liệt kê số lượng của tất cả các tệp trong thư mục hiện tại và thư mục con theo thư mục, với số lượng cao nhất cuối cùng. Rất tiện dụng!


Dòng này> chmode + x ~ / bin / count_em là thực sự> chmod + x ~ / bin / count_em

1
Có cần phải xóa tất cả các tệp do người dùng tạo không, hoặc sẽ chuyển chúng vào kho lưu trữ tar để thực hiện thủ thuật?
amc

Lưu trữ chúng là một cách tuyệt vời để đối phó với nó, nó không xóa dữ liệu người dùng nhưng làm cho họ biết rằng hành vi của họ không thỏa đáng vì họ không thể sử dụng các tệp như trước đây. Có thể mặc dù số lượng lớn các tệp được tạo ra bởi một thứ không ai đang sử dụng và chúng có thể bị xóa một cách an toàn, nhưng đó là một rủi ro.
LovesTha

Một dòng thay thế tốt cho kịch bản của bạn có thể làsudo du -a -d 1 --inodes . | sort -nr | head -20
Charles Green

1
Tất nhiên, điều này không hoạt động nếu bạn hoàn toàn không hoạt động vì nó tạo các tệp tạm thời :(
Molomby

8

Bạn cũng có thể hiển thị danh sách các thư mục được sắp xếp theo số lượng nút, sử dụng lệnh này: du --inodes -d 3 / | sort -n | tail

Từ đó, bạn có thể xác định thư mục nào cần xóa


1
unrecognized option '--inodes'trên Ubuntu 14.04, fyi
Molomby

Tại sao bạn sử dụng ubundu 14.04 vào năm 2019? Tôi thấy nó có coreutils 8.21 từ tháng 2 năm 2013, --inodestùy chọn đã được thêm vào tháng 7 năm 2013 lmao
ZN13

2

Tôi thấy rằng việc sử dụng inode đến từ /root/.local và đã xóa thư mục đó.


2
Không có gì nhiều nên sử dụng /root/.local và nó chỉ ở đó vì lý do tương thích. Bạn cần tìm hiểu những gì đã viết nhiều tập tin nhỏ vào thư mục này.
Fabricator4
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.