`sudo reboot` 与 `reboot` - 有什么区别?

`sudo reboot` 与 `reboot` - 有什么区别?

我最近发现,据我所知, 的reboot效果与 一样好sudo reboot。然而,在很多情况下,我看到人们对 表示sudo reboot。为什么会这样?它们是一样的,只是个人喜好吗?还是它们不同? 比 效果sudo reboot更好吗reboot

答案1

在 Ubuntu 14.10 及更早版本中sudo是必需的。

15.04 中 Systemd 的引入改变了 Ubuntu 处理的方式shutdownreboot

  1. 当单个用户登录时,sudo不需要。当超过一个sudo然后需要用户登录。

  2. 应用程序可以抑制shutdownreboot。您可以使用来克服这些抑制sudo

  3. 通过 登录的单个用户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 系统上重新启动。

补充说明:来自 用户535733回答

15.04 中引入的 systemd 改变了 Ubuntu 处理关机和重启的方式:

  1. 当单个用户登录时,sudo不需要。当超过一个用户登录后,则sudo需要。

  2. 应用程序可以禁止关机和重启。您可以使用 来覆盖这些禁止操作sudo

相关内容