lpicman
lpicman
LPICスクラップ
8 posts
熱き戦歴
Don't wanna be here? Send us removal request.
lpicman · 6 years ago
Text
2019/05/19
Linuxのパーティションには、以下の2つが最低限必要となります。 ・ルートパーティション 最上位のディレクトリであるルートディレクトリ(/)を割り当てたパーティションのことで、 その配下に様々なディレクトリやファイルが含まれています。 ・スワップ領域 物理メモリに収まらなかった情報を一時的に格納する為の領域です 上記の最低限必要なパーティションのみを作成した場合、 全てのディレクトリがルートパーティションに収まることになります。 しかし、通常はディレクトリの用途に応じて、特定のディレクトリを別のパーティションに割り当てます。 特に読み込みや書き込みが頻繁に発生するディレクトリに専用のパーティションを割り当てる事が多いです。 専用のパーティションを割り当てることによって、障害時の被害を、 障害が発生したパーティション内に抑えられる可能性があります。 また、Linuxでもパーティション毎のバックアップやリストアが可能ですので、 バックアップしたいディレクトリに専用のパーティションに割り当てておくと、 それらの作業も容易になります。なお、システムの起動に必要なディレクトリ(/bin、/sbinなど)は ルートパーティションから分割することはできません。 Linuxをインストールする際、ルートパーティションから分割できないディレクトリ /sbin /bin /etc
systemdが稼働するシステムにおいてmysqldサービスを起動したい systemctl start mysqld
rpmコマンドを使用して、インストールされている「postfix」パッケージの変更履歴を調べたい。 rpm -q --changelog postfix rpm --query --changelog postfix
システム起動時に最初に実行されるUnitは「/etc/systemd/system/default.target」です。 default.targetをSysVinitでのランレベルに相当するUnitへのシンボリックリンクとして作成することで、 期待するサービス群を起動できるようになります。 これらのターゲットは「/lib/systemd/system」配下に格納されています。 また、SysVinitとの関連がわかりやすいように、 runlevel0.target〜runlevel6.targetまでのシンボリックリンクも用意されています。
仮想化(Virtualization)とは、コンピュータリソースを実際の物理的な構成にとらわれず、 論理的に分割・統合して提供する技術です。 仮想化の種類の1つであるハイパーバイザー型は、 物理マシンで動作するハイパーバイザー(仮想化のための専用のOS)上で直接仮想マシンを起動し、 ゲストOSを動作させる方式です。
dpkgコマンドを使用して、「procmail」パッケージを設定ファイルを残してアンインストールしたい。 dpkg -r procmail dpkg --remove procmail
システムを起動しブートローダがカーネルをロードする際、 ブートローダの設定ファイルに記載されていないオプションを、 起動オプションとして起動プロンプトで指定できます。 問題の「grub>」はkernelコマンドを使用しているため、 ブートローダGRUB Legacy(GRUB1)の起動プロンプト(GRUBシェル)の画面です。 GRUB Legacyの場合、以下のようにして起動オプションを指定します。 grub> kernel カーネルイメージ [オプション]
メンテナンス用にシングルユーザモードで起動したい grub> kernel /boot/vmlinuz-2.6.35 _____________ s single level=s 1
システムの起動には必須で無いプログラムやライブラリが格納されたディレクトリ ・/usr です。 「/usr」ディレクトリはシステムの起動に必須では無いプログラムやライブラリが格納されています。 ユーザや管理者が後からこのディレクトリの配下にプログラムをインストールする事もあります。 「/usr」ディレクトリは複数ユーザからの読み込みが多くなる事や、バックアップを取る事を考慮し、 ルートパーティションとは別のパーティションを割り当てるのに適しています。
dpkgコマンドの「-r」と「-P」 「-r」は設定ファイルを残してパッケージをアンインストールする 「-P」は設定ファイルを含め完全にパッケージをアンインストールする
dpkgコマンドを使用して、「procmail」パッケージを設定ファイルを含めて全てアンインストールしたい。 dpkg -P procmail dpkg --purge procmail
Linuxをインストールする際、ルートパーティションとは別のパーティションを割り当てる事が可能なディレクトリ /usr /home /var /tmp
Linuxカーネルなど、システムを起動するために必須のファイルを格納するディレクトリ /boot
rpmコマンドを使用して、インストールされている「postfix」パッケージに含まれるファイルを調べたい rpm -ql postfix rpm --query --list postfix
zypperコマンドを使用して、アップデート可能な全てのパッケージをアップデート zypper update zypper up
modprobeは依存関係を考慮してカーネルモジュールをロードまたはアンロードするコマンドです。 modprobeの設定ファイルは「/etc/modprobe.d/」ディレクトリ配下の .conf の拡張子を持つファイルです。(カーネル2.4までは「/etc/modules.conf��) したがって正解は ・/etc/modprobe.d/myconfig.conf です。 「/etc/modprobe.d/」配下の .conf の拡張子を持つファイルであれば、どのようなファイル名でもmodprobeの設定ファイルとして扱われます。 modprobeの設定ファイルには主に次のような設定を記述できます。 options: 各カーネルモジュールのデフォルトパラメータを指定する alias: カーネルモジュールに別名をつける install: 特定のカーネルモジュールのロード時に実行されるコマンドを指定する remove: 特定のカーネルモジュールのアンロード時に実行されるコマンドを指定する blacklist: ロードしたくないカーネルモジュールを指定する
APTツールは、dpkgツールを拡張した、Debian系パッケージを管理するツール群です。 apt-cacheは、APTツールにおいてパッケージ情報の検索・参照などを行うコマンドです。 したがって正解はapt-cacheです。
スワップ領域は通常、物理メモリと同じサイズまたは2倍程度のサイズを設定します。 したがって正解は ・512MB です。 スワップ領域とは、物理メモリ(実メモリ)に収まらなかった情報を一時的に格納する為の、 通常ハードディスク上に作成する領域です。ハードディスク上にある為、 物理メモリよりも動作は格段に遅くなります。
プログラムの実行時に、共有ライブラリの場所を検索するために使用されるファイルは「/etc/ld.so.cache」です。 「/etc/ld.so.cache」ファイルは共有ライブラリを検索するためのバイナリファイルです。 ldconfigコマンドを使用して作成します。ldconfigコマンドは共有ライブラリの検索パスが 記述されている「/etc/ld.so.conf」ファイルを参照し「/etc/ld.so.cache」ファイルを更新(作成)します。 「/etc/ld.so.cache」ファイルはバイナリファイルであるため「/etc/ld.so.conf」ファイルより早く検索できます。 なお、共有ライブラリを使用するプログラムは、実行時に 「環境変数LD_LIBRARY_PATH → /etc/ld.so.cacheファイル → /libおよび/usr/libディレクトリ」の順に 共有ライブラリの場所を検索します
SaaS(Software as a Service)は、ソフトウエアをサービスとして提供します。 ユーザはインフラも開発環境も意識することなく、単純にソフトウエアを利用する、 というサービスを受けることができます。 ・PaaS PaaS(Platform as a Service)は、ソフトウエアの開発、実行環境をサービスとして提供するサービスモデルです。 ・IaaS ・HaaS IaaS(Infrastructure as a Service)、別名HaaS(Hardware as a Service)は、 サーバ、ストレージ、ネットワーク等、仮想化されたインフラ環境をサービスとして提供するサービスモデルです。 ・オンプレミス サーバやソフトウェアなどのシステムを自社で導入・運用することを指します。
参考: 【仮想化とは】 仮想化(Virtualization)とは、コンピュータリソースを実際の物理的な構成にとらわれず、論理的に分割・統合して提供する技術です。仮想化の対象となるコンピュータリソースにはサーバやOS、ストレージ、ネットワークなどがあります。
【仮想化の種類】 現在、主に以下の2つの仮想化手法が使われています。
・ハイパーバイザー型 物理マシン上で動作するハイパーバイザー(仮想化のための専用のOS)上で直接仮想マシンを起動し、 ゲストOS(仮想マシンにインストールしたOS)を動作させる方式です。 ゲストOSからは通常の物理マシン上で動作しているように見えるため、 これまでのサーバにOSをインストールしているのと同様の環境を構築できます。 ハイパーバイザーがサポートしている種類のゲストOSであれば、LinuxやWindows、macOSなども使用できます。 ハイパーバイザー型の仮想化ソフトウェアには、Xenや、KVMなどがあります。
・コンテナ型 OSのリソースを「コンテナ」という単位で隔離して共有する方式です。 OS上のアプリケーションと同レベルの扱いですので、オーバーヘッドが少なく、 リソース・構築・管理の面で非常にシンプルになります。Linuxカーネルの機能によって、 コンテナごとのユーザ管理やリソース制限を行います。 コンテナ型ソフトウェアには、LXC、Dockerなどがあります。
【クラウドコンピューティング】 クラウドコンピューティングとは、サーバ、ストレージ、アプリケーション,サービス等を すべてクラウド(インターネット、または���ットワークの向こうの見えない側)に置き、 仮想化技術により物理的な制約を回避することで、サービスとして迅速、柔軟な提供を実現し、 必要な時に、必要なだけ利用することを可能とした形態のコンピューティング環境です。
・SaaS(Software as a Service) ソフトウエアをサービスとして提供します。ユーザはインフラも開発環境も意識することなく、 単純にソフトウエアを利用する、というサービスを受けることができます。
・PaaS(Platform as a Service) ソフトウエアの開発、実行環境をサービスとして提供します。ユーザは環境構築や保守に気を遣わ���に、 開発に専念できます。また、仮想化により、規模をあらかじめ把握できなくても柔軟に増減できるメリットがあります。
・IaaS(Infrastructure as a Service) サーバ、ストレージ、ネットワーク等、仮想化されたインフラ環境をサービスとして提供する、 サーバの仮想化技術と関連が深いサービスモデルです。HaaS(Hardware as a Service)と呼ばれることもあります。 IaaSでは仮想マシンや仮想ネットワーク、ブロックストレージ(ハードディスク)、 オブジェクトストレージなどのリソースを、ユーザにサービスとして提供しています。 ※オブジェクトストレージではオブジェクトという単位でデータを扱います。
【クラウドでのLinuxの利用】 利用するサービスモデルによってクラウド環境へのLinuxの展開方法が変わってきます。
・IaaS(HaaS) クラウドサービス側ではハイパーバイザー型の仮想化環境を提供し、 ユーザは「インスタンス」と呼ばれる仮想マシンにOSをインストールして使用します。 OSのインストールは、あらかじめ用意されたテンプレート(OSイメージ)から行うのが一般的です。
・PaaS/SaaS OSやミドルウェアはクラウドサービス側でコンテナ型の仮想化などで環境を構築し、 ユーザはその上で動作する環境を利用します。 ユーザが利用するコンテナ環境を選択できる場合もあります。 このコンテナ環境(イメージ)は「アプライアンス(特定用途)コンテナ」と呼ばれます。 アプライアンスコンテナの例として、Webサーバやデータベースサーバが組み込まれたブログサービス環境などがあります。
【仮想マシンの複製】 個々の仮想マシンの環境設定やハードディスクはファイルとして保存されます。 それらのファイルをコピーすることで任意の仮想マシンをクローンとして複製できるため、 テンプレートとして使用したり、同様の仕様のシステム展開が容易にできるようになります。 ただし、同一の仮想化ソフトウェア上で複製した仮想マシンの UUID(Universally Unique Identifier: 汎用一意識別子、全世界で重複が起きないように生成される一意な値)が 重複していると正常に動作しませんので、注意が必要です。 また、ホスト名やIPアドレス、SSH接続時に使用するSSHホスト鍵(公開鍵、秘密鍵)など サーバごとに一意でなければならないものも変更しなければなりません。
上記に加えて、systemdのマシンはホストを識別するための32bitのマシンIDを持っています。 インストール時に、ランダムに生成されるUUIDがマシンIDとして設定されます。 仮想マシンを複製するとマシンIDもコピーされるので、 ネットワーク内で重複しないようにクローンのマシンIDを初期化する必要があります。
マシンIDは「/etc/machine-id」ファイルに格納されています。
# cat /etc/machine-id d602b9b22ae94e7d871f403f2ab5eb46
なお、クラウド上のインスタンスはテンプレートから展開されるため、 テンプレートから複製された環境を重複しないようにインスタンスごとに変更する必要があります。 この作業をまとめて行う「cloud-init」というパッケージが用意されています。 cloud-initパッケージはクラウド上でなくても、インストールして使うことができます。
0 notes
lpicman · 6 years ago
Text
2019/05/19
システム起動時に最初に実行されるUnitは「/etc/systemd/system/default.target」です。 default.targetをSysVinitでのランレベルに相当するUnitへのシンボリックリンクとして作成することで、 期待するサービス群を起動できるようになります。 SysVinitのランレベルとsystemdのターゲットは以下のように対応しています。 ランレベル ターゲット 0 poweroff.target 1 rescue.target 2,3,4 multi-user.target 5 graphical.target 6 reboot.target これらのターゲットは「/lib/systemd/system」配下に格納されています。 また、SysVinitとの関連がわかりやすいように、 runlevel0.target〜runlevel6.targetまでのシンボリックリンクも用意されています。 シンボリックリンクとは、Windowsでのショートカットのようなもので、 元ファイルの場所を指し示すリンクの事です。シンボリックリンクが持っている情報は 「元ファイル(ディレクトリ)がどこにあるのか」というパス情報のみです。 シンボリックリンクを作成するにはlnコマンドに「-s」オプションを 付加して作成します。(書式:ln -s 元ファイル リンクファイル) 設問では次回起動モードをグラフィカルログイン(ランレベル5)に変更するので、 default.targetを「/lib/systemd/system/graphical.target」へのシンボリックリンクに 変更する事になります。シンボリックリンクは上書きできないので、 事前に削除する必要があります。 よって正解は ・rm -f /etc/systemd/system/default.target ・ln -s /lib/systemd/system/graphical.target /etc/systemd/system/default.target
UEFI(Unified Extensible Firmware Interface)は、IntelがBIOS(Basic I/O System)を 置き換えるために考案したEFIの統一仕様です。GUIでの操作をサポートしていたり、 ファームウェアが使用可能なメモリ量の上限が緩和されているなど、BIOSよりも高機能化しています。 ESP(EFIシステムパーティション)はUEFIシステムにおいて、物理的なマシンを起動し、 ファームウエアが読み込まれた後、その後の起動シーケンスで最初にアクセスされる領域になります。 ESPは「/boot/efi」にマウントされます。 また、GPT(GUID Partition Table)形式のHDDからの起動をサポートしています。 GPTは、BIOSで起動ディスクとしてサポートしているMBR形式の パーティションテーブルの上限2.2TB(2TiB: テビバイト)という制約を大幅に超える、 9.4ZB(8ZiB: ゼビバイト)までのHDDを管理することができるパーティションテーブルの形式です。 3TBを超える大容量HDDを起動ディスクとして使用する場合はUEFIとGPTを使用する必要があります。 ただし、Linuxの場合GRUB2 ブートローダがGPTをサポートしているため、BIOSからGRUBローダーを ロードできればGPT形式のハードディスクからの起動は可能です。 ※ZB(ゼタバイト)とは、 1GB(ギガバイト)x 1000(テラ) x 1000(ペタ)x 1000(エクサ)x 1000(ゼタ)のサイズのことです。 したがって正解は ・GUIでの操作が可能となる ・最初にアクセスされる領域であるESPは「/boot/efi」にマウントされる ・GPTというパーティション形式に対応しており、3TB以上のHDDからの起動をサポートする です。
「ctrl+alt+del」キーを押下した際の動作を設定するファイルは「/etc/inittab」です。
Linuxの動作モードのことをランレベルといいます。現在のランレベルはinitまたはtelinitコマンドで変更できます。
「/etc/inittab」を設定ファイルとして使用しないinitプログラムは「Upstart」と「systemd」です。 最近のシステムではinitプログラムとして、Upstartやsystemdが採用されることが多くなっています。
Linuxが何らかの原因で正常に起動できない場合、 CD-ROM/DVDやUSBなどのインストールブートメディアからレスキューモードでシステムを 起動することができます。レスキューモードで起動できた場合は、 CPU/メモリといったハードディスク以外の装置には問題がないと考えられますので、 レスキューモードで起動したシステムから起動に失敗するハードディスクのファイルシステムを マウントできるかを確認します。レスキューモードでファイルシステムを正常にマウントできた場合は、 「/var/log」配下のログでエラーを確認したり、重要なファイルを取り出せる可能性があります。
カーネルは起動されると、高度にハードウェアを認識・制御し、 ルートファイルシステムのマウントなど様々な初期化処理を行います。 ブートローダはカーネルと初期RAMディスク(initramfs)の内容をメモリ上に展開し、 カーネルはメモリ上に展開された初期RAMディスク内の、 ファイルシステムへアクセスするために必要なドライバやスクリプトを使用して ルートファイルシステムをマウントします。その後、initという特別な最初のプロセスを ルートファイルシステムから起動します。「SysVinit」と呼ばれる従来のinitプログラムを 採用しているシステムでは、initプロセスとして「/sbin/init」が起動されます。 なお、カーネルはブートローダの次に起動されます。
接続されたUSBデバイスの情報を表示するコマンド ・lsusb ・cat /proc/bus/usb/devices
システム起動時にブートローダからカーネルに渡されたパラメータが確認できるファイル /proc/cmdline
systemctlコマンドのサブコマンドで、システムを停止させることができるもの halt poweroff
ロードされているカーネルモジュールの情報を表示するコマンド cat /proc/modules lsmod
modprobeは依存関係を考慮してカーネルモジュールをロードまたはアンロードするコマンドです。 modprobeの設定ファイルは「/etc/modprobe.d/」ディレクトリ配下の .conf の拡張子を持つファイルです。(カーネル2.4までは「/etc/modules.conf」) modprobeの設定ファイルには主に次のような設定を記述できます。 options: 各カーネルモジュールのデフォルトパラメータを指定する alias: カーネルモジュールに別名をつける install: 特定のカーネルモジュールのロード時に実行されるコマンドを指定する remove: 特定のカーネルモジュールのアンロード時に実行されるコマンドを指定する blacklist: ロードしたくないカーネルモジュールを指定する
「SysVinit」と呼ばれる従来のinitプログラムを採用しているシステムでは、 カーネルから起動されるinitプロセスとして「/sbin/init」を起動します。 initは起動されると、設定ファイル「/etc/inittab」の記述に基づいて、 自動起動するべきプロセスを立ちあげるなど、アプリケーションレベルの初期化を行います。 正解は 設定ファイル「/etc/inittab」の記述に基づいて、自動起動するべきプロセスを立ちあげるなど、 アプリケーションレベルの初期化を行う です。
0 notes
lpicman · 6 years ago
Text
2019/05/17
モデム、TA(ターミナルアダプタ)などが属しているUSBのデバイスクラス ACM Communication Device Class
SCSI(Small Computer System Interface)はハードディスクやCD-ROMなどの周辺機器を接続するための規格の1つです。 バス幅が16bitのSCSIでは16台のデバイスを扱うことができますが、そのうちの1台はSCSIコントローラになります。したがって、接続できる周辺機器の��は15台です。 SCSIデバイスの情報は「/proc/scsi/scsi」ファイルで確認できます。
systemdが稼働するシステムにおいて、システム起動時にhttpdサービスが自動起動するようにしたい systemctl enable httpd
接続されたUSBデバイスの情報を表示するコマンドはlsusbです。 また、「/proc/bus/usb/devices」には接続されたUSBデバイスの情報が格納されています。ファイルの内容はcatコマンドなどで確認できます。
デバイスが使用中のDMAチャネルに関する情報は「/proc/dma」ファイルで確認できます。
systemdの動作するシステムにおいて、次回起動時にメンテナンスを行うために最低限のシステムサービス状態で起動させたい。 rescue.target runlevel1.target
systemdの動作するシステムにおいて、サーバとして動作させるのに適切な起動時のターゲット multi-user.target runlevel3.target
modprobeは依存関係を考慮してカーネルモジュールをロードまたはアンロードするコマンドです。 modprobeの設定ファイルは「/etc/modprobe.d/」ディレクトリ配下の .conf の拡張子を持つファイルです。(カーネル2.4までは「/etc/modules.conf」)
modprobeの設定ファイルには主に次のような設定を記述できます。
options: 各カーネルモジュールのデフォルトパラメータを指定する alias: カーネルモジュールに別名をつける install: 特定のカーネルモジュールのロード時に実行されるコマンドを指定する remove: 特定のカーネルモジュールのアンロード時に実行されるコマンドを指定する blacklist: ロードしたくないカーネルモジュールを指定する
systemdの動作するシステムにおいて、メンテナンスのために以下のコマンドでシングルユーザーモードに変更し、作業を行った。
# systemctl rescue
作業が終わったので通常の起動状態に戻したい。 systemctl reboot コマンドを実行する Ctrl-Dを入力する systemctl default コマンドを実行する
ロードされているカーネルモジュールの情報を表示するコマンドはlsmodです。 また「/proc/modules」ファイルにはロードされているカーネルモジュールの情報が格納されています。ファイルの内容はcatコマンドなどで確認できます。
カーネルはデバイスを検知すると「/sys」以下(sysfsと呼ばれます)の情報を更新しますが、その更新をudevは検知し、/dev以下にデバイスファイルを動的に作成します。 デバイスファイル作成時の動作は、「/etc/udev/rules.d」ディレクトリに配置された設定ファイル(拡張子「.rules」)に記述された情報に基づいて行われます。
SCSI(Small Computer System Interface)はハードディスクやCD-ROMなどの周辺機器を接続するための規格の1つです。
バス幅が8bitのSCSIでは8台のデバイスを扱うことができますが、そのうちの1台はSCSIコントローラになります。したがって、接続できる周辺機器の数は7台です。
systemdが稼働するシステムにおいて、次回起動時にグラフィカルログインさせるようにしたい。 systemctl set-default graphical.target
0 notes
lpicman · 6 years ago
Text
2019/5/16
systemdの管理単位であるユニット systemdで扱う処理はUnitという単位で管理します。 Unitには各機能ごとに拡張子が割り当てられており、 拡張子を見ることでどういった機能のためのUnitかが 判別できるようになっています ・device ・swap ・mount
SysVinitの設定ファイル「/etc/inittab」ファイルは 通常Linuxシステムの起動時に読み込まれます。 initまたはtelinitコマンドに「q」か「Q」オプションを指定して実行すると、 「/etc/inittab」を再読み込みさせ即座に変更を反映させることができます。
Linuxが何らかの原因で正常に起動できない場合、 CD-ROM/DVDやUSBなどのインストールブートメディアから レスキューモードでシステムを起動することができます。 レスキューモードで起動できた場合は、 CPU/メモリといったハードディスク以外の装置には 問題がないと考えられますので、レスキューモードで 起動したシステムから起動に失敗するハードディスクの ファイルシステムをマウントできるかを確認します。 レスキューモードでファイルシステムを正常にマウントできた場合は、 「/var/log」配下のログでエラーを確認したり、 重要なファイルを取り出せる可能性があります。
ブートローダからカーネルに渡されたパラメータは 「/proc/cmdline」ファイルで確認できます
systemdが稼働するシステムにおいて、 システム起動時にhttpdサービスが自動起動するようにしたい。 systemctl enable httpd
modprobeは依存関係を考慮してカーネルモジュールを ロードまたはアンロードするコマンドです。 modprobeの設定ファイルは 「/etc/modprobe.d/」ディレクトリ配下の .conf の拡張子を持つファイルです。 (カーネル2.4までは「/etc/modules.conf」) modprobeの設定ファイルには主に次のような設定を 記述できます。 options: 各カーネルモジュールのデフォルトパラメータを指定する alias: カーネルモジュールに別名をつける install: 特定のカーネルモジュールのロード時に実行されるコマンドを指定する remove: 特定のカーネルモジュールのアンロード時に実行されるコマンドを指定する blacklist: ロードしたくないカーネルモジュールを指定する
システムを今すぐ再起動させたい systemctl start reboot.target shutdown -r now systemctl reboot telinit 6 reboot
systemdが稼働するシステムにおいて、 システム起動時にhttpdサービスが 自動起動しないようにしたい systemctl disable httpd
systemdの動作するシステムにおいて、 サーバとして動作させるのに適切な起動時のターゲット multi-user.target runlevel3.target
systemdはSysVinitを置き換える新しいinitの仕組みです。
systemdで扱う処理はUnitという単位で管理します。 Unitは設定ファイルであり、Unitの設定に従って systemd自体が処理���実行します。SysVinitのように スクリプトを実行するわけではありません。 systemdはUpstartと同様、 各サービスを並列起動することができます。 そのため、順次起動していくSysVinitに比べて 高速なシステム起動や停止が行えます。 また、SysVinitではプロセスをPIDによって管理していましたが、systemdではcgroupsというLinuxカーネルの機能によってプロセスのリソースを管理できます。
0 notes
lpicman · 6 years ago
Text
2019/5/15
systemdの管理単位であるユニット target service device mount swap
マルチユーザモードとなるランレベル 2,3,5
systemdが稼働するシステムにおいて、 次回起動時にグラフィカルログインさせるようにしたい systemctl set-default graphical.target
システムを今すぐ再起動させたい telinit 6 shutdown -r now reboot
一般的なLinuxシステムでは、BIOS、ブートローダ、カーネル、initの順にブートプロセスが進行します。
systemdの管理単位であるユニット target service swap device mount
systemdはSysVinitを置き換える新しいinitの仕組みです。 systemdで扱う処理はUnitという単位で管理します。Unitは設定ファイルであり、Unitの設定に従ってsystemd自体が処理を実行します。SysVinitのようにスクリプトを実行するわけではありません。 systemdはUpstartと同様、各サービスを並列起動することができます。そのため、順次起動していくSysVinitに比べて高速なシステム起動や停止が行えます。 また、SysVinitではプロセスをPIDによって管理していましたが、systemdではcgroupsというLinuxカーネルの機能によってプロセスのリソースを管理できます。
systemdではランレベルという考え方がありませんが、これまでのSysVinitのランレベルに相当するターゲットUnitを利用することでtelinitと同様の動作をさせ��ことができます。 SysVinitのランレベルとsystemdのターゲットは以下のように対応しています。 0 poweroff.target 1 rescue.target 2,3,4 multi-user.target 5 graphical.target 6 reboot.target
systemdが管理するサービスを再起動させるためのsystemctlコマンドのサブコマンド restart
systemdが稼働するシステムにおいて、httpdサービスが稼働しているかを確認するためにあるコマンド サービスが稼働しているかを確認するにはis-activeサブコマンドを使用
SCSI(Small Computer System Interface)はハードディスクやCD-ROMなどの周辺機器を接続するための規格の1つです。
バス幅が8bitのSCSIでは8台のデバイスを扱うことができますが、そのうちの1台はSCSIコントローラになります。 したがって、接続できる周辺機器の数は7台です。
依存関係を考慮してカーネルモジュールをロードまたはアンロードするコマンドはmodprobe
SCSIデバイスに関する情報は「/proc/scsi/scsi」ファイルで確認できます
「SysVinit」と呼ばれる従来のinitプログラムを採用しているシステムでは、カーネルから起動されるinitプロセスとして「/sbin/init」を起動します。initは起動されると、設定ファイル「/etc/inittab」の記述に基づいて、自動起動するべきプロセスを立ちあげるなど、アプリケーションレベルの初期化を行います。
0 notes
lpicman · 6 years ago
Text
2019/5/14
システムを今すぐ再起動させたい ・telinit 6 ・shutdown -r now ・systemctl reboot ・systemctl start reboot.target
ロードされているカーネルモジュールの情報を表示するコマンドはlsmodです。 また「/proc/modules」ファイルにはロードされているカーネルモジュールの情報が格納されています。ファイルの内容はcatコマンドなどで確認できます。
systemdが稼働するシステムにおいて、システム起動時にhttpdサービスが自動起動するようにしたい。 systemctl enable httpd
シャットダウン処理を行わず、メッセージ通知のみを行うshutdownコマンドのオプションk
「SysVinit」と呼ばれる従来のinitプログラムを採用しているシステムでは、カーネルから起動されるinitプロセスとして「/sbin/init」を起動します。initは起動されると、設定ファイル「/etc/inittab」の記述に基づいて、自動起動するべきプロセスを立ちあげるなど、アプリケーションレベルの初期化を行います。
現在22:50である。「Rebooting in 10 minutes」というメッセージを表示して、23:00にサーバを再起動するコマンド shutdown -r +10 "Rebooting in 10 minutes" shutdown -r 23:00 "Rebooting in 10 minutes"
「/etc/inittab」を設定ファイルとして使用しないinitプログラムは「Upstart」と「systemd」です。 最近のシステムではinitプログラムとして、Upstartやsystemdが採用されることが多くなっています。
起動中のプロセスやカーネルが認識しているハードウェアの情報が格納されているディレクトリは「/proc」です。「/proc」ディレクトリは擬似的なファイルシステムですので、ハードディスク上には存在しません。システムが起動する際にメモリ上に作成されます
systemdの動作するシステムではsystemd-journaldデーモンを動作させ、ログの一元管理を行います。systemd-journaldはsystemdから起動したプロセスの標準出力やsyslogへのログメッセージをバイナリ形式で記録します。 systemd-journaldが書き込むログファイルはバイナリ形式のため、catコマンドなどで中を表示することが出来ません。systemd-journaldのログを表示するには journalctlコマンドを使用します。
journalctlコマンドの「-k」オプション、または「--dmesg」オプションで、dmesgコマンドと同じ情報(起動時にカーネルが出力したメッセージ)が出力されます。
systemdの管理単位であるユニット
.service プロセスの起動/停止に関する設定 ファイル名は「プロセス名.service」となる (httpd.service、sshd.serviceなど) .mount ファイルシステムのマウント/アンマウントに関する設定 ファイル名は「マウントポイント.mount」となる /etc/fstabの内容を元にSystemdが自動作成する .socket ソケットの監視設定 ”ソケットへの接続を検出する��特定のプロセスを起動”といった動作を実現可 (xinet.dの代替にできる) .device システムが認識しているデバイス情報を保持する udevデーモンによって自動作成される .path パスの監視設定 ”監視ディレクトリにファイルが置かれたらサービス起動”といった動作を実現可 .target 複数のUnitをとりまとめるUnit .swap スワップ領域を管理するUnit
systemdが稼働するシステムにおいて、次回起動時のターゲットを設定するためのsystemctlのサブコマンドset-default
0 notes
lpicman · 6 years ago
Text
2019/5/13
Linuxの動作モードのことをランレベルといいます。 現在のランレベルはinitまたはtelinitコマンドで変更できます。 書式は以下のとおりです。 init ランレベル telinit ランレベル
ランレベル 0 システム停止 1/s/Sシングルユーザモード 2 マルチユーザモード(NFSなし) 3 マルチユーザモード(テキストログイン) 4 未使用 5 マルチユーザモード(GUIログイン) 6 システム再起動
システムを再起動させるにはいくつかの方法があります。 ■rebootコマンドを実行する ■「init 6」または「telinit 6」コマンドを実行する ランレベルを6に変更するとシステムが再起動します。 ■shutdownコマンドを使用する shutdownコマンドの書式と主なオプションは以下のとおりです。
systemctlコマンドのサブコマンドで、システムを停止させることができるものは poweroff halt サービスを起動したいときには、start サブコマンドを指定 サービスを再起動させるにはrestartサブコマンドを使用します。 rebootシステムを再起動させるサブコマンドです。
スピーカーマイクはAudioClass(デバイスクラス)
D-Bus(Desktop Bus)は、 プログラム同士が情報を伝達するプロセス間通信機構のひとつです。 Linuxではdbus-daemonなどがプロセス間通信の中継を行います。 この機能により、例えば新しいデバイスの認識情報を 他のアプリケーションに伝達し、そのアプリケーションが新しいデバイスを すぐに使えるようになるなどのシステム管理上の利便性も向上します。
I/Oポートアドレスの情報は「/proc/ioports」ファイルで確認 I/Oポートアドレスとは周辺機器(デバイス)と CPUがデータをやり取りする際に使用する16ビットのアドレスのことです。 「/proc/ioports」ファイルでは、どのデバイスにどのI/Oポートアドレスが 割り当てられているのかが確認できます。 なお、I/Oポートアドレスが重複しているとハードウェアが正常に動作しないことがあります。
接続されたUSBデバイスの情報を表示するコマンドはlsusbです。 また、「/proc/bus/usb/devices」には接続されたUSBデバイスの 情報が格納されています。ファイルの内容はcatコマンドなどで確認できます。
「/etc/inittab」を設定ファイルとして使用しないinitプログラムは「Upstart」と「systemd」です。 最近のシステムではinitプログラムとして、Upstartやsystemdが採用されることが多くなっています。
ブートローダは起動されると、記憶装置(HDD)内のカーネルをロードし、制御を移します。
Linuxはマルチユーザー、マルチタスクなOSであるため、 複数人で同時に使用することができます。そのため、 システム停止作業は多数のユーザーに影響することになってしまいます。 そういった案内を通知するために、 ログイン中の全ユーザーにメッセージを送信する「wall(Write ALL)」コマンドがあります。
ホットプラグデバイスを接続した際に、デバイスファイルを動的に作成するのはudev デバイスファイルとはLinuxに接続されているデバイスをファイルとして扱うためのファイルです。 デバイスファイルは「/dev」ディレクトリ配下に配置されます
依存関係を考慮してカーネルモジュールをロードまたはアンロードするコマンドはmodprobeです。
したがって正解は ・modprobe です。
カーネルモジュールとは、カーネルで扱うべき色々な機能を 独立した部品のようなものです。ビルド時に カーネル本体に組み込むことも、ファイルとして普段は切り離しておいて、 必要なときに���ードして使うこともできます。
0 notes
lpicman · 6 years ago
Text
2019/5/12
INITプロセス…最長老プロセス。最初に動いて その他のプロセスたちを起動する役目を果たすプロセス
プロセス…メモリを使って実行中のプログラム
SysVinit(一番古い) Upstart Systemd(↑2つの代替となるデーモン) これらはLinuxの起動の仕組みの種類
SysVinitを採用しているLinuxマシンが起動するときは、 ハードウェア起動 ↓ BIOS/UEFI起動 ↓ OSのカーネル起動 ↓ initプロセス起動 ↓ ユーザープロセス起動 ↓ ユーザープロセス起動 … といった感じでユーザプロセスが順番に処理されていくので起動が遅くなります。
それに比べてUpstartはイベント駆動型の仕組みです。 Upstartではバックグラウンドで動作するデーモンプロセス(Windowsだとサービス)や、 一度だけ実行させたい処理(タスク)を「ジョブ」と呼び、 ジョブ単位で起動処理の管理を行います。 デーモンはUNIX系常駐プログラム。
ハードウェア起動 ↓ BIOS/UEFI起動 ↓ OSのカーネル起動 ↓ initプロセス起動 ↓ ユーザープロセス起動 ユーザープロセス起動 …
といった感じで並列的にプロセスを起動していくので SysVinitよりも高速で起動することが可能になっています。 しかしながら問題点も存在しています。 Upstartはイベント駆動というだけあって、 プロセスが起動するイベント(条件)を設定ファイルに記述する必要があります。 しかも、指定したイベントがそろうとジョブは無条件で起動、 停止をしてしまうので不必要なジョブへの操作が行われてしまうかもしれません。 Upstartではジョブの依存関係をイベントに書き換えて記述しなおさないといけないため、 SysVinitからの移行には手間がかかります。
そして現在主流となっているSystemdです。 SystemdもUpstartと同じくユーザープロセスを並列起動可能です。 ただ、Upstartと違い必要なプロセスのみを起動するのでより高速です。 Upstartの場合は最初に発動したイベントをトリガーに連鎖的に ジョブを起動させていきます、 なのでシステムに不必要なジョブまで 起動してしまうとのことです。 その点はSystemdで改善されています。 Systemdはジョブではなくユニットという単位で管理でプロセスを管理しており、 起動したいユニットに必要なユニットのみ起動することで改善されています。 そのほかにも機能が多数追加されています。 ・スナップショット機能 systemdの動作状態をある時点で保存しておくことにより、復元可能にする。
Mass Storage Class ハードディスク、USBメモリーなどが属しているUSBのデバイスクラス
HID(Human Interface Devices) キーボード、マウスなどが属しているUSBのデバイスクラス
シンボリックリンク←→ハードリンク シンボリックリンクはUNIX版ショートカット
ランレベルとは、Linux OSの動作モード ランレベルレベル『0』 – 停止 シャットダウンを実行します。ランレベルを0にすると電源が切られてしまします /sbin/init 0 でランレベルを0に指定するとすぐにシャットダウンされてしまいました
ランレベル『1』 – シングルユーザーモード Linux OSがレベル1(シングルユーザモード)でbootされると、 rootでのみログイン出来る状態になります。 ネットワークサービスも停止されます。 ランレベル1は『OSは起動させたいが、 どうしてもNWを有効にしてほし��ない時』に使う動作モードです。
ランレベル『2』 – 未使用/ユーザー定義可能 ランレベル2はNFSマウントなしのマルチユーザモード です fstabにNFSへのマウントが記載されている状況で NFSに障害が起こると、マウントが成功せず、 Linuxの起動中にストップします ランレベル『2』に設定すれば NFS上に障害が起こっているような時でも NFSをマウントせずに起動することが可能です
ランレベル『3』- マルチユーザー、コンソールログインのみ X Windows以外のデーモンを起動するモードです。 つまりCUIを利用するときのモードです 下記のようにランレベルが『5(GUIモード)』の時に /sbin/init 3とうってランレベルを変えると CUI画面なりました。 XWindowsが起動されなくなるので、 GUI画面がでてこなくなるのですね
ランレベル『4』 – 未使用/ユーザー定義可能 ランレベル4はユーザーで定義することが可能です
ランレベル『5』 -Xディスプレイマネージャ起動 ランレベル『3』では起動しなかった X Windowsデーモンも起動されます。 GUIログインを利用する場合に利用されるランレベルです CentOSをインストール時にデスクトップを選択すると 自動的にランレベルも5で設定されます ランレベル5でも必要なサービスを起動させることは可能ですが、 グラフィカルログインやデスクトップを制御するプロセスも起動させるため、 サーバとして稼働するには無駄なリソースを使用してしまいます。
IRQに関する情報は「/proc/interrupts」ファイルで確認できます。 IRQ(Interrupt ReQuest)とは、 マウスやキーボードなどの周辺機器(デバイス)から CPUへの割り込み要求のことです。 ランレベル『6』 – リブート ランレベルを6にするとすぐに再起動されます
Cent OS7ではランレベルが廃止されてターゲットになった。 以下対応表 0 poweroff 1 rescue 2, 3, 4 multi-user 5 graphical 6 reboot
systemctlサブコマンド →disable  <サービスの自動起動を無効にする> →enable <サービスの自動起動を有効にする> →get-default <次回起動時のターゲットを表示する> →halt <システムを停止しhalt状態にする> →is-active <サービスが稼働しているかを表示する> →list-unit-files <すべてのUnit定義ファイルを一覧表示する> →reboot <システムを再起動する> →reload <サービスの設定ファイルを再読み込みする> →restart             <サービスを再起動する> →set-default           <次回起動時のターゲットを設定する> →start <サービスを起動する> →status <サービスの状態を表示する> →stop <サービスを停止する> →poweroff <システムを停止し電源を切断する>
Linuxが何らかの原因で正常に起動できない場合、 CD-ROM/DVDやUSBなどのインストールブートメディアから レスキューモードでシステムを起動することができます。
初期RAMディスクの特徴 ・ファイルシステムへアクセスするのに必要なドライバやスクリプトが含まれている ・カーネルイメージと同様に「/boot」ディレクトリに格納される
/etc/rc1.d/K01bluetoothの解説 SysVinitでは、システムの起動時やランレベルの変更時にinitが「/etc/inittab」を参照し、ランレベルに応じたスクリプトを実行して各種サービスを順に起動/停止していきます。 各ランレベルに応じたスクリプトは「/etc/rc[0-6].d」に入っています。 スクリプトのファイル名(実際はシンボリックリンク)は次の規則で命名します。 例)K01smartd - 1文字目:S(Start: サービスを起動)、K(Kill: サービスを停止) - 数字:実行優先順位。若番のものが先に実行される - サービス名:任意の名前をつける シングルユーザモードはランレベル1ですので、 「/etc/rc1.d」配下のKで始まるものがサービスを停止させるファイル
コンピュータの電源を入れると、まずBIOS(Basic Input Output System)が起動し、 記憶装置(HDD)等に関して最低限の認識を行います。 BIOSが古い場合、大容量の記憶装置(HDD)を 正常に認識できない(実際より少ない容量を認識するなど)場合があります。 BIOSをアップデートすることで、この問題を解消できることがあります。
カーネルのログが記録されるなど、 Linuxでメインで使用されるログファイルは 「/var/log/messages」
0 notes