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