yum就是为了解决依赖关系而存在的。yum源就相当是一个目录项,当我们使用yum机制安装软件时,若需要安装依赖软件,则yum机制就会根据在yum源中定义好的路径查找依赖软件,并将依赖软件安装好。
YUM是“Yellow dog Updater,
Modified”的缩写,是一个软件包管理器,YUM从指定的地方(相关网站的rpm包地址或本地的rpm路径)自动下载RPM包并且安装,能够很好的解决依赖关系问题。YUM的基本工作机制如下:
服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。
ls /etc/yum.repos.d/ ##查看yum源目录下的设定文件
google-chrome.repo local-yum.repo rhel-source.repo ##在yum.repos.d 目录下存放的就是yum源的设定文件。
vim /etc/yum.repos.d/rhel-source.repo ##打开一个yum源的设定文件
[rhel-source-beta] ##yum源的名称,起到标记yum源的作用,
name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source ##仅仅是对yum的描述,作用是使用户可以更容易的读懂该文件。
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/beta/$releasever/en/os/SRPMS/ ##我们指定的查找依赖关系软件的路径,(该路径可以是一个网址路径,也可以是本机上的一个路径。)
enabled=0 ##enabled 是使能够的意思,0表示baseurl定义的路径是不可用的,1表示定义的路径是可用的。
gpgcheck=1 ##gpgcheck表示是否进行gpg检测,0表示不进行,1表示进行。gpg检查就是在使用yum安装软件是对软件输入公钥进行验证,看是否来源安全。
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release ##进行gpg检查时,使用file协议导入公钥,后面接的路径就是系统自带的公钥存放路径。
##ftp:// 表示使用的是ftp协议连接路径,该协议一般用于非本地连接,本地yum使用的协议是:"file://"文件协议
mkdir /var/www/html/rhel7.0
mount /home/student/iso/rhel-server-7.0-x86_64-dvd.iso /var/www/html/rhel7.0
测试是否可以访问到
在浏览器中输入:http://192.168.0.35/rhel7.0 ##192.168.0.35为本机IP
可以看到镜像中的内容说明配置成功,可以作为共享为和你网络联通的设备提供yum源
rm -fr /etc/yum.repos.d/*
vim /etc/yum.repos.d/yum.repo
[Server]
name=rhel7.0
baseurl=http://192.168.0.35/rhel7.0 ##客户端只能这么写,并且必须保证能够通过浏览器正常访问 ##本机也可以这样写baseurl=file:///var/www/html/rhel7.0
gpgcheck=0
vim /etc/rc.d/rc.local
mount /home/student/iso/rhel-server-7.0-x86_64-dvd.iso /var/www/html/rhel7.1
:wq ##保存并退出
chmod +x /etc/rc.d/rc.local
-客户端yum源指向配置
vim /etc/yum.repos.d/rhel-source.repo ##仓库指向文件位置
[Software] ##自定义软件仓库名称
name=Software ##自定义软件仓库描述
baseurl=ftp:///home/student/rpm/ | http:///home/student/rpm/ | file:///home/student/rpm/ ##仓库位置,三种方式选一
gpgcheck=0 ##不检测gpgkey
- 首先要有rhel7.2的镜像,这里我的7.2镜像改名为rhel7.2,并放到了rhel系统的/home/student/iso/目录下
monut /home/student/iso/rhel7.2 /mnt ##挂载光盘,rhel7.2为你的iso镜像文件
rm -rf /etc/yum.repos.d/* ##清除源目录下已有文件
vim /etc/yum.repos.d/rhel7.repo ##配置你自己的yum源,整体格式和内容如下:
[rhel7-yum]
name=rhel7-source
baseurl=file:///mnt
gpgcheck=0
#第1行为yum源名称,唯一的,用来区分不同的yum源
#第2行为对yum源描述信息
#第3行为yum源的路径(repodata目录所在的目录)
#第4行设置是否使用公钥检验rpm的正确性,0表示不检验,1表示检验
保存文件然后执行以下命令
yum clean all ##清空yum缓存
yum repolist ##重新生成列表
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #从阿里云镜像网站下载yum源配置文件到yum目录中
sed -i 's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo #修改版本号为redhat7
yum clean all #清空yum缓存
yum list #生成列表
monut /dev/sr0 /mnt ##挂载光盘
rm -rf /etc/yum.repos.d/*
vim /etc/yum.repos.d/rhel6.repo
[rhel6-yum] ##yum源名称,唯一的,用来区分不同的yum源
name=rhel6-source ##对yum源描述信息
baseurl=file:///mnt ##yum源的路径(repodata目录所在的目录)
enabled=1 ##为1,表示启用yum源
gpgcheck=0 ##设置不使用公钥检验rpm的正确性
配置redhat6 *的源其实也一样
只需要进入到http://mirrors.aliyun.com/repo/的目录,然后寻找Centos-6.repo
第二步:sed -i ‘s/$releasever/6/g’ /etc/yum.repos.d/CentOS-Base.repo 把7换成6,其他都一样。
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
sed -i 's/$releasever/6.7/g' /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum list
rpmforge
Centos/RHEL默认的yum软件仓库非常有限,仅仅限于发行版本那几张盘里面的常规包和一些软件包的更新,利用RpmForge,可以增加非常多的第三方rpm软件包。
获取
http://dag.wieers.com/rpm/packages/rpmforge-release/
找到与系统平台架构匹配的rpmforge包安装之即可。安装完后.默认会在系统的/etc/yum.repos.d/下新增两个文件,mirrors-rpmforge和rpmforge.repo
安装
# rpm -ivh rpmforge-release-0.3.6-1.el4.rf.i386.rpm
# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
centos5
#yum -y install yum-fastestmirror
centos4
yum -y install yum-plugin-fastestmirror
install softwarename ##安装softwarename
repolist ##列出设定yum源信息
remove softwarename ##卸载softwarename
list softwarename ##查看软件源中是否有次软件
list all ##列出所有软件名称
list installd ##列出已经安装的软件名称
list available ##列出可以用yum安装的软件名称
clean all ##清空yum缓存
search softwareinfo ##根据软件信息搜索软件名字
whatprovides filename ##在yum源中查找包含filename文件的软件包
update ##更新软件
history ##查看系统软件改变历史
reinstall softwarename ##重新安装
info softwarename ##查看软件信息
groups list ##查看软件组信息
groups info softwaregroup ##查看软件组内包含的软件
groups install softwaregroup ##安装组件
groups remove softwaregroup ##卸载组件
yum remove ##进行软件卸载
列出已经安装的软件、所有软件、可以通过配置的源进行安装的软件
系统更新(更新所有可以升级的rpm包,包括kernel)
#yum -y update
每天定期执行系统更新
#chkconfig yum on
#service yum start
rpm包的更新,检查可更新的rpm包
#yum check-update
更新所有的rpm包
#yum update
更新指定的rpm包,如更新kernel和kernel source
#yum update kernel kernel-source
大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
#yum upgrade
rpm包的安装和删除
安装rpm包,如xmms-mp3
#yum install xmms-mp3
删除rpm包,包括与该包有倚赖性的包
#yum remove licq
注:同时会提示删除licq-gnome,licq-qt,licq-text
yum暂存(/var/cache/yum/)的相关参数
清除暂存中rpm包文件
#yum clean packages
清除暂存中rpm头文件
#yum clean headers
清除暂存中旧的rpm头文件
#yum clean oldheaders
清除暂存中旧的rpm头文件和包文件
#yum clean 或#yum clean all
注:相当于yum clean packages + yum clean oldheaders
rpm包列表
列出资源库中所有可以安装或更新的rpm包
#yum list
列出资源库中特定的可以安装或更新以及已经安装的rpm包
#yum list mozilla
#yum list mozilla*
注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包
列出资源库中所有可以更新的rpm包
#yum list updates
列出已经安装的所有的rpm包
#yum list installed
列出已经安装的但是不包含在资源库中的rpm包
#yum list extras
注:通过其它网站下载安装的rpm包
*rpm包信息显示(info参数同list)
列出资源库中所有可以安装或更新的rpm包的信息
#yum info
列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息
#yum info mozilla
#yum info mozilla*
注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包的信息
列出资源库中所有可以更新的rpm包的信息
#yum info updates
列出已经安装的所有的rpm包的信息
#yum info installed
列出已经安装的但是不包含在资源库中的rpm包的信息
#yum info extras
注:通过其它网站下载安装的rpm包的信息
搜索rpm包
搜索匹配特定字符的rpm包
#yum search mozilla
注:在rpm包名,包描述等中搜索
搜索有包含特定文件名的rpm包
#yum provides realplay
#vi /etc/yum.conf
#加上超时时间,时间长度可随意
timeout=120
方法一
etc/init.d/yum-updatesd stop
方法二
#rm -f /var/run/yum.pid