天天看點

【雲計算的1024種玩法】玩轉四大主流作業系統的軟體包管理器前言介紹教程

目前收到了阿裡雲關于 “華北1(青島)地域的ECS Linux系統安裝源(yum/deb/apt等)暫停服務進行更新” 的通知,這對于伺服器本身的運作并沒有影響,但是如果我們需要安裝環境或者更新環境,就會遇到無法更新的情況。

如果遇到這種情況,我們應該怎麼辦呢? 這裡就教大家如何應對相關問題。 更換軟體源可以直接到 教程 下的 更換軟體源 學習。

RHEL、CentOS 的 yum 工具和 Debian、Ubuntu 的 APT 工具都是一個非常好的前端軟體包管理器,它們可以幫助我們便捷的安裝二進制軟體無需編譯,同時還可以自動安裝該軟體依賴的庫或其他軟體,還可以幫助作業系統保持最新狀态。

這裡就介紹一下 yum 和 apt 的用法。

需要使用到的産品:

通過本文你将講學到:

RHEL、CentOS、Debian、Ubuntu 四大主流作業系統的軟體包管理器使用教程

RHEL、CentOS 通過如下指令就可以自動更新作業系統以及通過軟體源安裝的全部軟體:

會同時更新軟體的緩存,擷取軟體版本資訊,然後再通過比較目前系統的軟體版本,如果軟體源的更新,那麼就進行更新。

注意安裝完成後, 你下載下傳用于安裝的包仍然保留在系統中,要釋放空間,需要使用如下指令:

Debian、Ubuntu 通過如下指令就可以自動更新作業系統以及通過軟體源安裝的全部軟體:

<code>apt update</code> 是更新軟體源緩存,<code>apt upgrade</code> 是更新軟體,判斷原理也是比較軟體源和本地軟體的版本并進行更新。

Debian 和 Ubuntu 還有 <code>apt-get dist-upgrade</code> 和 <code>do-release-upgrade</code> 指令可用,但是會更新整個系統到最新版本,例如 Debian 8.10 會更新到 Debian 9.4,這可能會導緻雲計算沒有識别你的 Linux 核心而無法進入系統,同時系統鏡像功能也會失效。

注意安裝完成後,你下載下傳用于安裝的包仍然在你的 <code>/var</code> 目錄下,要釋放空間,記得用 <code>apt-get clean</code> 和 <code>apt-get autoclean</code> 将它們删除或移到别的地方。

這裡就是重點來了,如何解決本次的軟體源暫時無法使用的問題呢? 那就是提前換一個可以使用的軟體源。

修改 <code>/etc/yum.repos.d/</code> 目錄下的檔案,例如:<code>CentOS-Base.repo</code> 、<code>epel.repo</code> 等,這裡以修改 CentOS 7 本身的軟體源檔案 <code>CentOS-Base.repo</code> 為例:

将 <code>CentOS-Base.repo</code> 修改為 <code>CentOS-Base.repo.old</code>

然後建立一個新的 <code>CentOS-Base.repo</code> 檔案,寫入清華源的内容:

然後運作 <code>yum makecache</code> 更新軟體源緩存即可。

等問題修複,将該檔案删除并将 <code>CentOS-Base.repo.old</code> 重新命名回來并更新緩存即可。

修改 <code>/etc/apt/sources.list</code> 檔案,重命名為 <code>/etc/apt/sources.list.old</code>

然後重新建立 <code>/etc/apt/sources.list</code> 檔案,内容為:

注: 其中,<code>OS</code> 代表 <code>debian</code> 或者 <code>ubuntu</code>,<code>CODE</code> 代表發型代号,例如 <code>Ubuntu 18.04</code> 是 <code>artful</code>,<code>Debian 9</code> 是 <code>stretch</code>

展示一下 Ubuntu 16.04 的清華源替換方式:

等問題修複,将該檔案删除并将 <code>/etc/apt/sources.list.old</code> 重新命名回來并更新緩存即可。

使用阿裡雲提供的預設軟體源的話,走的是 ECS 的内網速度更加的快而且走的公網也更加安全可靠。

由于安全和維護的考量,當作業系統版本當機後,這個發型的版本的作業系統下所有的軟體版本号就會當機,不再進行功能性更新隻進行安全更新。就比如說 Debian 9 預設的 MariaDB 是 10.0,CentOS 7 預設的 MariaDB 是 5.5 ,那如果我們想用 10.2 的特性就不行了。

這時候通過添加第三方軟體源就可以解決了,這裡已添加 MariaDB 官方提供的軟體源為例:

建立 <code>/etc/yum.repos.d/nginx.repo</code> 檔案,内容如下,以 CentOS 7 為例:

更多版本請參考:

<a href="https://downloads.mariadb.org/mariadb/repositories/#mirror=neusoft">https://downloads.mariadb.org/mariadb/repositories/#mirror=neusoft</a>

更新緩存:

安裝 MariaDB:

這裡以 Debian 9 為例

一、 安裝一下 <code>software-properties-common</code> 和 <code>dirmngr</code> :

Ubuntu 不需要安裝 <code>dirmngr</code>,直接 <code>apt-get install software-properties-common</code> 就行

二、 導入 Key 以校驗軟體的真實性:

三、 加入軟體源:

Ubuntu 将 <code>10.2/debian</code> 改成 <code>ubuntu</code> 就行

四、 更新軟體源緩存并安裝 MariaDB

繼續閱讀