linux系统管理学习笔记8-管理软件包

linux系统管理学习笔记8-管理软件包

用RPM管理软件

本讲学习如何在Linux之中管理系统中的软件。

编译源代码安装软件需要编程基础

因为不同的Linux发行版本往往有很大的不同,开发者在某个发行版本中开发和编译的程序,直接放到另外一个领域,有非常大的可能性无法运行,因此早期的历史软件都是通过源代码来分发的,使用者基本都是通过在自己的平台上重新编译源代码来安装软件,这种编译源代码的方式比较繁琐和复杂,要求用户有一定的编程基础,往往难以掌握。

软件包管理器RPM使用指令

为了解决这个问题,红帽公司开发了一个包管理器,名为red hat package manager, RPM,是Linux下软件资源最为丰富的软件包类型,是使用最为广泛的软件包管理器。
简单来说,RPM将软件编译好的二进制文件,所依赖的动态库文件以及配置文件打包压缩到一个文件中,这个文件就被称为RPM软件包。用户在用这个RPM软件包安装软件的时候,RPM就将包里的文件解压到目标操作系统上,安装过程中还可以动态生成一些文件,一并安装到系统中。RPM,对普通用户而言,使得软件管理变得十分容易,只需要十分简单的命令,就能完成RPM的安装卸载和升级。
每个RPM软件包文件的名字都包含了一些重要的信息,通常第一部分是软件包的名字,第二部分是软件包的版本号,第三部分是软件包是用的硬件规格。第三部分决定了您下载的软件包是否能够安装到您的机器上,

  • x86-64,表示该软件包必须安装在拥有64位CPU的计算机上,

  • i386,i586或者i686,表示必须安装在拥有32位CPU的计算机上。

  • no arch ,表示软件适用所有架构的计算机。

以OPERA浏览器的安装为例,介绍RPM安装软件的使用方法。

# 查询是否安装
rpm -q opera 
# 安装软件
rpm -ivh opera-11.11-1.mgal.x86_64.rpm
# 卸载软件
rpm -e opera
  1. 首先我们要获取它的RPM安装包,可以在OPERA的官方网站上下载,或者到RPM网站上下载,这里选择到RPM的网站上下载,在搜索框里搜索opera。

  2. 查询主机上是否已经安装了opera,查询命令为rpm -q opera, 若已经安装的话,需要先卸载才能重新安装。

  3. 接着为安装过程,命令为rpm -ivh opera-11.11-1.mgal.x86_64.rpm , i选项一般和v h 选项联用,v选项是显示安装详细信息,h选项是显示#w为安装进度条。

  4. 安装完成后可以用rpm 再次查询已经安装opera, rpm -q opera。也可以在Applications中的Internet中看到有opera浏览器的应用。

  5. 如果要卸载opera, 命令为rpm -e software name ,即卸载用rpm 的-e选项。我实践时在centos7.7中rpm不需要输入软件全名,可以直接使用rpm -e opera 进行卸载opera软件。不过在老师课程中使用的centos6系统中,rpm卸载软件时,后需跟软件包含版本及系统架构的全名称。

rpm管理软件的缺点是解决不了软件包依赖的问题

例如当安装某个软件时,可以会提示出错,failed dependencies。就是用户需要安装软件包A,但是可能需要先自己安装依赖的多个安装包。这就使得安装过程非常麻烦。yum 软件包就为了解决这个问题而诞生了。

用yum 管理软件

yum, yellow dog updator modifier,黄狗更新管理器

自动解决rpm包之间的依赖关系,不需要用户手动解决安装包依赖问题。

注意yum 可以视为rpm 的一个前台工具,并不是一个独立的软件包管理器。

yum 的工作原理并不复杂,因为每一个rpm软件包都有一个包头header,header中有该软件的依赖关系,分析header就可以知道每个软件包的依赖软件。yum 服务器的分析工具,首先分析软件包A的header,将软件包A所有依赖关系记录成一个文件,并将其依赖的所有软件包也都囊括到yum服务器中备用。所以yum的基本工作流程就是,yum服务器端放着软件源,软件源中有软件仓库,仓库里包含三种工具,一是该软件仓库中所有RPM软件包的目录索引,二是每个RPM软件包的依赖性关系数据,三是该软件仓库中所有RPM软件包。当用户用yum安装某个软件包时,通过yum客户端首先查询某一个yum服务器上有无该软件,如果有则下载该服务器上记录的该软件包的依赖关系数据,并且根据该依赖性关系数据,一次性地从yum服务器端的软件仓库中将依赖的所有软件下载到yum 客户端上。

yum安装前清理缓存

在使用yum之前,建议先执行两个步骤:

  1. yum clean all , 清除yum原有软件包缓存数据
  2. yum makecache , 将当前服务器上的软件包相关信息存到本地以提高搜索软件的速度。

yum安装软件包

接下来介绍yum安装软件包的指令 install,以linux中C++的编译器软件为例,软件名称为"gcc-c++",

yum install gcc-c++ ,若提示需要安装或更新部分依赖软件包,就输入y。OK之后即完成安装。Centos7.7中,发现gcc-c++软件包已经在安装系统之后安装好了。

yum查询软件包是否安装

yum 查询软件包,查询指令为list,list指令后跟软件包名来查询该软件包是否已经安装。

yum list gcc-c++ , yum输出提示gcc-c++是已安装的软件包

yum list bind ,yum输出提示bind是可安装的软件包,意思是bind软件包未安装。

yum list aaa , yum 查询的软件包不在软件源中,会提示没有匹配的软件包可以列出。

list指令支持通配符,如yum list gcc* ,表示列出yum源中所有名字以gcc打头的软件包。

list指令还可以跟两个特殊的参数,

  1. yum list installed ,将列出主机上所有已安装好的软件包。可以结合管道操作查看,yum list installed|less
  2. yum list available ,将列出当前软件源中,所有可安装的软件包。yum list available|less

yum查看软件包

yum 查看软件包,指令是info,info命令后跟软件包名,来查看软件包的具体信息,包括软件包的大小,软件包的版本号,软件包的简短描述,软件包是否已经安装。

yum info gcc-c++

yum更新软件包

yum更新软件包,指令是update,指令后跟软件包名,

yum update python

yum卸载软件包

yum卸载软件包,指令是remove, 指令后跟软件包名。yum remove gcc, 会提示需要确认卸载依赖于该软件包的其他软件。

为yum配置软件源

centos中,yum使用的默认软件源,是centos提供的官方源,不包括任何有版权争议的软件包,并且软件包更新不太及时。

如"eclipse", linux中经典的媒体播放器 "mplayer"均不在centos官方源中。

推荐的6个第三方源

因此需要配置yum 的第三方软件源,推荐如下6个第三方软件源

  • EPEL源(在我听课后实践时,发现EPEL已经纳入yum的官方源中)
  • Remi源
  • aTrpms源
  • RPMFusion源
  • RepoForge源
  • ELRepo源

配置RepoForge源并设置源优先级

以RepoForge源为例,在主机上配置yum的第三方源,并安装mplayer播放器。

  1. 打开RepoForge源的官方网站,下载RepoForge源的对应所使用主机系统64位和主机EL版本的的rpm安装包(cat /etc/redhat-release 查看主机所使用的EL release版本号), 复制下载文件的链接地址,wget 下载链接至当前目录下。
  2. 安装 rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
  3. 进入/etc 目录下的yum配置目录yum.repos.d 下, cd /etc/yum.repos.d/, ls -l
  4. 找到其中名为repoforge.repo的文件,即为repoforge的配置文件,但是目前repoforge还不能正常使用。原因是现在yum中除了默认源外,还有了一个第三方源。也就是yum中有了多个软件源,所以需要对软件源进行优先级的排序,这里让官方默认的软件源优先级最高,让repoforge源次之,首先安装一个对yum源进行优先级排序的软件,叫做"yum-plugin-priorities",即yum install yum-plugin-priorities ,安装完毕之后即可以进行优先级的配置。
  5. 先打开yum的官方源配置文件, vim /etc/yum.repos.d/CentOS-Base.repo , 在三个软件仓库(即文档中的[base] , [updates] , [extras])配置的末尾,分别加上一句 "priority=1",表示其优先级最高。然后保存退出。
  6. 再打开repoforge的配置文件,vim /etc/yum.repos.d/rpmforge.repo ,在其所有软件仓库配置的末尾分别加上一句"priority=10",表示其优先级次于官方源。保存退出。就完成了软件源的优先级排序。
  7. 接着就可以yum安装mplayer软件了,一共需要安装两个软件包,分别是软件主体和软件的图形界面,yum install mplayer mplayer-gui,然后即进入安装,等待完成。
  8. 命令行输入gmplayer即打开播放器,可以用以播放视频或音频文件。

原文链接: https://www.cnblogs.com/songbiao/p/12579966.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    linux系统管理学习笔记8-管理软件包

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/376941

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月3日 下午1:18
下一篇 2023年3月3日 下午1:18

相关推荐