Debian
信息技術
廣義的Debian是指一個致力於創建自由操作系統的合作組織及其作品,由於Debian項目眾多內核分支中以Linux宏內核為主,而且 Debian開發者 所創建的操作系統中絕大部分基礎工具來自於GNU工程,因此“Debian”常指Debian GNU/Linux。
非官方內核分支還有隻支持x86的Debian GNU/Hurd(Hurd微內核),只支持amd64的Dyson(OpenSolaris混合內核)等。這些非官方分支都存在一些嚴重的問題,沒有實用性,比如Hurd微內核在技術上不成熟,而Dyson則基礎功能仍不完善。
“D徠ebian”正式發音為 /ˈdɛ.bi.ən/ ,Debian 是國際化協作項目,官方未指定任何非英文名稱。
Debian計劃是一個致力於創建一個自由操作系統的合作組織。我們所創建的這個操作系統名為Debian。
操作系統是使計算機運行的基本程序和工具的集合,其中最主要的部分稱為內核(kernel)。內核是計算機中最重要的程序,負責一切基本的調度工作,並讓您運行其他程序。
Debian系統目前採用Linux內核或者FreeBSD內核。Linux是一個最初由LinusTorvalds創建,目前由全球成千上萬的程序師共同維護的軟體。FreeBSD是一個包括內核和其它軟體的操作系統。
然而,讓Debian支持其他內核的工作也正在進行,最主要的就是Hurd。Hurd是一組在微內核(例如Mach)上運行的、提供各種不同功能的守護進程。Hurd是由GNU工程所設計的自由軟體。
官方所創建的這個操作系統中的大部分基本工具來自於GNU工程;因此我們把它們命名為GNU/Linux、GNU/kFreeBSD和GNU/Hurd。這些工具同樣都是自由的。
當然,人們真正需要的是應用軟體,也就是幫助他們完成工作的程序:從文檔編輯,到電子商務,到遊戲娛樂,到軟體開發。Debian帶來了超過51000個軟體包(為了能在您的機器上輕鬆地安裝,這些軟體包都已經被編譯包裝為一種方便的格式),一個軟體包管理器(APT),以及其他幫助您在上千台計算機上管理數千個軟體包的工具,過程就如安裝一個應用程序那麼簡單。而這些全都是自由軟體。
這有點像一個高塔:在最底層的是內核,在內核上面的是所有的基本工具,然後是所有您在計算機上運行的軟體。最後,在這個高塔頂端的就是Debian—把每件事情謹慎的組織和配合在一起,使得它們能夠在一起和諧地運作。
穩定性
這裡有許多運行多年的機器沒有重啟的案例。即便有的機器重啟,也是由於電源故障或硬體升級。和其它那些一天要崩潰多次的系統比較一下。
更快更容易的內存管理
其它操作系統也許在一兩個領域內速度夠快,但是基於 GNU/Linux 或 GNU/kFreeBSD 的 Debian 對硬體要求很低且很平均。在 GNU/Linux 下通過模擬器運行的 Windows 軟體比在其原生環境中運行的速度更快。
大多數的硬體驅動程序是 GNU/Linux 或 GNU/kFreeBSD 用戶們所寫的,而非廠商。
這可能意味著,對某些硬體的支持從無到有的過程之間會存在一些延遲。不過,在廠商停止生產或倒閉以後卻仍可以對硬體提供長時間的支持。經驗顯示,開放源碼的驅動程序通常比封閉式的好太多了。
良好的系統安全
Debian 以及自由軟體社區非常注意在軟體發布中快速地修復安全問題。通常沒幾天就會有修復過的軟體被上傳。因為開放源代碼,所以 Debian 的安全性會在開放的情況下被評估。而且其它自由軟體項目也有相同級別的考核系統,用於防止潛在的安全問題被引入到基本系統的重要位置。
安全軟體
許多人並不知道,任何機器都可以看到您在網路上發送 的任何信息。Debian 有著名的 GPG(和 PGP)軟體,允許郵件在用戶之間秘密地被發送。另外,ssh 允許您和其它安裝了 ssh 的機器 創建安全的連接。
Debian的發行及其軟體源有五個分支:舊穩定分支(oldstable)、穩定分支(stable)、測試分支(testing)、不穩定分支(unstable)、實驗分支(experimental)。
當前的穩定分支即Stretch(即下一個舊穩定分支),所有開發代號均出自Pixar的電影《玩具總動員》。
Debian GNU/Linux歷史版本一覽表 | |||
---|---|---|---|
版本號以及代號 | 發布日期 | 玩具總動員的對應角色 | 主要特點 |
0.01至0.91 | 1993年8月至1994年1月 | ||
0.93R5 | 1995年3月 | ||
0.93R6 | 1995年11月 | ||
1.1 Buzz | 1996年6月17日 | 巴斯光年 | 使用Linux內核2.0 |
1.2 Rex | 1996年12月12日 | 暴龍 | |
1.3 Bo | 1997年6月2日 | 放羊的女孩 | |
2.0 Hamm | 1998年7月24日 | 小豬撲滿 | |
2.1 Slink | 1999年3月9日 | 玩具狗 | APT問世 |
2.2 Potato | 2000年8月15日 | Potato Head先生 | |
3.0 Woody | 2002年7月19日 | 胡迪,電影主角之一的牛仔 | |
3.1 Sarge | 2005年6月6日 | 綠色塑膠玩具士兵的首領 | |
4.0 Etch | 2007年4月8日 | 玩具黑板 | |
5.0.0 Lenny | 2009年2月14日 | 望遠鏡 | |
6 squeeze | 2011年2月16日 | 三隻眼睛的綠色大嘴玩具外星人 | |
7 wheezy | 2013年5月4日 | 一隻帶著領結的玩具企鵝 | 加強MultiArch,穩定版本 |
8 Jessie | 2015年4月26日 | 玩具總動員第二部中的角色,是一個女牛仔 | 禁用了舊版不安全的SSLv3協議 默認使用 Systemd |
9 stretch | 2017年06月17日 | Debian | |
10 Buster | 2019年中期 | ||
11 Bullseye | Debian | ||
12 Bookworm | Debian | ||
9 Sid | 每日更新 | Debian 席德,隔壁的男孩,玩具終結者 | 軟體較新,適合桌面和軟體測試 |
一,APT以及dpkg常見用法如下:
功能 | |
---|---|
軟體源設置 | /etc/apt/sources.list |
更新軟體源數據 | apt-get update |
更新已安裝軟體 | apt-get upgrade |
更新系統版本 | apt-get dist-upgrade |
通過安裝包或卸載包來修復依賴錯誤 | apt-get -f install |
搜索軟體源數據 | apt-cache search foo |
解壓安裝軟體包 | apt-get install foo |
重新安裝軟體包 | apt-get --reinstall install foo |
刪除軟體包釋放的內容 | apt-get remove foo |
卸載軟體,同時清除該軟體配置文件 | apt-get --purge remove foo |
刪除不需要的包 | apt-get autoclean |
刪除所有已下載的包 | apt-get clean |
自動安裝編譯一軟體所需要的包 | apt-get build-dep foo |
APT——Advanced Package Tool |
功能 | |
---|---|
顯示DEB包信息 | dpkg -I xx.deb |
顯示DEB包文件列表 | dpkg -c xx.deb |
安裝DEB包 | dpkg -i xx.deb |
安裝DEB包(指定根目錄) | dpkg --root= |
顯示所有已安裝軟體 | dpkg -l |
顯示已安裝包信息 | dpkg -s foo |
顯示已安裝包文件列表 | dpkg -L foo |
卸載包 | dpkg -r foo |
卸載軟體包並刪除其配置文件 | dpkg -P foo |
重新配置已安裝程序 | dpkg-reconfigure foo |
dpkg——package manager for Debian |
從軟體源中編譯軟體流程(適用於少量代碼改動或者配置修改) | ||
---|---|---|
功能 | 具體語句 | 示例 |
獲取源碼 | apt-get source foo | apt-get source rox-filer |
安裝編譯依賴 | apt-get build-dep foo | apt-get build-dep rox-filer |
解壓源碼 | dpkg-source -x foo_version-revision.dsc | dpkg-source -x rox_2.11-3.dsc |
修改源碼部分 | nano ROX-Filer/src/main.c | |
創建包 | dpkg-buildpackage -rfakeroot -b | |
修改軟體可升級狀態 | echo -e "foo hold" | dpkg --set-selections |
如果你使用Debian軟體包管理器來管理Linux軟體,應該詳細了解Debian軟體倉庫的原理,這有助於使用Linux命令將讓你更容易管理Debian軟體。
Linux軟體包管理使用的Debian軟體庫,Debian提供了軟體包的安裝源。Debian管理器會自動查找庫和安裝Debian包的依賴關係。如果沒有Debian軟體庫管理系統,要解決這些Debian軟體包的依賴關係是一種煩惱。
按目前的Linux分佈情況,主要的Debian軟體庫管理系統是Debian的軟體庫管理系統,主要用於Debian、Ubuntu和其Linux衍生系統上,如Linux Mint;Debian軟體庫管理系統使用默認的Debian軟體包格式。Debian用.deb。這些Debian軟體包是將軟體和元數據壓縮和檔案。Debian元數據提供了有關軟體的版本信息,以及Debian軟體包的依賴關係。
但D徠ebian軟體包的資料庫與Debian軟體庫很容易混淆。雖然通過Debian軟體庫管理使這些Debian軟體包可以讓工作更簡單,但這些Debian軟體包同時有另一個資料庫。這意味著Debian軟體包的信息來源可以有多個:Debian包資料庫和Debian軟體庫資料庫。
Debian包資料庫是Debian軟體安裝了。在Linux系統里最重要的信息來源。Debian包資料庫從伺服器上檢索當前安裝的Debian軟體,Debian包文件通常是一個豐富的Debian文檔和Debian軟體使用的信息源,這對於Linux系統Debian軟體包之間的依賴關係非常有用。
在基於Debian的Linux伺服器,使用dpkg命令。例如,dpkg -L命令可以讀取Debian軟體包清單,或rpm -ql命令顯示哪些文件被包含在一個Debian軟體包。
在安裝新的Debian軟體或進行Debian軟體升級,系統管理員通常使用Debian軟體倉庫。尤其是更新Debian伺服器補丁的時候,Debian軟體倉庫會更方便:Debian軟體包管理器只需要更新新的軟體包,使Debian自動可用,Debian庫用戶便可以使用它們,這過程完全是透明的。
在基於Debian軟體倉庫的系統,Debian索引文件需要手動更新,使用Debian的apt-get update命令來更新本地機器上的Debian軟體包緩存。Debian包緩存更新完成後,便可以很容易的Debian安裝軟體包和更新。
Debian系統會自動比較了軟體倉庫的Debian安裝包和Debian安裝在本地系統的Debian軟體包列表,以確定一個Debian包已經安裝,或者是否有可用的Debian更新。
Debian軟體倉庫管理系統在處理Debian軟體包依賴關係非常好用:目前所有的Linux都提供了豐富的Debian資料庫,並提供必要的Debian依賴,這意味著Linux管理員對Debian軟體包的依賴恐懼大大減少了。
Debian軟體倉庫中沒有的軟體,意味著Debian安裝起來比較困難。管理員可以創建自己的Debian軟體庫和複製本地的Debian軟體包。這也讓管理員從庫安裝自定義Debian軟體包的時候,進一步減少Debian依賴問題。