摘自 GNU 系統概覽:
- GNU 系統是一套向上兼容 Unix 的完全自由的作業系統。GNU 代表「GNU's Not Unix」。它的發音是帶有 g 音的單音節。理察·斯托曼在 1983 年 9 月做出了 GNU 工程的初始聲明。接著在 1985 年 3 月又發表了更長的版本,叫做 GNU 宣言。它被翻譯成多種其他語言。
因為 GNU 自己的 Hurd 內核尚不成熟[1],GNU 一般使用 Linux 內核。Arch Linux 就是這類 GNU/Linux 發行版之一,使用了包括 Bash 終端、GNU 核心工具、GNU 工具鏈在內的各種工具和庫。此頁面只列出部分官方倉庫或 AUR 中存在的 GNU 軟體包,而不會列出所有的近 400 個軟體包。而且,Arch Linux(包括官方倉庫和 AUR)並沒有打包全部的 GNU 軟體。
提示:為了方便排序,本文列表使用各軟體包簡稱而非全稱。比如,GNU GRUB 會寫作 GRUB。
內核
- 由 Linus Torvalds 等人開發和發布的 Linux 內核包含非自由軟體,即不尊重你的基本自由的軟體,而且它還誘使你安裝額外的非自由軟體。即使據稱從 4.14 版開始將所有固件轉移到一個單獨的項目中,Torvalds 先生發布的 Linux 所謂「原始碼」仍然包含偽裝成原始碼的非自由固件。
- GNU Linux-libre 是一個維護和發布 100% 自由 Linux 發行版的項目,適合在自由系統中使用,刪除不含原始碼、原始碼被混淆或掩蓋、使用非自由軟體許可、不允許更改軟體使其按照你的意願運行、誘導或要求你安裝額外的非自由軟體的軟體。
GNU Linux-libre 可通過安裝 linux-libreCNRepo 或 linux-libreAUR 獲取。
為 Linux Libre 內核構建模塊的頭文件和腳本可通過 linux-libre-headersCNRepo 或 linux-libre-headersAUR 安裝。
Linux Libre 內核文檔通過安裝 linux-libre-docsCNRepo 或 linux-libre-docsAUR 獲取。
Texinfo
參見 GNU/文檔#Texinfo。
基本系統組件
- Bash — Bash 是一種與其他 shell 兼容的 shell,它合併了許多 korn shell(ksh)和 C shell(csh)的特性。
- 核心工具 — 核心工具提供了 GNU 系統最基本的文件、shell 和文本操作工具。
- https://www.gnu.org/software/coreutils/ || coreutils包、tar包、less包、findutils包、diffutils包、grep包、sed包、gawk包
- GRUB — GRUB 是 GNU 項目的引導程序。
- tar — tar 提供了創建和解壓 tar 壓縮包的功能,也提供一些其它功能。
工具鏈
大部分 GNU toolchain 中的工具都是 base-devel包 軟體包的依賴, 除了 glibc (base包 的依賴)和 GDB。
- Bison — GNU 通用解析器生成器。
- GCC — GNU 編譯器集合-C 和 C++ 前端。
- GDB — GNU 調試器。
- glibc — GNU 的 C 庫實現 library。
- https://www.gnu.org/software/libc/ || glibc包 (base包 的依賴)
- GNU m4 — GNU 宏處理器。
- make — GNU make 工具,用於維護程序組。
構建系統
來自維基百科:
- GNU 構建系統,也被叫做自動工具,是一套用來幫助讓源碼包能移植到類 Unix 系統的編程工具
- Autoconf — 用來自動設置源碼的工具。
- Automake — 自動創建 make 文件的工具。
- GNU Libtool — 支持腳本的通用庫。
其他軟體
注意:gnuplot包 不是 GNU 軟體。Gnuplot 既不是由 FSF 編寫,也不是由 FSF 維護。它曾一度由 FSF 發布,但現在已不再如此。整個 Gnuplot 不在 GNU 通用公共許可證 (GPL) 的覆蓋範圍內。
- a2ps — 一個 Any to PostScript 過濾器。
- acct — 監控進程活動的工具
- adns — 先進、易用、支持異步的 DNS 客戶端庫和工具。
- alive — 一個定期 ping 程序。
- Anastasis — 是一個自由軟體協議和實施方案,允許用戶將核心機密安全地存放在一組開放的託管服務提供商處,並在原始副本丟失時恢復這些機密。
- anubis — SMTP 消息提交守護進程。
- apl — 程式語言 APL 的自由解釋器。
- Archimedes — 半導體器件模擬。
- Artanis — 一個用 Guile Scheme 編寫的網絡應用程式框架(WAF)。
- Aspell — 拼寫檢查器。
- AUCTeX — 在 Emacs 中製作 TeX 文檔的集成環境。
- barcode — 將文本字符串轉換為列印條形碼的工具。
- bc — 一種任意精度計算器語言。
- c-graph — 展示工程系統和信號分析所依據的卷積理論。
- ccd2cue — 將 CloneCD 提示表(.ccd)轉換為兼容性較差的 CDRWIN 提示表(.cue)。
- ccRTP — IETF 的實時傳輸協議 RTP 的實現。
- Cflow — C 程序流分析器。
- Cgicc — 簡化 CGI 應用程式創建的 C++ 庫。
- Chess — 西洋棋前端引擎,在終端上與計算機下棋。
- Classpath — Sun 專有的核心 Java 類庫的自由替代。
- Clisp — ANSI Common Lisp 解釋器、編譯器和調試器。
- Complexity — 測量 C 代碼的複雜性。
- Cppi — GNU Cppi 對 C 預處理器指令進行縮進,以反映其嵌套情況,並進行其他規範化處理。
- CSSC — Unix SCCS 工具套件的克隆版。
- Cursynth — GNU ncurses 終端合成器。
- Datamash — 對輸入的文本數據文件執行基本的數字、文本和統計操作。
- DDD — 命令行調試器的圖形前端,如 GDB、JDB、ydb、perl 調試器...
- ddrescue — 一個數據恢復工具。
- DejaGnu — 測試其他程序的框架。
- Denemo — 樂譜編輯器。
- Dia — 基於 GTK+ 的圖表創建程序。
- Dico — GNU 詞典伺服器。
- Diction — 用於識別文章中的生詞和常見誤用短語。
- Direvent — 監控目錄事件(如創建、刪除或修改文件)的守護進程。
- Ed — 符合 POSIX 標準的行式文本編輯器。
- Emacs — 一款可擴展、可定製、自文檔化的文本編輯器。
- FreeFont — 免費的可縮放輪廓字體系列。
- gcal — 在終端中輸出日曆。
-
Ghostscript — PostScript 和 PDF 的解釋器。提供 gs(1) 命令行界面,另請參閱
/usr/share/doc/ghostscript/*/Use.htm
(在線閱讀),以及許多封裝腳本,如 ps2pdf 和 pdf2ps。
- GIMP — 一款圖片編輯器。
- GnuCash — 一個會計程序。
- GNU Go — 一個玩圍棋的自由軟體。
- GNU Guix — 一個獨立的軟體包管理器。
- https://guix.gnu.org/ || guixAUR 或 guix-installerAUR
- Gnumeric — 一款表格處理軟體。
- GnuPG — 一款 OpenPGP 實現。
- Hello — 列印 「Hello World」 等內容。
- Indent — 一款 C 語言代碼格式化工具。
- Jami — 一款分布式會議軟體。
- LilyPond — 一款基於文本輸入的制譜軟體。
- Mailman — 一款用來管理電子郵件討論和郵件列表的軟體。
- Midnight Commander — 一款雙窗格終端文件管理器。
- nano — 一個命令行文本編輯器。
- Ocrad — 一款OCR(光學字符識別)文字識別的實用程序和庫。
- Octave — 一種科學程式語言。
- Parted — 一個分區管理器。
- plotutils — 一套用於繪圖的工具和庫。
- Readline — 一個用於命令行界面的行編輯庫。
- Screen — 一個終端多路復用器。
- Stow — 在同一目錄樹中管理多個軟體的安裝。
- Units — 在不同單位之間進行轉換。
- Wget — 一款網絡下載工具。
- Zile — emacs 的輕量級克隆。
參見
- https://www.gnu.org/
- The GNU Manifesto
- Wikipedia:List of GNU packages
- GNU 軟體包基本信息
- Arch Hurd Project 致力於將 Arch Linux 移植到 Hurd 內核(目前維護不積極)。
- Mu Lei 所著《Hurd, seL4, thoughts》