Slackware

GNU/Linux作業系統

SlackwareSlackware Linux, IncPatrick Volkerding英語Patrick Volkerding製作的Linux發行版本。Slackware走了一條與其他的發行版本(Red HatDebianGentooopenSUSEMandrivaUbuntu等)不同的道路,它力圖成為「UNIX風格」的Linux發行版本[2]。它的方針是只吸收穩定版本的應用程序,並且缺少其他Linux版本中那些為發行版本定製的配置工具。

Slackware Linux
開發者Patrick Volkerding英語Patrick Volkerding
作業系統家族Linux
運作狀態正在進行
源碼模式自由軟件
當前版本
  • 15.0(2022年2月2日;穩定版本)[1]
編輯維基數據鏈接
內核類別單內核Linux
默認用戶界面KDE Plasma桌面
許可證GPL
官方網站www.slackware.com

歷史和命名

編輯
 
Slackware吉祥物 -- 叼煙斗的Tux

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

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

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

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

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

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

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

發布版本

編輯
x86發布歷史
版本 日期
1.0 1993年7月16日
2.0 1994年7月2日
3.0 1995年11月30日
3.1 1996年6月3日
3.2 1997年2月17日
3.3 1997年6月11日
3.5 1998年6月9日
4.0 1999年5月17日
7.0 1999年10月25日
7.1 2000年6月22日
8.0 2001年7月1日
8.1 2002年6月18日
9.0 2003年3月19日
9.1 2003年9月26日
10.0 2004年6月23日
10.1 2005年2月2日
10.2 2005年9月14日
11.0 2006年10月2日
12.0 2007年7月2日
12.1 2008年5月2日
12.2 2008年12月11日
13.0 2009年8月28日
13.1 2010年5月24日
13.37 2011年4月27日
14.0 2012年9月28日
14.1 2013年11月4日
14.2 2016年7月1日
15.0 2022年2月2日

Slackware主要為x86 PC開發。然而曾經存在一些官方的移植,像針對DEC AlphaSPARC架構的。從2005年起,開始出現針對System/390架構的官方移植。同時也存在一些非官方的移植:ARMDEC 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、最新版本的FirefoxThunderbirdglibc-2.23、gcc-5.3.0以及其它常用軟件。

Slackware的測試/開發版本稱為 -current,這是為了可以使用更多超前的配置。

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

設計理念

編輯

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初始化[6]兼容在7.0版本之後被引入了Slackware中。

軟體套件管理

編輯

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

包都經過xz壓縮和tarball打包,但文件擴展名是.txz,而不是.tar.xz。他們的結構是這樣的:當在根目錄下解壓縮和釋放,其中的文件會放置於它們的安裝位置。因此可以不使用Slackware的包工具來安裝包,而僅僅使用tarxz命令,如果包中有doinst.sh腳本,一定要運行它。

相對的,Red HatRPMCpio檔案,Debian.deb文件是ar檔案。他們都包括一些依賴關係的信息,包管理器工具可以使用這些信息來尋找和安裝先決條件。他們在先決條件滿足前是不會安裝新包的(雖然可以強制進行)。

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

自動依賴的解決方案

編輯

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

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

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

參考資料

編輯
  1. ^ Slackware 15.0 release notes. 2022年2月2日 (英語). 
  2. ^ The Slackware Philosophy頁面存檔備份,存於網際網路檔案館), Slackware Project
  3. ^ Slackware 1.0 Release Announcement頁面存檔備份,存於網際網路檔案館), Slackware Project
  4. ^ Why the jump from 4 to 7頁面存檔備份,存於網際網路檔案館), Slackware FAQ
  5. ^ Slackware's Pat needs your help頁面存檔備份,存於網際網路檔案館), OS News
  6. ^ Slackware's init頁面存檔備份,存於網際網路檔案館), Peter Kaagman

參見

編輯

外部連結

編輯