#Linux学习#软件包管理
软件包管理简介
二进制包
二进制包包括:RPM包,系统默认包。
二进制包优点:
包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载。
安装速度比源码包安装快的多。
二进制包缺点:
经过编译,不再可以看到源代码。
功能选择不如源码包灵活。
依赖性问题。
源码包
源码包的优点:
开源,如果有足够的能力,可以修改源代码。
可以自由选择所需的功能。
软件时编译安装,所以更加适合自己的系统,更加稳定也效率更高。
卸载方便。
源码包缺点:
安装步骤较多,尤其安装较大的软件集合时,容易出现拼写错误。
编译过程时间较长,安装比二进制安装时间长。
因为是编译安装,安装过程中一旦报错新手很难解决。
RPM命令管理
RPM包依赖性
树形依赖:a –> b –> c
环形依赖:a –> b –> c –>a
模块依赖:模块依赖查询网站(www.rpmfind.net)
包全名与包名
包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径。使用包全名的操作包括:安装、更新。
包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm/中的数据库。使用包名的操作包括:删除、查询。
RPM安装:
rpm -rvh 包全名
-i:install,安装
-v:verbose,显示详细信息
-h:hash,显示进度
--nodeps:不检测依赖性
RPM升级:
rpm -Uvh 包全名
-U:upgrade,升级
卸载:
rpm -e 包名
-e:erase,卸载
--nodeps:不检查依赖性
查询相关信息:
rpm -qaiplR 包名
-q:query,查询
-a:all,所有
-i:information,查询软件信息
-p:package,查询未安装包信息
-l:list,列表
-R:requires,查询软件包的依赖性
rpm -qf 系统文件名
-f:file,查询系统文件属于哪个软件包
校验和文件提取
RPM包校验:
rpm -V 已安装的包名
-V:verify,校验指定RPM包中的文件
验证内容中的8个信息的具体内容如下:
S:文件大小是否改变
M:文件的类型或文件的权限(rwx)是否被改变
5:文件的MD5校验和是否改变(可以看成文件内容是否改变)
D:设备的主/从代码是否改变
L:文件路径是否改变
U:文件的属主(所有者)是否改变
G:文件的属组是否改变
T:文件的修改时间是否改变
文件类型:
c:config file,配置文件
d:documentation,普通文件
g:ghost file,“鬼文件”,很少见,就是该文件不应该被这个RPM包包含
l:license file,授权文件
r:read me,描述文件
RPM包中文件提取:
rpm2cipo 包全名 | cpio -idv .文件绝对路径
rpm2cipo:将rpm包转换为cpio格式的命令
cpio:是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件
常用yum命令
常用操作
查询:
yum list
查询所有可用软件包列表
yum search 关键字
搜索服务器上所有和关键字相关的包
安装:
yum -y install 包名
install:安装
-y:自动回答yes
升级:
yum -y update 包名
update:升级
-y:自动回答yes
卸载:
yum -y remove 包名
remove:卸载
-y:自动回答yes
yum软件组管理命令
yum grouplist
列出所有可用的软件组列表
yum groupinstall 软件组名
安装指定软件组,组名可以由grouplist查询出来
yum groupremove 软件组名
卸载指定软件组
源码包管理
源码包安装
RPM包安装在默认位置:
/etc/
配置文件安装目录
/usr/bin/
可执行的命令安装目录
/usr/bin/
程序所使用的函数库保存位置
/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/apachect1 start。
安装前先安装C语言编译器,下载源码包,解压缩下载的源码包,进入解压缩目录……
源码包的卸载不需要卸载命令,直接删除安装目录即可。不会遗留任何垃圾文件。
脚本安装包
脚本安装包并不是独立的软件包类型,常见安装的是源码包。是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装。非常类似于Windows下软件的安装方式。
以上是 #Linux学习#软件包管理 的全部内容, 来源链接: utcz.com/z/516442.html