Kali基於debian系統軟件源source.list文件格式說明

    **在使用kali的過程中,爲了保證系統工具的有效的特性,我們會選擇更改kali linux的軟件更新源地址,默認情況下自帶的國外的更新源地址會有一定的延遲,下面來看看關於kali中使用的source.list文件中的更新源地址的格式:**  

中科大 Kali 源:
deb http://mirrors.ustc.edu.cn/kali kali main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali main non-free contrib
deb http://mirrors.ustc.edu.cn/kali-security kali/updates main contrib non-free

網易debian源:
deb http://mirrors.163.com/debian/ wheezy main non-free contrib
deb http://mirrors.163.com/debian/ wheezy-proposed-updates main non-free contrib
deb-src http://mirrors.163.com/debian/ wheezy main non-free contrib
deb-src http://mirrors.163.com/debian/ wheezy-proposed-updates main non-free contrib
在source.list中的每行源地址中,其實都可以分爲四個部分來看待,當你每次在線安裝軟件時,debian都是按照給定的這四個選項來查找到軟件位置並且給你安裝(具體應該查看後面的三項)。
格式:
【deb/deb-src】 【ftp/http‘源地址’及所在文件夾】 【版本代號‘穩定/測試/不穩定’】 【限定詞‘軟件的規範及形式’】
第一部分**
第一部分爲deb或者deb-src,其中前者代表軟件的位置,後者代表軟件的源代碼的位置。

第二部分**
第二部分爲你的ftp鏡像的url,或者是http形式的鏡像地址,本次使用網易鏡像爲例:http://mirrors.163.com/debian/此爲網易開源鏡像站,可選擇進入debian站點目錄下。
網易開源鏡像站在這裏插入圖片描述
網易debian站點目錄
基本目錄:
/dists/ 目錄包含"發行版"(distributions), 此處是獲得 Debian 發佈版本(releases)和已發佈版本(pre-releases)的軟件包的正規途徑. 有些舊軟件包及 packages.gz 文件仍在裏面.
/pool/ 目錄爲軟件包的物理地址. 軟件包均放進一個巨大的 “池子(pool)”, 按照源碼包名稱分類存放. 爲了方便管理, pool 目錄下按屬性再分類(“main”, “contrib” 和 “non-free”), 分類下面再按源碼包名稱的首字母歸檔. 這些目錄包含的文件有: 運行於各種系統架構的二進制軟件包, 生成這些二進制軟件包的源碼包.你可以執行命令 apt-cache showsrc mypackagename, 查看 ‘Directory:’ 行獲知每個軟件包的存放位置.
例如: apache 軟件包存放在 pool/main/a/apache/ 目錄中.另外, 由於lib*軟件包數量巨大, 它們以特殊的方式歸檔: 例如, libpaper 軟件包存放在 pool/main/libp/libpaper/.

其他目錄:
/tools/:用於創建啓動盤, 磁盤分區, 壓縮/解壓文件, 啓動 Linux 的 DOS 下的小工.
/doc/:基本的 Debian 文檔, 如 FAQ, 錯誤報告系統指導等…
/indices/:維護人員文件和重載文件.
/project/:大部分爲開發人員的資源, 如: project/experimental/ 本目錄包含了處於開發中的軟件包和工具, 它們均處於 alpha 測試階段. 用戶不應使用這些軟件, 因爲即使是經驗豐富的用戶也會被搞得一團糟.)

第三部分**
第三部分表示你的debian版本號(注意,不是某個軟件的版本號,而是debian本身的版本號),也有人稱這是對debian軟件包的一種水平劃分,具體這一項的書寫方式,可以參照http://mirrors.163.com/debian/dists/網頁裏面的內容(如下圖),大致來說按版本的舊–>新程度有這麼幾大類:oldstable,stable,testing,sid。一般版本號處於dists目錄下:
版本目錄描述
1.oldstable顧名思義,就是以前的穩定發行版了,在本例中oldstable就是Debian6.0.8目錄的一個鏈接,兩者內容完全一致。
2.stable是指現在的穩定發行版,對於每個debian來說,每個穩定發行版都會有一個代號,如debian 6叫做squeeze,debian 7叫做wheezy,由於在筆者寫本文的時候穩定版是debian7,所以stable就是wheezy的一個鏈接。
3.testing指目前還暫時處於測試階段的debian發行版,如wheezy往下發展就是jessie了,所以testing代指的就是jessie目錄,它是jessie的一個鏈接。
4.unstable那就是不穩定版本了,但在這個目錄清單裏我們並沒有看到unstable目錄,其實它還有一個代號:sid,我們知道debian的發行版本名稱大都來自玩具總動員中的角色名稱,而sid就是那個專門破壞玩具的鄰居家壞小孩,所以就把unstable這個不穩定的軟件目錄起名爲sid了,這裏面的軟件一般都是最新的,穩定性、安全穩定值得商榷,如果你想做試驗小白鼠,大可使用這裏的軟件。經過一段時間的測試,這裏面的軟件可能會進入下一個階段testing目錄從而出現在下一個debian發行版中,要麼就夭折被直接拋棄。

第四部分
查看目錄內容(以stable目錄爲例)
stable目錄內容
其實我們會發現每個目錄都會包括contrib、main、non-free等幾個目錄,那麼這些目錄又分別有什麼作用呢?
以垂直的觀點來看 Debian 軟件的分佈:main、contrib、non-free、non-us
因爲 Debian 是非營利組織,但是組織架構嚴謹,有一套完善的軟件管理方式。基於其對軟件 free 度的一種堅持,對不同版權軟件包的錄入有一些限定。
下面是對它們的一些簡要介紹:
main Debian 裏最基本及主要且符合自由軟件規範的軟件 ( packages )。
contrib 這裏頭軟件雖然可以在 Debian 裏頭運作,即使本身屬於自由軟件但多半卻是相依於非自由 ( non-free ) 軟件。
non-free 不屬於自由軟件範疇的軟件。
non-us 這個分類裏頭的軟件都來自非美國地區,當中可能有牽扯到專利、加密…等等問題。
marillat 對應 Christian Marillat 的軟件倉庫,包括mplayer, transcode等。
rareware 對應 rarewares.org 的軟件倉庫, 包括很多音效程序,如lame, musepack, beep media player等。
ustc 對應 debian@ustc 維護的一些軟件包,如 mule-gbk, gaim-openq, scim, stardict dicts, patched xpdf, irssi, xmms。
java 對應 Blackdown java。包括 j2re, j2sdk ,mozilla java plugin。
firefly 對應打過firefly補丁的包,包括 fontconfig mozilla mozilla-firefox pango1.0 qt-x11-free xft
misc 對應其它無分類的包,包括 nvidia-kernel, winex3, rox, chmsee等

源的混用
一般不建議混用 stable, testing 和 unstable 的源。因爲很多軟件之間都有不同程度的相依性,強行的結果會造成更多軟件相依、相斥問題的產生,最終可能影響系統穩定與整個軟件升級制度的正常運作。
需要把源從低級升到高級是非常簡單的,只要修改 sources.list 裏的源就好了。但反過來,降級是一種幾乎不可能的任務…如果你使用的是高版本的debian,而在source.list文件中配置的是低版本,那麼當你在線安裝軟件的時候很可能會發現有很多軟件依賴問題無法解決,當出現這些問題的時候,就要想到是否要修改下source.list文件中的版本問題了

按需修改自己的sources.list
Debian 有自己獨特的版本系統,整個系統有三個版本,分別爲穩定版(stable),測試版(testing)和不穩定版(unstable/sid)。每次發佈的版本都是穩定版,而測試版在經過一段時間的測試證明沒有問題後會成爲新的穩定。因爲穩定版是會更新的,爲了便於區分不同時期的穩定版,每個版本又有自己特有的代號(codename),現在的穩定版稱爲 wheezy(debian7),測試版稱爲jessie。而不穩定版的代號永遠是 sid。
sources.list的寫法
1)找到包含dists和pool這兩個目錄的那個源鏡像大目錄,把地址記下來,比如http://mirrors.163.com/debian/;
2)打開dists,裏面包含的目錄名字,記下來。比如http://mirrors.163.com/debian/,打開dists/會包含wheezy、testing等。把這些目錄名字記下來。
3)打開pool目錄,看看裏面包含哪些組件目錄,比如main、contrib、non-free;
4)書寫格式:deb <1記下來的地址> <2記下來的目錄名> <3記下來的名字>, 如:deb http://mirrors.163.com/debian wheezy man contrib non-free

更新軟件包列表信息,升級debian
修改 /etc/apt/sources.list 之後一般會運行下面兩個命令進行更新升級:
sudo apt-get update
sudo apt-get dist-upgrade
其中 :
update - 取回更新的軟件包列表信息
dist-upgrade - 發佈版升級
第一個命令僅僅更新的軟件包列表信息,會很快就能完成。
第二個命令是全面更新發布版,一般會下載幾百兆的新軟件包。
其實在運行完第一個命令後系統就會提示你進行更新升級。因爲修改了源,所有這次更新的改動可能會很大,比如安裝某個包可能會刪除太多的其他包,所有系統會提示你運行“sudo apt-get dist-upgrade”進行全面升級或使用軟件包管理器中的“標記全部軟件包以便升級”功能進行升級。兩者效果是一樣的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章