Сравните Debian (слева) и Ubuntu (справа):
$ ifconfig $ ifconfig
bash: ifconfig: command not found eth0 Link encap ...
$ which ifconfig $ which ifconfig
$ /sbin/ifconfig
Тогда как суперпользователь:
# ifconfig # ifconfig
eth0 Link encap ... eth0 Link encap ...
# which ifconfig # which ifconfig
/sbin/ifconfig /sbin/ifconfig
Более того:
# ls -l /sbin/ifconfig # ls -l /sbin/ifconfig
-rwxr-xr-x 1 root root 68360 ... -rwxr-xr-x 1 root root 68040 ...
Мне кажется, единственная причина, по которой я не могу работать ifconfig
без суперсил в Debian, заключается в том, что это не на моем пути. Когда я использую /sbin/ifconfig
это работает.
Есть ли причина, по которой я не должен добавлять /usr/local/sbin:/usr/sbin:/sbin
свой путь в Debian? Это персональный компьютер, я единственный человек-пользователь.
Используемые версии ( uname -a
):
Ubuntu:
Linux ubuntu 3.13.0-51-generic #84-Ubuntu SMP Wed Apr 15 12:08:34 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Debian:
Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux
/usr/local/sbin:/usr/sbin:/sbin
стандартную переменную PATH для обычных пользователей. Подход Ubuntu кажется более удобным для всех, кроме самых опытных пользователей.Ответы:
В Политике Debian написано, что Debian следует Стандарту Иерархии Файлов версии 2.3. Примечание № 19 к стандарту гласит:
Краткий ответ:
Как отмечается в записке, нет никаких причин, почему вы не должны этого делать. Поскольку вы используете систему только вы и вам нужны двоичные файлы в
sbin
каталогах, не стесняйтесь добавлять их в свои$PATH
. На этом этапе позвольте мне дать вам отличный ответ, как это сделать правильно.источник
Единственная причина не добавлять их состоит в том, что это делает завершение команд командами медленнее (так как поиск по большему количеству каталогов) и менее эффективным (так как более вероятно, что совпадения с командами будут ложными, что не имеет смысла использовать не-root ).
источник