スキップしてメイン コンテンツに移動

投稿

4月, 2025の投稿を表示しています

quilt コマンドを使った新規パッチ作成の基本的なメモ

alien コマンドと dpkg-buildpackage コマンドをつかって バイナリの rpm から deb にリパッケージしたのですが、パッケージ作成後、debian/prermの修正を忘れていたので quilt コマンドをつかってパッチを追加で当ててみました。quilt の使い方は探せばみつかるので特に目新しいことはないのですが、備忘録として挙げて置くことにしました。 まずはじめに quilt コマンドをインストールして 該当のソースディレクトリに移動します。 apt-get install quilt cd /usr/src/mypackage/mypackage-1.0 次に ~/.quiltrcファイルを以下の内容で作成しておきます。 QUILT_PATCHES=debian/patches QUILT_NO_DIFF_INDEX=1 QUILT_NO_DIFF_TIMESTAMPS=1 QUILT_REFRESH_ARGS="-p ab" QUILT_DIFF_ARGS="--color=auto" # If you want some color when using `quilt diff`. QUILT_PATCH_OPTS="--reject-format=unified" QUILT_COLORS="diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33" 続いて新規のパッチセットを以下のようにして作成します。 quilt new my-correction-to-debian-scripts.diff 次にこのパッチセットに修正対象のファイル名を追加します。 quilt add debian/prerm ここで debian/prerm に対して修正を行います。quilt add の前に修正を行うと反映されないので注意してください。 修正が済んだら以下のようにするとdiff形式で修正内容を確認できます。 quilt diff 続いて修正を debian/patches 以下などに反映させます。 quilt refresh 次...

OpenSSL で代替名を含む証明書を作成する場合のパラメータ付与順序について

ここしばらくは、サーバの設定をしているのですが、このうち富士通のサーバがあり、ServerView という管理ツール類が提供されていて、統括的な管理はもちろん、個別にも管理できるようになっているようです。そのうち、ServerView Connector Service(SCS/SSM) という単独でのリモート管理につかうパッケージがあり、linux向けのものをインストールしてみた所、動作には問題はないものの、代替名が含まれないため、生成された証明書をインポートしてもSSLがエラーになりました。そこで、中身を少しのぞいてみたのですが、証明書を作成するプログラムはシェルスクリプトで記述されており、該当部分は以下のようになっていました。 #/opt/fujitsu/ServerViewSuite/SCS/scs_cert_generator.sh _GENERATED_CERTIFICATE=$(openssl x509 -req -in (cat) -days ${SCS_OPENSSL_DAYS} 2>/dev/null) このスクリプトのうち、$SCS_OPENSSL_CONFIG_FILE が OpenSSLの cnf ファイルで中身は一般的な cnf ファイルと同じでした。そこで、この cnfファイルを編集し代替名を生成するようにしたつもりだったのですが、このスクリプトの記述のままだと、なぜか生成された証明書に代替名がはいりません。 # /opt/fujitsu/ServerViewSuite/SCS/ssl/default.cnf [ v3_req ] # 以下を追加 subjectAltName = @alt_names # 以下を追加 [ alt_names ] DNS.1 = sv112.xronos-msys.com DNS.2 = sv112 そこで、一旦、代替名を入れる sslコマンドの例をしらべたところ、スクリプトの記述の順序が違うものですが、同じパラーメータを与えた所、生成された証明書に代替名が含まれていることが確認できました。 openssl x509 -in server.crt -text -noout --snip X509v3 extensions: X509v3 Ba...

ConnectX-4 VPIを使い ipoib + iPXE にて Ubuntu 24.04 を iSCSI root で セキュアブート

細かいところで Debian 12 と Ubuntu 24.04 には違いがあり、たとえば /etc/resolv.conf なんですが、Ubuntu では 最小インストールでも systemd-resolved を使うので /etc/resolv.conf へは直接値を書き込んでも systemd-resolved が上書きします。このため Debian 12 用のインストールスクリプトを変更する必要が若干ですがあります。 今回は簡易インストールで iSCSI root にて起動することを主題に置いたので、systemd-resolved については削除し、iSCSI root で最小限の Ubuntu 環境を作成するようにしました。また、initramfs-toolsも Ubuntu では debootstrap ではインストールされないので、これは追加でインストールしています。 とはいえ、大まかな流れは同じなので、dhcp サーバと apache2 および ipxe メニューについては割愛していますので、これらについては 以前の投稿 を参考にしてください。 なお、作業は Debian 12 で行いましたが、Ubuntu 向けの debootstrap deb 玉を 引っ張ってきて展開し、スクリプトを配置すると Debian 上でも Ubuntu 24.04 の debootstrap も OK でした。 また、今回は ipoib インターフェースは一枚で iBFT の情報の受け渡しに問題がないことを前提としています。さらに、オンボードの NIC は BIOSで Disableにして有効なインターフェースは ipoib 一枚だけを使用する事を前提としています。 以下設定詳細です。 #### disk image # on target i51 ( Debian 12 ) # apache2 の設定などについては以前の投稿を参照してください。 #apt-get install targetcli-fb qemu-utils tftpd-hpa apache2 REL=noble IMG=ub2404.amd64.01.img tNAME=ub2404-amd64-01 tHOSTNAME=i51 tADDR=10.1.40.51 tBASE=iq...

Gnome Terminal で ssh 経由のシリアルコンソール使用時、太文字をハイライト表示させる

表題だとなんの事かわかりにくいのですが、Gnome Terminal からサーバへssh 経由でシリアルコンソールに接続すると、何もしていないときは太字が隠れてしまい、現在選択している項目が何なのかわかりません。文で説明するとわかりにくいのですが、画像ではこのようになります。 この画像だと、現在 "Save Changes and Exit"を選択しているのですが、全く見えません。Windowsのパワーシェル経由だと見えるので始めは True Color が必要なのかと思っていたのですが、power shell のシーケンス詳細を見た所、そうではなく、どうやら太字をハイライト表示させれば良さそうでした。 Gnome ターミナルの場合、"太字のテキストを明るい色で表示する"にチェックをいれます。チェックを入れると以下のようになりました。 ちょっとしたことなんですが、これでテキストコンソール経由での BIOS 設定で慌てなくてすみますね。今回も備忘録として挙げてみました。以上です。それでは。

initramfs 上で tcp iSCSI root から iSER root に切替

iPXEでセキュアブートした TCP iSCSI root は 前回の方法 で一息ついたのですが、ConnectX VPI は rdma が使えるのに使わないのは勿体ないと思いました。なので一旦 iPXE で iBFT を登録・ iscsiでboot してから、initramfs 上で SRP root に切替た所、上手くいったのですが、SRPで複数ターゲット・複数イニシエータがある場合、ターゲットの探索を行うと、複数のターゲットが検出される上、/dev/disk/by-pathがローカルのデバイスと判別がつきにくく、さらに srptoolsには含まれるイニシエータプログラムが2つあり、それぞれ異なるaclを投げてくる為、管理が非常に面倒だということが分かったので、こちらはボツネタにしました。 そこで今度は iSER でテストし、/dev/disk/by-path での管理も特に問題はなさそうでしたので、initramfs 上で iBFT の情報( iscsistart -f )を元に tcp ISCSI root から ISER rootに切替したところ、上手くいきましたので本稿を挙げてみることにしました。 基本的には、 前回の方法 と同じなのですが、おさらいの意味も兼ねて今回は全体の詳細を挙げます。なお、今回はターゲット・tftp/httpサーバは同一の 10.1.40.51 ( i51 ) で、イニシエータは 10.1.40.114 ( sv114 ) で共にDebian 12 としています。また、dhcp server だけは Debian 12 の isc-dhcp-server が ipoib での bootps に対応していないので、別のサーバ ( 10.1.40.50, i50 Ubuntu24.04 ) としています。また、イニシエータは今回 2 ポートの Connectx-3 VPI で試したのですが、 uefi ロム が見つかったので、セキュアブートもOKでした。 # ターゲットイメージの作成等 ( on target 10.1.40.51 i51 ) apt-get install targetcli-fb qemu-utils tftpd-hpa apache2 REL=bookworm IMG=deb12.amd64.04.i...