导读 | 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/apks http://mirrors.ustc.edu.cn/alpine/v3.5/main http://mirrors.ustc.edu.cn/alpine/v3.5/community