Skip to content

Blog

検証用 Amazon Linux2023 初期設定メモ (2024/01/04 版)

以前に以下のメモを書きました。

今回は Amazon Linux2023 ベースで改めて検証用の初期設定手順をメモしておきます。 必ずしもセキュリティには十分な配慮をしておらず、あくまで「検証用途」の設定です。

検証用 Ubuntu 24.04 初期セットアップスクリプト

以前に「検証用 Ubuntu 22.04LTS 初期セットアップスクリプト」を用意し、Linux でよく使うコマンドのチートシート に実行方法をメモしておきました。 内容は殆ど変わりませんが、検証用 Ubuntu 24.04 の初期セットアップスクリプトを作成したので改めてメモしておきます。 以下のコマンドラインで実行出来ます。

1
curl -sL https://raw.githubusercontent.com/sig9org/init-linux/master/init-ubuntu24.sh | bash -s

journalctl で見切れるログを折り返して表示する

Linux でデーモン関連のトラブルシューティングを実施する場合、journalctl を使います。 しかし、journalctl はデフォルトでログ表示が見切れてしまい、全文が表示されません。 ログの全文を表示するには --no-pager オプションを指定します。

Amazon Linux 2023 で cron を利用出来るようにする

Amazon Linux 2023 には cron が含まれておらず、スケジュール実行機能を利用したい場合は systemd を使う必要があります。 この仕様については AWS re:PostAmazon Linux 2023 does not contain /etc/cron.d folder という投稿がされており、以下のように記載されています。

Amazon Linux 2023 does not contain "/etc/cron.d" folder. Our application need to add few services installed in this folder. It was supported in Linux 1 and 2. I am running the below command to create the "cron.d" folder in Amazon Linux 2023. "sudo yum install cronie -y" Is this an acceptable workaround? Will this folder no longer be part of any future releases? Please suggest. Thanks Arahanth

他にも GitHubhttps://github.com/amazonlinux/amazon-linux-2023/issues/300 という同様の投稿がされています。 今後はスケジュール実行機能も systemd へ移行する方が好ましいのかも知れませんが、今回は「古いアプリケーションとの互換性も考えて敢えて Amazon Linux 2023 へ cron をインストールする」手順をメモしておきます。

Keychron K8 でバックライトを消灯する

以下を満たすキーボードを探していました。

  1. macOS 用のキートップがあること
  2. JIS 配列であること
  3. 有線接続出来ること
  4. テンキーレスであること
  5. バックライトは「無い」または「無効に出来る」こと
  6. お値段があまり高く無いこと (重要)

Windows であれば US 配列の方がシンプルで使いやすく感じるのですが、macOS の場合は「英数」「かな」が使いやすいので JIS 配列の方が好みです。 結果的に今は Keychron K8 ワイヤレス・メカニカルキーボード を利用しています。 Bluethooth 対応なのですが USB Type-A で有線接続することが出来ます。 テンキーレスで省スペースですし、打鍵感もよく、お値段も手頃です。 一点、バックライトだけは不満 (不要) なのですが、これは設定でオフにすることが出来ます。

batfish でレイヤー 1 トポロジーを定義する

Batfish は計算処理を行う際、「同じネットワーク (アドレス範囲) に所属していれば、インターフェイスが隣接している」と判定します。

file

しかし、例えば「同じアドレス帯を再利用している」「リンクローカルアドレスを利用している」というケースは「同じアドレスが・異なる箇所で複数回、利用される」ことは十分、有り得ます。 こういった場合は Batfish の Layer-1 topology 機能を利用することが出来ます。 この機能は公式サイトで以下のように説明されています。

Batfish can infer Layer-3 interface adjacencies based on IP address configuration on interfaces. For instance, if there are two interfaces in the network with IP assignments 192.168.1.1/24 and 192.128.1.2/24, Batfish will infer that these interfaces are adjacent.

Such inference does not work if the network re-uses IP address space or has link-local addresses. In those situations, you must provide a Layer-1 topology file that has cabling information. Then, Layer-3 adjacencies will be computed by combining the supplied Layer-1 adjacencies with Layer-2 and Layer-3 configuration to get a more accurate model.

The expected Layer-1 topology file is a JSON file that has a list of edge records, where each edge record has node and interface names of the two ends. See this file for an example.

The name of your Layer-1 topology file must be layer1_topology.json and it must be placed in a folder called batfish right below the top-level snapshot folder.