源码包通过编译才能执行,在Linux中编译C语言源代码需要使用gcc编译器,但是默认安装的时候是没有安装gcc的,所以需要先安装gcc编译器。
[root@localhost~]# rpm -ivh /mnt/cdrom/packages/gcc-4.4.6-4.el7.i686.rpm
源码包的特点、
源码包是软件包,不是一个文件,而是多个文件的集合。出于发行需要,一般会把源码包打包压缩之后发布,而Linux中最常用的打包压缩格式为“.tar.gz”,所以把源码包叫做Tarball。源码包需要自己去软件的官方网站进行下载。
源码包的压缩包中一般会包含以下内容:
- 源代码文件
- 配置和检测程序(configure或config)
- 软件安装说明和软件说明(install或readme)
rpm包的命名规则
例如:
httpd-2.4.6-80-el7.centos.x86_64.rpm
- httpd:软件命名
- 2.4.6:软件版本
- 80:软件发布的次数
- el7.centos:软件发行商
- x86_64:适合的硬件平台
-rpm:RPM包的扩展名
rpm包的安装与升级
rpm包默认安装路径
rpm包默认安装路径是可以通过命令查询的,一般安装在下面的目录:
- /etc:配置文件安装目录
- /usr/bin:可执行的命令安装目录
- /usr/lib:程序所使用的的函数库保存位置
- /usr/share/ldoc:基本的软件使用手册保存为止
- /usr/share/man:帮助文档保存位置
RPM包的安装
[root@localhost~]# rpm -ivh 包全名
选项:
--nodes:不检测依赖性安装。
--replacefiles:替换文件安装。
--replacepkgs:替换软件安装。
--force:强制安装。
--test:测试安装。
--prefix:指定安装路径。
服务安装成功后,尝试启动,命令如下:
[root@localhost~]# systemctl start|stop|restart|statstatus 服务名
参数:
start:启动服务
stop:停止服务
restart:重启服务
status:查看服务状态
RPM包的升级
[root@localhost~]# rpm -Uvh 包全名
选项:
-U:升级安装
[root@localhost~]# rpm -Fvh 包全名
选项:
-F:升级安装
RPM包查询
查询命令的格式
[root@localhost~]# rpm 选项 查询对象
查询软件包是否安装
[root@localhost~]# rpm -q 包名
选项:
-q:查询(query)
查看系统中的所有安装软件包
[root@localhost~]# rpm -qa
使用“rpm -qa 包名”只能查看这个包是否安装,使用“rpm -qa | grep 包名”会把包含包名称的所有包都列出来。
[root@localhost~]# rpm -qa |grep 包名
查询软件包的详细信息
#查看包名、版本、发行版本、安装时间、软件包大小。
[root@localhost~]# rpm -qi 包名
选项:
-i:查看软件信息(information)
查看包名、版本、发行版本、安装时间、软件包大小。
#查询没有安装的软件包的详细信息
[root@localhost~]# rpm -qip 包名
选项:
-p:查询没有安装的软件包
查询软件包中的文件列表
#查询已经安装的软件包中的文件列表和安装的完整目录
[root@localhost~]# rpm -ql 包名
选项:
-l:列出软件包中所有的文件列表和软件所安装的目录(list)
#查询还没有安装的bind软件包中的文件列表和打算安装的位置
[root@localhost~]# rpm -qlp 包全名
选项:
-p:查询没有安装的软件包信息(package)
查询系统文件属于哪个RPM包
[root@localhost~]# rpm -qf 系统文件名
选项:
-f:查询系统文件属于哪个软件包(file)
查询软件包所依赖的软件包
[root@localhost~]# rpm -qR 包名
选项:
-R:查询软件包的依赖性(requires)
RPM包卸载
[root@localhost~]# rpm -e 包名
选项:
-e:卸载(erase)
--nodes:不检测依赖性
RPM包校验与数字证书
RPM包校验
[root@localhost~]# rpm -Va
选项:
-Va:校验本机已经安装的所有软件包
[root@localhost~]# rpm -V 已安装的包名
选项:
-V:校验指定RPM包中的文件(verify)
[root@localhost~]# rpm -Vf 系统文件名
选项:
-Vf:校验某个系统文件是否被修改
数字证书
刚刚的校验方法只能对已经安装的RPM包中的文件进行校验,但如果RPM包本身就被动过手脚,那么RPM包校验就不能解决问题了,必须使用数字证书验证。
数字证书有如下特点:
- 首先必须找到原厂的公钥文件,然后才能进行安装。
- 再安装RPM包,回去提取RPM包中的证书信息,然后和本机安装的原厂证书进行验证。
- 如果验证通过,则允许安装;如果验证不通过,则不允许安装并发出警告。
网友评论