第八章 软件管理

第八章 软件管理

8.1 系统光盘挂载(续)

关于光盘的挂载,之前我们已经讲过了,这里再深入介绍一点。之前我们挂载光驱使用的命令是: mount /dev/cdrom /media,我们使用ll /dev/cdrom 可以查看到,其实/dev/cdrom是一个软链接,它指向了同目录下的sr0,即/dev/s0,所以,真正的光驱设备文件是/dev/sr0。因此,我们也可以使用 mount /dev/sr0 /media实现光盘挂载。

另外,/media 是Linux系统安装后自带的媒体类设备挂载点。其实光驱设备并非必须要挂载到/media下,完全可以自己创建挂载点使用。在更老一些的Linux版本中,/media目录是不存在的,Linux系统安装后,自带的光驱设备挂载点是/mnt/cdrom。很多老工程师,已经习惯于使用/mnt/cdrom/了,所以往往有很多人在RHEL7中会在/mnt/下手动创建cdrom目录,用于光驱挂载。读者们应该不拘泥于形式,灵活处理。

再有,挂载光驱成功入,如:挂载到/media后,cd /media/后,ls可见到光盘中的很多文件,其中,所有软件安装程序包被放在Packages目录中。cd进入Packages目录后,ls可见到都是些.rpm后缀的文件,这些就是软件安装包了。

其实,不同版本的Linux光盘中,安装包的路径也不尽相同,有RPMS、SERVER等多种可能,读者在使用不同版本的Linux时,应灵活处理,或者逐一查找一下便可找到。

8.2 rpm包安装

我们知道了Linux安装光盘中的软件安装包都是以.rpm结尾的,rpm包也是Linux中大多数软件安装包的格式。下面来看一下如何安装管理软件。

mount /dev/sr0 /media ---挂载光盘

cd /media/Packages ---进入安装包存放路径

ls | grep dhcp ---查看抓取指定的包是否存在,可见到安装包的完整名字

注:本节实验,我们以dhcp软件的安装为例讲解

rpm -ivh dhcp-4.2.5-XXX.rpm ---安装指定软件包,这里使用XXX替代包名中的中间字符

其中:-i 表示安装 -v为查错,查看是否已装过及指定的包是否可用

-h 表示以#显示安装进度,类似于进度条的功能

那么,安装完毕后,软件的相关文件都安装到哪里了呢?可以使用如下命令查看:

rpm -ql dhcp ---查看软件包所有文件的安装位置

再者,如果在安装之前,我们想要查看该软件是否已经安装过,使用如下命令:

rpm -q dhcp ---查询指定包是否已安装过

如图所示,已安装过的包会显示版本号,未安装过的包会显示未安装。

关于已安装的软件包的查询,还有如下格式:

rpm -qa ---显示本机已装过的所有软件包,

活用:rpm -qa | grep mail ---抓取显示指定包是否安装过。

这种格式,比较适合于软件名较长或拼写单词较长,使用者拼写不出时使用

rpm -qf /etc/dhcp/dhcpd.conf ---查看指定文件是被哪个软件所使用

最后,来看一下软件的卸载:

rpm -e dhcp ---卸载软件

这里值得注意的是,软件包的命名规范:dhcp-4.2.5-XXXX.rpm 其中:版本号前的称为软件名,即dhcp,加版本号到后缀的完整名称为安装包名

使用规范:只有在安装时才需要指定安装包名,在查询、卸载等非安装类操作时,只需要指定软件名即可。可参考之前案例。

rpm还有两组参数可以介绍一下:-Uvh -Fvh,这两个都具备升级的功能,只是-Uvh是升级或安装,而-Fvh是仅升级,区别在于系统是否已安装了低版本的相同软件。

8.3 yum源安装

关于rpm命令的使用,之上格式应该足够日常使用了。但是有时安装软件时会有报错,信息提示是某另一个或多个包被当前包所需要。如下图:

这种安装软件时所需的前提包,即需要事先安装某些包,才能安装当前包。我们称为软件包间的依赖关系。使用yum即可解决依赖关系的安装问题。

yum源配置的功能是,安装某个包时,自动查找到相关的依赖包,并安装上,再安装指定软件包。

yum工作的原理是:事先把所有可能会用到的包,集中存放到一个目录下,然后在yum配置文件中指定该目录为安装源,则使用yum安装软件时,会自动到该指定的目录下查找到所有依赖关系包并自动安装。

现下,我们可以确定,Linux安装光盘上是具备全部的软件包的,且都在同一目录下(如:/media),则我们只需要编写yum源配置文件,指定该目录为安装源目录即可。

具体配置过程如下

cd /etc/yum.repos.d/ ---进入yum安装源配置文件所在目录

可以ls查看一下,里面都是Linux自带的一些安装源配置文件

再打开任一文件可看到里面是对官网地址的指定,即让yum自动到官网上下载相关依赖包。如:vi CentOS-Base.repo 后,可见下图内容:

这里,我们为了实验成功,不使用自带的官网源文件,所以这些文件可以暂时备份一下,但不建议删除,以便将来需要时再使用。操作如下:

mkdir backup ---创建备份用的目录

mvCentOS-* backup/ ---备份原有的配置文件

vi cdrom.repo ---创建安装源配置文件,文件名可以自定义,但是后缀必须是.repo,写入如下内容:

[cdrom] ---创建一个安装源设置项,并定义标签,可以随便写

name=local cdrom ---给本项指定个名字,可以随便写

baseurl=file:///media ---指定所有安装包的存放位置,url 统一资源定位符,即完整路径 file://是磁盘上查找文件的协议

enabled=1 ---启用本项,或者 enable=1 也行,1启动 0关闭

gpgcheck=0 ---关闭数字验证,如果开启验证,即gpgcheck=1,则下面必须写gpgkey=.... 以指定验证的密钥文件

yum -y install mysql-connector-java ---安装指定软件包

注意:不加-y参数时,安装过程中会在审核收集完所有软件包后,做一次确

认,询问是否继续安装,输入y即可继续安装,所以在命令里直接加-y

参数即等于询问时输入了y,可以直接安装完毕。

再者,文件里的很多配置项,我们需要解释一下:

(1) url:统一资源定位符,即寻址时的完整路径,比如:http://www.baidu.com。这个地址由协议加网址组成,可以说就是百度网站的url。再比如,我们看到朋友在网店购买的手机很好,就给朋友说把网店的链接发过来,这个链接的专业称谓就是url。所以url是由协议加完整地址组成的。

(2) file://协议:无论在windows还是Linux系统中,在磁盘上查找文件使用

的都是file协议,只是我们平时在使用时,地址栏中只显示的具体地址,却没有显示file协议。我们可以尝试下如下案例:打开IE浏览器,在地址栏中输入:file://c:/program files,会发现直接打开的是“计算机”窗口,并显示了c:/program files中的内容,与用鼠标点击进入的效果一样,可以证明file://协议适用于磁盘分区内查找文件的。那么,按照url书写的固定格式,协议名后需要加://的字符,而我们光盘的挂载位置是在/media下,所以baseurl=写出的样子就是file:///media,其中前两个//是协议的格式要求,第三个/表示根目录。

(3) gpgcheck:我们说gpgcheck=0是关闭的数字验证,那么数字验证是什么呢?其实数字验证是指某一款软件是否经过Linux系统的官方检测,若通过

了检测则说明该软件与系统兼容性合格,会颁发一个数字证书。所以文

件中若设置gpgcheck=1则表示要安装的软件必须有证书才允许安装,否

则拒绝安装,gpgcheck=0表示无需做验证,允许软件直接安装。

(4) gpgkey:若配置gpgcheck=1,则必须在下一行写入gpgkey=…行,以指定

数字证书秘钥的位置。

yum命令除了install以外,还有很多参数项,可以输入yum后,双击<tab>键查看到。如下图:

其中,较常用的几项为:

yum search dhcp ---查找可用安装源中,有无指定软件的安装包

yum list --- 查找可用安装源中所有的包

活用:yum list | grep mysql ---抓取查看

yum remove mysql-connector-java ---卸载指定软件,但不卸载依赖包

yum makecache ---重建缓存

注:若之前使用过yum设置,内存中有其缓存,更改yum配置后,未能生效,说明缓存未更新,可用yum makecache 重建一下缓存

yum history ---查看yum操作历史记录

yum update ---查看当前可用安装源,升级现在已装过的包

yum update kernel ---升级内核,一般需要设置官网源生效

8.4 源码包安装

之前所介绍的rpm安装、yum安装针对的都是rpm包的安装过程,但是在Linux中还有一种软件安装包是非rpm格式的,称为源码包。源码包大多由非Linux官方公司开发并推出的,发布时并未打打包成rpm格式的,有些甚至接近于源代码格式。

当我们在网络上下载软件时,很可能会下载到源码包。其实Linux的GUI图形界面与windows差不多,都可以通过浏览器访问页面,点击下载软件。但是在Linux的字符界面中,我们常用 wget url 的格式直接下载软件。这里的url即软件的下载地址。如:

wget http://vault.centos.org/7.4.1708/isos/x86_64/CentOS-7-x86_64-DVD-1708.iso

如果下载下的安装文件是.tar.gz或者.tgz后缀的,则说明很可能是源码的安装包。这个.tar.gz或.tgz的文件,是Linux中的压缩文件,所以需要解压后再使用。整体过程如下:

tar -zxvf XXX.tar.tz ---解压缩到当前目录下

注:tar压缩打包的相关命令将在下一章讲解,此处先暂时记住即可

ls ---解压后,可查看到解压出的目录

cd XXXX ---进入解压出的目录

ls ---查看之下内容,一般可能会出现两种情况

情况一:

可见到一个名字类似于install.pl 的可执行程序,这就是软件的安装程序

./install.pl ---运行安装程序,安装软件

情况二:

可见到一个 叫configure 的可执行程序,说明该安装包是源码的

./configure ---运行该程序,检测安装包及系统环境

make ---编译该包

make install ---安装软件

说明:情况二的安装过程中,每个命令的执行时间可能会有些长,所以生产环境中我们经常使用 ./configure && make && make install 逐一自动执行。

本文分享自微信公众号 - 教主小筑(gh_e0879483602d),作者:教主小筑

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 第十九章 Linux总结

    综上,我们使用了十八章的篇幅,介绍了Linux系统的基本管理、操作。掌握了这些底层知识,只是云计算技术的基础部分,后续的企业级服务管理、集群管理监控、企业常用管...

    晓天
  • 第十五章 系统服务管理

    服务是什么?先来看一下服务的定义:一台主机上提供的、运行的各种功能统称为服务。有本机内服务,如:at,cron,有对外的网络服务,如:web、ftp等,又称为...

    晓天
  • 第十五章 yum安装

    我们在《Linux系统》一书中介绍过yum的配置,是把光盘作为安装源操作的,配置文件在/etc/yum.repos.d/下,以.repo结尾。其实yum可以设置...

    晓天
  • 0720-5.10.0-如何在RedHat7.2使用rpm安装CDH(有CM)

    在上一篇文档《5.10.0-如何在RedHat7.2使用rpm安装CDH(无CM)》中介绍了如何在没有CM的情况下使用rpm的方式安装CDH集群,本文档将介绍如...

    Fayson
  • Fedora 11 的安装以及 LAMP环境的搭建(一)

    最近,重新安装了一次系统,为了以后不再做无谓的重复查询的工作,特将本次安装及配置的过程记录下来,做为自己以后的一个参考,亦可以为想要安装 Fedora 桌面的同...

    大江小浪
  • linux 安装zip/unzip/g++/gdb/vi/vim等软件

    最近公司新配置了一台64位云服务器,去部署的时候发现,没有安装zip/unzip压缩解压软件。

    帘卷西风
  • yum只下载不安装rpm包的方法

    yum install yum-downloadonly  这个插件通常都已经安装好

    二狗不要跑
  • Linux系统yum命令安装软件时保留(下载)rpm包

    昨天在部署 zabbix 监控的时候,遇到一个问题:监控服务器处于无外网状态,在线安装不可用。而某些依赖包度娘或谷姐搜索起来也挺呛人的!于是想到一个办法,利用有...

    张戈
  • 十分钟带你上手FPM制作rpm包

    ? ? vFPM是什么? ? ? v安装FPM ? v解读FPM安装脚本 ? vFPM常用参数 ? vFPM指令进阶 ? v查看一个rpm包的组成格式...

    小小科
  • day01.互联网架构/Linux/YUM 【大数据教程】

    day01.互联网架构/Linux/YUM 一、大型互联网架构演变历程 1. 淘宝技术这10年 1.1. 淘宝现状 高并发已经成为当前互联网企业面临的巨大挑...

    奋斗蒙

扫码关注云+社区

领取腾讯云代金券