千家信息网

把玩Alpine linux(二):APK包管理器

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,Alpine Linux 非常精简,开机内存占用也在二三十兆大,没有拆箱即用,就需要我们自己去做一些了解和配置Alpine Linux的优劣 优势Alpine Linux的Docker镜像特点是轻巧(
千家信息网最后更新 2024年11月23日把玩Alpine linux(二):APK包管理器
Alpine Linux 非常精简,开机内存占用也在二三十兆大,没有拆箱即用,就需要我们自己去做一些了解和配置

Alpine Linux的优劣 优势

Alpine Linux的Docker镜像特点是轻巧(大小只有5M)且有完整的包管理工具(APK)。

Docker官方镜像可能会用Alpine Linux替换Ubuntu。

劣势

Alpine Linux使用了musl,可能和其他Linux发行版使用的glibc实现会有些不同。

musl实现的DNS服务不会使用resolv.conf文件中的search和domain两个配置,通过DNS来进行服务发现时需要注意。

包管理器 apk包管理命令

Alpine使用apk进行包管理,通过apk --help命令查看完整的包管理命令,下面列举常用命令:

1、update:从远程镜像源中更新本地镜像源索引

update命令会从各个镜像源列表下载APKINDEX.tar.gz并存储到本地缓存,一般在/var/cache/apk/(Alpine在该目录下)、 /var/lib/apk/ 、/etc/apk/cache/下。

$ apk update

2、add:安装PACKAGES并自动解决依赖关系

add命令从仓库中安装软件包,自动管理依赖。

$ apk add openssh openntp vim$ apk add --no-cache mysql-client$ apk add docker --update-cache --repository http://mirrors.ustc.edu.cn/alpine/v3.4/main/ --allow-untrusted

安装指定版本软件包

$ apk add asterisk=1.6.0.21-r0$ apk add 'asterisk<1.6.1'$ apk add 'asterisk>1.6.1'

3、del:卸载并删除PACKAGES

$ apk del openssh openntp vim

4、upgrade:升级当前已安装的软件包
upgrade命令升级系统已安装的所以软件包(一般包括内核),当然也可指定仅升级部分软件包(通过-u或--upgrade选择指定)。

$ apk update #更新最新本地镜像源$ apk upgrade #升级软件$ apk add --upgrade busybox #指定升级部分软件包

5、search:搜索软件包

search命令搜索可用软件包,-v参数输出描述内容,支出通配符,-d或-description参数指定通过软件包描述查询。

$ apk search #查找所以可用软件包$ apk search -v #查找所以可用软件包及其描述内容$ apk search -v 'acf*' #通过软件包名称查找软件包$ apk search -v -d 'docker' #通过描述文件查找特定的软件包

6、info命令用于显示软件包的信息。

$ apk info #列出所有已安装的软件包$ apk info -a zlib #显示完整的软件包信息$ apk info --who-owns /sbin/lbu #显示指定文件属于的包
配置软件源

以中科大源为例:在 /etc/apk/repositories 文件中加入对应源地址就行了,一行一个地址。

$ vi /etc/apk/repositories# /media/cdrom/apkshttp://mirrors.ustc.edu.cn/alpine/v3.5/mainhttp://mirrors.ustc.edu.cn/alpine/v3.5/community


0