linux命令指南之二

xiaoxiao2021-02-28  150

程序包原理及linux package

软件包安装状态

旧版本的软件升级后处于 applied状态,系统使用的是新的版本,旧的版本并没有被删除 执行commit动作后,旧的版本被删除,软件包就处于committed状态了;执行reject动作,新的版本被删除,系统仍用旧的版本 软件包的升级,为了应用安全运行,先让新软件包处于applied状态试运行一阵后再commit;如果安装一个新的软件包,就直接committed

安装软件

installp –p

预览这个LPP安装需要多大的空间等信息,并没有真的安装

installp –c

commit一个处于apply状态的软件包

installp –r

reject一个处于apply状态的软件包

installp –l和install -L

按一定格式列出软件包

installp –C

清除安装失败的不完整的文件和软件

installp -u

卸载一个软件包

installp –ug –V –f readme.txt

u 为卸载,-g为相关的软件包,-V为显示卸载状态,-f为指定某个文件。 卸载一个软件包和相关的所有软件包,readme.txt文件中列出要卸载的软件名

lslpp –p

查看某个软件包的所需的预安装信息

lslpp –h

查看某个软件包的安装和升级历史信息

instfix –T –d /dev/cd0

列出可光盘中安装的补丁(fix)

instfix –k IX38794 –d /dev/cd0

从光驱设备中安装APAR号为IX38794的软件包

instfix –ik IX38794

查询APAR号为IX38794的相关filesets 是否安装或当前状态,-i选项表示只查询并不安装

lppchk

lppchk -l

验证符号链接是否正确

lppchk -v

验证软件安装后在/, /usr和/usr/share的文件是否一致

rpm RedHat软件包管理工具

rpm -i package-filename.rpm (install) rpm -F package-filename.rpm (freshen) rpm -U package-filename.rpm (upgrade)

-v 表示可以输出详细信息 -h 在安装过程中打印50个“#”符号,表示安装进度 -e选项 如使用选项–nodeps 将忽略包的依赖提示

-q

rpm -q package-name

选项:

-a 查询所有安装的RPM -f 查询拥有某文件的RPM -p 查询包文件 -i 显示包的信息 -l 信息包文件的信息 -s 显示所有文件的状态 -d 显示文档文件 -c 显示配置文件 “-V”参数检查与某一RPM包相关所有文件的完整性。

语法为:

rpm -V package_name_to_verify

rpm校验

rpm -V sendmail

输出看来是这样的: [root@fubar /root]# rpm -V sendmail S.5….T c /etc/aliases missing /etc/mail/ip_allow S.5….T c /etc/mail/relay_allow S.5….T c /etc/sendmail.cf S.5….T c /etc/sendmail.cw S.5….T /usr/sbin/sendmail 除非你升级了sendmail,否则它不应该校验失败,很明显有人修改或者覆盖 了原来的sendmail文件,可能带有木马或者后门。

S = 大小改变 M = 权限改变 5 = MD5改变 L = 连接改变 D = 设备改变 U = 用户改变 G = 组改变 T = 日期和时间改变 missing = 文件丢失

挨个检查软件包很费时间,用“-a”选项可以一次性检查所有RPM包:

rpm -Va > /root/rpm_chk.txt &

“-qf”选项查看哪个软件包安装了此文件:

rpm -qf /usr/sbin/sendmail

sendmail-8.8.7-20

Md5 MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的MD5信息摘要。 MD5可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化。

转载请注明原文地址: https://www.6miu.com/read-40339.html

最新回复(0)