把玩Alpine linux(二):APK包管理器
阿新 • • 發佈:2019-03-07
占用 mysql- 優劣 script esc height 卸載 all 官方
Alpine Linux的優劣
優勢
包管理器
apk包管理命令
導讀 | Alpine Linux非常精簡,開機內存占用也在二三十兆大,沒有拆箱即用,就需要我們自己去做一些了解和配置 |
Alpine Linux的Docker鏡像特點是輕巧(大小只有5M)且有完整的包管理工具(APK)。
Docker官方鏡像可能會用Alpine Linux替換Ubuntu。
劣勢Alpine Linux使用了musl,可能和其他Linux發行版使用的glibc實現會有些不同。
musl實現的DNS服務不會使用resolv.conf文件中的search和domain兩個配置,通過DNS來進行服務發現時需要註意。
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包管理器