Làm thế nào để hoàn thành tab bash để làm việc với hệ thống tệp chỉ đọc?


7

Tôi đã cố tình cấu hình hệ thống tệp của RaspberryPi (Raspbian - Jessie) để chỉ đọc. Một trong những điều chưa (chưa) hoạt động là hoàn thành tab (còn gọi là tự động) trong bash, nơi tôi thường gặp lỗi sau:

bash: không thể tạo tệp tạm thời cho tài liệu ở đây: hệ thống tệp chỉ đọc

Nhiều cuộc thảo luận trực tuyến tập trung vào cách khắc phục các sự cố hệ thống tệp biểu hiện với lỗi này. Tôi muốn điều chỉnh bash thay thế. Nó đang cố gắng tạo tệp tạm thời này ở đâu và làm cách nào tôi có thể chuyển hướng nó để tạo tệp đó trong / tmp (được gắn với tmpfs)?


2
bạn có thể thử bắt đầu bash của mình strace -e open,creat bashvà nó sẽ hiển thị cho bạn tất cả các lệnh gọi hệ thống để mở () và creat ().
meuh

2
Có thể là /var/tmpgì?
Celada

2
Bash thường tạo các tệp tạm thời của nó trong $TMPDIR, mặc định là /tmpnếu không đặt, giống như hầu hết các chương trình. Được TMPDIRđặt? Nếu vậy, hãy chắc chắn rằng vị trí đó cũng nằm trên tmpfs, nếu không, nó sẽ phá vỡ nhiều hơn so với hoàn thành bash. Nếu đó không phải là nó, hãy xem dưới stracenhư meuh khuyên.
Gilles 'SO- ngừng trở nên xấu xa'

Câu trả lời:


1

Thử nghiệm đầu tiên bạn có thể làm để xem thư mục tmp của bạn ở đâu và nếu nó đang hoạt động thì đang thực hiện lệnh này:

tempfile

Đầu ra phải giống như thế này:

/tmp/fileupz962

Nếu thư mục / tmp tồn tại và đang hoạt động (có quyền ghi) nhưng thư mục tạm thời được trỏ đến thư mục khác như / var / tmp, bạn có thể thử đặt thư mục tạm thời để trỏ đến / tmp bằng cách sử dụng:

export TMPDIR=/tmp

Nếu bash đang lưu tệp tạm thời trong / tmp và nếu vì lý do nào đó, thư mục / tmp không hoạt động, bạn có thể thử ngắt kết nối tệp (trong trường hợp được gắn). Có thể xảy ra là / tmp được gắn dưới dạng chỉ đọc. Trong cả hai trường hợp nên hữu ích để thử:

sudo umount /tmp

Sau đó, bạn có thể thử sử dụng bộ nhớ RAM cho thư mục / tmp:

sudo mount -t tmpfs -o size=128M tmpfs /tmp/ram/

Bạn có thể đặt dung lượng RAM (-o size = 128M) thành bất kỳ giá trị nào bạn muốn.

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.