yum命令查询详解
一、列举包文件
列出资源库中所有可以安装或更新的rpm包
# yum list
列出资源库中特定的可以安装或更新以及已经安装的rpm包
# yum list perl //列出名为perl 的包
# yum list perl* //列出perl 开头的包
列出资源库中所有可以更新的rpm包
# yum list updates
列出已经安装的所有的rpm包
# yum list installed
列出已经安装的但是不包含在资源库中的rpm包
# yum list extras
注:extras是repos.d中定义的资源列表名称
二、列举资源信息
列出资源库中所有可以安装或更新的rpm包的信息
# yum info
列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息
# yum info perl //列出perl 包信息
# yum info perl* //列出perl 开头的所有包的信息
列出资源库中所有可以更新的rpm包的信息
# yum info updates
列出已经安装的所有的rpm包的信息
# yum info installed
列出已经安装的但是不包含在资源库中的rpm包的信息
# yum info extras
三、搜索
搜索匹配特定字符的rpm包
# yum search perl //在包名称、包描述等中搜索
检测软件包中包含的文件以及软件提供的功能,查找与正则表达式匹配的值
# yum provides locate 谁提供locate这个命令,能搜索出locate安装包。
四、管理包
安装rpm包
# yum install perl //安装perl 包
# yum install perl* //安装perl 开头的包
删除rpm包,包括与该包有倚赖性的包
# yum remove perl* //会删除perl-* 所有包
五、更新
检查可更新的rpm包
# yum check-update
更新所有的rpm包
# yum update
更新指定的rpm包,如更新kernel和kernel source
# yum update kernel kernel-source
大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
# yum upgrade
六、清空缓存
清除暂存中rpm包文件
# yum clean packages
清除暂存中rpm头文件
# yum clearn headers
清除暂存中旧的rpm头文件
# yum clean oldheaders
清除暂存中旧的rpm头文件和包文件
# yum clearn 或 # yum clearn all
七、其他
安装Livna.org rpms GPG key
# rpm –import http://rpm.livna.org/RPM-LIVNA-GPG-KEY
检查GPG Key
# rpm -qa gpg-pubkey*
显示Key信息
# rpm -qi gpg-pubkey-a109b1ec-3f6e28d5
删除Key
# rpm -e gpg-pubkey-a109b1ec-3f6e28d5
八、特殊命令
1、yum配置文件位置:/etc/yum.conf
keepcache选项 keepcache=1 保留安装包,安装的位置有两个:
/var/cache/yum/x86_64/7/updates/packages
/var/cache/yum/x86_64/7/base/packages
安装maven需要依赖的软件包都会放在这两个位置
2、yum -y install yum-utils
接着用yumdownloader就能下载rpm包了。简单快捷啊。yumdownloader ncftp
安装这个软件的作用就是直接将软件下载到当前文件夹
3、查看回退安装
yum history list 列出最近的历史
yum history info id 列出某次的详细信息
yum history undo id 撤销某次更改
九、如何使用yum来下载RPM包而不进行安装
yum命令本身就可以用来下载一个RPM包,标准的yum命令提供了--downloadonly(只下载)的选项来达到这个目的。
yum install --downloadonly <package-name>
默认情况下,一个下载的RPM包会保存在下面的目录中:
/var/cache/yum/x86_64/[centos/fedora-version]/[repository]/packages
以上的[repository]表示下载包的来源仓库的名称(例如:base、fedora、updates)
如果你想要将一个包下载到一个指定的目录(如/tmp):
yum install --downloadonly --downloaddir=/tmp <package-name>
基于HTTP构建YUM网络源
1、挂载光盘镜像文件至/mnt;
mount /dev/cdrom /mnt
2、复制/mnt/Packages目录下所有软件包至/var/www/html/centos/;
mkdir -p /var/www/html/centos/
cp -R /mnt/Packages/* /var/www/html/centos/
3、使用createrepo创建本地源,执行如下命令会在CentOS目录生成repodata目录;
yum install createrepo* -y
cd /var/www/html
createrepo centos/
4、利用HTTP发布YUM本地源;
yum install httpd httpd-devel -y
useradd apache -g apache
systemctl restart httpd.service
setenforce 0
systemctl stop firewalld.service
ps -ef |grep httpd
5、在YUM客户端,创建/etc/yum.repos.d/httpd.repo文件,输入如下内容:
[base]
name=”CentOS7 HTTP YUM”
baseurl = http://x.x.x.x/centos/
gpgcheck = 0
enabled = 1
[updates]
name = “CentOS7 HTTP YUM”
gpgcheck = 0
enabled = 1
6、在YUM 客户端上执行以下命令,详解如下:
yum clean all
yum install ntpdate -y
同步外网YUM源
1、下载Centos 7 repo文件至/etc/yum.repos.d/,并安装 reposync 命令工具。
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
mv CentOS7-Base-163.repo /etc/yum.repos.d/centos.repo
yum clean all
yum install yum-utils createrepo -y
yum repolist
2、通过reposync命令工具获取外网YUM源所有软件包,-r指定repolist id,默认不加-r表示获取外网所有YUM软件包,-p参数表示指定下载软件的路径。
reposync -r base -p /var/www/html/centos/
reposync -r updates -p /var/www/html/centos/
3、通过reposync工具下载完所有的软件包之后,需要执行createrepo更新本地YUM仓库。
createrepo /var/www/html/centos/
建立 YUM服务器
配置防火墙:
firewall-cmd –permanent –add-service=ftp
firewall-cmd –reload
关闭SELinux:
setenforce 0
vim /etc/sysconfig/selinux
SELINUX=disabled
FTP:
yum -y install vsftpd
systemctl start vsftpd
systemctl enable vstfpd
实现目标1:提供基础软件Base源
挂载centos镜像
mkdir /var/ftp/{centos6u6,centos7u3}
mount -o loop /home/centos7u2.iso /var/ftp/centos7u2
echo “mount -o loop /home/centos7u2.iso /var/ftp/centos7u2” >> /etc/rc.local
chmod +x /etc/rc.d/rc.local
添加yum 源:
vim /etc/yum.repos.d/centos7u2.repo
[centos7u2]
name=centos7u2
baseurl=file:///var/ftp
gpgcheck=0
enabled=1
实现目标2:提供update源
服务器端:
开启yum自动缓存:vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1
yum -y update 或者 yum -y update –downloadonly 安装后不清理缓存
mkdir /ftp/update
find /var/cache/yum/x86_64/7/ -iname “*.rpm” -exec cp -rf {} /ftp/update \;
yum -y install createrepo 安装创建源工具
createrepo /ftp/update 创建源数据库
客户端:
vim /etc/yum.repos.d/update.repo
[update]
name=centos update
baseurl=ftp://192.168.10.3/update ftp默认目录为 /ftp
gpgcheck=0
enabled=1
实现目标3:提供其它软件包如nginx,zabbix等 –downloadonly
配置nginx及zabbix源:
vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
yum clean all
yum install nginx –downloadonly
mkdir /var/ftp/{nginx,zabbix}
fin /var/cache/yum/x86_64/7/ -iname “*.rpm” -exec cp -rf {} /ftp/nginx
yum -y install createrepo 安装创建源工具
createrepo /ftp/nginx 创建源数据库