yum
是RedHat以及CentOS中的軟件包管理器,可以經過互聯網下載以rpm結尾的包,而且安裝,並能夠自動處理依賴性關係,無需繁瑣的一次次下載安裝。node
要成功的使用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
#列出軟件倉庫中可用的軟件 [root@zls ~]# yum list #進行模糊查找 [root@zls ~]# yum list|grep ftp #列出軟件包詳情 [root@zls ~]# yum info ftp
#安裝軟件只須要給出軟件名稱(前提是在倉庫中必須有) [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
#檢查軟件是否存在 [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
#對比Linux已安裝的軟件和yum倉庫中的軟件, 有哪些須要升級 [root@zls ~]# yum check-update #更新acl軟件 [root@zls ~]# yum update acl -y #若是執行下面的命令,很危險 [root@zls ~]# yum update -y
#先安裝一個samba軟件 [root@zls ~]# yum install samba -y #刪除該軟件包,會刪除依賴, 可是咱們儘量不要使用刪除軟件操做 [root@zls ~]# yum erase samba -y [root@zls ~]# yum remove samba -y
#列出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源軟件倉庫, 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
#列出已經安裝和全部可以使用的軟件組 [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命令 [root@zls ~]# yum history #查詢歷史執行yum命令ID詳細信息 [root@zls ~]# yum history info N #撤銷歷史執行過的yum命令 [root@zls ~]# yum history undo N
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目錄
rpm
軟件提供組織redhat
在構建rpm
包時, 使用其私鑰private key
對 rpm
進行簽名
客戶端在使用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
[] //倉庫名稱 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
yum makecache
服務端配置
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
源碼包指的是開發編寫好的程序源代碼,但並無將其編譯爲一個能正常使用的工具。
優勢:
1.有了源碼包,那我就能夠自行修改代碼,提供咱們使用,傳說中的二次開發
2.能夠定製須要的相關功能
3.新版本優先更新源碼
4.自動化規範,方便落地
缺點:
1.相對於yum安裝,複雜
2.耗時比較長
安裝源碼包,必需要經歷4個步驟
1.解壓 tar
2.生成 ./configure cmake
3.編譯 make
4.安裝 make install
源碼包安裝基礎環境準備
[root@node1 ~]# yum install -y gcc make wget