Nơi cài đặt phần mềm và thực thi cho tất cả người dùng


15

Theo mặc định, một số ứng dụng cài đặt vào / usr / local / bin, nhưng nếu tôi thay đổi người dùng thì người dùng đó có thể truy cập ứng dụng này không? Tôi đọc ở đâu đó ở đây (một câu hỏi khác) mà tôi nên sử dụng / opt? Nhưng các tệp nhị phân theo mặc định sẽ đi vào / usr / local / bin? không có / opt / bin?


Câu trả lời:


19

Thông thường bạn không cần phải cố gắng cài đặt bất cứ thứ gì bằng tay. Trong hầu hết các trường hợp, bạn sẽ tìm thấy một gói .deb. Nếu không có một google cho các đề xuất (như cách cài đặt Oracle JDK trong Ubuntu ). Nếu đây là phần mềm của riêng bạn, hãy xem Hướng dẫn đóng gói Ubuntu để được trợ giúp về cách đưa công cụ vào Ubuntu đúng cách.

Nếu bạn vẫn phải làm điều đó, hãy đặt nhị phân vào / opt / myapp và liên kết tệp thực thi với ln -s /opt/myapp/myappbinary /usr/local/bin/myappbinary. Nếu bạn muốn biết thêm về loại chủ đề man hiertrong một thiết bị đầu cuối. Sự khác biệt giữa / usr / bin/ usr / local / bin được giải thích ở đó. Trong mọi trường hợp, cả hai đường dẫn đều nằm trong biến môi trường $ PATH. Điều đó có nghĩa là bất kỳ nhị phân nào bạn đặt ở đó sẽ được thực thi bởi bất kỳ ai chỉ cần đặt tên của nhị phân (chứ không phải đường dẫn đầy đủ). Vì vậy, bằng cách sử dụng ví dụ trên, bạn có thể chạy chương trình của mình myappbinarythay vì phải đưa ra đường dẫn đầy đủ /opt/myapp/myappbinary.


1
Mục đích của việc đưa nó vào / opt là gì, đặc biệt nếu bạn chỉ định liên kết nó vào / usr / local bằng mọi cách?
psusi

Nếu tôi muốn tất cả người dùng của hệ thống có thể sử dụng ứng dụng, tôi nên liên kết symlink vào / usr / bin thay vì / usr / local / bin?
Jiew Meng

4
@jiewmeng Nếu bạn nhìn vào man hierbạn sẽ thấy mọi thứ được giải thích ở đó. Bao gồm sự khác biệt giữa / usr / bin và / usr / local / bin. Tóm lại: Không liên kết symlink bất cứ điều gì đến / usr / bin /. @psusi Lý do là để giữ cho hệ thống tập tin của bạn sạch sẽ. nếu bạn đã từng cài đặt lại máy tính của mình (hoặc chuyển sang một máy / ổ cứng khác), các thư mục duy nhất bạn cần xem phải là / home, / etc và / opt. Và hãy để tôi nhắc lại một lần nữa: Thông thường, bạn không bao giờ muốn làm bất cứ điều gì ngoài $ HOME ngoại trừ việc có thể chỉnh sửa các tệp cấu hình trong / etc.
mniess

7

/ usr có thể đọc được trên thế giới, vì vậy không, sẽ không có vấn đề gì với những người dùng khác có thể chạy chương trình. / usr / local là nơi các ứng dụng đi đến mà bạn tự biên dịch từ mã nguồn. Các chương trình được cài đặt thông qua trình quản lý gói đi nơi khác. Tôi chưa bao giờ thấy bất kỳ mục đích nào để / opt và tin rằng đó chỉ là một sự mang lại từ AT & T Sys V cũ từ những năm 80.


sự khác biệt giữa / usr / local / bin và / usr / bin là gì? Nếu tôi muốn tất cả người dùng có thể truy cập ứng dụng, tôi có nên đặt nó vào / usr / bin không?
Jiew Meng

@jiewmeng, một lần nữa, phiên bản cục bộ dành cho các chương trình mà bạn tự biên dịch từ nguồn, thay vì cài đặt thông qua trình quản lý gói. Nó không có gì để làm với người dùng và truy cập.
psusi

0

Tùy thuộc vào hương vị linux, vị trí ưa thích để cài đặt thứ gì đó bằng tay có thể khác nhau. Nếu bạn làm bằng tay, hãy làm những gì README gợi ý.

Nếu bạn tạo một người dùng mới và những người dùng cũ của bạn đã không làm gì để truy cập chương trình mới, thì những người dùng mới cũng sẽ không.

Tuy nhiên, bạn có thể tự do tạo / opt / bin và đưa nó vào đường dẫn , nhưng tại sao bạn nên? Hoặc thậm chí / lật / flop / funky / bin . Hoặc liên kết từ một nơi nào đó đến một thư mục, đã được bao gồm trong PATH .

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.