Linucレベル１勉強メモ　＃５４ 

模擬問題のわからないor自信がない問題復習

模擬問題1
システムを停止させ電源を切断できるコマンドを選択してください。

A. systemd stop

B. shutdown -h now

C. reboot

D. system stop

E. reboot --halt

（解答）B
（正答）B

（解説）
書式　shutdown [オプション] 時間　[メッセージ]
shutdownコマンドに-hオプションを指定するとシステムは終了します。システムを再起動するrebootコマンドではシステムを終了できません。systemコマンドやsystemdコマンドはありません(systemdの管理コマンドはsystemctlです）


模擬問題３
新しくLinuxをインストールしたサーバーにSSHで接続できるよう、必要な設定をしていきます。サーバーに配置すべきファイルを選択してください。

A. SSHの公開鍵ファイル

B. SSHの秘密鍵ファイル

C. SSHの公開鍵ファイルと秘密鍵ファイルのペア

D. SSHの公開鍵ファイルとホスト鍵のペア

E. SSHの秘密鍵ファイルとホスト鍵のペア

（解答）A

（解説）SSHを使ってネットワーク経由で接続するには、接続先にSSH公開鍵を登録します。公開鍵は秘密鍵とペアになっています。ホスト鍵は、サーバー（ホスト）固有の鍵ですが、ユーザーが操作することはありません。

模試問題７
実行中の仮想マシンの一覧を表示しようとしています。下線部に当てはまるKVMコマンドを記述してください。

# _______ list
 Id   name       State

- - - - - - - - - - - - - -
 7   vm-ubuntu   running

 （解答）virsh

 （解説）
 virshコマンドは仮想化支援機能がその割っているCPUと、仮想マシンを動か明日のに必要なリソースを搭載したコンピュータが必要です。
 書式 virsh [オプション] サブコマンド　[引数]
代表的なvirshコマンドについて
1. virsh list<br>仮想マシンの一覧を表示します。
1. virsh start<br>仮想マシンを起動させる。
1. virsh console<br>仮想マシン内のゲストOSのコンソールに接続します。
1. virsh shutdown<br>仮想マシンを停止する。
1. virsh destroy<br>仮想マシンの強制停止

模擬問題１３
実行中のrsyslogdプロセス（PIDは1044）にHUPシグナルを送ろうとしています。適切なコマンドを２つ選択してください。

A. kill -s HUP 1044

B. kill -HUP rsyslogd

C. kill -p 1044 -s HUP

D. killall -HUP rsyslogd

E. killall -s HUP -p 1044

（解答）A, D

（解説）
killコマンドやkillallコマンド、pkillコマンドを使ってプロセスにシグナルを送信できます。killコマンドではPIDを、killallコマンドやpkillコマンドではプロセス名を指定します。シグナルの種類は、-sオプションで指定するか、-シグナルID」「-シグナル名」で指定します。

プロセスの終了
プロセスを終了させるには、killコマンドに使います。
書式 kill -[シグナル名またはシグナルID] PID
書式 kill -s [シグナル名またはシグナルID] PID
書式 kill -SIGシグナル名 PID

主なシグナル一覧
1. HUP<br>ハングアップ（端末が制御不能もしくは切断による終了）
1. INT<br>キーボードからの割り込み
1. KILL<br>強制終了
1. TERM<br>終了（デフォルト）
1. CONT<br>停止しているプロセスを再開する
1. STOP<br>一時停止

書式 killall -[シグナル名またはシグナルID] プロセス名
書式 killall -s [シグナル名またはシグナルID] プロセス名
書式 killall -SIGシグナル名 プロセス名

書式 pkill [オプション][シグナル] プロセス名
pkillコマンドの主なオプション
1. -U, --uid ユーザー名<br>プロセスの実行ユーザーを指定する
1. -G, --group グループ名<br>プロセスの実行グループを指定する

このようにkillコマンドでは、プロセスを指定する場合PIDを指定しなければなりませんが、killall,pkillコマンドではプロセス名を指定すれば良いことになっています。

模擬問題１５
ログアウト後も実行を継続させるように指定してプログラムを再起動したいと思います。利用するコマンドを５文字で記述してください。

（解答）nohup

（解説）
ある端末で実行したプロセスは、通常はその端末からログアウトすると終了してしまいます。nohupコマンドを使うと、ログアウト後もプロセスを動作させることができます。

模擬問題１８
スティッキービットが設定されているアクセス権をすべて選択してください。

A. 0775

B. 1775

C. 2741

D. 3755

E. 6711

（解答）B, D

（解説）
スティッキービットが設定されているファイルのアクセス権は、３桁のパーミッションの値に1000を加えた値で表現されます。3755(=2000+1000+755)は、SGIDと同時にスティッキービットが設定されていることを表します。

実行権がxではなくtて書いてあることで、適用を確認することができます。これは、書き込み権限があっても自分以外のユーザーが所有するファイルを削除することができない設定です。スティッキービットを数値で表記する場合には、３桁のアクセス権表記に1000を加えます。

SUID, SGID
passwdコマンドを使うことにより、一般ユーザーは自分自身のパスワードを変更できます。パスワードの変更は/etc/shadowファイルに保存されます。

SUID（Set User ID）とは、実行権を持っているユーザーによってプログラムが実行された場合には、ファイルの所有者の権限で実行されるというものです。SUIDを使った場合、所有者の実行権欄が「s」になります。数値で表現するには、３桁のアクセス権表記に4000を加える。

SUIDと同様に、グループのアクセス権が適用されるように設定することもできます。これがSGID（Set Group ID）です。SGIDが設定されると、グループのアクセス権の実行権が「s」になります。数値で表現するには、３桁のアクセス権表記に2000を加えます。

模擬問題２１
data.csvファイルはテキストファイルです。このファイルには、１行に１つのレコードが記録され、それぞれの行はコロン(:)で区切られた７個の値が格納されています。例を挙げます。

21:linucuser:bash:LinuC:JP:ubuntu:20.04

このファイルの各行から２番目と５番目の値を取り出すコマンドを選択してください。

A. cut -d: -f2,5 data.csv

B. grep -d":" -c2,5 data.csv

C. cut --colon -s 1,5 data.csv

D. grep -c --field=2,5 data.csv

E. sort -d":" -f 2,5 data.csv

（解答）A

（解説）cutコマンドは各行から特定のフィールドを取り出して出力します。-dオプションでフィールドとフィールドの区切りとなる文字を指定します。（デフォルトはタブ）。また-fオプションで取り出したいフィールドの番号を指定します。

cutコマンドの主なオプション
1. -c, --characters 文字数<br>取り出す文字位置を指定する
1. -d, --delimiter 区切り文字<br>フィールドの区切り文字（デリミタ）を指定する（デフォルトはタブ）
1. -f, --fields フィールド<br>取り出すフィールドを指定する

grepコマンドはファイルやテキストストリームの中に、正規表現によって表される検索文字列があるかどうかを調べます。引数にファイルを指定した場合、そのファイルの中で検索パターンにマッチした文字列が含まれる行をすべて表示します。ファイルは複数指定することができます。

書式 grep [オプション] 検索パターン [ファイル名]
書式 grep [オプション] [-fファイル名] [ファイル名]

模擬問題２２
カレントディレクトリにfile3, file3.txt, file313, file33, file33txtの５つのファイルがあるとき、以下のコマンドを実行すると表示されるファイルをすべて選択してください。

A. file3

B. file3.txt

C. file313

D. file33

E. file33.txt

（解答）C, D, E

（解説）
[123]は「１もしくは２もしくは３いずれか１文字」を表します。従って「file[123]*3*」は、
fileで始まり、１もしくは２もしくは３いずれか１文字であり、その直後もしくは何文字かを置いて３がある場合によってはその後何らかの文字列が続く
という条件になります。

模擬問題２６
以下の実行例では、コマンドのパスとmanページのファイルを表示しています。下線部に当てはまるコマンドを記述してください。

＄ ＿＿＿＿＿＿＿＿＿＿＿＿＿bash

bash:/bin/bash/usr/share/man/man1/bash.1.gz

（解答）whichis

（解説）
whereisコマンドは、コマンドの実行ファイルのパスや、manページのファイルの場所を表示します。
他にも、指定されたコマンドのバイナリファイル、ソースコード、マニュアルファイルが置かれている場所を検索します。

（わからない単語解説）
* manページ<br>オンラインマニュアルページのこと、manコマンドを使って表示することができる。コマンドやファイルをはじめ、ライブラリやシステムコールなどの機能に関するmanページも用意されています。

書式 man [オプション] [セクション] コマンド名あるいはキーワード

模擬問題２７
次のコマンドを実行した結果として出力されるものを選択してください。

$ cd /etc ; export VAR=`pwd` ; echo $VAR

A. pwd

B. VAR

C. $VAR

D. /

E. /etc

（解答）E

（解説）
「`(バッククォーテーション)」によって囲まれた文字は、その文字をコマンドとして実行した時の実行結果を表します。従って、「`pwd`」はpwdコマンドの実行結果を表します。ここでは、カレントディレクトリである「/etc」が変数VARの値となります。


模擬問題２８
次のコマンドを実行した結果として出力されるものを選択してください。
$ VAR="\"text\\" ; echo $VAR

A. text

B. "text\\

C. "text\

D. \"text

E. \"text\\

（解答）C

（解説）
変数に文字「”」を含めたい場合は、文字列の終わりを表す”と解釈されないように\をつけて区別します。「\\"」は文字列「”」を表します。単に「\」を表したいときには、「\\\\\」とします。

模擬問題２９
bashのコマンド履歴は、ユーザーのホームディレクトリ直下のファイル＿＿＿＿に格納されます。このファイルは変数＿＿＿＿＿＿＿＿＿＿＿＿で指定できます。それぞれの下線部に当てはまる組み合わせとして適切なものを選択してください。

A. .history, HISTSIZE

B. .bash_history、HISTORYFILE

C. .bashrc、HISTFILE

D. .bash_history、HISTFILE

E. .bash_histfile、BASH_HISTORY

（解答）D

（解説）
bashのコマンド履歴は、~/.bash_historyに格納されます。このファイルは変数HISTFILEで定義します。HISTSIZEは保存するコマンド履歴数を、HISTFILESIZEはHISTFILEで定義したファイルに保存する履歴数を指定します。


模擬問題３０
システム管理コマンドであるmountコマンドのオンラインマニュアルを表示するコマンドを、引数やオプションとともに記述してください。なお、必ずセクションを指定してください。

＿＿＿＿＿＿＿＿＿＿＿＿

（解答）man 8 mount

（解説）
オンラインマニュアルでは、passwdのように同一名称のマニュアルが複数のセクションに存在していることがあります。従って、オンラインマニュアルを表示する際、セクション番号を指定しないと目的のマニュアルを参照できない場合があります。システム管理コマンドのセクションは８です。
セクションとは、ドキュメントの内容による分類である。
セクション１<br>ユーザーコマンド
セクション２<br>システムコール(カーネルの機能を使うための関数）
セクション３<br>ライブラリ（C言語の関数）
セクション４<br>デバイスファイル
セクション５<br>設定ファイル
セクション６<br>ゲーム
セクション７<br>その他
セクション８<br>システム管理コマンド
セクション９<br>Linux独自のカーネル用ドキュメント


模擬問題３１
file.txtは50行っからなるファイルです。このファイルのちょうどど真ん中10行だけを表示するコマンドをすべて選択してください。

A. head -n 20 file.txt | tail -n 20

B. head -n 30 file.txt | tail -n 10

C. tail -n 10 file.txt | head -n 40

D. tail -n 20 file.txt | head -n 20

E. tail -n 30 file.txt | head -n 10

    （解答）B、E

（解説）
設問は50行あるファイルの21行目から30行めまでを表示することを要求しているので、方法としては、「上から30行分
を取り出してから、下から10行分を表示する」か「下から30行分を取り出してから、上から10行分を表示する」の２通りがあります。

headコマンド
ファイルの先頭部分を表示します。オプションを指定しない場合、先頭から10行目までを表示します。
headコマンドの主なオプション
1. -n 行数<br>先頭から指定された行数分だけ表示する（この書式は推奨されていません。）
1. - 行数<br>先頭から指定された行数分だけ表しする
1. -c バイト数<br>出力するバイト数を指定する

tailコマンド
ファイルの末尾部分を表示します。デフォルトでは、再就業から10行が表示されます。　「-f」オプションの末尾を表示し続け、ファイルの末尾に行が追加されるとリアルタイムで表示します。ログファイルをリアルタイムで監視する時などに便利です。

書式 tail [オプション] [ファイル名]

tailコマンドの主なオプション
1. -n 行数<br>末尾から指定された行数分だけ表示する
1. - 行数<br>末尾から指定された行数分だけ表示する
1. -c バイト数<br>末尾から指定されたバイト数だけ表示する
1. -f, --follow<br>ファイルの末尾に追加された行を表示し続ける


模擬問題３２
以下のコマンドの実行結果として適切な記述を選択してください。

$ tr a-z A-Z < /var/log/messages > /dev/null 2>&1

A. /var/log/messages内の小文字が大文字に変換されて表示される

B. /var/log/messages内の大文字が小文字に変換されて表示される

C. /var/log/messages内の小文字を大文字に変換し、/dev/nullファイルに出力する

D. /var/log/messages内の大文字を小文字に変換し、/dev/nullファイルに出力する

E. 何も表示されない

（解答）E

（解説）trコマンドの処理結果はリダイレクトで/dev/nullに出力されています。/dev/nullは書き込まれたデータがすべて消えてしまう特殊ファイルである、「2>&1」は「標準エラー標準出力に送る」ということなので、結果的に何も表示されません。「> /dev/null 2>&1」は実行結果をどこにも出力したくない場合の常套句です。

trコマンド
標準入力から読み込まれた文字列を変換したり、削除したりします。

trコマンドの主なオプション
1. -d, --delete<br>「文字列１」でマッチした文字列を削除する
1. -s, --squeeze-repeats<br>連続するパターン文字列を１文字として処理する

クラス
1. [:alpha:]<br>英字
1. [:lower:]<br>英小文字
1. [:upper:]<br>英大文字
1. [:digit:]<br>数字
1. [:alnum:]<br>英数字
1. [:space:]<br>スペース


模擬問題３３
インストールされているRPMパッケージのリストを出力します。その際、次の例のように、パッケージ名をアルファベット順にソートした上で、連番で数値を左側に出力されるようにしたいと思っています。

1 abrt-2.1.11-55.el7.centOS.x86_64 
2 abrt-addon-ccpp-2.1.11-55.el7.centOS.x86_64
3 abrt-addon-kerneloops-2.1.11-55.el7.centos.x86_64
（省略）
638 zip-3.0-11.el7.x86_64
639 zlib-1.2.7-18.el7.x86_64
640 zlib-devel-1.2.7-18.el7.x86_64

コマンドを以下から３つ選択し、実行すべきコマンドラインを完成させてください。

nl
head
paste
cut
rpm -qa
sort
sort -r
sort -n

_____________________

（解答）rpm -qa | sort | nl

（解説）
インストールされているRPMパッケージはrpm -qaコマンドで出力されます。ただしソートされていませんので、sortコマンドを使ってソートします。nlコマンドは行番号を出力します。以上のコマンドをパイプで繋ぐと、例にある通りの出力になります。


模擬問題３６
findコマンドで検索した結果を使ってファイルを削除したいと思います。下線部に当てはまるコマンドを記述してください。

# find /tmp -atime +60 | _____rm -i

（解答）xargs

（解説）
xargsコマンドは、標準入力から取得したデータを引数として、指定されたコマンドを実行します。この設問の場合、findコマンドを検索したファイル（最終アクセスから60日を超える日数が経過した/tmp以下のファイル）について、逐次rmコマンドを実行します。

書式 xargs コマンド


模擬問題３７
configureスクリプトを実行したときに表示されるメッセージをconfigure.logファイルにも保存したい場合、下線部に当てはまる適切なコマンドを記述してください。

$ ./configure | ______configure.log

（解答）A

（解説）
多くのコマンドはメッセージを標準出力し、画面に表示します。しかし、画面に表示するのと同時にファイルに保存しておきたい場合もあります。このようなときに利用するのがteeコマンドです。

teeコマンド
コマンドの実行結果をファイルに保存するとともに、画面上にも表示したい場合は、パイプだけでは解決できません。このような場合にteeコマンドを使用します。teeコマンドは、標準入力から読み込み、それをファイルと標準出力へとT字型に分岐させます。つまり、実行結果をファイルに書き込みつつ、次のコマンドへと実行結果を渡すことができます。

書式 tee [オプション]ファイル名

teeコマンドの主なオプション
-a ファイルに上書きするのではなく追記する


模擬問題３８
/etc/resolv.confファイルから、行頭が「#」である行を除いて表示するコマンドを次の中から選択してください。

A. grep -v ^# /etc/resolv.conf

B. grep -z ^# /etc/resolv.conf

C. grep -z $# /etc/resolv.conf

D. cat -v ^# /etc/resolv.conf

E. cat -z $# /etc/resolv.conf

（解答）A

（解説）
特定の文字列が入っている行を抽出するにはgrepコマンドを利用しますが、特定の文字列が入っていない行を抽出するにはgrepコマンドに-vオプションをつけます。行頭は正規表現「^」、行末は「$」で表されます。

模擬問題４０
nanoの扱いに慣れているため、デフォルトのエディタをnanoに設定したいと考えています。下線部に指定すべき環境変数名を記述してください。

$ export _____=/usr/bin/nano

（解答）EDITOR

（解説）
デフォルトのエディタは環境変数EDITORで設定できます。エディタのパス（この場合は/usr/bin/nano)をセットしてください。

（わからない単語解説）
* エディタ<br>コンピュータ上でさまざまな種類のデータを編集するためのソフトウェアの総称


模擬問題４１
viエディタでファイルの編集をしています。カーソル位置を含めて３行で削除するには、コマンドモードでどう操作すれば良いかを、３文字で記述してください。

＿＿＿＿＿＿＿＿＿＿

（解答）３dd

（解説）
行削除はddコマンドを使います。コマンドの直前に繰り返し回数を指定すれば良いので、コマンドモードで「3dd」と入力します。


模擬問題４３
インストール済みのパッケージ一覧を出力し、installed_pkgsファイルに保存しようとしています。下線部に当てはまるサブコマンドを記述してください。

$ sudo apt _______ --installed > installed_pkgs

（解答）list

（解説）
apt　list --installedコマンドでインストール済みのパッケージを一覧表示できます。


模擬問題４４
apt-cacheコマンドを使って、zshパッケージが依存するパッケージの情報を表示しようとしています。下線部に当てはまるサブコマンドを記述してください。

$ apt-cache ____________ zsh

（解答）depends

（解説）
apt-cache depends で、指定したパッケージが依存するパッケージの情報を表示します。指定したパッケージに依存するパッケージの情報は、apt-cache rdependsで検索できます。


模擬問題４５
Ubuntuを使って、インターネットサーバーを運用しています。メールサーバーのpostfixパッケージをインストールした時、対話的なインターフェースで基本設定を済ませましたが、設定にミスがありました。そこで、インストール時に自動的に実行される、対話的な設定プログラムを再度実行して設定をしようとしています。どのコマンドを使えば良いか選択してください。

A. dpkg --setup postfix

B. apt reconfig postfix

C. dpkg --reconfig postfix

D. apt setup postfix

E. dpkg-recondigure postfix

（解答）E

（解説）
UbuntuやDebian GNU/Linuxでパッケージをインストールした際の対話的な基本設定は、dpkg-reconfigureコマンドを実行することで設定し直せます。


模擬問題４６
yum＿＿＿＿＿＿コマンドを実行すると、システムの全パッケージに対するアップデートを実行したときに対象となるパッケージの情報表示のみを行います。下線部に当てはまるサブコマンドを記述してください。

（解答）check-update

（解説）yum check-updateを実行するとyum updateを実行したときにアップデート対象となるパッケージの一覧を表示する。


模擬問題４７
開発関連のパッケージをまとめてインストールするため、「Development Tools」パッケージグループをインストールしようとしています。実行すべきコマンドを選択してください。

A. yum install -g "Development Tools"

B. yum groups install "Development Tools"

C. yum install --group "Development Tools"

D. yum -f install /etc/yum.repos.d/"Development Tools"

E. yum -f install /var/lib/rpms/groups/"Development Tools"

（解答）B

（解説）
パッケージグループをインストールするには、yum groups installコマンドを実行します。


模擬問題４８
社内のローカルネットワーク上にパッケージ配布用サーバーが構築されています。管理しているLinuxホストがyumコマンドを使ってそのサーバーからパッケージを取得できるように設定せよ、とリポジトリ設定ファイル(centos_local.repo)が送られてきました。このファイルをどうすれば良いか選択してください。

A. centos_local.repoファイルを/etc/yum.repos.dディレクトリ以下に配置する

B. yum add-repo -f centos/local.repoを実行する

C. centos_local.repoファイルを/etc/yum.conf.dディレクトリ以下に配置する

D. yum install --repofile centos_local.repo

（解答）A

（解説）
リポジトリを追加するには、リポジトリ設定ファイル(~.repo)を/etc/yum.repo.dディレクトリ以下に配置します。

（わからない単語解説）
* リポジトリ<br>さまざまなデータや情報を蓄積し、管理する場所や仕組みのこと


模擬問題５０
接続されているハードウェアデバイスを調査するために役立つコマンドとして適切なものを２つ選択してください。

A. lspci

B. cat /proc/dev

C. udev

D. lsusb

E. cat /proc/usb

（解答）A, D

（解説）
lspciコマンドは接続されているPCIデバイスの一覧を表示します。lsusbはUSBデバイスの情報を表示します。従って、正解は選択肢AとDです。/proc/hddや/proc/usbというファイルはありません。udevは動的にデバイスファイルを作成するための仕組みです。接続されているハードウェアデバイスの調査に役立つとは言えません。

（わからない単語解説）
* PCI (Peripheral Component Interconnect<br>PCのマザーボード上にPCIスロットに接続される拡張カードやPCIeインターフェースで接続されるデバイスです。


模擬問題５１
デバイスドライバがカーネルに組み込まれているかを確認したいと考えています。カーネルモジュールを表示するコマンドとして適切なものを２つ選択してください。

A. lsmod

B. insmod

C. kmod

D. cat /proc/modules

E. cat /dev/modules

（解答）A, D

（解説）
ロードされているカーネルモジュールはlsmodコマンドによって確認できます。また、/proc/modulesファイルをcatコマンドで表示しても同様の情報が得られます。

insmodコマンド<br>カーネルモジュールをロードするコマンド
rmmodコマンド<br>カーネルモジュールを取り外す


模擬問題５３
サーバーを構築する際、ルートパーティションとは別でパーティションを利用した方が良いと考えられるディレクトリを選択してください。なお、サーバーには非常に大量のアクセスが見込まれます。

（解答）E

（解説）
中規模・大規模なサーバー構築においては、パーティションの設定は重要です。すべてのディレクトリを１つのパーティションに格納してしまうと、どこか特定のディレクトリに大量のファイルが書き込まれるだけで、システムは利用不可能な状態に追い込まれることもあり得ます。

（わからない単語解説）
* ルートパーティション<br>UNIX系のOS(Linuxなど)において、システムの起動や動作に必要なファイルシステムを格納するパーティションのこと


模擬問題５４
パーティションを作成・削除できるコマンドを３つ選択してください。

A. mkfs

B. pdisk

C. gdisk

D. fdisk

E. parted

（解答）C, D, E

（解説）
パーティションの作成・削除はfdisk, gdisk, partedといったコマンドで行えます。mkfsはファイルシステムの作成コマンドです。pdiskというコマンドはありません。

fdiskコマンド
パーティションの作成、削除、変更、情報表示などを行います。-lオプションを指定すると、そのデバイス（ハードディスクやSSD)のパーティションテーブルの状態を表示します。

gdiskコマンド
パーティションテーブルの方式には、従来のMBR（マスターブートレコード）のほかに、GPT(GUIDパーティションテーブル）があります。MBRでは、扱えるハードディスクの容量は２Tまでであり、基本パーティションを４個作成できます。GPTでは２Tバイトの制限はなくなり、パーティションも最大128個まで作成できます。gdiskコマンドを使うと、GPTに対応したパーティション操作が行えます。

partedコマンド
MBRにもGPTにも対応したパーティション操作コマンドがpartedコマンドです。


模擬問題５５
パーティションの作成について適切な説明を選択してください。

A. BIOSベースのシステムでは最大４つの論理パーティションを作成できる

B. BIOSベースのシステムでは拡張パーティション内にファイツシステムを作成する

C. BIOSベースのシステムでは基本パーティション内に論理パーティションを作成する

D. UEFIベースのシステムではEFIシステムパーティションを作成しなければならない

E. UEFIベースのシステムでは複数の拡張パーティションを作成できる

（解答）D

（解説）
BIOSベースのシステムで４つまで作成できるのは基本パーティションです。（選択肢A）ファイルシステムを作成できるのは、基本パーティションまたは論理パーティション内です。（選択肢B）。その中に基本パーティションを作成できるのは拡張パーティションです。（選択肢C）。UEFIベースのシステムで複数作成できるのは基本パーティションです（選択肢E）

EFIシステムパーティション
UEFIベースのシステムでは、EFIシステムパーティション（ESP）と、１つ以上の基本パーティションが利用できます。拡張パーティション、論理パーティションは使用しません。EFIシステムパーティションは、他のパーティションの管理等に使われます。


模擬問題５６
LVMに関する説明として適切なものを３つ選択してください。

A. 論理ボリュームにファイルシステムを作成して利用する

B.ボリュームグループは複数のパーティションから構成される

C. 論理ボリュームを作成後にサイズを変更できる

D. 論理ボリュームの最大サイズは物理ボリュームの最大サイズに等しい

E. 物理ボリュームを束ねてボリュームグループを作成する

（解答）A,C,E

（解説）
物理ボリュームからボリュームグループを作成し、ボリュームグループを論理ボリュームに切り出して利用します。ボリュームグループは複数のパーティションから構成されるとは限らず、単一のパーティションまたはストレージの場合もあります。論理ボリュームはボリュームグループから作成するので、物理ボリューム単体のサイズを超える場合もあります。

LVM(Logical Volume Mamager)はより柔軟にディスクを管理できる機能です。ディスクのパーティションを直接操作するのではなく、仮想的なパーティションである論理ボリュームを動的に管理します。パーティションでのディスク管理に比べて、次のような制約を回避できます。

* 一度パーティションを作成するとサイズ変更が困難
* 別のディスクにパーティションを移動させることができない
* ディスクのサイズを超える大きさのパーティションは作成できない。
LVMはこれらの制限をクリアします。

LVMのポイントは次のとおりです。
* １台のハードディスクや１つのパーティションを物理ボリューム(PV:Physical Volume)とする
* 物理ボリュームを束ねてボリュームグループ(VG:Volume Group)が構成される
* ボリュームグループから論理ボリュームを切り出す。

LVMの特徴とメリット
* 論理ボリュームは従来のパーティションと同様に扱うことができる
* 論理ボリュームのサイズを変更したり、他のディスク上へ移動したりできる
* 論理ボリュームは複数のディスクにまたがって作成することができる
* ボリュームグループも後からサイズを変更することができる
* スナップショットを使うとスムーズにパックアップができる。スナップショットとは「ある時点での論理ボリュームの状態の記録」のこと


模擬問題５７
ext4ファイルシステムを/dev/sda4に作成したい場合に、適切なコマンドをすべて選択してください。

A. mke3fs /dev/sda4

B. mke4fs /dev/sda4

C. mkfs -t ext4 /dev/sda4

D. mke2fs -c /dev/sda4

E. mkfs.ext4 /dev/sda4

（解答）C,E

（解説）
ext4ファイルシステムを作成するには、mkfsコマンドでファイルシステムタイプをext4と指定します。これはmkfs.ext4コマンドの実行と同じです。mke3fsというコマンドはありません。mke2fsの-cオプションは不良ブロックをチェックするオプションです。


模擬問題５８
スワップ領域を作成し、有効にする手順で必要となるコマンドを２つ選択してください。

A. mount

B. mkswap

C. mkfs

D. swapon

E. chmod

（解答）B,D

（解説）
スワップ領域はmkswapコマンドで作成し、swaponコマンドで流行歌します。その過程でmount, mkfs, chmodといったコマンドは必要ありません。

スワップ領域の作成
スワップ領域とは、システムの物理メモリが足りなくなってしまったとき、メモリの一部を書き出して強制的にメモリを空けるために利用される領域です。パフォーマンスは低下してしまいますが、メモリ不足でシステムが動かなくなる事態を回避できます。スワップ領域はLinuxのインストール時にも作成されますが、mkswapコマンドを使って作成することもできます。