Недавно установлена CentOS, и многие команды не работают:
[root@zrebirth zeno]# quotacheck
bash: quotacheck: command not found
[root@zrebirth zeno]# adduser
bash: adduser: command not found
[root@zrebirth zeno]# warnquota
bash: warnquota: command not found
[root@zrebirth zeno]# edquota
bash: edquota: command not found
Но все они существуют, поэтому их нельзя связывать:
/sbin/quotacheck
/usr/sbin/adduser
/usr/sbin/warnquota
/usr/sbin/edquota
Я уверен, что есть еще кое-что. Есть ли способ быстро исправить все это (даже те, которых я не знаю), не выполняя каждое из них вручную?
Похоже, что вам просто нужно изменить свой $ PATH. В следующей статье рассказывается, как это сделать.
В моей установке CentOS по умолчанию в качестве пути указан только / bin. Поэтому, если я хочу ввести любые другие команды, которые находятся за пределами пути / bin, мне нужно либо полностью ввести команду, такую как «/ sbin / command», либо добавить эти пути.
[blah~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
Из документации centos (http://wiki.centos.org/TipsAndTricks/BecomingRoot):
Команды для обычных пользователей в основном находятся в / usr / local / bin, / usr / bin и / bin. Тем не менее, команды root в основном расположены в / usr / local / sbin, / usr / sbin и / sbin, и это отражает PATH root. Когда вы становитесь пользователем root с помощью 'su -', вы также принимаете PATH root, тогда как используете только 'su 'сохраняет исходный пользовательский PATH, поэтому, если стать пользователем root с помощью только' su 'и попытаться запустить команду, расположенную в / usr / local / sbin, / usr / sbin или / sbin, вы получите ошибку' command not found '. Более подробное объяснение см. На странице руководства bash (man bash), особенно в разделе ВЫЗОВ и оболочки входа.
Вам нужно использовать «су -», а не «су».