平台與維運 2026 年 8 月 23 日

2026-08-23 — OpenTelemetry 維護健康度示警、nss-userhosts 讓一般使用者自管 hosts、PiKVM 新增攝影機轉發

primary=https://matduggan.com/otel-isnt-going-well-and-i-made-a-spreadsheet-about-it/ primary=https://codeberg.org/felixs/nss-userhosts primary=https://docs.pikvm.org/camera/

維護者集中度過高:一份試算表揭露 OpenTelemetry 採用卡關的真正原因

Mat Duggan's Blog · 2026-08-12

部落客 Mat Duggan 於 2026 年 8 月 12 日發表文章,整理了 OpenTelemetry(OTel)過去 24 個月在 GitHub 上各語言 SDK 倉庫的 PR 合併紀錄,做成一份公開試算表逐一比較維護健康度,文章隨後被轉貼到 Lobsters 引發討論。他的結論是:OTel 的採用摩擦來自「維護者不足、專案範疇過大、穩定性門檻過嚴」三個問題同時撞在一起。

規格細節

試算表顯示,Ruby SDK 有 78.7% 的合併集中在單一維護者手上,Python 是 61.4%,PHP 是 53%;相對地,同屬 CNCF 旗下的 Prometheus 只有 14.4%,Envoy 是 35.8%。作者認為這種集中度意味著一旦該名維護者離開,整條語言的 SDK 就可能陷入停滯。

專案單一維護者合併佔比
Ruby SDK78.7%
Python SDK61.4%
PHP SDK53%
Envoy35.8%
Prometheus14.4%

語意規範(semantic conventions)的審查速度也拖累了功能推進:PR #2083(MCP 相關規範)花了 277.5 天才合併,GCE instance labels 的 #2617 花了 258.6 天,被標記為破壞性變更的 Azure 命名調整 #1698 也耗費 187.9 天。Duggan 也點出「懸崖問題」:自動注入(auto-instrumentation)體驗流暢,但一旦需要手動埋點,學習曲線立刻陡增,甚至需要額外警語提醒使用者。

影響範圍

文章指出 Go 與 .NET 是 OTel 生態裡的「一等公民」,Ruby、PHP 等語言的支援品質則明顯落後,Duggan 批評社群長期假裝各語言支援對等,卻不願承認落差。他提出的緩解方案包括:在「實驗性」與「穩定」之間新增一個至少維持 12 個月的「Beta」分級,在文件上誠實標示各語言的維護等級,並更主動地公開招募維護者。

原始來源:Mat Duggan's Blog


免 root 也能自訂 hosts:新專案 nss-userhosts 讓一般使用者自管主機名稱解析

Codeberg (felixs/nss-userhosts) · 2026-08-22

開發者 felixs 在 Codeberg 發布了新專案 nss-userhosts,這是一個以 Rust 寫成的 glibc NSS(Name Service Switch)模組,讓沒有 root 權限的使用者也能維護自己的主機名稱對應表,不必修改系統層級的 /etc/hosts。倉庫第一個 commit 落在 2026 年 8 月 21 日,最新一次修正安裝腳本的 commit 則在次日 8 月 22 日,是剛公開沒幾天的新專案。

背景

glibc 的 NSS 機制源自 Solaris 2 的作法,透過設定檔 /etc/nsswitch.conf 決定每一類名稱查詢(例如 hosts、passwd)要依序詢問哪些來源。每個來源對應一個命名為 libnss_服務名稱.so.版本號 的共享函式庫,glibc 在程式執行時以 dlopen() 動態載入它。nss-userhosts 就是照這個介面實作了一個新來源,插在既有的 filesdns 之前優先被查詢。

核心改動

安裝方式是先以 cargo build --release 編譯,將產出的 libnss_userhosts.so 重新命名為 libnss_userhosts.so.2 後複製到 /usr/lib/(作者提到放在 /usr/local/lib 無法生效);Arch 使用者可在 packaging 目錄下執行 makepkg。接著修改 /etc/nsswitch.conf,把 userhosts 放在 hosts 那一行最前面:

hosts: userhosts mymachines resolve [!UNAVAIL=return] files myhostname dns

使用者自己的對應表放在 $HOME/.config/userhosts/*.conf,格式與標準 hosts 檔相同,例如 192.168.1.79 catfeeder。設定完成後可用 getent ahosts catfeeder 驗證是否生效,也能設定環境變數 NSS_USERHOSTS_LOG=true 除錯。專案目前僅支援走 glibc resolver 的程式,且不支援反向 DNS 查詢。

原始來源:nss-userhosts (Codeberg)


PiKVM 新增網路攝影機轉發,遠端主機看到的是一顆隨插即用的 USB 攝影機

PiKVM Handbook · 2026-08-22

開源 KVM-over-IP 專案 PiKVM 在官方文件站上線了「網路攝影機轉發」(web camera forwarding)功能說明頁,把接在 PiKVM 裝置上的一般網路攝影機影像,透過 USB 模擬轉發給遠端主機,主機端看到的是「完全一般、不需要額外驅動的 USB 裝置」。目前解析度上限為 1280x720,僅支援官方 V3V4 機型。

背景

PiKVM 靠 Pi 上的 USB OTG(On-The-Go)埠接到目標主機的 USB 埠,藉由 Linux USB gadget 子系統讓 Pi 對主機「假扮」成一個個 USB 裝置,過去已能模擬鍵盤、滑鼠與麥克風;這次的攝影機轉發,是在同一套 gadget 機制下多掛了一個 USB video class 裝置。

核心改動

啟用步驟為:先執行 pikvm-update 更新系統,把檔案系統切回可寫(rw),安裝 pacman -S ucamera,再於 /etc/kvmd/override.yaml 加入設定鍵 otg.devices.camera.enabled: true。為負擔額外編碼運算,文件建議在 /boot/config.txt 拉高 GPU 頻率 gpu_freq=700,並在 /boot/cmdline.txt 加上 isolcpus=3 隔離一顆 CPU 核心專門處理影像,最後重新開機生效。

otg:
  devices:
    camera:
      enabled: true

影響範圍

文件提醒 V3 機型建議加裝散熱片,V4 則已內建足夠散熱設計。此功能目前屬於「早期存取」(early access)階段,程式碼暫未開源,官方表示獨佔期結束後會依 GPLv3 授權釋出;使用時瀏覽器需為最新版 Firefox、Chrome 或 Safari。

原始來源:PiKVM Handbook


End of article
0
Would love your thoughts, please comment.x
()
x