![`sudo reboot` 与 `reboot` - 有什么区别?](https://linux22.com/image/1005816/%60sudo%20reboot%60%20%E4%B8%8E%20%60reboot%60%20-%20%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
我最近发现,据我所知, 的reboot
效果与 一样好sudo reboot
。然而,在很多情况下,我看到人们对 表示sudo reboot
。为什么会这样?它们是一样的,只是个人喜好吗?还是它们不同? 比 效果sudo reboot
更好吗reboot
?
答案1
在 Ubuntu 14.10 及更早版本中sudo
是必需的。
15.04 中 Systemd 的引入改变了 Ubuntu 处理的方式shutdown
:reboot
当单个用户登录时,
sudo
不需要。当超过一个sudo
然后需要用户登录。应用程序可以抑制
shutdown
和reboot
。您可以使用来克服这些抑制sudo
。通过 登录的单个用户
ssh
仍然需要sudo
。
答案2
在我的 14.04 机器上,当我(作为普通用户)输入时reboot
,我得到
reboot: Need to be root
这就是区别。
作为特伦斯评论中指出,它在比我的系统更新的系统上的工作方式不同。所以你看到的可能是旧的写作和/或习惯于打字的用户(比如我)sudo reboot
!
答案3
sudo reboot
用于教程/指南兼容性原因
尽管reboot
可能工作
- 如果你是root或者
- 如果你在
systemd
和 - 如果没有应用程序阻止重启
sudo reboot
将要 ”总是“* 工作,无论
- 你是否是root
- 是否有其他用户登录
- 是否有应用程序阻止
- 无论 init 是 systemd、System V、Upstart 还是其他
* 好吧,它肯定会尝试 - 只要有一些内核进程阻塞/行为不当它就应该可以工作。
答案4
感谢讨论,我很高兴现在明白了这一点!
作为特伦斯提到,在 15.04 版本中,他们将命令从 Upstart 切换到 Systemd。此更改意味着reboot
不再需要 root 权限。
至于为什么 *nix 社区指示 sudo reboot
,有几个可能的原因:
- 习惯——人们已经习惯了
sudo reboot
重启,尽管没有必要,但他们还是会继续这样做 未更新的用户——指导人员使用的
sudo reboot
是低于 15.04 的 Ubuntu 版本,或其他使用 Upstart 命令的发行版。兼容性——这对我来说似乎是最合理的:人们之所以指示这样做,
sudo reboot
是因为无论如何,它都能保证在所有 *nix 系统上重新启动。
15.04 中引入的 systemd 改变了 Ubuntu 处理关机和重启的方式:
当单个用户登录时,
sudo
不需要。当超过一个用户登录后,则sudo
需要。应用程序可以禁止关机和重启。您可以使用 来覆盖这些禁止操作
sudo
。