yum工具及源碼包

yum工具及源碼包

yum

yum是RedHat以及CentOS中的軟件包管理器,可以經過互聯網下載以rpm結尾的包,而且安裝,並能夠自動處理依賴性關係,無需繁瑣的一次次下載安裝。node

yum源

要成功的使用yum工具安裝更新軟件或系統,就須要有一個包含各類rpm軟件包的repository(軟件倉庫),這個軟件倉庫咱們習慣稱之爲yum源或者yum 倉庫這個源能夠是本地的也能夠是網絡的。linux

各大鏡像源:nginx

阿里雲:https://opsx.alibaba.com/mirror
清華源:https://mirrors.tuna.tsinghua.edu.cn/
163源:http://mirrors.163.com/
華爲源:https://mirrors.huaweicloud.com/
科大源:http://mirrors.ustc.edu.cn/vim

yum實戰案例

使用yum查詢軟件包的方式

#列出軟件倉庫中可用的軟件
[root@zls ~]# yum list

#進行模糊查找
[root@zls ~]# yum list|grep ftp

#列出軟件包詳情
[root@zls ~]# yum info ftp

使用yum安裝軟件包的方式

#安裝軟件只須要給出軟件名稱(前提是在倉庫中必須有)
[root@zls ~]# yum install traceroute

#安裝過程當中分析依賴關係後, 直接安裝, 無需交互
[root@zls ~]# yum install php -y

#安裝本地的rpm包, 若是有依賴關係, 會自動從軟件倉庫中下載所需依賴(非來自.repo定義的軟件倉庫)
[root@zls ~]# yum localinstall /mnt/Packages/bind-9.9.4-50.el7.x86_64.rpm

#安裝網絡上rpm包
[root@zls ~]# yum install http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

使用yum重裝軟件包的方式

#檢查軟件是否存在
[root@zls ~]# rpm -q vsftpd
vsftpd-2.2.2-24.el6.x86_64

#檢查vsftpd軟件配置文件
[root@zls ~]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf

#不當心刪除vsftpd配置文件
[root@zls ~]# rm -f /etc/vsftpd/vsftpd.conf

#從新安裝軟件
[root@zls ~]# yum reinstall vsftpd

#再次檢查
[root@zls ~]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf

使用yum更新軟件包的方式

#對比Linux已安裝的軟件和yum倉庫中的軟件, 有哪些須要升級
[root@zls ~]# yum check-update

#更新acl軟件
[root@zls ~]#  yum update acl -y

#若是執行下面的命令,很危險
[root@zls ~]#  yum update -y

使用yum刪除軟件包的方式

#先安裝一個samba軟件
[root@zls ~]# yum install samba -y

#刪除該軟件包,會刪除依賴, 可是咱們儘量不要使用刪除軟件操做
[root@zls ~]# yum erase samba -y
[root@zls ~]# yum remove samba -y

yum倉庫的相關命令

#列出yum源可用的軟件倉庫
[root@zls ~]# yum repolist

#列出所有yum源可用和禁用的倉庫
[root@zls ~]# yum repolist all

#啓用軟件包
[root@db04 ~]# yum-config-manager --enable
建議:直接修改配置文件

#查看這個文件或命令屬於哪一個包
yum provides /etc/my.cnf
yum provides cd

yum緩存相關指令

#緩存yum源軟件倉庫, xml元數據文件
[root@zls ~]# yum makecache

#緩存軟件包, 修改yum全局配置文件
[root@zls ~]# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1 //啓動緩存


#查看緩存的xml文件
[root@zls ~]# ls /var/cache/yum/x86_64/7/base/

#查看緩存軟件包路徑
[root@zls ~]# /var/cache/yum/x86_64/7/


#另外一種緩存rpm包方式

#1.安裝插件支持只下載軟件包不安裝
[root@zls ~]# yum install -y yum-plugin-downloadonly
#2.將軟件下載至指定目錄
[root@zls ~]# yum install httpd -y --downloadonly --downloaddir=/tmp


#清除全部yum緩存
[root@zls ~]# yum clean all

#只清除緩存的軟件包
[root@zls ~]# yum clean packages

yum包組相關指令

#列出已經安裝和全部可以使用的軟件組
[root@zls ~]# yum groups list

#安裝一整個組的軟件
[root@zls ~]# yum groups install Development tools \
Compatibility libraries \
Base Debugging Tools

#yum刪除包組
[root@zls ~]# yum groups remove  -y Base

yum歷史命令

#查看歷史執行yum命令
[root@zls ~]# yum history

#查詢歷史執行yum命令ID詳細信息
[root@zls ~]# yum history info N

#撤銷歷史執行過的yum命令
[root@zls ~]# yum history undo N

yum全局配置文件

yum的配置通常有兩種方式:
1.全局配置文件/etc/目錄下的yum.conf
2.子配置文件/etc/yum.repos.d/目錄下的全部.repo文件centos

vim /etc/yum.cnf
cachedir=/var/cache/yum/$basearch/$releasever   //緩存目錄
keepcache=0     //緩存軟件包, 1啓動 0 關閉
debuglevel=2    //調試級別
logfile=/var/log/yum.log    //日誌記錄位置
exactarch=1     //檢查平臺是否兼容
obsoletes=1     //檢查包是否廢棄
gpgcheck=1      //檢查來源是否合法,須要有製做者的公鑰信息
plugins=1       //是否啓用查詢
installonly_limit=5
bugtracker_url
# metadata_expire=90m //每小時手動檢查元數據
# in /etc/yum.repos.d   //包含repos.d目錄

YUM簽名檢查機制[擴展]

rpm軟件提供組織redhat在構建rpm包時, 使用其私鑰private keyrpm進行簽名
客戶端在使用rpm爲了驗證其合法性, 可使用redhat提供的公鑰public key進行簽名檢查緩存


方式1: 指定公鑰的位置網絡

[root@zls ~]# vim /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

方式2: 提早導入公鑰ide

[root@zls ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[root@tianyun ~]# vim /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1

方式3: 不進行簽名驗證工具

#不檢查軟件包的簽名,或者修改配置文件
[root@zls ~]# yum install httpd --nogpgcheck

製做本地yum倉庫

[]          //倉庫名稱
name        //倉庫描述信息
baseurl     //YUM源url地址 ,能夠是file:// ftp:// http://
enabled     //是否激活該YUM源(0表明禁用,1表明激活,默認爲激活)
gpgcheck    //安裝軟件時是否檢查簽名(0表明禁用,1表明激活)
掛載鏡像
mount /dev/cdrom /mnt
備份原有倉庫
gzip /ctc/yum.repos.d/*

建立新倉庫文件

使用yum-config-manager命令添加本地倉庫
[root@zls ~]# yum-config-manager --add-repo="file:///mnt"


#手動添加repo配置文件(方式二)
[root@zls ~]# vim /etc/yum.repos.d/cdrom.repo  
[cdrom]      
name=This is local cdrom
baseurl=file:///mnt
enabled=1
gpgcheck=0

刷新repos生成緩存

yum makecache

構建企業級yum倉庫

服務端配置

1.基礎環境準備

#關閉防火牆
[root@yum_server ~]# systemctl stop firewalld

#臨時關閉selinux
[root@yum_server ~]# setenforce 0

#安裝ftp服務,啓動並加入開機啓動
[root@yum_server ~]# yum -y install vsftpd 
[root@yum_server ~]# systemctl start vsftpd 
[root@yum_server ~]# systemctl enable vsftpd

#開啓yum緩存功能
[root@yum_server ~]# vim /etc/yum.conf
[main] cachedir=/var/cache/yum/$basearch/$releasever 
keepcache=1
[root@yum_server ~]# yum clean all

2.提供基礎base

[root@yum_server ~]# mkdir /var/ftp/centos7
[root@yum_server ~]# mount /dev/cdrom /mnt
[root@yum_server ~]# cp -rp  /mnt/Packages/*.rpm /var/ftp/centos7

3.提供第三方源,同步中科大的源

#進入ftp目錄
[root@yum_server centos]# cd /var/ftp/

#同步中科大的源
[root@yum_server ftp]# rsync -avzP rsync://rsync.mirrors.ustc.edu.cn/repo/nginx ./

4.安裝createrepo並建立 reopdata倉庫

//安裝createrepo
[root@yum_server ~]# yum -y install createrepo
//生成倉庫信息
[root@yum_server ~]# createrepo /var/ftp/

//注意: 若是此倉庫每次新增軟件則須要從新生成一次

客戶端使用yum源

1.配置並使用base基礎源

[root@yum_client ~]# gzip /etc/yum.repos.d/*
[root@yum_client ~]# vim /etc/yum.repos.d/centos7.repo 
[centos74]
name=centos74_base
baseurl=ftp://10.0.0.90/centos7
gpgcheck=0

2.客戶端指向本地ftp

[root@yum_client ~]# vim /etc/yum.repos.d/nginx.repo 
[ftp]
name=local ftpserver
baseurl=ftp://10.0.0.90/nginx
gpgcheck=0

流程圖

QQ圖片20190711084709

源碼包

源碼包指的是開發編寫好的程序源代碼,但並無將其編譯爲一個能正常使用的工具。

源碼包的優缺點

優勢:

1.有了源碼包,那我就能夠自行修改代碼,提供咱們使用,傳說中的二次開發
2.能夠定製須要的相關功能
3.新版本優先更新源碼
4.自動化規範,方便落地

缺點:
1.相對於yum安裝,複雜
2.耗時比較長

源碼包安裝步驟

安裝源碼包,必需要經歷4個步驟
1.解壓 tar
2.生成 ./configure cmake
3.編譯 make
4.安裝 make install

img

  • 源碼包安裝基礎環境準備

    [root@node1 ~]# yum install -y gcc make wget
相關文章
相關標籤/搜索