Tại sao root không có / usr / local trong đường dẫn?


18

Tôi đã nhận thấy rằng đường dẫn mặc định cho root trên máy chủ và máy chủ của tôi không bao gồm / usr / local / bin

sudo -s  
echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin

Trong khi người dùng bình thường trên máy chủ có / usr / local / bin

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/sowen/bin

Tại sao root không cần / usr / local trong đường dẫn?

Đâu là đường dẫn mặc định cho người dùng được xác định?


Nó là gì trên hệ điều hành? Hầu hết đều có /usr/local/sbin/usr/local/bintrên đường dẫn mặc định của root, nhưng vẫn có ngoại lệ.
Gilles 'SO- ngừng trở nên xấu xa'

Chỉ cần gặp một sự khác biệt kỳ lạ giữa hai máy ảo RHEL 6.4 (một có /usr/local/binvà không có). Và một trong những /usr/local/bin, tôi không thể tìm thấy nơi nó đã được thiết lập.
batfastad

Câu trả lời:


18

Bởi vì nó không được thiết lập trong các tệp khởi động shell có liên quan cho root.

Theo truyền thống, /usr/localđã được sử dụng cho phần mềm không chính thức, được cài đặt cục bộ (thường để ghi đè các phiên bản "chính thức" bị lỗi / bị hỏng / giới hạn; một người bạn đã nói rằng bước đầu tiên khi Mặt trời mới xuất hiện GNU > /usr/local). Như rootlà toàn năng, bất kỳ sai lầm hoặc xác định sai trong các chương trình mà nó chạy có thể gây tử vong. Lý do là chạy ví dụ như một phiên bản thử nghiệm cục bộ của makeroot nên được xử lý thận trọng. Tốt hơn là nó đi thêm bước đưa ra một con đường rõ ràng.

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.