<Trước | Nội dung | Tiếp theo>
Liên kết tượng trưng
Khi nhìn xung quanh, chúng ta có thể thấy một danh sách thư mục có mục nhập như sau:
lrwxrwxrwx 1 root root 11 2007-08-11 07:34 libc.so.6 -> libc-2.6.so
lrwxrwxrwx 1 root root 11 2007-08-11 07:34 libc.so.6 -> libc-2.6.so
Hãy để ý xem chữ cái đầu tiên của danh sách là “l” và mục nhập dường như có hai tên tệp? Đây là một loại tệp đặc biệt được gọi là liên kết tượng trưng (còn được gọi là liên kết mềm or liên kết sym-). Trong hầu hết các hệ thống giống Unix, có thể có một tệp được tham chiếu bởi nhiều tên. Mặc dù giá trị của điều này có thể không rõ ràng, nhưng nó thực sự là một tính năng hữu ích.
Hãy hình dung tình huống này: Một chương trình yêu cầu sử dụng một loại tài nguyên được chia sẻ nào đó được tích hợp trong một tệp có tên “foo”, nhưng “foo” thường xuyên thay đổi phiên bản. Sẽ rất tốt nếu bao gồm số phiên bản trong tên tệp để quản trị viên hoặc bên quan tâm khác có thể thấy phiên bản “foo” được cài đặt. Đây là một vấn đề. Nếu chúng tôi thay đổi tên của tài nguyên được chia sẻ, chúng tôi phải theo dõi mọi chương trình có thể sử dụng nó và thay đổi nó để tìm kiếm tên tài nguyên mới mỗi khi phiên bản mới của tài nguyên bị đình trệ. Điều đó nghe có vẻ không vui chút nào.
Đây là nơi các liên kết tượng trưng lưu trong ngày. Giả sử chúng tôi cài đặt phiên bản 2.6 của “foo”, có tên tệp là “foo-2.6” và sau đó tạo một liên kết tượng trưng đơn giản được gọi là “foo” trỏ đến “foo-2.6”. Điều này có nghĩa là khi một chương trình mở tệp “foo”, nó thực sự đang mở tệp “foo-2.6”. Bây giờ mọi người đều hạnh phúc. Các chương trình dựa vào “foo” có thể tìm thấy nó và chúng tôi vẫn có thể thấy phiên bản thực tế nào được cài đặt. Khi đã đến lúc nâng cấp lên “foo-2.7”, chúng tôi chỉ cần thêm tệp vào hệ thống của mình, xóa liên kết tượng trưng “foo” và tạo một liên kết mới trỏ đến phiên bản mới. Điều này không chỉ giải quyết vấn đề nâng cấp phiên bản mà còn cho phép chúng tôi giữ cả hai phiên bản trên máy của mình. Hãy tưởng tượng rằng “foo-2.7” có một lỗi (những nhà phát triển chết tiệt!) Và chúng ta cần phải hoàn nguyên về phiên bản cũ.
Một lần nữa, chúng tôi chỉ xóa liên kết tượng trưng trỏ đến phiên bản mới và tạo một liên kết tượng trưng mới trỏ đến phiên bản cũ.
Danh sách thư mục ở trên (từ / lib thư mục của hệ thống Fedora) hiển thị một liên kết sym- bolic gọi là “libc.so.6” trỏ đến tệp thư viện dùng chung có tên “libc-2.6.so”. Điều này có nghĩa là các chương trình tìm kiếm “libc.so.6” sẽ thực sự nhận được tệp “libc-2.6.so”. Chúng ta sẽ học cách tạo liên kết tượng trưng trong chương tiếp theo.
<Trước | Nội dung | Tiếp theo>