09-CentOS軟件包管理

簡介

  • CentOS7使用rpm和yum來管理軟件包。
  • CentOS 8附帶YUM包管理器v4.0.4版本,該版本現在使用DNF (Dandified YUM)技術作爲後端。DNF是新一代的YUM,新的操作系統版本允許您同時使用這兩種工具來管理包

RPM

RPM全稱爲Red-Hat Package Manager。是CentOS和RedHat擁有的包管理工具。

查看
rpm -ql httpd       #查看httpd的所有配置文件
卸載
rpm -e httpd     #卸載httpd
安裝
  1. 查詢軟件,在 http://rpmfind.net 找到軟件包並複製鏈接地址。
  2. wget http://www.rpmfind.net/linux/centos/7.7.1908/os/x86_64/Packages/vim-enhanced-7.4.629-6.el7.x86_64.rpm
  3. 安裝
rpm -ivh vim-enhanced-7.4.629-6.el7.x86_64.rpm
    -i	#install
    -v  #show detail 
    -h	#show hash

yum

查詢
yum list | grep vim	    #查看可供安裝的軟件版本
yum list installed | grep vim	#查看已安裝的軟件版本
安裝
yum install vim     #安裝vim(會詢問你是否安裝)
yum -y install vim  #安裝vim(不會詢問你是否安裝)
卸載
yum remove vim      #卸載vim
軟件源(倉庫)

CentOS的軟件都是從軟件源下載的。
軟件源的配置在/etc/yum.repo.d/,目錄下文件是不同的軟件源。

基礎軟件源和擴展軟件源

很多軟件都是從基礎軟件源下載的,還有其他很多擴展軟件,保存在擴展軟件源中。
安裝軟件時,yum會先去基礎軟件源裏找,找不到則報錯。
如果安裝軟件時報錯:找不到這個包,我們就可以安裝擴展源:epel-release。

yum -y install epel-release     #安裝擴展源
yum -y install <你需要裝的軟件名>
替換軟件源
  • 默認軟件源在國外,下載速度慢,我們可以替換爲國內源。
  • 如:替換爲中科大軟件源。官網:中科大軟件源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup       #備份原有的基礎軟件源
vim /etc/yum.repos.d/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
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=https://mirrors.ustc.edu.cn/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=https://mirrors.ustc.edu.cn/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=https://mirrors.ustc.edu.cn/centos/$releasever/extras/$basearch/
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
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
baseurl=https://mirrors.ustc.edu.cn/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
yum clean all       #清除之前的緩存信息
yum makecache       #根據軟件源建立緩存信息

實驗:搭建本地軟件源

有些服務器過於機密,不便於與外界聯網,比如:軍隊。
那麼,既然不能聯網,那如何來安裝軟件呢?
我們可以搭建本地軟件源。

實驗環境:
  • CentOS7虛擬機
  • VMWare
實驗步驟:
1. 給此虛擬機插入光盤鏡像(帶有圖形化的CentOS):

因爲"帶有圖形化的CentOS"比"Minimal的CentOS多出很多軟件"

UTOOLS1583572006058.png
2. 掛載光盤
mkdir -p /media/centosdvd       #創建掛載點
mount /dev/cdrom /media/centosdvd/      #掛載DVD
3. 編輯軟件源

文件中不能有中文,注意將註釋去掉

mv CentOS-Base.repo CentOS-Base.repo.backup
vi /etc/yum.repos.d/CentOS-Base.repo
    [centos]
    name=centosdvd
    baseurl=file:///media/centosdvd	#目錄下必須存在repodata/和Packages/
    enable=1	#使這個軟件源有效
    gpgcheck=0	#不校驗
    #gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release	#如果需要校驗,指定校驗文件
4. 斷開網絡

防止原有軟件源對我們的實驗造成干擾

UTOOLS1583572906834.png
5. 建立緩存信息
yum clean all       #清除原有的緩存信息
6. 安裝軟件
  • 原來是沒有vim的,而且是在斷網環境下的。
UTOOLS1583573453062.png
  • 斷網環境下安裝vim:
yum -y install vim
UTOOLS1583573582487.png
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章