【Linux学习】软件包管理

RPM软件包

什么是RPM软件包

RPM(Red Hat软件包管理器)是一种开放的软件包管理器,可运行于各种Linux系统上,对于用户来说,RPM简化了Linux系统的安装、卸载、更新和升级的操作。对于开发者来说RPM允许把原件编码包装成源码包和程序包,然后提供给用户。

RPM数据库

Linux系统会保留当前安装软件包的数据库,该数据库位于/var/lib/rpm中,该目录中大部分是二进制形式的散列数据库文件

RPM命令说明

语法格式:rpm [选项] [rpm软件包文件名称]

-i:安装软件包
-v:输出详细信息
--test:对安装包进行测试,并不实际安装
--nodeps:不验证软件包的依赖关系
--force:忽略软件包和文件的冲突
--percent:以百分比的形式输出安装进度
--justdb:更新数据库,但不修改文件系统
-e:删除软件包
-U:升级软件包
-q:查询软件包
--initdb:初始化RPM数据库
--rebuilddb:从安装数据包头重建RPM数据库

例:

#rpm -q openssh #查询软件包
>openssh-7.4p1-11.el7.x86_64
#rpm -e openssh #删除软件包
#rpm -qa #查询所有已经安装的软件包
#rpm -qa | grep ssh
#rpm -ql crontab #查询指定已安装的软件包包含的文件列表
#rpm -qR crontabs #查询软件包的依赖关系

YUM管理软件包

使用RPM命令安装软件包特别麻烦,原因在于需要手动寻找该软件包所需要的一切依赖关系,当软件包卸载时,由于卸载了某个依赖关系而导致其他的软件包不能用。而yum则使变得简单了,会自动化检查收集相关依赖。YUM关键是要有可靠的软件仓库。

/etc/yum.conf文件

是yum的主配置文件

cachedir:使用yum下载RPM软件包的缓存目录
keepcache:缓存是否需要保存,1表示保存
debugevel:调试级别,默认为2
logfile:yum日志文件
exactarch:是否只升级和安装包的CPU体系一致的包
obsoletes:是否允许更新陈旧的RPM软件包

repo文件

是Linux系统中yum源的配置文件,通常一个repo文件定义了一个或多个软件仓库的细节内容。

[rhel-source]:定义软件源的名称,会被YUM识别
name:软件仓库名称,$releasever变量定义了发行版本,$basearch变量定义了系统的架构
baseurl:RPM软件包来源,支持HTTP、FTP、file协议
enabled=1:表示软件仓库定义的源是否启用,1表示启用
gpgcheck=1:表示这个软件仓库中下载的RPM软件包进行GPG校检,以确定该软件包是否被篡改或损坏
gpgkey:定义用于校检的GPG密钥

YUM常用命令

-y:所有问题都yes
-q:安静模式操作
-v:显示详细信息
-c <配置文件>:指定配置文件路径
-x <软件包>:排除指定软件包
--installroot=<路径>:设置安装根目录路径
install <软件包名>:安装指定的软件包
reinstall <软件包名>:重新安装软件包
search <软件包名>:搜索软件包
list:列出目前yum所管理的所有软件包名称和版本
list installed:列出所有已安装的软件包
list updates:列出所有可更新的软件包
info:列出目前yum所管理的所有软件包名称、版本和详细信息
info <软件包名>:列出指定软件包的详细信息
update:全部更新
update <软件包名>:更新指定软件包
check-update:检查可更新的软件包
remove <软件包名>:删除指定软件包
clean packages:清除缓存目录下的软件包
clean:清除缓存

源码包软件

源码包是指源代码可见的软件包,是基于Linux系统最常见的软件。大部分源码包软件都是通过./configure、make及make install这三个命令来安装。有些软件是直接通过make和make install命令来安装。

编译安装软件

首先需要在Linux系统中安装相关的开发工具,比如gcc、gcc-c++、make、automake、c++、perl、python、gtk等开发工具或基础包。除此之外还要安装一些相应的开发包,一般文件名包括devel的,还有一些开发库,如以lib开头的。如果在编译软件时提示缺少文件,主要原因就是缺少这些开发工具和开发库,只需要找到这些软件包并安装即可。
yum install -y gcc gcc-c++ make automake perl python glibc gtk

解压缩软件

tar zxvf 源码包.tar.gz #进入解压缩生成的目录,一般会有README文件和INSTALL目录、DOC目录。

检测安装环境

configure程序有很多选项,通过configure命令检测安装环境,最终建立makefile文件,如果configure不成功,而去make的话,就会出现"make:***"没有指定目标且找不到makefike的信息。
可以使用configure --prefix=/usr/local/pcre指定软件安装的目录。

configure它是个shell脚本,主要用于编译安装源代码库和软件。 ./configure是源代码安装的第一步,主要的作用是对即将安装的软件进行配置,比如加上 –with、–enable、–without、–disable 等等参数对编译加以控制,检查当前的环境是否满足要安装软件的依赖关系,比如它会检测你是不是有CC或GCC,并不是需要CC或GCC。生成makefile文件,以便你可以用make和make install来编译和安装程序,最后运行make clean删除一些临时文件。

编译软件

当./configure成功结束后,就可以使用make命令正式编译软件了。

安装软件

软件编译成功后需要使用make install命令安装软件

猜你喜欢

转载自blog.csdn.net/a15803617402/article/details/84946553