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.911993年8月至1994年1月
0.93R51995年3月
0.93R61995年11月
1.1 Buzz1996年6月17日巴斯光年使用Linux內核2.0
1.2 Rex1996年12月12日暴龍
1.3 Bo1997年6月2日放羊的女孩
2.0 Hamm1998年7月24日小豬撲滿
2.1 Slink1999年3月9日玩具狗APT問世
2.2 Potato2000年8月15日Potato Head先生
3.0 Woody2002年7月19日胡迪,電影主角之一的牛仔
3.1 Sarge2005年6月6日綠色塑膠玩具士兵的首領
4.0 Etch2007年4月8日玩具黑板
5.0.0 Lenny2009年2月14日望遠鏡
6 squeeze2011年2月16日三隻眼睛的綠色大嘴玩具外星人
7 wheezy2013年5月4日一隻帶著領結的玩具企鵝加強MultiArch,穩定版本
8 Jessie2015年4月26日玩具總動員第二部中的角色,是一個女牛仔
禁用了舊版不安全的SSLv3協議
默認使用 Systemd
9 stretch2017年06月17日
Debian
Debian
10 Buster2019年中期
11 Bullseye
Debian
Debian
12 Bookworm
Debian
Debian
9 Sid每日更新
Debian
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= -i xx.deb
顯示所有已安裝軟體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 fooapt-get source rox-filer
安裝編譯依賴apt-get build-dep fooapt-get build-dep rox-filer
解壓源碼dpkg-source -x foo_version-revision.dscdpkg-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依賴問題。