システムの起動とLinuxカーネル
elfboottmgr
UEFIにおける起動エントリを管理するコマンド
| オプション | 説明 |
|---|---|
| -c,--create | 新しい起動エントリを作成 |
| -d,--disk | EFIシステムパーティションのあるディスクを指定 |
| -p,--part | EFIシステムパーティションのある番号を指定する |
| -l,--loader | ブートローダを指定 |
| -L,--label | ラベルを指定 |
| -v,--verbose | 起動エントリの一覧を詳細に表示 |
| -b,--bootrun | 起動エントリの番号を指定 |
| -B,,--delete-bootrun | 起動エントリの削除 |
jounalctl -b or dmesg
カーネル起動中に表示されるメッセージは起動後に上記コマンドを入力
mkinitrd RAMディスクイメージファイル カーネルバージョン
mkiniramfs -o RAMディスクイメージファイル カーネルバージョン
初期RAMディスクを作成するコマンド、一般的にはinitramfsが利用される
drauct [RAMディスクイメージファイル[ケーネルバージョン]]
最新のカーネル用のinitramfsファイルが/boot以下に作成される
grub-mkconfigorgrub2-mkconfig
grub.cfgファイルの作成
設定は/etc/default/grubで行う
/etc/default/grubの設定パラメータ
| パラメータ | 説明 |
|---|---|
| GRUB_DEFAULT | デフォルトで起動するOSの番号またへメニュータイトル |
| GRUB_HIDDEN_TIMEOUT | メニューを表示せずに待機する秒数 |
| GRUB_HIDDEN_TIMEOUT_QUIET | trueなら表示なし、falseなら残り時間表示 |
| GRUB_TIMEOUT | デフォルトのOSを起動するまでの秒数 |
| GRUB_CMDLINE_LINUX_DEFAULT | ブートオプション |
| GRUB_CMDLINE_LINUX | カーネルに渡すブートオプション |
cat /proc/cmdline
システム起動後にオプションを確認
| パラメータ | 説明 |
|---|---|
| init=パス | 指定したコマンドを初期プログラムとして指定 |
| mem=nM | 物理メモリをnMBに指定 |
| nosmp | SMPマシンをシングルプロセッサとして動作 |
| noht | HyperThreading機構を無効にする |
| maxcpus=数 | 利用するCPUの数を指定数に制限 |
| root=デバイス | ルートファイルシステムを指定 |
| read-only,ro | ルートファイルを読み取り専用でマウント |
| single,s | シングルユーザモードで起動 |
systemctl isolate rescue.targetorsystemctl resucue
メンテナンス用のシステム状態(レスキューモード)に移行
rescue部分をemergencyに変えると緊急モードへ
systemd-delta [-t オプション][ディレクトリ]
unitの上書き設定の確認
| オプション | 説明 |
|---|---|
| masked | マスクされてるファイルを表示 |
| equivalent | 上書きされてるが同じ内容のファイルを表示 |
| oveririden | 上書きされ変更されてるファイルを表示 |
| unchanged | 変更がないファイルも表示 |
jounalctl [オプション]
systemdが採用されてるシステムのログ確認
| オプション | 説明 |
|---|---|
| -b,--boot | 起動時のログを表示 |
| -f,--follow | ログの末尾を表示し続ける |
| -n,--lines行数 | 指定した行数のログ末尾を表示(デフォは10) |
| -p,--priorty ~ | プライオリティが~以上のみを表示 |
| -r,--reverse | 新しい順に表示(デフォは古い順) |
| -u,--unit ~名 | 指定したUnitのログを表示 |
| --no-pager | ページ表示せず全てのログを表示 |
uname [オプション]
カーネルのバージョン表示
| オプション | 名前 |
|---|---|
| -a,--all | 全ての情報を表示 |
| -s,--kernel-name | カーネル名を表示 |
| -r,--kernel-release | カーネルバージョンの表示 |
| -m,--machine | ハードウェアアーキテクチャの表示 |
| -o,--operating-system | OSの表示 |
/proc/versionの確認でもOK
modprode[オプション]モジュール名
モジュールのロードやアンロード
| オプション | 説明 |
|---|---|
| -a,--all | 全てのモジュールをロード |
| -c,--showconfig | 現在使われてる設定を表示 |
| -n,--dry-run | 実際は何も行わず表示のみ |
| -r,--remove | モジュールのアンロード |
| -C,--config=ファイル | 設定ファイルを指定 |
| -D,--show-depends | モジュールの依存関係を表示 |
sysctl [オプション][パラメータ]
/proc/sysディレクトリ内のカーネルパラメータを設定したり表示したり
| オプション | 説明 |
|---|---|
| -a,--all | 現在利用できる全てのパラメータ表示 |
| -p,--load | 指定ファイルから設定を読み込む(デフォは/etc/sysctl.conf) |
| -w,--write | パラメータの更新 |
udevadm info [オプション]
sysfsがどのようにデバイスを扱ってるか
| オプション | 説明 |
|---|---|
| -a,--attribute-walk | 指定デバイスの上位デバイスも表示 |
| -p,--pathデバイス | sysfs上のデバイスを指定 |
| -n,--name=デバイス | /dev以下のデバイスファイルを指定 |
| -q,--query種類 | 表示する情報の種類を表示(name,symlinkなど) |
ファイルシステムとストレージ管理
UUIDの確認:blkid 変更:tune2fs 作成:uuidgen
カーネルがサポートしているファイルシステム:/proc/filesystems
現在マウントされてるファイルシステム :/etc/mtabor /proc/mounts
mount [オプション][デバイスファイル名][マウントポイント]
| オプション | 説明 |
|---|---|
| -a,--all | /etc/fstabで指定されてるものを全てマウント(noautoを除く) |
| -f,--fake | /etc/fstabの情報を書き換えるのみ、マウントはしない |
| -o,--optionsオプション | マウントオプションを指定するremount:再マウントなど |
| -n,--no-mtab | /etc/mtabにマウント情報を書き込まない |
| -r,--read-only | 読み取り専用でマウントする(-o roと同じ) |
| -t,--typesタイプ | ファイルシステムの種類を指定 |
| -w,--read-write | 読み書き可能でマウントする |
mkswap [オプション]デバイスファイル名orファイル名
スワップ領域の作成(物理メモリ(RAM)が不足した際に、ハードディスク上の一時的なデータ置き場として利用される仮想的なメモリ領域)
| オプション | 説明 |
|---|---|
| -c,--check | スワップ作成前に不良ブロックのチェックを行う |
| -L,--labelラベル | ラベルを指定 |
| -U,--uuid UUID | UUIDを指定 |
swapon:スワップ領域を有効にする
swapoff:スワップ領域を無効にする
mke2fs[オプション]デバイスファイル
ext2,3,4ファイルシステムの作成
| オプション | 説明 |
|---|---|
| -b サイズ | ブロックサイズをバイト単位で指定 |
| -c | 作成前に不良ブロックのチェックを行う |
| -i サイズ | iノードあたりのバイト数を指定 |
| -j | ext3ファイルシステムを作成 |
| -m 領域% | root用のユーザ領域を指定 |
| -n | 確認用、実際は何もしない |
| -t タイプ | 種類を指定(ext2,3,4) |
mkfsでも上記オプションで実行可
mkfs [オプション]デバイスファイル
その他のファイルシステムの作成
| オプション | 説明 |
|---|---|
| -t タイプ | 種類の指定 |
| -c | 不良ブロックのチェック |
| -V | 詳細表示 |
mkfs.xfs デバイス名 でも一部ファイルは作成可
fsck [オプション][デバイス名]
ファイルシステムの整合性チェック
| オプション | 説明 |
|---|---|
| -r | 対話的に修復を実行 |
| -t タイプ | 種類を指定 |
| -A | /etc/fstab記述の全ファイルに対し実行 |
| -N | 実行するとどうなるかのみ表示 |
e2fsck [オプション]デバイス名
ext2,3,4のチェック
| オプション | 説明 |
|---|---|
| -b ブロック | 指定スーパーブロックのBUを使用し復元 |
| -c | 不良ブロックのチェック |
| -f | 状態がcleanでもチェックする |
| -p | 全ての不良ブロックを自動修復 |
| -y | 問い合わせに「yes」回答 |
| -n | 問い合わせに「no」回答 |
xfs_repair[-n]デバイス名
XFSのチェック -nはチェックのみ
tune2fs[オプション]デバイス名
ファイルシステムのパラメータを設定
| オプション | 説明 |
|---|---|
| -c 回数 | チェックが行われるまでの最大マウント回数を指定 |
| -C 回数 | 現在のマウント回数を設定する |
| -i 感覚 | システムチェックの間隔を指定する |
| -j | ext2→ext3へ変換 |
| -m 領域% | root用予約領域のサイズを変更 |
| -l | スーパーブロックの内容を表示 |
| -L ラベル | ファイルシステムのボリュームラベルを設定 |
| -U UUID | 指定したUUIDに変更 |
xfs_admin[オプション]デバイス名
XFSファイルシステムのパラメータ変更
| オプション | 説明 |
|---|---|
| -u | UUIDを表示 |
| -l | ラベルを表示 |
| -L ラベル | ラベルを設定 |
| -U UUID | UUIDを設定 |
xfs_info デバイス名orマウントポイント:ファイルシステムの情報を表示
xfsdump オプション BUするファイルシステム:ファイルシステムのBU
xfsrestoreオプション[リストア先]:ファイルシステムをリストアする
btrfs コマンド サブコマンド
Btrfsファイルシステムを管理
| コマンドとサブコマンド | 説明 |
|---|---|
| filesystem show | ファイルシステムの情報を表示 |
| filesystem df | ファイルシステムの使用状況を表示 |
| filesystem label | ファイルシステムにラベルを設定 |
| filesystem resize | ファイルシステムのサイズを変更 |
| subvolume create | サブボリュームを作成 |
| subvolume delete | サブボリュームを削除 |
| subvolume list | サブボリュームの一覧を表示 |
| subvolume snapshot | サブボリュームのスナップショットを作成 |
| subvolume show | サブボリュームの情報を表示する |
smartctl[オプション]デバイスファイル名
| オプション | 説明 |
|---|---|
| -a,--all | SMART情報を表示 |
| -c,--capabilities | テストの対応情報表示 |
| -i,--info | 各種情報を表示 |
| -t,--test | 自己診断を実施 |
| -l,--long | 最近のテスト結果を一覧表示 |
| -H,--health | 状態表示 |
| --scan | 認識されてるデバイス表示 |
smartctl --smart=on ファイル名:有効化する
pvcreate デバイスファイル名:デバイスを物理ボリュームとして初期化する
vgcreate[オプション]ボリュームグループ名 物理ボリュームデバイス名
ボリュームグループの作成
-sで物理エクステントのサイズを指定
lvcreate オプション ボリュームグループ名
論理ボリュームの作成
-sでスナップショットの作成
lvscan:論理ボリュームの状態を簡潔に表示
pvdisplay:物理ボリュームの詳細表示
pvscan:物理ボリュームの状態を簡潔に表示
vgextend:ボリュームグループに物理ボリュームを追加
pvmove 移動元 移動先:物理ボリュームを移動する
vgreduce:ボリュームグループから物理ボリュームを削除
pvremove:物理ボリュームを明示的に削除
vgdisplay:ボリュームグループの詳細な情報表示
lvdisplay:論理ボリュームの詳細な表示
lvextend:論理ボリュームの拡張
lvremove:論理ボリュームを削除
まとめ
| コマンド名 | 説明 | 書式 |
|---|---|---|
| pvcreate | PVを作成 | pvcreate PV名 |
| pvdeisplay | PVの情報を表示 | pvdesplay PV名 |
| pvmove | PV内のPEを移動する | pvmove[オプション]移動元 移動先 |
| pvremove | PVを削除 | pvremove PV名 |
| pvscan | PVを検索 | pvscan |
| pvs | PVの情報を出力 | pvs |
| コマンド名 | 説明 | 書式 |
|---|---|---|
| vgcretate | VGを作成 | vgcreate VG名 PV名 |
| vgchange | VGの属性を変更 | vgchabge[オプション][VG名] |
| vgdisplay | VGの情報を表示 | vgdisplay[VG名] |
| vgextend | VGを拡張(PVの追加) | vgextend VG名 PV名 |
| vgreduce | VGを縮小(PVの削除) | vgreduce VG名 PV名 |
| vgremove | VGを削除 | vgremove VG名 |
| vgimport | VGをインポート | vgimport VG名 |
| vgexport | VGをエクスポート | vgexport VG名 |
| vgmerge | 2つのVGを統合 | vgmerge 統合先VG VG名 |
| vgrename | VG名変更 | vgrename 旧VG 新VG |
| vgscan | VGを検索 | vgscan |
| vgs | VGの情報を表示 | vgs |
| コマンド名 | 説明 | 書式 |
|---|---|---|
| lvchange | LVの属性を変更 | lvchange[オプション]VG名 LV名 |
| lvcreate | LVを作成 | lvcreate -L size -n LV名 VG名 |
| lvdisplay | LVの情報を表示 | lvdisplay LV名 |
| lvextend | LVを拡張(PEの追加) | lvxtend -L [+]size LV名 |
| lvduce | LVを縮小(PEの削除) | lvreduce -L[-] LV名 |
| lvremove | LVを削除 | lvremove LV名 |
| lvrename | LV名を変更 | lvrename 旧LV名 新lv名 |
| lvscan | LVを検索 | lvscan |
| lvs | LVの情報を表示する | lvs |
NW構成
ip [オプション]操作対象[コマンド][デバイス]
NWIFやルーティングテーブルの管理コマンド
| オプション | 説明 |
|---|---|
| -s,-stats | より多くの情報を表示 |
| -r,-resolve | 名前解決して表示 |
| -f,-family プロトコル | プロトコルファミリ(inet/link等)を指定 |
| -4 | v4を指定(-f inetと同じ) |
| -6 | v6を指定(-f inet6と同じ) |
arp[オプション]
ARPキャッシュを表示したり操作したり
| オプション | 説明 |
|---|---|
| -a[ホスト] | 指定したホストor全てのエントリを表示 |
| -f ファイル名 | ホスト名とMACアドレスの対応をファイルから読み込む(/etc/ethers) |
| -n | ホスト名をIPアドレスを表示 |
| -d ホスト | 指定したホストのエントリを削除 |
| -i IF | NW IFを指定する |
| -s ホスト MACアドレス | ホスト名とMACアドレスの対応を書き込む |
iwconfig:無線LAN IFを設定したり状態確認
wpa_supplicant:無線LANに接続
iw dev [デバイス名][コマンド]:無線IFの情報を参照したり設定したり
iwlist 無線IF パラメータ:無線IFの情報を取得
route[オプション]:ルーティングテーブルの表示
-n:ホスト名の名前解決しない -Fカーネルのルーティングテーブルを表示
-Cカーネルのルーティングキャッシュを表示
tcpdump[オプション][条件式]
指定したNW Ifを監視 自分以外のパケットも受け取る:プロミスキャストモード
| オプション | 説明 |
|---|---|
| -i インターフェース | 監視するIFを指定する |
| -s バイト数 | パケットから取り出すバイト数を指定 |
| -X | 16進数とASCII文字で表示 |
| -n | アドレスを名前解決をせず表示 |
| -N | ホストのドメイン名を表示 |
| -l | 標準出力をバッファリング |
| -t | 時刻を表示しない |
| -v | 詳細に出力 |
netstat [オプション]
NWに関する情報を表示
| オプション | 説明 |
|---|---|
| -a,--all | 全てのソケットを表示 |
| -c,--continuous | 状況を1秒ごとリアルタイム表示 |
| -i,--interface | NWIFの状態を表示 |
| -l,--listening | 接続待ち状態のソケットのみ表示 |
| -n,--numeric | アドレスやポートを数値で表示 |
| -p,--programs | PIDとプロセスを表示 |
| -r,--route | カーネルのルーティングテーブルを表示 |
| -t,--tcp | TCPを表示 |
| -u,--udp | UDPを表示 |
ss オプション:ほぼnetstatと同じ
nc ホスト名/IPアドレス ポート番号
NW通信を行うシンプルなコマンド
NWの問題解決時に確認すべきファイル
| 設定ファイル | 説明 |
|---|---|
| /etc/resolv.conf | 参照先DNSサーバ |
| /etc/sysconfig/network-scripts/* | NWIFの設定 |
| /etc/network/interface | NWIFの設定(Debian) |