企鹅日记(二十一):软件安装篇

建议将自己安装的软件放在/usr/local目录下,而源码(Tarball)则建议放在/usr/local/src目录下。

以apache这个软件来讲:

* /etc/httpd

* /usr/lib

* /usr/bin

* /usr/share/man

我们会发现软件的内容大致上摆在etc, lib, bin, man等目录中,分别代表配置文件、函数库、可执行文件、在线帮助文档。

如果以Tarball来安装自己的软件,那么数据会放在:

* /usr/local/mysoftware/etc

* /usr/local/mysoftware/bin

* /usr/local/mysoftware/lib

* /usr/local/mysoftware/man

静态函数库扩展名为:libXXX.a,动态函数库扩展名为:libXXX.so。静态函数库在编译后文件会非常大,而动态函数库只是有个指针而已,很灵活。

====验证软件正确性====

# md5sum / sha1sum [-bct] filename

# md5sum / sha1sum [--status|--warn] –check filename

-b:以二进制的读取方式,默认为Windows文件类型的读取方式

-c:检验文件指纹

-t:以文本类型来读取文件指纹

一般来讲不用加参数就行。

====RPM的安装、升级与更新====

# rpm -ivh pam-dev.rpm –test  <== 仅仅测试属性依赖性,就是测试下该软件是否可以被安装在用户的Linux环境中

# rpm -ivh http://web.site.name/path/httpd-xxx.i386.rpm –replacepkgs  <== 重新安装软件,覆盖已有的包

# rpm -ivh pam-dev.rpm –prefix newdir  <== 将软件安装到其他非正规目录时。

# rpm -ivh pam-dev.rpm  <== install

# rpm -Uvh pam-dev.rpm  <== 后面的软件没有安装的话直接安装新软件,如果安装过自动升级到最新版

# rpm -Fvh pam-dev.rpm   <== 后面的软件没有安装的话啥都不做,如果安装过就自动升级到最新版。

# rpm –rebuilddb  <== 重建 /var/lib/rpm/内的数据库

====RPM查询====

实际上所有查询就是查询/var/lib/rpm/目录下的信息而已

# rpm -qa  <== 查询所有已安装的软件

# rpm -q[licdR] installed-software

# rpm -qf filename

# rpm -qp[licdR] not-installed-filename

-q:仅仅查询后面的软件是否有安装

-qa:列出所有已安装的软件名

-qi:列出该软件的详细信息,包含开发商、版本、说明等

-ql:列出该软件的所有文件与目录所在的完整文件名

-qc:列出该软件所有配置文件(找/etc/目录下的文件,还有/var/lib目录下的数据)

-qd:列出该软件的所有帮助文件(找出与man有关的文件而已)

-qR:列出与该软件有关的依赖软件所含的文件(R是Required的意思)

-qf':由后面接的文件名找出该文件属于哪个已安装的软件

-qp[icdlR]:参数的意义跟上面一样,只不过针对未安装的软件信息而已!

====RPM验证====

# rpm -Va

# rpm -V installed-software

# rpm -Vp RPM-file.rpm

# rpm -Vf filename

1
2
[yidao@localhost ~]$ rpm -V logrotate
S.5....T.  c /etc/logrotate .conf

哪个c代表configuration的意思,d代表文档,g代表ghost文件,通常是该文件不被任何软件所包含,较少发生;l代表license文件;r代表readme文件

至于前面8各字段:

* S :文件的容量大小是否被改变

* M:文件类型或者属性rwx是否被改变

* 5:MD5参数已经不同

* D:设备的主/次代码已经改变

* L:Link路径已经被改变

* U:文件的所有者已被改变

* G:文件的所属用户组被改变

* T:文件的创建时间被改变

=====================END=======================

 

本人博客已搬家,新地址为:http://yidao620c.github.io/

你可能感兴趣的:(企鹅日记)