我安装了最新版本的 Debian (netinstall)。
我遇到的问题是,终端不知道 、 等shutdown
命令reboot
。
当我whereis shutdown
这样做时,它告诉我它在/usr/sbin
.
/usr/sbin
我通过写入写入的/etc/profile
位置尝试在不同的安装上修复了此问题$PATH
。
但这一次没有成功。
我看了这个:https://wiki.debian.org/EnvironmentVariables,但要么这些文件不存在,要么我不知道该路径放在哪里。
而且做的事情export PATH=$PATH:usr/sbin
不是永久的,重启后就消失了,所以这也是垃圾。
编辑:等等,也许我必须更改 PATH /etc/environment
?!
当我再次尝试 Debian 时,我必须对此进行测试。
答案1
/sbin
和目录中的二进制文件/usr/sbin
只能由超级用户/sudoers 运行。如果您想在其中运行任何内容,请在命令前加上sudo
.不过,您的用户需要是该sudoers
组的成员。
$ sudo shutdown -P +0
为了证明概念,请尝试which shutdown
vs sudo which shutdown
。
答案2
弄清楚了,你走在正确的道路上export PATH="$PATH:/usr/sbin"
。你所要做的就是编辑你的.bashrc
文件,然后放在export PATH="$PATH:/usr/sbin"
底部,保存,关闭。然后它将永久有效。
答案3
SystemD 通过polkit
身份验证代理允许您透明地执行这些命令(shutdown
/ reboot
...):
systemctl poweroff
关闭系统。
你甚至可以创建一个 Bash 别名:
alias shutdown="systemctl poweroff"
然后shutdown
透明地使用。
答案4
Debian - 无法关闭/重新启动我的 Debian(“bash:关闭:找不到命令”)
以 root 身份登录并执行...
echo '
export PATH="$PATH:/usr/sbin"
' | tee -a /root/.bashrc
...或者明确告诉su
设置环境变量,就像用户直接登录一样...
su -
额外的:
将用户添加到 sudo 组
usermod -aG sudo <USERNAME>
以 root(或具有 root 权限)帐户执行此操作。
[参考文献:https://unix.stackexchange.com/a/664942/61742,https://superuser.com/a/1539749/195840]