如何解决linux安装软件的依赖?

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-05
怎么解决安装linux软件的依赖问题

利用yum安装软件(自动解决依赖关系)
YUM有以下特点:1、可以同时配置多个资源库(Repository)2、简洁的配置文件(/etc/yum.conf)3、自动解决增加或删除rpm包时遇到的依赖性问题使用方便4、YUM分为服务器端和客户端搭建yum服务器:1、挂载redhat5.5安装光盘。

2、安装vsftp软件。

3、解除挂载,然后重新挂载到/var/ftp/pub/下(客户端利用ftp下载软件包,通过yum命令安装ftp上的软件)

4、利用vi修改/etc/yum.repos.d/rhel-debuginfo.repo文件,这个文件是客户端修改的文件,我直接在服务器修改了,用于填写yum服务器的地址和软件包ftp的位置。

5、下面以安装dns服务器软件 bind为例,如果不利用yum安装,需要解决依赖关系,比较麻烦。

6、上图可以看出,安装出错,需要首先安装bind-9.3.6-4.....之后才能安装bind-chroot-9.3,下面先安装bind-9.3.6-4。

7、然后再安装bind-chroot-9.3

为什么会依赖:

编写软件的人不想自己一个人做完所有的事情,就像寻求外援,于是就找上了各种各样的软件包。
举个例子,我只是想写一个QQ,但是如果没有图形界面库(或者说我不用图形界面库),我就得自己想办法怎么在屏幕上画一个窗口,怎么显示按钮,怎么显示列表,怎么……
好了,现在我们知道有GTK库,Qt库,在编写程序的时候,我们只要调用他,告诉他我要在哪里哪里创建一个窗口,然后有什么控件,映射什么信号,等等等等,等我们描述完了,图形界面库就开始在屏幕上绘图,这个过程就不需要我们管了。
实际上,linux上的大多数图形程序不是依赖GTK,就是依赖Qt,所以要是这些基本的库不安装的话,依赖关系肯定出问题,但不幸的是,一般发行版只装一种库,而你两种库的程序都用,就得自己装另一种库了(通常APT-GET给你解决)。
你要想安装这些东西,就必须解决依赖关系,否则软件无法运行。
在ubuntu系统中,查看依赖关系:

已安装的包,可以 dpkg --status xxxxx 来查;未安装的包,可以 dpkg --info xxxxx.deb;又或者用 apt 或到 去搜索及查阅

为什么会依赖:

编写软件的人不想自己一个人做完所有的事情,就像寻求外援,于是就找上了各种各样的软件包。
举个例子,我只是想写一个QQ,但是如果没有图形界面库(或者说我不用图形界面库),我就得自己想办法怎么在屏幕上画一个窗口,怎么显示按钮,怎么显示列表,怎么……
好了,现在我们知道有GTK库,Qt库,在编写程序的时候,我们只要调用他,告诉他我要在哪里哪里创建一个窗口,然后有什么控件,映射什么信号,等等等等,等我们描述完了,图形界面库就开始在屏幕上绘图,这个过程就不需要我们管了。
实际上,linux上的大多数图形程序不是依赖GTK,就是依赖Qt,所以要是这些基本的库不安装的话,依赖关系肯定出问题,但不幸的是,一般发行版只装一种库,而你两种库的程序都用,就得自己装另一种库了(通常APT-GET给你解决)。
你要想安装这些东西,就必须解决依赖关系,否则软件无法运行。
在ubuntu系统中,查看依赖关系:

已安装的包,可以 dpkg --status xxxxx 来查;未安装的包,可以 dpkg --info xxxxx.deb;又或者用 apt 或到 去搜索及查阅

以上方法来自

我没遇见过不能上网的情况,不知道对你有没有用,但对于新手来说,有时候重装系统更容易些

gnome network manager的依赖关系如下:

回答补充:
这是别人的方法,我以前也遇到过这样的囧境,没网上,我也想过离线安装,可惜努力了好久都没解决,不知下面这位网友的方法适合不适合你,但手工解决依赖关系确实是一件痛苦的事情,你去官方论坛看看,说不定那里有人能解决

另外,团IDC网上有许多产品团购,便宜有口碑

fedora现在最新的版本是15,fedora10早就不支持更新了,所以,还是别用了,安软件会相当麻烦。

可以采取几个方法结合起来。去http://rpmfusion.org/下载安装epel
其次去网上找你没有的软件包下载安装
还有正确安装配置yum.
通常我首先安装epel需要安装软件时,首先考虑YUM如果遇到依赖包没有,就去网上下载。

强制安装往往不能保证软件的正常使用。
ubuntu虽然也很不错,但是,既然选择了fedora那么,最好还是坚持下去。如果换了,还要重新适应。而且,使用fedora遇到问题就想换别的。那么换完以后要是再有困难难道再换?不要希望一帆风顺。遇到障碍,正视它,解决它。

ubuntu就没这个软件依赖的问题。

要解决依赖的话需要哪些软件就安装哪些就ok了。

yum -y install *gcc* 如果强制安装,可能造成软件用不料,或者不稳定。 rpm -vih XXX --force

  • linux安装软件的时候提示:依赖关系gconf-service 不知道怎么弄_百度知 ...
    答:可以用apt-get install安装,在安装过程中按照提示缺少那个包就先补全那个包再继续安装。关于依赖包在哪里下载,直接google吧 刚查了一下,可以使用apt-cache depends package来查看package的依赖关系,你试一试。linux下安装软件有时候就是需要自己去折腾,哪里缺少就补哪里 ...
  • 如何解决源码包安装时的依赖性问题
    答:四、手工解决依赖性问题 通常,当尝试安装发行版中没有包括的软件包(及不能由像up2date、apt-get或Yum一样的更新工具自动解决其依赖性的软件包)时,将碰到rpm依赖性错误。例如,如果尝试在老的Linux发行版上使用rpm–ivh*rpm命令,例如所有的Heartbeatrpm包,那么在安装过程中就可能碰到下面的错误: error:faileddepende...
  • linux下安装rpm文件,遇到包依赖不满足的问题
    答:表示nsmbd这个包要依靠或调用libc.so.6,libpam.so.0等等这些的函数库或其他类似数据。所以要解决就必须安装这4个东西。如果你是RH的,就#YUM INSTALL GLIBC—2。4。。。括号里面的那个名称 依次装完就可以装nsmbd。如果ubuntu或dbian 就#apt-get *** 不排除可能会出现的连锁依赖问题。只能...
  • Linux里面rpm安装能解决所有依赖吗?
    答:不能,联网情况下用yum才能比较好的解决依赖问题,但也不是绝对的。具体问题具体分析,不要妄想一种方法解决所有问题。
  • linux系统为什么那么多的依赖关系,想装一个东西就必须同时安装一串东 ...
    答:首先呢,linux 是一个开源的OS,你可以选择使用商业版的redhat,因为是开源OS,所以没有windows那样的收费,也就没有对应的一些便利,因为是开源,所以大家开发的东西就有很有可能被其他的软件复用,所以存在这么多的依赖,有利有弊吧
  • idea添加jar包依赖包依赖linux
    答:Linux软件安装包依赖关系有哪些?yum可以自动解决依赖关系yum-yinstall安装包名称rpm安装时取消依赖关系rpm-ivh安装包名称--nodeps 如何在虚拟机linux安装rpm包?rpm-ivh软件包名字 这是使用rpm命令安装,当然最好的方法是使用yum安装,可以解决包的依赖关系,安装命令如下:yum-yinstall软件包名字 这样就什么...
  • 为什么Linux安装软件总是失败啊
    答:这是Linux下的软件依赖问题,如果直接用rpm安装,需要手动解决。方法是将列出的依赖包全部安装好再安装Chrome浏览器。不过题主用的Ubuntu系统,没有记错的话可以使用apt-get管理器安装软件的吧,这样就可以让包管理器自动解决依赖问题了
  • linux查看依赖库linux查看依赖
    答:yum可以自动解决依赖关系yum-yinstall安装包名称rpm安装时取消依赖关系rpm-ivh安装包名称--nodeps Linux软件安装包依赖关系有几种?yum可以自动解决依赖关系yum-yinstall安装包名称rpm安装时取消依赖关系rpm-ivh安装包名称--nodeps linxn怎么查看passwd依赖库?Linux系统查看passwd依赖库,可以通过命令more和WHO...
  • 在linux中myum是什么
    答:没听什么myum,yum是linux安装软件时为解决依赖关系的一个程序,比如rpm安装a软件,需要先安装b和c软件,安装b和c软件需要de软件。而yum就不需要,直接yum install a,就解决了这种依赖关系。而使用yum安装软件时,需要配置软件的仓库,cd /etc/yum.repo.d/rm -rf *vim local.repo #local是文件...
  • linuxdeb安装软件命令linuxdeb安装
    答:1、文中xxxx.deb指的是你下载的deb安装包2、若安装过程中遇到依赖问题问题,可以根据提示,一次下载缺失的软件包,命令为sudoapt-getinstall软件包名3、若你是个新手,建议你使用gdebi,你安装好gdebi后,就可以在你下载的deb安装包山通过鼠标右击选择使用gdeibi进行安装,会自动解决依赖问题。安装gdebi的...