【雲端計算的1024種玩法】玩轉四大主流作業系統的軟體包管理器
前言
目前收到了阿里雲關於 “華北1(青島)地域的ECS Linux系統安裝源(yum/deb/apt等)暫停服務進行升級” 的通知,這對於伺服器本身的執行並沒有影響,但是如果我們需要安裝環境或者升級環境,就會遇到無法升級的情況。
如果遇到這種情況,我們應該怎麼辦呢? 這裡就教大家如何應對相關問題。 更換軟體源可以直接到 教程 下的 更換軟體源 學習。
介紹
RHEL、CentOS 的 yum 工具和 Debian、Ubuntu 的 APT 工具都是一個非常好的前端軟體包管理器,它們可以幫助我們便捷的安裝二進位制軟體無需編譯,同時還可以自動安裝該軟體依賴的庫或其他軟體,還可以幫助作業系統保持最新狀態。
這裡就介紹一下 yum 和 apt 的用法。
要求 & 收穫
需要使用到的產品:
通過本文你將講學到:
RHEL、CentOS、Debian、Ubuntu 四大主流作業系統的軟體包管理器使用教程
教程
升級系統 & 更新軟體
RHEL、CentoS
RHEL、CentOS 通過如下命令就可以自動更新作業系統以及通過軟體源安裝的全部軟體:
yum update
會同時更新軟體的快取,獲取軟體版本資訊,然後再通過比較當前系統的軟體版本,如果軟體源的更新,那麼就進行更新。
注意安裝完成後, 你下載用於安裝的包仍然保留在系統中,要釋放空間,需要使用如下命令:
yum clean packages #清除快取目錄下的軟體包
yum clean headers #清除快取目錄下的 headers
yum clean oldheaders #清除快取目錄下舊的 headers
yum clean 或 yum clean all #清除快取目錄下的軟體包及舊的headers
Debian、Ubuntu
Debian、Ubuntu 通過如下命令就可以自動更新作業系統以及通過軟體源安裝的全部軟體:
apt update && apt upgrade
apt update
是更新軟體源快取,apt upgrade
是更新軟體,判斷原理也是比較軟體源和本地軟體的版本並進行升級。
Debian 和 Ubuntu 還有 apt-get dist-upgrade
和 do-release-upgrade
命令可用,但是會升級整個系統到最新版本,例如 Debian 8.10 會升級到 Debian 9.4,這可能會導致雲端計算沒有識別你的 Linux 核心而無法進入系統,同時系統映象功能也會失效。
注意安裝完成後,你下載用於安裝的包仍然在你的 /var
目錄下,要釋放空間,記得用 apt-get clean
和 apt-get autoclean
將它們刪除或移到別的地方。
更換軟體源
這裡就是重點來了,如何解決本次的軟體源暫時無法使用的問題呢? 那就是提前換一個可以使用的軟體源。
這裡需要用到程式碼編輯器和SFTP軟體,如果沒有安裝,建議參考:【雲端計算的1024種玩法】ECS和輕量應用伺服器的遠端控制入門
RHEL、CentoS
修改 /etc/yum.repos.d/
目錄下的檔案,例如:CentOS-Base.repo
、epel.repo
等,這裡以修改 CentOS 7 本身的軟體原始檔 CentOS-Base.repo
為例:
將 CentOS-Base.repo
修改為 CentOS-Base.repo.old
然後建立一個新的 CentOS-Base.repo
檔案,寫入清華源的內容:
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
然後執行 yum makecache
更新軟體源快取即可。
等問題修復,將該檔案刪除並將 CentOS-Base.repo.old
重新命名回來並更新快取即可。
其他 CentOS 版本可以參考:https://mirror.tuna.tsinghua.edu.cn/help/centos/
Debian、Ubuntu
修改 /etc/apt/sources.list
檔案,重新命名為 /etc/apt/sources.list.old
然後重新建立 /etc/apt/sources.list
檔案,內容為:
# 預設註釋了原始碼映象以提高 apt update 速度,如有需要可自行取消註釋
deb https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-security main restricted universe multiverse
# 預釋出軟體源,不建議啟用
# deb https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-proposed main restricted universe multiverse
注: 其中,OS
代表 debian
或者 ubuntu
,CODE
代表髮型代號,例如 Ubuntu 18.04
是 artful
,Debian 9
是 stretch
展示一下 Ubuntu 16.04 的清華源替換方式:
# 預設註釋了原始碼映象以提高 apt update 速度,如有需要可自行取消註釋
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# 預釋出軟體源,不建議啟用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
等問題修復,將該檔案刪除並將 /etc/apt/sources.list.old
重新命名回來並更新快取即可。
使用阿里雲提供的預設軟體源的話,走的是 ECS 的內網速度更加的快而且走的公網也更加安全可靠。
新增第三方軟體源
由於安全和維護的考量,當作業系統版本凍結後,這個髮型的版本的作業系統下所有的軟體版本號就會凍結,不再進行功能性升級只進行安全更新。就比如說 Debian 9 預設的 MariaDB 是 10.0,CentOS 7 預設的 MariaDB 是 5.5 ,那如果我們想用 10.2 的特性就不行了。
這時候通過新增第三方軟體源就可以解決了,這裡已新增 MariaDB 官方提供的軟體源為例:
RHEL、CentOS
建立 /etc/yum.repos.d/nginx.repo
檔案,內容如下,以 CentOS 7 為例:
# MariaDB 10.2 CentOS repository list - created 2018-01-09 08:16 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyuncs.com/mariadb/yum/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
更多版本請參考:
https://downloads.mariadb.org/mariadb/repositories/#mirror=neusoft
更新快取:
yum makecache
安裝 MariaDB:
yum install MariaDB-server MariaDB-client
Debian、Ubuntu
這裡以 Debian 9 為例
一、 安裝一下 software-properties-common
和 dirmngr
:
apt-get install software-properties-common dirmngr
Ubuntu 不需要安裝 dirmngr
,直接 apt-get install software-properties-common
就行
二、 匯入 Key 以校驗軟體的真實性:
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
三、 加入軟體源:
add-apt-repository `deb [arch=amd64,i386,ppc64el] http://mirrors.aliyuncs.com/mariadb/repo/10.2/debian stretch main`
Ubuntu 將 10.2/debian
改成 ubuntu
就行
四、 更新軟體源快取並安裝 MariaDB
apt update & apt install mariadb-server
更多版本請參考:
https://downloads.mariadb.org/mariadb/repositories/#mirror=neusoft
相關文章
- RedHat Linux作業系統軟體包的管理(轉)RedhatLinux作業系統
- 【雲端計算的1024種玩法】手把手教你如何編譯升級OpenResty編譯REST
- RedHat Linux作業系統軟體包的管理RedhatLinux作業系統
- 【雲端計算的1024種玩法】手把手學會配置安裝LNMP建站環境LNMP
- 計算機的作業系統計算機作業系統
- 作業系統(一)作業系統歷史:從標準函式庫到雲端計算作業系統函式
- 軟體作業系統作業系統
- 作業系統:計算機的生態系統作業系統計算機
- 計算機作業系統|作業系統引論計算機作業系統
- Linux作業系統檔案管理器的共享(轉)Linux作業系統
- 計算機作業系統計算機作業系統
- 計算機作業系統教程 2 作業系統概述計算機作業系統
- 玩轉雲端 | 天翼雲電腦的百變玩法
- 軟體設計師25-作業系統作業系統
- 雲端計算開發技術,雲端計算改變企業的四種途徑
- 令人感嘆的10個非主流作業系統作業系統
- 對於計算機作業系統的認識計算機作業系統
- Swap, RAM, and OS Version ---主流作業系統作業系統
- 計算機作業系統掃盲計算機作業系統
- 計算機重灌Windows作業系統計算機Windows作業系統
- 計算機導論作業系統計算機作業系統
- 製作一個自己的軟體包CD(轉)
- 【Solaris】Solaris10作業系統 原始碼安裝apache軟體包作業系統原始碼Apache
- 如何確定遠端計算機所用的作業系統計算機作業系統
- 雲端計算的多種類用途
- Linux作業系統中軟體安裝:用RPM包管理器安裝軟體步驟Linux作業系統
- Linux作業系統也玩顯示卡超頻(轉)Linux作業系統
- 計算機體系結構 - 作業1計算機
- 聯想自主研發作業系統用軟體突圍 (轉)作業系統
- 雲端計算生態系統
- Linux雲端計算-01_介紹以及Linux作業系統安裝Linux作業系統
- 計算機系統008 - 作業系統概況計算機作業系統
- 主流嵌入式作業系統有哪些?作業系統
- 三種方法讓小企業更好的利用雲端計算
- UNIX作業系統正確的五種關機方法(轉)作業系統
- 第二週-雲端計算運維作業運維
- 第五週-雲端計算運維作業運維
- 第十週-雲端計算運維作業運維