ai脚本工具安装包 【Linux学习笔记(二十二)】之二进制包安装与源码包安装详解

默认分类1年前 (2023)发布 admin
45 0
ChatGPT国内版

2.2.15: 软件版本

15: 软件发布的次数

el6,: 支持,

i686: 适合的硬件平台。RPM可以在不同的硬件平台上安装,最大化地发挥CPUt性能。如(64位CPU),(没有硬件限制)

rpm: 扩展名

3. RPM包手动安装

手动安装非常地麻烦,需要自己找依赖的包与库函数,艹。

rpm -ivh 包全名

-i: 安装

-v: 显示更详细的信息()

-h: 打印#显示安装进度(hash)

包全名后面还可以接设置参数,如下所示:

–: 不检测依赖性安装,这样安装的软件基本上无法使用,不建议;

–force: 直接强制安装,当该服务的某些文件找不到时,此命令可以重新安装找回;

–test: 测试安装,不会实际安装,仅仅检测依赖性;

4. RPM包默认安装位置

/etc/ 配置文件安装目录

/usr/bin: 可执行的命令安装目录

/usr/lib: 程序使用的函数库保存位置

/usr/share/doc: 软件使用手册位置

/usr/share/man/ 帮助文件位置

RPM包建议安装在默认路径中,因为系统中的其他服务会根据默认的路径查找安装的服务,且RPM包管理系统是由卸载命令的,可以根据数据库记录的安装位置来卸载。而源码包安装时必须指定安装路径,因为当要卸载源码包安装的目录时直接删除即可,如果不指定安装目录,服务会安装在系统的各个位置,没有卸载命令,需要一个个地手动删除,非常麻烦。

5. 服务启动命令

service 服务名 start|stop|restart|status

systemctl restart 服务名

(三) RPM包升级

rpm -Uvh 包全名

-U:升级安装,如果没有安装过,则直接安装;如果安装的版本太旧,则升级;

-F:升级安装,必须有旧版本,才能够升级;没有旧版本,则不会安装;

(四) RPM包卸载

rpm -e 包名

— 不检查依赖性

-e 卸载

注意,RPM包在卸载时也是有依赖性的,安装时是从下往上依赖,卸载时就是从上往下依赖了。卸载某个包,那么其上的那些包都会被卸载掉。

(五) RPM包查询 1. 查询软件包是否安装

rpm -q 包名

-q: query

2. 查询系统中所有已安装软件包

rpm -qa

-a: all

3. 查询软件包的详细信息

rpm -qi 包名

-i:

还可以查询未安装的软件包:

rpm -qip 包全名

4. 查询软件包的文件列表

rpm -ql 包名

-l: 查询该软件包中所有文件列表和软件所安装的目录:

5. 查询系统文件属于哪个RPM包

只要系统文件才能查询,手工创建的文件不是通过RPM包安装的,无法查询。

ai脚本工具安装包 【Linux学习笔记(二十二)】之二进制包安装与源码包安装详解

rpm -qf 系统文件名

-f: file

6. 查询软件包所依赖的软件包

rpm -qR 包名

-R :

(六) 验证

验证RPM包中的文件是否被修改了。

1. 命令

rpm -Va

-Va: 校验本机已经安装的所有软件包

rpm -V 已安装的包名

-V: 校验指定RPM包中文件

rpm -Vf 系统文件名

-Vf: 校验某个系统文件是否被修改

2. 提示信息

当校验某个文件或包时会出现提示信息,通过这些信息告诉我们校验结果。

最前面的8个信息:

S: 文件大小已改变

M: 文件类型或权限已改变

5: 文件MD5校验已改变,即内容

D: 设备的主从代码已改变

L: 文件路径已改变

U: 文件所有者已改变

G: 文件所属组已改变

T: 文件修改时间已改变

文件名前面是文件的类型:

c: 配置文件

d: 普通文档

g: 鬼文件ghost,不应存在在这个RPM包下的文件

l: 授权文件

r: 描述文件 read me

(七) 数字证书

检验方法根据原有的RPM文件校验,如果原有的RPM文件已经被修改了,仅仅校验是没用的,需要数字证书来校验。数字证书即原厂的检验信息,首先我们安装数字证书,在安装RPM包时,会提取RPM包中的证书信息,和本机已安装的原厂证书进行校验,如果通过则允许安装,否则不允许安装。

数字证书位置,默认在系统中:

/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

安装数字证书:

rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

查询系统中安装好的数字证书:

rpm -qa | grep gpg-pubkey

(八) RPM包中文件的提取

当我们修改了某个包中的文件后,如果想要恢复该文件的原始内容,仅仅重新安装该RPM包是做不到的,重新安装仅仅适用于误删除文件的情况,可以恢复该文件。这里,我们需要使用到命令来提取RPM包中的文件,然后覆盖修改的文件即可。

rpm2cpio 包全名 | cpio -idv . 文件绝对路径

: 将RPM包转换为CPIO格式的命令

cpio: 是一个标准工具,用于创建档案文件和从档案文件中提取文件

注意,最后的文件绝对路径是指要提取的文件所在的路径,可以看到必须放到当前目录下,这是因为提取出的文件不能直接覆盖掉系统中的文件,我们需要对比后手动覆盖或者修改。如下所示:

rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-18.el6.i686.rpm | cpio -idv ./bin/ls

(九) RPM包在线安装

yum是从yum源地址的服务器中获取RPM包,首先需要配置yum源的文件。

1. yum源的文件解析

yum源配置文件保存在/etc/yum.repos.d/目录中,文件的扩展名是”.repo”,只要扩展名是.repo的配置文件都会生效

ai脚本工具安装包 【Linux学习笔记(二十二)】之二进制包安装与源码包安装详解

该目录下共有5个yum源配置文件,默认情况下-Base.repo文件是生效的,这是联网的yum源,进入这个文件,可以看到有5个yum源容器,每个容器有不同的参数如下所示:

[base]: 容器的名称,放在[]中

name: 容器的说明

: 镜像站点,可注释

: yum源服务器的地址,默认是官方的yum源服务器,可换成国内的源

: 1表示该容器生效,0表示该容器不生效

: 1表示RPM的数字证书生效,0表示不生效

: 数字证书的公钥文件保存位置

2. 搭建本地光盘yum源

(1) 放入光盘,挂载光盘到指定位置

mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom

(2) 修改其他的yum源配置文件的扩展名,让它们失效,添加.bak后缀即可,对于这种重要的系统文件,不需要时修改后缀名是最好的解决方法。

cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak

(3) 修改光盘yum源配置文件-Media.repo

修改为光盘挂载的地址:

baseurl=file:///mnt/cdrom

注意,这里的地址有三条斜杠,因为前面两条表示文件协议file,后面一条表示根目录。

注释掉其他的地址,修改为1,使这个yum源配置文件生效。

修改完配置文件后,就可以直接使用yum了。

3. yum命令 (1) 查询

查询yum源服务器上所有可安装的软件包列表

yum list

输出的每个RPM包的包名,版本号,以及所在的源容器。

查询yum源服务器中是否包含某个软件包,之前我们讲过在RPM的手动安装中,若这个RPM包未安装,则需要使用包全名,如果已安装,则使用包名。但是这种规则仅仅限于RPM的手动安装中,在yum命令中就直接使用包名即可:

yum list 包名

搜索yum源服务器上所有和关键字有关的软件包,这个命令可以确定某个软件在哪个相关的包中:

yum search 关键字

查询指定软件包的信息:

yum info 包名

(2) 安装

yum -y install 包名

-y: 自动回答yes,否则要手动输入

(3) 升级

yum -y update 包名

yum -y update 

这条命令会升级本机中的所有软件包

(4) 卸载

yum的卸载命令会将依赖的包也卸载掉,可能会有风险,因此需要仔细检查依赖性后再删除。

yum remove 包名

4. yum组管理命令

yum组将属于一个类型的RPM包组合到一起,方便我们直接下载。

(1) 查询可以安装的软件组

yum grouplist

(2) 查询软件组内包含的软件

yum groupinfo 软件组名

(3) 安装软件组

yum groupinstall 软件组名

(4) 卸载软件组

yum groupremove 软件组名

二. 源码包安装 (一) RPM包安装与源码包安装区别

RPM包安装不建议自己指定安装位置,建议安装在默认的位置,因为RPM包有标准的卸载命令,即使各个文件安装在系统的不同位置,也能够卸载干净:

© 版权声明
广告也精彩

相关文章

暂无评论

暂无评论...