在 dist 升级(Debian 9 到 Debian 10)之后,有些功能停止工作。
例如,iwconfig
,losetup
,ifconfig
,poweroff
,pm-hibernate
。
如果我输入完整路径,这些命令就会起作用,例如/sbin/iwconfig
我PATH
的是/home/<myusername>/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin:/home/<myusername>/.local/bin
我应该改变路径来添加/sbin
/usr/sbin
它吗?
同样,emacs 找不到/home/<myusername>/.emacs
,我应该将我的主目录添加到路径中吗?
答案1
我应该更改路径以将 /sbin /usr/sbin 添加到其中吗?
是的。您应该将/sbin
,/usr/sbin
和添加/usr/local/sbin
到您的 PATH 中。
将系统管理目录 (
/sbin
、/usr/sbin
、/usr/local/sbin
) 放入常规帐户的 PATH 中(请参阅环境变量寻求帮助)。
答案2
我对这种情况的建议(文件名可能会有所不同,因为我现在最接近的 Debian 机器是 Ubuntu 机器,它仍然是基于 Debian 的)。
- 将“用户定义”应用程序保留在“用户定义”路径变量中。在具有多个用户的计算机上,如果将它们添加到“系统范围”路径,则这些应用程序理论上对所有其他用户都是可见的,即使它们可能没有执行权限(如果它们不属于同一组)例如,你是。可以通过将以下行附加到
/home/<myusername>/.emacs
应用程序来添加~/.bashrc
或归档该应用程序。~/.profile
export PATH=$PATH:/home/<USER>/<APPLICATION_PATH>
- 将“系统范围”应用程序保留在“系统范围”路径中。在具有多个用户的计算机上,如果将它们添加到“用户定义”路径,则这些应用程序对其他用户不可见。您的应用程序可以通过附加以下行来
/sbin/<APPLICATION_PATH>
添加到文件中。/etc/profile
export PATH=$PATH:/sbin/
~/.bashrc
和文件~/.profile
是在“每次登录”或“每个终端会话”的基础上读取的(更多详细信息这里),因此它们不适合多个用户必须有权访问的“系统范围”应用程序,在这种情况下该/etc/profile
文件可能更合适(更多详细信息这里)。