1. 程式人生 > >把玩Alpine linux(二):APK包管理器

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

占用 mysql- 優劣 script esc height 卸載 all 官方

導讀 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

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