Truy vấn một lớp phủ


8

Tôi đang tìm cách truy vấn một hệ thống tập tin lớp phủ được gắn ( overlayfs) để kiểm tra thư mục trên và dưới của nó, nhưng cho đến bây giờ tôi vẫn không tìm thấy bất kỳ lệnh phù hợp nào cho việc đó. Có cách nào để kiểm tra như vậy không?

Tôi đã gắn kết overlayfsvới một lệnh như dưới đây:

mount -t overlayfs -o lowerdir=/mnt/root-ro,upperdir=/data/root-rw overlayfs-root ${rootmnt}

Các mountlệnh đã không cho tôi đủ thông tin:

root@ubuntu12:~# mount -l
overlayfs-root on / type overlayfs (rw)
/dev/sda1 on /mnt/root-ro type ext4 (ro,relatime,data=ordered) [ROOT]
/dev/sdb1 on /data type ext4 (rw,errors=remount-ro) [DATA]

1
Bạn đang sử dụng loại hệ thống tập tin "lớp phủ" nào?
Celada

1
Tôi đang sử dụng lớp phủ
enzo1959

Oh! Tôi đã không nhận ra có một hệ thống tập tin thực tế gọi là "lớp phủ". Tôi chỉ quen thuộc với aufs và unionfs. Hai cái sau cung cấp một cách dễ dàng để truy vấn các nhánh bên dưới của chúng là gì, nhưng tôi không biết về lớp phủ.
Celada

Xin vui lòng Celada, cho tôi biết về phương pháp phù hợp cho aufs và unionfs để tôi có thể kiểm tra xem một cái gì đó tương tự có hoạt động với lớp phủ không
enzo1959

aufs: Dưới /sys/fs/aufscó thể được tìm thấy một thư mục cho mỗi phiên bản của hệ thống tập tin aufs hiện được gắn. Trong mỗi thư mục, có các tệp br0, br1v.v., chứa tên của từng nhánh của thể hiện aufs đó.
Celada

Câu trả lời:


2

Hạt nhân hiển thị các tùy chọn gắn kết (danh sách đầy đủ) thông qua /proc/mounts. Đối với lớp phủ, điều này bao gồm lowerdirupperdircác tùy chọn:

$ cd /tmp
$ mkdir lower upper overlay
$ sudo mount -t overlayfs -o lowerdir=/tmp/lower,upperdir=/tmp/upper none /tmp/overlay
$ tail -n 1 /proc/mounts
none /tmp/overlay overlayfs rw,relatime,lowerdir=/tmp/lower,upperdir=/tmp/upper 0 0

Trong trường hợp chung, phân tích cú pháp này có thể khó khăn vì bản thân các đường dẫn có thể chứa dấu cách và dấu phẩy được sử dụng làm dấu tách trường trong thông tin hệ thống tệp. Nếu bạn có thể cho rằng không có dấu cách hoặc dấu phẩy trong đường dẫn, bạn có thể quản lý bằng thứ gì đó như:

$ LOWER=$(tail -n 1 /proc/mounts | egrep -om1 'lowerdir=[^, ]*' | sed s/lowerdir=//)
$ UPPER=$(tail -n 1 /proc/mounts | egrep -om1 'upperdir=[^, ]*' | sed s/upperdir=//)
$ echo $LOWER $UPPER
/tmp/lower /tmp/upper

lưu ý rằng trong Ubuntu bạn sẽ cần thêm mkdir workdirvà thêm workdir=/tmp/workdirvào các tùy chọn trong lệnh mount.
Chương trình

0

mount chính nó sẽ liệt kê thư mục của bạn dưới dạng kiểu lớp phủ, và chữ hoa và chữ dưới trong tùy chọn gắn kết.


Tôi thấy rằng một số hướng dẫn đã nói rằng, moiunt sẽ đánh dấu chi tiết của các lớp phủ được gắn, nhưng trong thực tế, trên Ubuntu 12, việc gắn kết cung cấp cho tôi không đủ thông tin.
enzo1959
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.