Surface Pro 4 にWindows 11をインストールした

2024/12/11追記: Windows11 24H2でインストールしてWindows Updateしたら全デバイス認識しました


Surface Pro 4(i5-6300U)にWindows 11 をインストールしてみた。

インストール自体はWindows 11 22H2のインストールUSBメモリで起動したら特に細工することもなくインストールが完了した

インストールし、Windows Update完了後のデバイスマネージャー認識は以下のようになっていた

思いのほか「不明なデバイス」が多い

PCIシンプル通信コントローラー は2個ともデバイスインスタンスパスは下記だった
PCI\VEN_8086&DEV_9D3E&SUBSYS_00000000&REV_21\3&11583659&0&B4

PCIデータ取得およびシグナル処理コントローラー
PCI\VEN_8086&DEV_9D31&SUBSYS_72708086&REV_21\3&11583659&0&A2

PCIメモリコントローラー
PCI\VEN_8086&DEV_9D21&SUBSYS_72708086&REV_21\3&11583659&0&FA

マルチメディアコントローラー 2個
PCI\VEN_8086&DEV_9D32&SUBSYS_72708086&REV_01\3&11583659&0&A3
PCI\VEN_8086&DEV_1919&SUBSYS_20158086&REV_01\3&11583659&0&28

基本システムデバイス
PCI\VEN_8086&DEV_1911&SUBSYS_20158086&REV_00\3&11583659&0&40

不明なデバイス
ACPI\MSHW0036\2&DABA3FF&0

不明なデバイス
ACPI\MSHW0053\1

不明なデバイス
ACPI\MSHW0040\5&2890D699&0

不明なデバイス
ACPI\INT3472\0
ACPI\INT3472\1
ACPI\INT3472\2

不明なデバイス
ACPI\MSHW0081\2&DABA3FF&0

不明なデバイス
ACPI\MSHW0078\2&DABA3FF&0

不明なデバイス
ACPI\MSHW0085\4&249E349&0

不明なデバイス
ACPI\MSHW0045\2&DABA3FF&0

不明なデバイス
ACPI\MSHW0006\2&DABA3FF&0

上から順に片づけるということでMicrosoft Updateカタログにて「VEN_8086&DEV_9D3E」で検索して出てきた「Intel Corporation – HIDClass – 2.1.0.96」のe41adcac-5a3f-4c8a-b1bc-b1602d9f0c32_7ed92874f41ede5383bed5bc83cb7325f2c52688.cabを展開して適用

Intel(R) Precise Touch Deviceとして認識

PCI\VEN_8086&DEV_9D3E&SUBSYS_00000000&REV_21\3&11583659&0&B4

続けて基本システムデバイスの「VEN_8086&DEV_1911」を検索

「INTEL – System – 12/18/2018 12:00:00 AM – 10.1.7.3」の 6205aa6b-12e9-4298-ba23-aa06e5a8ef4d_f3604bed1e4b9176da6f7a045e5a76f46f506be9.cab を展開して適用。

Intel(R) Gaussian Mixture Model – 1911 として認識

PCI\VEN_8086&DEV_1911&SUBSYS_20158086&REV_00\3&11583659&0&40

PCIメモリコントローラーの「VEN_8086&DEV_9D21」を検索し、「INTEL – System – 10.1.5.1」の 0f56-33e3-4028-25a8_b465a1d35690a550cd443897791f68ff1645d988.cab を適用

Mobile Intel(R) Processor Family I/O PMC – 9D21 として認識

PCI\VEN_8086&DEV_9D21&SUBSYS_72708086&REV_21\3&11583659&0&FA

PCIシンプル通信コントローラー「VEN_8086&DEV_9D3A」の Intel – System – 2406.5.5.0 の Windoows 10向けの 6b4eea96-19d1-4e45-8184-b15e69e7d61b_342c6ed92ad70a59065201bacbef8f85fc8413ca.cab では下記のエラー

Windows 11 Client, version 22H2 and later, Servicing Drivers, Windows 11 Client, version 22H2 and later, Upgrade & Servicing Drivers の 6b4eea96-19d1-4e45-8184-b15e69e7d61b_342c6ed92ad70a59065201bacbef8f85fc8413ca.cab でも同じだった

PCIデータ取得およびシグナル処理コントローラー「VEN_8086&DEV_9D31」のINTEL – System – 10.1.1.44 の 9972fce6-371c-4c3b-9d4c-07b35e1e339a_5c9187451b6c2ff2a499957a8be234c8c115e64e.cab

Mobile 6th/7th Generation Intel (R) Processor Family I/O Thermal subsystem – 9D31 として認識

PCI\VEN_8086&DEV_9D31&SUBSYS_72708086&REV_21\3&11583659&0&A2

マルチメディアコントローラ「VEN_8086&DEV_9D32」 Intel Corporation – System – 30.18305.6.5424 の 176ba970-b574-45dc-8c82-6ffdfcc27674_e131b16b965ac9802979a3d8141b1d0419ea58f9.cab

Intel(R) CSI2 Host Controllerとして認識

PCI\VEN_8086&DEV_9D32&SUBSYS_72708086&REV_01\3&11583659&0&A3

マルチメディアコントローラ「VEN_8086&DEV_1919」Intel – System – 30.18305.6.5127 の d6dc5d75-b8df-41ff-bd82-f3aa5ae95e27_4fc0a19a14d575fb657c2c9e4460c679a6068606.cab を入れようかな?と思っていたら、いつのまにかにIntel (R) Imaging Signal Processor 2500 として認識されていた。

PCI\VEN_8086&DEV_1919&SUBSYS_20158086&REV_01\3&11583659&0&28

続いてACPI系「ACPI\MSHW0053」Microsoft driver update for Surface CoSAR の200043831_0a76b2560822b2d747327a3563172665d8ca550b.cab

Surface CoSAR として認識

ACPI\MSHW0053\1

ここまで適用した時点で再起動をかけてからWindows Updateをかけてみたところ、予想外の状態になっていました

デバイスマネージャーの状態は下記でした

とりあえず全部インストールしてみます

インストール後、再起動すると全デバイスが認識されていました

適用完了後の認識状況

PCIシンプル通信コントローラー は2個ともデバイスインスタンスパスは下記だった
PCI\VEN_8086&DEV_9D3E&SUBSYS_00000000&REV_21\3&11583659&0&B4
→ Intel(R) Precise Touch Device

PCIデータ取得およびシグナル処理コントローラー
PCI\VEN_8086&DEV_9D31&SUBSYS_72708086&REV_21\3&11583659&0&A2
→Mobile 6th/7th Generation Intel(R) Processor Family I/O Thermal subsystem – 9D31

PCIメモリコントローラー
PCI\VEN_8086&DEV_9D21&SUBSYS_72708086&REV_21\3&11583659&0&FA
→ Mobile Intel(R) Processor Family I/O PMC – 9D21

マルチメディアコントローラー
PCI\VEN_8086&DEV_9D32&SUBSYS_72708086&REV_01\3&11583659&0&A3
→ Intel(R) CSI2 Host Controller

マルチメディアコントローラー
PCI\VEN_8086&DEV_1919&SUBSYS_20158086&REV_01\3&11583659&0&28
→ Intel(R) Imaging Singal Processor 2500

基本システムデバイス
PCI\VEN_8086&DEV_1911&SUBSYS_20158086&REV_00\3&11583659&0&40
→Intel(R) Guassian Mixture Model – 1911

不明なデバイス
ACPI\MSHW0036\2&DABA3FF&0
→ Surface Display Calibration

不明なデバイス
ACPI\MSHW0053\1
→ Surface CoSAR

不明なデバイス
ACPI\MSHW0040\5&2890D699&0

不明なデバイス
ACPI\INT3472\0
→ Intel(R) Control Logic

不明なデバイス
ACPI\INT3472\1
→ Intel(R) Control Logic

不明なデバイス
ACPI\INT3472\2
→ Intel(R) Control Logic

不明なデバイス
ACPI\MSHW0081\2&DABA3FF&0
→ Surface Integration

不明なデバイス
ACPI\MSHW0078\2&DABA3FF&0
→ Surface Touch Servicing ML

不明なデバイス
ACPI\MSHW0085\4&249E349&0

不明なデバイス
ACPI\MSHW0045\2&DABA3FF&0
→ Surface System Telemetry

不明なデバイス
ACPI\MSHW0006\2&DABA3FF&0
→Surface Accessory Device

うまくいったかと思ったら問題が…

Windows Updateが成功しない

ログの名前:         System
ソース:           Microsoft-Windows-WindowsUpdateClient
日付:            2024/11/03 16:48:47
イベント ID:       20
タスクのカテゴリ:      Windows Update エージェント
レベル:           エラー
キーワード:         エラー,インストール
ユーザー:          SYSTEM
コンピューター:       surfacepro4
説明:
インストールの失敗: エラー 0x8007007E で次の更新プログラムのインストールに失敗しました: 2024-10 x64 ベース システム用 Windows 11 Version 22H2 の累積更新プログラム (KB5044285)。
イベント XML:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-WindowsUpdateClient" Guid="{945a8954-c147-4acd-923f-40c45405a658}" />
    <EventID>20</EventID>
    <Version>1</Version>
    <Level>2</Level>
    <Task>1</Task>
    <Opcode>13</Opcode>
    <Keywords>0x8000000000000028</Keywords>
    <TimeCreated SystemTime="2024-11-03T07:48:47.4470968Z" />
    <EventRecordID>2040</EventRecordID>
    <Correlation />
    <Execution ProcessID="8444" ThreadID="8612" />
    <Channel>System</Channel>
    <Computer>surfacepro4</Computer>
    <Security UserID="S-1-5-18" />
  </System>
  <EventData>
    <Data Name="errorCode">0x8007007e</Data>
    <Data Name="updateTitle">2024-10 x64 ベース システム用 Windows 11 Version 22H2 の累積更新プログラム (KB5044285)</Data>
    <Data Name="updateGuid">{dd4fa267-5566-4b71-88b8-73f1c12c9754}</Data>
    <Data Name="updateRevisionNumber">1</Data>
    <Data Name="serviceGuid">{8b24b027-1dee-babb-9a95-3517dfb9c552}</Data>
  </EventData>
</Event>

一時的な問題なのか、本来非対応のデバイスにWindows11を入れていることが原因なのか・・・


2024/12/09追記

Windows Updateが正常に終わるようになった・・・と思いきや、「お使いのバージョンのWindowsは、サービス終了を迎えました」という表示が・・・

よく見てみたら、Windows 11 22H2でインストールしていました

そこからのアップデートが失敗しているようです

同じUSBメモリで、サポート外CPUのSurface GoやLifebook にインストールしているんですが、そちらでは言われてない・・・

CPUの問題なのかな?


2024/12/11追記

Windows 11 22H2からWindows 11 24H2へのアップデートはあきらめました。

Windows 11 24H2のインストールUSBを作成して、Surface Pro 4の再インストールを行ったところ、初期はデバイスドライバ未適用があったものの、Windows Update後はすべて認識するという状態となりました。

Debianベースの商用ディストリビューションeLxr (エリクサー)

ITmediaに「CentOS後継の“本命”となるか ウインドリバーCTOが語る最新Linuxディストリビューションの狙い」という記事が掲載されていた。

RHELベースのディストリビューションかな?と読み進めてみると、組み込み向けでシェアを持ってるWind RiverがDebianベースで出した商用ディストリビューション eLxr Proの宣伝記事だった。

年間いくらのライセンス料金?とページを見てみるも「お問い合わせ」しかなく価格帯不明。

英語版eLxr Proのページを見てみると、もうちょっと内容があってFAQに eLxr project が紹介されていたが価格については見当たらず、StoreにもeLxr関連の記述がない。

記事を探すとZDnet「ウインドリバー、企業向けLinux商用版の国内提供を発表–エッジ領域などに展開」にて、年間7万円から、という記載があった。

 eLxr Server Proおよびサービスは、仮想/物理サーバー1台当たりの年間契約のサブスクリプションになり、サポート内容に応じた2つのメニューをそろえる。標準メニューの「Enterprise」の料金は年間7万円から、Enterpriseの内容に加え高度なSLAに基づく技術サポートや通信事業者レベルのサポートを追加する「Priority」が同15万2000円からとなっている。

RHELのサイオステクノロジーでの価格が年間約13万円~ と比較すると安いけど・・・


本題と外れるが、CentOS の代替としてRHEL系Linuxを選ぶ場合に検討対象となるのは以下になるであろう

RedHat Enterprise Linux (RHEL)
 まあ、公式ですが、お値段が問題となる
Alma LinuxRocky Linux
 現状、どちらにすべき、というコレといったものがないので、好みやサポートを買える場所があるかどうかで選ぶ。例えば下記のような動きとか
  Rocky Linuxを作る主体のCIQ社はOracleとSUSEとくんでopenELAという団体を作った
  Alma LinuxはAzure上の認定を取得した
Oracle Linux
 有償だけど、無償でも十分使える
 Oracle DB/mysql/opensolaris周りのコレまでの事例を見てると、突然無償の範囲が変わりそうなのがちょっと恐い
 Oracle Cloud(OCI)上で動かしたいのでれば、Oracle Linuxにするべき

CentOS代替話であがってくるけど個人的にはあまりひかれないディストリビューション
SUSE Liberty Linux
 CentOS7に対して2028年6月末まで、CentOS9に対して当分の間、パッチを提供する有償サービス
MIRACLE LINUX
 無償でも使える日本語のRHEL互換。いまはサイバートラスト社で作ってる
 AlmaLinuxの開発にも関与しており、RHEL10の世代ではAlmaLinuxに合流する見込み
  


それはさておき、eLxr projectの方では、コミュニティ版のインストールイメージが入手できるようになっていた。

というわけで、 eLxr Server version 12 for x86 (12.6.1.0) をESXi環境にインストールしてみた

現状のeLxr 12.6.1.0はSecure boot非対応なようで、有効状態の場合は下記のようなエラーとなって起動できない

Secure bootを無効にして、作業を進めていく

ホスト名関連

パスワードとユーザ

パーテーション設定

最後の質問

上記で「続ける」をクリックしたらインストールが開始された。

そして、インストール終了

再起動

ログイン

標準状態ではopenssh-serverがインストールされていないので、sshログインして使うのであれば「apt install openssh-server」を実行してインストールを行う必要がある。

root@elxr:~# uname -a
Linux elxr 6.1.0-23-amd64 #1 SMP PREEMPT_DYNAMIC eLxr Linux 6.1.99-elxr3-1 (2024-09-12) x86_64 GNU/Linux
root@elxr:~#

標準設定でインストールした場合のパーテーション設定

osakanataro@elxr:~$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
udev             2.9G     0  2.9G    0% /dev
tmpfs            593M  712K  592M    1% /run
/dev/sda2         48G  1.8G   44G    4% /
tmpfs            2.9G     0  2.9G    0% /dev/shm
tmpfs            5.0M     0  5.0M    0% /run/lock
/dev/sda1        511M  5.9M  506M    2% /boot/efi
osakanataro@elxr:~$ cat /proc/mounts
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
udev /dev devtmpfs rw,nosuid,relatime,size=3014364k,nr_inodes=753591,mode=755,inode64 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,nodev,noexec,relatime,size=606692k,mode=755,inode64 0 0
/dev/sda2 / ext4 rw,relatime,errors=remount-ro 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev,inode64 0 0
tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k,inode64 0 0
cgroup2 /sys/fs/cgroup cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot 0 0
pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0
efivarfs /sys/firmware/efi/efivars efivarfs rw,nosuid,nodev,noexec,relatime 0 0
bpf /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=13633 0 0
ramfs /run/credentials/systemd-sysctl.service ramfs ro,nosuid,nodev,noexec,relatime,mode=700 0 0
debugfs /sys/kernel/debug debugfs rw,nosuid,nodev,noexec,relatime 0 0
mqueue /dev/mqueue mqueue rw,nosuid,nodev,noexec,relatime 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,relatime,pagesize=2M 0 0
tracefs /sys/kernel/tracing tracefs rw,nosuid,nodev,noexec,relatime 0 0
configfs /sys/kernel/config configfs rw,nosuid,nodev,noexec,relatime 0 0
ramfs /run/credentials/systemd-sysusers.service ramfs ro,nosuid,nodev,noexec,relatime,mode=700 0 0
ramfs /run/credentials/systemd-tmpfiles-setup-dev.service ramfs ro,nosuid,nodev,noexec,relatime,mode=700 0 0
fusectl /sys/fs/fuse/connections fusectl rw,nosuid,nodev,noexec,relatime 0 0
/dev/sda1 /boot/efi vfat rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 0
ramfs /run/credentials/systemd-tmpfiles-setup.service ramfs ro,nosuid,nodev,noexec,relatime,mode=700 0 0
osakanataro@elxr:~$

インストール時に一般ユーザを作ったのでsudoコマンドが使えるだろうと思ったのに使えないという・・・

osakanataro@elxr:~$ sudo -i
[sudo] osakanataro のパスワード:
osakanataro は sudoers ファイルにありません。
osakanataro@elxr:~$

とりあえずsuを使うしかない

osakanataro@elxr:~$ su -
パスワード:
root@elxr:~# fdisk -l /dev/sda
Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 sectors
Disk model: Virtual disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 65F27FE7-BB4C-46DE-A0B7-46C31D3A2F61

Device         Start       End   Sectors  Size Type
/dev/sda1       2048   1050623   1048576  512M EFI System
/dev/sda2    1050624 102856703 101806080 48.5G Linux filesystem
/dev/sda3  102856704 104855551   1998848  976M Linux swap
root@elxr:~#

レポジトリの確認

root@elxr:~# ls -l /etc/apt
total 28
drwxr-xr-x 2 root root 4096 Oct 31 12:34 apt.conf.d
drwxr-xr-x 2 root root 4096 May 25  2023 auth.conf.d
drwxr-xr-x 2 root root 4096 May 25  2023 keyrings
drwxr-xr-x 2 root root 4096 May 25  2023 preferences.d
-rw-r--r-- 1 root root   57 Oct 31 12:32 sources.list
drwxr-xr-x 2 root root 4096 May 25  2023 sources.list.d
-rw-r--r-- 1 root root    0 Oct 31 12:29 sources.list~
drwxr-xr-x 2 root root 4096 Oct 31 12:32 trusted.gpg.d
root@elxr:~# ls -l /etc/apt/*
-rw-r--r-- 1 root root   57 Oct 31 12:32 /etc/apt/sources.list
-rw-r--r-- 1 root root    0 Oct 31 12:29 /etc/apt/sources.list~

/etc/apt/apt.conf.d:
total 16
-rw-r--r-- 1 root root  82 Oct 31 12:29 00CDMountPoint
-rw-r--r-- 1 root root  40 Oct 31 12:29 00trustcdrom
-rw-r--r-- 1 root root 399 May 25  2023 01autoremove
-rw-r--r-- 1 root root 182 Jan  9  2023 70debconf

/etc/apt/auth.conf.d:
total 0

/etc/apt/keyrings:
total 0

/etc/apt/preferences.d:
total 0

/etc/apt/sources.list.d:
total 0

/etc/apt/trusted.gpg.d:
total 88
-rw-r--r-- 1 root root 11861 Jul 31  2023 debian-archive-bookworm-automatic.asc
-rw-r--r-- 1 root root 11873 Jul 31  2023 debian-archive-bookworm-security-automatic.asc
-rw-r--r-- 1 root root   461 Jul 31  2023 debian-archive-bookworm-stable.asc
-rw-r--r-- 1 root root 11861 Jul 31  2023 debian-archive-bullseye-automatic.asc
-rw-r--r-- 1 root root 11873 Jul 31  2023 debian-archive-bullseye-security-automatic.asc
-rw-r--r-- 1 root root  3403 Jul 31  2023 debian-archive-bullseye-stable.asc
-rw-r--r-- 1 root root 11093 Jul 31  2023 debian-archive-buster-automatic.asc
-rw-r--r-- 1 root root 11105 Jul 31  2023 debian-archive-buster-security-automatic.asc
-rw-r--r-- 1 root root  1704 Jul 31  2023 debian-archive-buster-stable.asc
-r--r--r-- 1 root root  2789 Oct 31 12:32 eLxr-base.asc
lrwxrwxrwx 1 root root    44 Oct 31 12:29 elxr-archive-keyring.gpg -> /usr/share/keyrings/elxr-archive-keyring.gpg
root@elxr:~# cat /etc/apt/sources.list
deb [trusted=yes] https://mirror.elxr.dev/elxr aria main
root@elxr:~#

現状だと elxrのレポジトリが1つだけ登録されているだけで、オリジナルのDebianレポジトリが登録されていたりはしない。

今回、ESXi上にインストールしたけど、open-vm-toolsは・・・インストールされていた

root@elxr:~# dpkg -l|grep open-vm
ii  open-vm-tools                 2:12.2.0-1+deb12u2            amd64        Open VMware Tools for virtual machines hosted on VMware (CLI)
root@elxr:~# systemctl status vmtoolsd
* open-vm-tools.service - Service for virtual machines hosted on VMware
     Loaded: loaded (/lib/systemd/system/open-vm-tools.service; enabled; preset>
     Active: active (running) since Thu 2024-10-31 12:34:57 JST; 34min ago
       Docs: http://open-vm-tools.sourceforge.net/about.php
   Main PID: 592 (vmtoolsd)
      Tasks: 3 (limit: 7064)
     Memory: 11.5M
        CPU: 1.562s
     CGroup: /system.slice/open-vm-tools.service
             `-592 /usr/bin/vmtoolsd

Oct 31 12:34:57 elxr systemd[1]: Started open-vm-tools.service - Service for vi>
root@elxr:~#

デフォルトでインストールしたあと、openssh-server の追加と、パッケージ更新したあとのeLxr 12.6.1.0のパッケージ状態

root@elxr:~# dpkg -l|cat
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                          Version                       Architecture Description
+++-=============================-=============================-============-=============================================================================
ii  acpi-support-base             0.143-5.1                     all          scripts for handling base ACPI events such as the power button
ii  acpid                         1:2.0.33-2+b1                 amd64        Advanced Configuration and Power Interface event daemon
ii  adduser                       3.134                         all          add and remove users and groups
ii  apparmor                      3.0.8-3                       amd64        user-space parser utility for AppArmor
ii  apt                           2.6.1                         amd64        commandline package manager
ii  apt-utils                     2.6.1                         amd64        package management related utility programs
ii  base-files                    12.5elxr6                     amd64        Debian base system miscellaneous files
ii  base-passwd                   3.6.1                         amd64        Debian base system master password and group files
ii  bash                          5.2.15-2+b7                   amd64        GNU Bourne Again SHell
ii  bsdextrautils                 2.38.1-5+deb12u1              amd64        extra utilities from 4.4BSD-Lite
ii  bsdutils                      1:2.38.1-5+deb12u1            amd64        basic utilities from 4.4BSD-Lite
ii  busybox                       1:1.35.0-4+b3elxr1            amd64        Tiny utilities for small and embedded systems
ii  ca-certificates               20230311                      all          Common CA certificates
ii  console-setup                 1.221                         all          console font and keymap setup program
ii  console-setup-linux           1.221                         all          Linux specific part of console-setup
ii  coreutils                     9.1-1                         amd64        GNU core utilities
ii  cpio                          2.13+dfsg-7.1                 amd64        GNU cpio -- a program to manage archives of files
ii  cron                          3.0pl1-162                    amd64        process scheduling daemon
ii  cron-daemon-common            3.0pl1-162                    all          process scheduling daemon's configuration files
ii  dash                          0.5.12-2                      amd64        POSIX-compliant shell
ii  dbus                          1.14.10-1~deb12u1             amd64        simple interprocess messaging system (system message bus)
ii  dbus-bin                      1.14.10-1~deb12u1             amd64        simple interprocess messaging system (command line utilities)
ii  dbus-daemon                   1.14.10-1~deb12u1             amd64        simple interprocess messaging system (reference message bus)
ii  dbus-session-bus-common       1.14.10-1~deb12u1             all          simple interprocess messaging system (session bus configuration)
ii  dbus-system-bus-common        1.14.10-1~deb12u1             all          simple interprocess messaging system (system bus configuration)
ii  dbus-user-session             1.14.10-1~deb12u1             amd64        simple interprocess messaging system (systemd --user integration)
ii  debconf                       1.5.82                        all          Debian configuration management system
ii  debconf-i18n                  1.5.82                        all          full internationalization support for debconf
ii  debian-archive-keyring        2023.3+deb12u1                all          GnuPG archive keys of the Debian archive
ii  debianutils                   5.7-0.5~deb12u1               amd64        Miscellaneous utilities specific to Debian
ii  diffutils                     1:3.8-4                       amd64        File comparison utilities
ii  discover                      2.1.2-10                      amd64        hardware identification system
ii  discover-data                 2.2013.01.13                  all          Data lists for Discover hardware detection system
ii  dmidecode                     3.4-1                         amd64        SMBIOS/DMI table decoder
ii  dmsetup                       2:1.02.185-2                  amd64        Linux Kernel Device Mapper userspace library
ii  dpkg                          1.21.22                       amd64        Debian package management system
ii  e2fsprogs                     1.47.0-2                      amd64        ext2/ext3/ext4 file system utilities
ii  efibootmgr                    17-2                          amd64        Interact with the EFI Boot Manager
ii  eject                         2.38.1-5+deb12u1              amd64        ejects CDs and operates CD-Changers under Linux
ii  elxr-archive-keyring          2024.1-2                      all          GnuPG archive keys of the eLxr archive
ii  ethtool                       1:6.1-1                       amd64        display or change Ethernet device settings
ii  fdisk                         2.38.1-5+deb12u1              amd64        collection of partitioning utilities
ii  findutils                     4.9.0-4                       amd64        utilities for finding files--find, xargs
ii  firmware-linux-free           20200122-1                    all          Binary firmware for various drivers in the Linux kernel
ii  firstboot-config              1.0                           amd64        Firstboot configure Service
ii  fuse3                         3.14.0-4                      amd64        Filesystem in Userspace (3.x version)
ii  gcc-12-base:amd64             12.2.0-14                     amd64        GCC, the GNU Compiler Collection (base package)
ii  gettext-base                  0.21-12                       amd64        GNU Internationalization utilities for the base system
ii  gpgv                          2.2.40-1.1                    amd64        GNU privacy guard - signature verification tool
ii  grep                          3.8-5                         amd64        GNU grep, egrep and fgrep
ii  groff-base                    1.22.4-10                     amd64        GNU troff text-formatting system (base system components)
ii  grub-common                   2.06-14elxr5                  amd64        GRand Unified Bootloader (common files)
ii  grub-efi-amd64                2.06-14elxr5                  amd64        GRand Unified Bootloader, version 2 (EFI-AMD64 version)
ii  grub-efi-amd64-bin            2.06-14elxr5                  amd64        GRand Unified Bootloader, version 2 (EFI-AMD64 modules)
ii  grub-efi-amd64-signed         1+2.06+13+deb12u1             amd64        GRand Unified Bootloader, version 2 (amd64 UEFI signed by Debian)
ii  grub2-common                  2.06-14elxr5                  amd64        GRand Unified Bootloader (common files for version 2)
ii  gzip                          1.12-1                        amd64        GNU compression utilities
ii  hostname                      3.23+nmu1                     amd64        utility to set/show the host name or domain name
ii  ifupdown                      0.8.41                        amd64        high level tools to configure network interfaces
ii  info                          6.8-6+b1                      amd64        Standalone GNU Info documentation browser
ii  init                          1.65.2                        amd64        metapackage ensuring an init system is installed
ii  init-system-helpers           1.65.2                        all          helper tools for all init systems
ii  initramfs-tools               0.142+deb12u1                 all          generic modular initramfs generator (automation)
ii  initramfs-tools-core          0.142+deb12u1                 all          generic modular initramfs generator (core tools)
ii  install-info                  6.8-6+b1                      amd64        Manage installed documentation in info format
ii  installation-report           2.89                          all          system installation report
ii  iproute2                      6.1.0-3                       amd64        networking and traffic control tools
ii  iputils-ping                  3:20221126-1                  amd64        Tools to test the reachability of network hosts
ii  isc-dhcp-client               4.4.3-P1-2                    amd64        DHCP client for automatically obtaining an IP address
ii  isc-dhcp-common               4.4.3-P1-2                    amd64        common manpages relevant to all of the isc-dhcp packages
ii  kbd                           2.5.1-1+b1                    amd64        Linux console font and keytable utilities
ii  keyboard-configuration        1.221                         all          system-wide keyboard preferences
ii  klibc-utils                   2.0.12-1                      amd64        small utilities built with klibc for early boot
ii  kmod                          30+20221128-1                 amd64        tools for managing Linux kernel modules
ii  laptop-detect                 0.16                          all          system chassis type checker
ii  less                          590-2.1~deb12u2               amd64        pager program similar to more
ii  libacl1:amd64                 2.3.1-3                       amd64        access control list - shared library
ii  libapparmor1:amd64            3.0.8-3                       amd64        changehat AppArmor library
ii  libapt-pkg6.0:amd64           2.6.1                         amd64        package management runtime library
ii  libargon2-1:amd64             0~20171227-0.3+deb12u1        amd64        memory-hard hashing function - runtime library
ii  libattr1:amd64                1:2.5.1-4                     amd64        extended attribute handling - shared library
ii  libaudit-common               1:3.0.9-1                     all          Dynamic library for security auditing - common files
ii  libaudit1:amd64               1:3.0.9-1                     amd64        Dynamic library for security auditing
ii  libblkid1:amd64               2.38.1-5+deb12u1              amd64        block device ID library
ii  libbpf1:amd64                 1:1.1.0-1                     amd64        eBPF helper library (shared library)
ii  libbrotli1:amd64              1.0.9-2+b6                    amd64        library implementing brotli encoder and decoder (shared libraries)
ii  libbsd0:amd64                 0.11.7-2                      amd64        utility functions from BSD systems - shared library
ii  libbz2-1.0:amd64              1.0.8-5+b1                    amd64        high-quality block-sorting file compressor library - runtime
ii  libc-bin                      2.36-9+deb12u8                amd64        GNU C Library: Binaries
ii  libc-l10n                     2.36-9+deb12u8                all          GNU C Library: localization files
ii  libc6:amd64                   2.36-9+deb12u8                amd64        GNU C Library: Shared libraries
ii  libcap-ng0:amd64              0.8.3-1+b3                    amd64        alternate POSIX capabilities library
ii  libcap2:amd64                 1:2.66-4                      amd64        POSIX 1003.1e capabilities (library)
ii  libcap2-bin                   1:2.66-4                      amd64        POSIX 1003.1e capabilities (utilities)
ii  libcbor0.8:amd64              0.8.0-2+b1                    amd64        library for parsing and generating CBOR (RFC 7049)
ii  libcom-err2:amd64             1.47.0-2                      amd64        common error description library
ii  libcrypt1:amd64               1:4.4.33-2                    amd64        libcrypt shared library
ii  libcryptsetup12:amd64         2:2.6.1-4~deb12u2             amd64        disk encryption support - shared library
ii  libdb5.3:amd64                5.3.28+dfsg2-1                amd64        Berkeley v5.3 Database Libraries [runtime]
ii  libdbus-1-3:amd64             1.14.10-1~deb12u1             amd64        simple interprocess messaging system (library)
ii  libdebconfclient0:amd64       0.270                         amd64        Debian Configuration Management System (C-implementation library)
ii  libdevmapper1.02.1:amd64      2:1.02.185-2                  amd64        Linux Kernel Device Mapper userspace library
ii  libdiscover2                  2.1.2-10                      amd64        hardware identification library
ii  libdrm-common                 2.4.114-1                     all          Userspace interface to kernel DRM services -- common files
ii  libdrm2:amd64                 2.4.114-1+b1                  amd64        Userspace interface to kernel DRM services -- runtime
ii  libedit2:amd64                3.1-20221030-2                amd64        BSD editline and history libraries
ii  libefiboot1:amd64             37-6                          amd64        Library to manage UEFI variables
ii  libefivar1:amd64              37-6                          amd64        Library to manage UEFI variables
ii  libelf1:amd64                 0.188-2.1                     amd64        library to read and write ELF files
ii  libexpat1:amd64               2.5.0-1+deb12u1               amd64        XML parsing C library - runtime library
ii  libext2fs2:amd64              1.47.0-2                      amd64        ext2/ext3/ext4 file system libraries
ii  libfdisk1:amd64               2.38.1-5+deb12u1              amd64        fdisk partitioning library
ii  libffi8:amd64                 3.4.4-1                       amd64        Foreign Function Interface library runtime
ii  libfido2-1:amd64              1.12.0-2+b1                   amd64        library for generating and verifying FIDO 2.0 objects
ii  libfreetype6:amd64            2.12.1+dfsg-5+deb12u3         amd64        FreeType 2 font engine, shared library files
ii  libfuse2:amd64                2.9.9-6+b1                    amd64        Filesystem in Userspace (library)
ii  libfuse3-3:amd64              3.14.0-4                      amd64        Filesystem in Userspace (library) (3.x version)
ii  libgcc-s1:amd64               12.2.0-14                     amd64        GCC support library
ii  libgcrypt20:amd64             1.10.1-3                      amd64        LGPL Crypto library - runtime library
ii  libgdbm6:amd64                1.23-3                        amd64        GNU dbm database routines (runtime version)
ii  libglib2.0-0:amd64            2.74.6-2+deb12u3              amd64        GLib library of C routines
ii  libglib2.0-data               2.74.6-2+deb12u3              all          Common files for GLib library
ii  libgmp10:amd64                2:6.2.1+dfsg1-1.1             amd64        Multiprecision arithmetic library
ii  libgnutls30:amd64             3.7.9-2+deb12u3               amd64        GNU TLS library - main runtime library
ii  libgpg-error0:amd64           1.46-1                        amd64        GnuPG development runtime library
ii  libgssapi-krb5-2:amd64        1.20.1-2+deb12u2              amd64        MIT Kerberos runtime libraries - krb5 GSS-API Mechanism
ii  libhogweed6:amd64             3.8.1-2                       amd64        low level cryptographic library (public-key cryptos)
ii  libicu72:amd64                72.1-3                        amd64        International Components for Unicode
ii  libidn2-0:amd64               2.3.3-1+b1                    amd64        Internationalized domain names (IDNA2008/TR46) library
ii  libip4tc2:amd64               1.8.9-2                       amd64        netfilter libip4tc library
ii  libjansson4:amd64             2.14-2                        amd64        C library for encoding, decoding and manipulating JSON data
ii  libjson-c5:amd64              0.16-2                        amd64        JSON manipulation library - shared library
ii  libk5crypto3:amd64            1.20.1-2+deb12u2              amd64        MIT Kerberos runtime libraries - Crypto Library
ii  libkeyutils1:amd64            1.6.3-2                       amd64        Linux Key Management Utilities (library)
ii  libklibc:amd64                2.0.12-1                      amd64        minimal libc subset for use with initramfs
ii  libkmod2:amd64                30+20221128-1                 amd64        libkmod shared library
ii  libkrb5-3:amd64               1.20.1-2+deb12u2              amd64        MIT Kerberos runtime libraries
ii  libkrb5support0:amd64         1.20.1-2+deb12u2              amd64        MIT Kerberos runtime libraries - Support library
ii  liblocale-gettext-perl        1.07-5                        amd64        module using libc functions for internationalization in Perl
ii  liblz4-1:amd64                1.9.4-1                       amd64        Fast LZ compression algorithm library - runtime
ii  liblzma5:amd64                5.4.1-0.2                     amd64        XZ-format compression library
ii  libmd0:amd64                  1.0.4-2                       amd64        message digest functions from BSD systems - shared library
ii  libmnl0:amd64                 1.0.4-3                       amd64        minimalistic Netlink communication library
ii  libmount1:amd64               2.38.1-5+deb12u1              amd64        device mounting library
ii  libmspack0:amd64              0.11-1                        amd64        library for Microsoft compression formats (shared library)
ii  libncursesw6:amd64            6.4-4                         amd64        shared libraries for terminal handling (wide character support)
ii  libnettle8:amd64              3.8.1-2                       amd64        low level cryptographic library (symmetric and one-way cryptos)
ii  libnftables1:amd64            1.0.6-2+deb12u2               amd64        Netfilter nftables high level userspace API library
ii  libnftnl11:amd64              1.2.4-2                       amd64        Netfilter nftables userspace API library
ii  libnsl2:amd64                 1.3.0-2                       amd64        Public client interface for NIS(YP) and NIS+
ii  libp11-kit0:amd64             0.24.1-2                      amd64        library for loading and coordinating access to PKCS#11 modules - runtime
ii  libpam-modules:amd64          1.5.2-6+deb12u1               amd64        Pluggable Authentication Modules for PAM
ii  libpam-modules-bin            1.5.2-6+deb12u1               amd64        Pluggable Authentication Modules for PAM - helper binaries
ii  libpam-runtime                1.5.2-6+deb12u1               all          Runtime support for the PAM library
ii  libpam-systemd:amd64          252.30-1~deb12u2              amd64        system and service manager - PAM module
ii  libpam0g:amd64                1.5.2-6+deb12u1               amd64        Pluggable Authentication Modules library
ii  libpci3:amd64                 1:3.9.0-4                     amd64        PCI utilities (shared library)
ii  libpcre2-8-0:amd64            10.42-1                       amd64        New Perl Compatible Regular Expression Library- 8 bit runtime files
ii  libpipeline1:amd64            1.5.7-1                       amd64        Unix process pipeline manipulation library
ii  libpng16-16:amd64             1.6.39-2                      amd64        PNG library - runtime (version 1.6)
ii  libpopt0:amd64                1.19+dfsg-1                   amd64        lib for parsing cmdline parameters
ii  libproc2-0:amd64              2:4.0.2-3                     amd64        library for accessing process information from /proc
ii  libreadline8:amd64            8.2-1.3                       amd64        GNU readline and history libraries, run-time libraries
ii  libseccomp2:amd64             2.5.4-1+deb12u1               amd64        high level interface to Linux seccomp filter
ii  libselinux1:amd64             3.4-1+b6                      amd64        SELinux runtime shared libraries
ii  libsemanage-common            3.4-1                         all          Common files for SELinux policy management libraries
ii  libsemanage2:amd64            3.4-1+b5                      amd64        SELinux policy management library
ii  libsepol2:amd64               3.4-2.1                       amd64        SELinux library for manipulating binary security policies
ii  libsmartcols1:amd64           2.38.1-5+deb12u1              amd64        smart column output alignment library
ii  libss2:amd64                  1.47.0-2                      amd64        command-line interface parsing library
ii  libssl3:amd64                 3.0.14-1~deb12u2              amd64        Secure Sockets Layer toolkit - shared libraries
ii  libstdc++6:amd64              12.2.0-14                     amd64        GNU Standard C++ Library v3
ii  libsystemd-shared:amd64       252.30-1~deb12u2              amd64        systemd shared private library
ii  libsystemd0:amd64             252.30-1~deb12u2              amd64        systemd utility library
ii  libtasn1-6:amd64              4.19.0-2                      amd64        Manage ASN.1 structures (runtime)
ii  libtext-charwidth-perl:amd64  0.04-11                       amd64        get display widths of characters on the terminal
ii  libtext-iconv-perl:amd64      1.7-8                         amd64        module to convert between character sets in Perl
ii  libtext-wrapi18n-perl         0.06-10                       all          internationalized substitute of Text::Wrap
ii  libtinfo6:amd64               6.4-4                         amd64        shared low-level terminfo library for terminal handling
ii  libtirpc-common               1.3.3+ds-1                    all          transport-independent RPC library - common files
ii  libtirpc3:amd64               1.3.3+ds-1                    amd64        transport-independent RPC library
ii  libuchardet0:amd64            0.0.7-1                       amd64        universal charset detection library - shared library
ii  libudev1:amd64                252.30-1~deb12u2              amd64        libudev shared library
ii  libunistring2:amd64           1.0-2                         amd64        Unicode string library for C
ii  libusb-1.0-0:amd64            2:1.0.26-1                    amd64        userspace USB programming library
ii  libuuid1:amd64                2.38.1-5+deb12u1              amd64        Universally Unique ID library
ii  libwrap0:amd64                7.6.q-32                      amd64        Wietse Venema's TCP wrappers library
ii  libx11-6:amd64                2:1.8.4-2+deb12u2             amd64        X11 client-side library
ii  libx11-data                   2:1.8.4-2+deb12u2             all          X11 client-side library
ii  libxau6:amd64                 1:1.0.9-1                     amd64        X11 authorisation library
ii  libxcb1:amd64                 1.15-1                        amd64        X C Binding
ii  libxdmcp6:amd64               1:1.1.2-3                     amd64        X11 Display Manager Control Protocol library
ii  libxext6:amd64                2:1.3.4-1+b1                  amd64        X11 miscellaneous extension library
ii  libxml2:amd64                 2.9.14+dfsg-1.3~deb12u1       amd64        GNOME XML library
ii  libxmlsec1:amd64              1.2.37-2                      amd64        XML security library
ii  libxmlsec1-openssl:amd64      1.2.37-2                      amd64        Openssl engine for the XML security library
ii  libxmuu1:amd64                2:1.1.3-3                     amd64        X11 miscellaneous micro-utility library
ii  libxslt1.1:amd64              1.1.35-1                      amd64        XSLT 1.0 processing library - runtime library
ii  libxtables12:amd64            1.8.9-2                       amd64        netfilter xtables library
ii  libxxhash0:amd64              0.8.1-1                       amd64        shared library for xxhash
ii  libzstd1:amd64                1.5.4+dfsg2-5                 amd64        fast lossless compression algorithm
ii  linux-base                    4.9                           all          Linux image base package
ii  linux-image-6.1.0-23-amd64    6.1.99-elxr3-1                amd64        Linux 6.1 for 64-bit PCs (signed)
ii  linux-image-6.1.0-26-amd64    6.1.112-elxr2-1               amd64        Linux 6.1 for 64-bit PCs (signed)
ii  linux-image-6.1.0-26-rt-amd64 6.1.112-elxr2-1               amd64        Linux 6.1 for 64-bit PCs, PREEMPT_RT (signed)
ii  linux-image-amd64             6.1.112-elxr2-1               amd64        Linux for 64-bit PCs (meta-package)
ii  linux-image-rt-amd64          6.1.112-elxr2-1               amd64        Linux for 64-bit PCs (meta-package)
ii  locales                       2.36-9+deb12u8                all          GNU C Library: National Language (locale) data [support]
ii  login                         1:4.13+dfsg1-1+b1             amd64        system login tools
ii  logrotate                     3.21.0-1                      amd64        Log rotation utility
ii  logsave                       1.47.0-2                      amd64        save the output of a command in a log file
ii  lsb-release                   12.0-1                        all          Linux Standard Base version reporting utility (minimal implementation)
ii  man-db                        2.11.2-2                      amd64        tools for reading manual pages
ii  mawk                          1.3.4.20200120-3.1            amd64        Pattern scanning and text processing language
ii  mokutil                       0.6.0-2                       amd64        tools for manipulating machine owner keys
ii  mount                         2.38.1-5+deb12u1              amd64        tools for mounting and manipulating filesystems
ii  nano                          7.2-1+deb12u1                 amd64        small, friendly text editor inspired by Pico
ii  ncurses-base                  6.4-4                         all          basic terminal type definitions
ii  ncurses-bin                   6.4-4                         amd64        terminal-related programs and man pages
ii  ncurses-term                  6.4-4                         all          additional terminal type definitions
ii  net-tools                     2.10-0.1                      amd64        NET-3 networking toolkit
ii  netbase                       6.4                           all          Basic TCP/IP networking system
ii  netcat-openbsd                1.219-1                       amd64        TCP/IP swiss army knife
ii  nftables                      1.0.6-2+deb12u2               amd64        Program to control packet filtering rules by Netfilter project
ii  open-vm-tools                 2:12.2.0-1+deb12u2            amd64        Open VMware Tools for virtual machines hosted on VMware (CLI)
ii  openssh-client                1:9.2p1-2+deb12u3             amd64        secure shell (SSH) client, for secure access to remote machines
ii  openssh-server                1:9.2p1-2+deb12u3             amd64        secure shell (SSH) server, for secure access from remote machines
ii  openssh-sftp-server           1:9.2p1-2+deb12u3             amd64        secure shell (SSH) sftp server module, for SFTP access from remote machines
ii  openssl                       3.0.14-1~deb12u2              amd64        Secure Sockets Layer toolkit - cryptographic utility
ii  os-prober                     1.81                          amd64        utility to detect other OSes on a set of drives
ii  passwd                        1:4.13+dfsg1-1+b1             amd64        change and administer password and group data
ii  pci.ids                       0.0~2023.04.11-1              all          PCI ID Repository
ii  pciutils                      1:3.9.0-4                     amd64        PCI utilities
ii  perl-base                     5.36.0-7+deb12u1              amd64        minimal Perl system
ii  procps                        2:4.0.2-3                     amd64        /proc file system utilities
ii  qat2.0.l                      1.1.40-00018elxr2b3           amd64        Intel(r) QuickAssist Technology API
ii  qat2.0.l-common               1.1.40-00018elxr2b3           amd64        This package provides the common files of Intel(r) QuickAssist Technology API
ii  qatengine                     1.5.0-1elxr1                  amd64        Intel QuickAssist Technology (QAT) OpenSSL Engine
ii  qatzip                        1.1.2-1elxr2                  amd64        Compression Library accelerated by Intel QuickAssist Technology
ii  readline-common               8.2-1.3                       all          GNU readline and history libraries, common files
ii  runit-helper                  2.15.2                        all          dh-runit implementation detail
ii  sed                           4.9-1                         amd64        GNU stream editor for filtering/transforming text
ii  sensible-utils                0.0.17+nmu1                   all          Utilities for sensible alternative selection
ii  shared-mime-info              2.2-1                         amd64        FreeDesktop.org shared MIME database and spec
ii  shim-helpers-amd64-signed     1+15.8+1~deb12u1              amd64        boot loader to chain-load signed boot loaders (signed by Debian)
ii  shim-signed:amd64             1.44~1+deb12u1+15.8-1~deb12u1 amd64        Secure Boot chain-loading bootloader (Microsoft-signed binary)
ii  shim-signed-common            1.44~1+deb12u1+15.8-1~deb12u1 all          Secure Boot chain-loading bootloader (common helper scripts)
ii  shim-unsigned:amd64           15.8-1~deb12u1                amd64        boot loader to chain-load signed boot loaders under Secure Boot
ii  sudo                          1.9.13p3-1+deb12u1            amd64        Provide limited super user privileges to specific users
ii  systemd                       252.30-1~deb12u2              amd64        system and service manager
ii  systemd-sysv                  252.30-1~deb12u2              amd64        system and service manager - SysV compatibility symlinks
ii  sysvinit-utils                3.06-4                        amd64        System-V-like utilities
ii  tar                           1.34+dfsg-1.2+deb12u1         amd64        GNU version of the tar archiving utility
ii  traceroute                    1:2.1.2-1                     amd64        Traces the route taken by packets over an IPv4/IPv6 network
ii  tzdata                        2024a-0+deb12u1               all          time zone and daylight-saving time data
ii  ucf                           3.0043+nmu1                   all          Update Configuration File(s): preserve user changes to config files
ii  udev                          252.30-1~deb12u2              amd64        /dev/ and hotplug management daemon
ii  usbutils                      1:014-1+deb12u1               amd64        Linux USB utilities
ii  usr-is-merged                 37~deb12u1                    all          Transitional package to assert a merged-/usr system
ii  util-linux                    2.38.1-5+deb12u1              amd64        miscellaneous system utilities
ii  util-linux-extra              2.38.1-5+deb12u1              amd64        interactive login tools
ii  vim-common                    2:9.0.1378-2                  all          Vi IMproved - Common files
ii  vim-tiny                      2:9.0.1378-2                  amd64        Vi IMproved - enhanced vi editor - compact version
ii  xauth                         1:1.1.2-1                     amd64        X authentication utility
ii  xdg-user-dirs                 0.18-1                        amd64        tool to manage well known user directories
ii  xkb-data                      2.35.1-1                      all          X Keyboard Extension (XKB) configuration data
ii  zerofree                      1.1.1-1                       amd64        zero free blocks from ext2, ext3 and ext4 file-systems
ii  zlib1g:amd64                  1:1.2.13.dfsg-1elxr1          amd64        compression library - runtime
ii  zstd                          1.5.4+dfsg2-5                 amd64        fast lossless compression algorithm -- CLI tool
root@elxr:~#

サポート必要とするDebianがほしいならeLxrを選んでも良い、という気はするが・・・

LLM環境とかGPU関連で使うのであれば、Ubuntuで用意されている追加のレポジトリが前提になってたりもするので、そこら辺がないディストリビューションを使う意義が感じにくいなぁ、と


proxmoxの外部corosyncサーバに使えるかな?と思ったんだけど、レポジトリに corosync-qdeviceがありませんでした

osakanataro@elxr:~$ apt search corosync-
ソート中... 完了
全文検索... 完了
corosync-doc/aria 3.1.7-1 all
  cluster engine HTML documentation

corosync-notifyd/aria 3.1.7-1 amd64
  cluster engine notification daemon

corosync-vqsim/aria 3.1.7-1 amd64
  cluster engine votequorum simulator

libcorosync-common-dev/aria 3.1.7-1 amd64
  cluster engine common development

libcorosync-common4/aria 3.1.7-1 amd64
  cluster engine common library

resource-agents/aria 1:4.12.0-2 amd64
  Cluster Resource Agents

osakanataro@elxr:~$


2024/11/05追記

ドキュメントサイトを見直したら「eLxr 12 Quick Start – Adding and Updating Packages」に /etc/apt/sources.list に対してdebianのレポジトリ追加する、

root@elxr:/etc/apt# cat sources.list
deb [trusted=yes] https://mirror.elxr.dev/elxr aria main
root@elxr:/etc/apt# vi sources.list
root@elxr:/etc/apt# cat sources.list
deb [trusted=yes] https://mirror.elxr.dev/elxr aria main
deb https://deb.debian.org/debian bookworm contrib main
root@elxr:/etc/apt#

追加したあとで、先ほどなかったcorosync-qdeviceを探してみるとdebianのほう起因で出てきた。

root@elxr:/etc/apt# apt update
Get:1 https://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 https://deb.debian.org/debian bookworm/contrib amd64 Packages [54.1 kB]
Hit:3 https://mirror.elxr.dev/elxr aria InRelease
Get:4 https://deb.debian.org/debian bookworm/contrib Translation-en [48.8 kB]
Get:5 https://deb.debian.org/debian bookworm/main amd64 Packages [8787 kB]
Get:6 https://deb.debian.org/debian bookworm/main Translation-en [6109 kB]
Fetched 15.2 MB in 1min 52s (135 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
root@elxr:/etc/apt# apt search corosync-
Sorting... Done
Full Text Search... Done
corosync-doc/aria,stable 3.1.7-1 all
  cluster engine HTML documentation

corosync-notifyd/aria,stable 3.1.7-1 amd64
  cluster engine notification daemon

corosync-qdevice/stable 3.0.3-1 amd64
  cluster engine quorum device daemon

corosync-qnetd/stable 3.0.3-1 amd64
  cluster engine quorum device network daemon

corosync-vqsim/aria,stable 3.1.7-1 amd64
  cluster engine votequorum simulator

libcorosync-common-dev/aria,stable 3.1.7-1 amd64
  cluster engine common development

libcorosync-common4/aria,stable 3.1.7-1 amd64
  cluster engine common library

resource-agents/aria,stable 1:4.12.0-2 amd64
  Cluster Resource Agents

root@elxr:/etc/apt#

openEulerでyum/dnfコマンドがOperation too slowと言われた

RHELベースのopenEuler 20.03環境でdnf check-update / yum check-update を実行したら「Operation too slow」と言われた

update                                          338  B/s | 3.5 kB     00:10
update                                          6.7 kB/s | 843 kB     02:06
Errors during downloading metadata for repository 'update':
  - Curl error (56): Failure when receiving data from the peer for http://repo.openeuler.org/openEuler-20.03-LTS-SP1/update/x86_64/repodata/repomd.xml [Recv failure: Connection reset by peer]
  - Curl error (28): Timeout was reached for http://repo.openeuler.org/openEuler-20.03-LTS-SP1/update/x86_64/repodata/416426aa7e21eba53323018f9077ad6e94fe240e320c577b6ec34ef7fc1f62be-filelists.xml.gz [Operation too slow. Less than 1 bytes/sec transferred the last 30 seconds]
  - Curl error (28): Timeout was reached for http://repo.openeuler.org/openEuler-20.03-LTS-SP1/update/x86_64/repodata/c5910efa87edf2c30e8262d4061feb2d84ab441fef40232c861c31db9cd97978-primary.xml.gz [Operation too slow. Less than 1 bytes/sec transferred the last 30 seconds]
Error: Failed to download metadata for repo 'update': Yum repo downloading error: Downloading error(s): repodata/c5910efa87edf2c30e8262d4061feb2d84ab441fef40232c861c31db9cd97978-primary.xml.gz - Cannot download, all mirrors were already tried without success; repodata/416426aa7e21eba53323018f9077ad6e94fe240e320c577b6ec34ef7fc1f62be-filelists.xml.gz - Cannot download, all mirrors were already tried without success
[root@openeuler ~]#

エラーとなっている http://repo.openeuler.org/openEuler-20.03-LTS-SP1/update/x86_64/repodata/ を普通のブラウザでアクセスしてみるとアクセス可能で、指定されたファイルも存在しているようだ。

とりあえず、「–setopt=timeout=300」をつけてタイムアウトの時間を標準の30秒から300秒に変更して実施

[root@openeuler ~]# dnf  --setopt=timeout=300  check-update
update                                          2.5 kB/s | 3.5 kB     00:01
update                                          3.0 kB/s | 3.6 MB     20:05
Errors during downloading metadata for repository 'update':
  - Curl error (28): Timeout was reached for http://repo.openeuler.org/openEuler-20.03-LTS-SP1/update/x86_64/repodata/416426aa7e21eba53323018f9077ad6e94fe240e320c577b6ec34ef7fc1f62be-filelists.xml.gz [Operation too slow. Less than 1 bytes/sec transferred the last 300 seconds]
Error: Failed to download metadata for repo 'update': Yum repo downloading error: Downloading error(s): repodata/416426aa7e21eba53323018f9077ad6e94fe240e320c577b6ec34ef7fc1f62be-filelists.xml.gz - Cannot download, all mirrors were already tried without success
[root@openeuler ~]#

エラーメッセージをよく見ると「http」でアクセスしてるので「https」に変更してみると・・・

意外にもうまくいった

どういうことなんだ???

中国の検閲システムの問題か???

最近のarmbianでOrange Pi PC2が起動しない件の対処

去年使った際にArmbian_23.02.1_Orangepipc2_jammy_current_5.15.93_xfce_desktop を使ってセットアップしたOrange Pi PC2を久々にapt update; apt upgradeしたら、起動途中で止まるようになった。

plymouth-start.service で止まっているように見えた

とりあえず別のmicro SDに最新の Armbian_community_24.8.0-trunk.139_Orangepipc2_noble_current_6.6.31_gnome_desktop を書き込んで起動してみたところ、同じ場所で止まった

plymouth ということは ロゴ表示関連?と疑って /boot/armbianEnv.txt を編集して「bootlogo=false」設定?と思ってみたら、すでに設定されていました。

試しに「bootlogo=true」に変えてみると、ロゴ自体はちゃんと表示され、そのあとの処理で止まっているようだった。

armbianフォーラム「Armbian 24.2 is broken on Orange PI PC2」を読んでみると以下のことがわかった

・kernel 6.1以降おかしい
・armbianのシステムで自動生成されつづける最新イメージファイルは Orange Pi PC2で動かない
・昔のdtbファイルを使うと新しいkernelでも起動する

ということなので、まずはmicroSDを他のLinuxでマウントして、関連しそうなdtbファイルを確認

osakanataro@ubuntuserver:/mnt$ find . -print|grep dtb|grep orange
find: ‘./root’: 許可がありません
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h618-orangepi-zero2w.dtb
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-zero-plus2.dtb
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-3.dtb
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-lite2.dtb
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-zero-plus.dtb
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-3-lts.dtb
find: ‘./var/spool/rsyslog’: 許可がありません
find: ‘./var/spool/cron/crontabs’: 許可がありません
find: ‘./var/spool/cups’: 許可がありません
find: ‘./var/lib/private’: 許可がありません
find: ‘./var/lib/ubuntu-advantage/apt-esm/var/lib/apt/lists/partial’: 許可がありません
find: ‘./var/lib/openvpn/chroot’: 許可がありません
find: ‘./var/lib/lightdm-data/lightdm’: 許可がありません
find: ‘./var/lib/apt/lists/partial’: 許可がありません
find: ‘./var/lib/update-notifier/package-data-downloads/partial’: 許可がありません
find: ‘./var/lib/udisks2’: 許可がありません
find: ‘./var/lib/chrony’: 許可がありません
find: ‘./var/lib/NetworkManager’: 許可がありません
find: ‘./var/lib/polkit-1’: 許可がありません
find: ‘./var/lib/lightdm’: 許可がありません
find: ‘./var/log/private’: 許可がありません
find: ‘./var/log/chrony’: 許可がありません
find: ‘./var/log/speech-dispatcher’: 許可がありません
find: ‘./var/cache/private’: 許可がありません
find: ‘./var/cache/apt/archives/partial’: 許可がありません
find: ‘./var/cache/ldconfig’: 許可がありません
find: ‘./var/cache/cups’: 許可がありません
find: ‘./var/cache/lightdm/dmrc’: 許可がありません
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h616-orangepi-zero2.dtb
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-one-plus.dtb
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-prime.dtb
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-a64-orangepi-win.dtb
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h618-orangepi-zero3.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h618-orangepi-zero2w.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-zero-plus2.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-3.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-lite2.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-zero-plus.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-3-lts.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h616-orangepi-zero2.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-one-plus.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-prime.dtb
find: ‘./etc/vpnc’: 許可がありません
find: ‘./etc/ssl/private’: 許可がありません
find: ‘./etc/polkit-1/localauthority’: 許可がありません
find: ‘./etc/cups/ssl’: 許可がありません
find: ‘./lost+found’: 許可がありません
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-a64-orangepi-win.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h618-orangepi-zero3.dtb
osakanataro@ubuntuserver:/mnt$ 

“sun50i-h5-orangepi-pc2.dtb”というファイルがそれっぽい。2カ所にあるが、どちらも同じ内容のようだ

osakanataro@ubuntuserver:/mnt$ ls -l ./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
-rwxr-xr-x 1 root root 34856  5月 22 03:57 ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
-rwxr-xr-x 1 root root 34856  5月 22 03:57 ./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
osakanataro@ubuntuserver:/mnt$

Armbian_23.02.1_Orangepipc2_jammy_current_5.15.93_xfce_desktop.img を展開して、 kernel 5.15.93時代の sun50i-h5-orangepi-pc2.dtb に置き換えた

osakanataro@ubuntuserver:/mnt$ ls -l /tmp/sun50i-h5-orangepi-pc2.dtb
-rw-r--r-- 1 osakanataro osakanataro 32052  2月 23  2023 /tmp/sun50i-h5-orangepi-pc2.dtb
osakanataro@ubuntuserver:/mnt$ ls -l ./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
-rwxr-xr-x 1 root root 34856  5月 22 03:57 ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
-rwxr-xr-x 1 root root 34856  5月 22 03:57 ./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
osakanataro@ubuntuserver:/mnt$ sudo mv ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb.org
osakanataro@ubuntuserver:/mnt$ sudo cp /tmp/sun50i-h5-orangepi-pc2.dtb ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
osakanataro@ubuntuserver:/mnt$ sudo mv ./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb ./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb.org
osakanataro@ubuntuserver:/mnt$ sudo cp /tmp/sun50i-h5-orangepi-pc2.dtb ./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
osakanataro@ubuntuserver:/mnt$ ls -l ./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
-rw-r--r-- 1 root root 32052  6月 19 11:05 ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
-rw-r--r-- 1 root root 32052  6月 19 11:05 ./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
osakanataro@ubuntuserver:/mnt$

これで起動を行ったところ、問題なく起動してきました。

dtbファイルを古いまま使う方法ってあるのかな・・・

kernelをアップデート対象から外ししかない??

CentOS7からOracle Linux9へWebサーバを置き換えたメモ 2024年4月

Solaris 2.5.1時代に原型を作ったperl CGIも存在してるWebサーバは時代を経てCentOS4→CentOS7→Oracle Autonomous Linux 7(OCI上)と移転しつつ運用していた。ただ、それもいい加減置き換えるかとOracle Linux9(OCI上)へ移行した時のメモ書き

個人ユーザディレクトリに置いたファイルのWeb公開

各ユーザのホームディレクトリにwebとかpublic_htmlとかのディレクトリを作ってファイルを置いたけど見れない場合

/var/log/httpd/access_log での出力例

xxx.xxx.xxx.xxx - - [25/Apr/2024:13:24:45 +0900] "GET / HTTP/1.1" 403 3539 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"

/var/log/httpd/error_log での出力例

[Thu Apr 25 13:24:45.157549 2024] [core:error] [pid 6267:tid 6455] (13)Permission denied: [client 118.238.215.174:55006] AH00035: access to /index.html denied (filesystem path '/home/user/web/index.html') because search permissions are missing on a component of the path

/var/log/audit/audit.logでの出力内容

time->Thu Apr 25 13:24:45 2024
type=PROCTITLE msg=audit(1714019085.156:779): proctitle=2F7573722F7362696E2F6874747064002D44464F524547524F554E44
type=SYSCALL msg=audit(1714019085.156:779): arch=c000003e syscall=262 success=no exit=-13 a0=ffffff9c a1=7fe6a4017568 a2=7fe6b6ffc7c0 a3=100 items=0 ppid=6263 pid=6267 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null)
type=AVC msg=audit(1714019085.156:779): avc:  denied  { getattr } for  pid=6267 comm="httpd" path="/home/osakanataro/web/index.html" dev="dm-0" ino=17989882 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:httpd_user_content_t:s0 tclass=file permissive=0

この時の対処としては該当ディレクトリに対してSELinuxのhttpd_sys_rw_content_tラベルを書いてあげる、というものとした

# chcon -t httpd_sys_rw_content_t -R /home/osakanataro/web/
#

SSLUseStapling onだとうまく動かない?

Oracle Cloud上にサーバを立てて、Mozilla SSL Configuration Generator で作った設定ファイルを/etc/httpd/conf.d/ssl-mozilla.conf で設定したところ、/var/log/httpd/error_log に下記のような出力があり、うまく動かなかった。

[Thu Apr 25 11:53:34.401905 2024] [core:notice] [pid 4789:tid 4789] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
[Thu Apr 25 11:53:34.406356 2024] [suexec:notice] [pid 4789:tid 4789] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Apr 25 11:53:34.415259 2024] [ssl:warn] [pid 4789:tid 4789] AH01909: xxxxxxx.subnet.vcn.oraclevcn.com:443:0 server certificate does NOT include an ID which matches the server name
[Thu Apr 25 11:53:34.415362 2024] [ssl:error] [pid 4789:tid 4789] AH02217: ssl_stapling_init_cert: can't retrieve issuer certificate! [subje
ct: CN=ドメイン名 / issuer: CN=R3,O=Let's Encrypt,C=US / serial:040D1B85397F73xxxxxxxxxxxx / notbefore: Apr 25 01:32:39 2024
 GMT / notafter: Jul 24 01:32:38 2024 GMT]
[Thu Apr 25 11:53:34.415367 2024] [ssl:error] [pid 4789:tid 4789] AH02604: Unable to configure certificate xxxxxxx.subnet.vcn.oracl
evcn.com:443:0 for stapling
[Thu Apr 25 11:53:34.415875 2024] [ssl:emerg] [pid 4789:tid 4789] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/httpd/pbm
.osakana.net-error_log for more information
AH00016: Configuration Failed

すぐに解決できそうにないなぁ、とエラー内に「ssl_stapling_init_cert」とあるので”SSLUseStapling on”設定が問題に違いない、と、該当設定をコメントアウトしたところ、とりあえず動くようになった。

ただ、ひとしきり設定調整したあと、改めてSSLUseStapling on設定を入れてみたところ、今度は動作した・・・なぜ?

SSLCertificateFileに指定するファイルは何が適切か?

前述の Mozilla SSL Configuration Generator で出力した設定では “curl https://ssl-config.mozilla.org/ffdhe2048.txt” でダウンロードしたファイルを保存して SSLCertificateFile で指定しろ、とある。

でも、SSLCertificateFile って、SSL証明書で発行したやつを指定するんじゃないの?と思って調べると Apache Module mod_sslマニュアルの”SSLCertificateFile Directive”に書いてあった。

特に「DH parameter interoperability with primes > 1024 bit」の時の取り扱いとして、FAQ「Why do I get handshake failures with Java-based clients when using a certificate with more than 1024 bits?」にもあるような形で「DH PARAMETERS」としての指定が認められているようだった。

なるほど

s3fsでエラーが出てた

s3fs-fuse をインストールして /etc/passwd-s3fs に設定書いて/etc/fstabで自動マウントを設定してみたところエラーが・・・

# mount -a
s3fs: There is no enough disk space for used as cache(or temporary) directory by s3fs. Requires 3061.600 MB, already has 2580.949 MB.
# df -h
Filesystem                  Size  Used Avail Use% Mounted on
devtmpfs                    4.0M     0  4.0M   0% /dev
tmpfs                       475M     0  475M   0% /dev/shm
tmpfs                       190M  5.4M  185M   3% /run
/dev/mapper/ocivolume-root   30G   27G  2.6G  92% /
/dev/mapper/ocivolume-oled   15G  329M   15G   3% /var/oled
/dev/sda2                   2.0G  342M  1.7G  18% /boot
/dev/sda1                   100M  6.2M   94M   7% /boot/efi
tmpfs                        95M  4.0K   95M   1% /run/user/982
tmpfs                        95M  4.0K   95M   1% /run/user/1000
#

/var/oled を使うように設定できないかな。もしくはキャッシュ無効にするか?

FAQを見ると「-o use_cache=/tmp」でキャッシュディレクトリを指定できる。「-o use_cache=””」でキャッシュ無効化となるようだ.。

が、「use_cache=””」「use_cache=disable」「use_cache」を試してみたが、相変わらず容量警告となる。

「use_cache=/var/oled/s3fs/」とするとキャッシュディレクトリ指定はきちんと反映されていたので、とりあえずこちらをキャッシュとして設定することで回避とした。

perl CGIを動かす

[Thu Apr 25 19:06:57.798078 2024] [cgid:error] [pid 2555:tid 2693] [client 118.238.215.174:52675] AH01241: error spawning CGI child: exec of '/home/user/web/chat/comchatq.cgi' failed (Permission denied): /home/user/web/chat/comchatq.cgi
[Thu Apr 25 19:06:57.798743 2024] [cgid:error] [pid 2555:tid 2693] [client 118.238.215.174:52675] End of script output before headers: comchatq.cgi

以下を実行

chcon -t httpd_sys_script_exec_t *.cgi

エラーは下記に変わる

[Thu Apr 25 19:10:21.631944 2024] [cgid:error] [pid 4785:tid 4836] [client 118.238.215.174:53013] Can't open perl script "/home/osakanataro/web/chat/comchatq.cgi": Permission denied: /home/osakanataro/web/chat/comchatq.cgi
[Thu Apr 25 19:10:21.631989 2024] [cgid:error] [pid 4785:tid 4836] [client 118.238.215.174:53013] End of script output before headers: comchatq.cgi

/var/log/audit/audit.logの出力

type=SYSCALL msg=audit(1714040034.887:220): arch=c000003e syscall=257 success=no exit=-13 a0=ffffff9c a1=55b4c3978cc0 a2=80000 a3=0 items=0 ppid=2551 pid=7775 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="comchatq.cgi" exe="/usr/bin/perl" subj=system_u:system_r:httpd_sys_script_t:s0 key=(null)ARCH=x86_64 SYSCALL=openat AUID="unset" UID="apache" GID="apache" EUID="apache" SUID="apache" FSUID="apache" EGID="apache" SGID="apache" FSGID="apache"

type=AVC msg=audit(1714044210.729:383): avc:  denied  { search } for  pid=9361 comm="comchatq.cgi" name="ユーザ名" dev="dm-0" ino=16778313 scontext=system_u:system_r:httpd_sys_script_t:s0 tcontext=unconfined_u:object_r:user_home_dir_t:s0 tclass=dir permissive=0
type=SYSCALL msg=audit(1714044210.729:383): arch=c000003e syscall=257 success=no exit=-13 a0=ffffff9c a1=5601baca2c00 a2=80000 a3=0 items=0 ppid=2551 pid=9361 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="comchatq.cgi" exe="/usr/bin/perl" subj=system_u:system_r:httpd_sys_script_t:s0 key=(null)ARCH=x86_64 SYSCALL=openat AUID="unset" UID="apache" GID="apache" EUID="apache" SUID="apache" FSUID="apache" EGID="apache" SGID="apache" FSGID="apache"

このときの「ausearch -m AVC|grep denied|grep comchat」の結果

type=AVC msg=audit(1714044410.481:392): avc:  denied  { search } for  pid=9803 comm="comchatq.cgi" name="ユーザ名" dev="dm-0" ino=16778313 scontext=system_u:system_r:httpd_sys_script_t:s0 tcontext=unconfined_u:object_r:user_home_dir_t:s0 tclass=dir permissive=0

めんどくさくなってきたので「setenforce Permissive」で一時的にSELinux緩和

# getenforce
Enforcing
# setenforce Permissive
# getenforce
Permissive
#

そしてモジュール化するため「ausearch -m AVC|grep denied|grep cgi | audit2allow -M comchatq」を実行

# ausearch -m AVC|grep denied|grep cgi | audit2allow -M comchatq
******************** IMPORTANT ***********************
To make this policy package active, execute:

semodule -i comchatq.pp

# ls -l comchatq*
-rw-r--r--. 1 root root 1329 Apr 26 15:23 comchatq.pp
-rw-r--r--. 1 root root  586 Apr 26 15:23 comchatq.te
# cat comchatq.te

module comchatq 1.0;

require {
        type user_home_dir_t;
        type httpd_sys_rw_content_t;
        type httpd_t;
        type httpd_sys_script_t;
        class file { execute execute_no_trans };
        class dir search;
}

#============= httpd_sys_script_t ==============

#!!!! This avc can be allowed using one of the these booleans:
#     httpd_enable_homedirs, httpd_read_user_content
allow httpd_sys_script_t user_home_dir_t:dir search;

#============= httpd_t ==============

#!!!! This avc can be allowed using the boolean 'httpd_unified'
allow httpd_t httpd_sys_rw_content_t:file { execute execute_no_trans };
#

そして、SELinuxモジュールの読み込み「semodule -i comchatq.pp」を実行(前後でsemodule -l|grep chatを実行して、読み込み済みSELinuxモジュールの出力の変化を確認)

# semodule -l|grep chat
# semodule -i|grep chat
# semodule -l|grep chat
comchatq
#

で、「setenforce Enforcing」を実行して元に戻して、念のため再起動もしておく

# setenforce Enforcing
# getenforce
Enforcing
#

jcode.plを使うperl CGIを動かせない?

自分で作ったCGIはjcode.pmを使うように仕様変更してたけど、イベントをやるにあたってほかから持ってきたCGIにはjcode.plを使ってるものがあった。

そんなjcode.plを使ってるperl CGIをperl v5.32.1で動かそうとしたら、以下のエラー

$ ./joyful.cgi
Can't use 'defined(%hash)' (Maybe you should just omit the defined()?) at ./jcode.pl line 684.
Compilation failed in require at ./joyful.cgi line 44.
$

たぶん昔ながらの外部ファイル読み込みが廃止されたんだろうなぁ、と調べてみると「Perl Hackers Hub 第46回 Perl 5.26で変わること(1)」に記載があった。

が・・・ここだと「require “./jcode.pl”;」と指定すれば大丈夫、とあるが、今回エラー出てるCGIはもともとその指定となっていた。

よく読むとdefinedがhashに使えなくなった、というjcode.pl内部の作りの問題を指摘されていた。

で・・・探すとそこらへんが修正されているjacode.pl というjcode.plを置き換えられるように作られたものがあったので、それを使って対処した。

$ curl -O https://cpan.metacpan.org/authors/id/I/IN/INA/Jacode/Jacode-2.13.4.31.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5408k  100 5408k    0     0  5803k      0 --:--:-- --:--:-- --:--:-- 5797k
$ tar xfz Jacode-2.13.4.31.tar.gz
$ cd Jacode-2.13.4.31/lib
$ ls -l
total 220
-rwxr-xr-x. 1 osakanataro osakanataro 217584 Mar 21  2023 jacode.pl
-rw-r--r--. 1 osakanataro osakanataro 2432 Mar 21  2023 Jacode.pm
$

で、このjacode.plをjcode.plにファイル名変更して置き換えたところ、特に問題なく動作した。

(SELinuxに関する問題はおそらく↑のSELinuxモジュールで一緒に対処できているっぽい)

lv viewerがない

Solaris時代からless/moreだと ShiftJIS/EUC-JP/UTF-8 の自動変換をしてくれないけど、 lv というコマンドならできる、というのでずっと使ってきた。(なぜlvを知ったかというと、 MS-DOS時代にアマチュア無線のBBS(RBBS)ソフト dNet にお世話になってたから。作者の人に浦和の宇宙科学館であったりしてた)

いつのまにかFedora EPELに収録されていて使いやすくなってたんだけど、EPEL8から収録されなくなった。

Fedora側では現在も続いているので、メンテナーがいないからEPEL8での提供が終わったのかな、といった感じ・・・

# curl -O https://kojipkgs.fedoraproject.org//packages/lv/4.51/52.fc40/src/lv-4.51-52.fc40.src.rpm
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  629k  100  629k    0     0  46005      0  0:00:14  0:00:14 --:--:-- 36245
# rpmbuild --rebuild lv-4.51-52.fc40.src.rpm
lv-4.51-52.fc40.src.rpm をインストール中です。
setting SOURCE_DATE_EPOCH=1706140800
エラー: ビルド依存性の失敗:
        ncurses-devel は lv-4.51-52.el9.x86_64 に必要とされています
#

というわけで「dnf install ncurses-devel」を実行した後に、再度「rpmbuild –rebuild lv-4.51-52.fc40.src.rpm」を実行して ~/rpmbuild/RPMS/x86_64/lv-4.51-52.el9.x86_64.rpm を出力

これをインストールして対処