




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、本書Ubuntu 參考手冊的目的是對整個 Ubuntu 系統(tǒng)作一個全面的介紹,提供一本“安裝之后的”用戶使用手冊。本手冊的讀者應該愿意閱讀 shell 腳本(scripts)。我也假定讀者在閱讀之前已經具備了類 Unix 系統(tǒng)的基本操作技能。 我決定不在本書中解釋所有的細節(jié),因為你可以在 manual 頁、info 頁或 HOWTO 文檔中獲得這些信息。我希望能給讀者提供實用的信息,而非全面的解釋。因此我會在正文中給出實際的命令序列,或是在 examples/ 給出腳本示例作為參考。在按照這些示例下達命令之前,你必須要先理解其內容的含義。實際的命令序列可能會依你的系統(tǒng)的具體情況而有細微的差別。
2、 書中的很多信息實際上是對在 參考資料, 第 15.1 節(jié) 中列出的眾多權威參考文獻的引用和提示。 本書最初是作為一本“快速參考手冊”來寫的,但是現(xiàn)在增加了很多內容。盡管如此,保持文字簡短緊湊(keep it short and simple, KISS)是我的指導思想。 如果你是在尋找緊急情況下系統(tǒng)維護方面的幫助,請直接閱讀 Ubuntu 生存命令, 第 6.3 節(jié)。 目錄編輯 官方文檔 本書的最新官方版本可在 訪問到。 編輯 文檔約定 文中許多信息通過簡短的 bash 命令給出,以下是其排版格式約定: # command in root account root用戶命令$ command
3、in user account 普通用戶命令. description of action 命令動作描述這些 shell 命令的例子使用 PS2=" "。 更多信息參見 Bash GNU標準交互式shell, 第 13.2.1 節(jié)。 參考: · bash(1) 表示 Unix 風格 manual 頁。 · info libc 表示 GNU TEXINFO 信息。 · The C Programming Language 表示參考書目。 · 表示 URL。 · /usr/share/doc/Debian/reference/
4、表示系統(tǒng)的文件。 文中用到了下列縮寫: · LDP: Linux Documentation Project () · DDP: Debian Documentation Project () 本文中的其它縮寫會在使用前定義。 文中只提供了 LDP 文檔的 URL,然而,LDP 文檔已經被 Ubuntu 打包。 當這些包被安裝后,LDP 文檔會在 /usr/share/doc/HOWTO/ 里。 參閱 參考資料, 第 15.1 節(jié)。 編輯 腳本樣例 本文檔的 腳本樣例 需要通過網頁訪問下載。 編輯 基本設置 如果你的系統(tǒng)是最小安裝,但你希望充分使用本文檔, 請執(zhí)行下面的命令
5、來安裝其它軟件包,這些軟件包含有一些有用的文檔。 # 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-
6、doc samba-doc exim-doc cvsbook gnupg-doc# apt-get install debian-reference # for Sarge, do this too :)對于 Woody 版,把 exim-doc-html 增加到上面的列表中。 對于 Sarge 版,請使用 exim4-doc-html 和 exim4-doc-info 來代替 exim-doc 包。 編輯 Ubuntu 發(fā)行版(distributions)基本概念 Ubuntu軟件倉庫包含上千個軟件包,它們按照我們提供的基礎等級和是否符合自由軟件哲學,被分成四種組件,即“main”
7、(主要)、 “restricted”(受限)、“universe”(公共)和“multiverse”(多元化)。 Ubuntu軟件倉庫被分成四組,“main”、“restricted”、“universe”和“multiverse”,按照我們所 能提供的基礎能力以及它們是否符合 自由軟件哲學 來劃分。 標準Ubuntu安裝都采用main和restricted的軟件。你可以通過Synaptic軟件管理器和Aptitude軟件包管理器 安裝其他的軟件。通過編輯/etc/apt/sources.list文件,就可以得到它們。如果要編輯sources.list,請使用“man sources.list
8、”來獲得更多信息。 Ubuntu 發(fā)行版有代碼名稱,具體描述在 Ubuntu 發(fā)布版代號, 第 2.1.7 節(jié) 中。 Jaunty(9.04) 在2009年4月發(fā)布, 在 Jaunty(9.04) 發(fā)布后,三個發(fā)行版對應為 Karmic(9.10)、 Lucid(10.04) 和 Maverick(10.10)。 訂閱低流量的郵件列表 ubuntu-, 可以得到關于 ubuntu 的重要聲明信息。 參閱 Debian 文件, 第 2.1 節(jié)。 如果你想使用比發(fā)行版自帶軟件包更新的軟件包版本, 你可以按照 發(fā)行版升級到 Jaunty(9.04)、Karmic(9.10) 或 Lucid(10.0
9、4), 第 5 章 的描述,升級到一個新的發(fā)行版; 或者你只升級選擇的軟件包。 如果該軟件包不能夠容易的升級,你可以按照 向 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),會一不留神從 Lucid(10.04) 或 Karmic(9.10) 中下載像 libc6 一樣的核心軟件包。 沒有保證能夠使這些軟件包不含有 bug ,請你高度注意! 運行混合 Karmi
10、c(9.10) 和 Lucid(10.04) 版本的 Ubuntu 意味著可能會遇到嚴重軟件錯誤。包含一個穩(wěn)定版 Ubuntu 的多啟動方案可有效控制風險,另一個技巧是使用 chroot,詳情參閱 chroot, 第 8.6.35 節(jié)。后者可以實際在不同的終端同時運行不同版本的 Ubuntu。 在 Ubuntu 基礎, 第 2 章 中我們將講解有關 Ubuntu 發(fā)行版的一些基本概念,之后,我將向你介紹一些基本信息以幫助你與最新軟件快樂相處,并從 restricted 和 universe 組件中獲益。心急的讀者可以直接翻到 Ubuntu 生存命令, 第 6.3 節(jié)。祝你升級愉快! ·
11、;列表見 參考資料, 第 15.1 節(jié)。 如果你想查閱簡要的“how-to”解釋文檔,可直接跳到 Ubuntu 軟件包管理, 第 6 章 或其它相關章節(jié)。 本章的內容取自“Ubuntu FAQ”,經過較大的改編,以適于普通 Ubuntu 系統(tǒng)管理者上手。 Ubuntu 文件 目錄結構 Ubuntu 軟件包位于 Ubuntu 鏡像站點 的目錄樹中,可通過 FTP 或 HTTP 訪問它們。 下列目錄存在于任何 Ubuntu 鏡像站點的 ubuntu 目錄下: dists/: 本目錄包含“發(fā)行版”(distributions),此處是獲得 Ubuntu 已發(fā)布版本(releases)和預發(fā)布版本(p
12、re-releases)的軟件包的正規(guī)途徑。有些舊軟件包及 Contens-*.gz Packages.gz 等文件仍在其中。 pool/: 所有 Ubuntu 發(fā)布版及已發(fā)布版的軟件包的新的物理地址。 indices/: 維護人員文件和重載文件。 project/: 大部分為開發(fā)人員的資源,如: project/experimental/: 本目錄包含了處于開發(fā)中的軟件包和工具,它們均處于 alpha 測試階段。用戶不應使用這些軟件,因為即使是經驗豐富的用戶也會被搞得一團糟。 project/orphaned/: 已不再有人維護的軟件包,它們已從發(fā)行版中孤立出來。 111 Ubuntu 發(fā)行
13、版 現(xiàn)在在 dists 目錄下有三個 Ubuntu 發(fā)行版。它們是“Hardy(8.04)”發(fā)行版,“Jaunty(8.10)”發(fā)行版,和“Karmic(9.04)”發(fā)行版。有時還有一個 “Lucid(10.04)”發(fā)行版。其中也包含了一個現(xiàn)不再支持"Dapper(7.10)"發(fā)行版。 2008年4月24日,發(fā)行Ubuntu 8.04 LTS ,發(fā)行代號為:HardyHeron。 2008年10月30日,發(fā)行Ubuntu 8.10 ,發(fā)行代號為: Intrepid Ibex。 2009年4月23日,發(fā)行Ubuntu 9.04,發(fā)行代號為:Jaunty Jackalope。
14、2009年10月29日,發(fā)行Ubuntu 9.10,發(fā)行代號為:Karmic Koala。 2010年4月29日,發(fā)行Ubuntu 10.04 LTS,發(fā)行代號為:Lucid Lynx。 Lucid(10.04) 發(fā)行版 Lucid(10.04) 2010年4月發(fā)布。提供了長達3年的支持,新版本是 LTS(Long Term Support)(長期支持),它針對一些大組織的需求對桌面版和服務器版都做個一定程度上的增強。新上載的軟件包的物理存儲位置為pool目錄( pool目錄, 第 2.1.10 節(jié))。在 lucid 下有main、restricted、universe和multiverse子
15、目錄。 Ubuntu 發(fā)布版其它倉庫 存在于dists目錄下的物理目錄名,例如lucid-updates和lucid-security,就是“附加的倉庫”。當某個Ubuntu發(fā) 行版處于維護階段。將包的必要升級和安全更新放在附加的倉庫里。其附加倉庫通常有 *-updates、*-security、*-proposed、*-backports。 已用過的發(fā)布版代號 已使用過的發(fā)行版代號有: Ubuntu 4.10 (The Warty Warthog)、 Ubuntu 5.04 (The Hoary Hedgehog)、 Ubuntu 5.10 (The Breezy Badger)、 Ubun
16、tu 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ā)布版代號 · Wa
17、rty Warthog 多疣的疣豬, · Hoary Hedgehog 灰白的刺猬, · Breezy Badger 活潑的獾, · Dapper Darke 漂亮的鴨子, · Edgy Eft 躁動的蜥蜴, · Feisty Fawn淘氣的小鹿, · Gutsy Gibbon勇敢的長臂猿, · Hardy Heron勤奮的蒼鷺, · Intrepid Ibex 勇敢的北山羊, · Jaunty Jackalope 活潑的兔子, · Karmic Koala 幸運的考拉, · Luci
18、d Lynx 清醒的猞猁, · Maverick Meerkat 標新立異的的狐獴 pool目錄 過去,軟件包均放在dists目錄下相應發(fā)行版的子目錄中。這種做法產生了許多問題,當鏡像站點進行新版本發(fā)布時大量帶寬被消耗。 現(xiàn)在軟件包均放進一個巨大的“池子(pool)”,按照源碼包名稱分類存放。為了方便管理,pool目錄下按屬性再分類(main、 restricted、universe和multiverse),分類下面再按源碼包名稱的首字母歸檔。這些目錄包含的文件有:運行于各種系統(tǒng)架構的二 進制軟件包,生成這些二進制軟件包的源碼包。 你可以執(zhí)行命令apt-cache showsrc m
19、ypackagename,查看“Directory:”行獲知每個軟件包的存放位置。例如:apache軟件包存放在pool/main/a /apache/軟件包存放在lib*軟件包數(shù)量巨大,它們以特殊的方式歸檔:例如,libpaper軟件包存放在pool/main/libp /libpaper/。 諸如apt等命令訪問的索引文件仍位于dists目錄中。 通常,你大可不必注意這些,新版的apt和舊版dpkg-ftp會自動處理它們。 發(fā)布源目錄結構 在每個主目錄樹下(dists/lucid/main、dists/lucid/restricted、dists/lucid /universe、dists
20、/lucid/multiverse/,等)按芯片架構又分了子目錄,每個子目錄中存放著在該芯片架構下編譯的二進制軟件 包。 · binary-amd64/ AMD64 或 EM64T 架構 · binary-i386/ 所有的使用 Intel/AMD/等 處理器的PC, 源代碼 Ubuntu 系統(tǒng)中的main,universe組件有源代碼,不僅如此,許可證條款規(guī)定系統(tǒng)中所有的程序必須和其源代碼一起發(fā) 行,或提供源代碼出售。 通常源代碼發(fā)布在source目錄,該目錄同時處于所有架構目錄中,更新的源碼則在pool目錄中(參閱 pool目錄, 第 2.1.10 節(jié))。對于不太熟悉
21、Ubuntu 歸檔目錄結構的用戶想獲得源代碼可以試試apt-get source mypackagename命令。 有些軟件包,如著名的pine,由于許可證限制,只提供源碼包。(最近,pine-tracker軟件包提供了一個簡易的安裝版)安裝源碼 包的方法可參閱 向系統(tǒng)引入軟件包, 第 6.4.10 節(jié), 打包, 第 13.10 節(jié)教你如何手工創(chuàng)建一個軟件包。 restricted和multiverse目錄中的軟件包可能不提供源代碼,因為它們沒有正式加入 Ubuntu 系統(tǒng)。 Ubuntu 軟件包管理系統(tǒng)Ubuntu 軟件包格式 Ubuntu “軟件包”,或稱之為 Debian 包文件( De
22、bian archive file),包含了可執(zhí)行文件、庫文件、和相關程序的文檔。通常 Ubuntu 文件的文件名以.deb結尾。 Ubuntu 二進制軟件包內部格式描述見deb(5)幫助頁面。所以要操作.deb文件請參閱dpkg-deb(8)。 Ubuntu 軟件包命名約定 Ubuntu 軟件包命名遵循下列約定: foo_ver-rev_arch.deb一般這里的foo是軟件包的名稱,ver是軟件本身的版本號,rev是 Ubuntu 修訂版本號,arch是目標架構名稱。當然,文件很容易被改名;不過,你也可以通過運行下面的命令來找出文件實際是那個軟件包: dpkg -info Ubuntu 修
23、訂版本號由 Ubuntu 開發(fā)者或創(chuàng)建這個軟件包的人指定。通常,包被修改過之后,會把修改版本號加一,有些也會加上ubuntu的標志以便和Debian區(qū)分開來。. Ubuntu 維護腳本 Ubuntu 維護腳本是一種可執(zhí)行腳本,它在軟件包安裝之前或之后自動運行。它和一個名叫control的文件一起組成 Ubuntu 包文件的“管理”部分。 這些文件是: preinst: 在 Ubuntu 包文件解包之前,運行這個腳本。許多“preinst”腳本的任務是停止作用于待升級軟件包的服務,直到軟件包安裝或升級完成。 postinst: 該腳本的任務是完成 Debian 包文件解包文件的配置工作。通常,“
24、postinst”腳本等待用戶輸入,或提醒用戶,如果他接受當前默認值,要記得軟件包安裝完后返回重新配置。許多 “postinst”腳本負責執(zhí)行有關命令為新安裝或升級的軟件重啟服務。 prerm: 該腳本負責停止與軟件包關聯(lián)的daemon服務。它在刪除軟件包關聯(lián)文件之前執(zhí)行。 postrm: 該腳本負責修改軟件包鏈接或文件關聯(lián),或刪除由它創(chuàng)建的文件。(參閱虛擬軟件包, 第 2.2.7 節(jié))。 當前,所有的管理文件都存放在/var/lib/dpkg/info目錄。與foo軟件包相關的文件,名字以“foo”打頭,以 “preinst”、“postinst”等為擴展名。目錄中的foo.list文件列出
25、了foo軟件包安裝的所有文件。(注意這些文件的位置在由 dpkg來確定,可能會因Debian版本而異) 軟件包優(yōu)先級 每個 Ubuntu 軟件包均被發(fā)布者指點了一個優(yōu)先級,作為軟件包管理系統(tǒng) 的一個輔助參數(shù),優(yōu)先級的值有: · Required(必須) 該級別軟件包是保證系統(tǒng)正常運行必須的。 包含所有必要的系統(tǒng)修補工具。不要刪除這些軟件包,否則整個系統(tǒng)將受到損壞,甚至無法使用dpkg恢復。只安裝Required級軟件包的系統(tǒng)不可 能滿足所有的用途,但它可以啟動起來,讓系統(tǒng)管理員安裝想要的軟件。 · Important(重要) 在任何類Unix系統(tǒng)上均安裝有該級別軟件包。 系
26、統(tǒng)若缺少這類軟件,會運行困難或不好操作。該級別軟件包并不包括Emacs或X11或TeX或其它大型應用程序,它們只是一些實現(xiàn) 系統(tǒng)底層功能的程序。 · Standard(基本) 該級別軟件包是任何Linux系統(tǒng)的標準件,它們組成一個小而精的字符模式的系統(tǒng)。 系統(tǒng)的默認安裝就包括了它們?!癝tandard”級軟件包不包括許多大型應用程序,但它包括Emacs(它比其它應用程序更底層)和Tex及 LaTeX的精巧版(不支持X)。 · Optional(推薦) 該級別軟件包包括那些你可能想安裝的軟件,即使對它們并不熟悉,但對它們沒有特殊的要求。 它們包括X11,TeX完整發(fā)布版和許多
27、應用程序。 · Extra(額外) 該級別軟件包可能與其它高級別軟件包沖突,僅當你知道其用途時才會使用它們,或者有運行它們有專門要求,這些都使它們不適合定為“Optional”級。 請注意軟件包描述中“Priority: required”(優(yōu)先級:必須)、“Section: base”(組件:基本)、“Essential: yes”(必要:是)的區(qū)別?!癝ection: base”(組件:基本)意味著在安裝新系統(tǒng)時這個軟件包要先于其它所有軟件安裝。大多數(shù)在“Section: base”中的軟件包都被打上了“Priority: required”(優(yōu)先級:必須)標簽,或者至少是“Pr
28、iority: important”(優(yōu)先級:重要);并且其中的很多也同時具有“Essential: yes”(必要:是)標簽?!癊ssential: yes”意味著要用軟件包管理系統(tǒng)的dpkg等程序刪除它時,必須給出額外的強制選項才行。比如,libc6、mawk和makedev軟件包屬于 “Priority: required”和“Section: base”,但不是“Essential: yes”。 虛擬軟件包 虛擬軟件包是一個統(tǒng)稱,它代指一組具有相近功能的軟件包中的任何一個。例如,tin和trn都是新聞組閱讀軟件,當系統(tǒng)中某個程序需要使用新聞閱讀 器時,它們中的任何一個都可以滿足要求。因
29、此,這兩個軟件包一起提供了一個叫做news-reader(新聞閱讀器)的“虛擬軟件包”。 類似的,許多exim、exim4、sendmail、postfix這樣的軟件包都提供郵件傳輸代理的功能。因此,它們在一起提供了一個 稱為mail-transport-agent(郵件傳輸代理)的虛擬包。安裝了它們中的任何一個,都會滿足其它倚賴于郵件傳輸代理功能的程序的需要。 Ubuntu 有個機制,如果系統(tǒng)中提供同種虛擬包的軟件包安裝了多個,系統(tǒng)管理員可以指定一個為首選軟件。相關的命令是update-alternatives,更詳 細的描述參閱 Alternative 命令, 第 6.5.3 節(jié)。 軟件包
30、依賴關系 Ubuntu 軟件包管理系統(tǒng)依賴聲明,它描述了這一事實:一些軟件包需要其它軟件包被安裝才能正常運行或運行得更好。 · 軟件包A依賴(depends)軟件包B:要運行A必須安裝B。在有些情況下,A不僅依賴B,還要求B的特定版本。 版本依賴通常有最低版本限制,A更依賴于B的最新版而非某個特定版本。 · 軟件包A推薦(recommends)軟件包B:軟件包維護者認為所有用戶都不會喜歡缺少某些功能的A,而這些功能 需要B來提供。 · 軟件包A建議(suggests)軟件包B:B中某些文件與 A 的功能相關,并能夠增強 A 的功能。這種關系通過聲明軟件包 B 增強
31、 Enhances 軟件包 A 來表示。 · 軟件包A與軟件包B沖突(conflicts):如果系統(tǒng)中安裝了B那么A無法運行。“Conflicts”常和 “replaces”同時出現(xiàn)。 · 軟件包A替換(replaces)軟件包B:B安裝的文件被A中的文件移除和復蓋了。 · 軟件包A提供(provides)軟件包B:A中包含了B中的所有文件和功能。 上述術語使用方法的更詳細的信息參閱 Packaging Manual 和 the Policy Manual。 注意,dselect可以對recommends和suggests類軟件包進行細操作,apt-get只會 簡
32、單的下載安裝depends類軟件包而不管recommends和suggests類軟件包。這兩個程序均 正式使用APT作為其后臺。 何為“Pre-depends” dpkg 總是在配置一個有依賴關系的包之前,先對被依賴的包進行配置。 然而,dpkg 通常將歸檔文件隨意解包,不顧依賴性。 (從歸檔文件中解包并提取文件,將他們放置到正確的位置。) 如果是 Pre-Depends 包,則在所依賴的其它包被解包和配置之前, Pre-Depends 包不會被解包。 使用這種依賴的目的是為了將依賴復雜性降至最底。 軟件包狀態(tài) 軟件包有各種狀態(tài):“unknown”,“install”,“remove”,“pu
33、rge”和“hold”。這些“希望”標記描述了用戶打算如 何操作這些軟件包(既可以使用dselect的“Select”菜單,也可以直接調用dpkg)。 它們的意思是: · unknown - 用戶并沒描述他想對軟件包進行什么操作。 · install - 用戶希望對軟件包進行安裝或升級。 · remove - 用戶希望刪除軟件包,但不想刪除任何配置文件。 · purge - 用戶希望完全刪除軟件包,包括配置文件。 · hold - 用戶希望軟件包保持現(xiàn)狀,例如,用戶希望保持當前的版本,當前的狀態(tài),當前的一切。 阻止軟件包升級 有兩種方法阻止軟件
34、包升級,使用dpkg,或者在Woody中使用APT。 使用dpkg,首先導出軟件包選擇列表: dpkg -get-selections * > selections.txt 接著編輯文件selections.txt,修改想要恢復的軟件所在的行,例如libc6,則將: libc6 install改為: libc6 hold保存文件,將它裝入dpkg數(shù)據(jù)庫: dpkg -set-selections < selections.txt 或者,如果你知道要恢復的軟件包名稱,執(zhí)行: echo libc6 hold | dpkg -set-selections這個命令將在每個軟件包安裝過程中保
35、持該軟件包不變。 使用dselect也可以達到同樣的效果。進入Select屏幕,找到想阻止其升級的軟件包,按“=”鍵(或者“H”)。更改在你退出 Select屏幕后立即生效。 Woody中的APT系統(tǒng)有一個新機制來阻止軟件包升級,在下載升級檔進程中使用Pin-Priority。參閱幫助頁面 apt_preferences(5),或閱讀 或apt-howto軟件包。 源碼包 源碼包發(fā)布在source目錄中,既可以手工下載可以使用 apt-get source foo 獲取它們(參閱apt-get(8)幫助頁面)。 編譯源碼包 對于foo軟件包,從源碼編譯需要foo_*.dsc、foo_*.tar
36、.gz和foo_*.diff.gz文件(注意,對于由 Debian 開發(fā)的軟件包,沒有.diff.gz文件)。 當你得全了這些文件,如果你這安裝了dpkg-dev軟件包,運行: $ dpkg-source -x foo_version-revision.dsc它將軟件包解壓到一個名為foo-version的目錄。 使用下列命令創(chuàng)建二進制軟件包: $ cd foo-version$ su -c "apt-get update apt-get install fakeroot"$ dpkg-buildpackage -rfakeroot -us -uc然后, # s
37、u -c "dpkg -i ./foo_version-revision_arch.deb"安裝新編譯的軟件包。參閱"./ch-package.zh-cn.html: 向系統(tǒng)引入軟件包, 第 6.4.10 節(jié)。 新建 Ubuntu 軟件包 創(chuàng)建新軟件包的詳細信息,參閱 New Maintainers' Guide, 該文檔在maint-guide包中,或瀏覽 Ubuntu 系統(tǒng)升級 Ubuntu 的設計目標之一就是提供一個平滑、安全和可靠的升級過程。軟件包系統(tǒng)在升級過程中會將重要改變警告系統(tǒng)管理員,在某些情況下,會要系統(tǒng)管理員來做決定。 你也應該閱讀發(fā)布手
38、記(Release Notes),它存在于所有的 Ubuntu 光盤中,也可以通過互聯(lián)網訪問 Ubuntu 軟件包管理, 第 6 章提供了升級的實用指南,本節(jié)只提供一個大綱,由包工具開始。 dpkg 它是操作軟件包文件的主要工具;參閱 dpkg(8) 獲得完整信息。 dpkg 由幾個原始的輔助程序演化而來。 · dpkg-deb:操作.deb文件。dpkg-deb(1) · dpkg-ftp:一個舊的軟件包獲取命令。dpkg-ftp(1) · dpkg-mountable:一個舊的軟件包獲取命令。dpkg-mountable(1) · dpkg-spli
39、t:將大軟件包分割成小包。dpkg-split(1) dpkg-ftp 和 dpkg-mountable 已被新的APT系統(tǒng)取代。 APT APT(the Advanced Packaging Tool)是 Ubuntu 軟件包管理系統(tǒng)的高級界面,由幾個名字以“apt-”打頭的程序組成。apt-get、apt-cache和apt-cdrom是處理軟件包的命令行工 具,它們也是其它用戶前臺程序的后端,如dselect和aptitude。 更多信息,可安裝apt軟件包后閱讀apt-get(8)、apt-cache(8)、apt-cdrom(8)、 apt.conf(5)、sources.list(
40、5)、apt_preferences(5)(woody)以及/usr/share/doc /apt/guide.html/index.html。 另一個資源是APT HOWTO,如果安裝了apt-howto包,可在/usr/share/doc/Debian/apt-howto/中找到它。 apt-get upgrade和apt-get dist-upgrade只獲取“Depends”類軟件包,它忽略“Recommend”和“Suggests”類軟件包,不想這樣的話,可使用 dselect。 dselect 這個程序是 Ubuntu 軟件包管理系統(tǒng)中菜單驅動的用戶界面。特別適用于首次安裝和大面積
41、升級。參閱 dselect, 第 6.2.4 節(jié)。 更多信息,可安裝install-doc包后閱讀/usr/share/doc/install-doc/dselect- beginner.en.html或dselect Documentation for Beginners。 不停機系統(tǒng)升級 Ubuntu 系統(tǒng)的內核(文件系統(tǒng))支持替換使用中的文件。 當一個軟件包升級時,如果由該軟件包提供的服務在當前運行級下正在運行,則該服務將被重新啟動。 Ubuntu 系統(tǒng)不要求用戶在 single-user 模式下進行不停機升級。 下載和緩存.deb文件 如果你手工下載包文件到硬盤(這完全沒有必要,請閱讀
42、上面有關dpkg-的內容),當你完成軟件包安裝工作后,可以從系統(tǒng)中刪 除.deb文件。 如果是使用APT,這些文件會緩存在/var/cache/apt/archives/目錄中。你可以在完成安裝后刪除它們(apt- get clean)或者將它們拷貝到另一個機器的/var/cache/apt/archives/目錄中以備以后的安裝。 升級記錄 dpkg會對軟件包的解包、配置、刪除、完全刪除進行記錄,但不能(目前是這樣)記錄在包操作的過程中活躍終端的行為。 最簡單的解決方法是在運行dpkg、dselect、apt-get等工具的會話中加入script(1)程序。 Ubuntu 系統(tǒng)引導進程 in
43、it程序 同所有的Unix一樣, Ubuntu 啟動要執(zhí)行init程序。init的配置文件(/etc/inittab)中指定的第一個執(zhí)行腳本應該是 /etc/init.d/rcS。 接下來將要發(fā)生要看是否安裝了 sysv-rc 軟件包或 軟件包。下面假設安裝了 sysv-rc 軟件包。 ( 含有它自己的 /etc/init.d/rcS 腳本,在 rc 目錄里使用文件代替符號鏈接來控制哪個服務在哪個運行級別啟動。) sysv-rc 軟件包里面的 /etc/init.d/rcS 運行 /etc/rcS.d/ 目錄下的所有腳本來執(zhí)行初始化,如: 檢查并掛載文件系統(tǒng)、裝載內核模塊、啟動網絡服務、設定時
44、鐘等。 接著,為了兼容性考慮,它運行/etc/rc.boot/目錄下的文件(除了那些文件名中包含“.”的文件),該目錄中的腳本是保留給系統(tǒng)管理員使用,不 贊成使用該目錄。 更多信息參見 系統(tǒng)初始化, 第 9.1 節(jié) 和 Debian Policy Manual 中的 System run levels and init.d scripts Ubuntu 沒有使用 BSD 風格的 rc.local 文件。 運行級別 完成系統(tǒng)啟動進程后,init啟動所有在默認運行級別配置為啟動的服務。 默認運行級別由 /etc/inittab 中的 id 給出。 Ubuntu 使用 id=2。 Ubuntu 使用
45、下列的運行級別: · 1(單用戶模式 single-user mode), · 2 到 5(多用戶模式 multi-user modes), · 0(關閉系統(tǒng)), · 6(重啟系統(tǒng))。 運行級7、8和9也能夠使用,但是它們的 rc 目錄在軟件包安裝的時候沒有。 使用 telinit 命令來轉換運行級別。 當進入一個運行級別時,所有在 /etc/rcrunlevel.d/ 目錄下的腳本將被執(zhí)行。 腳本名的第一個字母決定了該腳本的運行方 式: 使用 K 開頭的腳本,使用 stop 參數(shù)來運行。 使用 S 開頭的腳本,使用 start 參數(shù)來運行。 這些腳本按
46、照它們名字的字母順序運行;因此,“stop”腳本比“start”腳本先運行。 在 K 或 S 之后的兩個數(shù)字決定了腳本運行的先后次序,數(shù)字小的腳本先運行。 實際上,目錄/etc/rcrunlevel.d/中的腳本都是指向/etc/init.d/的符號鏈接。這些腳本接受 “restart”和“force-reload”作為參數(shù):“force-reload”的方式可以用來在系統(tǒng)啟動后,重新啟動服務或者強迫它們重新裝 載它們的配置文件。 例如: # /etc/init.d/exim4 reload 自定義運行級別 自定義運行級別是一個高級的系統(tǒng)管理任務。 下面的指示面向大部分服務。 在運行級 R 啟
47、動 service 服務,創(chuàng)建一個符號鏈接 /etc/rcR.d/Sxyservice 到目標文件 ./init.d/service。 xy 是序列號,是由軟件包在安裝的時候分配給服務的。 停止服務,重命名符號鏈接,將它的名字用 K 開頭來代替 S, 它的序列號是100減 xy。 可以使用象 sysv-rc-conf 或 ksysv 這樣的運行級別編輯器來方便的修改服務。 在一個特定的運行級別目錄,可以將某個服務的 S 符號鏈接刪除來代替重新命名它。 這種作法不停止該服務,但將把該服務留在一種 sysv-rc 初始化系統(tǒng)認為的“漂浮”狀態(tài): 當運行級別改變時,該服務即不會啟動,也不會停止, 它
48、將保留它原有的狀態(tài),不管它是在運行或者沒有運行。 注意,處于這種漂浮狀態(tài)的服務,如果它所屬的軟件包升級了, 這個服務將啟動,不管它在升級前是否運行。 這是當前 Debian 系統(tǒng)一個已知的缺點。 注意:還需要在運行級 0 和 6 之間保留服務的 K 符號鏈接。 如果刪除了一個服務的所有符號鏈接,在升級該服務的軟件包時, 所有的符號鏈接將恢復到它們的出廠默認模式。 不建議對 /etc/rcS.d/ 目錄里的符號鏈接做任何改變。 多樣性支持 Ubuntu 提供幾種途徑,在不破壞系統(tǒng)的前提下滿足系統(tǒng)管理員各種要求。 · dpkg-divert,參閱 dpkg-divert 命令, 第 6.
49、5.1 節(jié)。 · equivs,參閱 equivs 軟件包, 第 6.5.2 節(jié)。 · update-alternative,參閱 Alternative 命令, 第 6.5.3 節(jié)。 · make-kpkg可以支持多啟動引導。參閱make-kpkg(1)和 Ubuntu 標準方式, 第 7.1.1 節(jié)。 /usr/local/目錄下的所有文件均屬于系統(tǒng)管理員,Ubuntu不會改動它們。/etc下的大部分文件屬于 conffiles,Ubuntu不會在升級后復蓋它們,除非系統(tǒng)管理員明確要求復蓋。 國際化 Ubuntu 系統(tǒng)是國際化產品,不論是在控制臺下還是在X下,
50、它都提供多種語言的字符顯示和輸入支持。許多文檔、幫助頁面以及系統(tǒng)消息都被翻譯成各種語言。在安裝過程 中, Ubuntu 提示用戶選擇安裝語言(有時是當?shù)卣Z言變量)。 如果你安裝的系統(tǒng)提供的語言特性支持不能滿足你的需要,或者你要改變當前語言或安裝別的鍵盤方案以適應你的語言,參閱 本地化(localization), 第 9.7 節(jié)。 Ubuntu 和系統(tǒng)內核 參見 Ubuntu下的 Linux 內核, 第 7 章。 編譯非 Ubuntu 源碼包內核代碼 首先你必須了解 Ubuntu policy有關頭文件的規(guī)定。 Ubuntu C libraries是依據(jù)內核頭文件最新stable發(fā)布版創(chuàng)建的。
51、 跟隨內核源碼發(fā)布的內核頭文件位于/usr/include/linux/include/。 如果你編譯某個程序所用的內核頭文件比libc6-dev提供的頭文件還新,在編譯時你必須在命令行中加上-I/usr/src /linux/include/。這些情況是存在的,例如,對于automounter daemon(amd)軟件包而言,當新內核改變了對NFS的內部操作方式,amd需要知道這些改變。這時就需要引用新的內核頭文件。 自定義內核創(chuàng)建工具 對于希望(或必須)使用自定義內核的用戶,推薦下載kernel-package軟件包。該軟件包包含了創(chuàng)建內核包的腳本。有了它,新建 Ubuntu 內核鏡像包
52、只需在內核源碼目錄的一級目錄運行 # make-kpkg kernel_image在內核源碼所在目錄的頂層,執(zhí)行下述命令可獲得有關幫助 # make-kpkg -help或閱讀make-kpkg(8)幫助頁面以及 Ubuntu下的 Linux 內核, 第 7 章。 如果所需的kernel-source-version(version代表內核版本號)包不存在,用戶就得從Linux文件站點分別下載 最新的(或需要的)內核源碼。 有關kernel-package包的用法詳述見于/usr/doc/kernel-package/README。 多系統(tǒng)引導器 要使用多系統(tǒng)引導器如grub或loadlin,
53、請將編譯好的Linux內核bzimage拷貝到相應的地方(例如/boot/grub或MS- DOS分區(qū))。 制做引導軟盤 Ubuntu 的 mkrboot 軟件包可以幫你制作一張自定義啟動軟盤,軟件包中的Shell腳本按syslinux格式制作啟動軟盤。對于那些使用MS-DOS格式化的軟盤,其主引導 扇區(qū)的記錄將被修改為直接引導Linux(或是其它在盤中syslinux.cfg文件里的操作系統(tǒng))。該軟件包中的其它腳本可制作急救盤甚至重建基本系 統(tǒng)。 模塊加載規(guī)定 Ubuntu 的modconf軟件包提供了一個shell腳本(/usr/sbin/modconf),它可以用來自定義內核模塊配置。該
54、腳本使用菜單界面,用戶通過 它給出系統(tǒng)中可掛載設備驅動的有關細節(jié),它再將這些細節(jié)信息生成/etc/modules.conf文件(其中列出了別名aliases和其它參數(shù),用于 連接各種模塊),該配置文件用來加載/etc/modutils/目錄下和/etc/modules(其中列出了需要在系統(tǒng)啟動時加載的模塊)目錄的相關 模塊。 新版的配置幫助文件 Configure.help 可為構造自定義內核提供幫助,同樣,modconf軟件包中也有一系列幫助文件(位于/usr/share/modconf/目錄下),告訴你如何對模塊 設定合適的參數(shù)。參閱 模塊化的 2.4 內核, 第 7.2 節(jié)中的例子。 卸
55、載舊內核 uname -ra 可用來檢查當前運行的內核版本,以確定是否與你打算卸載的內核版本相同。因此你可以使用如下命令刪除不想要的內核鏡像包: # dpkg -purge -force-remove-essential linux-image-NNN (當然,要將NNN替換成你的內核版本號和修訂版號。) Ubuntu 的官方安裝文檔位于 ,里面包含了 amd64、hppa、i386、ia64、powerpc和sparc的安裝文檔。中文翻譯在 常規(guī) Linux 安裝提示 如果你在尋找精簡的 Ubuntu 安裝光盤,請別忘記檢查 在其它 OS 下確定 PC 硬件 還可從其它操作系統(tǒng)中獲取硬件信息
56、。 安裝其它商業(yè)版 Linux,當前它們在硬件偵測方面做得比 Debian 好。 安裝 Windows。用鼠標右鍵點“我的電腦”在菜單中選屬性/設備管理,可獲得硬件配置信息。記下所有的資源信息如 IRQ、I/O 端口地址和 DMA。有些舊的 ISA 卡可能要在 DOS 下配置。 Lilo 神話 "Lilo 受限于 1024 柱面。" 大錯特錯! Ubuntu 之后使用的新版 lilo 支持 lba32。只要主板的 BIOS 版本支持 lba32,lilo 就可以突破 1024 柱面的限制。 如果你使用的是舊版 lilo.conf,請確定在你的 lilo.conf 文件開頭的
57、某處加了一行命令指示系統(tǒng)讀取“l(fā)ba32”。參閱 /usr/share/doc/lilo/Manual.txt.gz。 GRUB GNU Hurd 項目組提供的新的系統(tǒng)引導工具 grub 可使用于 Debian Woody 系統(tǒng)。 要編輯 GRUB 菜單,可編輯 /boot/grub/menu.lst 文件。參閱 設置 GRUB 啟動參數(shù), 第 8.1.6 節(jié)獲取有關啟動參數(shù)設置信息,它和 lilo 的設置方法不太一樣。= 選擇引導軟盤 =你可以使用 bootcd 包,來制作一個可以啟動的軟盤,當然我們更推薦你直接使用LiveCD來作為維護系統(tǒng)的工具。對于最新的dapper版本,你可以直接使用Desktop CD從光盤啟動來維護,或者安裝系統(tǒng)。= 安裝系統(tǒng) =這方面的官方文檔在 ,中文翻譯在:在安裝 /dev/hda 的 mbr 時,我喜歡將 lilo 裝在諸如 /dev/hda3 的位置,這樣做可以減小引導信息被覆蓋的風險。下面是我在安裝過程中所做的選擇。* MD5 passwords "yes"* shadow passwords "yes"* Install "advanced" (ds
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZJWL 001-2024 大宗商品供應鏈金融動產質押監(jiān)管倉儲服務規(guī)范
- T-ZNZ 264.3-2024 重金屬中度污染農田土壤修復和安全利用技術規(guī)范 第3部分:超積累東南景天與芝麻輪作
- 二零二五年度服裝品牌廠家全國代理合作協(xié)議
- 2025年度電影院包場租賃及廣告合作合同
- 二零二五年度金融科技股權投資合同協(xié)議
- 二零二五年度工傷事故賠償調解協(xié)議(含傷殘評定)
- 二零二五年度全包裝修合同模板含定制家具制作
- 2025年度離職賠償協(xié)議書中的離職員工離職通知及手續(xù)辦理
- 二零二五年度聯(lián)防聯(lián)控疫情防控科研合作合同
- 2025年度線上虛擬購物體驗合同書
- 生產車間管理制度辦法
- 機電企業(yè)管理導論第1章課件
- 水平一足球全冊教案
- 蘇教版科學二年級下冊全冊教案
- 約束評分標準
- GB/T 28799.2-2020冷熱水用耐熱聚乙烯(PE-RT)管道系統(tǒng)第2部分:管材
- 法律和道德的關系 課件
- GB 16780-2021水泥單位產品能源消耗限額
- 全面推進依法行政課件
- 政務服務一網通辦平臺解決方案-最新
- 第十四屆全國交通運輸行業(yè)職業(yè)技能競賽(公路收費及監(jiān)控員)賽項題庫-上(單選題匯總-共3部分-1)
評論
0/150
提交評論