利用yum安装软件(自动解决依赖关系)
YUM有以下特点:
1、可以同时配置多个资源库(Repository)
2、简洁的配置文件(/etc/yumconf)
3、自动解决增加或删除rpm包时遇到的依赖性问题使用方便
4、YUM分为服务器端和客户端
搭建yum服务器:
1、挂载redhat55安装光盘。
2、安装vsftp软件。
3、解除挂载,然后重新挂载到/var/ftp/pub/下(客户端利用ftp下载软件包,通过yum命令安装ftp上的软件)
4、利用vi修改/etc/yumreposd/rhel-debuginforepo文件,这个文件是客户端修改的文件,我直接在服务器修改了,用于填写yum服务器的地址和软件包ftp的位置。
5、下面以安装dns服务器软件 bind为例,如果不利用yum安装,需要解决依赖关系,比较麻烦。如下图:
6、上图可以看出,安装出错,需要首先安装bind-936-4之后才能安装bind-chroot-93,下面先安装bind-936-4。
7、然后再安装bind-chroot-93,如图所示可以正常安装了。
从编程的角度出发,库是指封装了各种功能的函数,用户在编写新程序时,无需再重新开发相关的功能。你可以把库理解成汽车的轮子,你造车时,无需重新制造一个轮子,直接从轮子厂商那儿购买使用,用你所有的精力去做好引擎(软件核心功能)和外壳(用户交互界面)。
Linux系统和其他 *** 作系统一样,都是模块化的设计,也就是说功能互相依靠,有些功能需要一些其他功能来支撑,这样可以提高代码的可重用性:
大部分依赖包都是一些库文件,有动态库也有静态库,一个程序的依赖包如果没有安装,只安装了这个程序本身是不能使用
你可以理解为似windows的库文件,譬如DLL
比如我要装某个软件,这个软件又依赖于某个开发包,这个开发包包含这个软件所要运行
的环境文件,这就是依赖关系。
再举个例子,比如我要去优酷看视频一样。
我就需要需要装flash。因为优酷的播放器是基于flash开发的。
思路:一般来说,通过make命令已经将程序依赖的动态库编译出来了,通过make install命令已经将动态库安装到系统的某个路径下。找没找到动态库就看这个路径是否包含在系统默认搜索动态库的路径中,如果不在,那么就会提示找不到动态库。以下三种方法,就是根据前面的分析来解决的。
方法一:修改LD_LIBRARY_PATH环境变量
特点:这种方法主要处理临时的动态库加载,LD_LIBRARY_PATH环境变量修改后,只能是对当前的用户生效。
LD_LIBRARY_PATH的作用:这个环境变量用于在程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径,注意,LD_LIBRARY_PATH中指定的路径会在系统默认路径之前进行查找。
具体步骤:
1、找到动态库所在路径:sudo find / -name "[动态库名字]"
2、打开~/bashrc文件
3、在该文件最后一趟添加:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:[动态库所在的绝对路径]
4、source ~/bashrc
方法二:修改/etc/ldsoconf配置文件
特点:对所有用户生效。不是每个 *** 作系统都有这个配置文件,就Ubuntu系统有。
/etc/ldsoconf的作用:记录了程序加载运行期间查找动态链接库时的路径。
系统lib/系统库
/lib
根目录下的所程序的共享库目录。
此目录下包含系统引导和在根用户执行命令时候所必需用到的共享库。做个不太好但是比较形象的比喻,点类似于Windows上面的system32目录。理说,这里存放的文件应该是/bin目录下程序所需要的库文件的存放地,也不排除一些例外的情况。类似的目录还/usr/lib,/usr/local/lib等等。
以上就是关于怎么解决安装linux软件的依赖问题全部的内容,包括:怎么解决安装linux软件的依赖问题、依赖库是什么 各个平台下的 比如LINUX xp、linux的依赖包有何用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)