Alpine包管理工具apk使用介绍

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

在这里插入图片描述

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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值