「sudo reboot」と「reboot」-違いは何ですか?


60

私は最近、私が伝えることができることからreboot、同様に機能することを発見しましたsudo reboot。しかし、多くの場合、私は人々がに言ってsudo rebootいるのを見ます。どうしてこれなの?彼らは同じで、個人的な好みですか?それとも違うのですか?sudo reboot以上のことをreboot


1
通常のユーザーによるシステムの再起動は、論理的にさえ聞こえません。ルートプロセスの実行レベル(init)の変更は、rootユーザーのみが可能です。他のユーザーがsysrqのファイルシステムショートカットにアクセスすることもできません。しかし!sysrq キーでLinuxを再起動できますが、必要ありませんsudo:)
Svetlana Linuxenko

sudo「Super-user Do」の略です。コマンド自体(これはreboot)には影響せず、単にコマンドを実行するのではなく、スーパーユーザーとして実行するだけです。他の方法では許可されていないかもしれないことを行うために使用されますが、実行される内容は変更されません。実行する権限が既にある場合はreboot、実行してくださいreboot
ロッカー

これには伝統的にルートが必要です。古い習慣は激しく壊れます。
するThorbjörnRavnアンデルセン

6
@SvetlanaLinuxenko> 通常のユーザーによるシステムの再起動は論理的にも聞こえません
カズ

の多くディストリビューションでは、rootでないと再起動できません。
user253751

回答:


114

Ubuntu 14.10以前でsudoは、必須です。

15.04中にsystemdの導入は、Ubuntuが処理する方法を変更するshutdownreboot

  1. 単一のユーザーがログインしている場合、sudo必要ありません。場合は、複数のユーザーが、その後にログインしているsudo必要があります。

  2. アプリケーションは阻害することができるshutdownreboot。これらの抑制はで上書きしますsudo

  3. 経由でログインした1人のユーザーには、sshまだが必要sudoです。


これには、複数回ログインした単一のユーザーも含まれると思います。
mckenzm

6
接続されているユーザーの数とは関係ありません。使用せずに再起動できるかどうsudoかは、マシンのコンソールに依存しています。マシンにsshする場合、sudoログインしている唯一のユーザーであっても、なしでリブートすることはできません。逆に、コンソールにいる場合はsudo、他のユーザーがいなくてもリブートできますリモート接続。
デイブシェロマン

1
@DaveSherohman:それは必ずしも真実ではありません-systemdは、あなたがログインしている唯一の人であるか、複数あるかによって、別々のpolkitアクションを使用します。つまり、ディストリビューション(またはシステム管理者)は非常に簡単に異なる動作をさせることができます。
-grawity

21

14.04マシンで、(通常のユーザーとして)入力するとreboot

reboot: Need to be root

それが違いです。

以下のようテランスはコメントで指摘し、それは私より後にシステム上で動作が異なります。ですから、おそらくあなたはタイピングに慣れている古い記事やユーザー(私のような)を見ているでしょうsudo reboot


面白い!私が今不思議に思っているのは、何かが14.04から17.10の間に変更されてrootになる必要がないrebootか、それを変更する私のシステムに他の要因があるかどうかです。
ジークエガーマン

3
@ZekeEgherman実際にコマンドのUpstartからSystemdに変更したときに違いが生じたと思います。再起動コマンドを見ると、へのリンクとしてポイントされてい/bin/systemctlます。を入力して、自分のものを確認できますls -al $(which reboot)
テランス

@terrance、へのリンクも表示さ/bin/systemct1れますが、どのバージョンですか?
ジークエガーマン

それは興味深い!18.04プレリリース仮想マシンで試してみましたが、あなたの言うとおりに機能します。@Terrance、本当の答えを書き上げるべきだと思う。
オーガニックマーブル

@ZekeEgherman 16.04。Ubuntuは、15.04にSystemdに切り替えました。そのため、14.04は、それがUpstartであるか、またはそれがあなたがそれを呼びたいものであるならinitdのままです。
テランス

9

sudo reboot互換性の理由からチュートリアル/ハウツーで使用されています

動作するreboot 可能性がありますが

  • あなたがルートまたは
  • あなたが持つホスト上にある場合systemd と、
  • 再起動をブロックしているアプリケーションがない場合

sudo rebootに関係なく、「常に」*動作します

  • あなたがルートかどうか
  • 他のユーザーがログインしているかどうか
  • ブロックしているアプリケーションがあるかどうか
  • initがsystemd、System V、Upstartであるかどうか

*まあ、それは確かに試してみます-それをブロック/誤動作しているいくつかのカーネルプロセスがなければ動作します。


sudoがインストールされていれば、常に動作します*。
アベニュー

7

私自身で何度も入力rebootすると、YouTubeやその他の開いているタブを見るとき、Chromeの阻害剤のために入力できません。だから、私はsudo rebootより大きなハンマーを使用せざるを得ません。

Ubuntu 16.04のこれ


4

議論をありがとう、今これを理解できてうれしいです!

以下のようテランスは、バージョン15.04で、述べたように、彼らはコマンドのためにsystemdに成り上がりから切り替えます。この変更により、rebootルート権限が不要になりました。

* nixコミュニティがに指示する sudo reboot理由については、いくつかの潜在的な理由があります。

  • 習慣-人々はsudo reboot再起動しなければならないことに慣れていたので、それは必要ではないにもかかわらずそれをやり続けます
  • 更新されていないユーザーsudo reboot-15.04より前のUbuntuのバージョン、またはコマンドにUpstartを使用する他のディストリビューションにいることを指示する人々。

  • 互換性-これは私にとってもっともらしいと思われるものです。人々はsudo reboot何に関係なくすべての* nixシステムで再起動することが保証されているので、人々は教えています。

追加のメモ: user535733回答から

15.04のsystemdの導入により、Ubuntuのシャットダウンと再起動の処理方法が変更されました。

  1. 単一のユーザーがログインしている場合、sudo必要ありません。場合は、複数のユーザーがログインしている場合、sudo必要となります。

  2. アプリケーションはシャットダウンと再起動を禁止できます。これらの抑制はで上書きしますsudo

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.