Cách thích hợp để vô hiệu hóa tmpfs trên / run / shm


7

Làm thế nào để tôi vô hiệu hóa tmpfstrên /run/shm? Tôi đã tìm kiếm trong initscripts và thấy rằng đoạn mã sau kiểm tra mục nhập fstab, nhưng tôi nên thay đổi gì để không gắn kết /run/shm? Tôi đang chạy Debian sid.

/lib/init/mount-fifts.sh

read_fstab_entry () {
        # Not found by default.
        found=1

        for file in "$(eval ls $(fstab_files))"; do
                if [ -f "$file" ]; then
                        while read MNT_FSNAME MNT_DIR MNT_TYPE MNT_OPTS MNT_FREQ MNT_PASS MNT_JUNK; do
                                case "$MNT_FSNAME" in
                                  ""|\#*)
                                        continue;
                                        ;;
                                esac
                                if [ "$MNT_DIR" = "$1" ]; then
                                        if [ -n "$2" ]; then
                                                [ "$MNT_TYPE" = "$2" ] || continue;
                                        fi
                                        found=0
                                        break 2
                                fi
                        done < "$file"
                fi
        done

        return $found

Chức năng gọi

 if read_fstab_entry /run/lock; then
            if [ "$MNT_TYPE" = "tmpfs" ] ; then
                RAMLOCK="yes"
            else
                RAMLOCK="no"
            fi
        fi

Một lát sau

if [ yes = "$RAMLOCK" ]; then
                domount "$MNTMODE" tmpfs shmfs /run/lock tmpfs "-o${NODEV}noexec,nosuid$LOCK_OPT"
                # Make sure we don't get cleaned
                touch /run/lock/.tmpfs
        else
                chmod "$LOCK_MODE" /run/lock
        fi

Câu trả lời:


1

Không rõ những gì bạn đang cố gắng để đạt được. Theo mặc định (ít nhất là trên Debian wheezy), /run/shmlà thư mục con của /run, được gắn dưới dạng tmpfs. Vì vậy, nếu bạn không muốn /run/shmtrở thành điểm gắn kết, đừng thay đổi cấu hình mặc định. Nếu bạn tạo một mục nhập cho /run/shmtrong /etc/fstab, nó sẽ được gắn kết chỉ khi bạn xác định loại hệ thống tập tin; mặt khác /dev/shmđược gắn kết ở đó. Không có /run/shmnhư tmpfs không phải là một cấu hình được hỗ trợ. Nếu bạn muốn sử dụng một số loại hệ thống tập tin khác, hãy tạo một mục nhập fstab và chỉnh sửa /etc/init.d/mountall.sh/etc/init.d/mountdevsubfs.shđể chúng gọi mount_shmvới một đối số khác mounthoặc mount_update. Dù bạn làm gì, hãy đảm bảo rằng đó /run/shmlà chế độ 1777 và không còn tệp nào từ lần khởi động trước.


Tôi muốn / run / shm không được gắn kết, cũng chạy, bởi vì hệ thống làm chậm tmpfs.
zb '

Trường hợp chậm lại ở đây
zb '

1

Đặt #trước fstab-Entry, để đánh dấu nó như một bình luận.

Nếu bạn nhìn vào tập lệnh sẽ kích hoạt continue-branch bên trong -statement case, làm cho nó bỏ qua dòng đó.


không có mục fstab ở đây.
zb '

@eicto Phải có một tệp có mục "/ run / lock" trong một trong các tệp được biểu thị bởi fstab_files . Bạn có thể xác định vị trí, nơi fstab_files được phân bổ một giá trị không?
Nils

Tôi đã giải quyết vấn đề, chỉ cần cài đặt 16G cho máy trạm.
zb '

0

Đọc các bình luận trên /etc/default/tmpfs, chỉnh sửa tệp (thêm RAMSHM=no), lưu và khởi động lại.


không có tệp nào như vậy bro
zb '
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.