包管理器

1. apk命令列表

Alpine系统包管理器为APK(Alpine Linux package management)。Alpine使用apk进行软件包管理,通过apk --help命令查看完整的包管理命令。
表2 apk工具支持操作

命令类别 子命令 命令说明
包管理 add 将软件包添加到“world”并进行安装(或升级),同时确保满足所有依赖性
包管理 del 从“world”中删除并卸载软件包
系统维护 fix 修复或升级已安装的软件包
系统维护 update 更新可用软件包的索引
系统维护 upgrade 升级当前安装的软件包
系统维护 cache 本地缓存的软件包存储库的维护操作
信息查询 info 打印有关已安装或可用软件包的信息
信息查询 list 按PATTERN和其他条件列出包裹
信息查询 search 搜索带有通配符模式的软件包或描述
信息查询 dot 为给定的包创建graphviz图形描述
信息查询 policy 显示更新给定软件包的存储库,以及也提供该软件包的存储库
仓库管理 index 从软件包列表创建存储库索引
仓库管理 fetch 下载(但不安装)软件包
仓库管理 verify 验证包的完整性和签名信息
仓库管理 manifest 显示package各组成部分的checksum

2. apk常用命令说明

2.1. update

表3

命令类别 子命令 命令说明
系统维护 update 更新可用软件包的索引

update命令用于更新本地软件包索引,这样其它许多操作才能顺利执行,否则会提示警告信息。

alpine:/# apk update
fetch http://alpine.loongnix.cn/v3.11/main/loongarch64/APKINDEX.tar.gz
fetch http://alpine.loongnix.cn/v3.11/community/loongarch64/APKINDEX.tar.gz
fetch http://alpine.loongnix.cn/v3.11/testing/loongarch64/APKINDEX.tar.gz
fetch http://alpine.loongnix.cn/v3.11/non-free/loongarch64/APKINDEX.tar.gz
fetch http://alpine.loongnix.cn/v3.11/unmaintained/loongarch64/APKINDEX.tar.gz
OK: 10444 distinct packages available

索引文件一旦下载至本地,执行其他命令则不会出现WARNING信息。

表4

命令类别 子命令 命令说明
系统维护 search 搜索带有通配符模式的软件包或描述

常见用法为apk search,用于查询可用的apk的包的信息。 以gcc为例:

alpine:/# apk search gcc
gcc-zsh-completion-5.7.1-r0
gcc-objc-8.3.0-r24
gcc-8.3.0-r24
gcc-doc-8.3.0-r24
libgcc-8.3.0-r24

2.3. add

表5

命令类别 子命令 命令说明
包管理 add 将软件包添加到“world”并进行安装(或升级),同时确保满足所有依赖性

以安装iperf为例安装最新匹配版本的apk包的命令:

alpine:/# apk add iperf
(1/2) Installing iperf (2.0.13-r1)
(2/2) Installing iperf-openrc (2.0.13-r1)
Executing busybox-1.31.1-r10.trigger
OK: 1388 MiB in 207 packages

其他常见用法:

  1. 下载至本地apk安装文件,然后使用安装文件进行安装 apk add 二进制文件.apk
  2. 使用本地cache而不直接联网进行安装 apk add --no-network 包名
  3. 不使用本地cache进行安装 apk add --no-cache 包名
  4. 安装某包的指定版本 apk add 包名=指定版本号

以安装acf-lib-lua5.1-0.11.0-r0为例:

alpine:/# apk add acf-lib-lua5.1=0.11.0-r0
(1/1) Installing acf-lib-lua5.1 (0.11.0-r0)
OK: 1388 MiB in 205 packages

2.4. del

表6

命令类别 子命令 命令说明
包管理 del 从“world”中删除并卸载软件包

以卸载iperf为例:

alpine:/# apk del iperf
(1/2) Purging iperf-openrc (2.0.13-r1)
(2/2) Purging iperf (2.0.13-r1)
Executing busybox-1.31.1-r10.trigger
OK: 1388 MiB in 205 packages

可以看到连同安装的其他依赖一同卸载。

2.5. info 和 list

表7

命令类别 子命令 命令说明
信息查询 info 打印有关已安装或可用软件包的信息
信息查询 list 按PATTERN和其他条件列出软件包

可以通过info和list获得包的相关信息,以iperf为例:

alpine:/# apk list iperf
iperf-2.0.13-r1 loongarch64 {iperf} (BSD)
alpine:/# apk info iperf
iperf-2.0.13-r1 description:
A tool to measure IP bandwidth using UDP or TCP
iperf-2.0.13-r1 webpage:
http://iperf2.sourceforge.net/
iperf-2.0.13-r1 installed size:
135168

其他常见用法:

  • 查询指定的二进制文件名所归属的包的信息 apk info --who-owns 二进制文件名称
alpine:/#  which grep
/bin/grep
alpine:/# apk info --who-owns /bin/grep
/bin/grep symlink target is owned by busybox-1.31.1-r10
  • 查询已经安装的所有包的信息 apk info 或者 apk info -v

2.6. policy

表8

命令类别 子命令 命令说明
信息查询 policy 显示更新给定软件包的存储库,以及也提供该软件包的存储库

使用policy可以查询包信息:

alpine:/# apk policy iperf
iperf policy:
  2.0.13-r1:
    http://alpine.loongnix.cn/v3.11/main
©龙芯开源社区 all right reserved,powered by Gitbook文档更新时间: 2021-09-07 10:58:13

results matching ""

    No results matching ""

    results matching ""

      No results matching ""