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

投稿

efibootmgr を使ってブートエントリーを整理する

テスト用に OS を複数回同じ機材にインストールするとEFIブートエントリーが残ったままになり、どれがどれなのかわかりにくくなってしまいます。そこで不要なエントリーをしらべ整理したいと思ったのですが、意外とまとまった記事がなかったので、備忘録として挙げてみることにしました。 まず最初にエントリーを表示させます。 efibootmgr -v BootOrder: 0000,0015,0014,0012,0006,0007,0009,000A,000B,000C,0011 Boot0000* Debian_01 HD(1,GPT,XXXXXXXX-23f7-4f5e-b436-260e5fd276a7,0x800,0x100000)/File(\EFI\DEBIAN\GRUBX64.EFI) Boot0006* UEFI: PXE IP4 Mellanox Network Adapter - 50:6B:WW:WW:XX:XX PciRoot(0x1)/Pci(0x0,0x0)/Pci(0x0,0x0)/MAC(506bWWWWXXXX,1)/IPv4(0.0.0.00.0.0.0,0,0)..BO Boot0007* UEFI: PXE IP4 Mellanox Network Adapter - 50:6B:WW:WW:XX:XX PciRoot(0x1)/Pci(0x0,0x0)/Pci(0x0,0x1)/MAC(506bWWWWXXXX,1)/IPv4(0.0.0.00.0.0.0,0,0)..BO Boot0009* UEFI: PXE IP4 Intel(R) I350 Gigabit Network Connection PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)/MAC(901bWWWWXXXX,1)/IPv4(0.0.0.00.0.0.0,0,0)..BO Boot000A* UEFI: PXE IP6 Intel(R) I350 Gigabit Network Connection PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)/MAC(901bWWWWXXXX,1)/IPv6([::]: [::]:,0,0)..BO Boot...
最近の投稿

mkcert をつかって cockpit で ssl 接続を行う

Debian に cockpit を入れてみたのですが、標準のインストールだと ssl をインポートしてもエラーになり、ssl 接続ができませんでした。そこで調べた所 mkcert を使うと証明機関( CA )を含め、自己証明書を発行できるらしいので、やってみた所、かなり簡単にできましたので備忘録として挙げておくことにしました。 以下手順例ですが、今回は、fqdn の証明書を発行するので、クライアント側で /etc/hostname などを使って正引できるようにしておきます。 # /etc/hosts を編集する場合(クライアント側) 10.1.92.11 kvm92b.example.com kvm92b # 以下 cockpit をインストールしている方 # mkcert のインストール sudo apt install mkcert # 証明機関(CA)の作成 cd ~/ mkcert --install # 確認 find .local # サーバ証明書の発行 mkcert kvm92b.example.com # 発行した証明書を cockpitが参照するディレクトリに移動 sudo mv *pem /etc/cockpit/ws-certs.d/ sudo su cd /etc/cockpit/ws-certs.d/ chown root:root *.pem # 既存の証明書をバックアップ mkdir bkup mv 0-self-signed.cert 0-self-signed.key bkup # サーバ証明書の拡張子を変更 mv kvm92b.example.com-key.pem 10-kvm92b.example.com.key mv kvm92b.example.com.pem 10-kvm92b.example.com.cert # cockpit の再起動 systemctl restart cockpit.socket cockpit 証明機関の設定が少なすぎることやコモンネームの設定が単一であることなどから、本格的に運用するには難があるとは思いますが、テスト環境で簡易的にSSL通信をしたい場合などは、かなり有効な手段だとおもいます。 今回は以上です。それでは。

ソフトウェア TPM を有効にして KVM ゲストを UEFI セキュアブートでインストール

表題の通りですが、Debian でソフトウェア TPM を有効にして KVM ゲストを UEFI セキュアブートでインストールできたので備忘録として挙げておくことにしました。 パッケージの追加は以下の通りです。 apt-get install ovmf swtpm swtpm-tools 次にファイルパーミッションの設定をします。Debian の場合、こうしておかないとTPMを有効にしたKVMのセキュアブートができませんでした。 sudo chown -R tss:root /var/lib/swtpm-localca 2025/05/19追記:非ルートユーザでインストールする場合、これに加えて実行するユーザが YourUserName とすると、以下のようにして作業を続けてください。 su - YourUserName 続いてkvmゲストのインストールを行います。以下、Debian12 ゲストの場合です。 virt-install \ --virt-type kvm \ --name kvm92c \ --vcpus=8 \ --memory 4096 \ --disk /srv/images/kvm92c.img,size=64 \ --graphics none \ --network=bridge:virbr0 \ --arch=x86_64 --os-variant debian11 \ --location https://deb.debian.org/debian/dists/bookworm/main/installer-amd64/ \ --boot loader=/usr/share/OVMF/OVMF_CODE.secboot.fd,loader_ro=yes,loader_type=pflash,nvram_template=/usr/share/OVMF/OVMF_VARS.ms.fd \ --console pty,target_type=serial \ --extra-args "console=ttyS0,115200n1" 以下 alma linux 9.5 ゲストの場合です。 virt-install \ --name=kvm92a \ --vcpus=8 \ --memory=4096...

kvm で almalinux 9.5 をリモートレポジトリからインストール

明示的に location で リモートレポジトリの url を指定すると、virt-install 及びインストーラ側でレポジトリを自動で設定し、ローカルにインストールメディアを用意する必要がなくなるので、備忘録として挙げて置くことにしました。 virt-install \ --name=kvm87a \ --vcpus=4 \ --memory=4096 \ --disk /srv/kvm87a.img,size=64 \ --network=bridge:virbr0 \ --graphics none \ --console pty,target_type=serial \ --arch=x86_64 \ --os-variant almalinux9 \ --location https://ftp.riken.jp/Linux/almalinux/9.5/BaseOS/x86_64/os/ \ --extra-args 'console=ttyS0,115200n1' 今回の要所は --os-variant と --location です。この指定さえ合っていれば、前述の通り、ローカルにインストールメディアを用意しなくてもOKです。今回は almalinux を指定しましたが、例えば rocky 9.5 をインストールしたい場合は、以下の様にして、variant 名を確認し、locationと共に指定します。 osinfo-query os | grep -i rocky rocky-unknown | Rocky Linux Unknown | unknown | http://rockylinux.org/rocky/unknown rocky8 | Rocky Linux 8 | 8 | http://rockylinux.org/rocky/8 rocky8-unknown | Rocky Li...

dnf / rpm / rpmbuild コマンドのメモ -- インストール直後から、パッケージのビルドをするまで

久しぶりに redhat 系に触れているのですが、インストール直後から、パッケージのビルドをするまでを簡単に纏めておきました。 # 現在指定しているレポジトリの一覧を表示 dnf repolist # 現在指定されていない無効なレポジトリの一覧 dnf repolist --disabled # レポジトリの有効化1 dnf config-manager --enable appstream-source baseos-source extras-common-source # レポジトリの有効化2 (centosで rhel の codeready-builderに該当するcrbレポジトリの有効化) dnf config-manager --enable crb crb-source # レポジトリの追加 dnf config-manager --add-repo   # rpm-build パッケージのインストール dnf install rpm-build # rpmbuild に必要なビルドユーザ(mock/mockbuild)の追加 useradd -s /sbin/nologin mock useradd -s /sbin/nologin mockbuild # ソース、スペックファイルなどの展開先の確認 rpm --showrc | grep _topdir -13: _builddir %{_topdir}/BUILD -13: _buildrootdir %{_topdir}/BUILDROOT -13: _rpmdir %{_topdir}/RPMS -13: _sourcedir %{_topdir}/SOURCES -13: _specdir %{_topdir}/SPECS -13: _srcrpmdir %{_topdir}/SRPMS -13: _topdir %{getenv:HOME}/rpmbuild # 指定したファイルを含むパッケージ名のサーチ dnf provides tog-pegasus # 対象となるrpmパッケージのソース類のダウンロード dnf download --source tog-pegasus # 指定したパッケージのビルドに必要なパッケージのインストール(apt-get...

nmcliを使った ipv4 設定の基本

nmcliを使ったipv4の設定は探せばでてくるのですが、アドレスだけではなくgatewayやdnsサーチまで含めているものは意外とありませんので、備忘録として挙げておくことにしました。 2025/05/17:追記: Debian で インターフェースの管理を ifupdown から NetworkManager へ切り替える方法を追記しました。 apt-get install network-manager # /etc/network/interfacesを編集し、lo および その他のインターフェスに関する設定をすべてコメント化 # NetworkManager で管理したいデバイスを先に登録 nmcli con add type ethernet con-name enp1s0 ifname enp1s0 # アドレスを設定 nmcli conn mod enp1s0 ipv4.address 10.1.82.10/24 # 手動設定に変更 nmcli conn mod enp1s0 ipv4.method manual # ゲートウェイを設定 nmcli conn mod enp1s0 ipv4.gateway 10.1.82.1 # 使用するDNSサーバをスペース区切りで設定 nmcli conn mod enp1s0 ipv4.dns "10.1.1.64 10.1.1.65" # ドメインサーチを設定 nmcli conn mod enp1s0 ipv4.dns-search example.com # 再起動 reboot 短いですが今回は以上です。それでは。

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 次...