LPIC 201 を受ける前の走り書きです。もっぱら個人的なメモ用。
試験範囲の雰囲気は、101/102 試験とそんなに変わらないです。
メモ(自分用)
Linux のリリースは、4つの分類
- prepatch
RC: Release Candidate とも呼ばれる。開発版リリース。 - mainline
prepatch 後の正式リリース。 Linus Torvalds氏によってリリースされる。後述の stable バージョン0の扱い。 - stable
mainline で発見されたバグの修正をした安定版。指定のカーネルメンテナが維持。 - longterm
stable は、新しい mainline のリリース後に EOL(End of Life) となるが、longterm は約2年ほどのバグフィックスが行われる。LTS: Long Term Support とも呼ばれる。
Linux カーネルのバージョン番号は、2.6以前と以降で採番方法が変わるので注意。
カーネルイメージファイルの指定:
GRUB Legacy: kernel
GRUB2: linux
初期 RAM ディスクイメージの指定:
GRUB Legacy: initrd
GRUB2: initrd
基本的に、起動スクリプトは、/etc/rc[0-6].d 以下のファイルで設定できるが、ディストリビューションごとに設定コマンドが存在する。
- Red Hat 6.x以降:chkconfig
- Debian 6.0未満:update-rc.d
- SUSE + Debian 6.0以降:insserv
AHCI: Advanced Host Controller Interface
インテルが規定した SATA の規格。
S.M.A.R.T.: Self-Monitoring, Analysis, and Reporting Technology
HDDs や SSDs の組み込みの、自己診断機能
GNU make が読み込むスクリプトファイルは、デフォルトで:
Makefile
makefile
GNUmakefile
collectd: サーバの状態監視デーモン。設定ファイルは、 /etc/collectd.conf
xfs のコマンドはややこしいので注意
xfs_check:チェック
xfs_info:情報表示
xfs_admin:設定
xfsdump:バックアップ
xfsrestore:復元
mkfs.xfs:ファイルシステム作成
/etc/inittab の書式は、コロンがデリミタで、次のような書式、 id:RunLevel:Action:Command となる。また、複数のランレベルを指定するには数字を並べるだけ。e.g., 3〜5なら “345” となる
特に、デフォルトランレベルの設定では、コマンドは省略される -> id:3:initdefault:
dd コマンドは、if: input file, of: output file 以外にリダイレクトも使用可能。
e.g., dd < dev/urandom > /dev sda1
システム監視ツールである、Nagios から派生して互換性のある Icinga2 が開発された、が、バージョン2からは互換性がなくなっている。
mke2fs:
-n オプションで実行なしで事前確認のみの動作
カーネルイメージは次の2種類
- bzImage: 新しい方式、自己展開できる。gzip で圧縮されている。
- zImage: 古い方式、512KBまでの制限あり。gzip で圧縮されている。
OOM Killer (Out Of Memory Killer): メモリ不足と認識した時にプロセスを強制終了させる仕組み。
sysstatは、システム状態監視のツールスイート。 sar, iostat などを含む。
CIFS: Common Internet File System は、SMB: Server Message Block の拡張版。Windows系だがクロスプラットフォームで利用可。NFS+プリンタ共有みたいなもの。
umount コマンドにはマウントポイントかデバイスファイルの一方のみを引数として渡す。両方渡してしまうと、両方をアンマウントしようとし、エラーが発生する。
カーネルの設定は、make config(CLI interactive), make xconfig(GUI) または make menuconfig(TUI like) で実行され、/usr/src/linux/.config に保存される。
カーネルバージョンは、ver 2.6 より前かそれ以降かで大別できる。
- ver < 2.6: バージョン番号 “2.A.B” のうち、”A” が偶数のものが安定版、奇数が開発版
- ver ≥ 2.6: バージョン番号の直後に “-” (ハイフン)と識別コードがついていなければ安定版
デバイスファイルに書き込まれたカーネルイメージ内の設定を変更するには、rdev コマンドを利用する。e.g., ルートファイルシステムの位置など。
PXELINUX: Preboot eXecution Environment Linux。ブートローダ本体のファイル名は、 “pxelinux.0″。
設定ファイルは、IP アドレスや MAC アドレスがベースの名称で、ブートローダがあるディレクトリ以下 “pxelinux.cfg/” の中に設置する。ブート処理は、DHCP, TFTP を使用。
Systemd のターゲットとSysVinit のランレベルには対応関係がある。
※ single-user.target はないので注意。
- 0: poweroff.target
- 1: rescue.target
- 2-4: multi-user.target
- 5: graphical.target
- 6: reboot.target
patch コマンドでパッチが適用できなかった場合、パッチファイル: “filename.txt” に対して、”filename.txt.rej” ファイルが作成される。
mount コマンドで、initrd 初期RAMディスクイメージをマウントするには、 “-o loop” オプションを与えて、ループバックの設定にする必要がある。initrd.img は、デバイスファイルではないため。
mkfs コマンドは、内部でそれぞれのファイルシステムに応じた別のコマンドを呼び出す。e.g., mkfs.ext2
mtr コマンドは、My traceroute の略、特に通常の traceroute コマンドと違い、パケットロスやレイテンシの情報もレポートできる
IDE(ATA) で接続したデバイスには、2種類の転送モードがある:
- PIO: Programmed Input/Output, CPU がデータ転送を制御
- DMA: Direct Memory Access, 専用のコントローラが転送を制御
“ps aux” で表示される RSS列は、Resident Set Size の略で、物理メモリの使用量のこと [KB]
free コマンドで表示される、”buff/cache” の数字は、Linux では空き領域として扱われる
-> つまり “used” には含まれず、”available” には含まれる。
bonding ポリシー:
- 802.3ad: LACP(Link Aggregation Control Protocol) を利用
- active-backup: スレーブインターフェースが1つのみアクティブとなり、冗長性を持たせる
- balance-tlb: adaptive Transmit Load Balancing
- balance-alb: Adaptive Load Balancing
- balance-rr: Round-robin
ss コマンドは、netstat コマンドの後継。多くのオプションが共通だが、-c, -i, -r のオプションはそれぞれでのコマンドで役割が違う。
modprobe の設定ファイル (/etc/modprobe.conf) において、カーネルモジュールに別名をつける際いは alias キーワードを使う。パラメータの順番が重要
alias A B とすると、B の別名が A となる。
make defconfig で、デフォルト状態の設定ファイル生成
デバイスのUUID: Universally Unique Identifier は、blkid コマンドを使うか、または、udev が自動生成する /dev/disk/by-uuid ディレクトリを参照することで確認できる。
マウント設定ファイルの /etc/fstab において、オプションで defaults を指定した場合、そのエントリは、”nouser” が設定されるため、一般ユーザによるマウントは不可となる。
lsdev コマンドが表示するデータは、 /proc/dma, /proc/ioports, /proc/interrupts の3つのファイルから参照される。
iostat コマンドで最初に表示されるのは、システム起動時からの統計情報
LVM におけるスナップショットとは、任意の時点の論理ボリュームの状態を記録しておく機能。スナップショット作成時点以降の変更差分データが保存される。
また、スナップショット作成時のアンマウントは不要であり、差分データの保存を行う特性上、元ボリュームのサイズよりも小さいサイズで事足りる。
コマンド関係
hostname
ホスト名を get したり set したり。(IPアドレスも表示可能)
-i: ipアドレス表示
-d: ドメイン名表示
rsync
ネットワーク経由でデータのコピー。(デフォルトでsshを利用)
-e: remote shell の指定、ssh など
-z: 圧縮してデータ転送
smartctl
S.M.A.R.T. の自己診断機能を利用
-a | –all: 全ての S.M.A.R.T 情報を表示
-l | –log: テストログ表示
-t | –test: 自己診断テストの実行
-c | –capabitilies: テストの対応状況の表示
–scan: デバイスの一覧表示
hdparm
ハードディスクの設定等の確認
-t: BufferCache オフ状態での読み込み速度測定
-T: BufferCache オン状態での読み込み速度測定
iscsiadm
iSCSI の設定
-t | –type=<type>: タイプの設定
-T | –targetname=<IQN>: ターゲットの指定
netstat
ネットワーク関連情報の表示
-i: インターフェースの情報表示
-s: 各プロトコルごとの統計情報表示
modprobe
カーネルモジュールの依存関係解決と、ロード・アンロードを行う
–show-depends: 指定モジュールの依存関係を表示
-r: カーネルモジュールのアンロード
tune2fs
ext2/ext3/ext4 の設定変更を行う
-m: root用ユーザ用の予備領域の割合変更
-l: スーパーブロックの内容を表示
cryptsetup
暗号化マッピング関連の操作
create NAME DEVICE_NAME: 暗号化マッピングを作成(デバイス名で)
remove NAME: NAME の暗号化マッピング削除
status NAME: NAMEの暗号化マッピングの状態表示
arp
arpテーブル周りの表示や設定を行う
-i: 対象のインターフェース指定
-a: 対象のホスト名を指定
-f: 指定したファイルの内容をキャッシュに追加(デフォルトでは /etc/ethers)
pvdisplay
物理ボリュームに関する情報表示
nmap
ネットワークスキャンを行う。複数ホストの指定は、CIDR表記やハイフンを使う。
-p: ポートの指定
-F: 有名ポートのスキャン
-sT: TCPスキャン
-sU: UDPスキャン
-sP: PINGスキャン
dcpdump
パケットキャプチャを実行
-i: 監視対象のインターフェースを指定
-n: 名前解決を行わない(IPアドレスのまま表示)
btrfs
btrfs の操作
btrfs filesystem show: ファイルシステムの情報を表示
btrfs subvolume create: サブボリューム作成
modinfo
カーネルモジュールの情報を表示
-n | –filename: モジュールのパスとファイル名
コメント