yum :rpm的前端程序,可解决软件包相关依赖性可在多个库之间定位软件包,up2date的替代工具
yum ,存储了众多的rpm包,以及包的相关元数据文件(放置在特定目录repodata下)
yum安装的故障原因:配置文件出错,缓存出现问题
yum的配置文件
/etc/yum.conf:为所有仓库提供公共配置
/etc/yum.repos.d/*.repo:为仓库的指向提供配置
yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号
$arch: 平台,i386,i486,i586,x86_64等
$basearch:基础平台;i386, x86_64
$YUM0-$YUM9:自定义变量
yum-config-manager –disable “仓库名” 禁用仓库
yum-config-manager –enable “仓库名” 启用仓库
仓库指向的定义:
[repositoryID] //仓库名
name=Some name for this repository //名字
baseurl=url://path/to/repository/ //仓库路径
enabled={1|0} //启用或禁用默认启用
gpgcheck={1|0} //是否支持包校验
gpgkey=URL
enablegroups={1|0}
failovermethod={roundrobin|priority}
roundrobin:意为随机挑选,默认值
priority:按顺序访问
cost= 默认为1000
yum命令:
yum命令的用法: yum [options] [command] [package …]
显示仓库列表: yum repolist [all|enabled|disabled]
显示程序包: yum list
yum list [all | glob_exp1] [glob_exp2] […]
yum list {available|installed|updates} [glob_exp1] […]
安装程序包:
yum install package1 [package2] […]
yum reinstall package1 [package2] […] (重新安装)
升级程序包: yum update [package1] [package2] […]
yum downgrade package1 [package2] […] (降级)
检查可用升级: yum check-update
卸载程序包: yum remove | erase package1 [package2] […]
查看程序包information: yum info […]
查看指定的特性(可以是某文件)是由哪个程序包所提供:
yum provides | whatprovides feature1 [feature2] […]
清理本地缓存: 清除/var/cache/yum/$basearch/$releasever缓存
yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
构建缓存: yum makecache
搜索:yum search string1 [string2] […]
以指定的关键字搜索程序包名及summary信息
查看指定包所依赖的capabilities:
yum deplist package1 [package2] […]
查看yum事务历史: yum history [info|list|packages-list|packages-info| summary|addon-info|redo|undo|
rollback|new|sync|stats]
yum history
yum history info 6
yum history undo 6 //卸载所有,包括依赖包
yum history redo 6 //重复做第6步
日志 :/var/log/yum.log
安装及升级本地程序包:
yum localinstall rpmfile1 [rpmfile2] […] (用install替代)
yum localupdate rpmfile1 [rpmfile2] […] (用update替代)
包组管理的相关命令:
yum grouplist //查看包组名
yum groupinstall group1 [group2] […]
yum groupupdate group1 [group2] […]
yum grouplist [hidden] [groupwildcard] […]
yum groupremove group1 [group2] […]
yum groupinfo group1 […]
yum的命令行选项:
–nogpgcheck:禁止进行gpg check
-y: 自动回答为“yes”
-q:静默模式
–disablerepo=repoidglob:临时禁用此处指定的repo
–enablerepo=repoidglob:临时启用此处指定的repo
–noplugins:禁用所有插件
Yum仓库:
Yum的repo配置文件中的可用变量:
$releasever :当前OS的发行版的主版本号
$arch :平台,i386 ,i486 ,i586 ,x86_64等
$basearch :基础平台;i386, ,x86_64
创建yum仓库: createrepo [options] <directory>
构建yum服务:
[os7]
name=centos 7.4
baseurl=http://172.20.0.1/centos/7/Packages/
gpgkey=http://172.20.0.1/centos/7/RPM-GPG-KEY-CentOS-7
gpgcheck=0
[epel]
baseurl=http://172.20.0.1/epel/7/x86_64/
gpgkey=file:///root/rpm-gpg-key-epel-7 #localhost
gpgcheck=0
enabled=0
[base]
name=centoc 7.4
baseurl=file:///misc/cd
gpgcheck=0
构建网络yum服务器
第一步;准备光盘,包,元数据
在/var/www/html下创建路径:mkdir -p centos/{6,7}/x86_64/
第二步,准备网络服务,ftp ,http, https
rpm –ivh vsftpd(光盘下的rpm安装包)
Centos6: /etc/rc.d/init.d/vsftpd
service vsftpd start //启动vsftpd
chkconfig vsftpd on //设置为开机自启动
Centos7: /usr/lib/systemd/system/vsftpd.service
systemctl start vsftpd //启动vsftpd
systemctl enable vsftpd //设置为开机自启动
netstat -ntl //查看21端口是否打开
第三步;关闭防火墙:
Centos6: service iptables stop //关闭防火墙
chkconfig iptables off //开机不启动
Centos7: systemctl stop firewallld.service //关闭防火墙
iptables -vnL //查看防火墙服务是否停止
systemctl disable firewalld.service //开机不启动
cp /misc/cd/repodata/ /data/ -r //复制repodata到指定目录
第四步;复制元数据repodata和rpm包文件
mkdir /var/ftp/pub/{6,7}
cd /var/ftp/pub/6
cp /misc/cd/repodata/ . -r //复制repodata到指定目录
cp /misc/cd/Packages . -r //复制部分rpm包
第五步;客户端配置
[ftpbase]
name= ftp server repo
baseurl=ftp://192.168.8.133/pub/$releasever
gpgcheck =0
createrepo //生成元数据
wget 网络文件具体地址 下载文件到当前目录
mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrom
rpm -ivh /mnt/cdrom/Packages/rpm 包名 –root=/mnt/sysimage
yum 与rpm 的关系:yum 是对rpm 的二次封装,rpm不能使用,也不能安装yum
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96568