Sự khác nhau giữa nhiều thư mục lib trong Linux


14

Sự khác biệt giữa nhiều lib trong hệ thống Linux là gì? (/ lib, / usr / lib, / var / lib, / usr / share / lib, v.v.).

Tôi biết nó được xử lý tự động bằng synap mỗi khi tôi cài đặt một ứng dụng, nhưng trong trường hợp tôi muốn trở thành một nhà phát triển Linux, tôi chắc chắn cần biết nơi để đặt lib ứng dụng của mình vào hệ thống.

Câu trả lời:


10

Thông thường, phần mềm của bạn sẽ được cài đặt dưới /, hoặc / usr hoặc / usr / local. Đây được gọi là "tiền tố". / thường được dành riêng cho các chương trình hệ điều hành quan trọng nhất. / usr / được dành riêng để sử dụng bởi người quản lý gói. Do đó, khi bạn viết phần mềm, sẽ rất lịch sự khi thiết lập phần mềm để tiền tố sẽ là / usr / local. Sau đó, điều này có thể được ghi đè khi ai đó đóng gói nó để phân phối.

Lưu ý tôi không nói cụ thể về "lib". Có một số thư mục con phổ biến dưới tiền tố, lib chỉ là một trong số chúng. "Bin" được sử dụng để thực thi, "chia sẻ" cho các tệp dữ liệu, "lib" cho các thư viện dùng chung, v.v. Vì vậy, nếu chương trình của bạn là một thư viện, bạn có thể cài đặt nó theo mặc định thành / usr / local / lib. Nếu đó là một chương trình bình thường, bạn có thể cài đặt nó vào / usr / local / bin với các tệp dữ liệu của bạn trong / usr / local / share. Điều quan trọng là bạn làm cho nó để tiền tố có thể được lựa chọn tại thời điểm biên dịch. Một số có thể thích cài đặt vào / usr hơn là / usr / local hoặc ngược lại.


Vì vậy, quan điểm của bạn là các địa điểm là một hướng dẫn hơn là một giới hạn cứng?
Andreas Wong

1
Đó là một hướng dẫn, nhưng nó NÊN được tuân theo và nhiều ứng dụng mong đợi các tệp nhất định ở một số nơi nhất định.
Jim Deville

@james lấy điểm: D
Andreas Wong

8

Ngoài ra còn có một tiêu chuẩn mô tả hệ thống phân cấp hệ thống tập tin linux / unix. Nó có thể được tìm thấy tại: http://www.pathname.com/fhs/ . Điều này chủ yếu dành cho các nhà phát triển phân phối, nhưng tôi không thấy bất kỳ lý do nào mà người dùng / nhà phát triển không nên biết về nó.


0

/ bin và / sbin

  • nhị phân được sử dụng cho quản trị hệ thống và cũng trong usermode duy nhất. Các tập tin thư viện của họ được đặt trong / lib.

/ usr / bin và / usr / sbin

  • chứa các nhị phân không thiết yếu không thiết yếu được sử dụng bởi tất cả người dùng và nhị phân được sử dụng cho các dịch vụ mạng và tất cả các thư viện của chúng tôi được đặt trong / usr / lib.

/ var / lib

  • chứa các tệp lưu giữ thông tin về trạng thái chạy chương trình hoặc phiên bản chương trình .user không cần thay đổi điều này.

/ usr / chia sẻ / lib

  • Chứa các tệp dữ liệu độc lập với kiến ​​trúc.
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.