Sự khác biệt giữa symlink và ràng buộc với fstab là gì?


7

Trong bài viết của Eric Hammond Chạy MySQL trên Amazon EC2 với EBS , anh ấy chỉ ra cách thêm ổ đĩa thứ hai ( /vol/) và sau đó tiến hành di chuyển mysqlcấu hình và dữ liệu của mình ở đó.

/sdhđược gắn kết /volbằng cách chỉnh sửa fstabvà thêm:

/dev/sdh /vol xfs noatime 0 0

Và tiếp theo một số đường dẫn được thêm vào như thế này:

/vol/etc/mysql /etc/mysql     none bind

Tôi không gặp vấn đề gì khi làm theo cách này nhưng tôi hoàn toàn không hiểu chuyện gì đang xảy ra.

Tôi có thể so sánh chặt chẽ nhất việc này với việc sử dụng một liên kết tượng trưng, ​​đại loại như:

ln -s /etc/mysql /vol/etc/mysql

Tôi đã xem man fstabmà không thấy nhiều thông tin về bindcú pháp và cũng không thể tìm thấy nó trong fstabphần trong Cẩm nang của Quản trị viên Linux. Cần một ai đó làm sáng tỏ về fstab's bindcú pháp, cách thức hoạt động, những gì nó làm, và nơi tôi có thể tìm thêm thông tin về nó?

Câu trả lời:


8

bind phản chiếu một hệ thống tập tin (trong số các tình huống khác, thật hữu ích khi cài đặt một chroot bên trong mà bạn cần phải có một hệ thống "hoàn chỉnh" (như khi giải nén / cài đặt Gentoo).

Chỉ đơn giản như vậy, nó phản chiếu một cây từ A thành B. Tôi không biết chắc chắn liệu nó có lựa chọn nào không, nhưng tôi nghi ngờ điều đó, nó không làm gì hơn, tốt, phản chiếu.

Không giống như một liên kết tượng trưng, ​​là một tệp trong hệ thống tệp trỏ đến một hệ thống tệp khác, yêu cầu bạn phải thiết lập nó và vẫn là một "tệp đặc biệt", liên kết thực sự phản chiếu toàn bộ cây con. Tùy thuộc vào công cụ, cả hai chiến lược có thể hoạt động, nhưng có thể phát hiện liên kết tượng trưng và một số công cụ có thể giải quyết nó theo đường dẫn ban đầu. Cách bindtiếp cận minh bạch hơn, hoạt động như hai hệ thống tập tin khác nhau.


1
Chỉ cần làm điều này tối qua, câu trả lời tuyệt vời. đây là mô tả từ các tài liệu xây dựng LFS: .... vì đây là một hệ thống mới và chưa có Udev và chưa được khởi động, nên cần phải gắn kết và điền /devthủ công. Điều này được thực hiện bằng cách bindgắn /devthư mục của hệ thống máy chủ . Gắn kết liên kết là một loại gắn kết đặc biệt cho phép bạn tạo một bản sao của thư mục hoặc điểm gắn kết đến một vị trí khác ..
2bc

2
Chính xác. Các liên kết tham chiếu inodes bên ngoài môi trường chroot sẽ không hoạt động. Bạn có thể liên kết /mychroot/homeđến /hometrước bạn chroot(2), nhưng sau khi bạn chroot, symlink bị hỏng ( /mychrootkhông còn tồn tại từ quan điểm của môi trường chroot). Liên kết để giải cứu.
Alexios

1
Bạn có thể có một liên kết gắn kết chỉ đọc, nhưng liên kết tượng trưng không thể thay đổi quyền của mục tiêu.
psusi

1
Khi bạn nói "gương", tôi hoang mang nghĩ rằng nó sẽ sao chép tất cả các tệp, nó hoạt động giống như một thư mục cứng, hai thư mục chỉ đơn giản là cùng một thư mục, một cái gì đó xảy ra trong một cái khác, bởi vì chúng là cùng một sự kiện.
ThorSummoner
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.