.sigファイルでチェックサムを検証する

久しぶりにWebSphereが必要になり、ファイルをダウンロードしました。付属するチェックサムファイルが.sigファイルでした。

インターネットで調べても、どうのようにチェックサムを検証するかはわからなかったため、ChatGPTに聞いた結果を残す。

1.必要なファイル

ダウンロードした.zipファイル:wlp-javaee7-26.0.0.7.zip

付属.sigファイル:wlp-javaee7-26.0.0.7.zip.sig

公開鍵.pem.cerファイル:WebSphereLiberty_02-13-2023.pem.cer

 

2.チェックサム検証手順

(1) 公開鍵ファイルをpemファイルへ変換

openssl x509 -in WebSphereLiberty_02-13-2023.pem.cer -pubkey -noout > WebSphereLiberty_02-13-2023.pem

(2) チェックサム検証

openssl dgst -sha256 -verify WebSphereLiberty_02-13-2023.pem -signature wlp-javaee7-26.0.0.7.zip.sig  wlp-javaee7-26.0.0.7.zip

しばらくすると、「Verified OK」が表示されればOKです。

Vimでマクロを使う

Vimでは同じコマンドを複数回実行することが可能である。例えば、行削除ddコマンドの前に削除したい行数nを先に入力してからddを押すと、n行削除することが可能である。

vim キーボードマクロで連番(シーケンス) を生成する #Vim - Qiita

によると、コマンドのセットを複数回実行したい場合、マクロを作成してから、そのマクロを複数回実行することも可能である。

aというマクロの作成方法は以下:

1.ノーマルモードでqaを押す

2.実行したいコマンドを押す

3.qを押す(マクロ作成完了)

その後、@aではマクロの実行ができる。n回実行したい場合はn@aを押せばよい。

Vimで足し算、引き算をする

Vimで数字に対する足し算、引き算を実施する必要があった。いままでは暗算で結果を置き換える操作をしていましたが、実はVimで計算することが可能です。

ノーマルモードの状態で、計算したい数字にカーソルを合わせ、

Ctrl+Aでは1を足す、Ctrl+Xでは1を引く

計算になる。

nを足し(引き)たいの場合、nを入力してから、Ctrl+A(Ctrl+X)を押せばいい。暗算よりは遥かに便利だ。

カーソルにある文字が数字でない場合では何もしない。

Eclipseで「The target runtime server dependencies should be declared in the POM file.」が発生した場合の対応法

Eclipseで「The target runtime server dependencies should be declared in the POM file.」のワーニングが発生した。いろいろ検索していたが、なかなか解決策が見つからない。

最終的に

Known problems and limitations for Apache Maven applications

に解決策が書かれていました。

英語では

You can stop the warning for the project by removing the target runtime from the project properties.

と記述していますが、プロジェクトのプロパティから「Target Runtimes」を選び、チェックしているサーバーのチェックを外すだけでワーニングが消える。

Vimで半角・全角スペースの可視化

Vimで半角・全角スペースが混ざるテキストファイルを編集する際に、ちょっとしたミスでスペースがずれてしまう。半角・全角スペースの可視化する方法を検索してみた。

vim でタブや全角スペースを表示する

にも参考しながら、最終的に ~/.vimrc に

set-list
set-listchars=space:-
highlight-JpSpace-cterm=underline-ctermfg=Blue-guifg=Blue
au-BufRead,BufNew-*-match-JpSpace-/ /

と記述しました。半角スペースは「-」、全角スペースは青の下線と表示された。最終的な表示結果は

vimの画面キャプチャ

のようになる。

PodmanでローカルフォルダーをContainerへ共有する

いろいろな事情で、dockerの代わりにPodmanを使用している。runコマンドを実行する際に、ローカルフォルダーをContainerへ共有する

-v ローカルフォルダー:Container内のフォルダー

のオプションをつけても、Container内からフォルダーしか見えなくて、フォルダー内のファイルやサブフォルダーが見えない。

Google先生に聞いたら、以下の回答をもらった。

Common Causes and Solutions:
  • SELinux Context Issues:
    • Problem: SELinux, if enabled on the host, can restrict container access to mounted volumes.
    • Solution: Append :z or :Z to the volume mount option in your podman run command.
      • :z relabels the volume for shared use among multiple containers.
      • :Z relabels the volume for private use by a single container.
      • Example: podman run -v /host/path:/container/path:z my_image

つまり、オプションの最後に「:z」か「:Z」をつければよい。

試しに

-v ローカルフォルダー:Container内のフォルダー:Z

のオプションで再度runコマンドを実行したら、フォルダー内のファイルやサブフォルダーが見えるようになった。