LinuC 1.01 インストールと仮想マシン・コンテナ 問題

ゆめさくが作った練習問題です。本試験の問題ではありません。

1.0⁠1 インストールと仮想マシン・コンテナの問題を1⁠0問、小分野ごとにまとめました。選ぶと、その場で正誤と解説が出ます。

ログインなしで解けます。答えはこのブラウザの中だけに残り、どこにも送りません。

この分野の小分野

  • 1.0⁠1.1 Linuxのインストール、起動、接続、切断と停止(2問)
  • 1.0⁠1.2 仮想マシン・コンテナの概念と利用(3問)
  • 1.0⁠1.3 ブートプロセスとsystemd(2問)
  • 1.0⁠1.4 プロセスの生成、監視、終了(2問)
  • 1.0⁠1.5 デスクトップ環境の利用(1問)

1.01 インストールと仮想マシン・コンテナの問題

10 問

選ぶと、すぐに正誤と解説が出ます。選んだ答えは変えられません。

  1. 1.01.1 Linuxのインストール、起動、接続、切断と停止

    問 1新しく用意したサーバーに、手元の公開鍵で SSH ログインできるようにしたい。手元の id_ed25519.pub の中身を、サーバー側の利用者のどのファイルに書き足しますか。

  2. 問 2保守のため、サーバーを 10 分後に停止 (電源断)したい。ログイン中の利用者には予告の文も届けたい。適切なコマンドはどれですか。

  3. 1.01.2 仮想マシン・コンテナの概念と利用

    問 3仮想マシンとコンテナの違いを説明したものとして、最も適切なものはどれですか。

  4. 問 4KVM のホストに定義済みで、いまは停止している仮想マシン web01 を起動したい。使うコマンドはどれですか。

  5. 問 5nginx のイメージから新しいコンテナを作り、端末を占有せず裏で動かし、名前を web にしたい。適切なコマンドはどれですか。

  6. 1.01.3 ブートプロセスとsystemd

    問 6サーバーが毎回 GUI のログイン画面まで立ち上がる。次の起動からは GUI を使わず、テキストのログインで止まるように既定を変えたい。適切なコマンドはどれですか。

  7. 問 7電源を入れてから Linux のログインの準備ができるまでに、処理を受け持つものの順番として正しいものはどれですか。

  8. 1.01.4 プロセスの生成、監視、終了

    問 8時間のかかる ./backup.sh を SSH の端末から動かし、そのままログアウトしても処理を続けさせたい。適切な打ち方はどれですか。

  9. 問 9プロセスにシグナルは送らず、名前に httpd を含むプロセスの PID だけを一覧したい。使うコマンドはどれですか。

  10. 1.01.5 デスクトップ環境の利用

    問 10SSH で入ったサーバー上のグラフィカルなアプリを動かし、その窓を手元の画面に出したい。X11 の転送を有効にする ssh のオプションはどれですか。

10 問中 0 問に答えました

解説の一覧

解いたあとに読み返せるよう、全問の解説を並べています。問いを開くと解説が出ます。

1.0⁠1.1 Linuxのインストール、起動、接続、切断と停止

問1新しく用意したサーバーに、手元の公開鍵で SSH ログインできるようにしたい。手元の id_ed2⁠5⁠5⁠1⁠9.pub の中身を、サーバー側の利用者のどのファイルに書き足しますか。

正解は ~/.ssh/authorized_keys です。サーバーは、ログインを許す公開鍵を利用者ごとの ~/.ssh/authorized_keys に 1 行ずつ持ち、ここに無い鍵は通しません。known_hosts は接続する側が過去に接続したサーバーのホスト鍵を控えるファイル、id_ed2⁠5⁠5⁠1⁠9 は外に出さない秘密鍵、sshd_config はサーバー全体の設定で、どれも利用者の公開鍵を書き足す場所ではありません。

問2保守のため、サーバーを 1⁠0 分後に停止 (電源断)したい。ログイン中の利用者には予告の文も届けたい。適切なコマンドはどれですか。

正解は shutdown -h +1⁠0 "1⁠0分後に保守のため停止します" です。shutdown の -h は停止、+1⁠0 は 1⁠0 分後を表し、後ろに書いた文はログイン中の端末へ送られます。-r は停止ではなく再起動、-c は予約済みの shutdown を取り消す指定、reboot -f は予告なしにすぐ再起動するので、どれも求める動きになりません。

1.0⁠1.2 仮想マシン・コンテナの概念と利用

問3仮想マシンとコンテナの違いを説明したものとして、最も適切なものはどれですか。

正解はコンテナはホストの OS のカーネルを共有し、仮想マシンはゲストごとに自分のカーネルを動かすことです。コンテナは名前空間と cgroups でプロセスを隔てる仕組みで、カーネルはホストの 1 つを使うため軽く速く起動します。仮想マシンはハイパーバイザーが用意した仮想のハードウェアでゲストの OS を丸ごと起動し、Intel VT-⁠x や AMD-⁠V などの仮想化支援機能で速さを補います。カーネルを共有する側を取り違えた説明、コンテナで別のカーネルが動くという説明、支援機能を使えないという説明は、どれも誤りです。

問4KVM のホストに定義済みで、いまは停止している仮想マシン web0⁠1 を起動したい。使うコマンドはどれですか。

正解は virsh start web0⁠1 です。virsh start は、定義済みで止まっている仮想マシン (ドメイン) を起動します。virsh resume は一時停止 (suspend) した仮想マシンを再開するもの、virsh list は仮想マシンの一覧を出すもの、virsh shutdown は動いている仮想マシンに停止を求めるもので、止まった仮想マシンは起動しません。

問5nginx のイメージから新しいコンテナを作り、端末を占有せず裏で動かし、名前を web にしたい。適切なコマンドはどれですか。

正解は docker run -d --name web nginx です。docker run はイメージからコンテナを作って起動し、-d で裏で動かし、--name で名前を付けます。docker create はコンテナを作るだけで起動せず、docker start は作ってあるコンテナを起動するもので --name を受け付けず、docker exec は動いているコンテナの中で別のコマンドを動かすものです。

1.0⁠1.3 ブートプロセスとsystemd

問6サーバーが毎回 GUI のログイン画面まで立ち上がる。次の起動からは GUI を使わず、テキストのログインで止まるように既定を変えたい。適切なコマンドはどれですか。

正解は systemctl set-⁠default multi-⁠user.target です。systemctl set-⁠default は次の起動から使う既定のターゲットを決め、multi-⁠user.target は GUI を含まない複数利用者のモードです。isolate はいま動いているターゲットをその場で切り替えるだけで既定は変わらず、graphical.target は GUI まで立ち上げる側、get-⁠default は今の既定を表示するだけです。

問7電源を入れてから Linux のログインの準備ができるまでに、処理を受け持つものの順番として正しいものはどれですか。

正解は UEFI または BIOS、ブートローダー (GRUB など)、カーネル、systemd です。最初にファームウェア (UEFI または BIOS) が機器を確かめてブートローダーを読み込み、ブートローダーがカーネルと initramfs をメモリに載せます。カーネルが準備を終えると最初のプロセスとして systemd を起動し、systemd が各サービスを立ち上げます。ほかの並びは、カーネルを読み込む前に systemd が動く、ファームウェアより先にブートローダーが動くなど、実際の順と合いません。

1.0⁠1.4 プロセスの生成、監視、終了

問8時間のかかる ./backup.sh を SSH の端末から動かし、そのままログアウトしても処理を続けさせたい。適切な打ち方はどれですか。

正解は nohup ./backup.sh & です。nohup は、端末が閉じたときに届く SIGHUP を無視させてコマンドを動かし、出力は端末の代わりに nohup.out へ書きます。末尾の & で裏で動かすので、そのまま exit できます。bg と jobs は今のシェルのジョブを相手にするもので新しくプログラムを動かさず、kill -HUP はプロセスに SIGHUP を送る側なので、切れない働きはありません。

問9プロセスにシグナルは送らず、名前に httpd を含むプロセスの PID だけを一覧したい。使うコマンドはどれですか。

正解は pgrep httpd です。pgrep は名前などの条件に合うプロセスを探し、その PID を表示するだけです。pkill と killall は条件に合うプロセスにシグナル (既定は SIGTERM) を送って止めてしまい、uptime は稼働時間と負荷を表示するコマンドでプロセスは探しません。

1.0⁠1.5 デスクトップ環境の利用

問10SSH で入ったサーバー上のグラフィカルなアプリを動かし、その窓を手元の画面に出したい。X1⁠1 の転送を有効にする ssh のオプションはどれですか。

正解は -X です。ssh -X は X1⁠1 転送を有効にし、サーバー側の DISPLAY を SSH の通り道に向けて設定するので、動かしたアプリの窓が手元の X サーバーに出ます。-L は手元のポートをサーバー側へ転送する指定、-A は ssh-⁠agent の転送、-N はリモートでコマンドを動かさない指定で、窓は出せません。

ほかの分野

  • 1.02 ファイル・ディレクトリの操作と管理

    1.0⁠2.1 ファイルの所有者とパーミッション、1.0⁠2.2 基本的なファイル管理の実行、1.0⁠2.3 ハードリンクとシンボリックリンク、1.0⁠2.4 ファイルの配置と検索

    10問解く
  • 1.03 GNUとUnixのコマンド

    1.0⁠3.1 コマンドラインの操作、1.0⁠3.2 フィルタを使ったテキストストリームの処理、1.0⁠3.3 ストリーム、パイプ、リダイレクトの使用、1.0⁠3.4 正規表現を使用したテキストファイルの検索、1.0⁠3.5 エディタを使った基本的なファイル編集の実行

    10問解く
  • 1.04 リポジトリとパッケージ管理

    1.0⁠4.1 apt コマンドによるパッケージ管理、1.0⁠4.2 Debianパッケージ管理、1.0⁠4.3 yumコマンドによるパッケージ管理、1.0⁠4.4 RPMパッケージ管理

    10問解く
  • 1.05 ハードウェア、ディスク、ファイルシステム

    1.0⁠5.1 ハードウェアの基礎知識と設定、1.0⁠5.2 ハードディスクのレイアウトとパーティション、1.0⁠5.3 ファイルシステムの作成と管理、マウント

    10問解く
  • 1.06 シェルおよびスクリプト

    1.0⁠6.1 シェル環境のカスタマイズ、1.0⁠6.2 シェルスクリプト

    10問解く
  • 1.07 ネットワークの基礎

    1.0⁠7.1 インターネットプロトコルの基礎、1.0⁠7.2 基本的なネットワーク構成、1.0⁠7.3 基本的なネットワークの問題解決、1.0⁠7.4 クライアント側のDNS設定

    10問解く
  • 1.08 システム管理

    1.0⁠8.1 アカウント管理、1.0⁠8.2 ジョブスケジューリング、1.0⁠8.3 ローカライゼーションと国際化

    10問解く
  • 1.09 重要なシステムサービス

    1.0⁠9.1 システム時刻の管理、1.0⁠9.2 システムのログ、1.0⁠9.3 メール配送エージェント(MTA)の基本

    10問解く
  • 1.10 セキュリティと 1.11 オープンソースの文化

    1.1⁠0.1 セキュリティ管理業務の実施、1.1⁠0.2 ホストのセキュリティ設定、1.1⁠0.3 暗号化によるデータの保護、1.1⁠0.4 クラウドセキュリティの基礎、1.1⁠1.1 オープンソースの概念とライセンス、1.1⁠1.2 オープンソースのコミュニティとエコシステム

    10問解く

LinuCの頁に、1⁠0分野の入口と試験の案内があります。

続きはゆめさくで

試験の知識を仕事につなげる一歩を、ここにまとめています。