版 權 聲 明 版 權 所 有 2001, 2002, 2003, 2004 Gustavo Noronha Silva This manual is free software; you may redistribute it and/or modify it under the terms of



Similar documents
6-1-1極限的概念

Microsoft Word doc

證 券 簡 易 下 單 :2121 證 券 簡 易 下 單 1. 主 工 具 列 的 視 窗 搜 尋 器 直 接 輸 入 點 擊 主 選 單 證 券 專 區 下 單 特 殊 下 單 2121 證 券 簡 易 下 單 畫 面 說 明 1. 下 單 區 2. 個 股 行 情 資 訊 與

版 权 声 明 版 权 所 有 2001, 2002, 2003, 2004 Gustavo Noronha Silva This manual is free software; you may redistribute it and/or modify it under the terms of

Microsoft Word - 第四章.doc

所 3 學 分 課 程, 及 兩 門 跨 領 域 課 程 共 6 學 分 以 上 課 程 學 生 在 修 課 前, 必 須 填 寫 課 程 修 課 認 定 表, 經 班 主 任 或 指 導 教 授 簽 名 後 始 認 定 此 課 程 學 分 ) 10. 本 規 章 未 盡 事 宜, 悉 依 學 位

e-Submission System Quick Reference Guide for Publication Related Matters (Chinese version)

目 錄 項 目 內 容 頁 數 1 手 機 要 求 3 2 登 記 程 序 3 3 登 入 程 序 4 4 輸 入 買 賣 指 示 6 5 更 改 指 示 14 6 取 消 指 示 18 7 查 詢 股 票 結 存 21 8 查 詢 買 賣 指 示 23 9 更 改 密 碼 查 詢 股


寫 作 背 景 導 讀 [98] L Lyman Frank Baum

章節

PowerPoint 簡報

NCKU elearning Manual

實德證券網上交易系統示範

目 錄 頁 1. 歡 迎 使 用 網 上 預 約 面 談 訪 問 系 統 新 用 戶 新 用 戶 登 入 帳 戶 程 序 啟 動 網 上 預 約 面 談 訪 問 帳 戶 核 對 帳 戶 的 地 址 資 料

(Microsoft Word - MOODLE990201\266i\266\245\244\342\245U )

二 兒 歌 選 用 情 形 ( ) 2 ( ) ( )

<4D F736F F D20B3E6A4B830312D2D2DBCC6BD75BB50BEE3BCC6AABAA55BB4EEB942BAE22E646F6378>

內 政 統 計 通 報

Microsoft PowerPoint - 資料庫正規化(ccchen).ppt

101年度社會福利方案 網路線上操作手冊

Microsoft Word - ch07

目 錄 壹 題 目 1: 新 增 商 品 ( 商 品 名 稱 為 玉 井 芒 果 乾 禮 盒 )... 3 貳 題 目 2: 新 增 商 品 ( 商 品 名 稱 為 紅 磚 布 丁 精 選 禮 盒 )... 5 參 題 目 3: 新 增 商 品 ( 商 品 名 稱 為 晶 鑽 XO 醬 禮 盒 ).

授 課 老 師 章 節 第 一 章 教 學 教 具 間 3 分 鐘 粉 筆 CNC 銑 床 教 學 內 容 CNC 銑 床 之 基 本 操 作 教 材 來 源 數 值 控 制 機 械 實 習 Ⅰ 1. 了 解 CNC 銑 床 的 發 展 2. 了 解 CNC 銑 床 刀 具 的 選 用 3. 了 解

研究一:n人以『剪刀、石頭、布』猜拳法猜拳一次,決定一人勝

sle cover 1

第 6. 節 不 定 積 分 的 基 本 公 式 我 們 可 以 把 已 經 知 道 反 導 函 數 之 所 有 函 數 都 視 為 不 定 積 分 的 基 本 公 式 基 本 公 式 涵 蓋 的 範 圍 愈 大, 我 們 求 解 積 分 就 愈 容 易, 但 有 記 憶 不 易 的 情 事 研 讀

Microsoft Word - Draft circular on Sub Leg Apr (chi)_Traditional

目 錄 一 系 統 登 入... 2 ( 一 ) 系 統 登 入 畫 面... 2 ( 二 ) 首 次 登 入 請 先 註 冊... 3 ( 三 ) 忘 記 單 位 帳 號... 8 ( 四 ) 忘 記 密 碼 ( 五 ) 健 保 卡 更 換 ( 六 ) 重 寄 確 認 信.

四 修 正 幼 兒 園 師 資 類 科 應 修 學 分 數 為 四 十 八 學 分, 並 明 定 學 分 數 抵 免 之 相 關 規 定 及 規 範 修 習 幼 兒 園 教 育 專 業 課 程 之 最 低 年 限 ( 修 正 條 文 第 五 條 ) 五 發 給 修 畢 師 資 職 前 教 育 證 明

肆 研 究 方 法 進 行 本 研 究 前, 我 們 首 先 對 研 究 中 所 用 到 名 詞 作 定 義 定 義 : 牌 數 : 玩 牌 時 所 使 用 到 撲 克 牌 數 次 數 : 進 行 猜 心 術 遊 戲 時, 重 複 分 牌 次 數 數 : 進 行 猜 心 術 遊 戲 時, 每 次 分

校 長 遴 選 者 就 相 關 遴 選 事 項, 有 程 序 外 之 接 觸 遴 選 會 委 員 在 任 期 間 因 故 無 法 執 行 任 務 或 有 不 適 當 之 行 為 者, 由 各 該 主 管 機 關 解 聘 之 ; 其 缺 額, 依 第 一 項 至 第 五 項 規 定 聘 ( 派 ) 委

骨 折 別 日 數 表 1. 鼻 骨 眶 骨 ( 含 顴 骨 ) 14 天 11. 骨 盤 ( 包 括 腸 骨 恥 骨 坐 骨 薦 骨 ) 40 天 2. 掌 骨 指 骨 14 天 12. 臂 骨 40 天 3. 蹠 骨 趾 骨 14 天 13. 橈 骨 與 尺 骨 40 天 4. 下 顎 ( 齒

Microsoft Word - 雲林區_免試平台_國中模擬選填_操作手冊.doc


關 於 教 育 部 學 習 拍 立 得 教 育 部 於 (103) 年 度 整 合 各 縣 市 政 府 部 屬 機 構 大 學 及 民 間 的 數 位 資 源 與 服 務, 依 不 同 類 型, 分 別 匯 集 於 教 育 大 市 集 教 育 百 科 教 育 媒 體 影 音 教 育 部 學 習 拍

PART 2 系 統 篇 仔 細 檢 查 記 憶 體 和 顯 示 卡 AIDA64 Everest 操 作 : 使 用 AIDA64 檢 測 主 機 溫 度 AIDA64 DirectX AIDA

Layout 1

五 四 五 說 ( 代 序 ) 李 澤 厚 劉 再 復 I I II IV V VII 第 一 篇 五 四 新 文 化 運 動 批 評 提 綱 附 論 一 中 國 貴 族 精 神 的 命 運 ( 提 綱 )

CONTENTS 訓 練 內 容 設 計 法 056 淡 季 期 的 訓 練 058 旺 季 期 的 訓 練 060 針 對 爬 坡 賽 的 訓 練 內 容 062 賽 後 的 資 料 分 析 PART4/ 鏑 木 毅 先 生 的 建 言 活 用 於 越 野 路 跑 的 心 跳 訓


128 提 示 樞 紐 分 析 表 的 用 途 樞 紐 分 析 表 是 指 可 以 用 來 快 速 合 併 和 比 較 大 量 資 料 的 互 動 式 表 格, 透 過 它 可 以 詳 細 分 析 數 值 資 料, 特 別 適 用 於 下 列 情 況 : 需 要 從 含 有 大 量 資 料 的 清

16

Acronis Backup & Recovery 11 進階版本

前 項 第 三 款 所 定 有 機 農 產 品 及 有 機 農 產 加 工 品 驗 證 基 準, 如 附 件 一 第 七 條 驗 證 機 構 受 理 有 機 農 產 品 及 有 機 農 產 加 工 品 之 驗 證, 應 辦 理 書 面 審 查 實 地 查 驗 產 品 檢 驗 及 驗 證 決 定 之

會 員 專 區 使 用 手 冊 目 錄 一 基 本 介 紹 會 員 專 區 登 入 位 置 主 畫 面 與 網 站 架 構 : 功 能 導 覽 列 說 明 :... 3 二 DOI 查 詢 與 維 護... 4 三 DOI 註 冊 期 刊 類 型...

投影片 1

瑞興銀行

BSP 烤箱 - 封面-2

虛擬交易所97年GVE3簡易版.doc

第二組掃描器規範書


壹、組織編制 代碼:C0101意見反映

長跨距暨挑高建築特殊結構系統之調查分析

奇 妙 的 24 摘 要 從 撲 克 牌 中 隨 機 抽 取 4 張 牌 可 以 有 1820 種 牌 組, 在 這 1820 種 牌 組 中, 有 1362 組 可 經 由 四 則 運 算 的 方 式, 算 出 24 點, 有 458 組 無 解 快 速 求 解 的 方 法 有 相 加 法 因 數

題組一 文書排版

連江縣政府所屬學校兼任代課及代理教師聘任實施要點(草案)

節 數 內 容 網 頁 設 計 (1): 利 用 Google Sites 制 作 簡 單 文 字 網 頁, 連 結 不 同 版 面 網 頁 設 計 (2): 在 文 字 網 頁 上 加 插 圖, 上 載 網 頁 影 片 設 計 (1): 利 用 Windows Movie

二零零六至零七年施政報告


268 別 行 政 區 所 以, 全 國 人 民 代 表 大 會 根 據 憲 法 第 31 條 規 定 設 立 了 特 別 行 政 區 沒 有 憲 法 第 31 條 的 規 定, 就 沒 有 特 別 行 政 區 制 度 存 在 的 合 法 性 基 礎 62 正 如 上 述, 憲 法 為 特 別 行

Microsoft Word - Internet_Stock_Trading-Customer_Operation_Guide_C_0815.doc

簽 呈

???T????????

(DP_MFP_Training

PROSPECT EXPLORATION 壹 前 言 第 9 卷 第 2 期 中 華 民 國 100 年 2 月

PhotoImpact

支 持 機 構 : 社 會 文 化 司 主 辦 機 構 : 澳 門 學 聯 澳 門 青 年 研 究 協 會 電 話 : 傳 真 : 網 址 : 報 告 主 筆 : 李 略 博 士 數 據 錄

ART_RAE16_ticket_cn_p.1

修 課 特 殊 規 定 : 一 法 律 系 學 生 最 低 畢 業 學 分 128;101 學 年 度 修 讀 法 律 系 雙 主 修 學 生 應 修 畢 法 律 專 業 目 64 學 分 ( 限 修 習 本 校 法 律 系 開 設 課 程, 不 得 以 原 學 系 或 外 校 課 程 抵 免 -

一、 資格條件:

HSBC Holdings plc Interim Report Chinese

1. 安 裝 1.1 手 機 端 安 裝 檔 (cab 檔 ) 請 您 將 下 載 的 cab 檔 案 複 製 到 手 機 內 任 一 資 料 夾, 在 手 機 上 點 擊 cab 檔 案 後 即 可 開 始 安 裝 點 擊 本 檔 案 即 可 開 始 安 裝 請 於 您 的 手 機 上 繼 續 安

答客問

標 準 作 業 程 序 的 版 本 說 明 : 制 定 者 版 本 編 碼 日 期 日 期 主 要 秘 書 處 Version /12/ /12/03 第 一 版 秘 書 處 Version /12/ /12/31 第 一 版 第 一 次 秘

第一章 緒論

教育實習問與答:

CP70D0026D61ETW0R01-01-印刷

Microsoft Word - 立法會十四題附件.doc

<4D F736F F D D313032A7DEC075BAC2BC66B56EB04FB44EC5AAA7D3C440A7C7A874B2CEBEDEA740A4E2A5552E646F63>

(3) 澳 門 特 別 行 政 區 之 稅 務 知 識 及 (4) 商 法 典 ( 二 ) 重 新 批 准 註 冊 為 註 冊 會 計 師 / 專 業 會 計 員 之 筆 試 科 目 如 下 : (1) 澳 門 特 別 行 政 區 之 稅 務 知 識 及 (2) 商 法 典 ( 三 ) 考 試 範

xls

目 錄 1. 簡 介 設 立 帳 戶 帳 戶 登 記 重 設 登 入 密 碼 考 試 報 名 登 入 報 名 系 統 考 生 資 料 科 目 選 擇 曾 應 考

認可人士、註冊結構工程師及註冊岩土工程師作業備考 ADM-6

Microsoft Word - LongCard_Promo_2013_FAQ_tc_pdf.doc

C CH4.tpf

目 錄

職能基準

進 入 系 統 1. 請 於 首 頁 右 側 使 用 者 登 入 輸 入 帳 號 密 碼 驗 證 碼 後, 點 選 登 入 進 入 系 統 2. 直 接 點 選 右 側 的 進 入 系 統, 直 接 進 入 題 目 檢 索 頁 面 直 接 進 入 系 統 後, 您 仍 可 瀏 覽 選 擇 您 所 需

2 2.1 A H ir@abchina.com 2

「家加關愛在長青」計劃完成表現及評估報告

格 成 績 證 明 第 六 條 第 七 條 本 系 大 四 課 程 中 規 劃 日 本 韓 國 越 南 專 題 研 究, 學 生 需 於 大 四 時 修 習 該 課 程, 並 於 規 定 期 間 內 提 出 專 題 報 告, 取 得 合 格 成 績 證 明 本 系 規 定 學 生 畢 業 時 需 取

1

課 程 簡 介 第 一 章 基 本 電 路 理 論 第 二 章 半 導 體 物 理 與 pn 接 面 二 極 體 元 件 分 析 第 三 章 二 極 體 電 路 分 析

Microsoft Word - BM900HD-2F電腦設定.doc

55202-er-ch03.doc

2016年中國語文科試卷三聆聽及綜合能力考核樣本試卷示例及說明

<4D F736F F D20B2C433B3B92020B971B8F4A4C0AA52A7DEA5A9>

桃園市104年國民中學新進教師甄選各校複試方式及需求表

( 三 ) 走 道 與 建 築 物 結 構 空 間 不 符 規 定 者, 得 降 低 走 道 設 置 位 置 或 空 間 不 足 處 之 部 分 走 道 高 度, 並 視 需 要 採 階 梯 式 設 計, 使 建 築 物 與 其 走 道 間 保 持 1.8 公 尺 以 上, 確 保 人 員 走 行

Transcription:

APT HOWTO (Obsolete Documentation) Gustavo Noronha Silva <kov@debian.org> 劉 浩 <iamlyoo@163.com> 1.8.10.4-2005 年 3 月 摘 要 這 篇 文 件 試 圖 讓 使 用 者 對 於 Debian 包 管 理 工 具 APT 的 工 作 方 式 有 一 個 很 好 的 理 解 它 的 目 標 是 讓 新 的 Debian 使 用 者 更 容 易 上 手, 也 讓 那 些 想 幫 助 那 些 想 更 深 入 理 解 如 何 管 理 他 們 的 系 統 的 人 它 為 Debian 項 目 而 編 寫, 目 的 是 提 高 此 發 行 版 對 它 的 使 用 者 的 支 援 水 平

版 權 聲 明 版 權 所 有 2001, 2002, 2003, 2004 Gustavo Noronha Silva This manual is free software; you may redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This is distributed in the hope that it will be useful, but messageout any warranty; messageout even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details. A copy of the GNU General Public License is available as /usr/share/common-licenses/gpl in the Debian GNU/Linux distribution or on the World Wide Web at the GNU General Public Licence. You can also obtain it by writing to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

i Contents 1 導 言 1 2 基 礎 設 定 3 2.1 /etc/apt/sources.list 檔 案................................ 3 2.2 如 何 在 本 地 使 用 APT................................... 4 2.3 選 擇 最 佳 鏡 像 發 佈 站 台 加 入 source.list 檔 案 :netselect,netselect-apt........ 5 2.4 將 CD-ROM 加 入 source.list 檔 案............................. 6 3 套 裝 軟 體 管 理 7 3.1 更 新 可 用 套 裝 軟 體 列 表.................................. 7 3.2 安 裝 套 裝 軟 體....................................... 7 3.3 移 除 套 裝 軟 體....................................... 9 3.4 更 新 套 裝 軟 體....................................... 10 3.5 升 級 到 新 版 本....................................... 11 3.6 移 除 無 用 套 裝 軟 體 檔 案 :apt-get clean and autoclean................. 12 3.7 在 dselect 中 操 作 APT................................... 13 3.8 如 何 保 持 一 個 混 合 系 統.................................. 15 3.9 如 何 從 Debian 的 專 用 版 本 下 升 級 套 裝 軟 體....................... 15 3.10 如 何 維 護 已 安 裝 套 裝 軟 體 的 多 個 版 本 ( 複 雜 ) How to keep specific versions of packages installed (complex).............................. 16 4 幾 個 非 常 有 用 的 工 具 19 4.1 如 何 安 裝 本 地 編 譯 的 套 裝 軟 體 :equivs......................... 19 4.2 移 除 無 用 的 地 區 組 態 (locale) 檔 案 :localepurge.................... 21 4.3 如 何 知 曉 哪 些 套 裝 軟 體 可 以 升 級............................. 21

CONTENTS ii 5 獲 取 套 裝 軟 體 資 訊 23 5.1 獲 得 套 裝 軟 體 名 稱..................................... 23 5.2 使 用 dpkg 尋 找 套 裝 軟 體 名 稱............................... 25 5.3 如 何 按 需 安 裝 套 裝 軟 體............................... 26 5.4 如 何 知 道 檔 案 屬 於 哪 個 套 裝 軟 體............................. 27 5.5 如 何 掌 握 套 裝 軟 體 的 變 化 情 況.............................. 27 6 來 源 碼 包 操 作 29 6.1 下 載 來 源 碼 包....................................... 29 6.2 編 譯 來 源 碼 包 所 需 的 套 裝 軟 體.............................. 30 7 如 何 處 理 錯 誤 31 7.1 一 般 錯 誤.......................................... 31 7.2 在 哪 兒 獲 得 幫 助?..................................... 32 8 哪 些 發 行 版 支 援 APT? 33 9 致 謝 35 10 本 使 用 指 南 的 新 版 本 37

1 Chapter 1 導 言 最 初 只 有.tar.gz 的 打 包 檔 案, 使 用 者 必 須 編 譯 每 個 他 想 在 GNU/Linux 上 執 行 的 軟 體 使 用 者 們 普 遍 認 為 系 統 很 有 必 要 提 供 一 種 方 法 來 管 理 這 些 安 裝 在 機 器 上 的 套 裝 軟 體, 當 Debian 誕 生 時, 這 樣 一 個 管 理 工 具 也 就 應 運 而 生, 它 被 命 名 為 dpkg 從 而 著 名 的 package 概 念 第 一 次 出 現 在 GNU/Linux 系 統 中, 稍 後 Red Hat 才 決 定 開 發 自 己 的 rpm 包 管 理 系 統 很 快 一 個 新 的 問 題 難 倒 了 GNU/Linux 製 作 者, 他 們 需 要 一 個 快 速 實 用 高 效 的 方 法 來 安 裝 套 裝 軟 體, 當 套 裝 軟 體 更 新 時, 這 個 工 具 應 該 能 自 動 管 理 關 聯 檔 案 和 維 護 已 有 組 態 檔 案 Debian 在 次 率 先 解 決 了 這 個 問 題,APT(Advanced Packaging Tool) 誕 生 了 APT 後 來 還 被 Conectiva 改 造 用 來 管 理 rpm, 並 被 其 它 Linux 發 行 版 本 采 用 為 它 們 的 套 裝 軟 體 管 理 工 具 本 文 件 不 打 算 講 解 apt-rpm 相 關 知 識, 因 為 Conectiva 移 植 的 APT 已 很 有 名 了, 不 過 提 供 有 關 這 部 分 的 補 充 文 件 還 是 歡 迎 的 本 文 件 是 基 於 Debian 下 一 個 發 行 版 Sarge 的

Chapter 1. 導 言 2

3 Chapter 2 基 礎 設 定 2.1 /etc/apt/sources.list 檔 案 作 為 操 作 的 一 部 分,APT 使 用 一 個 檔 案 列 出 可 獲 得 套 裝 軟 體 的 鏡 像 站 台 位 址, 這 個 文 件 就 是 /etc/apt/sources.list 檔 案 中 的 各 項 資 訊 通 常 按 如 下 格 式 列 出 : deb http://host/debian distribution section1 section2 section3 deb-src http://host/debian distribution section1 section2 section3 當 然, 上 面 所 列 的 位 址 項 都 是 假 設 的 且 不 應 該 使 用 它 們 每 行 的 第 一 個 單 字 deb 或 deb-src 描 述 了 檔 案 類 型 : 目 錄 中 包 含 的 是 二 進 位 套 裝 軟 體 (deb), 即 我 們 通 常 使 用 的 已 編 譯 好 的 套 裝 軟 體 ; 或 包 含 的 是 來 源 碼 包 (deb-src), 來 源 碼 包 包 含 來 源 程 序 編 碼 Debian 控 制 檔 案 (.dsc) 和 Debian 化 這 個 程 式 所 做 變 更 的 記 錄 檔 案 diff.gz 在 Debian 預 設 的 sources.list 中 通 常 是 如 下 內 容 : # See sources.list(5) for more information, especially # Remember that you can only use http, ftp or file URIs # CDROMs are managed through the apt-cdrom tool. deb http://http.us.debian.org/debian stable main contrib non-free deb http://non-us.debian.org/debian-non-us stable/non-us main contrib non-fre deb http://security.debian.org stable/updates main contrib non-free # Uncomment if you want the apt-get source function to work #deb-src http://http.us.debian.org/debian stable main contrib non-free #deb-src http://non-us.debian.org/debian-non-us stable/non-us main contrib no 這 些 是 Debian 基 本 安 裝 所 需 的 套 裝 軟 體 來 來 源 位 址 第 一 個 deb 行 指 向 官 方 正 式 套 裝 軟 體 來 來 源, 第 二 個 行 指 向 non-us 套 裝 軟 體 來 來 源, 第 三 行 指 向 Debian 安 全 補 綴 更 新 包 來 來 源

Chapter 2. 基 礎 設 定 4 最 後 兩 行 被 註 解 掉 了 ( 在 句 首 加 # ), 所 以 apt-get 將 忽 略 它 們 這 些 是 deb-src 行 指 向 Debian 來 源 碼 包 來 來 源, 如 果 你 常 下 載 程 序 來 源 碼 來 測 試 或 重 編 譯, 可 取 消 對 它 們 的 註 解 /etc/apt/sources.list 檔 案 可 包 含 多 種 類 型 的 位 址,APT 知 道 如 何 處 理 這 些 不 同 的 位 址 類 型 :http ftp file( 本 地 檔 案, 例 如 : 一 個 加 載 了 ISO9600 檔 案 系 統 的 目 錄 ) 和 ssh 別 忘 了 在 修 改 完 /etc/apt/sources.list 檔 案 後 執 行 apt-get 使 變 更 生 效 你 必 須 完 成 這 個 步 驟, 以 便 讓 APT 從 你 指 定 的 地 方 獲 得 新 的 套 裝 軟 體 列 表 2.2 如 何 在 本 地 使 用 APT 有 時 你 硬 碟 上 有 許 多.deb 套 裝 軟 體, 你 會 希 望 通 過 APT 來 安 裝 它 們, 以 便 讓 它 去 處 理 軟 件 包 間 複 雜 的 依 賴 關 係 想 這 麼 做, 就 建 一 個 目 錄, 將 所 有 你 想 要 安 裝 的.deb 檔 案 放 入 其 中 例 如 : # mkdir /root/debs 你 可 以 使 用 一 個 override 檔 案 直 接 去 修 改 套 裝 軟 體 中 控 制 檔 案 中 的 定 義, 使 之 符 合 你 的 軟 體 儲 藏 庫 管 理 規 則 在 這 個 覆 寫 檔 案 中, 你 可 能 希 望 定 義 一 些 選 項 來 覆 蓋 那 些 套 裝 軟 體 的 定 義, 如 下 所 示 : package priority section package 是 套 裝 軟 體 的 名 稱,priority 有 三 個 層 級 low medium 或 high,section 是 軟 體 包 所 屬 的 section, 多 載 檔 案 可 任 意 命 名, 檔 案 名 稱 將 在 接 下 來 的 步 驟 中 做 為 參 數 傳 遞 給 dpkg-scanpackages 如 果 你 不 想 寫 多 載 檔 案, 只 需 在 調 用 dpkg-scanpackages 時 使 用 /dev/null 就 行 了 仍 是 在 /root 目 錄 下 執 行 : # dpkg-scanpackages debs file gzip > debs/packages.gz 在 上 述 的 命 令 行 中,file 為 override 檔 案, 命 令 產 生 一 個 Packages.gz 檔 案, 它 包 含 了 APT 所 需 的 各 種 套 裝 軟 體 資 訊 最 後, 如 果 要 使 用 這 些 套 裝 軟 體, 加 上 : deb file:/root debs/ 完 成 了 上 面 的 工 作, 就 可 以 通 常 那 樣 使 用 APT 命 令 操 作 這 些 套 裝 軟 體 了 你 可 以 使 用 同 樣 的 方 法 產 生 一 個 來 源 碼 庫, 但 請 記 住 你 需 要 將.orig.tar.gz 檔 案.dsc 檔 案 和.diff.gz 檔 案 包 含 在 目 錄 中, 同 時 必 須 產 生 Source.gz 檔 案 而 不 是 Packages.gz 檔 案 所 使 用 的 命 令 也 不 相 同, 要 使 用 dpkg-scansources, 命 令 如 下 所 示 :

Chapter 2. 基 礎 設 定 5 # dpkg-scansources debs gzip > debs/sources.gz Notice that dpkg-scansources doesn t need an override file. The sources.list s line is: deb-src file:/root debs/ 2.3 選 擇 最 佳 鏡 像 發 佈 站 台 加 入 source.list 檔 案 :netselect,netselect-apt 一 個 新 使 用 者 經 常 問 到 的 問 題 : 該 將 哪 個 Debian 鏡 像 發 佈 站 台 加 入 source.list 檔 案? 有 很 多 方 法 來 選 擇 鏡 像 發 佈 站 台, 專 家 們 可 能 會 寫 一 個 腳 本 去 測 試 不 同 站 台 的 ping 時 間 不 過 其 實 有 一 個 程 序 可 以 幫 你 : netselect 要 安 裝 netselect, 通 常 使 用 : # apt-get install netselect 不 帶 參 數 執 行 它 時 會 顯 示 它 的 幫 助 資 訊 執 行 它 時 加 上 以 空 格 分 隔 的 鏡 像 主 機 列 表, 它 會 傳 回 一 個 分 值 和 列 表 中 的 一 個 主 電 腦 名 稱 這 個 分 值 通 過 評 估 ping 時 間 和 hops 數 ( 一 個 網 路 請 求 報 文 到 達 目 標 主 機 所 經 過 的 轉 發 主 機 的 個 數 ) 得 出, 它 與 鏡 像 站 台 預 計 下 載 速 度 成 反 比 ( 數 值 越 小 越 好 ) 傳 回 的 主 電 腦 名 稱 是 主 機 列 表 中 得 分 最 低 的 那 個 ( 檢 視 列 表 中 所 以 主 機 的 得 分 情 況 可 使 用 -vv 選 項 ) 看 出 下 的 例 子 : # netselect ftp.debian.org http.us.debian.org ftp.at.debian.org download.unes 365 ftp.debian.org.br # 它 表 示, 在 netselect 後 列 出 的 所 有 主 機 中,ftp.debian.org.br 是 下 載 速 度 最 快 的 主 機, 其 得 分 為 365 ( 注 意!! 這 是 在 我 電 腦 上 的 測 試 結 果, 不 同 的 網 路 節 點 网 速 會 大 不 相 同, 所 以 這 個 分 值 不 一 定 適 用 於 其 它 電 腦 ) 現 在 將 netselect 找 到 的 連 線 速 度 最 快 的 鏡 像 站 台 加 入 /etc/apt/sources.list 檔 案 ( 參 考 /etc/apt/sources.list 檔 案 3) 並 按 照 套 裝 軟 體 管 理 7 中 的 技 巧 來 做 注 意 : 鏡 像 站 台 列 表 通 常 包 含 在 檔 案 http://www.debian.org/mirror/mirrors_ full 中 從 0.3.ds1 版 開 始,netselect 來 源 碼 包 中 包 含 了 netselect-apt 二 進 制 包, 它 使 上 述 操 作 自 動 完 成 只 需 將 發 佈 目 錄 樹 做 為 參 數 ( 預 設 為 stable) 輸 入, sources.list 檔 案 就 會 產 生 速 度 最 快 的 main 和 non-us 鏡 像 站 台 列 表, 並 保 存 在 目 前 目 錄 下 下 面 的 例 子 產 生 一 個 包 含 stable 發 佈 鏡 像 站 台 列 表 的 sources.list: # ls sources.list ls: sources.list: File or directory not found

Chapter 2. 基 礎 設 定 6 # netselect-apt stable (...) # ls -l sources.list sources.list # 記 住 :sources.list 產 生 在 目 前 目 錄 下, 必 須 將 其 移 至 /etc/apt 目 錄 接 著, 按 照 套 裝 軟 體 管 理 7 中 的 技 巧 來 做 2.4 將 CD-ROM 加 入 source.list 檔 案 如 果 你 用 APT 從 CD-ROM 上 安 裝 及 升 級 套 裝 軟 體, 你 可 以 將 它 加 入 到 sources.list 檔 案 中 完 成 該 操 作, 可 使 用 apt-cdrom 程 序 : # apt-cdrom add 將 Debian 光 碟 放 入 光 碟 機, 它 將 加 載 光 碟 目 錄, 並 在 光 碟 上 尋 找 套 裝 軟 體 資 訊 如 果 你 的 光 碟 機 需 要 額 外 設 定, 可 使 用 以 下 選 項 : -h - program help -d directory - CD-ROM mount point -r - Rename a recognized CD-ROM -m - No mounting -f - Fast mode, don t check package files -a - Thorough scan mode 例 如 : # apt-cdrom -d /home/kov/mycdrom add 你 還 可 以 掃 瞄 一 張 光 碟, 但 不 將 其 加 入 列 表 : # apt-cdrom ident 注 意, 只 有 當 你 在 系 統 的 /etc/fstab 中 正 確 設 定 了 光 碟 機 後, 這 個 程 式 才 會 工 作

7 Chapter 3 套 裝 軟 體 管 理 3.1 更 新 可 用 套 裝 軟 體 列 表 套 裝 軟 體 管 理 系 統 使 用 一 個 私 有 資 料 庫 追 蹤 列 表 中 套 裝 軟 體 的 目 前 狀 態 : 已 安 裝 未 安 裝 或 可 安 裝 apt-get 通 過 該 資 料 庫 來 確 定 如 何 安 裝 使 用 者 想 用 的 軟 體 包 以 及 正 常 執 行 該 套 裝 軟 體 所 必 須 的 其 它 關 聯 包 你 可 以 使 用 apt-get update 來 更 新 資 料 庫 列 表 這 個 命 令 將 掃 瞄 /etc/apt/sources.list 檔 案 中 所 指 路 徑 中 的 套 裝 軟 體 列 表 檔 案 有 關 該 列 表 檔 案 的 更 多 資 訊 請 參 考 /etc/apt/sources.list 檔 案 3 定 時 執 行 這 個 程 序 是 個 好 主 意, 它 將 使 你 和 你 的 系 統 獲 得 最 新 的 套 裝 軟 體 更 新 和 安 全 更 新 等 資 訊 3.2 安 裝 套 裝 軟 體 現 在, 終 於 到 了 你 一 直 期 待 的 階 段! 準 備 好 了 sources.list 和 最 新 版 的 的 可 用 軟 體 包, 你 所 需 做 的 就 是 執 行 apt-get 來 安 裝 你 渴 望 已 久 的 軟 體 了 例 如, 你 可 以 這 樣 : # apt-get install xchat APT 會 掃 瞄 它 的 資 料 庫 找 到 最 新 的 版 本 的 套 裝 軟 體, 並 將 它 從 sources.list 中 所 指 的 地 方 下 載 到 本 地 如 果 該 套 裝 軟 體 需 要 其 它 套 裝 軟 體 才 能 正 常 執 行 如 本 例 一 樣 APT 會 做 關 聯 性 檢 查 並 自 動 安 裝 所 關 聯 套 裝 軟 體 如 下 所 示 : # apt-get install nautilus Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: bonobo libmedusa0 libnautilus0

Chapter 3. 套 裝 軟 體 管 理 8 The following NEW packages will be installed: bonobo libmedusa0 libnautilus0 nautilus 0 packages upgraded, 4 newly installed, 0 to remove and 1 not upgraded. Need to get 8329kB of archives. After unpacking 17.2MB will be used. Do you want to continue? [Y/n] nautilus 套 裝 軟 體 需 要 參 照 共 享 函 式 庫, 因 此 APT 會 從 鏡 像 來 源 處 下 載 相 關 共 享 函 式 庫, 如 果 你 在 apt-get 命 令 行 中 手 動 指 定 了 這 些 共 享 函 式 庫 的 名 稱, APT 不 會 詢 問 你 是 否 要 繼 續 ; 它 會 自 動 認 為 你 希 望 安 裝 所 有 這 些 套 裝 軟 體 也 就 是 說 APT 只 會 在 安 裝 那 些 沒 有 在 命 令 行 中 指 定 的 套 裝 軟 體 時 提 示 確 認 下 列 apt-get 選 項 也 許 對 你 有 用 : -h 這 個 幫 助 資 訊 -d 只 下 載 不 安 裝 或 解 壓 檔 案 -f 即 便 完 整 性 檢 查 失 敗 了 仍 然 繼 續 -s 不 做 什 麼 只 是 按 順 序 類 比 -y 對 於 所 有 問 題 都 假 定 為 Yes, 不 詢 問 -u 顯 示 一 系 列 已 經 將 要 更 新 的 包 可 以 用 一 條 命 令 安 裝 多 個 套 裝 軟 體 包 檔 案 從 網 路 上 下 載 到 本 地 /var/cache/apt/archives 目 錄, 稍 後 再 安 裝 你 可 以 用 同 樣 的 命 令 行 刪 除 指 定 套 裝 軟 體, 只 需 在 套 裝 軟 體 名 稱 後 緊 跟 一 個 -, 如 下 所 示 : # apt-get install nautilus gnome-panel- Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: bonobo libmedusa0 libnautilus0 The following packages will be REMOVED: gnome-applets gnome-panel gnome-panel-data gnome-session The following NEW packages will be installed: bonobo libmedusa0 libnautilus0 nautilus 0 packages upgraded, 4 newly installed, 4 to remove and 1 not upgraded. Need to get 8329kB of archives. After unpacking 2594kB will be used. Do you want to continue? [Y/n] 參 考 移 除 套 裝 軟 體 9 一 節 以 獲 得 更 多 的 關 於 刪 除 套 裝 軟 體 的 資 訊 假 如 你 不 小 心 損 壞 了 已 安 裝 的 套 裝 軟 體 而 想 修 復 它, 或 是 只 有 只 有 想 重 新 安 裝 套 裝 軟 體 中 某 些 檔 案 的 最 新 版 本, 這 是 可 以 做 到 的, 你 可 以 用 如 下 的 --reinstall 選 項 : # apt-get --reinstall install gdm Reading Package Lists... Done

Chapter 3. 套 裝 軟 體 管 理 9 Building Dependency Tree... Done 0 packages upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 1 not Need to get 0B/182kB of archives. After unpacking 0B will be used. Do you want to continue? [Y/n] 3.3 移 除 套 裝 軟 體 如 果 你 不 再 使 用 某 些 套 裝 軟 體, 你 可 以 用 APT 將 其 從 系 統 中 刪 除 要 刪 除 套 裝 軟 體 只 需 輸 入 :apt-get remove package 如 下 所 示 : # apt-get remove gnome-panel Reading Package Lists... Done Building Dependency Tree... Done The following packages will be REMOVED: gnome-applets gnome-panel gnome-panel-data gnome-session 0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded. Need to get 0B of archives. After unpacking 14.6MB will be freed. Do you want to continue? [Y/n] 由 上 例 可 知,APT 會 關 注 那 些 與 被 刪 除 的 套 裝 軟 體 有 依 賴 關 係 的 套 裝 軟 體 使 用 APT 刪 除 一 個 套 裝 軟 體 將 會 連 帶 刪 除 那 些 與 該 套 裝 軟 體 有 依 賴 關 係 的 套 裝 軟 體 上 例 中 執 行 apt-get 會 刪 除 指 定 套 裝 軟 體 以 及 與 之 有 依 賴 關 係 的 軟 體 包, 但 它 們 的 組 態 檔 案, 如 果 有 的 話, 會 完 好 無 損 地 保 留 在 系 統 裡 如 果 想 徹 底 刪 除 這 些 包 及 其 組 態 檔 案, 執 行 : # apt-get --purge remove gnome-panel Reading Package Lists... Done Building Dependency Tree... Done The following packages will be REMOVED: gnome-applets* gnome-panel* gnome-panel-data* gnome-session* 0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded. Need to get 0B of archives. After unpacking 14.6MB will be freed. Do you want to continue? [Y/n] 注 意 : 套 裝 軟 體 名 字 後 面 的 * 表 示 該 套 裝 軟 體 所 有 的 組 態 檔 案 也 將 被 刪 除 就 像 install 時 一 樣, 你 可 以 在 remove 命 令 中 用 一 個 符 號 來 指 定 安 裝 某 個 套 裝 軟 體 在 刪 除 套 裝 軟 體 時, 如 果 你 在 套 裝 軟 體 名 字 後 面 緊 跟 一 個 +, 那 麼 該 套 裝 軟 體 就 會 被 安 裝 而 不 是 刪 除 # apt-get --purge remove gnome-panel nautilus+ Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed:

Chapter 3. 套 裝 軟 體 管 理 10 bonobo libmedusa0 libnautilus0 nautilus The following packages will be REMOVED: gnome-applets* gnome-panel* gnome-panel-data* gnome-session* The following NEW packages will be installed: bonobo libmedusa0 libnautilus0 nautilus 0 packages upgraded, 4 newly installed, 4 to remove and 1 not upgraded. Need to get 8329kB of archives. After unpacking 2594kB will be used. Do you want to continue? [Y/n] 注 意,apt-get 列 出 了 那 些 將 要 被 安 裝 的 額 外 套 裝 軟 體 ( 即 保 證 該 軟 體 包 正 常 執 行 的 其 它 套 裝 軟 體 ) 和 將 要 被 刪 除 關 聯 套 裝 軟 體, 然 後, 再 次 列 出 了 將 要 被 安 裝 的 套 裝 軟 體 ( 包 括 了 額 外 的 包 ) 3.4 更 新 套 裝 軟 體 套 裝 軟 體 更 新 是 APT 最 成 功 的 特 點 只 需 一 條 命 令 即 可 完 成 更 新 : apt-get upgrade 你 可 以 使 用 這 條 命 令 從 相 同 版 本 號 的 發 佈 版 中 更 新 套 裝 軟 體, 也 可 以 從 新 版 本 號 的 發 佈 版 中 更 新 套 裝 軟 體, 盡 管 實 作 後 一 種 更 新 的 推 薦 命 令 為 apt-get dist-upgrade; 詳 情 請 參 考 升 級 到 新 版 本 11 在 執 行 該 命 令 時 加 上 -u 選 項 很 有 用 這 個 選 項 讓 APT 顯 示 完 整 的 可 更 新 套 裝 軟 體 列 表 不 加 這 個 選 項, 你 就 只 能 盲 目 地 更 新 APT 會 下 載 每 個 套 裝 軟 體 的 最 新 更 新 版 本, 然 後 以 合 理 的 次 序 安 裝 它 們 注 意 在 執 行 該 命 令 前 應 先 執 行 apt-get update 更 新 資 料 庫 詳 情 請 參 考 更 新 可 用 套 裝 軟 體 列 表 7 請 看 下 面 的 例 子 : # apt-get -u upgrade Reading Package Lists... Done Building Dependency Tree... Done The following packages have been kept back cpp gcc lilo The following packages will be upgraded adduser ae apt autoconf debhelper dpkg-dev esound esound-common ftp indent ipchains isapnptools libaudiofile-dev libaudiofile0 libesd0 libesd0-dev libgtk1.2 libgtk1.2-dev liblockfile1 libnewt0 liborbit-dev liborbit0 libstdc++2.10-glibc2.2 libtiff3g libtiff3g-dev modconf orbit procps psmisc 29 packages upgraded, 0 newly installed, 0 to remove and 3 not upgraded. Need to get 5055B/5055kB of archives. After unpacking 1161kB will be used. Do you want to continue? [Y/n] 整 個 更 新 程 序 非 常 簡 單 注 意 在 本 例 中 頭 幾 行,apt-get 報 告 有 些 套 裝 軟 體 的 更 新 被 kept back, 這 表 明 這 些 套 裝 軟 體 的 更 新 版 本 因 故 無 法 安 裝, 可 能 的 原 因 有 關 聯 不 同 步 ( 目 前 沒 有 供 下 載 的 新 版 本 關 聯 包 ) 或 關 聯 延 伸 ( 需 要 安 裝 新 的 關 聯 包 以 配 合 新 版 套 裝 軟 體 ) 對 於 第 一 種 原 因 沒 有 很 好 的 解 決 方 法, 對 於 第 二 次 原 因, 執 行 apt-get intall 安 裝 所 需 的 新 關 聯 包 就 可 以 另 一 個 更 好 的 解 決 方 法 就 是 使 用 dist-upgrade 詳 情 請 參 考 升 級 到 新 版 本 11

Chapter 3. 套 裝 軟 體 管 理 11 3.5 升 級 到 新 版 本 APT 的 絕 活 就 是 讓 你 一 次 就 完 成 整 個 系 統 的 更 新, 不 論 是 通 過 Internet 還 是 通 過 光 槃 檔 案 ( 購 買 的 碟 片 或 下 載 的 ISO 鏡 像 檔 案 ) 它 也 可 以 用 來 更 新 那 些 關 聯 關 係 發 生 改 變 的 套 裝 軟 體 即 如 前 所 述 的 那 些 使 用 apt-get upgrade 時 被 不 被 更 新 (kept back) 的 套 裝 軟 體 例 如, 假 設 你 目 前 使 用 的 Debian 為 stable revision 0, 而 你 購 買 了 revision 3 的 新 版 Debian, 你 可 以 使 用 APT 從 新 光 碟 上 升 級 你 的 系 統 使 用 apt-cdrom( 參 考 將 CD-ROM 加 入 source.list 檔 案 6) 將 光 碟 加 載 到 /etc/apt/sources.list 中, 然 後 執 行 apt-get dist-upgrade 請 注 意,APT 總 是 搜 索 最 新 版 本 的 套 裝 軟 體, 因 此, 如 果 一 個 套 裝 軟 體 在 你 的 /etc/apt/sources.list 中 所 列 的 版 本 比 光 碟 上 所 列 的 版 本 要 新, 那 麼 APT 會 下 載 其 中 的 套 裝 軟 體 而 不 是 使 用 光 碟 上 的 套 裝 軟 體 在 更 新 套 裝 軟 體 10 節 的 例 子 中, 我 們 看 到 有 些 包 被 kept back 了, 現 在 我 們 就 用 dist-upgrade 方 法 來 解 決 這 個 問 題 : # apt-get -u dist-upgrade Reading Package Lists... Done Building Dependency Tree... Done Calculating Upgrade... Done The following NEW packages will be installed: cpp-2.95 cron exim gcc-2.95 libident libopenldap-runtime libopenldap1 libpcre2 logrotate mailx The following packages have been kept back lilo The following packages will be upgraded adduser ae apt autoconf cpp debhelper dpkg-dev esound esound-common ftp gcc indent ipchains isapnptools libaudiofile-dev libaudiofile0 libesd0 libesd0-dev libgtk1.2 libgtk1.2-dev liblockfile1 libnewt0 liborbit-dev liborbit0 libstdc++2.10-glibc2.2 libtiff3g libtiff3g-dev modconf orbit procps psmisc 31 packages upgraded, 10 newly installed, 0 to remove and 1 not upgraded. Need to get 0B/7098kB of archives. After unpacking 3118kB will be used. Do you want to continue? [Y/n] 注 意 現 在 那 些 套 裝 軟 體 將 會 被 更 新, 那 些 新 的 關 聯 套 裝 軟 體 也 會 被 安 裝 但 是 lilo 仍 被 kept back, 可 能 還 存 在 一 些 比 建 立 新 關 聯 更 棘 手 的 問 題, 我 們 通 過 如 下 方 法 確 定 問 題 所 在 : # apt-get -u install lilo Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: cron debconf exim libident libopenldap-runtime libopenldap1 libpcre2 logrotate mailx

Chapter 3. 套 裝 軟 體 管 理 12 The following packages will be REMOVED: debconf-tiny The following NEW packages will be installed: cron debconf exim libident libopenldap-runtime libopenldap1 libpcre2 logrotate mailx The following packages will be upgraded lilo 1 packages upgraded, 9 newly installed, 1 to remove and 31 not upgraded. Need to get 225kB/1179kB of archives. After unpacking 2659kB will be used. Do you want to continue? [Y/n] 檢 視 上 述 提 示 資 訊 可 知,lilo 與 debconf-tiny 包 產 生 了 一 個 新 衝 突, 這 表 明 除 非 刪 除 debconf-tiny, 否 則 將 無 法 安 裝 ( 或 更 新 )lilo 想 知 道 該 保 留 或 刪 除 哪 些 套 裝 軟 體, 你 可 以 使 用 : # apt-get -o Debug::pkgProblemResolver=yes dist-upgrade Reading Package Lists... Done Building Dependency Tree... Done Calculating Upgrade... Starting Starting 2 Investigating python1.5 Package python1.5 has broken dep on python1.5-base Considering python1.5-base 0 as a solution to python1.5 0 Holding Back python1.5 rather than change python1.5-base Investigating python1.5-dev Package python1.5-dev has broken dep on python1.5 Considering python1.5 0 as a solution to python1.5-dev 0 Holding Back python1.5-dev rather than change python1.5 Try to Re-Instate python1.5-dev Done Done The following packages have been kept back gs python1.5-dev 0 packages upgraded, 0 newly installed, 0 to remove and 2 not upgraded. 現 在, 你 很 容 易 就 知 道 不 能 安 裝 python1.5-dev 套 裝 軟 體 是 因 為 無 法 滿 足 另 一 個 軟 體 包 python1.5 的 關 聯 要 求 3.6 移 除 無 用 套 裝 軟 體 檔 案 :apt-get clean and autoclean 當 你 需 要 安 裝 某 個 套 裝 軟 體 時,APT 從 /etc/apt/sources.list 中 所 列 的 主 機 下 載 所 需 的 檔 案, 將 它 們 保 存 到 本 機 軟 體 庫 (/var/cache/apt/archives/), 然 後 開 始 安 裝, 參 考 安 裝 套 裝 軟 體 7

Chapter 3. 套 裝 軟 體 管 理 13 本 地 軟 體 庫 會 不 斷 膨 脹 占 用 大 量 硬 碟 空 間, 幸 運 的 是,APT 提 供 了 工 具 來 管 理 本 地 軟 體 庫 :apt-get 的 clean 方 法 和 autoclean 方 法 apt-get clean 將 刪 除 /var/cache/apt/archives 目 錄 和 /var/cache/apt /archives/partial 目 錄 下 鎖 檔 案 以 外 的 所 有 檔 案 這 樣 以 來, 當 你 需 要 再 次 安 裝 某 個 套 裝 軟 體 時,APT 將 重 新 下 載 它 apt-get autoclean 只 有 刪 除 那 些 不 需 要 再 次 下 載 的 檔 案 下 面 這 個 例 子 顯 示 了 apt-get autoclean 如 何 工 作 : # ls /var/cache/apt/archives/logrotate* /var/cache/apt/archives/gpm* logrotate_3.5.9-7_i386.deb logrotate_3.5.9-8_i386.deb gpm_1.19.6-11_i386.deb 在 /var/cache/apt/archives 目 錄 下 有 兩 個 不 同 版 本 的 logrotate 套 裝 軟 體 檔 案 以 及 一 個 gpm 套 裝 軟 體 檔 案 # apt-show-versions -p logrotate logrotate/stable uptodate 3.5.9-8 # apt-show-versions -p gpm gpm/stable upgradeable from 1.19.6-11 to 1.19.6-12 apt-show-versions 顯 示 logrotate_3.5.9-8_i386.deb 提 供 了 logrotate 的 升 級 版 本, 所 以 logrotate_3.5.9-7_i386.deb 沒 用 了 同 樣 gpm_1.19.6-11_i386.deb 也 沒 有 用 了, 因 為 可 以 下 載 該 套 裝 軟 體 的 更 新 版 本 # apt-get autoclean Reading Package Lists... Done Building Dependency Tree... Done Del gpm 1.19.6-11 [145kB] Del logrotate 3.5.9-7 [26.5kB] 總 之,apt-get autoclean 只 有 刪 除 那 些 過 時 的 檔 案 參 考 如 何 從 Debian 的 專 用 版 本 下 升 級 套 裝 軟 體 15 以 了 解 apt-show-versions 的 更 多 詳 情 3.7 在 dselect 中 操 作 APT dselect 工 具 幫 助 使 用 者 選 取 想 要 安 裝 的 Debian 套 裝 軟 體 它 有 點 複 雜 甚 至 令 人 望 而 生 厭, 但 經 過 實 踐 你 就 能 掌 握 它 恐 怖 的 終 端 機 界 面 dselect 進 階 功 能 之 一 就 是 它 知 道 利 用 Debian 套 裝 軟 體 的 推 薦 和 建 議 能 力 (Debian 軟 件 包 有 一 種 能 力 : 推 薦 或 建 議 系 統 在 安 裝 自 己 的 同 時, 安 裝 別 的 套 裝 軟 體 以 配 合 自 身 的 工

Chapter 3. 套 裝 軟 體 管 理 14 作, 當 然 這 些 推 薦 的 套 裝 軟 體 不 一 定 是 必 須 的 ; 而 dselect 工 具 可 以 識 別 和 利 用 這 個 能 力, 使 用 dselect 時 你 就 能 體 會 到 譯 者 注 ) 以 root 身 份 執 行 dselect, 進 入 程 序 後 選 擇 apt 作 為 連 線 方 式 (access) 該 步 驟 不 是 必 須 的, 但 如 果 你 沒 有 光 碟 機 而 且 想 通 過 Internet 下 載 安 裝 套 裝 軟 體, 這 是 使 用 dselect 的 最 好 方 法 想 深 入 學 習 dselect 的 使 用 方 式, 請 到 Debian 网 站 查 閱 dselect 文 件 頁 面 http://www.debian. org/doc/ddp. 在 dselect 中 選 好 了 套 裝 軟 體 後, 執 行 : # apt-get -u dselect-upgrade 如 下 例 所 示 : # apt-get -u dselect-upgrade Reading Package Lists... Done Building Dependency Tree... Done The following packages will be REMOVED: lbxproxy The following NEW packages will be installed: bonobo console-tools-libs cpp-3.0 enscript expat fingerd gcc-3.0 gcc-3.0-base icepref klogd libdigest-md5-perl libfnlib0 libft-perl libgc5-dev libgcc300 libhtml-clean-perl libltdl0-dev libsasl-modules libstdc++3.0 metamail nethack proftpd-doc psfontmgr python-newt talk tidy util-linux-locales vacation xbill xplanet-images The following packages will be upgraded debian-policy 1 packages upgraded, 30 newly installed, 1 to remove and 0 not upgraded. Need to get 7140kB of archives. After unpacking 16.3MB will be used. Do you want to continue? [Y/n] 比 較 一 下 我 們 在 相 同 系 統 上 執 行 apt-get dist-upgrade 時 的 情 形 : # apt-get -u dist-upgrade Reading Package Lists... Done Building Dependency Tree... Done Calculating Upgrade... Done The following packages will be upgraded debian-policy 1 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 421kB of archives. After unpacking 25.6kB will be freed. Do you want to continue? [Y/n] 我 們 看 到 在 前 例 中 許 多 套 裝 軟 體 被 安 裝 是 其 它 套 裝 軟 體 推 薦 或 建 議 的 結 果 另 外 一 些 套 裝 軟 體 被 安 裝 或 刪 除 ( 例 如 lbxproxy 套 裝 軟 體 ) 是 我 們 通 過 dselect 工 具 作 出 的 決 定 由 此 可 見 dselect 與 APT 結 合 起 來 將 是 一 個 功 能 強 大 的 工 具

Chapter 3. 套 裝 軟 體 管 理 15 3.8 如 何 保 持 一 個 混 合 系 統 人 們 有 時 會 對 這 種 情 況 有 興 趣 使 用 一 個 版 本 的 Debain 作 為 其 主 發 行 版, 但 從 另 一 個 分 支 上 安 裝 一 個 或 多 個 包 要 設 定 你 的 Debian 主 版 本, 應 當 修 改 /etc/apt/apt.conf 檔 案, 並 加 入 : APT::Default-Release "version"; 其 中 version 是 你 希 望 作 為 主 發 行 版 使 用 的 Debian 版 本 你 可 以 使 用 的 版 本 有 stable testing 和 unstable 要 從 另 外 一 個 版 本 中 安 裝 套 裝 軟 體, 你 必 須 按 照 如 下 方 式 執 行 APT: # apt-get -t distribution install package 為 了 使 其 可 以 個 工 作, 在 你 的 /etc/apt/sources.list 中 至 少 有 一 行 是 關 於 你 要 使 用 的 那 個 版 本 的, 而 且 要 使 用 的 套 裝 軟 體 也 必 須 存 在 於 該 版 本 中 你 也 可 以 要 求 使 用 某 個 特 定 把 本 的 套 裝 軟 體, 如 下 所 示 : # apt-get install package=version 例 如, 下 面 的 命 令 將 會 安 裝 2.2.4-1 版 的 nautilus 軟 件 包 : # apt-get install nautilus=2.2.4-1 重 要 資 訊 : 最 新 版 的 Debian 套 裝 軟 體 首 先 會 上 傳 到 unstable 發 佈 版 中, 這 個 發 佈 版 包 含 了 套 裝 軟 體 所 有 變 更 階 段, 無 論 是 小 修 小 補 還 是 影 響 到 眾 多 套 裝 軟 體 乃 至 整 個 系 統 的 重 大 修 改 所 以, 新 手 和 那 些 強 調 系 統 穩 定 性 的 使 用 者 不 會 使 用 這 個 發 佈 版 testing 發 佈 版 比 起 unstable 發 佈 版, 多 注 重 了 些 系 統 穩 定 性, 但 正 式 執 行 的 系 統 應 當 使 用 stable 發 佈 版 3.9 如 何 從 Debian 的 專 用 版 本 下 升 級 套 裝 軟 體 apt-show-versions 提 供 了 一 個 安 全 的 途 徑, 讓 那 些 使 用 混 合 系 統 的 使 用 者 放 心 升 級 他 們 的 系 統, 不 必 擔 心 升 級 會 將 原 來 屬 於 stable 的 包 升 級 成 了 unstable 包 例 如, 在 安 裝 了 apt-show-versions 套 裝 軟 體 之 後, 使 用 這 條 命 令 將 只 升 級 你 的 unstable 套 裝 軟 體 : # apt-get install apt-show-versions -u -b grep unstable cut -d -f 1

Chapter 3. 套 裝 軟 體 管 理 16 3.10 如 何 維 護 已 安 裝 套 裝 軟 體 的 多 個 版 本 ( 複 雜 ) How to keep specific versions of packages installed (complex) 你 可 能 會 遇 到 這 種 情 況, 變 更 了 某 個 套 裝 軟 體 中 的 一 些 檔 案, 但 你 沒 有 時 間 或 根 本 就 不 想 將 這 些 變 更 引 入 到 新 版 本 中 或 是, 你 將 系 統 升 級 到 3.0, 但 仍 想 繼 續 使 用 Debian 2.2 下 的 某 個 套 裝 軟 體 你 可 以 釘 住 這 個 版 本, 這 樣 它 就 不 會 被 更 新 了 操 作 起 來 十 分 簡 單, 你 只 需 編 輯 /etc/apt/preferences 檔 案 /etc/apt/preferences. 檔 案 格 式 很 簡 單 : Package: <package> Pin: <pin definition> Pin-Priority: <pin s priority> 每 個 條 目 都 要 以 空 白 行 與 其 它 條 目 分 割 開 例 如, 我 對 sylpheed 套 裝 軟 體 做 了 某 些 修 改 以 使 用 reply-to-list 功 能, 其 版 本 為 0.4.99 我 想 保 留 這 些 修 改 不 被 更 新, 可 加 上 : Package: sylpheed Pin: version 0.4.99* 注 意 我 用 了 一 個 *( 星 號 ) 這 是 一 個 萬 用 字 元 ; 它 表 明 我 希 望 釘 住 所 有 以 0.4.99 打 頭 的 版 本 ( 以 防 它 們 被 下 載 並 安 裝 到 我 機 器 上 pin 控 制 的 是 伺 服 器 端 的 更 新 套 裝 軟 體 而 非 本 地 的 已 安 裝 套 裝 軟 體 譯 者 注 ) 因 為 Debian 使 用 Debian 版 本 號 為 其 套 裝 軟 體 定 版 本, 我 不 想 進 行 所 有 這 些 版 本 的 升 級, 如 果 不 用 萬 用 字 元, 那 麼 0.4.99-1 版 或 0.4.99-10 版 只 要 一 出 爐 系 統 就 會 安 裝 它 們 如 果 你 修 改 了 套 裝 軟 體, 你 一 定 不 希 望 這 麼 做 Pin 的 優 先 等 級 幫 助 我 們 檢 查 一 個 與 Packages: 和 Pin: 相 符 合 的 套 裝 軟 體 是 否 應 該 被 安 裝 當 優 先 等 級 比 較 高 時, 符 合 的 套 裝 軟 體 將 會 被 安 裝 你 可 以 查 閱 apt_preferences(7), 其 中 有 關 於 優 先 等 級 的 詳 細 討 論, 但 通 過 一 些 簡 單 的 例 子 也 可 以 了 解 基 本 的 概 念 下 面 就 說 明 了 在 上 面 的 sylpheed 例 子 中 設 定 優 先 等 級 網 域 的 效 果 1001 Sylpheed 0.4.99 永 遠 不 會 被 apt 取 代 如 果 可 能,apt 甚 至 會 用 0.4.99 版 取 代 已 經 安 裝 的 更 高 的 版 本 呢 只 有 那 些 優 先 等 級 比 1000 大 的 套 裝 軟 體 才 會 降 級 1000 除 了 不 會 將 高 版 本 降 級 以 外, 與 1001 的 效 果 相 同 990 版 本 0.4.99 只 會 被 偏 好 發 佈 系 列 中 高 版 本 的 的 套 裝 軟 體 取 代, 偏 好 發 行 版 由 變 數 APT::Default-Release 定 義 ( 參 考 如 何 保 持 一 個 混 合 系 統 15 500 任 何 發 佈 系 列 中 比 0.4.99 版 本 高 的 sylpheed 都 會 被 安 裝, 但 相 對 於 低 版 本 而 言, 仍 然 建 議 使 用 0.4.99 100 任 何 發 佈 系 列 中 高 版 本 的 sylpheed 都 會 被 安 裝 ; 因 此 只 有 沒 有 其 它 版 本 可 以 安 裝 時 才 會 安 裝 0.4.99 已 安 裝 包 的 優 先 等 級

Chapter 3. 套 裝 軟 體 管 理 17-1 負 的 優 先 等 級 也 是 允 許 的, 它 會 組 織 0.4.99 版 被 安 裝 釘 子 也 可 以 用 來 指 定 套 裝 軟 體 的 version release 或 origin 我 們 已 經 看 到, 釘 在 一 個 version 上, 可 以 使 用 具 體 的 版 本 號, 也 可 以 使 用 萬 用 字 元 一 次 指 定 多 個 版 本 release 選 項 依 賴 於 APT 倉 庫 上 的 或 是 CD 中 的 Release 檔 案 如 果 你 使 用 的 APT 倉 庫 並 沒 有 提 供 這 個 檔 案, 這 個 選 項 就 沒 有 任 何 用 處 了 你 可 以 在 /var/lib/apt/lists/ 中 看 到 Release 檔 案 的 內 容 release 的 參 數 是 : a( 存 檔 ) c( 部 件 ) v( 版 本 ) o( 起 來 源 ) 和 l( 標 籤 ) 例 如 : Package: * Pin: release v=2.2*,a=stable,c=main,o=debian,l=debian Pin-Priority: 1001 在 這 個 例 子 中, 我 們 選 擇 了 Debian 版 本 2.2*( 可 以 是 2.2r2 2.2r3 這 些 版 本 中 通 常 包 含 了 對 安 全 問 題 的 修 復 和 其 它 重 要 更 新 ),stable 倉 庫,main ( 相 應 的 還 有 contrib 或 是 non-free) 區 段 起 來 源 和 標 籤 都 是 Debian origin(o=) 定 義 了 誰 製 作 了 這 個 Release 檔 案,label(l=) 定 義 了 發 行 版 的 名 字 :Debian 自 己 就 使 用 Debian 而 Progeny 則 使 用 Progeny Release 檔 案 的 例 子 如 下 所 示 : $ cat /var/lib/apt/lists/ftp.debian.org.br_debian_dists_potato_main_binary-i3 Archive: stable Version: 2.2r3 Component: main Origin: Debian Label: Debian Architecture: i386

Chapter 3. 套 裝 軟 體 管 理 18

19 Chapter 4 幾 個 非 常 有 用 的 工 具 4.1 如 何 安 裝 本 地 編 譯 的 套 裝 軟 體 :equivs 有 時, 使 用 者 想 使 用 某 些 軟 體 的 特 殊 版 本, 它 們 只 以 來 源 程 式 碼 的 形 式 存 在, 沒 有 現 成 的 Debian 套 裝 軟 體 套 裝 軟 體 管 理 系 統 在 處 理 這 類 事 務 時 可 能 會 出 問 題 假 設 你 想 編 譯 新 版 本 的 信 件 伺 服 器, 所 有 的 事 情 都 很 正 常, 但 是 Debian 中 的 很 多 套 裝 軟 體 是 依 賴 於 MTA( 信 件 傳 輸 代 理 ) 的 由 於 你 是 自 己 手 動 編 譯 安 裝 軟 體, 套 裝 軟 體 管 理 系 統 對 此 一 無 所 知 現 在 是 equivs 登 台 的 時 候 了 用 它 來 安 裝 套 裝 軟 體, 它 所 做 的 工 作 就 是 建 立 一 個 新 的 空 套 裝 軟 體 來 實 作 關 聯, 讓 套 裝 軟 體 管 理 系 統 相 信 所 有 的 依 賴 關 係 都 可 以 滿 足 在 我 們 開 始 以 前, 我 必 須 提 醒 你, 編 譯 某 個 軟 體 最 安 全 的 方 法 是 對 該 軟 體 現 有 的 Debian 套 裝 軟 體 進 行 修 改 後 重 新 編 譯, 如 果 你 並 不 知 道 你 正 在 干 什 麼, 勸 你 不 要 使 用 equivs 取 代 關 聯 包 更 多 資 訊 請 參 考 來 源 碼 包 操 作 29 繼 續 上 面 的 例 子, 你 安 裝 好 了 新 編 譯 的 postfix, 接 下 來 打 算 安 裝 mutt 突 然 你 發 現 mutt 想 安 裝 另 外 一 個 MTA, 但 實 際 上 你 已 經 有 了 你 的 MTA 前 往 某 個 目 錄 ( 例 如 /tmp) 執 行 : # equivs-control name 將 name 取 代 為 你 建 立 的 控 制 檔 案, 控 制 檔 案 按 如 下 格 式 建 立 : Section: misc Priority: optional Standards-Version: 3.0.1 Package: <enter package name; defaults to equivs-dummy> Version: <enter version here; defaults to 1.0> Maintainer: <your name and email address; defaults to username> Pre-Depends: <packages> Depends: <packages>

Chapter 4. 幾 個 非 常 有 用 的 工 具 20 Recommends: <packages> Suggests: <package> Provides: <(virtual)package> Architecture: all Copyright: <copyright file; defaults to GPL2> Changelog: <changelog file; defaults to a generic changelog> Readme: <README.Debian file; defaults to a generic one> Extra-Files: <additional files for the doc directory, comma-separated> Description: <short description; defaults to some wise words> long description and info. second paragraph 我 們 只 需 按 自 己 的 需 要 修 改 相 關 專 案 就 行 了 檔 案 中 每 個 項 目 都 描 述 得 很 清 楚, 我 們 不 必 在 此 逐 行 解 釋 它 們 現 在 開 始 修 改 吧 : Section: misc Priority: optional Standards-Version: 3.0.1 Package: mta-local Provides: mail-transport-agent 行 了, 就 是 這 樣 mutt 依 賴 於 mail-transport-agent, 這 是 所 有 MTA 共 同 提 供 的 一 個 虛 擬 包, 我 可 以 簡 單 地 將 這 個 套 裝 軟 體 命 名 為 mail-transport-agent, 不 過 我 更 愿 意 使 用 系 統 的 虛 擬 包 方 案, 使 用 Provides 選 項 現 在 你 可 以 開 始 組 建 套 裝 軟 體 了 : # equivs-build name dh_testdir touch build-stamp dh_testdir dh_testroot dh_clean -k # Add here commands to install the package into debian/tmp. touch install-stamp dh_testdir dh_testroot dh_installdocs dh_installchangelogs dh_compress dh_fixperms dh_installdeb dh_gencontrol

Chapter 4. 幾 個 非 常 有 用 的 工 具 21 dh_md5sums dh_builddeb dpkg-deb: building package name in../name_1.0_all.deb. 套 裝 軟 體 已 經 被 建 立 了, 注 意, 套 裝 軟 體 是 建 立 在 目 前 目 錄 中 的 然 後 安 裝 這 個.deb 檔 案 眾 所 周 知,equivs 的 使 用 方 式 很 多, 譬 如 你 可 以 建 立 一 個 my-favorites 套 裝 軟 體, 它 依 賴 於 你 通 常 安 裝 的 套 裝 軟 體 盡 情 發 揮 你 的 想 像 力 吧, 當 然 還 是 要 小 心 重 要 提 示 : 在 /usr/share/doc/equivs/examples 目 錄 下 有 控 制 檔 案 的 例 子, 最 好 看 一 下 4.2 移 除 無 用 的 地 區 組 態 (locale) 檔 案 :localepurge 許 多 Debian 使 用 者 只 有 在 固 定 地 區 使 用 Debian 例 如, 在 巴 西 的 Debian 使 用 者, 通 常 使 用 pt_br 地 區 組 態 檔 案 而 不 會 關 心 es 地 區 組 態 檔 案 對 於 這 類 使 用 者 而 言 localepurge 是 一 個 非 常 有 用 的 工 具, 你 可 以 只 有 保 留 你 目 前 所 用 的 地 區 組 態 檔 案, 刪 除 其 它 無 用 的 檔 案, 從 而 釋 放 大 量 硬 碟 空 間 執 行 apt-get install localepurge 就 行 了 它 組 態 起 來 非 常 容 易,debconf 的 提 問 將 引 導 使 用 者 一 步 一 步 完 成 設 定 在 回 答 第 一 個 問 題 時 請 務 必 謹 慎, 如 果 回 答 錯 了, 系 統 可 能 刪 掉 所 有 的 地 區 組 態 檔 案, 包 括 你 正 在 使 用 的 這 個 複 原 它 們 的 唯 一 方 法 就 是 重 裝 那 些 套 裝 軟 體 4.3 如 何 知 曉 哪 些 套 裝 軟 體 可 以 升 級 apt-show-versions 工 具 可 以 告 訴 你 系 統 中 哪 些 包 可 以 更 新 以 及 其 它 一 些 有 用 的 資 訊 -u 選 項 可 以 顯 示 可 更 新 套 裝 軟 體 列 表 : $ apt-show-versions -u libeel0/unstable upgradeable from 1.0.2-5 to 1.0.2-7 libeel-data/unstable upgradeable from 1.0.2-5 to 1.0.2-7

Chapter 4. 幾 個 非 常 有 用 的 工 具 22

23 Chapter 5 獲 取 套 裝 軟 體 資 訊 有 些 基 於 APT 系 統 的 前 端 程 序, 能 十 分 方 便 地 獲 得 系 統 套 裝 軟 體 列 表, 列 表 包 括 可 安 裝 或 已 安 裝 的 套 裝 軟 體, 還 可 以 顯 示 某 套 裝 軟 體 屬 於 哪 個 section, 它 的 優 先 等 級 是 多 少, 它 的 說 明 文 件 等 等 但 是... 在 此 我 們 想 的 學 習 如 何 使 用 APT 本 身 來 完 成 你 如 何 找 出 你 想 要 安 裝 的 軟 體 包 的 名 稱? 我 們 完 成 這 個 工 作 的 方 法 有 很 多 我 們 從 apt-cache 開 始,APT 系 統 使 用 這 個 程 序 來 維 護 它 的 資 料 庫 下 面 我 們 通 過 一 些 實 際 操 作 來 對 它 做 個 概 覽 5.1 獲 得 套 裝 軟 體 名 稱 假 設 你 十 分 懷 念 玩 Atari 2600 的 好 日 子, 你 決 定 用 APT 安 裝 一 個 Atari emulator, 隨 後 再 下 載 幾 個 游 戲, 你 可 以 這 樣 : # apt-cache search atari atari-fdisk-cross - Partition editor for Atari (running on non-atari) circuslinux - The clowns are trying to pop balloons to score points! madbomber - A Kaboom! clone tcs - Character set translator. atari800 - Atari emulator for svgalib/x/curses stella - Atari 2600 Emulator for X windows xmess-x - X binaries for Multi-Emulator Super System 我 們 找 到 了 幾 個 相 關 的 套 裝 軟 體, 以 及 有 關 的 簡 單 描 述 想 進 一 步 獲 得 某 個 套 裝 軟 體 的 詳 細 資 訊, 你 可 以 執 行 : # apt-cache show stella Package: stella Priority: extra Section: non-free/otherosfs

Chapter 5. 獲 取 套 裝 軟 體 資 訊 24 Installed-Size: 830 Maintainer: Tom Lear <tom@trap.mtview.ca.us> Architecture: i386 Version: 1.1-2 Depends: libc6 (>= 2.1), libstdc++2.10, xlib6g (>= 3.3.5-1) Filename: dists/potato/non-free/binary-i386/otherosfs/stella_1.1-2.deb Size: 483430 MD5sum: 11b3e86a41a60fa1c4b334dd96c1d4b5 Description: Atari 2600 Emulator for X windows Stella is a portable emulator of the old Atari 2600 video-game console written in C++. You can play most Atari 2600 games message it. The latest news, code and binaries for Stella can be found at: http://www4.ncsu.edu/~bwmott/2600 螢 幕 上 顯 示 出 這 個 套 裝 軟 體 的 詳 細 資 訊 及 其 用 途 的 完 整 描 述 如 果 你 的 系 統 中 已 安 裝 了 某 個 套 裝 軟 體 而 系 統 又 搜 索 到 它 的 新 版 本, 系 統 會 將 它 們 的 詳 細 資 訊 一 並 列 出 如 下 例 : # apt-cache show lilo Package: lilo Priority: important Section: base Installed-Size: 271 Maintainer: Russell Coker <russell@coker.com.au> Architecture: i386 Version: 1:21.7-3 Depends: libc6 (>= 2.2.1-2), debconf (>=0.2.26), logrotate Suggests: lilo-doc Conflicts: manpages (<<1.29-3) Filename: pool/main/l/lilo/lilo_21.7-3_i386.deb Size: 143052 MD5sum: 63fe29b5317fe34ed8ec3ae955f8270e Description: LInux LOader - The Classic OS loader can load Linux and others This Package contains lilo (the installer) and boot-record-images to install Linux, OS/2, DOS and generic Boot Sectors of other OSes.. You can use Lilo to manage your Master Boot Record (message a simple text sc or call Lilo from other Boot-Loaders to jump-start the Linux kernel. Package: lilo Status: install ok installed Priority: important Section: base Installed-Size: 190 Maintainer: Vincent Renardias <vincent@debian.org> Version: 1:21.4.3-2

Chapter 5. 獲 取 套 裝 軟 體 資 訊 25 Depends: libc6 (>= 2.1.2) Recommends: mbr Suggests: lilo-doc Description: LInux LOader - The Classic OS loader can load Linux and others This Package contains lilo (the installer) and boot-record-images to install Linux, OS/2, DOS and generic Boot Sectors of other OSes.. You can use Lilo to manage your Master Boot Record (message a simple text sc or call Lilo from other Boot-Loaders to jump-start the Linux kernel. 注 意, 首 先 列 出 的 是 可 用 套 裝 軟 體, 接 著 列 出 的 是 已 安 裝 套 裝 軟 體 獲 取 某 個 套 裝 軟 體 的 一 般 資 訊 可 執 行 : # apt-cache showpkg penguin-command Package: penguin-command Versions: 1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_mai Reverse Depends: Dependencies: 1.4.5-1 - libc6 (2 2.2.1-2) libpng2 (0 (null)) libsdl-mixer1.1 (2 1.1.0) libs Provides: 1.4.5-1 - Reverse Provides: 如 果 只 有 想 了 解 某 套 裝 軟 體 的 與 哪 些 套 裝 軟 體 關 聯, 可 執 行 : # apt-cache depends penguin-command penguin-command Depends: libc6 Depends: libpng2 Depends: libsdl-mixer1.1 Depends: libsdl1.1 Depends: zlib1g 總 之, 有 一 系 列 工 具 可 幫 助 我 們 找 到 我 們 想 要 的 套 裝 軟 體 5.2 使 用 dpkg 尋 找 套 裝 軟 體 名 稱 另 一 個 定 位 套 裝 軟 體 的 方 法 是 知 道 套 裝 軟 體 中 某 個 關 鍵 檔 案 的 名 稱 例 如, 你 編 譯 時 需 要 某 個.h 頭 檔 案, 尋 找 提 供 該 檔 案 的 套 裝 軟 體, 你 可 以 執 行 :

Chapter 5. 獲 取 套 裝 軟 體 資 訊 26 或 是 : # dpkg -S stdio.h libc6-dev: /usr/include/stdio.h libc6-dev: /usr/include/bits/stdio.h perl: /usr/lib/perl/5.6.0/core/nostdio.h # dpkg -S /usr/include/stdio.h libc6-dev: /usr/include/stdio.h 解 系 統 中 已 安 裝 軟 體 的 套 裝 軟 體 名 稱 十 分 有 用, 譬 如 當 你 想 清 理 硬 碟 空 間 時, 可 以 執 行 : # dpkg -l grep mozilla ii mozilla-browse 0.9.6-7 Mozilla Web Browser 這 個 命 令 的 缺 點 是 它 會 截 斷 套 裝 軟 體 的 名 字 在 上 例 中, 套 裝 軟 體 的 全 稱 是 mozilla-browser, 解 決 這 個 問 題 可 以 使 用 COLUMNS 環 境 變 數 : [kov]@[couve] $ COLUMNS=132 dpkg -l grep mozilla ii mozilla-browser 0.9.6-7 Mozilla Web Brows 或 顯 示 成 這 樣 : # apt-cache search "Mozilla Web Browser" mozilla-browser - Mozilla Web Browser 5.3 如 何 按 需 安 裝 套 裝 軟 體 你 正 在 編 譯 某 段 程 序, 突 然, 停 住 了! 一 條 錯 誤 資 訊 報 告 說 你 沒 有 它 需 要 的.h 頭 檔 案 讓 auto-apt 來 救 你 吧, 它 問 你 是 否 要 安 裝 需 要 的 套 裝 軟 體, 然 後 挂 起 編 譯 進 程, 安 裝 好 套 裝 軟 體 後 再 恢 復 編 譯 進 程 你 所 要 做 的 只 有 只 有 是 : # auto-apt run command 這 裡 command 指 在 執 行 程 序 中 可 能 出 現 需 求 檔 案 不 存 在 問 題 的 命 令 例 如 : # auto-apt run./configure 一 會 兒, 它 就 會 告 訴 你 要 安 裝 所 需 的 套 裝 軟 體 並 自 動 前 往 apt-get 處 理 如 果 你 正 在 執 行 X, 就 會 一 個 圖 形 界 面 提 示 視 窗 為 了 提 高 效 率 auto-apt 所 用 的 資 料 庫 需 要 實 時 更 新 可 調 用 auto-apt update,auto-apt updatedb 和 auto-apt update-local 來 完 成 更 新

Chapter 5. 獲 取 套 裝 軟 體 資 訊 27 5.4 如 何 知 道 檔 案 屬 於 哪 個 套 裝 軟 體 如 果 你 想 安 裝 某 個 套 裝 軟 體, 但 用 apt-cache 查 不 出 它 的 名 稱, 不 過 你 知 道 這 個 程 序 的 檔 案 名 稱, 或 這 個 套 裝 軟 體 中 某 些 檔 案 的 檔 案 名 稱, 那 麼 你 可 以 用 apt-file 來 尋 找 套 裝 軟 體 名 稱 如 下 所 示 : $ apt-file search filename 它 用 起 來 很 象 dpkg -S, 不 過 它 還 會 列 出 包 含 該 檔 案 的 已 刪 除 套 裝 軟 體 它 也 可 以 用 來 尋 找 哪 個 套 裝 軟 體 包 含 編 譯 時 所 缺 的 檔 案, 當 然, 解 決 這 類 問 題 auto-apt 可 能 是 更 好 的 方 案, 請 參 考 如 何 按 需 安 裝 套 裝 軟 體 26 用 這 個 命 令, 你 可 以 列 出 套 裝 軟 體 的 內 容 : $ apt-file list packagename apt-file 用 一 個 資 料 庫 來 存 放 所 有 套 裝 軟 體 的 內 容 資 訊, 和 auto-apt 一 樣, 這 個 資 料 庫 也 需 要 實 時 更 新, 完 成 更 新 可 以 執 行 : # apt-file update 預 設 情 況 下,apt-file 和 auto-apt 使 用 同 一 個 資 料 庫, 參 考 如 何 按 需 安 裝 套 裝 軟 體 26 5.5 如 何 掌 握 套 裝 軟 體 的 變 化 情 況 在 每 個 套 裝 軟 體 被 安 裝 以 後, 都 會 在 文 件 目 錄 (/usr/share/doc/packagename) 產 生 一 個 changelog.debian.gz 的 檔 案, 這 個 檔 案 記 錄 了 該 套 裝 軟 體 最 後 一 次 更 新 對 系 統 做 了 哪 些 修 改, 你 可 以 用 zless 閱 讀 這 些 資 訊 不 過 當 你 對 整 個 系 統 進 行 升 級 以 後, 逐 個 檢 視 套 裝 軟 體 的 更 新 資 訊 可 不 是 件 容 易 事 有 一 個 工 具 能 幫 你 完 成 這 項 工 作, 它 就 是 apt-listchanges 首 先 你 要 裝 上 apt-listchanges 套 裝 軟 體 在 安 裝 的 程 序 中, 為 了 進 行 配 置,Debconf 會 問 你 一 些 問 題, 按 你 的 要 求 回 答 它 們 就 行 了 第 一 個 問 題 是 問 你 希 望 apt-listchanges 如 何 來 顯 示 修 改 日 誌 你 可 以 讓 它 把 資 訊 通 過 信 件 的 方 式 發 送 給 你, 這 對 於 自 動 更 新 是 非 常 有 用 的 或 是 你 可 以 讓 它 在 less 等 程 序 中 顯 示 修 改 日 誌, 這 樣 在 繼 續 升 級 前 你 就 可 以 檢 視 它 們 了 如 果 你 不 希 望 apt-listchanges 在 升 級 的 時 候 自 動 的 執 行, 可 以 回 答 none 安 裝 了 apt-listchanges 後, 每 當 apt 下 載 套 裝 軟 體 之 後 ( 不 論 來 來 源 是 Internet 光 碟 或 是 硬 碟 ) 都 會 顯 示 這 些 套 裝 軟 體 的 系 統 更 新 資 訊

Chapter 5. 獲 取 套 裝 軟 體 資 訊 28

29 Chapter 6 來 源 碼 包 操 作 6.1 下 載 來 源 碼 包 在 自 由 軟 體 的 世 界 裡, 經 常 需 要 學 習 來 源 碼 或 為 程 序 除 錯, 所 以 你 需 要 下 載 它 們 APT 提 供 了 一 套 簡 便 的 方 法 幫 你 獲 得 發 佈 版 中 眾 多 程 序 的 來 源 程 式 碼 以 及 建 立 一 個.debs 所 需 的 所 有 檔 案 Debian 來 源 碼 的 另 一 個 普 遍 用 途 是 將 unstable 發 佈 版 的 新 版 程 序 進 行 改 寫 以 供 別 的 發 布 版 使 用 例 如, 從 stable 發 佈 版 外 引 入 新 的 套 裝 軟 體, 需 要 重 新 產 生.debs 將 它 在 原 發 佈 版 中 的 關 聯 關 係 遷 移 到 新 的 發 佈 版 要 完 成 這 些 工 作,/etc/apt/sources.list 檔 案 中 deb-src 所 指 參 照 鏡 像 來 源 應 該 是 unstable, 別 忘 了 將 行 首 的 註 解 符 去 掉 詳 情 參 考 /etc/apt/sources.list 檔 案 3 用 下 面 的 命 令 下 載 來 源 碼 包 : $ apt-get source packagename 通 常 會 下 載 三 個 檔 案 : 一 個.orig.tar.gz 一 個.dsc 和 一 個.diff.gz 對 於 Debian 專 用 的 套 裝 軟 體, 不 會 下 載 最 後 一 個 檔 案, 第 一 個 檔 案 的 文 件 名 中 沒 有 orig 項 dpkg-source 通 過.dsc 檔 案 中 的 資 訊, 將 來 源 碼 包 解 包 到 packagename-version 目 錄, 下 載 下 來 的 來 源 碼 包 中 有 一 個 debian/ 目 錄, 裡 面 是 建 立.deb 包 所 需 的 檔 案 想 要 下 載 的 來 源 碼 包 自 動 編 譯 成 套 裝 軟 體, 只 需 在 命 令 行 中 加 上 -b, 如 下 : $ apt-get -b source packagename 如 果 你 不 打 算 在 下 載 後 就 立 刻 建 立.deb 檔 案, 你 可 以 在 之 後 用 下 面 的 命 令 建 立 : $ dpkg-buildpackage -rfakeroot -uc -b

Chapter 6. 來 源 碼 包 操 作 30 上 述 命 令 應 當 在 下 載 後 為 套 裝 軟 體 建 立 的 目 錄 中 執 行 要 安 裝 用 這 種 方 式 組 建 好 的 套 裝 軟 體, 只 能 直 接 使 用 套 裝 軟 體 管 理 器, 例 如 : # dpkg -i file.deb apt-get 的 source 命 令 與 它 的 其 它 命 令 有 所 不 同, 普 通 用 戶 就 可 以 執 行 source 命 令 檔 案 被 下 載 到 使 用 者 調 用 apt-source package 命 令 時 所 處 的 目 錄 中 6.2 編 譯 來 源 碼 包 所 需 的 套 裝 軟 體 通 常, 編 譯 來 源 碼 包 時 要 用 到 某 些 頭 檔 案 和 共 享 庫, 所 有 的 來 源 碼 包 的 控 制 檔 案 中 都 有 一 個 網 域 Build-Depends:, 網 域 中 指 出 了 編 譯 該 來 源 碼 包 需 要 哪 些 附 加 包 APT 提 供 了 一 個 簡 單 的 方 法 下 載 這 些 附 加 包, 你 只 需 執 行 apt-get build-dep package, 其 中 package 就 是 你 打 算 編 譯 的 來 源 碼 包 名 稱 見 下 例 : # apt-get build-dep gmc Reading Package Lists... Done Building Dependency Tree... Done The following NEW packages will be installed: comerr-dev e2fslibs-dev gdk-imlib-dev imlib-progs libgnome-dev libgnorba-de libgpmg1-dev 0 packages upgraded, 7 newly installed, 0 to remove and 1 not upgraded. Need to get 1069kB of archives. After unpacking 3514kB will be used. Do you want to continue? [Y/n] 這 些 將 要 被 安 裝 的 包 是 用 於 正 確 編 譯 gmc 的 注 意 這 個 命 令 不 能 用 來 搜 索 某 個 軟 體 的 來 源 碼 包, 你 得 另 外 執 行 apt-get source 下 載 來 源 碼 包 如 果 你 想 做 的 是 檢 查 要 編 譯 一 個 套 裝 軟 體 需 要 哪 些 其 它 的 套 裝 軟 體,apt-cache show 可 以 顯 示 它 ( 從 那 考 獲 取 套 裝 軟 體 資 訊 23, 在 眾 多 資 訊 之 中,Build-Depends 一 行 會 列 出 那 些 需 要 的 套 裝 軟 體 # apt-cache showsrc package

31 Chapter 7 如 何 處 理 錯 誤 7.1 一 般 錯 誤 錯 誤 總 是 發 生, 大 部 分 是 因 為 使 用 者 的 粗 心, 下 面 列 舉 一 些 常 見 錯 誤 及 處 理 方 法 如 果 在 執 行 apt-get install package 時, 你 的 系 統 報 告 如 下 資 訊 : Reading Package Lists... Done Building Dependency Tree... Done W: Couldn t stat source package list http://people.debian.org unstable/ Pack W: You may want to run apt-get update to correct these missing files E: Couldn t find package penguineyes 上 次 你 修 改 /etc/apt/sources.list 後, 忘 了 執 行 apt-get update 更 新 如 果 出 現 這 樣 的 資 訊 : E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied) E: Unable to lock the administration directory (/var/lib/dpkg/), are you root 如 果 你 沒 有 root 權 限, 執 行 除 source 外 的 其 它 apt-get 命 令, 如 會 出 現 上 面 的 錯 誤 資 訊 這 是 因 為 你 是 普 通 用 戶 當 你 同 時 執 行 兩 個 apt-get 進 程, 或 是 當 你 試 圖 執 行 apt-get 時 已 有 一 個 的 dpkg 進 程 處 於 活 化 狀 態, 系 統 也 會 報 告 與 上 面 相 似 的 錯 誤 資 訊 唯 一 能 與 其 它 命 令 同 時 執 行 的 只 有 source 命 令 如 果 在 安 裝 程 序 中 出 現 插 斷, 然 後 你 發 現 該 套 裝 軟 體 既 不 能 重 裝 又 不 能 刪 除, 試 試 下 面 兩 個 命 令 : # apt-get -f install # dpkg --configure -a

Chapter 7. 如 何 處 理 錯 誤 32 重 試 著 安 裝 那 個 套 裝 軟 體, 如 果 不 行 再 次 執 行 上 述 命 令 後 重 試 這 兩 個 命 令 對 於 那 些 使 用 unstable 的 玩 家 非 常 有 用 如 果 你 在 執 行 apt-get update 時 看 到 E: Dynamic MMap ran out of room, 那 麼 在 /etc /apt/apt.conf 加 入 如 下 內 容 : APT::Cache-Limit 10000000; 7.2 在 哪 兒 獲 得 幫 助? 如 果 你 發 現 自 己 有 太 多 疑 問, 沒 關 係, 有 大 量 的 Debian 套 裝 軟 體 管 理 系 統 文 件 供 你 參 考 --help 和 幫 助 文 件 能 為 你 提 供 巨 大 的 幫 助, 這 些 文 件 位 元 於 /usr/share/doc 目 錄 中, 如 /usr/share/doc/apt 如 果 本 文 件 沒 法 幫 你 排 憂 解 難, 可 以 去 Debian 信 件 列 表 找 找 答 案, 在 相 關 欄 目 內 你 會 獲 得 更 多 資 訊 Debian 的 網 址 是 :http://www.debian.org 記 住 只 有 Debian 使 用 者 才 能 這 些 信 件 列 表 和 資 源, 其 它 作 業 系 統 的 使 用 者 請 到 相 關 係 統 發 佈 者 建 立 的 社 區 中 獲 取 更 多 資 源

33 Chapter 8 哪 些 發 行 版 支 援 APT? 下 面 是 部 分 使 用 APT 系 統 的 發 行 版 的 名 稱 : Debian GNU/Linux (http://www.debian.org) - APT 正 是 為 這 個 發 行 版 開 發 的 Conectiva (http://www.conectiva.com.br) - 這 是 第 一 個 將 APT 移 植 到 rpm 上 的 發 行 版 Libranet (http://www.libranet.com) Mandrake (http://www.mandrake.com) PLD (http://www.pld.org.pl) Vine (http://www.vinelinux.org) APT4RPM (http://apt4rpm.sf.net) Alt Linux (http://www.altlinux.ru/) Red Hat (http://www.redhat.com/) Sun Solaris (http://www.sun.com/) SuSE (http://www.suse.de/) Yellow Dog Linux (http://www.yellowdoglinux.com/)

Chapter 8. 哪 些 發 行 版 支 援 APT? 34

35 Chapter 9 致 謝 非 常 感 謝 你 們, 我 Debian-BR 項 目 組 的 好 朋 友 們! 還 有 你 Debian, 始 終 在 我 身 邊 幫 助 我, 給 我 動 力 不 停 工 作 為 全 人 類 做 出 貢 獻, 幫 助 我 樹 立 拯 救 世 界 的 理 想 :) 我 還 要 感 謝 CIPSGA, 他 們 給 予 我 們 項 目 組 乃 至 整 個 自 由 軟 體 項 目 巨 大 的 幫 助, 是 我 們 靈 感 的 來 源 泉 特 別 感 謝 : Yooseong Yang <yooseong@debian.org> Michael Bramer <grisu@debian.org> Bryan Stillwell <bryan@bokeoa.com> Pawel Tecza <pawel.tecza@poczta.fm> Hugo Mora <h.mora@melix.com.mx> Luca Monducci <luca.mo@tiscali.it> Tomohiro KUBOTA <kubota@debian.org> Pablo Lorenzzoni <spectra@debian.org> Steve Langasek <vorlon@netexpress.net> Arnaldo Carvalho de Melo <acme@conectiva.com.br> Erik Rossen <rossen@freesurf.ch> Ross Boylan <RossBoylan@stanfordalumni.org> Matt Kraai <kraai@debian.org> Aaron M. Ucko <ucko@debian.org> Jon Åslund <d98-jas@nada.kth.se>

Chapter 9. 致 謝 36

37 Chapter 10 本 使 用 指 南 的 新 版 本 本 操 作 手 冊 由 Debian-BR 項 目 組 (http://www.debian-br.org) 撰 寫, 我 們 希 望 它 能 為 Debian 使 用 者 提 供 有 效 的 幫 助 你 可 以 從 Debian 文 件 項 目 頁 面 獲 得 本 文 件 的 新 版 本 :http://www.debian.org/doc/ ddp 對 本 文 件 有 任 何 意 見 或 建 議 可 直 接 發 email 給 我 :<kov@debian.org> ( 華 文 使 用 者 請 發 給 譯 者 )