這不是Linux,也不是BSD,它是:Hurd
因為沒有實體機運作紀錄,只能裝在虛擬機。
安裝版本:Debian GNU/Hurd 2026
實際測試下來這個系統非常不穩定。
1. GNU/Hurd系統簡介#
GNU/Hurd是一個自由開源的Unix-like作業系統。
首先你要知道的是,GNU/Hurd是一個獨立的作業系統,不是Unix,也不是Linux。不過因為本文用到了Debian的軟體,我還是把它放在Linux的文章分類之下。
對自由軟體運動的追隨者來說,GNU/Hurd系統可說是信徒們心中的聖杯。
1983年,Richard Stallman等人發起自由軟體運動,成立GNU計畫與FSF基金會,希望打造一個自由開源的GNU作業系統,目標是取代現有的Unix系統又保持向下相容性。作業系統核心選定當時相對先進的Mach進行開發,但是核心原始碼一直沒有釋出導致計畫推遲。所以開發團隊只好先完成GNU系統軟體,包括Shell和常用程式,以及GCC編譯器,但是重要的核心一直沒有著落。1990年,FSF宣佈Hurd核心開發工作開始,1996年推出第一個版本。HURD這個字是「HIRD of Unix Replacing Daemons」的遞迴縮寫。HIRD又是「Hurd of Interfaces Representing Depth」的縮寫。這個文字遊戲反應了Hurd核心的複雜特性。
但是Hurd核心的知名度卻輸給了Linux。1991年,Linus Torvalds發表Linux核心,當時Hurd的開發工作尚不明朗,另外一個著名開源作業系統BSD Unix又深陷與AT&T Unix的法律糾紛。因此Linux吸引許多開發者為其移植軟體,GNU系統軟體也被移植到了Linux,隨後形成了GNU/Linux的生態系,出現了許多GNU/Linux發行版,其中一些版本獲得了商業公司支持。在那之後,GNU/Linux便成為了自由軟體社群的主流開發平台。但是Hurd開發工作並沒有因為GNU/Linux崛起而停止,FSF一直維持專案運作,在那之後斷斷續續的進行開發。直到今天。
為什麼GNU/Hurd還要堅持開發下去呢?我覺得啦,雖然Linux是自由軟體,但對GNU計畫來說,Linux核心是外來者,無法受到FSF控制。而且Linux核心有自己的開發團隊,加上還在使用GPLv2沒有跟著GNU計畫的其他軟體一起更新到GPLv3,顯得不夠自由。因此GNU有自己專屬的作業系統核心才顯得有必要吧。
GNU/Hurd系統當初在自由軟體駭客圈子聲勢很高,連Linus Torvalds剛開始發表Linux核心的時候都稱自己的作品不會像GNU OS那樣專業 ( “I’m doing a free operating system just a hobby, won’t be big and professional like gnu for 386 AT clones.”) 。結果30年過去了,GNU/Linux大獲成功,GNU/Hurd止步不前,而且很多當時看來先進的設計在現代已經過時了。
根據一些網友的分析,專案失敗原因在於過度追求完美,他們想要設計一個全面超越Unix的核心,把架構弄得太複雜。還有專案缺乏明確發展方向與領導。因為去中心化的開發模式導致進度混亂,等到他們總算要開始認真做的時候,Linux已經超越GNU/Hurd很多了。
GNU/Hurd開發了30年,很長一段時間僅支援i386架構的處理器,直到2026年才開始支援amd64。可見其開發進度之緩慢。
論作業系統完成度,恐怕連FreeBSD都要比GNU/Hurd要高。對FSF的狂熱份子來說,GNU/Hurd是他們追求的聖杯。不過從實用面考量,要有一個實際可用的系統,還是只能屈就GNU/Linux。目前FSF官網推薦使用的自由作業系統,依然還是使用linux-libre核心的GNU/Linux為主。
從結構上來看,Hurd的設計跟Linux的整塊式核心截然不同。Hurd並非單一的核心,而是一個圍繞在GNU Mach微核心的一組伺服器程式,GNU Mach屬於微核心,只負責很小一部分的的底層操作工作,其餘操作由外圍的HURD servers完成,TCP/IP的驅動甚至可以跑在userland。GNU Mach基於Mach開發,以後見之明來看設計過時了,應該換成L4才對!但是現在的版本依然是使用GNU Mach。
只有Hurd核心並不足以構成作業系統,還要搭配GNU系統軟體,因此這個系統便可以稱之為GNU/Hurd。為了讓系統有更多軟體能用,1998年FSF成員建立了「Debian GNU/Hurd」這個專案,讓Debian的Linux軟體可以移植到GNU/Hurd系統。根據2019年的統計,Debian套件庫裡面的Linux軟體只有75%左右能在GNU/Hurd編譯。實際上還是缺很大,連Firefox瀏覽器都未能成功移植。
2015年,Guix套件管理器被移植到了GNU/Hurd,於是有了「Guix GNU/Hurd」這個專案。Guix是FSF成員自研的套件管理器,主打宣告式和可復現,讓系統方便部署與維護,可以想成是只收錄自由軟體的Nix。Guix屬於FSF旗下的專案,主要是在GNU/Linux系統使用。Guix作為FSF的官方項目,理應得到更多關照吧。因此目前Guix GNU/Hurd是除了Debian GNU/Hurd以外主要有在維護的GNU/Hurd發行版之一。
除了Guix GNU/Hurd外,還有Arch GNU/Hurd、Gentoo GNU/Hurd、Alpine GNU/Hurd等更瘋狂的專案。
但是!Guix GNU/Hurd可用套件比Debian更少,只有1%可用,而且Guix相較Debian套件之下更冷門,因此目前還是得用Debian GNU/Hurd比較好吧。
2. 取得Debian GNU/Hurd安裝檔#
目前Debian GNU/Hurd可以在Debian Ports官網取得,分為32位元(hurd-i386)與64位元(hurd-amd64)版本。32位元版本因為開發比較久,所以可用套件數量應該會略多於64位元。
目前的版本基於Debian Sid建置,使用Debian Ports的套件庫,有專門為GNU/Hurd系統建置的套件庫(hurd-amd64)
我下載的是amd64架構的Debian GNU/Hurd。
*.img是預先安裝好系統的虛擬磁碟映像檔。透過QEMU開機就能用。
netinstall.iso則是含有Debian安裝程式的映像檔,允許手動分區。
3. 安裝Debian GNU/Hurd系統#
目前Debian GNU/Hurd幾乎沒有實機安裝案例,硬體驅動支援度應該也很糟糕。所以只得使用虛擬機。我使用Virt Manager + QEMU/KVM虛擬機測試。
需要注意的是這個映像檔的GRUB尚不支援UEFI,需要用BIOS安裝
Debian GNU/Hurd的安裝過程跟一般Debian GNU/Linux差不多,依照GTK安裝器指示,一直下一步就好了。
但是我下載的20260314快照版,安裝器十分不穩定,隨時都會崩潰。因此後來我是用QEMU Preinstalled Image來測試系統的。
透過qemu-img resize調整虛擬磁碟大小。
然後建立QEMU開機指令。需要注意的是GNU/Hurd無法定址到2GB以上記憶體。
4. GNU/Hurd基本系統設定#
開機後應該會進入終端機,使用root帳號登入。
登入後修改密碼
passwd root- 編輯
/etc/ssh/sshd_config啟用PermitRootLogin yes,用SSH從Linux宿主機登入:
ssh -p 2222 root@127.0.0.1- 新增一般使用者,修改密碼
useradd -m -g users -G wheel,audio,video,storage -s /bin/bash user
passwd user5. 系統管理#
GNU/Hurd有自研的init系統,位於/hurd/init,可以用service指令管理系統服務。
Debian GNU/Hurd既然是Debian改的,那麼套件管理器當然就是APT了。
常用的GNU軟體都可以在Hurd找到,包含Glibc與GCC。
鑑於hurd-i386套件可能比hurd-amd64要多,可以在64位元的系統啟用32位元套件庫的支援以取得更多套件。
sudo dpkg --add-architecture hurd-i386
sudo apt update要安裝32位元版本的套件,只要在後面加上:hurd-i386後綴就行了 。例如,hurd-amd64套件庫有一個遠古版本的Firefox 45。
sudo apt install firefox:hurd-i3866. 安裝XFCE桌面#
GNU/Hurd支援不需要DRM的顯示卡驅動。
- 在虛擬機裡面,X.org X Server強制使用軟體渲染可行:
sudo apt install xorg
sudo dpkg-reconfigure x11-common xserver-xorg-legacy- 編輯
/etc/X11/xorg.conf,新增一個虛擬顯示器
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
Section "Screen"
Identifier "myScreen"
SubSection "Display"
Virtual 1024 768
EndSubSection
EndSection - 然後安裝XFCE桌面
sudo apt install lightdm xfce4 xfce4-goodies- LightDM好像沒辦法啟動,只得手動startx
echo "/usr/bin/startxfce4" >> ~/.xinitrc
startx- 關於瀏覽器嘛,Firefox和Chromium都沒有移植到GNU/Hurd,只得安裝w3m這類輕量瀏覽器:
sudo apt install w3m

