Я заметил, что путь по умолчанию для root на моем виртуальном компьютере и серверах не включает / usr / local / bin
sudo -s
echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin
В то время как обычные пользователи на сервере имеют / usr / local / bin
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/sowen/bin
Почему root не нужен / usr / local в пути?
Где путь по умолчанию для определенного пользователем?
/usr/local/sbin
и/usr/local/bin
по умолчанию путь root, но есть исключения./usr/local/bin
а другая без). И тот, с которым/usr/local/bin
я не мог найти, где это было установлено.Ответы:
Потому что он не настроен в соответствующих файлах запуска оболочки для root.
Традиционно
/usr/local
он использовался для неофициального, локально установленного программного обеспечения (часто для того, чтобы переопределить ошибочные / сломанные / ограниченные «официальные» версии; друг сказал, что первым шагом, когда появилось новое SunGNU > /usr/local
). Какroot
и везде, любая ошибка или неправильный дизайн в программах, которые он запускает, может быть фатальной. Само собой разумеется, что к запуску, например, локальной, экспериментальной версииmake
root, следует относиться с осторожностью. Лучше сделать дополнительный шаг, указав явный путь.источник