CentOS软件包管理

软件包管理简介

软件包分类:源码包;脚本安装包;二进制包(RPM包、系统默认包)
源码包优点:开源,可以修改源代码;可以自由选择所需的功能;软件是编译安装,所以更加适合自己的系统,稳定性更好,效率更高;卸载方便。
源码包缺点:安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误;编译过程时间较长,比二进制安装时间长;安装过程报错新手很难解决。

二进制包(RPM包)的优点:包管理系统简单,只通过几个命令就可以实现包的安装,升级,查询和卸载;安装速度比源码包快;
RPM包缺点:经过编译,不再可以看到源代码;功能选择不如源代码灵活;具有依赖性

RPM包管理—rpm命令管理

kernel-tools-3.10.0-327.el7.x86_64
kernel-tools 软件包名
3.10.0 软件版本
327 软件发布的次数
el7 适合的linux平台
x86_64 适合的硬件平台

模块依赖查询网站:www.rpmfind.net
包全名:操作的包是没有安装的软件包时,使用包全明,而且要注意路径
包名:操作已经安装的软件包时,使用包名,是搜索/var/lib/rpm中数据库

rpm安装:rpm -ivh 包全名 -i(install)安装,-v(verbose)显示详细信息,-h(hash)显示进度 --nodeps不检测依赖性。
rpm包升级:rpm -Uvh 包全名 -U(upgrade)升级
rpm 包卸载:rpm -e 包名 -e(erase)卸载 --nodeps不检测依赖性
rpm -qa 查询所有已经安装的RPM包 -a(all) -q(query查询)
rpm -q 包名 查询指定的包是否存在。
选项:-i 查询软件详细信息 -p查询未安装包信息 -l 列表 -f 查询系统文件属于哪个软件包 -R查询软件包的依赖性 -V校验指定RPM包中的文件(verify)
rpm -ql 包名
rpm -qf 系统文件名
[root@localhost etc]# rpm -qf yum.conf
yum-3.4.3-132.el7.centos.0.1.noarch

验证内容中的8个信息的具体内容如下:
S 文件大小是否改变
M 文件的类型或文件的权限是否被改变
5 文件MD5校验和是否改变(可以看成文件内容是否改变)
D 设备的中,从代码是否改变
L 文件路径是否改变
U 文件的属主是否改变
G 文件的属组是否改变
T 文件的修改时间是否改变

文件类型
c 配置文件(config file)
d 普通文件(documentation)
g “鬼文件”(ghost file),很少见,就是该文件不应该被这个RPM包包含
l 授权文件(license file)
r 描述文件(read me)

从RPM包中提取文件
rpm2cpio 包全名 | cpio -idv 文件绝对路径
rpm2cpio 将rpm包转换为cpio格式的命令
cpio 是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件。
cpio [options] <[文件|设备]
-i: copy-in模式,还原
-d: 还原时自动新建目录
-v:显示还原过程

RPM包管理—yum命令管理

vi /etc/yum.repos.d/lCentOS-Base.repo
[base] 容器名称,一定要放在[]中
name 容器说明,可以自己随便写
mirrorlist 镜像站点,这个可以注释掉
baseurl 我们的yum源服务器的地址,默认是CentOS官方的yum源服务器,是可以使用的,但是有的慢,可以改成国内的阿里…
enabled 此容器是否生效,如果不写或写成enabled=1都是生效,写成enabled=0则不生效
gpgcheck 如果是1是指RPM的数字证书生效,如果是0则不生效
gpgkey 数字证书的公钥文件保存位置。不用修改。

常用yum命令
1) 查询:
yum list 查询所有可用软件包列表
yum search 关键字 搜索服务器上所有和关键字相关的包。
2) 安装:
yum install 包名 -y install安装 -y自动回答yes
3)升级:
yum update 包名 -y update升级 记得写包名,否则将升级整个系统
4)卸载:
yum remove 包名 -y remove 卸载

yum软件组管理命令
yum grouplist 列出所有可用的软件组列表
yum groupinstall 软件组名 安装指定软件组,组名可以由grouplist查询出来
yum groupremove 软件组名 卸载指定软件组

源码包管理

RPM包默认安装路径
/etc/ ---------------------------配置文件安装目录
/usr/bin/ -------------------可执行的命令安装目录
/usr/lib/ -------------------程序所使用的函数库保存位置
/usr/share/doc/------------------ 基本的软件使用手册保存位置
/usr/share/man/ -------------帮助文件保存位置
源码包安装位置:---------------一般是/usr/local/软件名/

安装位置不同带来的影响:
RPM包安装的服务可以使用系统服务管理命令(service)来管理,列如RPM包安装的apache的启动方法是:/etc/rc.d/init.d/httpd start service httpd start
源码包安装的服务则不能被系统服务管理命令管理,因为没有安装到默认路径中,所以只能用绝对路径进行服务的管理,如:/usr/local/apache2/bin/apachectl start
源码包保存位置:/usr/local/src/
软件安装位置:/usr/local
如何确定安装过程报错:
安装过程停止并出现error,warning或No的提示

源码包安装过程:
下载源码包
解压缩源码包
进入解压缩目录

./configure软件配置与检查:
定义需要的功能选项;检查系统环境是否符合安装要求;把定义好的功能选项和检查系统环境的信息都写入Makefile文件,用于后续的编辑。

./configure - -prefix=PREFIX ---------------指定安装目录
make --------------------------------------------- 编译
make clean -------------------------------------(如果编译报错,则执行这一步清除编译缓存,重新编译)
make install ---------------------------------- 编译安装
PREFIX/bin/apachectl start

./configure --prefix=/usr/local/apache2

源码包的卸载:
rm -rf /usr/local/apache2/
不需要卸载命令,直接删除安装目录即可,不会遗留任何垃圾文件

猜你喜欢

转载自blog.csdn.net/qq_44788449/article/details/107127116