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 --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 主要选项是
- 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/
- 安装一个 Debian 系统。
- 熟悉 dselect 并删除 tcpdump 工具。
- 使用 apt-get 重新安装包含 tcpdump 工具的包。
- 尝试使用 kpackage 安装 ethereal。