Linux基本コマンドTips一?
本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具?的な?行例までを分かりやすく紹介していきます。今回は、CUI(Character User Interface)/GUI(Graphical User Interface)などのシステムモ?ドの切り替えに使える「
init
」コマンドと「
systemctl
」コマンドです。
initは全てのプロセスの“親”となるコマンドで、プロセスを制御する他、OS全?の動作モ?ドを示す「ランレベル」を?更することができます。Linuxカ?ネルはメモリに?み?まれるとデバイスなどのチェックを行い、initを起動します。initは「/etc/inittab」に?いさまざまなプロセスを起動します。
ランレベル
|
動作モ?ド
|
0
|
halt(停止)
|
1
|
シングルユ?ザ?モ?ド
|
2~5
|
マルチユ?ザ?モ?ド
|
6
|
reboot(再起動)
|
|
ランレベル「2」~「5」が通常の起動モ?ドで、システム設定によってネットワ?クの有無を切り替えたり、X Window Systemを使用するかどうか(GUIにするかどうか)を切り替えたりします。
initコマンドのオプションは次の通りです。
オプション
|
意味
|
-t 秒?
|
?際に動作を始めるまで(シグナルを送るまで)の時間を指定
|
※?際に動作しているのがsystemdの場合、このオプションは使用できません
|
昨今のLinuxでは、initに代わって「systemd」というシステムが導入されています。systemdシステムでは、各種サ?ビスを「ユニット」?位で管理することができます。ここで使われているがsystemctlコマンドです。
??は“initコマンドでランレベルを?更”のように知られていた操作も、現在は「シンボリックリンク」として?っているのみで、?際にはsystemctlコマンドが使われています。
また、??は「reboot」コマンドや「shutdown」コマンドで?行していた再起動/シャットダウン操作も、現在はsystemctlコマンドが使用されています(
[?考]rebootコマンドとpoweroffコマンドの??
)。
コマンド(動作モ?ド?連)
|
?容
|
get-default タ?ゲット
|
デフォルトのモ?ドを確認する
|
set-default タ?ゲット
|
デフォルトのモ?ドを?更する
|
isolate タ?ゲット
|
現在のモ?ドを?更する
|
default
|
デフォルトのモ?ドにする
|
rescue
|
レスキュ?モ?ドに入る
|
emergency
|
緊急モ?ドに入る
|
halt
|
シャットダウンして終了する
|
poweroff
|
シャットダウンして電源オフ
|
reboot
|
シャットダウンして再起動する
|
suspend,hibernate,hybrid-sleep
|
休止モ?ドに入る
|
|
systemctlコマンドのオプションは次の通りです。
オプション
|
意味
|
--no-wall
|
他のモ?ドに入る際にログイン中の他のユ?ザ?にメッセ?ジを表示しない
|
|
CentOS(Red Hat系システム)の場合は、initコマンドでCUI/GUIの動作モ?ドを切り替えることができます。
init 3
:CUIモ?ドにする
init 5
:GUIモ?ドにする
(?座に切り替わるので?行?面はありません。管理者?限で?行する必要があります)
なお、GNOME環境など、GUI用のソフトウェアがインスト?ルされていない場合は、「init 5」コマンドを?行してもグラフィカルモ?ドには切り替わりません。
また、UbuntuでGUI環境からCUI環境に切り替えたい場合は、[Ctrl]+[Alt]+[F1](F1~F6)キ?を使うとよいでしょう。[Ctrl]+[Alt]+ファンクションキ?は、?想コンソ?ルを切り替えるためのキ?操作になります。[Ctrl]+[Alt]+[F7]キ?で元のモ?ドに?ることができます。
systemctlコマンドは「
systemctl コマンド
」という?行スタイルで、システム?連のさまざまな操作を行います。現在の動作モ?ドを切り替える場合は、「
isolate
」コマンドを使います。
動作モ?ドはinitコマンドのランレベルのような?字ではなく、“タ?ゲット”で表します。CUI環境はいわば複?ユ?ザ?でログインできる通常モ?ドということで「
multi-user.target
」、GUI環境は「
graphical.target
」という名前が付いています。
systemctl isolate multi-user.target
:CUIモ?ドにする
systemctl isolate graphical.target
:GUIモ?ドにする
systemctl default
:デフォルトのモ?ド(起動時のモ?ド)にする
(管理者?限で?行する必要があります)
コマンド(タ?ゲット)
|
動作モ?ド
|
rescue.target
|
レスキュ?モ?ド
|
emergency.target
|
緊急モ?ド
|
multi-user.target
|
CUIモ?ド
|
graphical.target
|
GUIモ?ド
|
|
システム起動時の動作モ?ドを?更したい場合は、「
set-default
」コマンドを使用します。また、現在の設定は「
get-default
」コマンドを使い、「systemctl get-default」で確認することができます(
?面1
)。
systemctl get-default
:デフォルトのモ?ド(起動時のモ?ド)にする
systemctl set-default multi-user.target
:デフォルトをCUIモ?ドにする
systemctl set-default graphical.target
:デフォルトをGUIモ?ドにする
(set-defaultは管理者?限で?行する必要があります)
?面1
「systemctl get-default」で現在のモ?ドを確認し、「systemctl set-default」で起動モ?ドを?更している
「
レスキュ?モ?ド
」は、どうしても終了しないプロセスがあるなどの?況でシステムを修復する場合に使うモ?ドです。「シングルユ?ザ?モ?ド(init 1)」とほぼ同等ですが、システムの設定によってはネットワ?クシステムを使う、使わないなどの違いがあるかもしれません。
systemctl rescue
(管理者?限で?行する必要があります)
レスキュ?モ?ドにも入れない場合は、「
緊急モ?ド
」を使用します。
systemctl emergency
(管理者?限で?行する必要があります)
それぞれ、レスキュ?モ?ドの「
systemctl isolate rescue.target
」、緊急モ?ドの「
systemctl isolate emergency.target
」とほぼ同じ動作ですが、isolateコマンドを使う場合と異なり、ログインしている他のユ?ザ?に?し「The system is going down to rescue mode NOW!」などのメッセ?ジを送信します。
systemctlコマンドでは「
systemctl isolate runlevel3.target
」のように、initで使用されていたランレベルでも?行できるようになっています。それぞれシンボリックリンクとなっており、各タ?ゲットとの??は「
ls
」コマンドで確認できます(
?面2
)。
ls -l /usr/lib/systemd/system/runlevel*.target
?面2
「/usr/lib/systemd/system/」にある「runlevel」から始まる名前のファイルを一?表示している
他にもたくさんあるので、興味がある方は「
ls -l /usr/lib/systemd/system/*.target
」で表示して見ると面白いかもしれません。
PC-9801N/PC-386MからのDOSユ?ザ?。1992年より生産管理のパッケ?ジソフトウェアの開?およびサポ?ト業務を??。のち退社し、?業ライタ?として活動を開始。著書に『?解でわかるLinux』『らぶらぶLinuxシリ?ズ』『はじめてでもわかるSQLとデ?タ設計』『シェルの基本テクニック』など。2011年より、地方自治?の在宅就業支援事業にてPC基礎およびMicrosoft Office?連の?材作成およびeラ?ニング指導を??。