建议将自己安装的软件放在/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/