Cái nào tốt hơn cho các ứng dụng đã cài đặt: / usr / bin hoặc thư mục chính của người dùng?


9

Tôi không hoàn toàn rõ ràng liệu cài đặt ứng dụng GUI trong /usr/binthư mục nhà của tôi sẽ tốt hơn . Tôi đã đọc qua bài viết nàybài viết này , nhưng nó không thực sự nói về triết lý về cách sử dụng các thư mục khác nhau này. Các lệnh nên được xử lý khác với các ứng dụng GUI?

Câu trả lời:


11

Đây /usr/binlà thư mục chính của các lệnh thực thi trên hệ thống.

các /usr/local:

  • Được sử dụng bởi quản trị viên hệ thống khi cài đặt phần mềm cục bộ.
  • Nó cần được an toàn để không bị ghi đè khi
    phần mềm hệ thống được cập nhật.
  • Nó có thể được sử dụng cho các chương trình và dữ liệu có thể chia sẻ giữa một nhóm các máy chủ, nhưng không được tìm thấy trong /usr.

Phần mềm được cài đặt cục bộ phải được đặt bên trong /usr/localthay vì /usrtrừ khi nó được cài đặt để thay thế hoặc nâng cấp phần mềm trong / usr.

Thêm ở đây .


7

Không có lý do cụ thể để tạo sự khác biệt giữa các lệnh GUI và CLI.

/usr/binthuộc về hệ điều hành, vì vậy, ngay cả khi không có gì ngăn cản bạn, như root, để làm điều đó, bạn không nên đặt bất cứ thứ gì ở đây. Thư mục này dành cho những người phân phối phần mềm tích hợp với HĐH và xử lý / tránh xung đột tên đúng cách.

/usr/local/binlà một thư mục chung cho phần mềm được xây dựng cục bộ. Nếu bạn có thể viết ở đây, bạn chỉ có thể sử dụng thư mục này.

/opt/<name>/bindành cho phần mềm không thuộc hệ điều hành. Đó là một vị trí tốt cho phần mềm chia sẻ.

Thư mục nhà của bạn thuộc về bạn, do đó bạn có thể tự do đặt bất cứ thứ gì bạn thích vào bất cứ nơi nào nhưng nó không phải là vị trí tốt nhất nếu người khác cần chạy chương trình của bạn.


1
Vì vậy, sự khác biệt duy nhất giữa / usr / local / bin và / opt / foo / bin trong đó / cách phần mềm được cài đặt? Vì vậy, theo quy định, bất kỳ phần mềm nào tôi cài đặt thủ công nên đi trước và bất kỳ phần mềm nào được cài đặt từ trình quản lý gói sẽ kết thúc sau này? EDIT: Nó xuất hiện như vậy. liên kết
TheAmpers và

Đúng. Lưu ý rằng phần mềm được xây dựng cục bộ cũng có thể đi đến / opt / local / bin. Điều này tránh một vấn đề với / usr / local có thể ghi được trong khi / usr có thể được gắn ở chế độ chỉ đọc.
jlliagre

3

Không cài đặt bất cứ thứ gì bằng tay trong /usr/bin. Toàn bộ /usr, cũng như /bin, /lib/sbin, được dành riêng cho phần mềm do phân phối của bạn cung cấp. Có một ngoại lệ : /usr/local, dành cho các chương trình được cài đặt bởi quản trị viên hệ thống và không bị người quản lý gói chạm vào (ngoại trừ việc tạo một vài thư mục). (Đó là trên Linux, các biến thể unix khác có thể có trình quản lý gói cài đặt phần mềm bên dưới /usr/local.)

Giữa /usr/localvà một nơi trong thư mục nhà của bạn, sự lựa chọn là của bạn. Nếu bạn muốn một chương trình có sẵn cho tất cả người dùng, hãy đặt nó vào /usr/local. Nếu bạn muốn nó chỉ có sẵn cho bạn, hãy cài đặt nó trong thư mục nhà của bạn.

Việc chương trình có GUI hay không là không liên quan.


1
/optđôi khi cũng được sử dụng để cài đặt cục bộ, mặc dù sự phân chia giữa /usr/local/optkhông rõ ràng.
Faheem Mitha

2

Nếu nó có ý nghĩa (hoặc là bắt buộc) để người dùng có thể thay thế các nhị phân của ứng dụng thì nó phải được cài đặt trong thư mục chính của người dùng. Nếu không, nó có thể được cài đặt trong một thư mục công khai, chỉ đọc như /usr/bin.


0

Để sử dụng toàn cầu, bạn có thể cài đặt nó vào / usr / bin nhưng không ai khuyến nghị điều đó.

Để sử dụng một số ứng dụng như một người dùng cụ thể (cần bảo mật hơn, khi chạy với tư cách 1 người dùng), hãy cài đặt nó vào thư mục chính của người dùng cụ thể.

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.