Slackware

**Slackware** 是 **Slackware Linux, Inc** 的 Patrick Volkerding 製作的 Linux 發行版本。Slackware 走了一條與其他的發行版本（Red Hat、Debian、Gentoo、openSUSE、Mandriva、Ubuntu 等）不同的道路，它力圖成為「UNIX 風格」的 Linux 發行版本。它的方針是只吸收穩定版本的應用程式，並且缺少其他 Linux 版本中那些為發行版本客製化的組態工具。

## 歷史和命名

第一個 Slackware 的版本 1.00 在 1993 年 7 月 16 日由創立者和開發領導者 Patrick Volkerding 發布，。 它是基於 SLS Linux 並以 3½" 軟碟為鏡像在匿名 FTP 上發行。Slackware 是現存最古老的 Linux 發行版本，在 2003 年度過了它的十周年紀念。

「Slackware」這個名字借用自《大教堂和市集》（The Cathedral and the Bazaar）中的術語「Slack」。

在早期的發布版本中，發行版本帶有三個使用者帳號："satan", "gonzo" 和 "snake"。它們是作為範例被提供，但是後來的版本中去除了這些帳號，因為它們有潛在的安全漏洞。

在 1999 年，Slackware 的發布版本號從 4 一下子跨越到了 7。Patrick Volkerding 作出解釋：這是出於市場推廣的考慮，為了告訴人們 Slackware 和別的 Linux 發行版本一樣「新」（up-to-date），當時許多其他發行版本的版本號為 6。

在 2004 年，Patrick Volkerding 得了嚴重的疾病，Slackware 一下前途未卜。在他痊癒後很快恢復了 Slackware 的開發。

在 2005 年，GNOME 桌面環境被從待發布的版本中刪除，移交給了社群進行支援。GNOME 的刪除被 Linux 社群中的一些人認為是一個警訊，因為 GNOME 在各種 Linux 發行版本中都可以找到，一些由社群建立的支援計畫也因此誕生。

貫穿 Slackware 的歷史，出現一些在 Slackware 基礎上製作的發行版本和 LiveCD。一些流行的發行版本就起源於 Slackware，包括 SUSE Linux Enterprise，College Linux 和 Slax。

## 發布版本

Slackware 主要為 x86 PC 開發。然而曾經存在一些官方的移植，像針對 DEC Alpha 和 SPARC 架構的。從 2005 年起，開始出現針對 System/390 架構的官方移植。同時也存在一些非官方的移植：ARM、DEC Alpha、SPARC 和 PowerPC。

Slackware 針對 x86 的最新穩定發布版本是 14.2（2016 年 7 月 1 日），其中包括了 4.4.14 版本核心、以及 KDE SC 4.14.32（內有 Amarok2.8.0 媒體播放器）、XFCE 4.12.1、最新版本的 Firefox 和 Thunderbird、glibc-2.23、gcc-5.3.0 以及其它常用軟體。

Slackware 的測試／開發版本稱為 -current，這是為了可以使用更多超前的組態。

Slackware 13.0，官方首次提供 64 位元的版本下載。

## 設計理念

### KISS

KISS，代表 **「保持簡潔，傻瓜」** （_Keep it Simple, Stupid_），是一個可以解釋很多 Slackware 中設計選擇的概念。在這個文字中， **「簡潔」** （_simple_）指系統設計的觀點，而不是指易用性。這也是為什麼這個系統中只有極少數使用 GUI 的組態工具。GUI 工具（按照這理論所說）過於複雜，比起命令列工具來會引入更多的問題。這種原則導致的最終結果是 Slackware 以不友好的代價換取了系統非常快速、穩定和安全的特性。Slackware 並不包含類似於 service、chkconfig 一類的用於代替使用者修改系統組態的多餘軟體，它將系統「真實」的一面毫不隱藏的呈現給使用者，讓人們看到「真正的」Linux。批評的觀點一般集中於它讓很多事做起來太費時而且難以學習。支持者回應到在這種靈活和透明的系統中操作得到的經驗比起在那些遮掩內部細節的系統中要多得多。

### 啟動指令碼

Slackware 使用 BSD 風格的初始化指令碼，其他的 Linux 發行版本大多使用 System V 風格的初始化指令碼。基本上 System V 風格的每個執行級都是存放初始化指令碼的子目錄，而 BSD 風格僅為每個執行級提供一個指令碼。BSD 風格的擁護者認為這樣更佳，因為系統可以更容易找到，讀取，編輯，和維護指令碼。System V 的擁護者認為 System V 的結構強大和靈活。

System V 初始化相容在 7.0 版本之後被引入了 Slackware 中。

### 軟體套件管理

Slackware 的軟體套件管理系統很獨特。它的軟體套件管理系統和別的發行版本一樣可以很容易的安裝、升級、移除包。但是它不會試著去追蹤或者管理涉及哪些依賴關係（也就是保證系統擁有所有的安裝套件內的程式需要的系統庫）。如果所需要的先決條件不能滿足，在程式執行之前不會有提醒和指示。

包都經過 gzip 壓縮和 tarball 打包，但副檔名是.tgz，而不是.tar.gz。他們的結構是這樣的：當在根目錄下解壓縮和釋放，其中的檔案會放置於它們的安裝位置。因此可以不使用 Slackware 的包工具來安裝套件，而僅僅使用 tar 和 gzip 命令，如果包中有 doinst.sh 指令碼，一定要執行它。

相對的，Red Hat 的 RPM 是 Cpio 檔案，Debian 的.deb 檔案是 ar 檔案。他們都包括一些依賴關係的資訊，包管理器工具可以使用這些資訊來尋找和安裝先決條件。他們在先決條件滿足前是不會安裝新包的（雖然可以強制進行）。

關於追蹤或者無視依賴關係孰優孰劣的爭論並不很熱鬧，這多少讓人想起了持續甚久的 "vi 對 Emacs" 的「宗教戰爭」。Slackware 解決問題的方法被技巧熟練的使用者群很好的接受了。

#### 自動依賴的解決方案

由於 Slackware 本身不引進解決依賴關係並自動下載安裝的工具，一些業已存在的第三方軟體工具可以為它提供這方面的功能，就像 APT 為 Debian 所作的那樣。

一些工具分析已安裝的包以決定依賴關係，決定需要什麼庫檔案，然後尋找什麼包提供這些庫檔案。這些自動處理很費時，比起 APT 的手動調整方法原始的多。然而它提供了一個令人滿意的解決。

* Swaret（頁面存檔備份，存於網際網路檔案館）
* slapt-get（頁面存檔備份，存於網際網路檔案館）
* SlackUpdate
* Emerde
* slackpkg（頁面存檔備份，存於網際網路檔案館）

Slackware 9.1 在第二張 CD 上提供了作為補充的 Swaret，但是並不預設安裝它。自 Slackware 10.0 之後，Swaret 被從發行版本中刪除但作為第三方的包仍然可用。

slackpkg 自 Slackware 9.1 開始包含在／extra 中。

slapt-get 並不提供依賴關係的解決。它只是提供解決依賴關係的框架，用以處理一些流行的類似 APT 的 Slackware 相容包。一些 Slackware 衍生版本利用了這些功能的優點。

## 網際網路社群

Slackware 是很多現今不那麼流行的論壇的討論主題，例如 Usenet 新聞群組 _alt.os.linux.slackware_ 以及 irc.freenode.net 上的 IRC 頻道_#slackware_。

## 參考資料

## 參見

* Linux 發行版列表
* Linux 發行版比較

## 外部連結

* Slackware website（頁面存檔備份，存於網際網路檔案館）
* The Revised Slackware Book Project
* The Slackware Linux Basics book
* Slackware 在 DistroWatch 上的頁面
* The Slack World (Magazine)
* Unofficial History of Slackware releases
* Interview with Slackware founder Patrick Volkerding（頁面存檔備份，存於網際網路檔案館）
* CRUX ports for Slackware (not official)（頁面存檔備份，存於網際網路檔案館）
* 開放式目錄計劃中和 Slackware 相關的內容
* Splack（頁面存檔備份，存於網際網路檔案館）（Slackware For SPARC）
* Slackintosh（頁面存檔備份，存於網際網路檔案館）
* Slackware ARM