#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

回到顶部