已閱讀5頁,還剩218頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
此文檔收集于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系網(wǎng)站刪除本書Ubuntu 參考手冊(cè)的目的是對(duì)整個(gè) Ubuntu 系統(tǒng)作一個(gè)全面的介紹,提供一本“安裝之后的”用戶使用手冊(cè)。本手冊(cè)的讀者應(yīng)該愿意閱讀 shell 腳本(scripts)。我也假定讀者在閱讀之前已經(jīng)具備了類 Unix 系統(tǒng)的基本操作技能。 我決定不在本書中解釋所有的細(xì)節(jié),因?yàn)槟憧梢栽?manual 頁、info 頁或 HOWTO 文檔中獲得這些信息。我希望能給讀者提供實(shí)用的信息,而非全面的解釋。因此我會(huì)在正文中給出實(shí)際的命令序列,或是在 examples/ 給出腳本示例作為參考。在按照這些示例下達(dá)命令之前,你必須要先理解其內(nèi)容的含義。實(shí)際的命令序列可能會(huì)依你的系統(tǒng)的具體情況而有細(xì)微的差別。 書中的很多信息實(shí)際上是對(duì)在 參考資料, 第 15.1 節(jié) 中列出的眾多權(quán)威參考文獻(xiàn)的引用和提示。 本書最初是作為一本“快速參考手冊(cè)”來寫的,但是現(xiàn)在增加了很多內(nèi)容。盡管如此,保持文字簡短緊湊(keep it short and simple, KISS)是我的指導(dǎo)思想。 如果你是在尋找緊急情況下系統(tǒng)維護(hù)方面的幫助,請(qǐng)直接閱讀 Ubuntu 生存命令, 第 6.3 節(jié)。 目錄編輯 官方文檔 本書的最新官方版本可在 /UbuntuManual/ 訪問到。 編輯 文檔約定 文中許多信息通過簡短的 bash 命令給出,以下是其排版格式約定: # command in root account root用戶命令$ command in user account 普通用戶命令. description of action 命令動(dòng)作描述這些 shell 命令的例子使用 PS2= 。 更多信息參見 Bash GNU標(biāo)準(zhǔn)交互式shell, 第 13.2.1 節(jié)。 參考: bash(1) 表示 Unix 風(fēng)格 manual 頁。 info libc 表示 GNU TEXINFO 信息。 The C Programming Language 表示參考書目。 /doc/manuals/debian-reference/ 表示 URL。 /usr/share/doc/Debian/reference/ 表示系統(tǒng)的文件。 文中用到了下列縮寫: LDP: Linux Documentation Project (/) DDP: Debian Documentation Project (/doc/) 本文中的其它縮寫會(huì)在使用前定義。 文中只提供了 LDP 文檔的 URL,然而,LDP 文檔已經(jīng)被 Ubuntu 打包。 當(dāng)這些包被安裝后,LDP 文檔會(huì)在 /usr/share/doc/HOWTO/ 里。 參閱 參考資料, 第 15.1 節(jié)。 編輯 腳本樣例 本文檔的 腳本樣例 需要通過網(wǎng)頁訪問下載。 編輯 基本設(shè)置 如果你的系統(tǒng)是最小安裝,但你希望充分使用本文檔, 請(qǐng)執(zhí)行下面的命令來安裝其它軟件包,這些軟件包含有一些有用的文檔。 # apt-get install info man-db doc-base dhelp apt apt-utils auto-apt dpkg less mc ssh nano-tiny elvis-tiny vim sash kernel-package manpages manpages-dev doc-debian doc-linux-text debian-policy developers-reference maint-guide apt-howto harden-doc install-doc libpam-doc glibc-doc samba-doc exim-doc cvsbook gnupg-doc# apt-get install debian-reference # for Sarge, do this too:)對(duì)于 Woody 版,把 exim-doc-html 增加到上面的列表中。 對(duì)于 Sarge 版,請(qǐng)使用 exim4-doc-html 和 exim4-doc-info 來代替 exim-doc 包。 編輯 Ubuntu 發(fā)行版(distributions)基本概念 Ubuntu軟件倉庫包含上千個(gè)軟件包,它們按照我們提供的基礎(chǔ)等級(jí)和是否符合自由軟件哲學(xué),被分成四種組件,即“main”(主要)、 “restricted”(受限)、“universe”(公共)和“multiverse”(多元化)。 Ubuntu軟件倉庫被分成四組,“main”、“restricted”、“universe”和“multiverse”,按照我們所 能提供的基礎(chǔ)能力以及它們是否符合 自由軟件哲學(xué) 來劃分。 標(biāo)準(zhǔn)Ubuntu安裝都采用main和restricted的軟件。你可以通過Synaptic軟件管理器和Aptitude軟件包管理器 安裝其他的軟件。通過編輯/etc/apt/sources.list文件,就可以得到它們。如果要編輯sources.list,請(qǐng)使用“man sources.list”來獲得更多信息。 Ubuntu 發(fā)行版有代碼名稱,具體描述在 Ubuntu 發(fā)布版代號(hào), 第 2.1.7 節(jié) 中。 Jaunty(9.04) 在2009年4月發(fā)布, 在 Jaunty(9.04) 發(fā)布后,三個(gè)發(fā)行版對(duì)應(yīng)為 Karmic(9.10)、 Lucid(10.04) 和 Maverick(10.10)。 訂閱低流量的郵件列表 , 可以得到關(guān)于 ubuntu 的重要聲明信息。 參閱 Debian 文件, 第 2.1 節(jié)。 如果你想使用比發(fā)行版自帶軟件包更新的軟件包版本, 你可以按照 發(fā)行版升級(jí)到 Jaunty(9.04)、Karmic(9.10) 或 Lucid(10.04), 第 5 章 的描述,升級(jí)到一個(gè)新的發(fā)行版; 或者你只升級(jí)選擇的軟件包。 如果該軟件包不能夠容易的升級(jí),你可以按照 向 Karmic(9.10) 系統(tǒng)引入軟件包, 第 6.4.10 節(jié). 的說明,把該軟件包向后移植到你現(xiàn)在所使用的發(fā)行版上。 如果使用混合型發(fā)行版,例如在 Karmic(9.10) 中加入 Lucid(10.04) , 或是在 Jaunty(9.04) 中加入 Karmic(9.10),會(huì)一不留神從 Lucid(10.04) 或 Karmic(9.10) 中下載像 libc6 一樣的核心軟件包。 沒有保證能夠使這些軟件包不含有 bug ,請(qǐng)你高度注意! 運(yùn)行混合 Karmic(9.10) 和 Lucid(10.04) 版本的 Ubuntu 意味著可能會(huì)遇到嚴(yán)重軟件錯(cuò)誤。包含一個(gè)穩(wěn)定版 Ubuntu 的多啟動(dòng)方案可有效控制風(fēng)險(xiǎn),另一個(gè)技巧是使用 chroot,詳情參閱 chroot, 第 8.6.35 節(jié)。后者可以實(shí)際在不同的終端同時(shí)運(yùn)行不同版本的 Ubuntu。 在 Ubuntu 基礎(chǔ), 第 2 章 中我們將講解有關(guān) Ubuntu 發(fā)行版的一些基本概念,之后,我將向你介紹一些基本信息以幫助你與最新軟件快樂相處,并從 restricted 和 universe 組件中獲益。心急的讀者可以直接翻到 Ubuntu 生存命令, 第 6.3 節(jié)。祝你升級(jí)愉快! 列表見 參考資料, 第 15.1 節(jié)。 如果你想查閱簡要的“how-to”解釋文檔,可直接跳到 Ubuntu 軟件包管理, 第 6 章 或其它相關(guān)章節(jié)。 本章的內(nèi)容取自“Ubuntu FAQ”,經(jīng)過較大的改編,以適于普通 Ubuntu 系統(tǒng)管理者上手。 Ubuntu 文件 目錄結(jié)構(gòu) Ubuntu 軟件包位于 Ubuntu 鏡像站點(diǎn) 的目錄樹中,可通過 FTP 或 HTTP 訪問它們。 下列目錄存在于任何 Ubuntu 鏡像站點(diǎn)的 ubuntu 目錄下: dists/: 本目錄包含“發(fā)行版”(distributions),此處是獲得 Ubuntu 已發(fā)布版本(releases)和預(yù)發(fā)布版本(pre-releases)的軟件包的正規(guī)途徑。有些舊軟件包及 Contens-*.gz Packages.gz 等文件仍在其中。 pool/: 所有 Ubuntu 發(fā)布版及已發(fā)布版的軟件包的新的物理地址。 indices/: 維護(hù)人員文件和重載文件。 project/: 大部分為開發(fā)人員的資源,如: project/experimental/: 本目錄包含了處于開發(fā)中的軟件包和工具,它們均處于 alpha 測試階段。用戶不應(yīng)使用這些軟件,因?yàn)榧词故墙?jīng)驗(yàn)豐富的用戶也會(huì)被搞得一團(tuán)糟。 project/orphaned/: 已不再有人維護(hù)的軟件包,它們已從發(fā)行版中孤立出來。 111 Ubuntu 發(fā)行版 現(xiàn)在在 dists 目錄下有三個(gè) Ubuntu 發(fā)行版。它們是“Hardy(8.04)”發(fā)行版,“Jaunty(8.10)”發(fā)行版,和“Karmic(9.04)”發(fā)行版。有時(shí)還有一個(gè) “Lucid(10.04)”發(fā)行版。其中也包含了一個(gè)現(xiàn)不再支持Dapper(7.10)發(fā)行版。 2008年4月24日,發(fā)行Ubuntu 8.04 LTS ,發(fā)行代號(hào)為:HardyHeron。 2008年10月30日,發(fā)行Ubuntu 8.10 ,發(fā)行代號(hào)為: Intrepid Ibex。 2009年4月23日,發(fā)行Ubuntu 9.04,發(fā)行代號(hào)為:Jaunty Jackalope。 2009年10月29日,發(fā)行Ubuntu 9.10,發(fā)行代號(hào)為:Karmic Koala。 2010年4月29日,發(fā)行Ubuntu 10.04 LTS,發(fā)行代號(hào)為:Lucid Lynx。 Lucid(10.04) 發(fā)行版 Lucid(10.04) 2010年4月發(fā)布。提供了長達(dá)3年的支持,新版本是 LTS(Long Term Support)(長期支持),它針對(duì)一些大組織的需求對(duì)桌面版和服務(wù)器版都做個(gè)一定程度上的增強(qiáng)。新上載的軟件包的物理存儲(chǔ)位置為pool目錄( pool目錄, 第 2.1.10 節(jié))。在 lucid 下有main、restricted、universe和multiverse子目錄。 Ubuntu 發(fā)布版其它倉庫 存在于dists目錄下的物理目錄名,例如lucid-updates和lucid-security,就是“附加的倉庫”。當(dāng)某個(gè)Ubuntu發(fā) 行版處于維護(hù)階段。將包的必要升級(jí)和安全更新放在附加的倉庫里。其附加倉庫通常有 *-updates、*-security、*-proposed、*-backports。 已用過的發(fā)布版代號(hào) 已使用過的發(fā)行版代號(hào)有: Ubuntu 4.10 (The Warty Warthog)、 Ubuntu 5.04 (The Hoary Hedgehog)、 Ubuntu 5.10 (The Breezy Badger)、 Ubuntu 6-06 (The Dapper Darke)、Ubuntu 6.10 (The Edgy Eft)、Ubuntu 7.04 (The Feisty Fawn)、Ubuntu 7.10 (The Gutsy Gibbon)、Ubuntu 8.04(The Hardy Heron)、Ubuntu 8.10(Intrepid Ibex )、Ubuntu 9.04(Jaunty Jackalope)、Ubuntu 9.10(Karmic Koala)、Ubuntu 10.04(Lucid Lynx)、Ubuntu 10.10(Maverick Meerkat)。 發(fā)布版代號(hào) Warty Warthog 多疣的疣豬, Hoary Hedgehog 灰白的刺猬, Breezy Badger 活潑的獾, Dapper Darke 漂亮的鴨子, Edgy Eft 躁動(dòng)的蜥蜴, Feisty Fawn淘氣的小鹿, Gutsy Gibbon勇敢的長臂猿, Hardy Heron勤奮的蒼鷺, Intrepid Ibex 勇敢的北山羊, Jaunty Jackalope 活潑的兔子, Karmic Koala 幸運(yùn)的考拉, Lucid Lynx 清醒的猞猁, Maverick Meerkat 標(biāo)新立異的的狐獴 pool目錄 過去,軟件包均放在dists目錄下相應(yīng)發(fā)行版的子目錄中。這種做法產(chǎn)生了許多問題,當(dāng)鏡像站點(diǎn)進(jìn)行新版本發(fā)布時(shí)大量帶寬被消耗。 現(xiàn)在軟件包均放進(jìn)一個(gè)巨大的“池子(pool)”,按照源碼包名稱分類存放。為了方便管理,pool目錄下按屬性再分類(main、 restricted、universe和multiverse),分類下面再按源碼包名稱的首字母歸檔。這些目錄包含的文件有:運(yùn)行于各種系統(tǒng)架構(gòu)的二 進(jìn)制軟件包,生成這些二進(jìn)制軟件包的源碼包。 你可以執(zhí)行命令apt-cache showsrc mypackagename,查看“Directory:”行獲知每個(gè)軟件包的存放位置。例如:apache軟件包存放在pool/main/a /apache/軟件包存放在lib*軟件包數(shù)量巨大,它們以特殊的方式歸檔:例如,libpaper軟件包存放在pool/main/libp /libpaper/。 諸如apt等命令訪問的索引文件仍位于dists目錄中。 通常,你大可不必注意這些,新版的apt和舊版dpkg-ftp會(huì)自動(dòng)處理它們。 發(fā)布源目錄結(jié)構(gòu) 在每個(gè)主目錄樹下(dists/lucid/main、dists/lucid/restricted、dists/lucid /universe、dists/lucid/multiverse/,等)按芯片架構(gòu)又分了子目錄,每個(gè)子目錄中存放著在該芯片架構(gòu)下編譯的二進(jìn)制軟件 包。 binary-amd64/ AMD64 或 EM64T 架構(gòu) binary-i386/ 所有的使用 Intel/AMD/等 處理器的PC, 源代碼 Ubuntu 系統(tǒng)中的main,universe組件有源代碼,不僅如此,許可證條款規(guī)定系統(tǒng)中所有的程序必須和其源代碼一起發(fā) 行,或提供源代碼出售。 通常源代碼發(fā)布在source目錄,該目錄同時(shí)處于所有架構(gòu)目錄中,更新的源碼則在pool目錄中(參閱 pool目錄, 第 2.1.10 節(jié))。對(duì)于不太熟悉 Ubuntu 歸檔目錄結(jié)構(gòu)的用戶想獲得源代碼可以試試apt-get source mypackagename命令。 有些軟件包,如著名的pine,由于許可證限制,只提供源碼包。(最近,pine-tracker軟件包提供了一個(gè)簡易的安裝版)安裝源碼 包的方法可參閱 向系統(tǒng)引入軟件包, 第 6.4.10 節(jié), 打包, 第 13.10 節(jié)教你如何手工創(chuàng)建一個(gè)軟件包。 restricted和multiverse目錄中的軟件包可能不提供源代碼,因?yàn)樗鼈儧]有正式加入 Ubuntu 系統(tǒng)。 Ubuntu 軟件包管理系統(tǒng)Ubuntu 軟件包格式 Ubuntu “軟件包”,或稱之為 Debian 包文件( Debian archive file),包含了可執(zhí)行文件、庫文件、和相關(guān)程序的文檔。通常 Ubuntu 文件的文件名以.deb結(jié)尾。 Ubuntu 二進(jìn)制軟件包內(nèi)部格式描述見deb(5)幫助頁面。所以要操作.deb文件請(qǐng)參閱dpkg-deb(8)。 Ubuntu 軟件包命名約定 Ubuntu 軟件包命名遵循下列約定: foo_ver-rev_arch.deb一般這里的foo是軟件包的名稱,ver是軟件本身的版本號(hào),rev是 Ubuntu 修訂版本號(hào),arch是目標(biāo)架構(gòu)名稱。當(dāng)然,文件很容易被改名;不過,你也可以通過運(yùn)行下面的命令來找出文件filename實(shí)際是那個(gè)軟件包: dpkg -info filename Ubuntu 修訂版本號(hào)由 Ubuntu 開發(fā)者或創(chuàng)建這個(gè)軟件包的人指定。通常,包被修改過之后,會(huì)把修改版本號(hào)加一,有些也會(huì)加上ubuntu的標(biāo)志以便和Debian區(qū)分開來。. Ubuntu 維護(hù)腳本 Ubuntu 維護(hù)腳本是一種可執(zhí)行腳本,它在軟件包安裝之前或之后自動(dòng)運(yùn)行。它和一個(gè)名叫control的文件一起組成 Ubuntu 包文件的“管理”部分。 這些文件是: preinst: 在 Ubuntu 包文件解包之前,運(yùn)行這個(gè)腳本。許多“preinst”腳本的任務(wù)是停止作用于待升級(jí)軟件包的服務(wù),直到軟件包安裝或升級(jí)完成。 postinst: 該腳本的任務(wù)是完成 Debian 包文件解包文件的配置工作。通常,“postinst”腳本等待用戶輸入,或提醒用戶,如果他接受當(dāng)前默認(rèn)值,要記得軟件包安裝完后返回重新配置。許多 “postinst”腳本負(fù)責(zé)執(zhí)行有關(guān)命令為新安裝或升級(jí)的軟件重啟服務(wù)。 prerm: 該腳本負(fù)責(zé)停止與軟件包關(guān)聯(lián)的daemon服務(wù)。它在刪除軟件包關(guān)聯(lián)文件之前執(zhí)行。 postrm: 該腳本負(fù)責(zé)修改軟件包鏈接或文件關(guān)聯(lián),或刪除由它創(chuàng)建的文件。(參閱虛擬軟件包, 第 2.2.7 節(jié))。 當(dāng)前,所有的管理文件都存放在/var/lib/dpkg/info目錄。與foo軟件包相關(guān)的文件,名字以“foo”打頭,以 “preinst”、“postinst”等為擴(kuò)展名。目錄中的foo.list文件列出了foo軟件包安裝的所有文件。(注意這些文件的位置在由 dpkg來確定,可能會(huì)因Debian版本而異) 軟件包優(yōu)先級(jí) 每個(gè) Ubuntu 軟件包均被發(fā)布者指點(diǎn)了一個(gè)優(yōu)先級(jí),作為軟件包管理系統(tǒng) 的一個(gè)輔助參數(shù),優(yōu)先級(jí)的值有: Required(必須) 該級(jí)別軟件包是保證系統(tǒng)正常運(yùn)行必須的。 包含所有必要的系統(tǒng)修補(bǔ)工具。不要?jiǎng)h除這些軟件包,否則整個(gè)系統(tǒng)將受到損壞,甚至無法使用dpkg恢復(fù)。只安裝Required級(jí)軟件包的系統(tǒng)不可 能滿足所有的用途,但它可以啟動(dòng)起來,讓系統(tǒng)管理員安裝想要的軟件。 Important(重要) 在任何類Unix系統(tǒng)上均安裝有該級(jí)別軟件包。 系統(tǒng)若缺少這類軟件,會(huì)運(yùn)行困難或不好操作。該級(jí)別軟件包并不包括Emacs或X11或TeX或其它大型應(yīng)用程序,它們只是一些實(shí)現(xiàn) 系統(tǒng)底層功能的程序。 Standard(基本) 該級(jí)別軟件包是任何Linux系統(tǒng)的標(biāo)準(zhǔn)件,它們組成一個(gè)小而精的字符模式的系統(tǒng)。 系統(tǒng)的默認(rèn)安裝就包括了它們?!癝tandard”級(jí)軟件包不包括許多大型應(yīng)用程序,但它包括Emacs(它比其它應(yīng)用程序更底層)和Tex及 LaTeX的精巧版(不支持X)。 Optional(推薦) 該級(jí)別軟件包包括那些你可能想安裝的軟件,即使對(duì)它們并不熟悉,但對(duì)它們沒有特殊的要求。 它們包括X11,TeX完整發(fā)布版和許多應(yīng)用程序。 Extra(額外) 該級(jí)別軟件包可能與其它高級(jí)別軟件包沖突,僅當(dāng)你知道其用途時(shí)才會(huì)使用它們,或者有運(yùn)行它們有專門要求,這些都使它們不適合定為“Optional”級(jí)。 請(qǐng)注意軟件包描述中“Priority: required”(優(yōu)先級(jí):必須)、“Section: base”(組件:基本)、“Essential: yes”(必要:是)的區(qū)別。“Section: base”(組件:基本)意味著在安裝新系統(tǒng)時(shí)這個(gè)軟件包要先于其它所有軟件安裝。大多數(shù)在“Section: base”中的軟件包都被打上了“Priority: required”(優(yōu)先級(jí):必須)標(biāo)簽,或者至少是“Priority: important”(優(yōu)先級(jí):重要);并且其中的很多也同時(shí)具有“Essential: yes”(必要:是)標(biāo)簽?!癊ssential: yes”意味著要用軟件包管理系統(tǒng)的dpkg等程序刪除它時(shí),必須給出額外的強(qiáng)制選項(xiàng)才行。比如,libc6、mawk和makedev軟件包屬于 “Priority: required”和“Section: base”,但不是“Essential: yes”。 虛擬軟件包 虛擬軟件包是一個(gè)統(tǒng)稱,它代指一組具有相近功能的軟件包中的任何一個(gè)。例如,tin和trn都是新聞組閱讀軟件,當(dāng)系統(tǒng)中某個(gè)程序需要使用新聞閱讀 器時(shí),它們中的任何一個(gè)都可以滿足要求。因此,這兩個(gè)軟件包一起提供了一個(gè)叫做news-reader(新聞閱讀器)的“虛擬軟件包”。 類似的,許多exim、exim4、sendmail、postfix這樣的軟件包都提供郵件傳輸代理的功能。因此,它們?cè)谝黄鹛峁┝艘粋€(gè) 稱為mail-transport-agent(郵件傳輸代理)的虛擬包。安裝了它們中的任何一個(gè),都會(huì)滿足其它倚賴于郵件傳輸代理功能的程序的需要。 Ubuntu 有個(gè)機(jī)制,如果系統(tǒng)中提供同種虛擬包的軟件包安裝了多個(gè),系統(tǒng)管理員可以指定一個(gè)為首選軟件。相關(guān)的命令是update-alternatives,更詳 細(xì)的描述參閱 Alternative 命令, 第 6.5.3 節(jié)。 軟件包依賴關(guān)系 Ubuntu 軟件包管理系統(tǒng)依賴聲明,它描述了這一事實(shí):一些軟件包需要其它軟件包被安裝才能正常運(yùn)行或運(yùn)行得更好。 軟件包A依賴(depends)軟件包B:要運(yùn)行A必須安裝B。在有些情況下,A不僅依賴B,還要求B的特定版本。 版本依賴通常有最低版本限制,A更依賴于B的最新版而非某個(gè)特定版本。 軟件包A推薦(recommends)軟件包B:軟件包維護(hù)者認(rèn)為所有用戶都不會(huì)喜歡缺少某些功能的A,而這些功能 需要B來提供。 軟件包A建議(suggests)軟件包B:B中某些文件與 A 的功能相關(guān),并能夠增強(qiáng) A 的功能。這種關(guān)系通過聲明軟件包 B 增強(qiáng) Enhances 軟件包 A 來表示。 軟件包A與軟件包B沖突(conflicts):如果系統(tǒng)中安裝了B那么A無法運(yùn)行?!癈onflicts”常和 “replaces”同時(shí)出現(xiàn)。 軟件包A替換(replaces)軟件包B:B安裝的文件被A中的文件移除和復(fù)蓋了。 軟件包A提供(provides)軟件包B:A中包含了B中的所有文件和功能。 上述術(shù)語使用方法的更詳細(xì)的信息參閱 Packaging Manual 和 the Policy Manual。 注意,dselect可以對(duì)recommends和suggests類軟件包進(jìn)行細(xì)操作,apt-get只會(huì) 簡單的下載安裝depends類軟件包而不管recommends和suggests類軟件包。這兩個(gè)程序均 正式使用APT作為其后臺(tái)。 何為“Pre-depends” dpkg 總是在配置一個(gè)有依賴關(guān)系的包之前,先對(duì)被依賴的包進(jìn)行配置。 然而,dpkg 通常將歸檔文件隨意解包,不顧依賴性。 (從歸檔文件中解包并提取文件,將他們放置到正確的位置。) 如果是 Pre-Depends 包,則在所依賴的其它包被解包和配置之前, Pre-Depends 包不會(huì)被解包。 使用這種依賴的目的是為了將依賴復(fù)雜性降至最底。 軟件包狀態(tài) 軟件包有各種狀態(tài):“unknown”,“install”,“remove”,“purge”和“hold”。這些“希望”標(biāo)記描述了用戶打算如 何操作這些軟件包(既可以使用dselect的“Select”菜單,也可以直接調(diào)用dpkg)。 它們的意思是: unknown - 用戶并沒描述他想對(duì)軟件包進(jìn)行什么操作。 install - 用戶希望對(duì)軟件包進(jìn)行安裝或升級(jí)。 remove - 用戶希望刪除軟件包,但不想刪除任何配置文件。 purge - 用戶希望完全刪除軟件包,包括配置文件。 hold - 用戶希望軟件包保持現(xiàn)狀,例如,用戶希望保持當(dāng)前的版本,當(dāng)前的狀態(tài),當(dāng)前的一切。 阻止軟件包升級(jí) 有兩種方法阻止軟件包升級(jí),使用dpkg,或者在Woody中使用APT。 使用dpkg,首先導(dǎo)出軟件包選擇列表: dpkg -get-selections * selections.txt 接著編輯文件selections.txt,修改想要恢復(fù)的軟件所在的行,例如libc6,則將: libc6 install改為: libc6 hold保存文件,將它裝入dpkg數(shù)據(jù)庫: dpkg -set-selections selections.txt 或者,如果你知道要恢復(fù)的軟件包名稱,執(zhí)行: echo libc6 hold | dpkg -set-selections這個(gè)命令將在每個(gè)軟件包安裝過程中保持該軟件包不變。 使用dselect也可以達(dá)到同樣的效果。進(jìn)入Select屏幕,找到想阻止其升級(jí)的軟件包,按“=”鍵(或者“H”)。更改在你退出 Select屏幕后立即生效。 Woody中的APT系統(tǒng)有一個(gè)新機(jī)制來阻止軟件包升級(jí),在下載升級(jí)檔進(jìn)程中使用Pin-Priority。參閱幫助頁面 apt_preferences(5),或閱讀/doc/manuals/apt-howto/ 或apt-howto軟件包。 源碼包 源碼包發(fā)布在source目錄中,既可以手工下載可以使用 apt-get source foo 獲取它們(參閱apt-get(8)幫助頁面)。 編譯源碼包 對(duì)于foo軟件包,從源碼編譯需要foo_*.dsc、foo_*.tar.gz和foo_*.diff.gz文件(注意,對(duì)于由 Debian 開發(fā)的軟件包,沒有.diff.gz文件)。 當(dāng)你得全了這些文件,如果你這安裝了dpkg-dev軟件包,運(yùn)行: $ dpkg-source -x foo_version-revision.dsc它將軟件包解壓到一個(gè)名為foo-version的目錄。 使用下列命令創(chuàng)建二進(jìn)制軟件包: $ cd foo-version$ su -c apt-get update; apt-get install fakeroot$ dpkg-buildpackage -rfakeroot -us -uc然后, # su -c dpkg -i ./foo_version-revision_arch.deb安裝新編譯的軟件包。參閱./ch-package.zh-cn.html: 向系統(tǒng)引入軟件包, 第 6.4.10 節(jié)。 新建 Ubuntu 軟件包 創(chuàng)建新軟件包的詳細(xì)信息,參閱 New Maintainers Guide, 該文檔在maint-guide包中,或?yàn)g覽/doc/manuals/maint-guide/ Ubuntu 系統(tǒng)升級(jí) Ubuntu 的設(shè)計(jì)目標(biāo)之一就是提供一個(gè)平滑、安全和可靠的升級(jí)過程。軟件包系統(tǒng)在升級(jí)過程中會(huì)將重要改變警告系統(tǒng)管理員,在某些情況下,會(huì)要系統(tǒng)管理員來做決定。 你也應(yīng)該閱讀發(fā)布手記(Release Notes),它存在于所有的 Ubuntu 光盤中,也可以通過互聯(lián)網(wǎng)訪問http:/www.U/releases Ubuntu 軟件包管理, 第 6 章提供了升級(jí)的實(shí)用指南,本節(jié)只提供一個(gè)大綱,由包工具開始。 dpkg 它是操作軟件包文件的主要工具;參閱 dpkg(8) 獲得完整信息。 dpkg 由幾個(gè)原始的輔助程序演化而來。 dpkg-deb:操作.deb文件。dpkg-deb(1) dpkg-ftp:一個(gè)舊的軟件包獲取命令。dpkg-ftp(1) dpkg-mountable:一個(gè)舊的軟件包獲取命令。dpkg-mountable(1) dpkg-split:將大軟件包分割成小包。dpkg-split(1) dpkg-ftp 和 dpkg-mountable 已被新的APT系統(tǒng)取代。 APT APT(the Advanced Packaging Tool)是 Ubuntu 軟件包管理系統(tǒng)的高級(jí)界面,由幾個(gè)名字以“apt-”打頭的程序組成。apt-get、apt-cache和apt-cdrom是處理軟件包的命令行工 具,它們也是其它用戶前臺(tái)程序的后端,如dselect和aptitude。 更多信息,可安裝apt軟件包后閱讀apt-get(8)、apt-cache(8)、apt-cdrom(8)、 apt.conf(5)、sources.list(5)、apt_preferences(5)(woody)以及/usr/share/doc /apt/guide.html/index.html。 另一個(gè)資源是APT HOWTO,如果安裝了apt-howto包,可在/usr/share/doc/Debian/apt-howto/中找到它。 apt-get upgrade和apt-get dist-upgrade只獲取“Depends”類軟件包,它忽略“Recommend”和“Suggests”類軟件包,不想這樣的話,可使用 dselect。 dselect 這個(gè)程序是 Ubuntu 軟件包管理系統(tǒng)中菜單驅(qū)動(dòng)的用戶界面。特別適用于首次安裝和大面積升級(jí)。參閱 dselect, 第 6.2.4 節(jié)。 更多信息,可安裝install-doc包后閱讀/usr/share/doc/install-doc/dselect- beginner.en.html或dselect Documentation for Beginners。 不停機(jī)系統(tǒng)升級(jí) Ubuntu 系統(tǒng)的內(nèi)核(文件系統(tǒng))支持替換使用中的文件。 當(dāng)一個(gè)軟件包升級(jí)時(shí),如果由該軟件包提供的服務(wù)在當(dāng)前運(yùn)行級(jí)下正在運(yùn)行,則該服務(wù)將被重新啟動(dòng)。 Ubuntu 系統(tǒng)不要求用戶在 single-user 模式下進(jìn)行不停機(jī)升級(jí)。 下載和緩存.deb文件 如果你手工下載包文件到硬盤(這完全沒有必要,請(qǐng)閱讀上面有關(guān)dpkg-ftp或APT的內(nèi)容),當(dāng)你完成軟件包安裝工作后,可以從系統(tǒng)中刪 除.deb文件。 如果是使用APT,這些文件會(huì)緩存在/var/cache/apt/archives/目錄中。你可以在完成安裝后刪除它們(apt- get clean)或者將它們拷貝到另一個(gè)機(jī)器的/var/cache/apt/archives/目錄中以備以后的安裝。 升級(jí)記錄 dpkg會(huì)對(duì)軟件包的解包、配置、刪除、完全刪除進(jìn)行記錄,但不能(目前是這樣)記錄在包操作的過程中活躍終端的行為。 最簡單的解決方法是在運(yùn)行dpkg、dselect、apt-get等工具的會(huì)話中加入script(1)程序。 Ubuntu 系統(tǒng)引導(dǎo)進(jìn)程 init程序 同所有的Unix一樣, Ubuntu 啟動(dòng)要執(zhí)行init程序。init的配置文件(/etc/inittab)中指定的第一個(gè)執(zhí)行腳本應(yīng)該是 /etc/init.d/rcS。 接下來將要發(fā)生要看是否安裝了 sysv-rc 軟件包或 file-rc 軟件包。下面假設(shè)安裝了 sysv-rc 軟件包。 (file-rc 含有它自己的 /etc/init.d/rcS 腳本,在 rc 目錄里使用文件代替符號(hào)鏈接來控制哪個(gè)服務(wù)在哪個(gè)運(yùn)行級(jí)別啟動(dòng)。) sysv-rc 軟件包里面的 /etc/init.d/rcS 運(yùn)行 /etc/rcS.d/ 目錄下的所有腳本來執(zhí)行初始化,如: 檢查并掛載文件系統(tǒng)、裝載內(nèi)核模塊、啟動(dòng)網(wǎng)絡(luò)服務(wù)、設(shè)定時(shí)鐘等。 接著,為了兼容性考慮,它運(yùn)行/etc/rc.boot/目錄下的文件(除了那些文件名中包含“.”的文件),該目錄中的腳本是保留給系統(tǒng)管理員使用,不 贊成使用該目錄。 更多信息參見 系統(tǒng)初始化, 第 9.1 節(jié) 和 Debian Policy Manual 中的 System run levels and init.d scripts Ubuntu 沒有使用 BSD 風(fēng)格的 rc.local 文件。 運(yùn)行級(jí)別 完成系統(tǒng)啟動(dòng)進(jìn)程后,init啟動(dòng)所有在默認(rèn)運(yùn)行級(jí)別配置為啟動(dòng)的服務(wù)。 默認(rèn)運(yùn)行級(jí)別由 /etc/inittab 中的 id 給出。 Ubuntu 使用 id=2。 Ubuntu 使用下列的運(yùn)行級(jí)別: 1(單用戶模式 single-user mode), 2 到 5(多用戶模式 multi-user modes), 0(關(guān)閉系統(tǒng)), 6(重啟系統(tǒng))。 運(yùn)行級(jí)7、8和9也能夠使用,但是它們的 rc 目錄在軟件包安裝的時(shí)候沒有。 使用 telinit 命令來轉(zhuǎn)換運(yùn)行級(jí)別。 當(dāng)進(jìn)入一個(gè)運(yùn)行級(jí)別時(shí),所有在 /etc/rcrunlevel.d/ 目錄下的腳本將被執(zhí)行。 腳本名的第一個(gè)字母決定了該腳本的運(yùn)行方 式: 使用 K 開頭的腳本,使用 stop 參數(shù)來運(yùn)行。 使用 S 開頭的腳本,使用 start 參數(shù)來運(yùn)行。 這些腳本按照它們名字的字母順序運(yùn)行;因此,“stop”腳本比“start”腳本先運(yùn)行。 在 K 或 S 之后的兩個(gè)數(shù)字決定了腳本運(yùn)行的先后次序,數(shù)字小的腳本先運(yùn)行。 實(shí)際上,目錄/etc/rcrunlevel.d/中的腳本都是指向/etc/init.d/的符號(hào)鏈接。這些腳本接受 “restart”和“force-reload”作為參數(shù):“force-reload”的方式可以用來在系統(tǒng)啟動(dòng)后,重新啟動(dòng)服務(wù)或者強(qiáng)迫它們重新裝 載它們的配置文件。 例如: # /etc/init.d/exim4 reload 自定義運(yùn)行級(jí)別 自定義運(yùn)行級(jí)別是一個(gè)高級(jí)的系統(tǒng)管理任務(wù)。 下面的指示面向大部分服務(wù)。 在運(yùn)行級(jí) R 啟動(dòng) service 服務(wù),創(chuàng)建一個(gè)符號(hào)鏈接 /etc/rcR.d/Sxyservice 到目標(biāo)文件 ./init.d/service。 xy 是序列號(hào),是由軟件包在安裝的時(shí)候分配給服務(wù)的。 停止服務(wù),重命名符號(hào)鏈接,將它的名字用 K 開頭來代替 S, 它的序列號(hào)是100減 xy。 可以使用象 sysv-rc-conf 或 ksysv 這樣的運(yùn)行級(jí)別編輯器來方便的修改服務(wù)。 在一個(gè)特定的運(yùn)行級(jí)別目錄,可以將某個(gè)服務(wù)的 S 符號(hào)鏈接刪除來代替重新命名它。 這種作法不停止該服務(wù),但將把該服務(wù)留在一種 sysv-rc 初始化系統(tǒng)認(rèn)為的“漂浮”狀態(tài): 當(dāng)運(yùn)行級(jí)別改變時(shí),該服務(wù)即不會(huì)啟動(dòng),也不會(huì)停止, 它將保留它原有的狀態(tài),不管它是在運(yùn)行或者沒有運(yùn)行。 注意,處于這種漂浮狀態(tài)的服務(wù),如果它所屬的軟件包升級(jí)了, 這個(gè)服務(wù)將啟動(dòng),不管它在升級(jí)前是否運(yùn)行。 這是當(dāng)前 Debian 系統(tǒng)一個(gè)已知的缺點(diǎn)。 注意:還需要在運(yùn)行級(jí) 0 和 6 之間保留服務(wù)的 K 符號(hào)鏈接。 如果刪除了一個(gè)服務(wù)的所有符號(hào)鏈接,在升級(jí)該服務(wù)的軟件包時(shí), 所有的符號(hào)鏈接將恢復(fù)到它們的出廠默認(rèn)模式。 不建議對(duì) /etc/rcS.d/ 目錄里的符號(hào)鏈接做任何改變。 多樣性支持 Ubuntu 提供幾種途徑,在不破壞系統(tǒng)的前提下滿足系統(tǒng)管理員各種要求。 dpkg-divert,參閱 dpkg-divert 命令, 第 6.5.1 節(jié)。 equivs,參閱 equivs 軟件包, 第 6.5.2 節(jié)。 update-alternative,參閱 Alternative 命令, 第 6.5.3 節(jié)。 make-kpkg可以支持多啟動(dòng)引導(dǎo)。參閱make-kpkg(1)和 Ubuntu 標(biāo)準(zhǔn)方式, 第 7.1.1 節(jié)。 /usr/local/目錄下的所有文件均屬于系統(tǒng)管理員,Ubuntu不會(huì)改動(dòng)它們。/etc下的大部分文件屬于 conffiles,Ubuntu不會(huì)在升級(jí)后復(fù)蓋它們,除非系統(tǒng)管理員明確要求復(fù)蓋。 國際化 Ubuntu 系統(tǒng)是國際化產(chǎn)品,不論是在控制臺(tái)下還是在X下,它都提供多種語言的字符顯示和輸入支持。許多文檔、幫助頁面以及系統(tǒng)消息都被翻譯成各種語言。在安裝過程 中, Ubuntu 提示用戶選擇安裝語言(有時(shí)是當(dāng)?shù)卣Z言變量)。 如果你安裝的系統(tǒng)提供的語言特性支持不能滿足你的需要,或者你要改變當(dāng)前語言或安裝別的鍵盤方案以適應(yīng)你的語言,參閱 本地化(localization), 第 9.7 節(jié)。 Ubuntu 和系統(tǒng)內(nèi)核 參見 Ubuntu下的 Linux 內(nèi)核, 第 7 章。 編譯非 Ubuntu 源碼包內(nèi)核代碼 首先你必須了解 Ubuntu policy有關(guān)頭文件的規(guī)定。 Ubuntu C libraries是依據(jù)內(nèi)核頭文件最新stable發(fā)布版創(chuàng)建的。 跟隨內(nèi)核源碼發(fā)布的內(nèi)核頭文件位于/usr/include/linux/include/。 如果你編譯某個(gè)程序所用的內(nèi)核頭文件比libc6-dev提供的頭文件還新,在編譯時(shí)你必須在命令行中加上-I/usr/src /linux/include/。這些情況是存在的,例如,對(duì)于automounter daemon(amd)軟件包而言,當(dāng)新內(nèi)核改變了對(duì)NFS的內(nèi)部操作方式,amd需要知道這些改變。這時(shí)就需要引用新的內(nèi)核頭文件。 自定義內(nèi)核創(chuàng)建工具 對(duì)于希望(或必須)使用自定義內(nèi)核的用戶,推薦下載kernel-package軟件包。該軟件包包含了創(chuàng)建內(nèi)核包的腳本。有了它,新建 Ubuntu 內(nèi)核鏡像包只需在內(nèi)核源碼目錄的一級(jí)目錄運(yùn)行 # make-kpkg kernel_image在內(nèi)核源碼所在目錄的頂層,執(zhí)行下述命令可獲得有關(guān)幫助 # make-kpkg -help或閱讀make-kpkg(8)幫助頁面以及 Ubuntu下的 Linux 內(nèi)核, 第 7 章。 如果所需的kernel-source-version(version代表內(nèi)核版本號(hào))包不存在,用戶就得從Linux文件站點(diǎn)分別下載 最新的(或需要的)內(nèi)核源碼。 有關(guān)kernel-package包的用法詳述見于/usr/doc/kernel-package/README。 多系統(tǒng)引導(dǎo)器 要使用多系統(tǒng)引導(dǎo)器如grub或loadlin,請(qǐng)將編譯好的Linux內(nèi)核bzimage拷貝到相應(yīng)的地方(例如/boot/grub或MS- DOS分區(qū))。 制做引導(dǎo)軟盤 Ubuntu 的 mkrboot 軟件包可以幫你制作一張自定義啟動(dòng)軟盤,軟件包中的Shell腳本按syslinux格式制作啟動(dòng)軟盤。對(duì)于那些使用MS-DOS格式化的軟盤,其主引導(dǎo) 扇區(qū)的記錄將被修改為直接引導(dǎo)Linux(或是其它在盤中syslinux.cfg文件里的操作系統(tǒng))。該軟件包中的其它腳本可制作急救盤甚至重建基本系 統(tǒng)。 模塊加載規(guī)定 Ubuntu 的modconf軟件包提供了一個(gè)shell腳本(/usr/sbin/modconf),它可以用來自定義內(nèi)核模塊配置。該腳本使用菜單界面,用戶通過 它給出系統(tǒng)中可掛載設(shè)備驅(qū)動(dòng)的有關(guān)細(xì)節(jié),它再將這些細(xì)節(jié)信息生成/etc/modules.conf文件(其中列出了別名aliases和其它參數(shù),用于 連接各種模塊),該配置文件用來加載/etc/modutils/目錄下和/etc/modules(其中列出了需要在系統(tǒng)啟動(dòng)時(shí)加載的模塊)目錄的相關(guān) 模塊。 新版的配置幫助文件 Configure.help 可為構(gòu)造自定義內(nèi)核提供幫助,同樣,modconf軟件包中也有一系列幫助文件(位于/usr/share/modconf/目錄下),告訴你如何對(duì)模塊 設(shè)定合適的參數(shù)。參閱 模塊化的 2.4 內(nèi)核, 第 7.2 節(jié)中的例子。 卸載舊內(nèi)核 uname -ra 可用來檢查當(dāng)前運(yùn)行的內(nèi)核版本,以確定是否與你打算卸載的內(nèi)核版本相同。因此你可以使用如下命令刪除不想要的內(nèi)核鏡像包: # dpkg -purge -force-remove-essential linux-image-NNN (當(dāng)然,要將NNN替換成你的內(nèi)核版本號(hào)和修訂版號(hào)。) Ubuntu 的官方安裝文檔位于 /ubuntu/install/ ,里面包含了 amd64、hppa、i386、ia64、powerpc和sparc的安裝文檔。中文翻譯在 /ubuntu/install/ 常規(guī) Linux 安裝提示 如果你在尋找精簡的 Ubuntu 安裝光盤,請(qǐng)別忘記檢查 在其它 OS 下確定 PC 硬件 還可從其它操作系統(tǒng)中獲取硬件信息。 安裝其它商業(yè)版 Linux,當(dāng)前它們?cè)谟布蓽y方面做得比 Debian 好。 安裝 Windows。用鼠標(biāo)右鍵點(diǎn)“我的電腦”在菜單中選屬性/設(shè)備管理,可獲得硬件配置信息。記下所有的資源信息如 IRQ、I/O 端口地址和 DMA。有些舊的 ISA 卡可能要在 DOS 下配置。 Lilo 神話 Lilo 受限于 1024 柱面。 大錯(cuò)特錯(cuò)! Ubuntu 之后使用的新版 lilo 支持 lba32。只要主板的 BIOS 版本支持 lba32,lilo 就可以突破 1024 柱面的限制。 如果你使用的是舊版 lilo.conf,請(qǐng)確定在你的 lilo.conf 文件開頭的某處加了一行命令指示系統(tǒng)讀取“l(fā)ba32”。參閱 /usr/share/doc/lilo/Manual.txt.gz。 GRUB GNU Hurd 項(xiàng)目組提供的新的系統(tǒng)引導(dǎo)工具 grub 可使用于 Debian Woody 系統(tǒng)。 要編輯 GRUB 菜單,可編輯 /boot/grub/menu.lst 文件。參閱 設(shè)置 GRUB 啟動(dòng)參數(shù), 第 8.1.6 節(jié)獲取有關(guān)啟動(dòng)參數(shù)設(shè)置信息,它和 lilo 的設(shè)置方法不太一樣。=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年濟(jì)寧道路運(yùn)輸從業(yè)人員資格考試內(nèi)容有哪些
- 2025年綏化道路運(yùn)輸從業(yè)資格證模擬考試年新版
- 《虎年春節(jié)模板》課件
- 城市綠化養(yǎng)護(hù)服務(wù)招投標(biāo)模板
- 廣州市二手房按揭合同簽訂指南
- 教育設(shè)施租賃協(xié)議
- 智能化施工合同住宅小區(qū)改造
- 城市綠化帶建設(shè)室外施工合同
- 旅行社暖氣管道維修施工合同
- 學(xué)校綜合樓建設(shè)項(xiàng)目可行性研究報(bào)告
- 小學(xué)總復(fù)習(xí)-非連續(xù)性文本
- 功能醫(yī)學(xué)與健康管理課件
- 硬件研發(fā)工程師生涯人物訪談報(bào)告
- 教師一對(duì)一廉潔談話記錄
- 課本劇西門豹治鄴劇本
- 下肢靜脈血栓形成全解課件
- 宿舍危險(xiǎn)源識(shí)別和風(fēng)險(xiǎn)評(píng)價(jià)表范例
- 《尖子生培養(yǎng)》課件
- 特種設(shè)備(承壓類)生產(chǎn)單位安全風(fēng)險(xiǎn)管控(日管控、周排查、月調(diào)度)清單
- 網(wǎng)絡(luò)傳播法規(guī)(自考14339)復(fù)習(xí)必備題庫(含答案)
評(píng)論
0/150
提交評(píng)論