一、RPM软件包管理
1)什么是RPM
RPM是 RedHat Package Manager(RedHat软件包管理工具)的缩写。
RPM 包管理系统:功能强大,安装、升级、査询和卸载非常简单方便,在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用。
RPM是以一种数据库记录的方式将所需要的软件安装到Linux主机的一套管理程序,最大的特点是将要安装的软件先编译并打包,通过包装好的软件中默认的数据库记录,记录这个软件在安装的时候需要的依赖属性模块,在用户的Linux主机安装时,RPM会先根据软件里的记录数据,查询Linux主机的依赖属性软件是否满足,若满足则予以安装,不满足则不安装。安装的时候将该软件的信息全部写入RPM的数据库中以便将来的查询、验证与卸载。
2)RPM的优点和缺点
1.优点
由于已经编译完成并且打包,所以安装很方便
由于套件信息已经记录在Linux主机的数据库中,方便查询、升级与卸载
2.缺点
安装环境必须与打包时的环境一致
需要满足软件的依赖属性需求
卸载时需要特别小心,最底层的软件不可以先删除,否则可能造成整个系统出问题
3)RPM的使用权限
RPM软件的安装、删除、更新只有root权限才能使用;对于查询功能任何用户都可以操作;如果普通用户拥有安装目录的权限,也可以进行安装。
4)RPM 基本用法
① RPM的软件包查询功能
RPM在查询的时候,查询的地方是在/var/lib/rpm目录下的数据库文件。
# 根据命令后面所带参数可以分为四种:
# 一、命令后不带参数
# rpm -qa :查询所有已经安装的软件名称
# 二、带安装的软件名称
# -q:查询后面接的软件是否安装,已安装有信息输出,否则没有
# rpm -qi :列出该软件的详细信息(information),包含开发商、版本与说明等
# rpm -ql :列出该软件所有的文件与目录(list)
# rpm -qc :列出该软件的所有配置文件
# rpm -qd :列出该软件的所有帮助文件(与man有关的文件)
# rpm -qR :列出与该软件有关的依赖软件所含的文件(Required)
# 三、带一个存在于系统的文件名称
# rpm -qf :找出该文件属于哪个已安装的软件
# 四、带一个 .rpm 文件
# rpm -qp[licdR] :-qp后面接的所有参数以上面的说明为准,目的在于找出某个rpm文件内的信息,而非已
安装的软件信息
② RPM的软件包的安装
# rpm -ivh package_name.rpm
参数:
-i:install的意思
-v:查看更详细的安装信息页面
-h:以安装信息列显示安装进度
③ RPM的软件包的卸载与重建数据库
# rpm -e firefox- 60.2.2- 1.el7.centos.x86_64 # 卸载firefox浏览器
# rpm –-rebuilddb # 重建数据库
了解:
–nodeps :忽略依赖关系,强制卸载
二、YUM
1)什么是yum
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。
基于rpm包管理,能够从指定的服务器(yum源)自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
2)yum 工具管理
核心:需要有一个存放软件包和软件包之间依赖关系的软件仓库。
1.需要有一个软件仓库
仓库可以在本地,称之为 本地yum源
仓库可以在云端,称之为 络yum源( 络必须OK)
2.需要告诉yum工具到哪个仓库去找
默认有一个地方,存放了*.repo文件,定义了去哪儿个仓库找
3)RHEL8 配置本地yum源
① 本地仓库的分类
BaseOS 储存库
BaseOS 储存 旨在提供一套核心的底层操作系统的功能,为基础软件安装库
AppStream 储存库
AppStream 储存库中包括额外的用户空间应用程序、运行时语言和数据库,以支持不同工作负载和用例。AppStream 中内容有两种格式——RPM格式 和 称之为模块的RPM格式拓展
② 配置本地仓库
步骤一:挂载镜像到本地系统
# mount -o ro /dev/sr0 /mnt
列出BaseOS 和 AppStream 的内容如下说明仓库已准备好
[root @hsforpyp~]# ls /mnt/BaseOS/
Packages repodata
[root @hsforpyp~]# ls /mnt/AppStream/
Packages repodata
步骤二:修改配置文件指定本地储存库
[root @hsforpypmnt]# vim /etc/yum.repos.d/local.repo
[root @hsforpypmnt]# cat /etc/yum.repos.d/local.repo
[BaseOS]
name=LOCAL BaseOS YUM
enabled= 1
baseurl=file: ///mnt/BaseOS/
gpgcheck= 0
[AppStream]
name=LOCAL APPSTREAM YUM
enabled= 1
baseurl=file: ///mnt/AppStream
gpgcheck= 0
参数说明:
[LocalRepo] # 存储库的名称
name # 存储库内容说明
baseurl # yum 源地址
enabled # 存储库是否生效
gpgcheck # 是否进行gpg校验,gpgcheck=0,那么gpgkey可以不写
步骤三:查看是否成功(如下红方框即为成功)
② YUM工具的使用
查询操作
# yum search 关键词
安装操作
# yum -y install 关键词
选项说明:
-y:yes缩写,选择自动确认,不提示。
卸载操作
# yum -y remove 关键词
选项说明:
-y:yes缩写,选择自动确认,不提示。
更新操作
# yum -y update 关键词
选项说明:
-y:yes缩写,选择自动确认,不提示。
三、DNF
1)什么是DNF
dnf是新一代的rpm软件包管理器。首次出现在 Fedora 18 这个发行版中。它取代了yum,正式成为 Fedora 22 的包管理器。
dnf包管理器克服了yum包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。dnf使用 RPM, libsolv 和 hawkey 库进行包管理操作。尽管它没有预装在 CentOS 和 RHEL 7 中,但你可以在使用yum的同时使用dnf 。
[root @hsforpypbin]# ll /usr/bin |grep dnf
lrwxrwxrwx. 1root root 5Feb 142019dnf -> dnf- 3
-rwxr-xr-x. 1root root 1954Feb 142019dnf- 3
lrwxrwxrwx. 1root root 5Feb 142019yum -> dnf- 3
当然dnf也不是完美的,例如:在dnf中没有 –skip-broken 命令,并且没有替代命令供选择。没有判断哪个包提供了指定依赖的 resolvedep 命令,没有用来列出某个软件依赖包的 deplist 命令等等。
2)DNF 常用参数
语法格式
# dnf [参数]
四、源码编译安装
(1)二进制包
什么是二进制包?有何特点?
1.已经 编译好的软件包,下载安装即可使用
2.根据计算机CPU以及操作系统 选择合适的
3.命名方式一般为: xlockmore-5.31-2.el6.x86_64.rpm
4.类似于Windows中的 .exe文件
(2)源码包
什么是源码包?有何特点?
1.源码包,指的是程序员写的原始的 程序代码文件,不能直接在计算机上运行
2.需要进行 编译,变成 二进制的软件包后,才可安装使用
3.一般可以在任何计算机上安装
4.命名方式一般为:
软件包名.tar.gz
软件包名.tar.bz2
软件包名.tar.xz
软件包名.zip
(3)二进制源码包(.src/.rpm)
什么是二进制源码包?有什么特点?
1.二进制源码包,是一个 半成品,安装后不能直接使用
2.二进制源码包,需要使用 rpmbuild工具重建成真正的 rpm包或者重建成源码包才可安装使用
3二进制源码包,命名方式一般为:
mysql-community-5.7.25-1.el6. src.rpm
mysql-community-5.7.25-1.el7. src.rpm
(4)常见的二进制包
(5)二进制包与源码包区别
(6)源码安装
① 获取软件的源码包
官 获取,一般都是 *.tar.gz
② 源码安装三板斧
配置 ./configure(软件安装路径,不配置使用默认路径)
编译 make(把软件的源码包做成类似rpm的可以直接安装的软件)
安装 make install(把编译好的程序安装到Linux系统中)
源码安装cmatrix代码雨
步骤一:对软件进行解压缩
# tar -zxf cmatrix- 1.2a.tar.gz
步骤二:进入cmatrix文件夹,对软件进行配置
# cd cmatrix- 1.2a/
# ./configure
步骤三:编译软件,使用 make命令
# make
常见错误:
cmatrix.c: 37: 20: fatal error:curses.h:No such file or directory
出现以上问题的原因在于系统没有找到ncurses-devel软件包
解决方案:
# yum install ncurses-devel -y
步骤四:安装软件 make install
# make install
测试代码雨:
# cmatrix
(7)源码安装常用配置
# cd 软件源码包
# ./configure [选项]
# ./configure –help
–prefix=… Directories to put files in /usr/local 软件家目录
–bindir=… $prefix/bin 命令的目录
–etcdir=… $prefix/etc 配置文件的目录 httpd => /etc/httpd/httpd.conf
–mandir=… $prefix/share/man man 文档路径
–locale=… $prefix/share/locale 语言编码
…
END
官方站点:www.linuxprobe.com
Linux命令大全:www.linuxcool.com
(新群,火热加群中……)
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!