ウェブサイト検索

Linuxの再起動コマンドの説明(例付き)


紹介

リブートは、どのLinuxシステムにとっても基本的な管理タスクですが、しばしば誤解されたり誤用されたりします。クラウドサーバーを維持している場合、ノートパソコンでUbuntuを実行している場合、または自動再起動のスクリプトを作成している場合、システムを適切にリブートする方法を理解することは、システムの安定性とデータ整合性にとって重要です。

この包括的なチュートリアルは、

  • reboot コマンドとその代替手段について説明してください
  • 安全な再起動の実践を示す
  • 異なる再起動シナリオの処理方法を示す
  • 一般的な問題に対するトラブルシューティングのヒントを提供します
  • 異なる再起動方法とその使用ケースを比較する

Linuxにおけるrebootコマンドとは何ですか?

Linuxのrebootコマンドは、オペレーティングシステムをクリーンに再起動するためのシステムユーティリティです。これはシステム管理者にとって重要なツールです。

  • システム更新を適用中
  • パフォーマンスの問題を解決する
  • 構成変更を実施する
  • システムの不安定から回復中

Linuxコマンドに不慣れな場合は、コマンドライン操作の基本を理解するために、「Linuxターミナル入門」というガイドから始めることをお勧めします。

構文

reboot [OPTION]...

基本的なリブートコマンドの使用法

すぐに再起動してください

sudo reboot

これはコマンドの最も一般的な形式です。システムに即座に再起動するよう指示します。このコマンドを実行するには、通常、sudo権限が必要です。他の重要なLinuxコマンドの簡単な参考については、私たちのLinuxコマンドチートシートをチェックしてください。

ターミナルからLinuxを再起動する方法

ターミナルから再起動するには、以下のいずれかの方法を使用します:

sudo reboot

または :

sudo shutdown -r now

または、systemctlを使用して:

Method 1: Using reboot command
sudo reboot

Method 2: Using shutdown command
sudo shutdown -r now

Method 3: Using systemctl (modern systems)
sudo systemctl reboot

それぞれの方法には利点があります。

方法最適ノート
reboot
迅速で即座な再起動シンプルで直接的
shutdown -r
定期的な再起動ユーザーに通知し、遅延を設定できます。
systemctl reboot
現代のLinuxシステムsystemd サービスと統合します

Linux再起動コマンドオプション

rebootコマンドを特定のフラグで強化することができます:

オプション説明
-f
シャットダウンせずに即時再起動を強制する
--help
ヘルプ情報を表示する
--no-wall
ログインしているユーザーへの警告放送を抑制する

例:

sudo reboot -f

警告: -f フラグは、通常のシャットダウン手順を実行せずに即座に再起動を強制します。これにより、以下のことが発生する可能性があります:

  • 保存されていないデータが失われています
  • 不完全なファイルシステム操作
  • 潜在的なシステム状態の不整合。このオプションは、システムが通常の再起動コマンドに完全に応答しない場合など、絶対に必要な場合のみ使用してください。

shutdownを使用して再起動する

「shutdown」コマンドを使用し、-rフラグを付けて再起動できます:

sudo shutdown -r +5

これにより5分後に再起動がスケジュールされます。

または即座に再起動すること:

sudo shutdown -r now

関連: Linuxコマンドチートシート

systemctlを使用して再起動する

現代のシステムでは systemd を使用することが好まれます。

sudo systemctl reboot

この方法はクリーンであり、Ubuntu 20.04以降のディストリビューションで推奨されます。

systemdについてもっと学びたいですか?
最新のLinuxシステムでのサービス管理をマスターするために、systemdサービスとユニットを管理する方法に関する包括的なガイドをご覧ください。

Linuxシステムの強制再起動

時々、通常の再起動ではうまくいかないことがあります。そのような場合は:

sudo reboot -f

または :

echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

注意: 強制再起動は最後の手段であるべきです。これにより、OSがプロセスをクリーンアップしたり、ディスクバッファをフラッシュすることができなくなります。

安全な再起動の実践

Linuxシステムを再起動する前に、スムーズで安全な再起動を確実にするために、これらの重要なステップに従うことが重要です:

  1. 実行中のプロセスを確認する

    再起動によって影響を受ける可能性のある重要なプロセスを特定してください。

    ps aux | grep important_process
    

    このコマンドはすべての実行中のプロセスを表示し、特定のものをフィルタリングします。important_processをモニターしたい重要なサービスやアプリケーションの名前に置き換えてください。さらにプロセス管理コマンドについては、Linuxコマンドチートシートをご参照ください。

  2. ユーザーに通知

    ログイン中のすべてのユーザーに、データ損失を防ぐために今後の再起動について通知してください:

    wall "System will reboot in 5 minutes for maintenance"
    

    壁コマンドはすべてのユーザーの端末にメッセージをブロードキャストします。システムのニーズに応じて時間を調整することを検討してください。

  3. システムの状態を確認

    システムサービスの健康状態を確認し、エラーがないかチェックしてください:

    systemctl status
    journalctl -xe
    
    • systemctl status はすべてのsystemdサービスの状態を表示します。
    • journalctl -xeは、詳細なエラー情報を含む最近のシステムログを表示します。

    systemd サービスの管理に関する詳細情報については、systemctl を使用して systemd サービスとユニットを管理する方法に関するガイドを参照してください。

  4. ディスクスペースの確認

    再起動する前に十分なディスクスペースがあることを確認してください:

    df -h
    

    このコマンドは、人間が読みやすい形式でディスク使用量を表示します。容量が上限に近いパーティション(90%以上)を探してください。

  5. 重要なデータのバックアップ

    再起動する前に重要なファイルのバックアップを作成してください:

    Example: Backup important files
    tar -czf backup.tar.gz /path/to/important/files
    

    tar コマンドは圧縮アーカイブを作成します。バックアップが必要な実際のパスで /path/to/important/files を置き換えてください。

再起動の一般的な使用例

1. カーネルまたはパッケージの更新後に再起動する

After updating packages
sudo apt update && sudo apt upgrade
sudo reboot

2. SSHを介してクラウドサーバーを再起動する

Connect to server
ssh user@server_ip

Check system status
uptime
systemctl status

Perform reboot
sudo reboot

3. スクリプト内の自動再起動

#!/bin/bash
Example script for scheduled maintenance
logger "Starting scheduled maintenance reboot"
wall "System maintenance in 5 minutes"
sleep 300
sudo reboot

より高度なサービス管理と自動化をsystemdで実現するために、カスタムサービスの作成と管理方法を含めて、systemctlを使用してsystemdサービスとユニットを管理する方法に関する包括的なガイドをチェックしてください。

4. 緊急再起動

Only use when necessary
sudo reboot -f

再起動が機能しないとき

「再起動コマンドが見つかりません」

次のコマンドでインストールしてください:

sudo apt install systemd-sysv  # For Debian/Ubuntu

または使用する:

sudo systemctl reboot

「操作は許可されていません」

おそらく sudo またはルートアクセスが必要です。

Linuxの再起動とシャットダウン

機能再起動シャットダウン -r 今
デフォルトの動作即時再起動予定されたまたは即時
柔軟性限られた選択肢簡単に再起動をスケジュールする
メッセージングユーザーユーザーに通知します壁に対してより柔軟性がある

shutdownを使用して、より多くの制御とユーザー通知を行います。迅速な操作にはrebootを使用してください。

レガシー: init 6で再起動する

SysVシステムでは:

sudo init 6

これは古く、systemdを使用する現代のシステムでは推奨されません。

ベストプラクティスとセキュリティのヒント

  • sudoを使用してください: 必要でない限り、rootとしてコマンドを実行することは避けてください。私たちのターミナルガイドでLinuxの権限とsudoの使用法についてもっと学びましょう。
  • ユーザーに通知: マルチユーザーシステムでの突然の中断を避けてください。
  • 必要な場合を除き、強制フラグは避けてください。
  • アクションを記録する: logger "XYZのためにシステムを再起動しています"を使用してください。ログとシステムコマンドの包括的なリストについては、Linuxコマンドのチートシートをご覧ください。

よくある質問

1. ターミナルからLinuxサーバーを再起動するにはどうすればよいですか?

A: ターミナルからLinuxサーバーを再起動する方法はいくつかあります。

Method 1: Using reboot command
sudo reboot

Method 2: Using shutdown command
sudo shutdown -r now

Method 3: Using systemctl (modern systems)
sudo systemctl reboot

各メソッドにはそれぞれの使用ケースがあります。

  • 再起動は簡単で迅速です
  • shutdown -r は、タイミングとユーザー通知の制御をより強化します
  • 現代のsystemdベースのディストリビューションでは、systemctl rebootが推奨されます。

2. rebootとshutdown -r nowの違いは何ですか?

A: 両方のコマンドは同じ結果を達成しますが、それぞれ異なる機能があります。

  • rebootはより簡単で、即時再起動のために設計されています
  • shutdown -rはより柔軟性を提供します:

    • 再起動をスケジュールできます(例:shutdown -r +5 は5分後に再起動)
    • より良いユーザー通知オプションを提供します
    • スケジュールされた再起動のキャンセルを許可します
    • 再起動プロセスの詳細なログ記録

3. 本番サーバーを安全に再起動するにはどうすればよいですか?

A: 安全なプロダクションサーバーの再起動のために、次の手順に従ってください:

  1. ユーザーとステークホルダーに通知する

    wall "Server maintenance scheduled in 10 minutes"
    
  2. システムの状態を確認する

    systemctl status
    uptime
    df -h
    
  3. 通知付きで再起動をスケジュールする

    sudo shutdown -r +10 "Server maintenance"
    
  4. 再起動プロセスを監視する

    journalctl -f
    
  5. 再起動後にサービスを確認する

    systemctl status
    
    View logs from logger command
    journalctl -t logger
    
    Or check system logs for reboot entries
    grep reboot /var/log/syslog
    

4. 通常の再起動が失敗した場合、私は何をすればよいですか?

A: 通常の再起動が失敗した場合は、このトラブルシューティング手順に従ってください:

  1. まず、代替再起動方法を試してください。

    sudo shutdown -r now
    sudo systemctl reboot
    
  2. ハングしているプロセスを確認します:

    ps aux | grep -i "D"
    
  3. システムログを確認してください:

    journalctl -xe
    Check reboot-related logs
    journalctl -t logger
    grep reboot /var/log/syslog
    
  4. 最終手段として、強制再起動を使用してください:

    sudo reboot -f
    
  5. 全てが失敗した場合は、魔法のSysRqキーを使ってください:

    echo 1 > /proc/sys/kernel/sysrq
    echo b > /proc/sysrq-trigger
    

5. メンテナンスのためにサーバーの再起動を自動化するにはどうすればいいですか?

A: サーバーの再起動は、いくつかの方法を使って自動化できます。

  1. 定期的な再起動のためのcronの使用

    Add to crontab
    0 3 * * 0 root /sbin/shutdown -r +5 "Weekly maintenance"
    
  2. systemd タイマーの使用

    Create a timer unit
    [Unit]
    Description=Weekly Reboot
    
    [Timer]
    OnCalendar=Sun 03:00
    Persistent=true
    
    [Install]
    WantedBy=timers.target
    
  3. シェルスクリプトを使用して

    #!/bin/bash
    logger "Starting scheduled maintenance"
    wall "System maintenance in 5 minutes"
    sleep 300
    sudo reboot
    

覚えておいてください:

  • 自動再起動の前に常にユーザーに通知してください

  • 低トラフィック時期にメンテナンスウィンドウを選択してください

  • 再起動プロセスを監視する

  • 問題が発生した場合に備えてロールバックプランを用意しておいてください。

  • 自動再起動後のログを確認してください:

    View maintenance logs
    journalctl -t logger
    Check system logs for reboot entries
    grep reboot /var/log/syslog
    

6. 再起動コマンドを使うのにsudoは必要ですか?

A: はい、rebootコマンドを使用するにはsudo権限が必要です。これは、再起動がシステム全体の操作であり、すべてのユーザーやプロセスに影響を与えるためです。標準ユーザーには、セキュリティ上の理由からシステムの再起動を開始するための必要な権限がありません。システムを再起動するには、sudoを使用する必要があります。

7. システムを安全に再起動するにはどうすればよいですか?

A: 再起動する前に:

  • すべての作業を保存してください。
  • ユーザーに通知してください。
  • 必要であればディスクをアンマウントしてください。
  • 使用する :
sudo shutdown -r +1

クリーンな再起動のための時間を与えるために。

8. rebootが動作しない場合はどうすればいいですか?

A: shutdown -r now または systemctl reboot を試してください。それが失敗した場合は、ファイルシステムのエラー、ハングプロセス、または権限の問題を確認してください。最後の手段として、強制再起動(reboot -f)を使用できますが、データ損失を引き起こす可能性があります。

結論

linux再起動コマンドはシンプルでありながら強力です。それは、システムメンテナンスを行ったり、アップデートを適用したり、システムレベルのエラーを解決したりするために不可欠です。手動で再起動する場合、再起動を自動化する場合、またはリモートクラウドサーバーを維持する場合でも、Linuxの再起動コマンドのニュアンスを理解することは、安定性を維持し、一般的な落とし穴を避けるのに役立ちます。

Linuxコマンドライン操作をより深く理解するために、環境変数、コマンドの実行、シェルナビゲーションなどの基本的な概念を扱った「Linuxターミナル入門ガイド」をご覧ください。

学び続ける:
systemctlを使用してsystemdサービスとユニットを管理する方法
Linuxコマンド チートシート

システム管理をマスターする準備はできていますか?
私たちの「Linuxターミナル入門」をもっと探求して、コマンドラインスキルを今日向上させましょう。

関連記事: