<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Debian on Hallblazzar: 開發者日誌</title>
    <link>https://dev-journal.hallblazzar.dev/zh-tw/categories/debian/</link>
    <description>Recent content in Debian on Hallblazzar: 開發者日誌</description>
    <generator>Hugo</generator>
    <language>zh-tw</language>
    <lastBuildDate>Sat, 23 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://dev-journal.hallblazzar.dev/zh-tw/categories/debian/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>NetBird 引起的 DNS 解析問題</title>
      <link>https://dev-journal.hallblazzar.dev/zh-tw/posts/2026_may_23_netbird_dns/</link>
      <pubDate>Sat, 23 May 2026 00:00:00 +0000</pubDate>
      <guid>https://dev-journal.hallblazzar.dev/zh-tw/posts/2026_may_23_netbird_dns/</guid>
      <description>&lt;p&gt;如果您使用 NetBird 作為 VPN 解決方案，且偶爾會遇到 DNS 解析問題，本文或許能有所幫助。&lt;/p&gt;&#xA;&lt;h1 id=&#34;背景&#34;&gt;&#xA;  背景&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%e8%83%8c%e6%99%af&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&#xA;&lt;p&gt;我使用 &lt;a href=&#34;https://netbird.io/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;NetBird&lt;/a&gt; 來作為我的 HomeLab 的連線方案已經有一段時間了。我選擇它的原因有以下幾點：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;自主權 — 我可以自行部署並完全掌控所有元件。&lt;/li&gt;&#xA;&lt;li&gt;開箱即用 — NetBird 提供了優秀的網頁版 GUI 來管理用戶端與憑證。我可以透過設計良好的網頁介面控制一切，不需要與設定檔或 CLI 頻繁互動。&lt;/li&gt;&#xA;&lt;li&gt;自訂 DNS — 為了讓我的 HomeLab 服務支援 HTTPS/TLS，我想將公開網域綁定並映射到 HomeLab 上的服務的 IP。然而，像 CloudFlare 這類的 DNS 提供商會限制公開網域與私有 IP 以預防 &lt;a href=&#34;https://en.wikipedia.org/wiki/DNS_rebinding&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;DNS rebinding&lt;/a&gt;。因此，另一種替代方法是將私有 IP 綁定到私有 DNS 紀錄，並透過 CNAME 將它們映射到公開 DNS 紀錄。這種方法需要 VPN 支援自訂私有 DNS。雖然有些人可能完全依賴私有 DNS 和私有 IP，但這意味著他們必須自己管理憑證，因為一般像 &lt;a href=&#34;https://letsencrypt.org/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Let&amp;rsquo;s Encrypt&lt;/a&gt; 這類現代 SSL 發行機構都需要 DNS 驗證，而 Public Domain 對此是不可或缺的（特別是對於免費的解決方案而言）。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;其他 VPN 解決方案（例如 &lt;a href=&#34;https://www.zerotier.com/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ZeroTier&lt;/a&gt; 和 &lt;a href=&#34;https://tailscale.com/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;TailScale&lt;/a&gt;）雖然也支援上述部分功能，但它們的 Control Plane 基本上不是開源的，且無法自建。&lt;/p&gt;</description>
    </item>
    <item>
      <title>我如何為筆記型電腦選擇作業系統？</title>
      <link>https://dev-journal.hallblazzar.dev/zh-tw/posts/2026_apr_19_choose_os/</link>
      <pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://dev-journal.hallblazzar.dev/zh-tw/posts/2026_apr_19_choose_os/</guid>
      <description>&lt;div class=&#34;notice tip&#34;&gt;&#xA;  &lt;div class=&#34;notice-title&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-lightbulb&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;Tip&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;notice-content&#34;&gt;&lt;strong&gt;TL;DR：&lt;/strong&gt; 如果你是一名正在為筆記型電腦/工作站選擇 Linux 桌面環境而苦惱的開發者，Debian 基本上是最可靠的方案。否則，建議從 &lt;a href=&#34;https://distrowatch.com/dwres.php?resource=popularity&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;DistroWatch&lt;/a&gt; 中挑選並測試，找出最適合你的一個。&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;這是一個關於我如何為新筆記型電腦選擇作業系統的故事，也是一段為期 2 + 3 個月的旅程。&lt;/p&gt;&#xA;&lt;p&gt;去年 11 月（2025 年），我趁黑五優惠花了約 1,200 美元買了一台 Dell Pro 14 筆記型電腦（64 GB RAM, AMD Ryzen 5 220），用來替換我的 Surface Laptop 3（32 GB RAM, i7-1065G7）。Surface Laptop 3 對開發者來說其實很不錯，但 Windows 11 和近期的桌面應用程式（加上 WSL2）對它來說似乎太沉重。即便重新安裝整個系統，它還是會隨著時間運行得越來越慢。因此，在去年年底，我決定更換它。&lt;/p&gt;&#xA;&lt;p&gt;第一個問題是：我應該使用哪個作業系統？&lt;/p&gt;&#xA;&lt;p&gt;事實上，我腦中浮現的第一個念頭是選擇 Windows 以外的選項。我使用 Windows 已經超過 20 年了。我仍然認為它擁有最好的使用者體驗。使用者不需要花太多時間去理解如何使用，所有的操作都很直觀。此外，我日常使用的大多數現代應用程式都是基於 Windows 的，例如 Notion Desktop、&lt;a href=&#34;https://www.stardock.com/products/groupy/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Groupy&lt;/a&gt; 和 Notepad++。然而，我還是決定離開它。&lt;/p&gt;&#xA;&lt;p&gt;最顯著的原因是系統資源消耗。在 Surface Laptop 3 上，Windows 佔用了約 8 GB 的記憶體來運行大量用途不明的 Background Processes。當我運行應用程式時，情況變得更糟。在日常工作中，我習慣同時運行超過 100 個標籤頁的 Firefox、多個基於 Jetbrains IDE Instances 以及 WSL。在這種情況下，工作管理員無法完全反映出的記憶體與 CPU 使用狀況。例如，當我看到系統 CPU 和記憶體使用率已達到近 90% 時，工作管理員的 Process 中所記錄到的資源消耗總數往往對應不起來。即使我嘗試關閉所有應用程式與 WSL，系統資源消耗仍然高於剛開機時的狀態。&lt;/p&gt;</description>
    </item>
    <item>
      <title>lbhelper：基於 Python 的 Debian Live Build Wrapper</title>
      <link>https://dev-journal.hallblazzar.dev/zh-tw/posts/2026_apr_12_lbhelper/</link>
      <pubDate>Sun, 12 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://dev-journal.hallblazzar.dev/zh-tw/posts/2026_apr_12_lbhelper/</guid>
      <description>&lt;div class=&#34;notice tip&#34;&gt;&#xA;  &lt;div class=&#34;notice-title&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-lightbulb&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;Tip&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;notice-content&#34;&gt;&lt;p&gt;TL;DR：如果你正嘗試建構自己的 Debian Images （針對桌面環境），我開發了一個基於 Python3 的函式庫 &lt;a href=&#34;https://hallblazzar.github.io/lbhelper/source/index.html&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;lbhelper&lt;/a&gt;，可以協助你簡化這部分的開發工作。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;官方文件 - &lt;a href=&#34;https://hallblazzar.github.io/lbhelper/source/index.html&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://hallblazzar.github.io/lbhelper/source/index.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;GitHub - &lt;a href=&#34;https://github.com/HallBlazzar/lbhelper&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/HallBlazzar/lbhelper&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;基於這個函式庫建構的 Debian Images ，也是我目前運行在我的筆電上運行的系統 - &lt;a href=&#34;https://github.com/HallBlazzar/myos&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/HallBlazzar/myos&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;PyPi - &lt;a href=&#34;https://pypi.org/project/lbhelper/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://pypi.org/project/lbhelper/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;image-customization-的解決方案&#34;&gt;&#xA;  Image Customization 的解決方案&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#image-customization-%e7%9a%84%e8%a7%a3%e6%b1%ba%e6%96%b9%e6%a1%88&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;如果你正試圖為幫你的桌機或筆電建構自訂的 Debian Images ，你可能會發現不容易找到合適的解決方案。通常一般使用者傾向於在首次開機後運行 Shell Scripts 或 &lt;a href=&#34;https://docs.ansible.com/projects/ansible/latest/playbook_guide/playbooks_intro.html&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Ansible playbooks&lt;/a&gt; 來直接設定系統。這種方式簡單直觀。但由於這些 Script 很少被執行而且需要手動執行，容易隨著 Package 或 Config 過期而失效。雖然直接使用 &lt;a href=&#34;https://penguins-eggs.net/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Penguin&amp;rsquo;s Egg&lt;/a&gt; 打包系統能夠直接獲得可以工作的 Image ，但由於遺漏了建構與變更 Package 或 Config 的過程，容易導致最終的 Image 往往難以重現（non-reproducible）。有些人可能會考慮 &lt;a href=&#34;https://fai-project.org/FAIme/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;FAI&lt;/a&gt;，但除了安裝套件之外，它提供的自訂功能有限。&lt;a href=&#34;https://developer.hashicorp.com/packer&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Packer&lt;/a&gt; 能讓結果便於重現，但由於依賴 VM 進行建構，導致執行的過程需要更長的時間以及更多系統資源。&lt;/p&gt;&#xA;&lt;p&gt;除了上述通用型工具（可用於多數 Linux Distribution ）外，&lt;a href=&#34;https://live-team.pages.debian.net/live-manual/html/live-manual/index.en.html&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Debian Live Build&lt;/a&gt; 則是專為 Debian 開發並由其社群維護的工具。除了官方的 Debian Images 外，也被用於基於 Debian 的發行版，例如 &lt;a href=&#34;https://www.kali.org/docs/development/live-build-a-custom-kali-iso/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Kali Linux&lt;/a&gt;。Live Build 支援基於檔案與 Script 的設定方式，可以建立如 Ansible 或 Packer 一樣建立結構化的設定檔，並且在 chroot 環境中運行（關於透過純 chroot 建構 Image，參見&lt;a href=&#34;https://dev.to/vaiolabs_io/how-to-create-custom-debian-based-iso-4g37&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;這篇文章&lt;/a&gt;）。此外，Live Build 支援建立 Live Image，可以在不需要直接安裝到目標機器或虛擬機的情況下，就能夠運作（甚至可以自訂 Live Images 的開機選單），使驗證最終的系統和發行你的 Images 更容易。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
