資訊技術

論自架郵件服務的務實性,與維護經驗回顧

前陣子先後讀到兩篇關於自架郵件服務的感想文章,看完後感觸蠻多的。當年 DR 在開始接觸 Linux 時,一個令人印象深刻之處,就是 Linux 可以用來架設許多服務。然而其中關於郵件服務這一塊,在瞭解其組成與各樣條件後,DR 很早就覺得這是個沒事不要自己架的東西。個人就用免費郵件服務,中小企業或機構需求則購買郵件代管,會省事很多。

 

Chris Siebenmann 是任職於多倫多大學的 Unix 系統工程師,在他所寫的文章《Running your own email is increasingly an artisanal choice, not a practical one》裡,Siebenmann 客觀地描述,儘管他至今依然在維運著自行架設的校園郵件服務,而這樣的作法雖然擁有高自訂性,以及獨立自主的優勢;但對比大型廠商所能夠輕而易舉達到的服務品質,已經不是一個很務實的選擇。

 

分類: 

記憶體消耗測試腳本

故事的起頭是這樣的,話說 DR 手邊有一項任務需要處理大量的表格資料,為此便寫了一支 Python 程式。然而這支程式的資料迭代過程有一項設計缺失,會導致已經處理完並存檔的資料,仍持續累積在記憶體裡,造成程式的記憶體佔用量持續升高。當 DR 隨意地用 htop 查看系統資源時,才赫然發現若按照這個累積速度,恐怕二號機上的 16GB 記憶體會被整個吃光。但當下又不太想讓它重跑,於是就硬著頭皮看著它跑完。果不其然,在整個執行過程中,系統記憶體一度接近耗盡,連 swap 都用上了。

 

程式沒寫好雖然尷尬,然而轉念一想,若寫一支能夠刻意把記憶體吃光的程式,似乎對於某些情境是有意義的,像是用於測試系統高負載情形及設備可靠性等等。於是順手另外再寫了一支腳本程式(mem_consume_test.py),來專門實現記憶體的消耗。這支腳本係針對 Linux 平台設計,對於記憶體使用量的監控是從 /proc/meminfo 中的數值計算而成。

 

分類: 

CentOS Stream 8 一年後使用心得

由於 Red Hat 提早結束了 CentOS 8 的生命週期,並且讓 CentOS 這個品牌從 RHEL 的免費版本,轉型成為 RHEL 的上游開發版本,也就是 CentOS Stream。使得原本許多 CentOS 的使用者,必然會需要思考合適的替代方案。雖然人們似乎會自然地關注諸如 AlmaLinuxRocky Linux 這些比照原本 CentOS 模式,從 RHEL 原始碼重新編譯而成的發行版本。然而說實在話,DR 並不認為需要就此將 CentOS Stream 從可行的選擇清單中剔除。因此在過去一年多的時間裡,DR 在工作環境裡建置了幾部 CentOS Stream 8 主機,而本文即是維運至今的一些感想。

 

分類: 

Who is the target user?

KDE 專案的開發者 Nate Graham 所發表的一篇文章《Who is the target user?》,內容以桌上角色扮演遊戲《吸血鬼之避世潛藏》(Vampire: The Masquerade)的技能點作為引言,來探討在軟體開發領域中,如何根據使用者的技能等級來進行分類。並藉此分析目標群體,以便找出合適的軟體設計。在該遊戲裡,電腦(Computers)技能按點數多寡,從 1 到 5 可分為以下五種等級:

  1. 學生(Student):懂得點選操作。
  2. 大學(College):能夠處理簡易資料。
  3. 大師(Master):具備軟體設計能力。
  4. 博士(Doctorate):可受聘為顧問,舒服度日。
  5. 學者(Scholar):總是走在科技前沿。

 

分類: 

Flatpak Is Not the Future

眾所周知,有別於 Windows 及 macOS 系統,主要是使用個別的安裝程式來執行軟體安裝動作。Linux 作業系統通常是利用發行版所提供的套件管理工具,例如 apt、yum 及 dnf 等等,從設定好的套件庫來源中下載及安裝軟體套件。當然某些情況下也會存在獨立的安裝程式,不過其具體的實作並沒有統一的標準,可能很粗略,也可能做得很精密。除此之外,也是有針對特定領域、並且是使用者層級的管理工具,比方說 Wine 相容層可以用於安裝及管理 Windows 應用程式;以及 Steam 遊戲平台則是用於安裝及管理遊戲程式。

 

分類: 

01/13/2022 Firefox 當機事件回顧

如文章標題所示,這其實是發生在好段時間前的事了,但直到最近,腦袋才比較有空可以認真看一下相關的細節。話說在 1 月 13 日當天下午,包含 DR 自己、以及公司內其他少數有在使用 Firefox 瀏覽器的同事,都發現網頁突然皆無法開啟。除此之外瀏覽器也無法正常關閉,只能從背景殺掉。但殺掉重啟後狀況依舊,開啟網頁都卡住不動,而同時間其它瀏覽器都是正常的。

 

雖然 DR 個人蠻期望 Firefox 能夠擁有更多的使用者,但諷刺地,正是因為公司內 Firefox 使用者不多,不然這真的會是大事件。而網路上當然也是有哀號聲,於是循線找了一下(1749908 - Infinite loop in HTTP3 hangs socket thread),發現若透過 about:config,停用 network.http.http3.enabled 參數,也就是將 HTTP/3 通訊協定停用,則 Firefox 便能夠恢復正常。

 

分類: 

Pentium on a 386 motherboard

Dependency Injection 網站上有著許多關於早期 PC 硬體的文章,其中有一篇《Pentium on a 386 motherboard》更是特別,是嘗試將一顆 Pentium Overdrive CPU,安裝到理應不相容的 386 主機板上。原來儘管兩者有著不同的針腳數目,但 Pentium Overdrive 多出來的針腳似乎不致影響系統的基本運作。於是作者先在 CPU 上銜接一個 PGA169 插座,來略過那些多餘的針腳,再將 CPU 安裝到主機板上。然後就成功開機,進入到 DOS 作業系統了……

 

分類: 

ddrescue 磁碟對拷腳本

可能先前多少曾提及過,ddrescue 這款磁碟救援工具已是 DR 最主要的磁碟複製方案。基本上無論磁碟好壞,DR 預設都是使用這支工具來做複製。這樣做的好處,是即便中途發生非預期的讀取失敗,也無須中斷重來。而且能夠將錯誤區域註記下來,後續便可再針對錯誤區域重試,或者做其它的處置。

 

去年為公司的舊電腦規劃了中期延壽計畫,雖然其中有許多電腦大概都用了超過 10 年。但其實只要將 HDD 換成 SSD,就能夠獲得顯著的效能改善,足敷日常任務所需。因此便經常使用 ddrescue,將舊 HDD 的資料原封不動地對拷到新的 SSD 上。倘若新的磁碟較大,則對拷後便會再用其它工具(如 GParted 等),做分割區大小的調整。

 

分類: 

How Linux and open-source software took the computing world by storm

來自 Flux 網站的播客文本《How Linux and open-source software took the computing world by storm》,內容是與 Miguel de Icaza 的訪談。Miguel de Icaza 是 Midnight Commander 檔案管理員的原作者,也是 GNOME 專案的創始人之一。

分類: 

Every version of Windows, ranked from worst to best

伴隨著 Windows 11 的發佈,似乎不可免俗地,開始會有媒體回顧過去 Windows 的各個版本。前陣子 PC Gamer 網站有一篇文章《Every version of Windows, ranked from worst to best》,內容簡單評比了 Windows 的過往版本。由於係針對桌面電腦領域,因此諸如 Windows Server、Windows Embedded 及 Windows Phone 等,並不在討論的範疇內。而其中唯一的例外,大概是 Windows 2000 這款同時跨足桌面及伺服器領域的作業系統。

 

分類: 

頁面

Subscribe to RSS - 資訊技術