コマンドについて

  • フォーラムは新サイトへ移行しました。
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2016-3-30 0:28
crono  新米   投稿数: 5
いつもお世話になっています。
linuxに触れた事がなく初歩的な質問で大変恐縮なのですが…
お時間ある時にでもご回答いただけると幸いです。

「質問の背景」
現在あずき本やping-tで学習しているのですが、
さまざまなコマンド(proc lspci shutdown等々)を見て、
一先ずコマンドの意味を覚えています。
しかし、実際このコマンドはどのタイミングで使用するのか大変気になっております。

「ご質問」
システムの起動する順番としては、
「Bios/UEFI ⇒ ブートローダ ⇒ カーネル ⇒ init/systemd」の認識ですが、上記に記載した(proc lspci shutdown等々)コマンドは、「init/systemd」の後の画面で使用されるものなのでしょうか?

「ご質問」
initおよびsystemdの内容は起動手順が記載されている認識で、systemdに関しては、systemctlコマンドというものが存在している認識です。
そこで疑問なのが、システムによって、[init]を導入してあったり、[systemd]を導入しているようなイメージでよろしいでしょうか?

※[init]を導入している環境で、当然systemctlコマンドは使えない

以上
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2016-3-30 9:45 | 最終変更
arashi1977  長老 居住地: 広島  投稿数: 1715
「コマンドについて」ってよりも、「init」についての話みたいですね。
引用:
システムの起動する順番としては、
「Bios/UEFI ⇒ ブートローダ ⇒ カーネル ⇒ init/systemd」の認識ですが、上記に記載した(proc lspci shutdown等々)コマンドは、「init/systemd」の後の画面で使用されるものなのでしょうか?
そうですね、基本的には起動処理中にはユーザの介在する(コマンドを入力し、実行する)タイミングってのはありませんので、「init/systemd」後=起動処理完了後、に使用するものですね。
Windows起動中のロゴマーク表示中に、IEやExcel起動したりできないのと同じことです。
引用:
initおよびsystemdの内容は起動手順が記載されている認識で、systemdに関しては、systemctlコマンドというものが存在している認識です。
そこで疑問なのが、システムによって、[init]を導入してあったり、[systemd]を導入しているようなイメージでよろしいでしょうか?
ちょっと昔話を。
Linuxに限らず、OSが使えるようになるためには上記の通り「Bios/UEFI ⇒ ブートローダ ⇒ カーネル ⇒ OS起動処理」という流れが元になっています。
で、カーネルが起動処理後に「一番最初に実行するプログラム」がinitと呼ばれるものです。
古くから存在しているinitは、ほんと〜に昔(何十年も前)のスペックの低い環境が前提なのもあり、1つずつ実行してたわけです。例えば「ファイルシステムマウント→ネットワーク設定→メールサーバ起動→Webサーバ起動→リモートログイン(tenletなど)サービス起動→ユーザ要コンソール起動」が全て順番に完了して、初めてユーザのログイン画面(GUIではないですよ)が出たりしてたんです。

ですが、今のマルチコアCPUだのなんだので複数同時処理するのが当たり前になってくると、一個ずつ起動するより、関連性のないサービスは同時に起動すれば、全体の起動処理が完了するまでの時間は短くなります。上記の例で言えば、ネットワーク設定が済んでればメールサーバ、Webサーバ、リモートログインサービスは依存関係がないので同時に起動処理を実行しても問題ないです。
そういうのを実現してるのがsystemdやUpstartです。最近の新しいOS(CentOS7など)では、initとして昔からのinitscriptではなくsystemdなどを採用していますね。

なので、initを導入している、systemdを導入している、というのは各OSの起動処理に採用するinitプログラムが何か、というだけのはなしです。systemdを制御するsystemctlコマンドをinitが導入してあるシステムでは使えない(というか、制御する対象のsystemdが存在しないので意味を成さない)ということなんですね。

って感じでどうでしょう?
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016-3-30 21:09
crono  新米   投稿数: 5
ご回答ありがとうございます。

引用:
そうですね、基本的には起動処理中にはユーザの介在する(コマンドを入力し、実行する)タイミングってのはありませんので、「init/systemd」後=起動処理完了後、に使用するものですね。 Windows起動中のロゴマーク表示中に、IEやExcel起動したりできないのと同じことです。


認識が間違ってなかったようでよかったです。


引用:
なので、initを導入している、systemdを導入している、というのは各OSの起動処理に採用するinitプログラムが何か、というだけのはなしです。systemdを制御するsystemctlコマンドをinitが導入してあるシステムでは使えない(というか、制御する対象のsystemdが存在しないので意味を成さない)ということなんですね。

initプログラムという言葉ですっきりいたしました。
init/systemdでコマンドの使い分けが必要と認識いたします。

やはり、実際に環境を構築して利用するのが理解を深められると思うので、無償で仮想を行えるvmware player(今は、vmware workstationでしょうか?)を導入し、centOS7を入れてみたいと思います。(webで調べたところ、centOS7はsystemdを採用されているとのことなので。

またご質問させていただくかもしれませんが、
なにとぞよろしくお願いいたします。

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.