簡介
- 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
安裝
- 查詢軟件,在 http://rpmfind.net 找到軟件包並複製鏈接地址。
wget http://www.rpmfind.net/linux/centos/7.7.1908/os/x86_64/Packages/vim-enhanced-7.4.629-6.el7.x86_64.rpm
- 安裝
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多出很多軟件"
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. 斷開網絡
防止原有軟件源對我們的實驗造成干擾
5. 建立緩存信息
yum clean all #清除原有的緩存信息
6. 安裝軟件
- 原來是沒有vim的,而且是在斷網環境下的。
- 斷網環境下安裝vim:
yum -y install vim