見出し画像

【Linux】LPIC201試験用

コマンド

free [オプション]
-b:表示結果をバイト単位で表示します。
-k:表示結果をキロバイト単位で表示デフォルト
-m:表示結果をメガバイト単位で表示します。
-s :指定した秒数ごとに表示します。
-t:物理メモリとスナップの合計も表示します。

top [オプション]
-d :時間 スクリーンを更新時間を秒単位で指定
-n :回数 topを終了する繰り返し回数を指定
-p プロセスID:監視するプロセスIDを指定
-U ユーザーID:監視するユーザーIDを指定

iotop
プロセス毎のディスクI/Oの帯域を表示するコマンド
実行結果の表示内容を切り替える
r なし 表示順序を逆にする。左右の矢印キーを押して、表示順序を逆にしたい項目を選択する。項目を選択したらrを押下する。もう一度rを押すと元に戻ります。
o -o, --only I/O処理を実施しているプロセス/スレッドのみ表示
p -P, --processes プロセスのみ表示(スレッドは表示しない)
a -a, --accumulated 帯域ではなく累積値の表示
q なし iotopコマンド終了
i なし プロセス/スレッドの優先度変更

uptime
システム稼働時間を調べるコマンド

vmstat [オプション] [更新の間隔 [回数]]
仮想メモリやディスクI/Oの統計情報を表示する

iostat [オプション] [更新の間隔 [回数]]
I/Oデバイスの使用状況を表示する

sar [ オプション ] [-s 開始時刻 -e 終了時刻] <時間間隔> <回数>
多機能なコマンドで、CPUやメモリ、ディスクI/O、パケット数、ロードアベレージなどのさまざまなシステム統計情報を確認する。また、ほかのコマンドと違い、sarコマンドでは現状のリソース状況に加え、過去のリソース状況についても確認することができる
-A 全ての項目を表示する
-b ディスクの入出力と転送レート情報を表示する
-c プロセスの生成回数を表示する
-f ログファイルを指定する
-n DEV ネットワーク関連の情報を表示する
-n EDEV ネットワーク関連のエラー情報を表示する
-r メモリとスワップ関連の情報を表示する
-u CPU関連の情報を表示する (オプションがない場合と同様)
-P id/ALL CPUごとの情報を表示する
-S スワップの情報を表示する

sadf 「オプション」 --「sarコマンドのオプション」
sarコマンドで収集した統計情報をCSV,XML等のフォーマットに変換するコマン

df [オプション] [ファイル]
ディスクの空き領域(freeスペース)のサイズを集計して表示するコマンド

ss [オプション] [フィルター]
ネットワークのソケットの情報を出力する

netstat [オプション]
ネットワークの接続状況を表示

netserver (サーバー側: 受信側ツール)
netperf (クライアント側: 送信側ツール)
netperfでネットワークパフォーマンスを測定

iptraf-ng
トラフィック監視ツールの紹介
バックグラウンドでも値を取得できるので、プロンプトに表示したり問題があった場合に通知する"


リソース監視ツール

collectd:サーバの統計情報を収集するためのオープンソースソフトウェア。軽量なデーモン。
Nagios:ホストやそのホストで稼働しているサービスを定期的に監視して、異常を検知した場合には管理者にメールなどで通知を行う統合監視ツール。
Icinga2:Nagiosから派生して開発されたシステム監視のためのオープンソースソフトウェア
MRTG(Multi Router Traffic Grapher):SNMPエージェントから取得したデータを加工してグラフ化するツール。トラフィックの監視だけでなく、あらゆるSNMP変数を監視することが可能。
Cacti:MRTGの代替えとなるもので、設定がWebブラウザで行えたり過去のグラフも参照できる。

カーネル

カーネルバージョン
uname -r -a で確認することができ、/proc/version内やソースコードのMakefile でも確認できる

カーネルモジュール
・lsmodコマンド
 カーネルのモジュールリストを表示するコマンド
・modinfo [オプション] モジュール名
 カーネルモジュールの情報を表示するコマンド
 a --author 「author」のみを表示する
 -d --description 「description」のみを表示する
 -l --license 「license」のみを表示する
 -p --parameters 「parm」のみを表示する
 -n --filename 「filename」のみを表示する
・insmod [オプション] モジュールパス
 モジュールをロードするコマンド
 -V(--version)
 h(--help)
・rmmod [オプション] モジュールファイル名
 モジュールをアンロードするコマンド
 -f 使用中のモジュールも強制的にアンロードする
 -w モジュールが使用中の場合は終了するまで待つ
 -s --syslog エラーを標準エラー(stderr)ではなくsyslogに出力する
 -v --verbose 詳しいメッセージを表示する
・modprobe [オプション] モジュール名 
 モジュールのロードとアンロードを行うコマンド。モジュールの依存関係を確認し、必要なモジュールがあれば同時に組み込むといった処理も行う。
 -s --syslog エラーを標準エラー(stderr)ではなくsyslogに出力する
 -q --quiet メッセージを表示しない
 -v --verbose 詳しいメッセージを表示する
 -n --dry-run,--show モジュールの組み込みや取り外しを実際には実行せず実行内容の表示だけを行う(「-v」と組み合わせて使用)
 -c 設定ファイルの内容を表示する
 -r --remove モジュールを取り外す
カーネルのコンパイルとインストール
・カーネルソースの準備:/usr/src/linux~ に格納される。
・コンフィグレーションの反映:.config に設定が記録されており、新しい設定を反映させる場合は、# make oldconfig を実行する。新しい設定のみ問い合わせを行い従来の設定はそのまま引き継がれる。
・カーネルの設定:カーネルの機能を直接カーネルに組み込むか、ローダブルモジュールとするか、組み込まないかを選択すること。
・コンパイル: # make をターゲットなしで実行すると、カーネルとモジュールのコンパイルが実行される。
・インストール: # make module_install を実行して /lib/modules/カーネルVer のディレクトリをインストール先に指定する。 # make install で実行。/boot 以下にエントリが追加される。
その後、システムを再起動して新しいカーネルで起動すれば、GRUBの設定を新しいカーネルに変更するといい。
1. 設定を初期化
make mrproper で設定ファイルを含めてディレクトリ内を初期化します。
展開したソースにあらかじめ不適切な設定が含まれている可能性や、古いカーネルの設定が残っている可能性を考慮し、はじめに必ず実行するようにします。

2. 設定を行う
初期化された設定を今回の再構築用に設定します。設定はカーネルをコンパイル(ビルド)する前に行ないます。
この問題では「現在のカーネル設定を引き継」いで使うとのことなので、make oldconfig が適します。
他には make config で対話的に設定する方法、make menuconfig でコンソール上のメニューから設定する方法、make xconfig として X 上の GUIで設定する方法などがあります。

3. ビルドを行う
単に make とするか、make all とすることで、依存関係の解消、カーネル本体とモジュールのビルド、一時ファイルの削除を自動的に行ってくれます。

4. システムにインストールする
ビルドを行っただけではシステムに配置されてはいないので、インストールを行います。通常、make modules_install としてモジュールをインストールしてから、make install としてカーネル本体をインストールします。
make install によって /boot 以下にカーネルイメージが配置され、ブートローダに新しいカーネルを使う起動設定が追加され、vmlinuz-2.6.38.10 のように、基本ファイル名にバージョンを足したような形にリネームする。ブートローダの設定ファイルに、新しいカーネルを使う設定が追加され、インストール後に再起動すれば、自動的に新しいカーネルが使われるようにできる。カーネルに組み込まれているモジュールの情報から判断して、必要ならば初期 RAM ディスクイメージを作成し、段階的なブートを行う設定にします。

カーネルパラメーター

OSの挙動を制御するパラメータで、システム実行中に調整できる。カーネルパラメーターをミスったらOSが動かなくなるパターンも有る。カーネルパラメーターは再起動をするともとに戻るので永続化する場合には設定ファイルの変更が必要で、/etc/sysctl.conf または /etc/sysctl.d/配下 になる。一時的に反映したい場合は /proc以下 に記載すると即時反映、再起動すると戻る。主なクラスは kernel、net、fs 。


DKMS (Dynamic Kernel Module Support)

自動的にモジュールをインストールして配置・管理する仕組み。カーネルやモジュールのソースが必要。

sysctl [オプション]: 実行時にカーネルパラメータを設定する
 -a 利用できるすべての値を表示します。
 -A 利用できるすべての値をテーブルで表示。
 -n 値だけ表示します。キー名は表示。
 -N キー名のみ表示します。
 -p ファイル ファイルを読み込み、パラメータを変更。ファイルを指定しない場合は「/etc/sysctl.conf」を読み込む。
 -q 値のセットを標準出力に表示しない。
 -w 変数=パラメータ 変数を指定したパラメータに変更。
初期RAMディスク
Linuxシステムの起動の途中で一時的に利用される小さなルートファイルシステムのこと。起動のために必要最低限のコマンドやデバイスファイルなどが含まれており、初期RAMディスクにアクセスできれば、どの起動ディスクにあるルートファイルシステムにでもアクセスできるようになる。
ファイルのアーカイブ形式には、initrd形式と、initramfs形式があり、initramfsが主流。
RAMディスクをロードするイメージファイルを作成
mkinitrd RAMディスクイメージファイル カーネルVer
mkinitramfs -o RAMディスクイメージファイル カーネルVer

/proc

カーネル内データへのインターフェイスとなるファイルシステム。ブロックデバイスではなく、ほとんどのファイルは読み出し専用である。
・sdev コマンド:/proc ディレクトリの interrupts, ioports, dma ファイルから、コンピュータに組み込まれているハードウェアの情報を集める。
・lspci [オプション]:PCIデバイスの情報を表示するコマンド
 -p ディレクトリ PCIバスの情報取得元のディレクトリを指定する(デフォルトは/proc/bus/pci
 -b カーネル側からのIRQ(割り込み番号)とアドレスの代わりに、PCIバス側からのIRQとアドレスを表示する
 -v 詳細を表示する
 -vv -vよりさらに詳しい情報を表示する
 -t デバイスをツリーで表示する
・lsusb [オプション]:USBデバイスの一覧と詳細情報を表示する
 -v --verbose 詳細情報を表示する
 -t --tree USBデバイスをツリーで表示する(-vや-Dより優先される)
デバイスファイル
・ブロック・デバイス:データへのランダム・アクセスが可能で、ブロック単位でデータの書込み読取りを行う。 例として、HDD、CD-ROMドライブ、フラッシュ・メモリー、その他のアドレス可能なメモリー・デバイスがあります。 メジャー番号、マイナー番号があり、カーネルがデバイスを識別するための番号。
・キャラクタ・デバイス:データはバッファリングされず、デバイス上のデータへのランダム・アクセスも許可されない。 カーネルは、一度に1バイトずつデータの書込みまたは読取りを行い、キーボード、マウス、端末、擬似端末およびテープ・ドライブがある。tty0とtty1は端末デバイスに対応するキャラクタ・デバイス・ファイルで、ユーザーはシリアル端末または端末エミュレータからログインできる。

udev

Linuxカーネル用のデバイス管理ツール。/devディレクトリには、利用される可能性のあるデバイスファイルを予め/devディレクトリに用意しておく必要があり、/devディレクトリには多くのファイルが設置されていた。現在ではudevが、必要に応じて/devディレクトリにデバイスファイルを作成する
udevadm [op sub]:udevに問い合わせ・操作を行うためのコマンド
 infoサブコマンド:認識済みのデバイスの情報を表示したい場合
 monitorサブコマンド:デバイスの検知をモニタリングし、イベントを表示する
 -n デバイス:表示したいデバイスのデバイスファイル名を指定
 -p デバイス:プロパティも表示。sys上のデバイスを指定。

システムの起動

起動の流れ
BIOS/UEFIとはシステムを立ち上げる際に一番最初に起動されるシステム。 システムを立ち上げる処理をbootといい、システムを立ち上げてから、BIOS/UEFIの起動、ブートローダによるカーネルの読み込み、カーネルの初期化処理、ファイルシステムのマウント(initramfsの実行)、システムを管理するプログラム(systemdデーモン)の起動、ネットワークの設定、などOSが起動するまでの一連の流れをブートシーケンスといいます。ブートシーケンスが終了するとログインプロンプトもしくはログイン画面が表示される。

BIOS
PCのハードウェアに組み込まれているプログラム。不揮発性メモリに格納されており、ハードウェアを動かすことを目的としたソフトウェアとして、ファームウェアと呼ばれている。ブートする時はデバイスに設定された優先順位に従って起動し、優先順位はMBR(Master Boot Record)内のブートローダーを検索し、初期値は光学ドライブやHDD・SSDに設定される。起動するファイルが存在しない場合はパスしてブートローダーが見つかるまで次のファイルを参照する。起動ドライブの容量は2TB。
UEFI(Unified Extensible Firmware Interface)
BIOSに変わるファームウェア規格。UEFIはBIOSの後継者とも言われているが、厳密にはUEFIはOSとBIOS間の仕様を定め拡張したものでありプログラムではない(BIOSはプログラム)。 最近のPCではほとんどがUEFIを使用しており、BIOSと比べてドライブの容量制限が無くなったり、GUIも使用できるようになっている。

MBR(Master Boot Record)は、古くから使われてきた仕組み。
以下のような特徴がある。
・Windows 各種32ビット版でも64ビット版でも対応している
・パーティションは4区画まで作成できる
・ディスクは2TBまで認識できる
・ファームウェアはBIOS系

GPT(GUID・パーティション・テーブル)は、Windows Vista以降に登場した新しい仕組み。
以下のような特徴がある。
・Windows Vista以降の64ビット版、またはWindows8以降の32ビット版・64ビット版の環境で利用可能
・パーティションは128区画まで作成できる
・ディスクは2TB以上認識できる
・ファームウェアはUEFI系

ブートローダ
OSを起動するためのソフトウェアのこと(カーネルをロードする)。LinuxのデフォルトのブートローダにはLILO(LInux LOader)とGRUB(GRand Unified Bootloader)がある。基本的に第一段階と第二段階に分かれており、第一が第二のブートローダをロードして起動するようになっている。
LILO
古くからLinuxで利用されてきたブートローダ。カーネルの位置情報をLILO自身内部に情報として持ち、その情報からカーネルをロードする。LILOはファイルシステムを認識しないため、カーネルの位置をHDDの物理的な位置情報で判断している。この物理的な位置情報をブロックリストという。LILOはこのブロックリストを自身の内部に保持しており、ブロックリストを参照してカーネルをロードする。そのためLILOは「ブロックリスト参照型」のブートローダといわれる。

GRUB(GRUB Legacy)
設定ファイルは /boot/grub/menu.lst 。多数のファイルシステムを認識することができ、シェル機能も搭載している。GRUBはファイルシステムを認識できるが、これはLILOとはことなりカーネルの位置をファイルパスで指定することができる。このタイプを「ファイルシステム認識型」という。
 Stage 1:役割は、Stage 2 (Stage 1.5) をロードすることである。1セクタしかないMBR内でブートローダの処理を全て実現する ことが難しいため、この仕組みになっている。
 Stage 1.5:ディスク上のファイルシステムを解釈し、Stage 2をロードする ことにある。Stage 1.5は、ディスク上ではMBRと最初のパーティションの間に存在する、 DOS Compatibility Regionという領域に収められており、 ファイルシステムごとに存在する。
 Stage 2:GRUBの本体である。これまでのstageでファイルシステムを読み込めるよう になっているので、stage 2はファイルシステム上に普通のファイルとして置かれている。

GRUB2
設定ファイルは「/boot/grub/grub.cfg」になるが直接編集することはない。OS管理下の領域には「モジュール群」を置き,万が一,OS管理下のエリアが消去されても,「レスキュー・モード」より,最低限の機能を提供できるようにした。設定は /etc/default/grub で行い、grub-mkconfig で grub.cfg ファイルを作る。
grub-install(2) [オプション] DEVICE
 -root-directory=DIR GRUBのインストール先となるルートディレクトリを指定する
 --grub-shell=FILE GRUBシェルとして指定したファイルを使用する
 --no-floppy フロッピードライブを探査しない
 --force-lba 問題のあるBIOSでもLBAモードを使うよう強制する
 --recheck デバイスマップを再探査する
 DEVICE インストール先デバイスを指定する
SysVinit
初めにinitプロセスを開始し、initプロセスは、/etc/inittabに記述されたプロセスを順に起動する。/etc/rc[0-6].d/ ないにあるSは自動で起動するもので、Kは終了するサービス。
 実行順序
  1. initプロセス開始
  2. /etc/inittabファイルを読み込む
  以下、inittabに記載されたプロセスを順に起動
  2-1. システム初期化スクリプトを実行(/etc/rc.d/rc.sysinit)
  2-2. rcスクリプトを実行(/etc/rc[0-6].d/rcスクリプト)
  2-3. その他の定義、設定や、特定ランレベルの場合の処理
/etc/init.d/ サービス名 引数:デーモンの起動、終了再起動、ステータス確認が行える。
 start  サービスを起動する
 stop  サービスを停止する
 restart  サービスを再起動する
 status  サービスの状態を表示する
サービス自動起動
chkconfig [オプション] [on | off]:ランレベルに応じて、サービス(デーモン)の自動的に起動・停止を操作する。
 -a サービス 指定したサービスを追加します。
 -d サービス 指定したサービスを削除します。
 -l サービス自動起動の設定をリスト表示
 -t サービス 現在のランレベルでのサービス自動起動のon/offを表示します。

systemd
/usr/lib/systemd/system にはデフォルトのUnitファイルが配置され、/etc/systemd/system には管理者がカスタマイズするUnitファイルが置かれる。

journalctlコマンド
systemd-journaldが収集して格納する。
 -a (–all):画面に表示できない文字も含めて表示
 -D (–directory):指定ディレクトリのログを表示
 -e :末尾を表示する。
 -f :出力されたログを表示する
 -k:カーネルからのメッセージを表示する。
 -l (–full):全てのログを表示する。
 -n (–lines):出力する行数を指定する(headを用いなくても良くなります)
 –no-pager:lessコマンドで出力されず、catコマンドのように全てを表示
 -r (–reverse):最新のログから表示
 –since:指定した日付以降のログを表示します。
 –until:指定した日付より前のログを表示します。
 -u (–unit):指定したunitのログを表示します。
 –vacuum-sice=サイズ:アーカイブを指定したサイズを下回るまで削除。
 –vacuum-time=時間:指定した期間より古いアーカイブジャーナルを削除。
 –list–boot:bootした履歴を表示する。

レスキューモード


SYSLINUX

FATファイルシステム上に格納したLinuxカーネルを起動できるブートローダ。FATファイルシステムとは、MS-DOS(PC-DOS)やWindowsなどで標準的に使われるファイルシステムである。 SYSLINUXは、Linuxが使えなくなった場合の起動ディスク作成や、MS-DOS/Windows環境からのLinux起動などに良く利用され、GRUBなどに比べると機能が少ないが、実行ファイルの大きさが小さく、フロッピーディスクやUSBメモリなどの小容量デバイスからの起動に便利である。 SYSLINUXパッケージには、ネットワークブート用の「PXELINUX」や、CD-ROMブート用の「ISOLINUX」というブートローダなども含まれる。

PXEブート

インテルの策定したネットワークブートの規格。ネットワークブートを利用することで、ストレージをもたないクライアントコンピュータや、ストレージに別のOSが導入されているクライアントコンピュータがサーバ上のOSイメージを使用して起動できる。CDやUSBからOSをインストールするのではなく、PCとPCをLANケーブルで接続してネットワーク経由でOSのインストールができる。たとえば、CDドライブが壊れてしまった古いパソコンへ新しいOSをインストールしたり、
一度に大量のPCへ接続してOSをインストールしたりすることができる

デバイスとファイルシステム

ファイルシステム:記憶装置に保存されたデータを管理し、操作するために必要なOS機能
/etc/fstab:マウントするファイルシステムの情報を記述するファイル
 第1フィールド:デバイス名
 第2フィールド:マウントポイント
 第3フィールド:ファイルシステムの種類
 第4フィールド:各種オプション
 第5フィールド:ファイルシステムをdumpするか否かの指定。0は対象外。
 第6フィールド:OS起動時にfsckチェックを行うか否かの指定を行う。0はチェックされない。
/etc/mtab:現在マウントされているファイルシステムの情報が格納されているファイル。手動で書き換えるものではない。(≒/proc/mounts)
/proc/filesystems:ファイルシステム(カーネルに組み込まれているものかモジュールでロードされているもの)の一覧を表示できる
VFS(Virtual File System):ファイルシステムごとの細かな違いを意識することなく共通の方法でファイルやディレクトリに対する基本的な操作を行うことができる

mkfs [オプション] [-t ファイルシステムの種類 ファイルシステムのオプション] デバイス名 [サイズ]
mke2fsコマンド:ext2、ext3、ext4のファイルシステムを作成する際に使用するコマンド。デフォルトでext2ファイルシステムを作成
 -t ファイルシステム  ファイルシステムの種類の指定
 -j  ext3のファイルシステムの作成
 -V 詳細な情報を表示する

ext2
「second extended filesystem」の略で、初期段階のlinuxシステムで使用されていた
 ファイルサイズは2TiB, 最大ボリュームサイズは16TiB
 ジャーナルに非対応なため、一度クラッシュすると復旧に時間がかかる
 2038年1月18日以降の日付に対応していない
ext3
 「third extended file system」の略で、ext2との高い互換性があり変換も可能
 ファイルサイズは16GiB~2TiB, 最大ボリュームサイズは2Tib~32TiB
 ジャーナルが追加されている
 ジャーナル・・・稼動中に半自動的に記録する通信記録や更新履歴などの情報
ext4
 「fourth extended file system」の略で、現在のLinuxのデファクトスタンダード
 最大ファイルサイズは16TiB, 最大ボリュームサイズは1EiB
 日付範囲も1901年12月14日から2514年4月25日まで、下位互換もあり、ext3としてマウントすることも可能
xfs
 CentOS7のデフォルトのファイルシステム
 ファイルサイズは8EiB, 最大ボリュームサイズは8Eib
 ext3、ext4からフォーマットすることでxfsへ移行できる
 メモリを多く消費する事でパフォーマンスを出し、ファイルの読み書きが速い


マウント

mount [オプション] デバイス [マウントポイント]
 a --all /etc/fstabに記載がある全てのデバイスをマウントする
 -t 種類 --types 種類 マウントするファイルシステムの種類を指定する
 -o オプション --options オプション マウントオプション(「,」区切りで複数指定可能)
 -r --read-only 読み込み専用でマウントする
 -w --rw、--read-write 読み書き可能な状態でマウントする(デフォルト、「-o rw」相当)
 -f --fake 実際にはマウントしない(実行内容を確認したいときに使用)
 -v 動作時のメッセージを詳しく表示する
umount [オプション] [デバイスまたはマウントポイント]
 -a --all マウントの状況を記録する/etc/mtabに記述された全てのファイルシステムをアンマウントする
 -t 種類 --types 種類 -aオプション使用時に、アンマウントするファイルシステムの種類を指定する
 -f --force 強制的にアンマウントする
 --fake 実行時と同じ表示を出力するものの、実際にはアンマウントしない(実行内容を確認したいときに使用)
 -v --verbose 動作時のメッセージを詳しく表示する

sync

syncコマンド:キャッシュに存在する未処理のデータをディスクに書き込むコマンド。shutdownコマンド、rebootコマンド、haltコマンドを実行した場合も自動的に実行される。
ファイルシステムでは、ハードディスクにデータを書き込む・変更するときに、リアルタイムでハードディスクに書き込みを行っているのではなく、一時的にキャッシュに記録しておき、後でまとめてディスクに書き込むようにしている。ディスクアクセスは遅いため、まとめて書き込むことでぱファーマンすをあげている。しかし停電などなんらかの原因でOSが落ちてしまったとき、キャッシュのデータをファイルシステムに書き込む前にOSが落ちてしまうと、ディスクのデータが整合せず、トラブルの原因になる。

SWAP

swap:ディスク内に設置される領域。メモリー容量が足りなくなった時、メモリの中で不要な部分をSWAP領域に移動させる(スワップアウト)。ハードディスクへのアクセスは遅いので、スワップアウトが多発するとパフォーマンスの低下に繋がり、どうしてもメモリが足りない場合、SWAP領域を利用。
mkswap [オプション] device [ size ]:swap領域の作成
 -c スワップ領域を作る前に、デバイスに対して不良ブロックのチェックを行う
 -f 強制する。ファイルまたはパーティションの実際の大きさよりも 大きなスワップファイルを作る動作ができてしまう。
swapon [オプション] : スワップ領域を有効にする
 -s スワップの使用状況をデバイスごとに表示する
 -a, --all /etc/fstabファイルでスワップとして指定されているデバイスをすべて有効にする(ただしnoautoオプション付きのものは除く)
 -e デバイスが存在しなければスキップする
 -v, --verbose 詳細な情報を表示する
swapoff [オプション] : スワップ領域を無効にする
 -a, --all /etc/fstabでスワップとして指定されているデバイス

ファイルシステムの構造

ファイルシステム内で領域を割り当てる基本単位を論理ブロックという。ディスクデバイスの連続する物理ブロックから構成される。論理ブロックサイズ1024,2048,4096バイトのいずれかを選択できる。
ブートブロック:OSを起動する情報を保存。すべてのファイルシステムでブートブロック用に空きスペースとなり、常に先頭に位置する。
スーパブロック:ブートブロックの直後に位置する1ブロックの領域。「i-nodeテーブルサイズ」「論理ブロックサイズ」「論理ブロック数」を保存する。dumpe2fs コマンドで内容を確認できる。
i-nodeテーブル:ファイルシステム内のすべてのディレクトリ、ファイルはi-nodeテーブル内で1エントリを占めている。
データブロック:ファイルシステムの大半を占めるブロックで、ファイル、ディレクトリを構成する情報を保存する。
dumpe2fs [オプション] デバイス名
 -h スーパーブロックの情報だけを表示する
 -b 不良ブロックとして扱っているブロックを表示する
 -f dumpe2fsが対応していない属性フラグを持つファイルシステムの情報も強制的に表示する
 -i ファイル名 e2imageで作成したイメージファイルのデータを表示する

ファイルシステムのチェック

fsck [オプション] DEVICE :ファイルシステムを検査、修復するコマンド
 -t 種類 ファイルシステムの種類を指定する(無指定時は自動判定)
 -r  対話時に修復も行う
 -A /etc/fstabにあるファイルシステムを全て検査する
 -N 実際には処理を実行せず、表示のみ行う
 -V 実行時に詳細な表示を行う
e2fsck [オプション] DEVICE:ファイルシステムを検査、修復するコマンド
 -y すべての問い合せにyesと応答する
 -v 詳細に出力する
 -c 不良ブロックを検索する
 -d デバッグ情報を出力する
 -f ファイルシステムにcleanマークが付いていても強制的にチェックする
 -n チェックのみ
 -p 問い合せなしで自動的にファイルシステムの修復を行う

tune2fs [オプション] DEVICE:ext2、ext3、ext4ファイルシステムのパラメータを変更する
 -c 回数 何回マウント後にファイルシステムを検査するか指定する
 -C 回数 マウントした回数を手動で設定する
 -i 間隔 ファイルシステムを検査する間隔を整数で指定する
 -l ファイルシステムのスーパーブロックの内容を表示する
 -j  ファイルシステムの更新履歴を記録するext3ジャーナルをファイルシステムに追加する
 -u ユーザー ファイルシステムブロックを利用できるユーザーを、ユーザーIDまたはユーザー名で指定する
 
badblocks [オプション] DEVICE:HDD 不良ブロックのチェック
 -v 詳細なチェック結果を出力する。
 -n マウントされていないデバイスに対して非破壊的読み出し&書き込みチェックを行う。
 -b 続けて指定した数値にブロックサイズを設定する。(デフォルト: 1024(単位:byte))
 -c 続けて指定した数値に一度にチェックするプロック数を設定する。

debugfs [オプション] [DEVICE]:ファイルシステムの調査・デバッグを対話的に行う
 -s  スーパーブロックのブロックをSUPERBLOCKとする(-bオプションも必要)
 -V バージョンのみ表示する
 -w read-writeモードでファイルシステムを開く

XFSファイルシステム

xfs_repair [オプション] DEVICE:検査、修復する
 -L ログを強制的に消去(ゼロで初期化)する。ログが破損していて修復できない場合に使用
 -n 検査だけで修復は行わない
 -v 実行時のメッセージを詳しく表示する
xfs_admin [オプション] DEVICE:パラメータを変更する
 -L ラベル ボリュームラベルを設定する
 -l 現在のボリュームラベルを表示する
 -U 識別子 UUIDを設定する
 -u 現在のUUIDを表示する

xfsdump [オプション] - バックアップ対象:XFSファイルシステムをバックアップする
 -f ファイル バックアップの出力先
 -I バックアップを実行せず、過去に実行したxfsdumpの結果を表示
 -J バックアップの記録(/var/lib/xfsdump/inventory/に保存)を更新しない
 -l レベル xfsdumpの「レベル」を数字で指定する
xfsrestore [オプション] - バックアップファイル:xfsdumpで作ったバックアップを復元する
 -f ファイル バックアップの出力先
 -r 増分バックアップに対応した復元を行う
 -i  対話的にリストアする
 -L ラベル xfsdumpで保存したラベルで指定する
 -S 識別子 xfsdumpで保存したUUIDで指定する

S.M.A.R.T

Self Monitoring, Analysis, and Reporting Technology」の略で、ディスクドライブの障害の早期発見・故障の予測を目的。smartctlを利用するためには、smartmontoolsパッケージをインストールする。
smartctl [オプション] DEVICE

automount

自動的に適切なファイルシステムをマウントする。設定手順は2つあり、マスタマップファイルを使用する手順と、マップファイルを使用する手順。
 
マスタマップファイル:デフォルトのマスタ設定ファイルは/etc/auto.master。3つのフィールドがある。
 mount point:autofsファイルシステムをマウントする基本の場所(/homeなど)。
 map name:マウントに使用するマップソースの名前。
 options:オプションを指定した場合、指定したマップ内のすべてのエントリにデフォルトとして適用され
マップファイル:ファイルシステムごとに設定を行う。

ストレージ管理

RAID

複数台のHDDまたはSSDを一つのディスクとして,取り扱う技術。目的は,「ディスクアクセスの高速化」または「データ信頼性の向上」。
RAIDアレイは /proc/mdstat ファイルで確認できる。
RAID 0
データを複数台の HDD に分散して同時に読み書きを行うことで高速化と大容量化を実現。 ストライピング。 HDD 2台以上で構築でき、基本的には HDD の台数だけ倍に高速になり、 HDD 全ての容量を、データ保存領域として使用可能です。 データがに分散されているため、 1 台の HDD が故障しただけで全てのデータが一部欠損してしまうので、耐障害性や冗長性は全くない。

RAID 1
データを複数台の HDD に全く同じ読み書きを行うことで耐障害性や冗長性を向上。 ミラーリング。 HDD 2 台以上で構築でき、正常な HDD が残り 1 台 となるまでの故障に耐える。 1 台分の HDD の容量がデータ保存領域として使用可能で残りの HDD は全てミラーとなります。 高速化と大容量化は目的としない。
RAID 5
データを複数台の HDD に分散させて高速化と大容量化を実現しつつ、 パリティと呼ばれる誤り訂正符号データも記録することで耐障害性や冗長性を向上。 HDD 3 台以上で構築でき、1 台 までの故障に耐えます。 HDD を N 台とすると、N - 1 台分の容量をデータ保存領域として使用可能で、 ほぼ N - 1 台分のストライピング相当の高速化と大容量化が実現する。
RAID 6
RAID 5 のパリティを冗長化したもので、RAID 5 よりも耐障害性や冗長性を向上します。 HDD 4 台以上で構築でき、2 台 までの故障に耐える。
RAID 1+0
RAID 1 の耐障害性と RAID 0 の高速化と大容量化とを同時に実現。 一般的には RAID 10 。 HDD 4 台以上で構築でき、最低でも 1 台、最大で半数の故障にまで耐える。
 
mdadm [オプション] DEVICE
モード
 Create:デバイスごとのスーパブロックをもつアレイを作る。
 Manage:既にあるアレイについて、スペアデバイスを追加したり欠陥のあるデバイスをアレイから外すなどの管理を行う。
 Misc:個々のデバイスに対して様々な操作を行う。 例えば MD スーパブロックの検査,古いスーパブロックの消去,アクティブアレイの停止など。
オプション
 -C, --create アレイの新規作成を行う。
 -c, --chunk= 処理単位(チャンクサイズ)をキロバイトで指定する。デフォルトは 64。
 -a, --add 指定されたデバイス(群)をアレイを止めずに追加 (hotadd) する。

LVM

LVM(logical volume manager)
複数のハードディスクやパーティションにまたがった記憶領域をまとめて、単一の論理ボリューム(LV)として扱うことのできるディスク管理機能。
・PE(フィジカルエクステント):LVMが扱う記憶領域の最小単位で、デフォルトのサイズは4MBです。PEの数は最大65,536個となっており、デフォルトの4MBでlvを作成する場合、最大で「256GB」まで。
・PV(フィジカルボリューム):物理的な記憶媒体を指しています。通常は、物理ディスクに対して1対1で作成をしますが、複数のパーティションで区切ったパーティション単位にPVを1体1で作成することも可能
・VG(ボリュームグループ):作成されたPV管理します。特にPEサイズの指定が無い場合、VG作成時にPV中に4MB(デフォルト)でPEが作成され、複数「PV(フィジカルボリューム)」を結合して、フィジカルディスクサイズを超える「 VG(ボリュームグループ)」 を作成する事が可能
・LV(ロジカルボリューム):実ファイルを格納する領域です。LVはPEの集合で作成されており、作成するLVの容量はPEの倍数で最も効率的になる。

LVMの作成

1、パーティションの準備:パーティションタイプを「8e」にする。
2、PVの初期化:pvcreate コマンドで初期化を行い、pvdisplay で内容を確認する。
3、VGの作成:vgcreate コマンドで作成し、任意の名前をつけることもできる。vgdisplay で確認できる。
4、LVの作成:lvcreate コマンドで作成し、lvdisplay で確認できる。
5、ファイルシステムの作成とマウントを行う

コマンド詳細
pvcreate [オプション] [デバイス名またはパーティション名]
 -f 処理内容を確認せず、強制的に実行する
 -t 実際には実行せず、処理内容だけを表示する
 -v --verbose 付加情報を表示する

vgcreate [オプション] ボリュームグループ名 デバイス名またはパーティション名
 -s サイズ PEのサイズを指定する。単位には「K」や「M」などが使用可能
 -l 個数 VGに作成可能なLVの個数を指定する。無制限にしたい場合は「0」。
 -p 個数 VGに割当可能なPVの個数を指定する。無制限にしたい場合は「0」。
 -f 処理内容を確認せず、強制的に実行する
 -t 実際には実行せず、処理内容だけを表示する
 -v --verbose 付加情報を表示する

lvcreate [オプション] ボリュームグループ名 [物理ボリューム名]
 -n 名前  作成する論理ボリュームの名前を指定
 -L サイズ 作成する論理ボリュームのサイズを指定する。
 -l サイズ 作成する論理ボリュームのサイズを論理エクステントの個数、または割合で指定する。例えば空き領域全てを使う場合は「-l 100%FREE」のように指定する。
  %VG ボリュームグループ全体に対する割合
  %FREE ボリュームグループの空き容量に対する割合
  %PVS 物理ボリュームに対する割合
  %ORIGIN 元の論理ボリュームの合計サイズ(スナップショット用)に対する割合

LVM管理
vgextend [オプション] ボリュームグループ名 [物理ボリューム名]:VGにPVを追加する
 -f 処理内容を確認せず、強制的に実行する
 -t 実際には実行せず、処理内容だけを表示する
 -v --verbose 付加情報を表示する

vgreduce [オプション] ボリュームグループ名 [物理ボリューム名]:VGからPVを削除する
 -a 物理ボリュームを指定しなかった場合、空の物理ボリュームを全て取り除く
 -f 処理内容を確認せず、強制的に実行する
 -t 実際には実行せず、処理内容だけを表示する
 -v --verbose 付加情報を表示する

pvmove [オプション] [移動元物理ボリューム名][移動先物理ボリューム名]:システムの使用中にデータを移動することができる。
pvremove [オプション] デバイス名またはパーティション名:PVを削除する
 -y 全ての問い合わせに対し「y」を入力したものとして実行する
 -f 処理内容を確認せず、強制的に実行する
 -t 実際には実行せず、処理内容だけを表示する
 -v --verbose 付加情報を表示する

lvextend サイズ指定オプション [その他のオプション] 論理ボリューム名 [物理ボリューム名]:LVのサイズを拡張する
 -L サイズ 論理ボリュームのサイズを指定する。単位には「M」や「G」「T」などが使用可能。追加する量を指定する場合は頭に「+」記号を付ける
 -l サイズ 作成する論理ボリュームのサイズを論理エクステントの個数、または割合で指定する。例えば空き領域全てを使う場合は「-l 100%FREE」のように指定する。
  %VG ボリュームグループ全体に対する割合
  %FREE ボリュームグループの空き容量に対する割合
  %PVS 物理ボリュームに対する割合
  %ORIGIN 元の論理ボリュームの合計サイズ(スナップショット用)に対する割合
 -r ファイルシステムのサイズも変更する
 -y 全ての問い合わせに対し「y」を入力したものとして実行する
 -f 処理内容を確認せず、強制的に実行する
 -t 実際には実行せず、処理内容だけを表示する
 -v --verbose 付加情報を表示する

lvremove [オプション] 論理ボリューム名:LVを削除する
 -y 全ての問い合わせに対し「y」を入力したものとして実行する
 -f 処理内容を確認せず、強制的に実行する
 -t 実際には実行せず、処理内容だけを表示する
 -v --verbose 付加情報を表示する


デバイスファイル種類

/dev/hda  プライマリのマスターに接続したHDD
/dev/hdb  プライマリのスレーブに接続したHDD
/dev/hdc  セカンダリのマスターに接続したHDD
/dev/hdd  セカンダリのスレーブに接続したHDD
/dev/sda  1番目のSCSI/SATA/USBに接続したHDD
/dev/sdb  2番目のSCSI/SATA/USBに接続したHDD
/dev/sdc  3番目のSCSI/SATA/USBに接続したHDD
/dev/sdd  4番目のSCSI/SATA/USBに接続したHDD
/dev/sr0  1番目のCD/DVDドライブ
/dev/st0  1番目のテープドライブ


HDDの管理

 IDE (Integrated Drive Electronics)
 SCSI (Small Computer System Interface)
 SATA (Serial Advanced Technology Attachment)
 SAS (Serial Attached SCSI)
 USB (Universal Serial Bus)
 IDEディスク: /dev/hda1、/dev/hda2、/dev/hda3、/dev/hda4
 SCSIディスク(IDE以外) : /dev/sda1、/dev/sda2、/dev/sda3、/dev/sda4

メインメモリとハードディスクのデータ転送方法として、PIOモードとDMAモードの2種類あります。
PIO(Programmed I/O)モード
PIOモードはCPUがハードディスクに直接命令を送ってデータを転送する方法。この方法は、データの読み書きが実行されている間は、他の処理にプロセスを回せないす。
DMA(Direct Memory Access)モード
DMAモードは、CPUに代わって他の専用コントローラチップがデータ転送の管理をするため、CPUの処理の占有をすることなく、データの読み書きを行うことができる。一般的にはDMAモードが使用。

hdparm [オプション] [デバイスファイル]:ハードディスクのパラメータを確認、設定する
sdparm [オプション] [デバイスファイル]:UBS/SATA/SCSIディスクの転送モードの設定や確認を行うコマンド
 -i ハードディスクの詳細情報
 -t バッファキャッシュを使わずに読み込み速度を計測
 -T バッファキャッシュを使用して読み込み速度を計測
 -c 数値 32bit I/Oサポートの有効/無効を設定
  -c0 : サポートを無効
  -c1 : サポートを有効
  -c3:同期シーケンスをつけサポートを有効
 -d数値 DMAモードの有効(1)/無効(0)を設定

SSD

SSD上のデータは削除しても削除マークが付くだけで削除されない。この状態のブロックにデータを書き込む場合、一度完全に消去してから書き込む。以前データを書き込んだブロックに再度データを書き込む場合、実際にデータを書き込む際に消去が行われるため、まっさらなブロックに書き込む場合と比べて速度が低下し、寿命も縮めることになる。また、TRIMコマンドを使った場合、データを完全に削除するためデータ復旧が不可能になる。

fstrim [オプション] :マウントされているファイルシステムの未使用ブロックを破棄する
 -v, --verbose 詳細なメッセージを出して実行する。
 -o, --offset  破棄する空きブロックの検索を開始する。 デフォルト値は 0 でファイルシステムの先頭から開始する。
 -l, --length  破棄する空きブロックの検索を行う (開始点からの) バイト数。


iSCSI

TCP/IPネットワーク上でのSCSIパケットのデータ転送を簡素化する。一般的なネットワーク機器が使えるので、安価にSANを構築できる。
iscsiadm コマンド


ネットワーク

管理

ifconfig [オプション] [インタフェース] [パラメータ ]:ネットワークインタフェースの設定状況を表示したり、設定を変更したりするコマンド
 -a 停止(down)しているものを含め、全てのインタフェースを表示する
 -s インタフェースの通信状況を簡潔に表示する
 down インタフェースを停止する
 add インタフェースにIPアドレスを追加する
 del インタフェースからIPアドレスを削除する
 metric 値 インタフェースのメトリック値を設定する
 mtu 値 インタフェースの最大転送単位(MTU)を設定する
 netmask アドレス インタフェースのネットマスクを設定する
 tunnel アドレス IPv6 over IPv4トンネルを作成する
 hw ether アドレス MACアドレスを設定する

arp [オプション]:ARPテーブルの管理を行う
 -d ホスト --delete ホスト 指定したホストのエントリを削除する
 -s ホスト アドレス [pub] ホストとMACアドレスの対応を書き込む
 -D --use-device ハードウェアアドレスの代わりにインタフェース名を使う
 -f ファイル名 --file ファイル名 エントリを-sオプションで指定する代わりにファイルから読み込む
 -a 全てのエントリを表示する
 -n  名前解決を行わない

ping [オプション] 通信相手:通信したい相手に小さなパケットを送って応答を調べる
 -6 IPv6を使用する(ping6コマンドのデフォルト)
 -c 回数 パケットを送る回数
 -i 秒数 個々の送信の後に待つ秒数(デフォルトは1秒)
 -w 秒数 状況を問わず、pingコマンドの実行を指定した秒数で終わらせる
 -n IPアドレスからホスト名を検索しない
 -r 通常のルーティングを無視して接続する
 -I インタフェース 指定したインタフェースからマルチキャストパケットを送る
 -L マルチキャストパケットのループバックを抑制する
 -t TTL値 マルチキャストパケットのIP寿命(Time To Live)を設定する

traceroute [オプション] 接続先:ネットワークの経路を調べる
 -w 秒数 状況を問わず、pingコマンドの実行を指定した秒数で終わらせる
 -n 数値出力のみを行う(IPアドレスからホスト名を検索しない)
 -r 通常のルーティングを無視して接続する
 -I インタフェース 指定したインタフェースからマルチキャストパケットを送る
 -f TTL値 マルチキャストパケットのIP寿命(Time To Live)を設定する
  -I --icmp ICMPを使用する
 -T --tcp TCPを使用する

tcpdump [オプション] [条件式]:ネットワークインターフェースを通るパケットのヘッダ情報を表示
 -F ファイル名 フィルター条件式が記載されたファイル名を指定します。
 -i インターフェース 監視するインターフェースを指定します。
 -l 標準出力をバッファします。
 -n アドレス、ポート番号の名前解決を行いません。
 -q 限定したプロトコルの情報のみを表示します。
 -r ファイル名 オプション -w で作成したファイルを読み込みます。
 -t 時間情報を表示しません。
 -w ファイル名 指定したファイル名にパケット情報を書き込みます。
 -v 詳細情報を表示します。
 条件式
 type host、net、port が利用可能です。
 dir src(送信元)、dst(送信先)、src or dst、src and dst を指定します。
 proto プロトコルをしています。

netstat [オプション]:ネットワーク関連のさまざまな情報を表示します。接続状況、ルーティング・テーブル、インターフェイス、マスカレード、マルチキャストなど
 -a すべての接続を表示します。
 -c 情報を1秒おきに更新して、表示します。
 -e 詳細情報を表示します。
 -i   すべてのネットワーク・インターフェースを表示します。
 -l 接続待ち(LISTEN)状態のソケットのみを表示します。
 -n 名前解決をせずに数字で表示します。
 -p 各ソケットが利用しているプロセスID(PID)とプログラム名を表示します。
 -r ルーティング・テーブルを表示します。
 -t TCPの情報のみを表示します。
 -u UDPの情報のみを表示します。

ss [オプション] [フィルター]:ネットワークのソケットの情報などを出力
 -x --unix UNIXドメインソケットを表示(-f unix相当)
 -6 --ipv6 IPv6のソケットだけを表示(-f inet6相当)
 -0 --packet パケットソケットを表示(-f link相当)
 -t --tcp TCPソケットを表示
 -u --udp UDPソケットを表示
 -a -接続待ち状態(LISTEN)のソケットと接続待ち状態にないソケットを表示
 -l --listening 接続待ち状態のソケットだけを表示する
 n --numeric サービス名の名前解決を行わない(ポート番号を表示)
 -r --resolve 名前解決を行う
 -e --extended 詳細情報を表示

nc [-オプション] 接続先 ポート:netcatを省略したもので、TCPまたはUDPの通信を使ってコマンドラインからデータを送受信するコマンド。クライアントとサーバーの間に入って繋ぐ。サーバ側で既に利用中のポートに対してクライアント側から接続できるか確認する
 -g gateway ルーティングgw指定(最大8つ)
 -n 名前解決をせずに数字で表示します。
 -p ポート番号指定
 -l リッスンモード
 -r 接続先ポートをランダムに指定する
 -t TCPの情報のみを表示します。
 -u UDPの情報のみを表示します。

ip [オプション] オブジェクト [サブコマンド]:ネットワークデバイスのIPアドレスなどを表示、変更する
オプション
 -6 IPv6を使用(-family inet6相当) 
 -s -stats、-statistics 情報を詳しく表示する
オブジェクト
 link l ネットワークデバイス
 addr a、address ネットワークデバイスのIPアドレス
 route r ルーティングテーブルのエントリー
 neigh n、neighbour 近傍キャッシュエントリ(ARPまたはNDISCキャッシュエントリ)
 tunnel t IPトンネル
サブコマンド
 add 指定したIPアドレスを付加する
 change 指定したIPアドレスの設定を変更する
 replace 指定したIPアドレスの設定を置き換える(change同様、ただし指定したアドレスがない場合は追加する)
 del 指定したIPアドレスを削除する
 list、show 設定されているIPアドレスを表示する(デフォルト)
 save 設定を保存する(バイナリで出力されるのでリダイレクトで保存する)
 flush デバイスに設定されている全てのIPアドレスを消去する


ルーティング

route [オプション] コマンド ターゲット:ルーティングテーブルを管理する(例:route add 宛先IPアドレス gw ゲートウェイのIPアドレス dev インタフェース)
 -6 IPv6の情報を表示/操作する(「-A inet6」相当)
 -n --numeric 名前解決を行わない
 -F --fib カーネルが管理しているテーブル(FIB)を表示、操作する(デフォルト)
 -C --cache FIBの代わりにキャッシュを表示、操作する
 del 経路を削除する。
 add 新しい経路を追加する。
 target 対象とするネットワークまたはホストを指定する。 10 進ドット表記の IP アドレスか、 ホスト名もしくはネットワーク名を指定可能である。
 -net target をネットワークとする。
 -host target をホストとする。
 netmask NM ネットワーク経路を追加する場合、そこで使用されるネットマスク。
 gw GW ゲートウェイを経由した経路パケット
 Destination 宛先のネットワーク
 Iface この経路を使うインターフェース


無線ネットワーク

iwconfig [インターフェース名] [パラメーター]:「Wireless tools for Linux」(wireless-tools)に収録されている無線LANインターフェース設定用コマンド
 essid ID ESSIDを指定する。anyと指定すると特定のESSIDに固定しない
 nwid ID ネットワークIDを指定する
 mode モード 接続モードを指定する。アドホック接続なら「Ad-Hoc」,インフラストラクチャ接続するなら「Managed」と指定する
 ap MACアドレス 接続するアクセス・ポイントのMACアドレスを指定する
 key WEPキー WEPキーを指定する。

iwlist [インターフェース名] パラメーター [ESSID]:無線LANインターフェースをスキャン/情報収集するためのコマンド
 パラメーター
 scanning(scan) 周囲のアクセスポイントとアドホック端末を表示
 bitrate(rate、bit) アクセスポイントで利用できる帯域を表示
 channel(chan、freq) 利用可能なチャンネルの情報を表示
 encryption(enc、keys) 暗号化キーのリストを表示
 event 指定した無線LANデバイスからスキャン可能な項目を表示
 auth 対応するWPA認証方式を表示
 wpakeys(wpa) 暗号化キー(WPAキー)を表示

iw dev [ DEVICE ] [コマンド]:無線LANインターフェースの情報を参照したり、設定する


ネットワーク関連ファイル

・/etc/resolv.confファイル
名前解決を行うファイル。DNSサーバの設定を確認できる。

・/etc/nsswitch.confファイルは、名前解決を行う優先順位を指定するファイル

・/etc/sysconfig/network
マシン全体の設定を行うファイル。ネットワークを有効にするか否か、ホスト名の設定、デフォルトゲートウェイのIPアドレス、ルーティングを行うか否かの指定などを行う。

・/etc/sysconfig/network/scripts/ifcfg-[NIC名](eth0、ens0、eno0など)
NICごとの設定を行うファイル。NICを有効にするか否か、IPアドレスを静的に割り当てるかDHCPで割り当てるか、静的に割り当てる場合のIPアドレスやネットマスクなどを記述する。


システムメンテナンス

ソースからのソフトウェアインストール

tar [オプション] アーカイブ.tgz 対象ファイル:標準でgzip形式による圧縮に対応。アーカイブだけ行うのが基本。tarコマンドが「-z」オプション(圧縮オプション)に対応していない場合は、「-z」を使用せず、別途「gzip」コマンドや「bzip2」コマンドを使用する
 -c --create 新しいアーカイブを作成する
 -u --update アーカイブのファイルを更新する(アーカイブ内の同名ファイルより新しいものだけを追加する)
 -d --diff  アーカイブとファイルシステムを比較する
 --delete アーカイブから削除する
 -t --list アーカイブの内容の一覧を表示する
 -x --extract,--get アーカイブからファイルを抽出する
 -f アーカイブ アーカイブファイル名を指定する
 -z --gzip アーカイブをgzip形式で圧縮、gzip形式で圧縮されたアーカイブを展開(拡張子は「.tar.gz」または「.tgz」)
 -j --bzip2 アーカイブをbzip2形式で圧縮、bzip2形式で圧縮されたアーカイブを展開(拡張子は.tar.bz2)
 -v --verbose 処理したファイルを詳しく出力する

gzip [オプション] ファイル、gunzip [オプション] ファイル:gzipはファイルを圧縮するコマンド、gunzipは伸張する(圧縮ファイルを元に戻す)コマンド
 -c 結果をファイルではなく標準出力へ出力する(主にパイプで別コマンドに渡す際に使用)
 -d 伸張を行う(gunzipのデフォルト)
 -f --force ファイルを上書きする
 -v --verbose 処理内容を表示する

bzip2 [オプション] ファイル名、bunzip2 [オプション] ファイル名:bzip2はファイルを圧縮するコマンド、bunzip2は圧縮されたファイルを元に戻すコマンド
 -d --decompress 伸張を行う
 -z --compress 圧縮を行う
 -k --keep 圧縮前/伸張前のファイルを残す
 -f --force ファイルを上書きする
 -v --verbose 処理中の圧縮率などを表示する(-vの数を増やすとより詳細になる)

xz [オプション] [ファイル名]、unxz [オプション] [ファイル名]:xzはファイルを圧縮するコマンド、unxzは圧縮されたファイルを元に戻す(伸張する)コマンド
 -k --keep 圧縮前/伸張前のファイルを残す
 -f --force ファイルを上書きする
 -c 結果をファイルではなく標準出力へ出力する
 -d 伸張を行う

patch [オプション] 元のファイル 差分ファイル:テキストファイルに差分を適用する
 -d ディレクトリ 指定したディレクトリへ移動してから他の処理を行う
 -b --backup バックアップファイルを作成する
 -p個数 差分に記載されたファイル名から指定した個数分のパス指定を取り除く
 -R --reverse もとに戻す
 -N --forward 反転していると思われる差分や適用済みと思われる差分を無視する
※patch <差分ファイル (差分ファイルに書かれているファイル名に従って差分を適用する)


Makefileの作成

configureというスクリプトファイルを実行することで、インストールに必要な環境変数やライブラリが正しく設定、設置されているか等がチェックされ環境に合わせたMakeFileを自動的に作ることができる。ソースコードからインストールするときに、必ずこのconfigure、make、make installを使用するということではない。インストールするときには、README等から手順を確認する必要がある。コマンドは configure 。


コンパイル

C言語などの人間が理解できる言語を、機械が認識できる言語に翻訳すること。makeコマンドは、Linuxにおいてソースファイルをコンパイルするのに必須のコマンド。実際にはコンパイルだけでなく、ソースファイルの管理など、さまざまな役割を担う。実行するためには、「Makefile」と呼ばれるファイルを記述しておく必要がある。
make " [ OP] [target]:
 -f file file を makefile として使用する
 -j jobs 同時に実行できるジョブ(コマンド)の数を指定する
 -w 他の処理を行う前後に、作業ディレクトリを表示する


ローカルバックアップ

cpio フラグ [オプション]:アーカイブファイルへのファイルのコピーや、アーカイブファイルからファイルへのコピーをおこなう
 フラグ
 -i アーカイブを作成
 -o  アーカイブを展開
 -p  ディレクトリ名 別ディレクトリにコピー
 オプション
 -A アーカイブの内容を確認
 -d ディレクトリを作成
 -r ファイル名を対話モードで変更
 -t コピーせず一覧表示
 -m 元ファイルの更新時間を変更しない
 -v 一覧表示

dd [オプション]:ファイルをブロック単位で読み出し、指定通り変換
 if=ファイル 標準入力の代わりにファイルから読み出す。デバイスファイルも指定可能
 of=ファイル 標準出力の代わりにファイルへ書き込む。デバイスファイルも指定可能
 bs=バイト数 1回に読み書きするブロックサイズ
 ibs=バイト数 1回に読み出すブロックサイズ(デフォルトは512バイト) ※2
 obs=バイト数 1回に書き込むブロックサイズ(デフォルトは512バイト) ※2
 count=個数 ibsで指定したサイズのブロックを入力から個数分だけコピーする

dump [オプション] バックアップ対象:ext2、ext3、ext4ファイルシステムをバックアップする
 -レベル dumpの「レベル」を数字で指定する。「-1」~「-9」は増分バックアップの際に使用する。「-0」は対象全てをバックアップ。
 -f ファイル  バックアップの出力先
 -u ダンプが成功したら/etc/dumpdatesファイルを更新する。増分バックアップを行う場合は必ず指定する

restore 必須オプション [オプション]:dumpで作ったバックアップを復元(リストア)する
 -r バックアップ内容を全て復元する(ファイルシステムを復元)
 -i 対話モードで復元する
 -x 指定したファイルやディレクトリだけを復元する
 -t バックアップの内容を一覧表示する
 -v 実行内容を表示する
 -f デバイス バックアップ装置のデバイスを指定する
※「restore -rf バックアップ」で、dumpコマンドを使ったバックアップを全て復元。復元後のファイルはカレントディレクトリに展開されるため、コマンド実行前にカレントディレクトリを復元したいディレクトリに移動する必要がある。

mt [-f device] [OPera]:磁気テープドライブの操作を制御する
 status テープユニットの状態についての情報を表示する
 rewind テープを巻き戻す
 erase テープを消去する

rsync [オプション] 同期元 [同期先]:異なるホスト間でもファイルやディレクトリを同期できる
 -v --verbose 動作内容を表示する
 -q --quiet 動作中のメッセージを抑制する
 -n --dry-run 試験モード。実際には動作せず、動作内容だけ表示する
 -a --archive アーカイブモード
「-a」で有効になるオプション
 -r --recursive ディレクトリを再帰的に処理する
 -l --links シンボリックリンクをシンボリックリンクのままコピーする
 -p --perms パーミッションを保持する
 -t --times タイムスタンプを保持する
 -g --group 所有グループをそのまま保持する
 -o --owner 所有者をそのまま保持する


ユーザーへのシステム管理情報

/etc/issue:ユーザがログインする前に、ログインプロンプトの前に表示される内容を記述するファイル。/etc/issue.net」というファイルもあります。こちらは、SSHなどネットワーク経由でログインを試みる際に表示される。
/etc/motd:ユーザがログインした後に、ログインプロンプトの前に表示される内容を記述するファイル


ログイン中のユーザーへの通知

wall [メッセージ]:ログインしている全てのユーザーの「端末(ターミナル)」に一斉にメッセージを送信するコマンド。メッセージを入力し、最後にCtrl+Dのショートカットキーで終了すると、メッセージが送信される。
whoコマンド:端末にアクセスしているユーザーを調べる。
ttyコマンド:自分がコンピュータにアクセスしているptsやtty番号を調べる


よろしければサポートお願いします!よりいい情報を発信します。