tnishita2さんの助け合いフォーラム投稿一覧

助け合いフォーラムの投稿
2023/07/28 コメント
fileコマンドでatimeが更新されない
> 質問対象のatimeが更新されないファイルのディレクトリは /root/study です。 > mount | grep relatimeでは、以下の様に、多数の行が出力されましたが > /root/studyについての行はありませんでした。 言葉足らずでしたが、/root/study の行がなかったら/root の行を見ます。/root の行がなかったら/ (ルートパーティション)の行を見ます。 私もRocky Linux 8.8 相当の環境で試してみました。通常/root を別パーティションにはしないので、/ の行を `mount | grep 'on / '` で探すと、relatime オプションが指定されていることが確認できました。kz5835さんの環境でも同様だと思います。 relatime オプションの動作についてはarashi1977 さんとのやりとりのほうですでほぼ解決済みのようですが、初回のfile コマンドではatime が更新されましたが、その後stat コマンドとfile コマンドを繰り返しても(relatime オプションの効果で)atime は更新されませんでした。arashi1977 さんの環境でも、2回目以降のfile コマンドではatime が更新されないと思います。
2023/07/27 返信
fileコマンドでatimeが更新されない

mount 時にrelatime オプションやnoatime オプションが指定されているためではないでしょうか。
mount | grep relatime コマンドなどで確認してみてください。

https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/power_management_guide/relatime

2023/07/19 コメント
Debian系のサーバのランレベルについて
m7jgc さんにいただいた回答によると、 「Debian系の場合はランレベル2~5(マルチユーザモード)を区別しません。」 は正しいようですね。私も勉強になりました。
2023/07/18 返信
Debian系のサーバのランレベルについて

質問の回答になっていないかもしれないのですが、調べたことを参考までにご紹介します。
私の結論としては、「Debian系の場合はランレベル2~5(マルチユーザモード)を区別しません。」というのが誤情報なのでは?と思われました。

「Debian系の場合はランレベル2~5(マルチユーザモード)を区別しません。」というのを私は初耳だったのでウェブでざっと検索してみたところ、日本語版Wikipedia やそれを引用するページしか見当たりませんでした。(Wikipedia や個人ブログレベルではない情報ソースがあれば教えてください。)
https://ja.wikipedia.org/wiki/%E3%83%A9%E3%83%B3%E3%83%AC%E3%83%99%E3%83%AB
脚注に、この情報元は
http://www.debian.org/doc/FAQ/ch-customizing.en.html#s-booting
とあります。しかしこのページは現在「ページが見つかりません」となります。過去のアーカイブをさかのぼってみると、2019-10-05時点では
https://web.archive.org/web/20191005004354/https://www.debian.org/doc/manuals/debian-faq/ch-customizing.en.html
の「11.6 And how about Debian and traditional System V init?」が

 Like most System V compatible Unices, Linux has 7 runlevels:
    0 (halt the system),
    1 (single-user mode),
    2 through 5 (various multi-user modes), and
    6 (reboot the system).

となっていました。Wikipedia の著者はここの記述をもとに「Debian系の場合はランレベル2~5(マルチユーザモード)を区別しません。」と解釈したようですが、私にはこの文章はそういう意味ではなく、「ランレベル0, 1, 6の違い・重要度と比べると、ここでランレベル2~5の違いを細かく記述するのは本題ではないので、まとめて書いておきます。」という意味・意図に読み取れました。

なお、上記のページに相当する現在のページは
https://www.debian.org/doc/manuals/debian-faq/customizing.en.html#booting
で、すでにsystemd の記述に更新されていてランレベルの話は削除されています。

2023/07/08 返信
選択肢:引数に「-」をつけると、suコマンドを実行したユーザの環境変数を引き継ぐ

選択肢も解説も両方正しいと考えると矛盾していますが、選択肢は誤った説明で、解説は正しい説明ですから、両方とも合っていると思います。

引数に「-」をつけると、su コマンドを実行したユーザの環境変数を引き継ぐ、というのは誤り。正しくは、
引数に「-」をつけると、su コマンドを実行したユーザの環境変数は引き継がず、切り替わる先のユーザの環境変数を使用する。

2023/07/04 返信
Elastic Load Balancingのサービス内容について

本番の試験でこういう問題が出るかはさておき、私はこの問題の解答は今もClassic Load Balancer だと思います。理由は二つあります。

(1) 2023年7月4日現在、AWS マネジメントコンソールからClassic Load Balancer を作成することは実際できます。確かに使用を推奨されてはいませんが、「EC2-Classic ネットワークで既存のアプリケーションを実行している場合は、Classic Load Balancer を選択します。」と書いてありますので、要件によっては正解になり得ます。

(2) AWS の試験にはバージョンがあり、定期的に改訂されます。SAA-C03の場合は2022年8月30日にリリースされました。仮に今後Classic Load Balancer が完全廃止されたとしても、新たにSAA-C04に改定されるまでは、SAA-C03がリリースされた2022年8月30日当時の状況を考慮して回答しなければなりません。

2023/06/29 返信
named-checkzoneコマンドについて

これは何か別のコマンドを実行してからnamed-checkzoneを実行しているということなのでしょうか。

いえ、特に何もせずともnamed-checkzone の実行結果は人間が目視できる形で表示されます。

この問題で求められていることはゾーンファイル内容が正しいかどうかのチェック結果だけを目視することではなく、ゾーンファイル内容全体の目視確認です。問題ID : 9486 の例でいえば、vi でexample.com.db を開いたときに目視できる形(バイナリ形式ではなくテキスト形式)になっていてほしいのですが、named-checkzone ではそこまではできないので不正解ということになります。

2023/05/30 返信
インスタンスにアタッチできるのはIAMロールではないのですか?

インスタンスにアタッチできるのはIAMロールではないのですか?

はい、その通りです。この問題の解説にある図でも、EC2インスタンスB にIAM ロールを付与しています。

IAMポリシーもインスタンスなどにアタッチ可能なのでしょうか?

いえ、EC2インスタンスには直接はアタッチできず、IAM ロール経由になると思います。

ただ、だからといってこの問題の選択肢にある「IAMポリシーをIAMユーザーやAWSリソースに対してアタッチする」が間違いというわけではありません。リソースベースのポリシーはAWS リソースにアタッチできます(例:S3バケットポリシー)。IAM ポリシーをアタッチできるAWS リソースもありますが、全部OK ではなく、EC2インスタンスはNG ということかと思います。

2023/05/30 返信
CloudWatch Alarmが不正解の理由を教えてください...

CloudWatch Alarm はメトリクスに応じてのアクションは行えますが、ログ内容に応じてのアクションを行うことはできないので、誤りになります。

なおメトリクスとは「測定(されたもの)」くらいの意味で、例えばCPU 使用率やディスクの読み取り/書き込みバイト数が該当します。

2023/05/19 返信
ストリーミングジョブ

https://docs.aws.amazon.com/ja_jp/glue/latest/dg/add-job-streaming.html
のページにはKinesis から入力できる(Kinesis がソースになる)ことは書かれていますが、Kinesis へ出力できるとはどこにも書かれていないようです。

2023/05/01 コメント
「400 Bad Request」の原因について
今どきのWeb アプリケーションでは、例えば日記Web アプリがあったとして、そのURL が https://diary.example.com/2023/05/01?mode=write のように、URL の?の後ろだけではなく、パスの途中に日付として2023/05/01のようなパラメーターを使うものがあります。この場合、例えば https://diary.example.com/2023/05/32?mode=write のように存在しない日付を指定したときに、Web アプリには情報が届きますが、 HTTP 400を返すような場合があるかな、と思って回答しました。
2023/05/01 返信
「400 Bad Request」の原因について

おおよそその理解であっていると思いますが、常に必ずそうとは限りません。

というのは、CGI などの動的Web アプリケーションの場合は、どのようなHTTP ステータスコードを返すかは開発者が自由に決められるためです。GET の?より前の部分に誤りがあったときに、HTTP 403ではなくHTTP 400を返すようにプログラミングされたWeb アプリケーションもあるかもしれませんし、Web アプリケーション側のバグにより不適切な場面でHTTP 400が返されることも考えられます。

厳密なルールというよりも、ガイドライン的なものと考えるのがいいかもしれません。

2023/05/01 返信
「stdin, stdout, stderr =」の意味

client.exec_command()の関数を実行した戻り値が3個(標準入力、標準出力、標準エラー出力)あって、それぞれを変数stdin, stdout, stderr に代入する、という意味です。

上記ですと、「stdin」の意味がわからないのですが、

今の場合、実行しているコマンドがshow コマンドなのでstdin は役に立ちませんが、もし入力を受け取るようなコマンドを実行した場合、stdin からデータを流し込むことができます。

「stdin, stdout, stderr =」は
常に、stdin、stdout、stderrの3つのセットで記載するルールなのでしょうか。

違う名前の変数で受け取ることもできますがこれ以上わかりやすい名前もないでしょうし、この順番で3個返されたものを3個受け取らないとエラーになるようなので、ルールとまではいかないまでもベストプラクティスといえると思います。

2023/04/28 返信
エラーにならない場合というのはどういう状態なのか?

backup がディレクトリではなくファイル(かつ書き込み可能)ならエラーになりません。
問題文でls -l の結果が

drwxr-xr-x. (…中略…) backup

のようになっていますが、先頭の文字がd であることからbackup がディレクトリであることに気づくことが必要です。
もし

-rwxr-xr-x. (…中略…) backup

のように先頭の文字が-になっていればbackup はディレクトリではなく通常ファイルなので、あとはスクリプトを実行したユーザーにこのファイルへの書き込み権があればエラーになりません。

2023/04/27 返信
イコールは不要なのか

どちらも正しいです(どちらも動きました)。
journalctl コマンドに限らず、たいていのGNU/Linux コマンドのオプションはイコールでも空白でも動くようです。
例えばls -la --sort=sizels -la --sort size も同じ動作をしました。

2023/04/27 返信
-aは間違い?

たぶん-aの「デフォルトでは画面表示されない文字も含めて省略せず、すべて表示」が具体的に何のことかイメージできていないのだと思います。

問題ID : 4964 のに解説に実行例が載っているので見てみてください。そうすれば-aが本問で求められていることとは違うとわかると思います。

2023/04/17 返信
シンボリックリンクの作成書式が逆では?

「/etc/systemd/system/default.target」というファイルを元にして、「/lib/systemd/system/graphical.target」というリンクファイルを作成するので、

の部分の認識が間違っていて、今回やりたいことは
「/lib/systemd/system/graphical.target」というファイルを元にして、「/etc/systemd/system/default.target」というリンクファイルを作成することなので、解答はあっています。

/lib/systemd/system/graphical.target はOS により用意された、中身のある設定ファイルです。原則としてこのファイルを削除したり、リンクファイルに変えて中身を破壊するようなことをしてはいけません。

2023/04/14 返信
/etc/crontabについてのmanページがなぜ「5」なのか

「ファイルの書式と慣習」の「ファイル」に着目して正解を導きます。
(解説にはセクション番号4の特殊ファイルについても書いてありますが、特殊なので、ほぼ無視していいです。)

「/etc/ 配下にあるのは設定ファイル」と「ファイルだから、man のセクション番号は5」を覚えるということになります。

2023/03/28 コメント
読み取り権限では?
結論から言えば、コマンドの種類ごとに権限を考えるのではなく、ファイルを主人公にして、ファイルが読まれるか書かれるかで考えるほうがいいです。 > echoコマンドでアクセスするのに書き込み権限が必要か、 echo コマンドは文字列を出力するコマンドですから、基本的にファイルを読む込むことはなく、書き込みをします。 「アクセス」が何を指すかによりますが、以下の3種類のどれかかと思います。 (1) 読み込みアクセス → 書き込み権限は不要 (2) 書き込みアクセス → 書き込み権限は必要 (3) 読み書き両方のアクセス → 書き込み権限も必要 > ">>"で追記しようとしているから書き込み権限が必要か、 追記ではなく ">" で上書きしようとしても書き込み権限が必要ですので、追記かどうかは無関係です。
2023/03/23 コメント
読み取り権限では?
すみません、間違えました。 [誤] 問題ID : 3375の解説よりcatで必要なアクセス権は読み取り権限と理解していました。 [正] 問題ID : 3675の解説よりcatで必要なアクセス権は読み取り権限と理解していました。
2023/03/23 返信
読み取り権限では?

catコマンドを実行しエラーになる理由として書き込み権限がないからとの解説ですが、
問題ID : 3325の解説よりcatで必要なアクセス権は読み取り権限と理解していました。

正しくは、
「問題ID:3325において、catコマンドを実行しエラーになる理由として書き込み権限がないからとの解説ですが、
問題ID : 3375の解説よりcatで必要なアクセス権は読み取り権限と理解していました。」
ということと理解しました。(もし間違っていたらご指摘ください。)

catで必要なアクセス権は読み取り権限という理解はあっています。
しかし問題ID:3325において、実行してエラーになっているのは下から5行目のcatコマンドではなく下から2行目のechoコマンドです。
echoコマンドでファイルに書き込むには書き込み権限が必要です。

2023/02/25 返信
参考URLが同じ。修正要。
  • Cisco「Catalyst 2960 スイッチ PoE ポートの コンフィギュレーション ノート」:電源管理モード
  • Cisco「Catalyst 2960 スイッチ PoE ポートの コンフィギュレーション ノート」:PoE ポート上での電源管理モードの設定

のURL は、同じページの別の場所をText Fragment で指定しているので、Ping-t 様側では重複とは思っていないと思います。
なおText Fragment リンクはGoogle Chrome やMicrosoft Edge では動きますが、手元のFirefox 110ではまだ標準では動きませんでした。
参考URL: https://forest.watch.impress.co.jp/docs/review/1438812.html

2023/02/21 返信
sedコマンドについて

また、CR(キャリッジリターン)は「^M」という制御コードでも表されるため、Windowsで作成したファイルをLinuxのエディタで開くと末尾に「^M」が表示されることがあります。よって、制御コード「^M」を取り除くことでもLinuxの改行コードLF(\n)に変換できます。
なお、Linux上で制御コード「^M」を入力するには、Ctrl+V、Ctrl+Mを続けて押下します。

と解説にあるように、この^Mは「普通の文字^と普通の文字Mの並び」ではなく、「Ctrl+V, Ctrl+M で入力した制御コード」です。
制御コードは普通の文字ではないので、「行頭のM」という意味にはなりません。
制御コードのイメージがつかめない場合は、実環境で実際にCtrl+V, Ctrl+M で入力してみてください。

問題文に今回の^Mが制御コードであるということの説明はないのですが、文脈か消去法で理解する必要があります。

2023/02/08 返信
gをつけなくても全て変換される

1行に複数個、当てはまる文字列があるようなファイルで試してみてください。

解説に

なお、「:%s/文字列1/文字列2/」のように「g」を付加しないと、各行の最初に見つかった文字列1のみが置換対象となります。

とあるように、gをつけない:%s/ping-t/hoge/では1行につき最初の1回だけしか置換しません。つまり

ping-t1,ping-t2
ping-t3,ping-t4

という内容のファイルの場合、ping-t1はhoge1に、ping-t3はhoge3に置換されますが、ping-t2とping-t4はそのままになります。
問題文に全て「hoge」に置換したい。とあるので、g がないと不正解となります。

2023/01/26 投稿
Single Pane of Glass (SPOG)

軽微な問題点の報告です。選択肢、正解、解説において、「グラス」と「ガラス」の表記ゆれがあります。

正解
シングルペインオブグラス
(…中略…)
よって、正解は
・シングルペインオブガラス
です。

どちらを採用すべきか、cisco.com 内で検索してみたのですが、Cisco がこの語をカタカナ表記している例は見つかりませんでした。ただ、その他のサイトでの表記やこれまでのIT 業界の慣習を考えると、個人的には「グラス」表記のほうが有力と思います。

戻る