跳轉到內容

LPI Linux 認證/使用 Debian 包管理

來自華夏公益教科書

詳細目標

[編輯 | 編輯原始碼]

(LPIC-1 版本 5.0

權重:3

描述
考生應該能夠使用 Debian 包工具執行包管理。

關鍵知識領域

  • 安裝、升級和解除安裝 Debian 二進位制包。
  • 查詢包含特定檔案或庫的包,這些檔案或庫可能已安裝或未安裝。
  • 獲取包資訊,如版本、內容、依賴項、包完整性和安裝狀態(包是否已安裝)。
  • 瞭解 apt

以下是一些使用的檔案、術語和實用程式的清單(不完整):

  • /etc/apt/sources.list
  • dpkg
  • dpkg-reconfigure
  • apt-get
  • apt-cache

包結構

[編輯 | 編輯原始碼]

為了理解如何使用 Debian 的包管理系統,首先了解 Debian 包的命名方式是有幫助的。例如,包 ncftp_3.1.3-1_i386.deb 有 5 個主要部分

  • ncftp - 程式/應用程式/庫的名稱
  • 3.1.3 - 由原始(上游)作者分配的程式/應用程式/庫的版本
  • 1 - 將程式打包到 Debian 系統的打包人員分配的包修訂號
  • i386 - 包含程式設計執行的體系結構
  • .deb - 表示這是一個 Debian 包

請注意,使用下劃線(_)和連字元(-)具有特殊的意義;下劃線將程式名稱與其版本隔開,連字元將版本號與其修訂號隔開,下劃線將修訂號與其體系結構隔開。

dpkg是 Debian 包管理系統的“鼻祖”或“後端”。更高階工具中存在的功能不可用dpkg但它仍然是一個有用的工具。

一些注意事項

  • dpkg它在 /var/lib/dpkg/available 中儲存可用包的記錄。

一些管理員使用 的更常見功能dpkg

新增、刪除和配置包

  • dpkg {-i|--install} <包名>將安裝指定的包
  • dpkg {-r|--remove} <包名>將刪除指定的包(但保留配置檔案)
  • dpkg {-P|--purge} <包名>將刪除指定的包及其相應的配置檔案
  • dpkg --root /target -i <包>透過指定系統根目錄,將包安裝到不可引導的系統中。
  • dpkg --unpack <包名>將把 Debian 檔案解壓縮(但不配置)到硬碟檔案系統中
  • dpkg --configure <包名>將配置已解壓縮的包

查詢包資訊

  • dpkg --info <包名>將打印出指定包的控制檔案(和其他資訊)
  • dpkg {-l|--list}這將為您提供已安裝包的列表。
  • dpkg {-a|--pending}如果提供了包名而不是包名,則檔案 /var/lib/dpkg/status 中所有已解壓縮但標記為要刪除或清除的包將被刪除或清除。
  • dpkg -s (--status)<包名> 將為您提供已安裝包的描述

更新包資訊

  • dpkg --update-avail <包名>將用包中的新資訊替換舊資訊。
  • dpkg --merge-avail <包名>將把包中的新資訊與舊資訊合併。

dpkg-reconfigure

[編輯 | 編輯原始碼]

dpkg-reconfigure在包安裝後重新配置包。

  • dpkg-reconfigure <包名>重新配置初始安裝設定
  • dpkg-reconfigure --priority=medium package [...]將設定將顯示的最低優先順序問題
  • dpkg-reconfigure --all將重新配置所有包
  • dpkg-reconfigure locales將生成任何額外的語言環境
  • dpkg-reconfigure --p=lowxserver-xfree86 將重新配置 X 伺服器

Dselect 是 Debian 上允許您輕鬆新增/刪除包的實用程式。

  • 選擇要使用的訪問方法。
  • 如果可能,更新可用包的列表。
  • 請求您想要在系統上的包。
  • 安裝和升級所需的包。
  • 配置任何未配置的包。
  • 刪除不需要的軟體。

Dselect 有一個互動式選單,允許您安裝/刪除包。使用此實用程式時必須小心。您可能會損壞您的系統。

Dselect 選單示例

Debian `dselect' package handling frontend.
0. [A]ccess    Choose the access method to use. 
1. [U]pdate    Update list of available packages, if possible. 
2. [S]elect    Request which packages you want on your system.
3. [I]nstall   Install and upgrade wanted packages. 
4. [C]onfig    Configure any packages that are unconfigured. 
5. [R]emove    Remove unwanted software.
6. [Q]uit      Quit dselect.
$ dselect - list of access methods
Abbrev.        Descriptio  cdrom          Install from a CD-ROM.
* multi_cd       Install from a CD-ROM set.
nfs            Install from an NFS server (not yet mounted).
multi_nfs      Install from an NFS server (using the CD-ROM set) (not yet mounted).
harddisk       Install from a hard disk partition (not yet mounted).
mounted        Install from a filesystem which is already mounted.
multi_mount    Install from a mounted partition with changing contents.
floppy         Install from a pile of floppy disks.
apt            APT Acquisition [file,http,ftp]

如果您知道要安裝的包的名稱,請使用 apt-get。您必須配置 sources.list 檔案。當您選擇 Dselect 的 apt 訪問方法時,將使用相同的檔案。位置是/etc/apt.

  • apt-get install <包名>將搜尋其資料庫以獲取此包的最新版本,並將從 sources.list 中指定的相應檔案中檢索並安裝它。如果此包依賴於另一個 APT 將檢查依賴項並安裝必要的包。
    • apt-get install <包名>=<版本>將安裝指定版本的包
    • apt-get install <包名> -o DPkg::options::="--force-overwrite"將安裝包,忽略“處理 ... 錯誤,它也在包 ... 中”錯誤。
  • apt-get remove <包名>將刪除指定的包,但保留其配置檔案。
  • apt-get --purge remove <包名>將刪除指定的包及其配置檔案。
  • apt-get -u install <包名>將升級並安裝特定包。
  • apt-get -u upgrade將升級相同發行版包中的包,但那些因依賴關係被破壞或出現新依賴關係而被保留的包除外。
  • apt-get -u dist-upgrade將一次升級整個 Debian 系統。
  • apt-file search <檔名>將搜尋包含指定檔案的包。
  • apt-file list <包名>將列出與模式匹配的包的內容。此操作與 dpkg -S 命令非常接近,只是包不需要安裝或獲取。

Apt-cache

[編輯 | 編輯原始碼]

要查詢要安裝的包的名稱,請使用 apt-cache。apt-cache 主要選項是 

  • add - 將包檔案新增到源快取
  • showpkg - 顯示單個包的一些常規資訊
  • stats - 顯示一些基本統計資訊
  • search - 在包列表中搜索正則表示式模式
  • show - 顯示包的可讀記錄
  • depends – 顯示包的原始依賴項資訊
user@host:~$ apt-cache search gimp
babygimp - An icon editor in Perl-Tk
blackbook - GTK+ Address Book Applet
cupsys-driver-gimpprint - Gimp-Print printer drivers for CUPS
escputil - A maintenance utility for Epson Stylus printers
filmgimp - A motion picture editing and retouching tool

APT HOWTO
http://www.debian.org/doc/manuals/apt-howto/index.en.html
Dselect 初學者文件
http://www.debian.org/doc/manuals/dselect-beginner/

  1. 安裝一個 Debian 系統。
  2. 熟悉 dselect 並刪除 tcpdump 工具。
  3. 使用 apt-get 重新安裝包含 tcpdump 工具的包。
  4. 嘗試使用 kpackage 安裝 ethereal。
華夏公益教科書