介绍
在本实验中,我们将在 Ubuntu 22.04 Docker 容器中探索 aptitude 包管理器。我们将学习如何安装和更新 aptitude,执行包搜索和信息查询,并使用 aptitude 命令管理包的安装、升级和删除。本实验涵盖了基本的包管理任务,提供了实际示例,以增强你的 Linux 系统管理技能。
安装和更新 aptitude 包管理器
在这一步中,我们将在 Ubuntu 22.04 Docker 容器中安装并更新 aptitude 包管理器。
首先,让我们更新包索引以确保我们拥有最新的包信息:
sudo apt-get update
示例输出:
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB]
Get:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [99.8 kB]
Fetched 324 kB in 1s (324 kB/s)
Reading package lists... Done
接下来,让我们安装 aptitude 包管理器:
sudo apt update
sudo apt-get install -y aptitude
示例输出:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
aptitude-common libboost-iostreams1.74.0 libboost-system1.74.0 libcwidget3v5 libept1.5.0 libxapian30
Suggested packages:
aptitude-doc-en aptitude-doc
The following NEW packages will be installed:
aptitude aptitude-common libboost-iostreams1.74.0 libboost-system1.74.0 libcwidget3v5 libept1.5.0 libxapian30
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,450 kB of archives.
After this operation, 5,580 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 libboost-iostreams1.74.0 amd64 1.74.0-8ubuntu3 [139 kB]
Get:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 libboost-system1.74.0 amd64 1.74.0-8ubuntu3 [94.7 kB]
...
Fetched 1,450 kB in 1s (1,450 kB/s)
Selecting previously unselected package aptitude-common.
(Reading database ... 18284 files and directories currently installed.)
Preparing to unpack .../aptitude-common_0.8.12-1ubuntu1_all.deb ...
Unpacking aptitude-common (0.8.12-1ubuntu1) ...
Selecting previously unselected package aptitude.
Preparing to unpack .../aptitude_0.8.12-1ubuntu1_amd64.deb ...
Unpacking aptitude (0.8.12-1ubuntu1) ...
Setting up libboost-iostreams1.74.0:amd64 (1.74.0-8ubuntu3) ...
Setting up libboost-system1.74.0:amd64 (1.74.0-8ubuntu3) ...
Setting up libcwidget3v5:amd64 (0.5.17-7build1) ...
Setting up libept1.5.0:amd64 (1.1+nmu3ubuntu2) ...
Setting up libxapian30:amd64 (1.4.18-3ubuntu1) ...
Setting up aptitude-common (0.8.12-1ubuntu1) ...
Setting up aptitude (0.8.12-1ubuntu1) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for libc-bin (2.35-0ubuntu3) ...
现在,让我们验证 aptitude 是否已安装并更新到最新版本:
使用 aptitude 进行包搜索和信息查询
在这一步中,我们将学习如何使用 aptitude 包管理器搜索包并获取其相关信息。
首先,让我们使用 aptitude search 命令搜索一个包。例如,搜索 "nginx" 包:
sudo aptitude search nginx
示例输出:
i nginx - 高性能 web 服务器
p nginx-core - nginx web 服务器(核心版本)
p nginx-doc - nginx 的文档
p nginx-extras - nginx web 服务器(扩展版本)
p nginx-full - nginx web 服务器(标准版本)
p nginx-light - nginx web 服务器(基础版本)
输出显示有几个与 nginx 相关的包可用。前缀 "i" 表示 "nginx" 包当前已安装。
接下来,让我们使用 aptitude show 命令获取 "nginx" 包的详细信息:
sudo aptitude show nginx
示例输出:
Package: nginx
State: installed
Automatically installed: no
Version: 1.18.0-0ubuntu1.2
Priority: optional
Section: web
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Uncompressed Size: 1,518 k
Depends: nginx-core (= 1.18.0-0ubuntu1.2), lsb-base (>= 3.0-10)
Suggests: nginx-doc, www-browser
Description: 高性能 web 服务器
Nginx 是一个高性能的 web 服务器和反向代理服务器。它以高性能、稳定性、丰富的功能集、简单的配置和低资源消耗而闻名。
这提供了关于 "nginx" 包的详细信息,包括其版本、依赖项以及包的描述。
使用 aptitude 安装、升级和删除包
在这一步中,我们将学习如何使用 aptitude 安装、升级和删除包。
首先,让我们使用 aptitude install 命令安装一个新包。我们将安装 "tree" 包,这是一个以树状格式显示目录结构的命令行工具:
sudo aptitude install tree
示例输出:
以下新包将被安装:
tree
0 个包已升级,1 个新安装,0 个将被删除,0 个未升级。
需要获取 44.2 kB 的归档文件。操作完成后,将额外占用 123 kB 的磁盘空间。
是否继续?[Y/n/?] y
获取:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 tree amd64 1.8.0-1build1 [44.2 kB]
已下载 44.2 kB,耗时 0s (89.3 kB/s)
正在选中未选择的包 tree。
(正在读取数据库 ... 当前已安装 18291 个文件和目录。)
准备解压 .../tree_1.8.0-1build1_amd64.deb ...
正在解压 tree (1.8.0-1build1) ...
正在设置 tree (1.8.0-1build1) ...
正在处理 man-db (2.10.2-1) 的触发器 ...
接下来,让我们使用 aptitude safe-upgrade 命令升级一个包。我们将把 "vim" 包升级到最新版本:
sudo aptitude safe-upgrade vim
示例输出:
以下包将被升级:
vim vim-common vim-runtime
3 个包已升级,0 个新安装,0 个将被删除,0 个未升级。
需要获取 6,483 kB 的归档文件。操作完成后,不会占用额外的磁盘空间。
是否继续?[Y/n/?] y
获取:1 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 vim-common amd64 2:8.2.3995-1ubuntu2.1 [2,138 kB]
获取:2 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 vim-runtime all 2:8.2.3995-1ubuntu2.1 [4,178 kB]
获取:3 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 vim amd64 2:8.2.3995-1ubuntu2.1 [167 kB]
已下载 6,483 kB,耗时 1s (6,483 kB/s)
(正在读取数据库 ... 当前已安装 18292 个文件和目录。)
准备解压 .../vim-common_2%3a8.2.3995-1ubuntu2.1_amd64.deb ...
正在解压 vim-common (2:8.2.3995-1ubuntu2.1) 覆盖 (2:8.2.3995-1ubuntu2) ...
准备解压 .../vim-runtime_2%3a8.2.3995-1ubuntu2.1_all.deb ...
正在解压 vim-runtime (2:8.2.3995-1ubuntu2.1) 覆盖 (2:8.2.3995-1ubuntu2) ...
准备解压 .../vim_2%3a8.2.3995-1ubuntu2.1_amd64.deb ...
正在解压 vim (2:8.2.3995-1ubuntu2.1) 覆盖 (2:8.2.3995-1ubuntu2) ...
正在设置 vim-common (2:8.2.3995-1ubuntu2.1) ...
正在设置 vim-runtime (2:8.2.3995-1ubuntu2.1) ...
正在设置 vim (2:8.2.3995-1ubuntu2.1) ...
正在处理 man-db (2.10.2-1) 的触发器 ...
最后,让我们使用 aptitude remove 命令删除 "tree" 包:
sudo aptitude remove tree
示例输出:
以下包将被删除:
tree
0 个包已升级,0 个新安装,1 个将被删除,0 个未升级。
需要获取 0 B 的归档文件。操作完成后,将释放 123 kB 的磁盘空间。
是否继续?[Y/n/?] y
(正在读取数据库 ... 当前已安装 18292 个文件和目录。)
正在删除 tree (1.8.0-1build1) ...
正在处理 man-db (2.10.2-1) 的触发器 ...
总结
在本实验中,我们学习了如何在 Ubuntu 22.04 Docker 容器中安装和更新 aptitude 包管理器。我们首先更新了包索引以确保拥有最新的包信息,然后安装了 aptitude 包管理器。我们还探索了如何执行包搜索和信息查询,以及如何使用 aptitude 安装、升级和删除包。



