Instiq

LinuC レベル1 102試験 のナレッジマップ

LinuC レベル1 102試験 の主要概念 42 件と、そのつながり。上のマップでノードをクリックすると関連用語や前提をたどれます。下は全概念の索引で、定義と「前提・関連する概念」への内部リンクを掲載しています。

概念一覧(42)

  • シェル(bash)

    ユーザーが入力したコマンドを解釈してカーネルに渡す対話環境。Linux の標準は bash。変数・引用符・履歴・パス解決といった動作原理がスクリプトやテキスト処理の土台になる。

    前提: PATH

  • IP アドレス(IPv4/IPv6)

    ネットワーク上のホストを識別する番号。IPv4 は32ビットをドット区切り4組(192.168.1.10)、IPv6 は128ビットをコロン区切り16進で表しアドレス枯渇を根本解決する。同一リンク内通信用の fe80:: リンクローカルアドレスが自動構成される。

  • PATH

    コマンドの実行ファイルを探索するディレクトリの一覧を持つ環境変数。カレントディレクトリは原則含まれないため、その場のスクリプトは ./script.sh(相対パス)か絶対パスで実行する。

    前提: シェル変数と環境変数

  • ICMP

    データ転送ではなく制御・診断メッセージをやり取りするプロトコル。ping(到達確認)や traceroute(経路確認)、到達不能・TTL 超過の通知に使われ、ネットワーク疎通トラブルの切り分けに欠かせない。

    前提: PATH

    関連: ping/traceroute(疎通・経路調査)ポート番号

  • NAT(ネットワークアドレス変換)

    プライベート IP アドレスをパブリック IP アドレスへ、またはその逆へ変換する仕組み。ルータやゲートウェイで動作し、組織内の多数の端末が少数(または1つ)のパブリック IP を共有してインターネットへ出られるようにする(NAPT/IPマスカレード)。Linux では iptables の MASQUERADE ターゲット等で実現する。

    前提: iptables/firewalld(ファイアウォール)IP アドレス(IPv4/IPv6)プライベート/パブリック IP アドレス

  • source(ドットコマンド)

    .(ドット)や source は、新しいプロセスを作らず現在のシェルでスクリプトを読み込む。設定ファイル(~/.bashrc 等)を再ログインせずに反映するのに使う。

    前提: シェル(bash)

  • systemd/systemctl

    現代の Linux の初期化・サービス管理の仕組み。PID 1 として起動し、依存関係に基づきサービス(ユニット)を並列起動する(旧来の SysV init の後継)。systemctl はその操作コマンド(start/stop/enable/disable/status)。

  • ポート番号

    同じ IP アドレス上で動く複数のサービスを識別する 16 ビットの番号(例:HTTP は 80、HTTPS は 443、SSH は 22)。TCP・UDP のヘッダーに含まれ、ファイアウォールやセキュリティグループのルールは送信元/宛先ポートで通信を許可・拒否する。

    前提: IP アドレス(IPv4/IPv6)source(ドットコマンド)

    関連: ICMP

  • 制御構文(if/case/for/while)

    スクリプトの分岐と反復。if…fi は条件分岐([ ] は test)、case…esac は値をパターンで多分岐、for/while…done は反復。閉じ語(fi/esac/done)を取り違えないのが要点。

  • コピーレフトとパーミッシブ

    OSS ライセンスの2系統。コピーレフトは改変再配布時に派生物も同じライセンス(ソース公開)を求める伝播条件。パーミッシブは著作権表示を残せば改変版をクローズドにしてよい。義務が生じるトリガーは原則「再配布」。

    前提: source(ドットコマンド)

  • 終了ステータス($?/exit)

    コマンドの成否を表す数値。$? で直前の終了ステータスを参照し、0 が成功・0以外が失敗。スクリプト自身の戻り値は exit N で指定する。&& や || による分岐の土台。

    前提: ログイン状況の確認(who/w/last)

  • ping/traceroute(疎通・経路調査)

    ネットワーク障害を層ごとに切り分ける道具。ping(ping6)は ICMP で相手まで届くかを確認、traceroute/tracepath は経由ルータを1ホップずつ表示して停止点を特定する。tracepath は特権不要で MTU も調べる。

    前提: PATH

    関連: ICMP

  • プライベート/パブリック IP アドレス

    プライベート IP アドレス(10.0.0.0/8・172.16.0.0/12・192.168.0.0/16)は組織内などの限られた範囲でのみ使う番号で、そのままではインターネットに直接出られない。インターネット上で一意に到達可能なパブリック IP アドレスと対になる区分で、ルータ等で相互に変換して通信する。

    前提: IP アドレス(IPv4/IPv6)

  • CIDR 表記

    IP アドレス範囲を「/24」のようなプレフィックス長で表す記法。/24 は 256 個、/16 は 65,536 個のアドレスを含み、数字が小さいほど範囲が広い。VPC/VNet やサブネットの設計、ルーティングの最長一致判定、ファイアウォールルールの許可範囲指定など、あらゆるクラウドのネットワーク設計の基礎になる。

    前提: IP アドレス(IPv4/IPv6)

  • システムクロックとハードウェアクロック(date/hwclock)

    Linux には OS が刻むシステムクロック(date/timedatectl)と、マザーボード上のハードウェアクロック(hwclock)の2つの時計がある。hwclock --systohc はシステム→ハードウェアへ書き込み、--hctosys は逆向き。

    前提: タイムゾーン(timedatectl)

  • DNS クライアント設定(host/dig/resolv.conf)

    名前解決の設定と確認。/etc/resolv.conf の nameserver が問い合わせ先 DNS サーバー、/etc/nsswitch.conf が参照順序(通例 files→dns)、/etc/hosts が静的対応表。host/dig は DNS へ直接問い合わせ(dig は @ でサーバー指定)、getent は nsswitch の順序どおり(/etc/hosts 込み)に解決する。

    前提: 制御構文(if/case/for/while)

  • iptables/firewalld(ファイアウォール)

    ホストのパケットフィルタ。iptables はカーネルの netfilter をルールチェーン(INPUT/OUTPUT/FORWARD)で直接制御、firewalld はゾーンとサービス名で管理する高水準ツール(--permanent を付けないと再起動で消える)。既定拒否+必要な口だけ許可が基本。

  • シェル関数

    よく使う一連の処理に名前を付けて再利用する部品。name() { … } または function name { … } で定義し、関数内の $1 は関数自身の引数を指す。

    前提: シェル(bash)

  • コピーレフト系ライセンス(GPL/AGPL/LGPL)

    コピーレフト系ライセンス。GPL は最も代表的でリンクした全体に公開義務が及ぶ。AGPL はネットワーク越しの提供(SaaS)にも公開義務を拡大。LGPL はライブラリ向けの緩和版で、リンクするだけなら伝播しない。

    前提: コピーレフトとパーミッシブ

  • ネットワーク設定(ip/ifconfig/nmcli)

    ホストのネットワーク設定を参照・変更する。現行標準は ip コマンド(ip addr アドレス・ip route ルート)、従来は ifconfig/route。ip や ifconfig の変更は一時的で再起動で消え、恒久化は NetworkManager の nmcli や設定ファイル。ifup/ifdown は設定ファイルに基づく起動/停止。ホスト名は /etc/hostname。

  • オープンソース(OSS)

    ソースコードが公開され、使用・改変・再配布の自由が保証されたソフトウェア(自由=無料ではなく制約からの自由)。権利放棄ではなく、著作権を根拠にライセンスで条件を課す著作物であり、無保証で継続的に開発される。

    前提: source(ドットコマンド)

  • ウェルノウンポート

    主要サービスに割り当てられた既定のポート番号。22 SSH・25 SMTP・53 DNS・80 HTTP・123 NTP・443 HTTPS。

    前提: ポート番号

  • サブネットマスク

    IP アドレスのうちネットワーク部とホスト部の境界を示す値(例 255.255.255.0)。CIDR のプレフィックス長と表裏一体の表現で、オンプレのネットワーク機器や一部のクラウド設定ではこのドット区切り表記が使われる。

    前提: IP アドレス(IPv4/IPv6)CIDR 表記

  • 文字コードと iconv

    文字を数値で表す方式。ASCII は英数記号の7ビット基本、Unicode は全世界の文字に番号を割り当てる規格でその代表的符号化が UTF-8(ASCII 互換・Linux 標準)。ISO-8859 は欧州向け、ISO-2022-JP は日本語メールの伝統。iconv -f 元 -t 先 で変換する(文字化けの救出)。

  • デフォルトルート(デフォルトゲートウェイ)

    宛先が自分のネットワーク外のパケットを託す出口。ip route(または route -n)で確認し、無いと外部へ一切出られない。ルーティングテーブルの誤りは ip route del/add default で訂正する。

    前提: 終了ステータス($?/exit)ネットワーク設定(ip/ifconfig/nmcli)

  • レガシーなサービス管理(inetd/xinetd/chkconfig)

    systemd 以前のサービス管理。inetd/xinetd は要求が来たときだけサービスを起動するスーパーサーバー(設定 /etc/xinetd.d/)。chkconfig/service は RHEL 系の旧来の自動起動管理・起動停止コマンド。不要サービスの停止は攻撃面を減らす基本。

    前提: systemd/systemctl

  • ロケール(LANG/LC_ALL)

    言語・地域・文字コードの組(ja_JP.UTF-8)。優先順位は LC_ALL(全カテゴリ強制)> LC_*(個別)> LANG(既定)。スクリプトでコマンド出力を parse するときは LANG=C(英語・バイト順)に固定して環境差を消すのが定石。確認は locale(-a で一覧)。国際化(i18n)とローカライゼーション(l10n)の設定にあたる。

    前提: 文字コードと iconv

  • パーミッシブ系ライセンス(BSD/MIT/Apache/MPL)

    非コピーレフト(パーミッシブ)系と中間形。BSD・MIT は最小限の条件で改変版をクローズド化できる。Apache License 2.0 は特許条項が明確。MPL はファイル単位のコピーレフト(改変ファイルだけ公開)。パブリックドメインは著作権を主張しない状態。

    前提: コピーレフトとパーミッシブ

  • シェルスクリプトとシバン

    一連のコマンドをファイルにまとめて自動化する。先頭行のシバン #!/bin/bash が解釈するインタプリタを指定し、chmod +x で実行権を付けて ./script.sh で実行する。

    前提: シェル(bash)

  • スクリプトのデバッグ(bash -x)

    スクリプトが期待どおり動かないとき原因を調べる方法。bash -x は実行した各コマンドを変数展開後の形で表示(実行トレース)、bash -v は読み込んだ行をそのまま表示する。

    前提: シェル(bash)

  • シェル変数と環境変数

    シェル変数は NAME=value(=の前後に空白なし)で定義し、そのシェル内でのみ有効。export すると環境変数になり子プロセスへ継承される。一覧は set(全部)/env(環境のみ)、削除は unset、表示は echo。

    前提: シェル(bash)

  • シェル起動ファイル(ログイン/非ログインシェル)

    ログインシェル(ssh ログイン等)は /etc/profile → ~/.bash_profile・~/.bash_login・~/.profile の最初の1つだけを読む。非ログインシェル(端末の新規タブ等)は /etc/bash.bashrc → ~/.bashrc を読む。環境変数は profile 系、alias や関数は .bashrc に置くのが定石。ログアウト時は ~/.bash_logout。

    前提: シェル(bash)

  • タイムゾーン(timedatectl)

    地域ごとの時刻設定。実体は /usr/share/zoneinfo/ 配下のファイルで、/etc/localtime をそこへのシンボリックリンクにして設定する。systemd 環境では timedatectl set-timezone Asia/Tokyo が恒久設定、TZ 変数は一時的な切り替え、tzselect は対話選択。

    前提: systemd/systemctl

  • ulimit/TMOUT

    ulimit はシェルとその子プロセスのリソース上限(-n ファイル数・-u プロセス数・-c core サイズ)。TMOUT は無操作で自動ログアウトする秒数で、放置端末対策として profile に設定する。

    前提: シェル(bash)

  • ログイン状況の確認(who/w/last)

    誰がいつログインしているかを見るコマンド。who は現在のログイン者、w は加えて何をしているか・負荷、last は /var/log/wtmp 由来のログイン履歴を表示する。

  • at/anacron

    at は一度だけの実行予約(at 23:00・at now + 2 hours。atq で確認、atrm で取消。制限は at.allow/at.deny)。anacron は日単位以上の周期を間隔で管理し、電源オフで飛んだ実行を起動後に埋め合わせる(設定は /etc/anacrontab)。

    前提: 制御構文(if/case/for/while)

  • エコシステムへの参加(バグ報告)

    OSS への参加は段階的でよい。使用(それ自体が検証)→紹介→バグ報告→文書・翻訳・パッチ。良いバグ報告は環境(OS/バージョン)・期待動作・実動作・再現手順を添えてイシュートラッカーへ。コードを書かなくても貢献できる。

    前提: OSS のコミュニティとエコシステム

  • GnuPG(gpg)

    ファイルの暗号化・復号・署名を行う公開鍵ツール。暗号化は受取人の公開鍵で行い(gpg -e -r 受取人)、受取人だけが秘密鍵で復号できる。署名は自分の秘密鍵で行う。鍵束は ~/.gnupg/、パスフレーズ管理は gpg-agent。

    前提: SSH 鍵の生成と管理(ssh-keygen/ssh-agent)

  • systemd ジャーナル(journalctl)

    systemd が集めるバイナリ形式のログ。journalctl で問い合わせる(-u ユニット別・-b 今回起動・-f 追随・-p 重大度・--since 期間)。/var/log/journal/ が存在すれば永続化され、無ければメモリのみ(再起動で消える)。設定は journald.conf、古い分の削除は --vacuum-*。

    前提: systemd/systemctl

  • OSS のコミュニティとエコシステム

    OSS を支える分散型の開発体制。メンテナー(取り込みの最終判断者)を中心に世界中のコントリビューターがパッチ/プルリクエストを送る。意思疎通はメーリングリスト(LKML 等)・掲示板・開発サイト(イシュートラッカー)。ディストリビューションは上流(アップストリーム)を統合してユーザーへ届ける結節点。

  • アカウント情報ファイル(/etc/passwd/shadow/group)

    アカウント情報を持つ3ファイル。/etc/passwd はユーザー基本情報(全員が読める・パスワード本体は持たない)、/etc/shadow はハッシュ化パスワードとエージング情報(root のみ可読)、/etc/group はグループとメンバー。確認は id(UID/GID/所属)や getent(NSS 経由で LDAP 等も含む)。パスワード設定は passwd。

    前提: DNS クライアント設定(host/dig/resolv.conf)

  • SSH 鍵の生成と管理(ssh-keygen/ssh-agent)

    ssh-keygen が鍵ペアを生成する(-t ed25519 が現行推奨。RSA/ECDSA/Ed25519)。パスフレーズで秘密鍵ファイル自体を暗号化できる。ssh-agent は復号済みの鍵をメモリに保持し、ssh-add で登録すればパスフレーズ入力はセッション1回で済む。