Alpine以它的小巧和实用深受总多开发者的喜爱,而提到Alpine的Linux,其包管理工具apk则是在Alpine中使用广泛的一个工具,这篇文章简要介绍一下常见的使用方式。
什么是apk
Alpine Linux的包管理工具主要包含两部分内容:
- 包管理:提供安装/更新/删除包的功能
- 系统备份恢复:将系统恢复至之前安装和配置的备份状态
而具体实现上述两部分功能的工具则是apk和lbu
功能 | 工具 | 缩写 |
---|---|---|
包管理 | apk | Alpine Linux package manager. |
系统备份恢复 | lbu | Alpine Local Backup |
这篇文章主要介绍包管理工具apk的使用方法。常见命令的使用说明如下所示:
命令类别 | 子命令 | 命令说明 |
---|---|---|
包管理 | add | 添加指定包并确认所有依赖满足要求 |
包管理 | del | 删除指定包 |
系统维护 | fix | 在不改动主要的依赖的情况下进行包的修复或者升级 |
系统维护 | update | 从远程仓库获取信息更新本地仓库索引 |
系统维护 | upgrade | 对已安装了的包进行更新 |
系统维护 | cache | 对缓存进行操作,比如对缺失的包进行缓存或者对于不需要的包进行缓存删除 |
信息查询 | info | 对于指定的包进行包或者仓库的详细信息进行显示 |
信息查询 | list | 按照指定条件进行包的列表信息显示 |
信息查询 | search | 查询相关的包的详细信息 |
信息查询 | dot | 生成依赖之间的关联关系图(使用箭头描述) |
信息查询 | policy | 显示包的仓库策略信息 |
信息查询 | stats | 显示仓库和包的安装相关的统计信息 |
仓库管理 | index | 使用文件生成仓库索引文件 |
仓库管理 | fetch | 从全局仓库下载包到本地目录 |
仓库管理 | verify | 验证包的完整性和签名信息 |
仓库管理 | manifest | 显示package各组成部分的checksum |
环境准备
在本文接下来的内容中将就上述命令的常见用法进行整理和总结,验证的环境为Alpine的官方镜像3.10.2,镜像信息如下所示
[root@host132 ~]# docker pull alpine:3.10.2
3.10.2: Pulling from library/alpine
Digest: sha256:72c42ed48c3a2db31b7dafe17d275b634664a708d901ec9fd57b1529280f01fb
Status: Downloaded newer image for alpine:3.10.2
[root@host132 ~]# docker images |grep alpine |grep 3.10.2
alpine 3.10.2 961769676411 3 weeks ago 5.58MB
[root@host132 ~]#
Alpine容器版本的确认方法
/etc/alpine-release的文件中记录了alpine的版本信息,将此文件的内容打印出来即可确认