0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Linuc201】試験対策その2

Last updated at Posted at 2025-11-02

システムの保守と運用管理

git clone URL:ソフトウェアのDL
git tag:タグ一覧の表示
git checkout ファイル:ファイルの復元

gzipの解凍:gunzip or gzip -d
bzipの解凍:buzip2 or bzip2 -d
xzの解凍 :unxz or xz -d

make [オプション][ターゲット]
ソースコードのコンパイル、リンク

オプション 説明
-C ディレクトリ 指定したdirに移動してから処理を開始
--file=ファイル makefileを指定する
-j N 同時にNのジョブを並行して実行する

patch[オプション]<パッチファイル
既存のソースコードをバージョンアップ

tar オプション[ファイル名]:アーカイブ
dd[オプション]
ブロックデバイス単位のBUに適している

オプション 説明
if=入力ファイル 入力側ファイルを指定(デフォは標準入力)
of=出力ファイル 出力側ファイルを指定(デフォは標準出力)
bs=バイト数 入出力のブロックサイズを指定
count=回数 回数分の入力ブロックをコピーする

dump オプション BU対象
磁気テープにBUする用途に適している

オプション 説明
0~9 dumpレベルを指定
u BU時に/var/lib/dumpdatesファイルを更新
f デバイス名 BU装置のデバイスを指定

resotre[オプション][ファイル名]
dumpで作成したBUのリストア

mt [-f デバイス]オペレーション
テープドライブの操作

オペレーション 説明
status テープの状態を表示
tell テープの現在位置を表示
rewind テープを先頭に巻き戻す
fsf N テープをNまでデータの先頭位置まで早送り
compression 1 ハードウェア圧縮を使用する
compression 0 ハードウェア圧縮を使用しない

rsync:NW経由でのBU

/etc/issue:ログイン前のメッセージ表示
/etc/motd:ログイン後のメッセージ表示

wall メッセージ:ログイン中のユーザに一斉メッセージ送信
shutdown -k now メッセージ:-kでシャットダウンせずメッセのみ

top [オプション]

オプション 説明
-b 対話モードでなくバッチモードで実行
-d 秒 表示を更新する間隔を指定
-n 回 指定した回数だけ更新すると自動的に終了
-u ユーザ 指定したUID(ユーザ名)のプロセスのみ監視
-p PID 指定したPIDのプロセスのみ監視
キー操作 説明
f 表示項目を変更
o 表示項目の順を変更
l 平均負荷を表示・非表示
m メモリ、スワップ欄を表示・グラフ表示・非表示
u 指定ユーザのプロセスのみ表示
t プロセスとCPU状態を表示・非表示
P プロセスをCPU使用率順にソート
M プロセスをメモリ使用順にソート
N プロセスをPID順に表示
T プロセスを起動時間順に表示
W 現在の設定を保存
k プロセスにシグナルを送信
h,? ヘルプを表示
q 終了
A 表示モードを切り替える
d,s 更新間隔を変更
<,> ソートする項目を変更

vmstat[表示間隔(秒)][回数]
メモリや仮想メモリの詳細な状態を継続的に監視

iostat[オプション][表示間隔(秒)][回数]
CPUの使用状況とストレージの入出力に関する情報を継続的に監視

オプション 説明
-c CPUの使用率のみ出力
-d ディスクi/oのみ出力
-k KB単位で出力
-t 時間を表示

iotop:i/o情報をtopコマンドのように出力

sar オプション[-s開始時刻][-e終了時刻][-fログファイル名][表示間隔(秒)][回数]]
様々なシステムの統計情報を取得

オプション 説明
-A 全ての項目を表示
-b ディスクの入出力と転送レート情報を表示
-c プロセスの生成回数を表示
-f ファイル ログファイルを指定
-n DEV NW関連の情報を表示
-n EDEV NW関連のエラー情報を表示
-r メモリとスワップ関連の情報を表示
-u CPU関連の情報を表示(iostatのCPU列と同じ)
-P id/ALL CPUごとの情報を表示
-R メモリの統計情報を表示
-W スワップの情報を表示

w [オプション][ユーザ名]
現在ログインしているユーザと各ユーザのプロセス情報を表示

オプション 説明
-h ヘッダを表示しない
-s ログイン時刻、JCPU、PCPUを表示しない

ps[オプション]
プロセス単位でより詳細な情報を確認

オプション 説明
a 端末上の全てのプロセスを表示
e 環境変数も表示
x 制御端末のないプロセスも表示
u 実行ユーザ名なども表示
r 実行ちゅのプロセスのみ表示
l 長いフォーマットで表示
U ユーザ名 ユーザ名で選択
-C コマンド名 コマンド名で選択
-e 全てのプロセスを表示
-f 引数等も含めた完全なフォーマットで表示
-l ロング形式で表示
-p PID PIDで選択
-t tty 端末名で選択
-u UID ユーザIDで選択

lsof[オプション][ファイル名]
開いてるファイルやポートの確認、引数なしは開いてるもの全て表示

オプション 説明
-c コマンド 指定コマンドが開いてるファイルを表示
-i[:port] 指定ポートが開いてるプロセスを表示
-p PID 指定PIDのプロセスが開いてるファイルを表示
-u ユーザ名 指定ユーザが開いてるファイルを表示

free[オプション]
メモリの使用量の測定

オプション 説明
-b,--bytes バイト単位で表示
-k,--kilo キロバイト単位で表示
-m,--mega メガバイト単位で表示
-h,--human 読みやすい単位で表示
--si SI単位系で表示(1024でなく1000単位)
-t--total 物理メモリとスワップメモリの合計も表示
-s秒,--seconds秒 繰り返し実行する間隔

df[オプション][ディレクトリ]
ディスクの使用量や割合の確認

オプション 説明
-a,--all 全てのファイルシステムを表示
-h,--buman-readable 読みやすい単位で表示
-H,--si SI単位系で表示(1MB=1000kb)
-i,--inodes ディスク容量でなくiノードの使用状況を表示
-l,--local ローカルファイルシステムのみ表示
-T,--print-type ファイルシステムタイプを表示

netperf:クライアントからサーバに接続
netserver:netperfによるサーバ側で接続を待つ
iptraf:NWIFのトラフィックをモニターする

collecd:システムの各種情報を定期的に収集する軽量なデーモン
Nagios:オープンソースのシステム監視やNW監視を行うアプリケーション
MRTG:NW機器のトラフィック量をグラフ化するプログラム
Cati:MRTGの代替 SNMPにも対応
lcinga:Nagiosからフォークした統合監視ツール
Zabbix:サーバ、NW、サービスなどを監視するオープンソースの統合監視ソフトウェア

Ansible
オープンソースで開発されてるシステム構成ツール
YAML形式で記述され設定ファイルは「インベントリ」「Playbook」から構成
・インベントリ:ターゲットノードのリスト
・Playbook:ターゲットノードで実施するシステム構成処理

ansible-plybook -iインベントリファイルかホスト playbookファイル
platbookの処理を実行する

仮想化サーバー

仮想化構築の大まかな手順
①KVMと関連ツールおよびQEMUをインストール
livvirtdサービスを起動→仮想マシンの制御を抽象化するライブラリ
QEMU→ハードウェアエミュレータ

②ブリッジネットワークを設定
仮想マシンのNWIFをホストOSのNWIFと同じNW上に配置する仕組み
→外部のホストから仮想マシンにNW接続ができる

③仮想マシンを作成
仮想マシンのイメージ作成は下記2パターン
CUIでvirt-installコマンドを使用する
GUIでvirt-managerを使用する→仮想マシンのインスト、起動・停止・終了が可能

virsh[オプション]サブコマンド[引数]
仮想マシンとハイパーバイザの管理コマンド

コンテナ

コンテナの隔離に使用されるのが名前空間の機能

名前空間の種別 隔離するリソース
マウント名前空間 ファイルシステムのマウント
UTS名前空間 ホスト名やドメイン名
IPC名前空間 IPCオブジェクトやメッセージキュー
PID名前空間 プロセスID
ネットワーク名前空間 各種ネットワークリソース
ユーザ名前空間 UIDとGID

unshare:新しい名前空間を作成してプロセスを実行
cgroup:プロセスをグループ化して管理する仕組み

Dockerイメージ:コンテナの雛形
Dockerレジストリ:Dockerイメージを管理するサイト
Dockerエンジン:コンテナ化する仕組み
DockerFile:既存のDockerイメージに手を加え新しくイメージを作成

docker pull リポジトリ名[:タグ名]
DockerレジストリからコンテナイメージをDL

docker create[--nameコンテナ名]リポジトリ名[:タグ名]
Dockerイメージからコンテナを生成

docker start コンテナ名かコンテナID
コンテナの起動

docker ps[-a]
動作中のコンテナの表示

docker run リポジトリ名[:タグ名]コマンド
コンテナイメージの取得、コンテナの生成、起動の一連の動作

docker rm コンテナID
コンテナの削除

docker run -it --name コンテナ名 イメージ名[:タグ名]シェル
コンテナ内にログインしてコマンド実行

docker attach コンテナ名かコンテナID
抜けたコンテナに再接続

docker exec コンテナ名 コマンド
コンテナにで指定したコマンドを実行

docker network create 仮想ネットワーク名
新しく仮想ネットワークを作成
connectで接続する

docker commit コンテナID イメージ名[:タグ名]
コンテナからDockerイメージを作成

docker rmi イメージ名かコンテナID
Dockerイメージの削除

docker build -t リポジトリ名:タグ名Dockerファイルのあるディレクトリ
DockerファイルからDockerイメージを作成

docker import ファイル名またはURL[リポジトリ名[:タグ名]]
圧縮アーカイブを取得してDockerイメージを作成

docker pause コンテナ:コンテナにのすべてのプロセスを一時停止
docker unpause コンテナ:再開する
docker stop コンテナ:コンテナを停止、終了
docker kill[-sシグナル]コンテナ:KILLシグナルを送信して終了

docker push:レジストリへの登録

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?