rpm程序包管理器

程序包管理

rpm 命令

作用安装升级卸载校验

为什么rpm结尾 

包管理都是以rpm方式

-i 安装 +包

安装的时候一定要在当前目录

-ivh

-v显示信息

vv 详细信息

-h 进度条 %


 

安装之前测试加 ---test

有时候会出现依赖关系提示

如果忽略依赖关系加

--nodeps

如果用了--nodeps之后,没法用只能卸了重新按依赖关系安装

如果配置文件改错了,要重新安装

但是重新安装不一定要卸载 加 --replacepkgs

但是重新安装的时候配置文件不会更新

如果要让配置文件恢复,要删掉配置文件再重新安装

安装卸载的时候会有使用到脚本(四类脚本)

如果 没有脚本就用--noscrip

-e 卸载

也可以加vh

不同点:就写当前包名就可以  

  --allmatch 把匹配到的版本都删除

--nodeps 不管依赖关系

问题?

如果安装zsh,并且在zsh环境下,zsh可以被卸载但是,并且状态还是个0(成功),但是shell环境还是在zsh里面

解答:shell和其他程序不一样,是因为shell启动的时候会有一个子进程,删除的时候的确会删掉shell的内容,但是子进程还是存在的。我们还可以使用zsh,但是退出当前zsh之后,我们就再也进不去zsh了,只能重新安装之后才可以再进去。但是,如果其他程序的话,就一定不可以在运行的时候删除了,而且不一定会有子进程存在。删掉了就没有了。

-Uvh  加包

升级

如果没安装自动安装

-oldpackage降级

--force 强制升级

查询  -q  加包名就可以

查询指定的程序包是否已经安装

-a 所有安装过的包

校验:

-V 可以校验出什么东西被修改掉

大小  权限 内容    主设备号  链接  属主  属组  mtime变化 功能

验证包的合法性和完整性

来源合法

导入秘钥

rpm --import /etc/pki/rpm-gpg/

-V 都是存在数据库里面,查询校验操作都是按数据库来的

rpm数据库

rpmdb

--initdb              --dbpath=path

--rebuilddb

程序包管理器

***命名规则

源码包:

            VERSION

name-主版本号.副版本号.release.tar.gz

安装包:

name-Version-relase.arch.rpm

Version:主版本号.副版本号

relase.arch

表示在什么平台使用

el7红帽7

noarch

和平台无关

zziplib-utils(名字)

0.13(主版本)

62-5(副版本)

el7(红帽7)

x86_64(平台)

-----------------------------------------

拆包:

拆成主包和次包

一个包包含很多功能

不一定全部需要

一类是功能提供组件

一类是开发库组件

一般来说主包:name-Version-release.arch.rpm

次包:name-function-Version-release.arch.rpm

        function:

                devel

                utils

                libs

使用次包先要装主包

程序包管理器

编译安装

主要的思路就是先获取源码包,然后完善编译环境,然后预编译,然后编译,然后安装,然后配置环境变量

程序包获取

1下载

2自己编译

一定要坚持合法性

猜你喜欢

转载自blog.csdn.net/qq_41201816/article/details/81240186