Lỗi hoàn thành tab: bash: không thể tạo tệp tạm thời cho tài liệu ở đây: Không còn chỗ trống trên thiết bị


40

Khi sử dụng thanh tab, tôi tiếp tục gặp lỗi này:

bash: không thể tạo tệp tạm thời cho tài liệu ở đây: Không còn chỗ trống trên thiết bị "

Có ý kiến ​​gì không?

Tôi đã thực hiện một số nghiên cứu và nhiều người nói về tệp / tmp, có thể có một số lỗi tràn. Khi tôi thực thi df -htôi nhận được:

Filesystem      Size  Used Avail Use% Mounted on 
/dev/sda2       9.1G  8.7G     0 100% /
udev             10M     0   10M   0% /dev
tmpfs           618M  8.8M  609M   2% /run
tmpfs           1.6G     0  1.6G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           1.6G     0  1.6G   0% /sys/fs/cgroup
/dev/sda1       511M  132K  511M   1% /boot/efi
/dev/sda4       1.8T  623G  1.1T  37% /home
tmpfs           309M  4.0K  309M   1% /run/user/116
tmpfs           309M     0  309M   0% /run/user/1000

Có vẻ như thư mục / dev / data sắp nổ tung, tuy nhiên nếu tôi mách nước:

$ du -sh /dev/sda2
0   /dev/sda2

Có vẻ như nó trống rỗng.

Tôi là người mới trong Debian và tôi thực sự không biết cách tiến hành. Tôi thường truy cập máy tính này thông qua ssh. Ngoài vấn đề này, tôi có một số người khác với máy tính này, họ có thể có liên quan, ví dụ mỗi lần tôi muốn nhập người dùng của mình bằng GUI (với root nó hoạt động) tôi nhận được:

Xsession: cảnh báo: không thể ghi vào / tmp: Xsession có thể thoát khi có lỗi


2
Bạn muốn chạy một cái gì đó như thế du -hxd1 /, không du /dev/sda2. /dev/sda2không thực sự tồn tại trên đĩa.
muru

Câu trả lời:


19

Hệ thống tệp gốc của bạn đã đầy và do đó thư mục tạm thời của bạn (/ tmp và / var / tmp cho vấn đề đó) cũng đầy đủ. Rất nhiều tập lệnh và chương trình yêu cầu một số không gian cho các tệp làm việc, thậm chí khóa các tệp. Khi / tmp là những điều xấu không thể chấp nhận được xảy ra.

Bạn cần tìm ra cách bạn đã lấp đầy hệ thống tập tin. Thông thường, nơi này sẽ xảy ra là trong / var / log (kiểm tra xem bạn đang quay vòng các tệp nhật ký). Hoặc / tmp có thể đầy. Tuy nhiên, có rất nhiều cách khác mà một đĩa có thể lấp đầy.

du -hs /tmp /var/log

Bạn có thể muốn phân vùng lại để cung cấp cho / tmp phân vùng của riêng nó (đó là cách làm cũ của trường học, nhưng nếu bạn có nhiều đĩa thì không sao), hoặc ánh xạ nó vào bộ nhớ (sẽ làm cho nó rất nhanh nhưng bắt đầu gây ra sự cố tráo đổi nếu bạn lạm dụng các tệp tạm thời).


Xin chào, tôi đã xem xét cả hai lệnh mà bạn đề xuất và tôi sẽ nói rằng cả / tmp và / var / log đều khá trống: lần lượt là 60K và 49M.
lucasrodesg

1
Chào bạn lần nữa nhé. Cuối cùng tôi đã nhận được nó. Tôi không biết tại sao tôi lại đặt tất cả nội dung owncloud dưới / var. Nó hoạt động trở lại!
lucasrodesg

16

Bạn cũng có thể bị mất quyền truy cập ghi vào /tmp/thư mục.

Nó sẽ trông như thế:

ls -l / |grep tmp
drwxrwxrwt   7 root root  4096 Nov  7 17:17 tmp

Bạn có thể sửa các quyền như thế:

chmod a+rwxt /tmp

Điều này làm việc cho tôi!
Joseph Chambers

3
Đó là một cách sử dụng grep vô dụng. Hãy thử ls -ld /tmpthay thế.
một CVn

bạn vừa tạm dừng một cuộc tấn công hoảng loạn gần như hoàn toàn ... đáng để bỏ phiếu cho tôi
sbeskur

10

Nếu bất cứ ai đến đây với lỗi này khi đĩa của họ không đầy, hãy chắc chắn kiểm tra không chỉ dfmà còn df -i. Có một số lượng nút cố định trên một hệ thống tệp và mỗi tệp cần một. Nếu bạn chỉ có hàng tấn tệp nhỏ, hệ thống tệp của bạn sẽ dễ dàng lấp đầy những tệp nhỏ này trong khi vẫn còn nhiều dung lượng trên ổ đĩa khi bạn chạy df.


Đây là vấn đề tôi gặp phải! Tôi tiếp tục cố gắng tìm những gì đang chiếm không gian. Đó không phải là vấn đề. Tôi đã sử dụng hết các nút. /dev/root 4980000 4980000 0 100% /Có lẽ hệ thống nên phản hồi với một thông báo lỗi thích hợp?

3

Tôi đã nhận được lỗi, sau đó tôi thấy

[  672.995482] EXT4-fs (sda2): Remounting filesystem read-only
[  672.999802] EXT4-fs error (device sda2): ext4_journal_check_start:60: Detected aborted journal

Tôi đã có thể xác nhận điều này,

mount | grep -i sda2
/dev/sda2 on / type ext4 (ro,relatime,errors=remount-ro,data=ordered)

2

Cách nhanh nhất để xác định vị trí các thư mục của bạn quá đầy là thu hẹp kích thước tệp thư mục theo các cấp từ thư mục gốc. Bạn bắt đầu với thư mục gốc bằng cách:

sudo du -h --max-depth=1 /

Sau đó - EITHER bạn tăng độ sâu, tức là các cấp độ bên dưới:

sudo du -h --max-depth=2 /

HOẶC - nhanh hơn - bạn xem thư mục nào đã chiếm nhiều dung lượng đĩa nhất và thực hiện tương tự trên thư mục này:

sudo du -h --max-depth=1 /home/<user>/<overfull-folder>

Khi bạn tìm thấy nó, chỉ cần xóa cái đó:

rm -rf <path to overfull-folder>

1
với nhiều tệp đầu ra, thật tuyệt khi sắp xếp chúng theo kích thước với sudo du -h --max-depth=1 / | sort -h(các tệp lớn hơn ở dưới cùng hoặc sort -hrcho các tệp lớn hơn ở trên cùng)
wranvaud

0

Đối với trường hợp của tôi cũng có lỗi này, đó là sự cố lồng vì máy chủ này đã có trên CloudLinux, được giải quyết với cagefsctl --remount username


-2

Điều này là do không gian đĩa không đủ, bạn cần dọn sạch các tệp lớn hoặc dọn sạch quá trình chiếm dung lượng:

  1. df -h Xem dung lượng đĩa cứng
  2. du -sh /* Xem thư mục nào là lớn nhất, từng bước để tìm các tệp lớn
  3. du -h --max-depth=1 tìm tập tin lớn nhất

Điều này dường như chỉ lấy lại câu trả lời của Agile Bean từ tháng 6 năm 2018.
tripleee
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.