linux下程序安装过程详解

来源:百度知道 编辑:UC知道 时间:2024/09/22 06:43:55
现在的linux做的太人性化了,安装个软件yum,apt之类的一条龙服务,但是我想知道系统底层安装这些软件一般都会在哪几个目录下写文件?最好举个具体的例子。

软件包里面分两部分:软件包描述数据和实际软件的文件。

软件包数据里面包括这个包的名字,版本号,依赖功能,提供功能,说明等等一切需要的信息。这些东西除了说明软件包的名称、功能。还提供软件包管理器管理软件时需要的各种信息。

实际软件的文件就是你所用到的程序提供的所有程序、资源。

软件包描述数据会被软件包管理器记录在自己的数据库里面保存。同时也会保存一套这个软件提供的文件的目录树信息。
软件本体当然就会被解压缩到系统对应目录中了。

比如我有一个软件包 a ,包管理系统是 rpm (也就是 yum 的基础)。当前系统有软件包 b 。a 含有文件 /bin/1 。
那么软件包管理器会先检测软件包的依赖。在检测了自己的数据库中,软件包管理器发现依赖软件包 c (这个包含有 /lib/2 )。那么系统会自动调用依赖解决功能,要求同时安装 a 和 c 两个软件包。

安装包时,软件包管理器下载&解压缩 c ,把文件 /lib/2 放到系统对应目录中。同时把软件包 c 的相关信息保存在自己的数据库中。之后继续安装 a 。同样根据操作 a 软件一样的吧两部分放到合适的位置。

这种人性化都是建立在数据基础上的,数据库越全,就越方便。
yum 安装软件时,都会要求进行一次“同步”,其实就是在同步软件包系统的数据。自动更新,其实也是随时同步软件包数据库,发现数据库里面有新的软件包,就提示升级。

rpm 的数据库在本机上应该是放在 /var/rpm 里面。apt 是在 /var/apt 里。yum 没注意过。
一般来说,这种数据文件都会放在 /var 里面的某个目录中。下载的软件包缓存也在这里。

具体这个软件包都有什么文件,rpm 你可以用:
rpm -ql 软件包名
查看 apt 我没注意过用法。

当然图形界面里面的软件包管理器也能查询这个软件包都有什么文件都放在了什么地方。

一般默认安装到
/usr/share
部分软件放到了
/opt
库文件一般在
/lib