一、apt、yum、apk的介紹
1、apt(Advanced Packaging Tool)是一個在 Debian 和 Ubuntu 中的 Shell 前端軟件包管理器。
apt 命令提供了查找、安裝、升級、刪除某一個、一組甚至全部軟件包的命令,而且命令簡潔而又好記。
apt 命令執行需要超級管理員權限(root)。
詳見了解請看:https://www.runoob.com/linux/linux-comm-apt.html
2、yum( Yellow dog Updater, Modified)是一個在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端軟件包管理器。
基於 RPM 包管理,能夠從指定的服務器自動下載 RPM 包並且安裝,可以自動處理依賴性關系,並且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。
yum 提供了查找、安裝、刪除某一個、一組甚至全部軟件包的命令,而且命令簡潔而又好記。
詳細了解請看:https://www.runoob.com/linux/linux-yum.html
3、apk —— Alpine Linux是一個面向安全應用的輕量級Linux發行版。它采用了musl libc和busybox以減小系統的體積和運行時資源消耗,同時還提供了自己的包管理工具apk。
alpine
提供了非常好用的apk
軟件包管理工具,通過apk –help
命令查看完整的包管理命令。
(1)apk update —— 從遠程鏡像源中更新本地鏡像源索引。
update命令會從各個鏡像源列表下載APKINDEX.tar.gz並存儲到本地緩存,一般在/var/cache/apk/(Alpine在該目錄下)、/var/lib/apk/ 、/etc/apk/cache/下。
(2)apk add —— 安裝PACKAGES並自動解決依賴關系。
add命令從倉庫中安裝最新軟件包,並自動安裝必須的依賴包,也可以從第三方倉庫添加軟件包。
(3)apk del —— 卸載並刪除PACKAGES
(4)apk upgrade —— 升級當前已安裝的軟件包。
upgrade命令升級系統已安裝的所有軟件包(一般包括內核),當然也可指定僅升級部分軟件包(通過-u或–upgrade選擇指定)。
(5)apk search —— 搜索軟件包。
search命令搜索可用軟件包,-v 參數輸出描述內容,支出通配符,-d 或 –description 參數指定通過軟件包描述查詢。
(6)apk info —— 列出PACKAGES或鏡像源的詳細信息。info命令用於顯示軟件包的信息。
二、是選擇 apt 還是 yum ?
1、查看系統版本,選擇對應安裝命令
查看當前系統是什么系統,如果是 Debian 或 Ubuntu 則使用 apt 即可(在該系統上默認就有的);如果是 CentOS 則使用 yum 即可(也是默認就有的)。
我遇到的問題就是想用 ssh 直接連 docker 容器,要裝 openssh-server,使用 yum 安裝,結果容器里沒有 yum 命令,就一直安裝 yum ,怎么裝都有問題,最后發現直接用 apt 安裝即可,踩坑。
2、centos系統版本與kernel對應關系
[root@moapp-0003 /]# cat /etc/issue \S Kernel \r on an \m
這個 Kernel 是什么,為什么不是 centos? —— 原來比如 kernel-2.6.18-8.el5.src.rpm 就是 centos 對應的源碼包,所以我們看到 centos 系統版本信息一般都是顯示的Kernel。