在安装libX11-dev的时候遇到如下问题。

[root@localhost Server]# rpm -ivh --aid libX11-devel-1.0.3-11.el5.i386.rpm

warning: libX11-devel-1.0.3-11.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

error: Failed dependencies:

libXau-devel is needed by libX11-devel-1.0.3-11.el5.i386

libXdmcp-devel is needed by libX11-devel-1.0.3-11.el5.i386

xorg-x11-proto-devel >= 7.1-2 is needed by libX11-devel-1.0.3-11.el5.i386

需要依赖关系

A、强制安装----暴力型

使用rpm -i --force --nodeps强制安装。忽略依赖关系。这种方法你可以先装A包,再装B包,再装C包。这样还是有点隐患的,感觉不是很踏实(虽然其实目前没发现什么不好)。安装后使用成功的前提是:你要搞清楚依赖关系,并且把这些包都装好。好处是:不用管它们的具体依赖关系先后顺序。

B、一次性全装上---一网打尽型

可以把依赖的几个包拷出来放在同一个文件夹里 然后 rpm -ivn *.rpm这样也可以 前提也是一个都不能少。

C、 使用yum技术安装--使用服务器方式

yum是一个服务器资源技术。通过在线下载服务器资源的方式。 缺点:太繁琐。要设置一堆的东西。优点:设置以后,很方便,需要的大多数资源都可以从服务器上找到。这点感觉很像maven2有木有?

参考:

D、使用redhat提供的解决方案,安装依赖关系库(强烈推荐)

例子:先安装rpmdb,之后使用

# rpm -ivh --aid samba*.rpm (一定要安装rpmdb后才可以用这种方式安装排除依赖关系)该命令会自动把依赖关系中需要安装的包都安装上,包括:cups-libs-1.1.17-13.3.6.rpmsamba-common-3.0.0-14.3E.i386.rpmsamba-3.0.0-14.3E.i386.rpmsamba-client-3.0.0-14.3E.i386.rpm可以很简单地解决直接安装samba-3.0.0-14.3E.i386.rpm或者samba-client-3.0.0-14.3E.i386.rpm对samba-common-3.0.0-14.3E.i386.rpm的依赖,而安装sambacommon-3.0.0-14.3E.i386.rpm出现对都libcups.so.2库文件的依赖,而且该库文件所在的rpm包无法很快确定上述方法可以很快解决依赖关系

想要通过yum一劳永逸。

Yum可以从众多软件包仓库中搜索软件的依赖关系,因此可以减少由于依赖关系带来的问题。还有就是我们在使用图形界面时,在应用程序-添加删除软件下的浏览里是空的。如下图:

第一种方法:(推荐)

第一步:新建一个文件夹,并把光盘内的所有文件复制到这个文件夹里:

[root@localhost ~]# mkdir /yum

[root@localhost ~]# cp -rvf /misc/cd/* /yum

第二步:备份repodata文件。因为有四个文件夹里都有这个文件,所以都要备份。

[root@localhost ~]# mv /yum/Server/repodata /yum/Server/repodata.bak

[root@localhost ~]# mv /yum/VT/repodata /yum/VT/repodata.bak

[root@localhost ~]# mv /yum/Cluster/repodata /yum/Cluster/repodata.bak

[root@localhost ~]# mv /yum/ClusterStorage/repodata /yum/ClusterStorage/repodata.bak

第三步:安装工具包:

[root@localhost ~]# rpm -ivh /yum/Server/createrepo-0.4.11-3.el5.noarch.rpm

第四步:生成仓库数据库:

[root@localhost ~]# createrepo -g /yum/Server/repodata.bak/comps-rhel5-server-core.xml /yum/Server/

[root@localhost ~]# createrepo -g /yum/VT/repodata.bak/comps-rhel5-vt.xml /yum/VT/

[root@localhost ~]# createrepo -g /yum/Cluster/repodata.bak/ /yum/Cluster

[root@localhost ~]# createrepo -g /yum/ClusterStorage/repodata.bak/comps-rhel5-cluster-st.xml /yum/ClusterStorage/

第五步:查看仓库数据文件:

[root@localhost ~]# ls /yum/Server/repodata/

comps-rhel5-server-core.xml //这个文件软件包组的分类。

filelists.xml.gz other.xml.gz primary.xml.gz //这三个文件为软件包列表文件。

repomd.xml   //这个文件为MD5校验信息。

在/yum/VT /yum/Cluster /yum/ClusterStorage下面都有这几个文件,作用和这一样。如果想更新软件包,只需把下载完的软件包放在Server或者其他三个目录里,再使用第四步重新生成数据库文件即可。

第六步:客户端配置:主要修改下面红色的部分:

[root@localhost ~]# cp /etc/yum.repos.d/rhel-debuginfo.repo /etc/yum.repos.d/chenbin.repo

[root@localhost ~]# vi /etc/yum.repos.d/chenbin.repo

[rhel-Server]

name=Red Hat Enterprise Linux $releasever - $basearch - Debug

baseurl=file:///yum/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[rhel-VT]

name=Red Hat Enterprise Linux $releasever - $basearch - Debug

baseurl=file:///yum/VT

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[rhel-Cluster]

name=Red Hat Enterprise Linux $releasever - $basearch - Debug

baseurl=file:///yum/Cluster

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[rhel-ClusterStorage]

name=Red Hat Enterprise Linux $releasever - $basearch - Debug

baseurl=file:///yum/ClusterStorage

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

第七步:查看:如图,已经出现软件列表了。

如果在上图中的编辑里选择软件存储库,就出现下图:

如果把这里的勾去掉,再次打开就没有软件列表了,同时在/etc/yum.repos.d/chenbin.repo配置文件下的enabled=0。

清除一下yum安装时的缓存:

[root@localhost ~]# yum clean all

安装一个软件试试:

[root@localhost ~]# rpm -ivh /yum/Server/httpd-2.2.3-22.el5.i386.rpm

warning: /yum/Server/httpd-2.2.3-22.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

error: Failed dependencies:

libapr-1.so.0 is needed by httpd-2.2.3-22.el5.i386

libaprutil-1.so.0 is needed by httpd-2.2.3-22.el5.i386

因为依赖关系,所以不能安装。用如下命令安装:

[root@localhost ~]# yum install /yum/Server/httpd-2.2.3-22.el5.i386.rpm

系统会自动安装完成。Yum缷载如下:

[root@localhost ~]# yum remove httpd。

1.4总结:YUM常用命令:

1.安装软件包:

yum install package

yum localinstall package 从本机目录安装软件包

yum groupinstall group 安装某个组件的全部软件包

2.更新软件包:

yum update package

yum check-update 列出所有可更新的软件包

yum list updates mysql* 查找mysql的更新

yum update 更新所有可更新的软件包

yum update mysql* 更新所有mysql的软件包

yum groupupdate group 更新某个组件的所有软件包

yum list 列出所有已安装和仓库中可用的软件包

yum list available 列出仓库中所有可用的软件包

yum list updates 列出仓库中比当前系统更新的软件包

yum list installed 列出已安装的软件包

yum list recent 列出新加入仓库的软件包

yum info 查询软件包信息

3.删除软件包:

yum remove package

yum groupremove group 删除某个组件的全部软件包

4.清除软件包

yum clean packages 清除遗留在缓存里的包文件

yum clean metadata 清除遗留在缓存里的元数据

yum clean headers 清除遗留在缓存里的头文件

yum clean all 清除包文件,元数据,头文件

5.搜索软件包:

yum search package

yum info package 查找一个软件包的信息

yum list package 列出包含指定信息的软件包

yum list installed 列出已安装的软件包

yum list extras 列出不是通过软件仓库安装的软件包

yum list *ttp* 列出标题包含ttp的软件包

yum list updates 列出可以更新的软件包

6.查找特定文件是由什么软件包提供的:

yum whatprovides filename

例子:

yum whatprovides httpd.conf

可用选项

–disalberepo=lib禁用某个软件仓库

–enalberepo=lib启用某个软件仓库

-C 禁用使用本机缓存的元数据

例子:

yum –disalberepo=livna|–enalberepo=livna install mplayer

yum -C info httpd

目前依旧无法用yum install来安装软件。

linux解决软件依赖的命令,通过yum解决软件的依赖关系相关推荐

  1. linux找不到mysql命令行_解决linux系统中找不到命令的问题

    有时候我们在Linux命令行执行某个命令时,会报命令找不到的错误,这个错误出现的原因是,在执行命令时,系统会从系统环境变量中去寻找,如果找到了就执行,没找到就会报命令未找到. 下面我们拿Linux下执 ...

  2. linux中查yum命令,yum 查看软件

    在linux下如何使用yum查看安装了哪些软件包 Linux系统下yum命令查看安装了哪些软件包:$yum list installed //列出所有已安装的软件包yum针对软件包操作常用命令:1.使 ...

  3. linux下yum源软件服务器的搭建与使用

    什么是yum源? yum(全称yelllow  dog  Updater, Modified),是一个基于rpm包的软件安装管理器,通常用于redhat.fedora.centos.SUSE等发行版l ...

  4. 在RHEL5.0中用YUM解决RPM包的依赖关系

    一. 使用yum实现本地安装RPM包的依赖关系: 1. 添加一块硬盘,新分区并挂载到/install目录 (也可以是其他目录)或直接在现有文件树中建一个新目录如/install 2. 将linux的光 ...

  5. Linux系统运维常用命令

    Linux 系统运维常用命令 1 文件管理2 软件管理3 系统管理 4 服务管理5 网络管理6 磁盘管理 7 用户管理8 脚本相关9 服务配置 ============================ ...

  6. Linux学习笔记重新梳理20180702 之 yum软件包管理器

    2019独角兽企业重金招聘Python工程师标准>>> Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中 ...

  7. linux下rz和sz命令实现上传下载文件

    linux下上传文件命令 安装 yum install -y lrzsz 1.mobax使用上传会异常 ⚌CCCCCCCCCCC23be50ive.**B0100000023be50 解决方法:使用x ...

  8. unbuntu无法安装yum解决

    当安装yum出现Unable to locate package yum时,可按照以下步骤解决. 1.替换镜像源 更改为清华的镜像源,vim /etc/apt/sources.list,添加以下地址. ...

  9. Linux退出man命令手册,Linux中如何退出man命令

    匿名用户 1级 2018-06-08 回答 1. 输入q,回车就退出: 2. 输入man man,会详细告诉你man手册的使用方法: man手册是学习linux中经常用到的东西 使用方法: 1. ma ...

最新文章

  1. CSS3的box-shadow属性:给指定的区域加阴影
  2. SSO [ OAuth2.0 ]
  3. DCP(Deep Closest Point)论文阅读笔记以及详析
  4. three.js glb 多个_直降7.1万元 奔驰GLB开始“大甩卖”
  5. 最便宜的那款特斯拉,刚刚喜提“最安全汽车”称号(然后被打脸)
  6. Linux下关于安全的一些小技巧大问题(图文)
  7. 在Python中从头开始迭代本地搜索
  8. 一般毕业论文的查重要求有哪些?
  9. 斗鱼+android下载地址,斗鱼下载2021安卓最新版_手机app官方版免费安装下载_豌豆荚...
  10. Python实现双线性插值、最近邻插值、三次内插法
  11. 数据分析能力的8个等级
  12. v$active_session_history的wait_time和time_waited 列(转)
  13. android 8.0设置横幅通知,安卓微信8.0.3正式更新:新增公告横幅提醒等8大更新!...
  14. 合工大机器人足球仿真robocup2D球队代码实验七实验验收
  15. openSUSE 多个GPU设置 深度学习 Caffe PyTorch 等
  16. 微信二次分享链接,出现config:invalid signature错误的解决方法
  17. 一加7T可以刷鸿蒙系统吗,一加7T最新系统升级刷机包(官方刷机固件完整rom包公测版第九版)...
  18. 惠普笔记本突然读不到无线网卡
  19. 1.7、基于BGP实现两个AS系统间通信
  20. 赵国荣教授治疗病毒性肝病临床经验述要

热门文章

  1. 极速搭建一个个人博客网站
  2. PMP 之程序性计划、实体性计划、综合计划
  3. Openstack 与VMware 不同CPU迁移原理
  4. linux查看指定用户的所有进程
  5. windows下utf-8和unicode的相互转换
  6. linux安装mysql详细过程【easy】
  7. leetcode 149. Max Points on a Line |149. 直线上最多的点数(Java)
  8. JVM从入门到精通(七):GC常用参数,Method Area,JVM调优案例分析
  9. Hadoop推测执行(以空间换取时间)
  10. CentOS 6 安装Hadoop 2.6 (四)运行简单例子