
Alpine以它的小巧和实用深受总多开发者的喜爱,而提到Alpine的Linux,其包管理工具apk则是在Alpine中使用广泛的一个工具,这篇文章简要介绍一下常见的使用方式。
什么是apk
Alpine Linux的包管理工具主要包含两部分内容:
包管理:提供安装/更新/删除包的功能
系统备份恢复:将系统恢复至之前安装和配置的备份状态
而具体实现上述两部分功能的工具则是apk和lbu

这篇文章主要介绍包管理工具apk的使用方法。常见命令的使用说明如下所示:

环境准备
在本文接下来的内容中将就上述命令的常见用法进行整理和总结,验证的环境为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的版本信息,将此文件的内容打印出来即可确认Alpine的版本
执行示例信息如下所示:
[root@host132 ~]# docker run -it --rm alpine:3.10.2 cat /etc/alpine-release
3.10.2
[root@host132 ~]#
常用命令说明
update

update命令用于更新本地索引,这样很多操作才能执行,否则会提示相关的WARNING
[root@host132 ~]# docker run -it --rm alpine:3.10.2 sh
/ # apk search gcc
WARNING: Ignoring APKINDEX.00740ba1.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.d8b2a6f4.tar.gz: No such file or directory
/ #
update命令会将上述提示的两个APKINDEX的文件从远端仓库下载到本地,在Alpine容器中,此文件会保存在/var/cache/apk:
[root@host132 ~]# docker run -it --rm alpine:3.10.2 sh
/ # ls /var/cache/apk
/ #
/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/community/x86_64/APKINDEX.tar.gz
v3.10.2-51-g21ccaac25b [http://dl-cdn.alpinelinux.org/alpine/v3.10/main]
v3.10.2-42-g95d37f7648 [http://dl-cdn.alpinelinux.org/alpine/v3.10/community]
OK: 10336 distinct packages available
/ #
/ # ls /var/cache/apk
APKINDEX.00740ba1.tar.gz APKINDEX.d8b2a6f4.tar.gz
/ #
索引文件一旦下载至本地,再次执行诸如apk search等命令则不会出现WARNING信息了
/ # apk search gcc
gcc-zsh-completion-5.7.1-r0
gcc-8.3.0-r0
gccmakedep-1.0.3-r0
gcc-objc-8.3.0-r0
gcc6-6.4.0-r9
libreoffice-common-6.2.7.1-r0
gcc6-java-6.4.0-r9
gcc6-doc-6.4.0-r9
libgcj6-6.4.0-r9
gcc-avr-8.3.0-r0
gcc-gnat-8.3.0-r0
gccmakedep-doc-1.0.3-r0
libgc

本文介绍了Alpine Linux的包管理工具apk的使用,包括更新、搜索、安装、删除等常见操作。通过示例展示了如何在Alpine容器中管理软件包,如安装gcc及其依赖,并通过apk stats和apk info了解包信息。此外,还提到了apk add的几种用法,如指定版本安装和离线安装。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



