Skip to content

Blog

asdf 環境の Python に pip で追加したコマンドが使えない場合の対処

asdf で Python をインストールした環境で pip を使い、CLI から実行可能なコマンドをインストールしたにも関わらず、「コマンドが使えない」という事象が発生します。 下記では例として cmlutils をインストールしていますが、インストール後に cml コマンドへのパスが通っておらず、利用出来ません。

1
2
3
4
# python3 -m pip install cmlutils
(snip)
# which cml
#

この問題は reshim を実行することで解決します。

1
asdf reshim python

これで pip でインストールしたコマンドが利用可能になりました。

1
2
# which cml
/root/.asdf/shims/cml

全ての Docker コンテナを停止・削除する Python スクリプト

以前に 全コンテナを停止・削除する docker サブコマンド「docker purge」 というメモを書きました。 このメモでは Docker のプラグインとして golang で purge というコマンドを作成しました。 Python から Docker を扱うのも簡単なので、今回は Python で同じ目的のスクリプトを書いてみました。

macOS で絵文字パレットの表示を無効化する

macOS の標準では「絵文字パレットを表示する」ショートカットは Cmd+Ctrl+Space に割り当たっています。

file

このショートカットを押すことで以下のような絵文字パレットが表示されます。

file

ただ、私の場合はほぼ絵文字を利用しない為、「稀に、誤操作で絵文字パレットが表示されてしまう」ことが煩わしく感じる場合があります。 そこで今回は絵文字パレットを表示を無効化してしまいます。

Terraform + CML でノードのコンフィグは外部ファイルを参照する

Terraform で CML 上にラボを作成する際、同時に「ノードにコンフィグを流し込む」ことが可能です。 Terraform からノードへ設定を行うには cml2_node (Resource) の configuration を使います。 更にこの流し込むコンフィグを外部ファイルから参照したい場合は Terraform の file Function を利用することで実現出来ます。

但し、file Function を使って外部ファイルを参照させても CML Provider のバグなのか、以下のエラーになってしまいました。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
cml2_node.dev1: Creating...
╷
│ Error: Provider produced inconsistent result after apply
│
│ When applying changes to cml2_node.dev1, provider
│ "provider[\"registry.terraform.io/ciscodevnet/cml2\"]" produced an unexpected new value:
│ .configuration: was cty.StringVal("hostname dev1\r\n!\r\nend"), but now cty.StringVal("hostname
│ dev1\n!\nend").
│
│ This is a bug in the provider, which should be reported in the provider's own issue tracker.

このエラーは「外部ファイルの改行コードを (CRLF では無く) LF に設定する」ことで回避することが出来ました。

ASAv のバージョン毎の ssl server-version デフォルト値

Cisco Community に ASA 9.3(2)以降: TLS 1.2のサポートについて という記事があり、以下のように記載されています。

ASA バージョン 9.2以下での TLS 1.2のサポート予定は、2015年6月現在 ありません。TLS 1.2のサポートには 大きな機能拡張が必要であり、影響が大きいためです。

ASA 9.3(2) 以降は TLS 1.2 をサポートしているようですが、OS バージョンによってデフォルト値は異なるようです。 今回はいくつかのバージョンの ASAv インスタンスを作成し、ssl server-version のデフォルト値を確認してみました。

Cisco ACI 5.3(2a) リリース

Cisco ACi 5.3(2a) がリリースされました。 5.3.2 系では最初のリリースです。 メンテナンスリリースになるので新機能は無く、Open Issues と Resolved Issues の追加が主な変更内容のようです。

cron では無く、systemd で定期実行を定義する

Amazon Linux 2 と Amazon Linux 2023 を比較したドキュメントの Task scheduling に記載がありますが、Amazon Linux 2023 には標準で cron がありません。

The cronie package was installed by default on the AL2 AMI, providing support for the traditional crontab way of scheduling periodic tasks. In AL2023, cronie is not included by default. Therefore, support for crontab is no longer provided by default.

You can optionally install the cronie package to use classic cron jobs. We recommend that you migrate to systemd timers due to the added functionality provided by systemd.

Amazon Linux 2023 で cron を利用出来るようにする に書いた通り、cron を追加することも出来ますが、systemd を使って定期実行を実現することも可能です。