LPIC(Linuxの資格試験)の勉強してて出会った重要語句まとめ

  • 38
    Like
  • 0
    Comment
More than 1 year has passed since last update.

LPIC(Linuxの資格試験)の勉強してて出会った重要語句まとめ

LPICの勉強をしていたときに出会った
重要語句のまとめです。

カーネル

概要

OSの本来の役割であるハードウェアの制御やファイル、ソフトウェアの実行、リソース等の管理を行う部分で、普段ユーザがカーネルの動作を目にすることはありません。
(here)

カーネルは、コンピュータの起動時に一番最初に動作するプログラムであり、コンピュータのさまざまなハードウェアを初期化し、アプリケーションの動作環境を整えます。

そしてそのあとは、カーネルは何もしない状態になります。カーネルはアプリケーションが動作するための補助的な仕事をするので、自発的に動作する必要がほとんどないからです。

機能

以下の機能を持っています。
・プロセス管理
・メモリ管理
・時間管理
・割り込み管理
・ファイル管理
・ネットワーク管理
・デバイス管理

バージョン確認

カーネルのバージョンの確認方法は
以下のコマンドです。

$ uname -a
$ uname -4

カーネルモジュール

カーネルモジュールとは、カーネルの機能を拡張する
ためのバイナリファイルです。

カーネルの機能を分割し、必要に応じて動的に組み込むことで、
カーネルの肥大化を防ぎ、システムリソースの
消費を抑えることができます。

これによって、起動時に最小限度の常駐カーネルだけが
メモリにロードされ、必要に応じてモジュールの読み込みが
発生します。

カーネルパニック

Macユーザーがカーネルパニックに陥ったという話は
よく聞きます。公式サポートページによると、

まれに、Mac が自動的に再起動して電源が切れ、「コンピュータを再起動する必要があります。」というメッセージが表示されるか、応答しなくなることがあります。これはカーネルパニックが発生したことを示します。

とのことです。解決方法としては、

カーネルパニックを防ぐには、ソフトウェア・アップデートで「お使いのソフトウェアは最新です。」というメッセージが表示されるまで、適用可能なすべてのソフトウェアアップデートを インストールします。OS X のアップデートによって、適切でないネットワークパケットなど、外部の問題に関する耐性が向上します。ここまでの手順を実行すると、ほとんどのカーネルパニックが解決されます。

とあげられています。
また、NVRAM/PRAMをリセットする方法も紹介されています。

  1. Macをシステム終了。電源を完全に落とす。
  2. Macの電源を入れる。
  3. 「command + option + P + R」の4つのキーを同時に押し続ける。グレーの画面が表示されるはずなので、そのまま押したまま待つ。
  4. Macが再起動して「ジャーン」という起動音が2回聞こえるまで、キーを押したままにする。我慢、我慢。
  5. 2回目の起動音が聞こえたら、キーを離してOK!これでNVRAM/PRAMはリセット完了!

Macでカーネルのビット数を確認する

OS X Lionより64ビットカーネルを
デフォルトの起動方式として選択するように
なりましたが、場合によっては32ビット起動にしたい
場合もあるかもしれません。

ビット数の違いで何が困るかというと、
32ビットカーネル機能拡張は64ビットカーネルで
実行できないため、他社製ハードウェア製品や
特別な機能を有効化するカーネル機能拡張を使う場合、
使えない場合などが生じてきます。
(here)

$ getconf LONG_BIT

起動時、64ビットカーネルをデフォルトにするコマンドは
以下のとおり。(実行後再起動)

$ sudo systemsetup -setkernelbootarchitecture x86_64

34ビットカーネルをデフォルトにするコマンドは
こちら。(実行後再起動)

$ sudo systemsetup -setkernelbootarchitecture i386

端末(ターミナル)とコンソールの違い

いずれもコンピュータを操作するための
操作卓を表します。

コンソールとは?

コンソールは、大型のコンピュータ(メインフレーム)等に直接接続された管理(運用)のため操作を行う装置(操作卓とか端末)。
現在は、仮想端末(端末エミュレータ)でコンソール機能を実現している事が多いですが。

端末エミュレータとは

端末エミュレータは、端末のエミュレーションを行う(端末として動作する)ソフトウェア。
Xでだと、xterm、kterm、GNOME端末等、WindowsでだとTera Term Pro、PuTTY等。

(here)

Linuxでは仮想コンソールという技術で
複数のコンソールがあるように扱うことができます。

シェル

概要

シェルとはひとつの実行プログラムであり、
通常はログインシェルとして各ユーザが
ログインするたびに起動されて、そのプロセスは
ログアウトの際に消滅します。

カーネル(OS)とアプリケーションの中間に位置し、カーネルを包み込むことに由来する。シェルは、ユーザーからのコマンドを対話的に処理するのみならず、シェルスクリプトと呼ばれるファイルを作成することにより、一連の処理をバッチ(一括して連続的に)実行することもできる。

(here)

種類

元来、シェルはshという1種類しか存在
しませんでしたが、必要最小限の機能しか
持たなかったため、様々な亜種が作られました。

シェルの種類により、若干シェルスクリプトの文法が
異なります。プログラムとしての互換性を保つため、
Bournreシェル用に書くのが普通になっています。

ちなみに自分は、ご多分に漏れず(?)
zshを使っています。

  • sh
  • bash
  • csh
  • ksh
  • tcsh
  • zsh

FHS

Filesystem Hirerarchy Standard

Linuxを含むUNIX系OSの
標準的なディレクトリ構造および
ファイル配置、名前などを定めた標準仕様です。

Linuxディストリビューション間の
さいをできるだけなくす目的で作られた
LSB(Linux Standard Base)という
ガイドラインの一部。

ハードリンク

概要

Linuxでは、ファイルやディレクトリの属性情報は
iノード/index nodeと呼ばれる領域に
格納されています。

つまり、すべてのファイルやディレクトリには
対応するiノード番号が存在しており、
以下のコマンドでiノード番号を見ることができます。

$ ls -i1

例えるなら、図書館の本と本の索引番号
のようなもの。索引をもとに本を探し、
アクセスする。実際のファイルの中身は本に書いてある。

もし、まったく別のファイルに同一のiノード番号が
割り当てられているとしたら?それらのファイルは
まったく同じということになります。これを
ハードリンクと呼びます。

役割

ハードリンクの役割は、同一内容のファイルに
別の名前でアクセスできるようにする、ということです。

ハードリンクを作成するには、以下のコマンドです。

$ ln [original file] [hardlink]

ハードリンクはシステム上で利用されることが多く、
ユーザーがハードリンクを作成することはあまり
ありません。

シンボリックリンク

概要

一方で、シンボリックリンクは
別のファイルを指し示すだけのファイルです。

Windowsのショートカットや
Mac OS Xのエイリアスに相当するものが、
こちらのシンボリックリンクとなります。

シンボリックリンクを消しても元のファイルに
影響はありません。

要するに?

ハードリンクでは、元のファイルをiノードで指定
シンボリックリンクでは、元のファイルをパスで指定
ということです。

つまり、ハードリンクの場合、元のファイルを消しても
消えませんが、シンボリックファイルの場合は消えます。

まだ、ハードリンクの場合、元のファイルを移動しても
問題ありませんが、シンボリックファイルの場合は
元のファイルを移動すると参照できなくなります。

リダイレクト

コマンドの実行結果をファイルに保存したいときに
リダイレクト>を使うと、コマンドの実行結果を
画面に出力せず、ファイルへの出力に切り替えられます。

具体例としては以下のとおり。

$ ls > list.txt

すでにあるファイルに追記した場合には
以下のように記述します。

$ ls >> list.txt

パイプ

リダイレクトはあるコマンドの出力を
ファイルに振り向けますが、別のコマンドに
出力を振り向けたい場合はパイプ|を使います。

たとえば、以下のとおり。
以下のコマンドでは、カレントディレクトリの
ファイルの数を数えています。

$ ls | wc -l

スティッキービット

 スティッキー・ビットは,LinuxなどのUNIX系OSにおけるファイルのアクセス権限の一つです。

スティッキー・ビットを用いると「すべてのユーザーが書き込めるものの,所有者だけしか削除できない」といったアクセス権限を設定できます。

(here)

スティッキービットの最も一般的な使用法は、ディレクトリに対して使う場合であり、セットされるとディレクトリ配下のファイルのファイル名変更や削除はそのファイルの所有者、ディレクトリの所有者、スーパーユーザーのいずれかしかできなくなります。

マウント/アンマウント

Linuxのディレクトリ構造は
/(ルートディレクトリ)を一番最上層とする
ツリー上の構造からなっています。

たとえば、増設したハードディスクのような記憶装置を
このツリー構造のあるポイントへ登録することを
マウントと呼びます。

マウント後は、ファイルシステムの格納されている
デバイスの種類を気にせず、統一的にアクセスできます。

LVM

LVM = Logical Volume management/論理ボリューム管理

論理ボリューム管理とは、複数のストレージやその
内部のパーティションをまとめ、単一の記憶領域として
利用できるようにする機能です。

これにより、バックアップ作業の時に
運用が簡易になります。また、一度設定した領域の動的な
拡大・縮小が可能です。

TCP Wrapper

TCP Wrapperは、ネットワークサービスのアクセス制御を
集中的に行う機能です。この機能を利用しているサービスに
FTPサーバなどがあります。

TCP/IPというプロトコルを使って様々なプログラムが
提供されていますが、これらプログラムが外部との更新に使う
TCPポートを全て抑え、アクセス制御や通信履歴の保存を行います。

外部からどのポートへのアクセスをどの程度挙児化するかなどを
細かく指定できます。また、どのIPアドレスからの通信を
受け付けるかなどをサービスごとに設定することも可能です。

パケットフィルタリング

Linuxカーネルには、ネットワークを流れるパケットを制御する
パケットフィルタリング機能が備わっています。
パケットの送信元や宛先などによる条件を
定義し、それにマッチしたパケットを遮断したり通過させたりします。