跳转到内容

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。
华夏公益教科书