Linux下大部分软件是c写的,但跟Windows上的不一样,需要专门开发Linux版。
Linux的系统主要分为两大类,
redhat:cent OS就是redhat,用的包是RPM包。
debian、Ubanto:dev包。
Linux下的安装包分为
源码包:直接可以看到c代码的文件,但安装执行比较慢,因为需要现场进行编译。没有卸载,直接删除目录。
脚本安装包:install.sh,
二进制包:RPM包,是已经编译好的,也就是 0和1 。安装快,但是看不到源代码。
源码包就相当于自己动手打家具,二进制包参照安装说明装家具。
rpm一定要注意包名和包全名的应用场合!
包的依赖性示例:
查找依赖包:
然后就会出现下面的:
这里,如果装centos 5.10 for i386就需要依赖第一个那个包。
如果需要依赖关系,且依赖比较复杂,需要模块化依赖的时候,拆分模块是比较麻烦的,
这时候就可以用后面的yum安装。yum是专门用来解决依赖性的。
用rpm -ivh 加RPM安装包的全名就可以安装。
只有在安装和升级的时候才用包全名。如果在查询的和卸载时候是未安装的包也应该是全名。
Linux支持tab键,但Solaris不支持,Solaris是Unix。
在ubuntu当中,安装应用程序我所知道的有三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种。下面针对每一种方法各举例来说明。ubuntu与dibian是一类。
Solaris
3、patch软件包的安装
每个补丁都有编号。例如补丁号为101945,版本是34的话,这个补丁的目录名就是101945-34.
# patchadd 105160-01 安装补丁
# patchrm 删除补丁
# patchadd -p 检查系统的补丁情况
# showrev -p 查看所有已经安装的patch
先装主包:
下面这个.so.o的文件就是模块依赖了,需要到上面的网站上去找。注意安装的时候虽然依赖性里只给了名字提示,但全名可以通过 tab 键来获得。
卸载的时候只要包名就可以了,因为它回去系统里找。
这就卸载了,为什么不依赖性了?因为没有装后面的依赖性包。不必深究,后面有yum解决这个问题。
www.rpmfind.net在这个网站的search里查找需要的安装的包应该是安装那个包即可。因为需要安装的包系统提示里并没有,
所以到这个网站上找它对应的包安装上即可。
rpm包可以通过命令或者更方便的yum安装,但查询只能通过rpm命令来查询:
RPM包的查询方式:
因为是在数据库中查找安装包,所有不需要一定进入安装目录。
查找所有httpd的安装包,即所有Apache的安装包:
上图下面的一条是查询包的相关信息,这些信息是在包安装的时候就组建好了。
这些信息是在组建生产包的时候就已经写好。所以可以查没有安装的包信息:
从install Date里可以看到not installed。
查询安装位置:
列出了这么多,虽然有些不带httpd但也是Apache安装的文件:
可以查询未安装的包,将要安装的目录,因为这些信息如同上面讲的都是在组建包的是创建好的:
根据文件名查询它是属于哪个包:
这些文件必须是通过包装出来的,否则找不到,例如log文件手动创建的文件是查不到的。
这个yum.conf就是在上面 ls 出来的,是安装 httpd 的时候安装的。
操作未安装的包时要用绝对路径。
查询未安装软件包的依赖性:(这个好)
查询已经安装包的依赖性:
查询未安装包的依赖性:
先进目录:
下面就是安装这个包时依赖的文件:
校验与文件提取:
可以验证有没有人偷偷动你的文件。
没有任何信息就是没动过:
修改过的:
其中 c 是文件类型,:
用于误删除等的恢复或者修复等:
这是提取到了本目录下的 /bin/ls 下,需要复制到相关目录下 /bin 才能使用.