您的位置:首页 > 运维架构 > Linux

linux的Yum的安装

2013-12-22 13:32 381 查看
Yum命令格式:yum <options> <command> <package...>参数说明:options: 常用的有:-y : 如果在工作过程中如要使用者响应,这个参数可以直接回答yescommand:list : 列出在yum server 上面有的RPM套件;若执行yum list installed则表示只列出系统中已安装的软件包,yum list available则表示只列出软件仓库中可用(尚未安装)的软件包,yum list update则表示列出可以升级版本的软件包。install: 安装某个套件update : 升级某个套件,如果update后面没有接套件名称,即更新目前主机所有已安装的套件.info : 列出某个套件的详细信息,相当于rpm -qi package内容clean : 将已下载到本机的packages或headers移除remove : 移除已经安装在系统中的某个套件yum update 全部更新yum update package 更新指定程序包packageyum check-update 检查可更新的程序yum info <package> 显示安装包信息yum list 显示所有已经安装和可以安装的程序包yum list <package> 显示指定程序包安装情况yum search <keyword>查找软件包,当需要根据某个关键词来查找相关的软件包时,可以执行yum search 关键词,默认仅根据软件包名称和描述信息进行搜索。若执行yum search all 关键词,可以扩大搜索范围,例如,以下将搜索软件仓库并列出与httpd相关的软件包。Yum search all httpdyum clean headers 清除headeryum clean packages 清除下载的rpm包yum clean all 清除header与rpm包yum grouplist ,列出所有组yum groupinstall 安装某个软件组如:yum groupinstall Virtualization 安装虚拟化问题解决:1、如果首次安装软件包之后,再次安装别的软件包的时候,很可能会发现报错了,错误信息如下:
Error: Cannot retrieve repository metadata (repomd.xml) for repository:
InstallMedia. Please verify its path and try again其实,rhel6在首次读取改软件仓库之后,会把原本光盘根目录下,也就是一同被你拷贝到软件仓库目录的media.repo复制一份到/etc/yum.repos.d/,而该文件也就是导致本地yum源失效的罪魁祸首。解决方法:
删除软件仓库中的media.repo
# rm -f /etc/yum.repo.d/media.repo出现public key for …….rpm is not install解决方法:导入完整性验证的公钥#mount /dev/sr0 /mnt#rpm –-import /mnt/RPM-GPG-KEY-redhat-release对于本地yum,配置为完成后最好把光盘卸载,就不会再出现此类情况了!!本地YUM(光盘源)直接将rhel6的光盘放入光驱中,并挂载到一个目录上,例如挂载到/media目录下在/etc/yum.repos.d目录下创建一个以.repo结尾的文件:配置内容参照硬盘源的YUM,此处略过清理YUM缓存yum clean all验证本地YUM安装包B):网络YUM(通过FTP或HTTP协议方式实现网络YUM安装RPM包)在Linux主机中使用YUM客户端工具在线升级、安装软件时,由于受到网络连接速度、网络带宽的限制,往往给用户安装带来不必要的麻烦。但是如果在局域网中构建一个基于本地的YUM源服务器,则可以大大解决用户安装软件速度较慢的问题通过FTP方式:(方式1:硬盘源)实现步骤:YUM服务器端配置:推荐步骤:(1)安装vsftpd服务软件包

或者使用rpm方式Rpm -ivh /media/ Packages/vsftpd…………………..(2)将RHEL6光盘中的所有内容复制到本地硬盘相关目录下,如/var/ftp/rhel6(/var/ftp目录为vsfftp软件的默认访问点)#mkdir /var/ftp/rhel6#mount /dev/cdrom media#cp /media/* var/ftp/rhel6

(3)启动vsftpd服务:service vsftpd startchkconfig vsftpd on

注意:防火墙规则和模块的加载Iptables -I INPUT -p tcp --dport 21 -j ACCEPT //建立允许21端口通信规则Vim /etc/sysconfig/iptables-config //添加被动访问模块

Service iptables save //保存规则Service iptables restart //重启防火墙(4)在另一台客户端测试,首先创建repo文件指定YUM源位置,我直接用scp工具将(sshd服务要启动)服务器的repo文件复制到了客户端的yum.repo.d/目录下了,然后做修改安装ftp工具Rpm -ivh ftp-。。。。。(tab键补齐)

将之前服务器端的yum.repo文件使用scp工具复制过来一份

vi /etc/yum.repos.d/server.repo,注意文件的扩展名要以repo结尾,因为使用的是ftp的方式所以repo文件内容要做如下修改。[Server]name=Red Hat Enterprise Linux basebaseurl=ftp://192.168.1.1/rhel6/Server//因为ftp默认的访问点就是/var/ftp目录,192.168.1.1为yum服务器地址enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[HighAvailability]name=Red Hat Enterprise Linux basebaseurl=ftp://192.168.1.1rhel6/HighAvailabilityenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[LoadBalancer]name=Red Hat Enterprise Linux basebaseurl=ftp://192.168. 1.1/rhel6/LoadBalancerenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[ResilientStorage]name=Red Hat Enterprise Linux basebaseurl=ftp://192.168. 1.1/rhel6/ResilientStorageenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

(5)在客户端上安装RPM包,如samba注意:若YUM服务器开启了selinux功能,客户端通过YUM安装会失败解决方法1:关闭selinux功能,执行setenforce 0命令 //临时关闭/usr/bin/setenforce 修改SELinux的实时运行模式
setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式
如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0 方法2:setsebool allow_ftpd_full_access on

若YUM服务器开启了防火墙,客户端通过YUM安装会失败解决方法1:关闭iptables方法2:在INPUT规则链上创建允许FTP访问的规则。最后在客户端用yum安装软件

通过FTP方式:(方式2:光盘源)YUM服务器端配置:(IP:192.168.0.2)先将RHEL6系统光盘挂载到/var/ftp/rhel6目录下确保vsftpd服务启动YUM客户端配置:(IP:192.168.1.1)在/etc/yum.repos/目录下创建一个以.repo为后缀的文件,内容如下:[Server]name=Red Hat Enterprise Linux basebaseurl=ftp://192.168. 1.1/rhel6/Serverenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[HighAvailability]name=Red Hat Enterprise Linux basebaseurl=ftp://192.168. 1.1/ rhel6/HighAvailabilityenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[LoadBalancer]name=Red Hat Enterprise Linux basebaseurl=ftp://192.168. 1.1/ rhel6/LoadBalancerenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[ResilientStorage]name=Red Hat Enterprise Linux basebaseurl=ftp://192.168.1.1/ rhel6/ResilientStorageenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release在客户端上测试2、通过HTTPD方式:与ftp方式类似(1)安装Apache服务器软件,并开启服务;

(2)防火墙创建允许80的规则;

(3)将光盘中的软件包复制到/var/www/html/目录下

(4)修改客户机yum.repo文件;根据上述实验的结果,在客户端可以直接修改,(:% s/ftp/http/)将ftp替换为http

(5)安装软件测试结果

若使用上述的实验环境,因为之前安装过samba软件,需要yum -y remove samba命令先卸载掉。非RHEL6光盘的更多其他软件包对于用户搜集的非RHEL6光盘的更多其他软件包(必须包括存在依赖关系的所有安装文件)除了应准备相应的目录以外,还需要手动创建repodata数据文件,这就要用到createrepo工具(RHEL6光盘中有)以RHEL6安装光盘中Packages/目录的RPM包为例:安装createrepo工具:createrepoa主要用于收集目录中的rpm包文件的头信息,以创建repodata软件仓库数据(经gzip压缩的xml文件)。mount /dev/cdrom /var/www/html/rhel6 //挂载光盘yum –y install /var/www/html/rhel6/Packages/createrepo-0.9.8-4.el6.noarch.rpm

注意:安装createrepo包时要依赖以下两个包:deltarpm和python-deltarpm,不能忽略这两个包安装FTP服务器:rpm -ivh /mnt/Packages/vsftpd-2……..(按TAB键自动补齐)

配置软件仓库目录:可参考安装光盘的Server目录mkdir /var/ftp/rhel6/Packagesmkdir /var/ftp/rhel6/repodata从光盘把所有的RPM包复制到/var/ftp/pub/Packages目录下(要确保硬盘有足够的磁盘空间)cp - a /mnt/Packages/* /var/ftp/pub/Packages/创建软件仓库信息文件:cd /var/ftp/pub/createrepo --database ./[root@server pub]# ls repodata/filelists.sqlite.bz2 other.sqlite.bz2 primary.sqlite.bz2 repomd.xmlfilelists.xml.gz other.xml.gz primary.xml.gz可以看到已经创建好了相应的软件仓库信息文件在客户端上创建扩展名为.repo的文件,内容参考上面的有产设置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息