介绍
在本实验中,我们将在 Ubuntu 22.04 Docker 容器中探索 aptitude 包管理器。我们将学习如何安装和更新 aptitude,执行包搜索和信息查询,并使用 aptitude 命令管理包的安装、升级和删除。本实验涵盖了基本的包管理任务,提供了实际示例,以增强你的 Linux 系统管理技能。
在本实验中,我们将在 Ubuntu 22.04 Docker 容器中探索 aptitude 包管理器。我们将学习如何安装和更新 aptitude,执行包搜索和信息查询,并使用 aptitude 命令管理包的安装、升级和删除。本实验涵盖了基本的包管理任务,提供了实际示例,以增强你的 Linux 系统管理技能。
在这一步中,我们将在 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 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 <[email protected]>
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 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 安装、升级和删除包。