学習記録#22 250621

445ページ

移動するので一旦ストップ

再開してます

問題は一通り解き終わった
解説を読む

移動&買い物してくるので一旦ストップ

再開

晩御飯を食べるので一旦ストップ

再開

正解数は27問(複数選択で一部正解だったものを省く)
大体半分

明らかに苦手な範囲があるので、そこを詰めたらいけそう

1
システムを停止させ電源を切断できるコマンド
b

正解

shutdownに-hオプションをつけるとシステムが終了する

2
サーバーコンピュータを購入し、Linuxをインストールしようとしている
USBメモリにディストリビューションのインストールイメージを書き込み、サーバーに挿入して起動したが、インストールが開始されない
インストーラが実行されるようにするにはどうしたら良いか
a

正解

BIOS/UEFIセットアップ画面から起動デバイスの起動順序を設定できる

3
新しくLinuxをインストールしたサーバーにSSHで接続できるよう、必要な設定をしている
サーバーに配置すべきファイルはどれか
a

正解

SSHを使ってネットワーク経由で接続するには、接続先にSSH公開鍵を登録する

4
インストール時に設定するユーザーパスワードについて、適切な説明を2つ選択
d
e

a
d

パスワードは英数字と記号を使える
アルファベットは大文字と小文字が区別される
なるべく長く複雑なパスワードが望ましい

5
仮想化に関する説明として誤っているものを3つ選択
a
b
d

a
d
e

仮想マシン内で動作するOSはホストOSではなくゲストOS
KVMはコンテナではなく仮想マシンを使うための仕組み
コンテナは仮想マシンよりもリソース消費量が小さい

6
Dockerを使ったコンテナについての説明で適切なものを3つ選択
b
c
d

a
d
e

Dockerのコンテナはそれぞれ独立しているため、他のプロセスを見たり操作したりできない

7
実行中の仮想マシンの一覧を表示しようとしている
下線部に当てはまるKVMのコマンドを記述する
virsh

正解

KVMはvirshコマンドを使う

8
以下のコマンドの出力結果からわかることを2つ選択
a
d

9
電源を入れてからOSが起動するまでのブート手順として適切に並んでいるものを選択
d

正解

BIOD/UEFI
↓
ブートローダー
↓
カーネル
↓
systemd
ブートローダーがカーネルをロードするので、先にブートローダーが起動する

10
30分後にシステムを再起動したい
実行すべきコマンドを選択する
a
c

b

システムを再起動するときは、shutdownコマンドに-rオプションをつける
30分後は + 30で指定する

11
システムを23時に終了させるコマンドを、オプションと引数も含めて記述する
shutdown -t 00 00 23 *
なんか、時間は秒、分、時の順で入力して、毎日だったら*でOKみたいな記憶がある、、
でも多分違う、、

shutdown -h 23:00

普通に時間指定するだけだった、、
システムの終了は、shutdownコマンドに-hオプションを指定する
時刻を指定する場合は、「00:00」のように指定する

12
systemdを採用したディストリビューションを操作している
デフォルトのブートターゲットを「multi-user.target」にしたいとき、実行すべきコマンドを選択する
c

正解

systemctl set-default ターゲット名
でシステム起動時のデフォルトターゲットを変更できる
get-defaultで現在のデフォルトターゲットが確認できる

13
実行中のrsyslogdプロセス(PID1044)にHUPシグナルを送ろうとしている
適切なコマンドを2つ選択
a
e

a
d

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

14
以下の説明に当てはまるコマンドを記述する
「実行するとシステム状況とプロセスの実行状況が表示される画面に切り替わる。画面上部には実行プロセス数、CPU処理やメモリの使用状況が表示される。その下には、プロセスごとの実行状況が表示される。画面はデフォルトでは3秒ごとに更新されるので、システムの状況を継続的に監視するのに便利である」
???
忘れた

top

15
ログアウト後も実行を継続させるように指定してプログラムを起動したい
利用するコマンドを5文字で記述する
logout

nohup

no hang upの略らしい。
ハングアップしない
ハングアップは、コンピュータやソフトウェアが完全に停止し、操作を受け付けなくなること。
なので、ハングアップしないってことは完全に停止させないってこと

16
Xクライアントが出力を行うXサーバーを設定する環境変数名を記述
XARGS

DISPLAY

17
ファイルの所有者や所有グループを変更するコマンドを記述
ch?
chは付く?

chown
chは付いてたね、、

ファイルの所有者や所有グループを変更できる
所有グループの変更だけならchgrpでもできる

18
スティッキービットが設定されているアクセス権を全て選択
b
c
d
e
4桁で表した時に最初が0じゃないやつがスティッキービットが付いてる証だったはず、、

b
d

スティッキービットが設定されているファイルのアクセス権は、3桁のパーミッションの値に1000を加えた値で表現される
4000, 2000, 1000の順で1000がスティッキービットの枠なので、1000が必ず入っている足し算で成り立つやつだけが正解

19
新規に作成されるファイルのデフォルトパーミッションを「rw- r-- r--」としたい場合、umask値として設定すべき値を選択する
4,2,1の順なので、
rw = 4+2
r=4
r=4
644->d

c

「デフォルトの」パーミッションは、ファイルの場合は666からumaskを引いた値になる
よって、644にしたいなら、umaskは022になる

20
ファイルのclients.txtの内容をソートし、重複する行は1行にまとめたいと考えている
下線部に当てはまる適切なコマンドを記述
uniq

21
data.csvファイルはテキストファイル
このファイルには、1行に1つのレコードが記述され、それぞれん行は:で区切られた7個の値が格納されている
例:21:linuxuser:bash:LinuC:JP:ubuntu:20.04
このファイルの各行から2番目と5番目の値を取り出すコマンドを選択する
a
b

a

cutコマンドは各行からの特定のフィールドを取り出して出力する
-dオプションで「フィールドとフィールドの区切りになる文字」を指定する
-fオプションで「取り出したいフィールドの番号」を指定する

22
カレントディレクトリにfile3, file3.txt, file313, file33, file33.txtの5つのファイルがある
この時、以下のコマンドで表示されるファイルを全て選択する
$ ls file[123]*3*
d
e

c
d
e

[123]は1,2,3のどれか、*は何かしらの文字が入る(文字数は決まってないので0文字でも100文字でもOK)ような文字列を指しているので、
file1~3~
file2~3~
file3~3~
のようになる文字列が正解

23
/dataディレクトリのリンクを作成し、その中にファイルをコピーしようとしたが、失敗した
実行結果を見て、失敗の原因である可能性が最も高いものを選択
d

c

シンボリックリンクのパーミッションは常にrwxrwxrwxに表示されるが、実際はリンク先のパーミッションが適用される
実行例ではcp /dataがPermission Deniedになっているので、何らかのパーミッションの問題であることがわかる

dの「カレントディレクトリに存在しない」だと、エラーメッセージがNo such file or directoryになるはずなので誤り

24
シンボリックリンクとハードリンクについての説明として適切なものを2つ選択
b
c

a
e

全てのハードリンクはiノード番号が同じ
→実態が同じなんだからそりゃそう
一方、シンボリックリンクの方はiノード番号は異なる
ディレクトリのハードリンクや、ファイルシステムをまたぐハードリンクは作成できない

25
環境変数PATHで指定されているディレクトリ内から指定した名前のコマンドを検索し、絶対パスを表示するコマンドを選択する
b

26
コマンドのパスとmanページのファイルを表示している実行例を見て、下線部に当てはまるコマンドを記述する
whatisかman?

whereis

whereisコマンドは、コマンドの実行ファイルのパスやmanページのファイルの場所を表示する

27
次のコマンドを実行した結果として出力されるものを選択する
$ cd /etc ; export VAR='pwd' ; echo $VAR
e

28
次のコマンドを実行した結果として出力されるものを選択
$ VAR="\"text\\" ; echo $VAR
\はエスケープ文字なので、最初の"はエスケープされてるはず
次の\は\になるはず
c

29
bashのコマンド履歴は、ユーザーのホームディレクトリ直下のファイル( )に格納される。このファイルは変数( )で指定できる。
それぞれの( )に当てはまる組み合わせとして正しいものを選択
a

d

bashコマンド履歴は、~/.bash_historyに格納される
このファイルは変数HISTORYで定義する

30
システム管理コマンドであるmountコマンドのオンラインマニュアルを表示するコマンドを、引数やオプションとともに記述する
なお、必ずセクションを記述すること
man -c 1 mount
オプションの名前忘れた

31
file.txtは50行からなるファイルである
このファイルのちょうど真ん中10行だけを表示するコマンドを全て選択する
a
d

b
e

50行あるファイルの21行目から30行目までを表示することを要求している
したがって、方法としては上から30行分取り出して下から10行分を表示するか、下から30行分を取り出して上から10行分を表示するの2通りになる

32
以下のコマンドの実行結果として適切な記述を全て選択する
$ tr a-z A-Z < /var/log/messages > /dev/null 2>&1
2>&1はエラーのことだった気がする
<と>が何か忘れたけど、確か書き込みとかそれ系
messagesの内容の英字を小文字から大文字にしてそう
nullの中にエラーを書き込んでる?
e

正解

そもそも/dev/nullは書き込まれたデータが全て消える特殊なファイルで、2>&1は標準エラー出力も標準出力に送るという意味なので、結果的に何も表示されない
「> /dev/null 2>&1」は実行結果をどこにも表示したくない場合の常套句

33
インストールされているRPMパッケージのリストを出力する
その際、例のようにパッケージ名をアルファベット順にソートした上で、連番で数値を左側に出力されるようにしたい
コマンドを3つ選択し、実行すべきコマンドラインを完成させる
sortはいる。連番つけるからオプションが欲しい。-n? rpm -qaもいる これだけだと表示できないから、nlとか?
rpm -qa | sort -n| nl

rpm -qa | sort | nl
-nが不要だった

nlが行番号の表示

34
findコマンドの検索結果をfindlog.txtファイルに保存し、検索の際のエラーメッセージをerror.logファイルに保存するコマンドを選択する
c

35
lsmodコマンドの実行結果を、リダイレクトを使ってlsmod.logファイルとして保存しようとしている
適切なコマンドを記述する
lsmod > lsmod.log
これだとリダイレクトしてないかも、、

正解
これでいいのか!

そもそも、>
はリダイレクトのコマンド
>
だと標準出力、2>
だとエラー出力をリダイレクトすることになる

36
findコマンドで検索した結果を使ってファイルを削除したい
下線部に当てはまるコマンドを記述する
xargs

37
configureスクリプトを実行した時に表示されるメッセージをconfigure.logファイルにも保存したい場合、下線部に当てはまる適切なコマンドを記述する
&>
絶対違う

tee

画面に表示すると同時にファイルに保存もするコマンド

38
/etc/resolv.confファイルから、行頭が「#」である行を除いて表示するコマンドを次の中から選択してください
a
-vと-zは何の略?

正解

grepコマンドに -vをつけると、特定の文字が入っていない行を抽出 できる

39
ファイルdata.txt内にある「Tokyo」という文字列を全て「TOKYO」に置換して標準出力に出力したい
例の実行結果を見ると、一部しか置換されていないことがわかる
全ての「Tokyo」を「TOKYO」に置換するための操作として最も適切なものを選択する
d

正解

全ての文字を変換するためにはgスイッチが必要

40
デフォルトのエディタをnanoにしたい
下線部に指定すべき環境変数名を記述する
EDITOR
こんな環境変数あったか、、?

正解
こんな環境変数ありました

41
viエディタでファイルの編集をしている
カーソル位置を含めて3行を削除するには、コマンドモードでどう操作すれば良いか
3dd

42
Ubuntu Server 18.04LTSを使ってサーバーを運用している
システムを最新の状態にアップデートしたいので、以下のコマンドを実行した
下線部に当てはまるサブコマンドを、必要であればオプションや引数も含めて記述する
$ sudo apt-get update
upgrade

正解

updateでapt-get自体を更新し、upgradで現在インストールされているパッケージを更新する

43
インストール済みのパッケージ一覧を出力し、install_pkgsファイルに保存しようとしている
下線部に当てはまるサブコマンドを記述する
list

44
apt-cacheコマンドを使ってzshパッケージが依存するパッケージの情報を表示しようとしている
下線部に当てはまるサブコマンドを記述する
-d
dependencies的な

depends
方向は合ってた

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

e

dpkg-reconfigureを使う
reconfigする発想までは合ってた

46
yum( )コマンドを実行すると、システムの全パッケージに対するアップデートを実行したときに対象となるパッケージの情報表示のみを行う。当てはまるサブコマンドを記述する
dry-run

check-update

47
開発関連のパッケージをまとめてインストールするため、Development Toolsパッケージグループをインストールしようとしている
実行すべきコマンドを選択する
a

b

パッケージグループのインストールには、yum group installを実行する

48
社内のローカルネットワーク上にパッケージ配布用サーバーが構築されている
管理しているLinuxホストがyumコマンドを使ってそのサーバーからパッケージを取得できるように設定するには、ファイルをどうすれば良いか
a

49
WebサイトからダウンロードしたRPMファイルをインストールしようとしたところ、例のように表示された
この実行結果に関する説明として適切なものを選択する
b

50
接続されているハードウェアデバイスを調査するために役立つコマンドとして適切なものを2つ選択する
a
b

a
d

lspciは接続されているPCIデバイスの一覧を表示する。lsusbはUSBデバイスの権限を表示する

51
デバイスドライバがカーネルに組み込まれているかを確認したい時、カーネルモジュールを表示するコマンドとして適切なものを2つ選択する
d
c

a
d

ロードされているカーネルモジュールはlsmodコマンドによって確認できる
/proc/modulesファイルの中にも同様の情報が書かれている

52
カーネルモジュールを、必要であれば依存関係のあるカーネルモジュールも合わせてロードするコマンドを記述する
probeが付くはず
modprobe

53
サーバーを構築する際、ルートパーティションとは別のパーティションを利用した方が良いと考えられるディレクトリを選択する
なお、サーバーには非常に多くのアクセスが見込まれる
e
/var/logとかのイメージ

正解

/varはログファイルなどが格納されるため肥大化しやすいから。理由まで正解

54
パーティションを作成・削除できるコマンドを3つ選択する
b
c
e

c
d
e

パーティションの作成・削除は、fdisk、gdisk、partedコマンドでできる

55
パーティションの作成について適切な説明を選択する
d

56
LVMに関する説明として適切なものを3つ選択する
a
b
e

a
c
e

論理ボリュームはボリュームグループから作成するので、物理ボリューム単体のサイズを超える場合もある

57
ext4ファイルシステムを/dev/sda4に作成したい場合に、適切なコマンドを全て選択する
c
d

c
e

ext4ファイルシステムを作成するには、mkfsコマンドでファイルシステムタイプをext4と指定する。これはmkfs.ext4の実行と同じ

58
スワップ領域を作成し、有効にする手順で必要となるコマンドを2つ選択する
a
d

b
d

スワップ領域はmkswapコマンドで作成し、swaponコマンドで有効化する

59
/dataにマウントしている/dev/sdb1をアンマウントしようとしたが、失敗した
例の実行結果になった理由として適切なものを選択する
c

60
/etc/stabファイルに適切なエントリが存在しないので、mountコマンドを使って明示的にマウントしようとしている
/dev/sda9を/var/dataとしてマウントする時、下線部に当てはまる適切な引数を記述する
/deb/sda9 /var/data