起動
起動:記事リスト
起動のカテゴリーには以下の記事がリストされています。
Linux起動パフォーマンスを確認する(systemd-analyze)
起動パフォーマンスを確認したい場合には、systemd-analyzeを使用します。
systemd-analyzeを使用するには、
systemdを採用しているLinuxシステムで
root権限、またはsudo権限を持つユーザーが必要です。
systemd-analyzeでsystemdのパフォーマンス分析
$ sudo systemd-analyze
Startup finished in 9.525s (kernel) + 31.979s (initrd) + 3min 56.751s (userspace) = 4min 38.256s
上記の実行例の結果は次の通りになります。
・カーネル (kernel):9.525s
・初期RAMディスク(initrd) :31.979s
・ユーザースペース:3min 56.751s
・合計:4min 38.256s
すべてのサービスの状態を把握する
すべてのサービスの状態を把握するには、
/sbin/serviceコマンドに--status-allオプションを指定して実行します。
# /sbin/service --status-all
NetworkManager は停止しています
acpid は停止しています
anacron は停止しています
atd (pid 1518) を実行中...
auditd (pid 1195) を実行中...
automount (pid 1280) を実行中...
Avahi デーモンは実行中ではありません
Avahi DNS デーモンは実行していません
一般ユーザーでも実行できますが、すべてのサービスの状態は表示されません。
サービスの状態を把握する
各種サービスの状態を把握するには、
serviceコマンド、または各種サービススクリプトの引数にstatusを指定します。
■サービススクリプトの引数にstatusを指定した場合
$ /etc/init.d/ntpd status
ntpd (pid 1320) を実行中...
$ /etc/init.d/network status
設定されたデバイス:
lo eth0 eth1
現在活動中のデバイス:
lo eth0 eth1
■serviceコマンドの引数にstatusを指定した場合
$ /sbin/service ntpd status
ntpd (pid 1320) を実行中...
$ /sbin/service network status
設定されたデバイス:
lo eth0 eth1
現在活動中のデバイス:
lo eth0 eth1
サービスのステータス確認は、一般ユーザーでも行えます。
CentOS6の起動時に詳細情報を表示する
CentOS6になり、起動時の詳細情報が表示されなくなり、
進捗バー表示(スプラッシュ画面)になりました。
起動時に詳細情報を表示するには、下記のように操作します。
1.CentOS6を起動時に下図進捗バーが表示されたら「→」キーか、「Esc」キーを押下します。
![]()
(スプラッシュ画面)
進捗バーに戻す時は、「←」キーを押下します。
また、恒久的に起動時に詳細情報を表示させたい場合は、
「/etc/grub.conf」ファイルを編集します。
[root@Tiger ~]# vi /etc/grub.conf
kernel /vmlinuz-2.6.32-279.el6.i686 ro root=/dev/mapper/vg_tiger-lv_root rd_LVM_LV=vg_tiger/lv_swap rd_NO_LUKS rd_NO_MD rd_LVM_LV=vg_tiger/lv_root crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=jp106 LANG=ja_JP.UTF-8 rd_NO_DM rhgb quiet
上記の行の行末にある「rhgb quiet」を削除して保存します。
この設定を行うことで、次回起動時から詳細情報が表示されるようになります。
Linuxをシングルユーザーモードで起動する
シングルユーザーモードとは、必要最小限のデーモンを起動し、
パスワード入力することなく、rootアカウントでログインするモードになります。
主にメンテンスや、障害時の調査に使用するモードになります。
※例ではCentOS6.3を使用しています。
1.「Press any key・・・」の画面で「ESC」キーを押下します。
![]()
2.「CentOS・・・」と表示されるので、そのまま「e」キーを押下します。
![]()
3.「kernel・・・」で始まる行にカーソルを合わせ、「e」キーを押下します。
![]()
4.行末に「single」を追記して、「Enter」キーを押下します。
![]()
6.下図のようにコマンドプロンプトが表示されれば、シングルユーザーモードで起動しています。
![]()
シングルユーザーモードを終了する場合は、rebootコマンドでシステムを再起動します。
Linuxをレキューモードで起動する
Linuxの設定変更に失敗した場合や、OSが何らかの不具合で起動しなくなった場合、
レスキューモードを起動することで、システムの復旧や設定の修正が行えます。
まず、CentOSのDVD-ROMをドライブにセットし、コンピューターを起動します。
※例ではCentOS6.3を使用しています。
※コンピューターブードモードはDVD-ROMになっている必要があります。
1.ブートオプションモードを起動します。
ブートオプション画面の表示方法は↓を参照してください。
CentOS6でブートオプション画面を表示する
2.ブートオプション画面で「linux rescue」と入力します。
![]()
3.「English」を選択して、「OK」を押下します。
カーソル移動は「tab」キー、決定は「Enter」キーでできます。
![]()
4.「jp106」を選択して、「OK」を押下します。
※「j」キーを押すと一発で「jp106」が選択できます。
![]()
5.「Local CD/DVD」を選択して、「OK」を押下します。
![]()
6.「Setup Networking」で「No」を押下します。(ネットワーク設定が不要の場合)
![]()
10.「shell start shell」を選択し、「OK」を押下します。
![]()
11.画面下部に「bash-4.1#」と表示されれば、レキューモードになっています。
![]()
レスキューモードを終了するには「exit」と入力して実行します。
ランレベルを切り替える
ランレベルは必要に応じて切り替えることが出来ます。
ランレベルを切り替えるには、telinitコマンドかinitコマンドを使用します。
telinitコマンドに設定したいランレベルを引数として指定して実行します。
また、telinitコマンドの実行にはroot権限が必要になり、設定後は
再起動して設定を有効にする必要があります。
[pakira@Tiger ~]$ su - ←rootにユーザ切り替えを行う
パスワード: ←rootパスワードを入力する(パスワードは表示されません)
[root@Tiger ~]# runlevel ←現在のランレベルを確認します。
N 3
[root@Tiger ~]# telinit 5 ←ランレベルを5に設定します。
[root@Tiger ~]# runlevel ←設定後のランレベルを確認します。
3 5
[root@Tiger ~]# init 3 ←ランレベルを5に設定します。
[root@Tiger ~]# runlevel ←設定後のランレベルを確認します。
5 3
■関連記事
ランレベルを表示する
runlevelコマンドの詳細はこちら
telinitコマンドの詳細はこちら
suコマンドの詳細はこちら
ランレベルを表示する
UNIXやLinuxのシステムにはいくつかの動作モードがあり、
これを「ランレベル(RunLevel)」と呼びます。
現在システムで有効になっているランレベルを確認するには
runlevelコマンドを引数なしで実行します。
ちなみにランレベルは/etc/inittabに記述されており、
runlevelコマンドを実行する場合にはrootでなければなりません。
[root@Tiger ~]# runlevel ←ランレベルを表示します。
N 3 ←現在のランレベルは「3」です。
↑
行頭の「N」は現在のランレベルにするまえのランレベルが表示されます。
■ ランレベルとモード
レベル:0 停止
レベル:1 シングルユーザモード
レベル:2 マルチユーザモード(テキストログイン、NFSサーバーは停止)
レベル:3 マルチユーザモード(テキストログイン)
レベル:4 未使用
レベル:5 マルチユーザモード(グラフィカルログイン)
レベル:6 再起動(リブート)
レベル:S シングルユーザモード(/etc/rc.d/rc.sysinitを読み込む)
起動ディスクを作成する
Linuxは多くの場合、ハードディスクのMBR(マスターブートレコード)から
起動するようになっています。
なんらかの障害が発生した場合、ハードディスクから起動出来なく場合もあります。
そのような自体に備えるため、多くのディストリビューションでは、インストール手順の
行程でフロッピーディスクによる起動ディスクの作成というステップが設けられています。
しかし、インストール作業の段階で起動ディスクを作成していない場合、または
作成したディスクが使用できない場合、別のLinuxシステムがあればddコマンドを
使用することで起動ディスクを作成する事が出来ます。
ddコマンドはふぃあるをコピーを行うコマンドですが、コピーの際ファイルを
変換できる点がcpコマンドと異なり、ifオプションとして起動イメージである
「/boot/vmlinuz」、ofオプションとしてフロッピーディスクのディバイス名
「/dev/fd0」を指定します。
なお、このコマンドを実行する場合には、事前にフロッピーディスクを
ドライブにセットしておく必要があります。
[root@Tiger ~]# dd if=/boot/vmlinuz of=/dev/fd0
■ 関連記事
ddコマンドの詳細はこちら
起動時にX Window Systemを実行する
Linux起動時にX Window Systemを実行するには、起動時のランレベルを5に修正します。
Linuxはカーネル起動すると、初期化後に、/etc/inittabファイルのinitdefaultとして設定されているランレベルで起動します。そのランベルを修正します。
Linuxのランレベルとしては、下記のものがあります。
0 停止状態
1 シングルユーザモード
2 マルチユーザモード(ネットワークなし)
3 マルチユーザモード(CUI)
4 未使用
5 X Window System(GUI)
6 再起動
起動時のメッセージを確認する
Linuxは起動する際にデバイスの初期化やサービスの起動をします。その際に様々なメッセージを表示します。このメッセージは非常に高速に表示されるので、起動時に確認するのは大変困難です。
このメッセージを確認するには、ログファイルとして記録している「/var/log/dmesg」ファイルを確認するか、またはdmesgコマンドを実行します。
Linux起動時にコマンドやプログラムを自動実行させる
サーバーを管理していると、Linuxの起動時に任意の
プログラムやコマンドを自動起動させたい場面があります。
その場合には、/etc/rc.d/rc.localファイルに
起動したいプログラムやコマンドをフルパスで記述します。
この/etc/rc.d/rc.localファイルは、起動プロセスの
最後に実行されるシェルスクリプトになります。
Linuxが起動しなくなった
設定ファイルなどを変更したことによって、Linuxが起動しなくなる場合などがあります。そのような時はLinuxのインストールCDを使用することで、起動することが出来ます。
起動時に「LI」とだけ表示され停止してしまう
ブートローダはLILOのBIOS機能を使用してLinuxカーネルのロードを行いますが、BIOSによっては、ハードディスクの1024シリンダ以降のファイルを読み込むことが出来ない場合があります。
そのため、LILOのプログラムが1024シリンダ以降にあると、LILOを読み込むことができず、表示が「LI」で停止してLinuxが起動できません。これが「8.4GBの壁」と呼ばれるBIOSの問題です。
対策方法としては2つあり、ひとつはブートローダにGRUBを使用することです。GRUBは1024シリンダに関係なく起動できるますので、回避することができます。また、Linuxをインストールする際に作成できる起動ディスクを使用しても正常にLinuxを起動することができます。
また余談ですが、どうしてもLILOを使用しなくてはならない場合は、LILOプログラム本体をBIOSが読み込める1023シリンダ以内に収まるようにする必要があります。RedHat Linuxや多くのLinuxのインストーラーがわざわざ/bootパーティションを作成するのは、1023シリンダ以内に収めるためです。
デュアルブートの場合には、LILOがMBRにインストールしてあると、Linuxだけではなく、Windowsも起動できなくなります。そのような場合にはLILOをアンインストールすることで回避することができます。
LILOで起動デフォルトOSを変更したい
LILOはブートセレクタとして起動するOSを選択できますが、選択しなかった場合、デフォルトに設定されているOSが起動するようになっています。
デフォルトOSの起動設定はLILO設定ファイル「/etc/lilo.conf」に記述されていて、default句に設定されています。
