linux初学者-软件安装与管理篇

在linux的学习和工作中需要安装许多的软件。在redhat的linux操作系统下,软件一般都是rpm格式的。以下将介绍一些软件安装和管理的内容。

1、软件名称

在安装软件时,最基本的是软件名称的识别,以"firefox"软件为例,此软件为:

firefox  |  -  |  38.3.0-2  |  .  |  el7_1  | .  |   x86_64

其中"firefox"为软件名称,"38.3.0-2"为软件版本,"el7_1"为软件适用系统,"x86_64"表示为64位软件。

2、软件安装

2.1、rpm

"rpm"是一种常用的软件安装和查询命令,其中的参数在软件管理方面有很大的应用。

参数"-ivh"是安装软件的参数,安装软件,"-v"显示过程,"-h"指定加密方式为"hash"。例如安装软件"firefox-24.5.0-1.el7.x86_64.rpm"。

参数"-ivh"在软件名字后加"--force"可以强制安装软件。例如不小心删除"/usr/bin/firefox",则会出现下图情况,并且普通的安装会提示已安装过,此时就需要用到强制安装。

参数"-q | -qa"可以查看软件是否安装,例如查询刚才安装的"firefox"软件,有下图的三种方式。

参数"-ql"可以查看软件安装后生成的文件,如下图是"firefox"在安装后生成的文件。

参数"-qlp"可以在软件安装前查询软件安装后将会生成什么文件,如查询"firefox"在安装前查询将会生成的文件,但是,此参数后面应该加软件全名,即有".rpm"。

参数"-e"可以卸载安装的软件。如图卸载"firefox"软件。

参数"-Kv"可以检测软件包是否被篡改,例如,对比下面前后两图,软件修改后会出现"BAD"。

参数"-qp"可以查询软件安装包安装后的名字,但是软件的名字必须为全名。如图所示,显示"firefox"软件的名字。

如果在参数"-qp"后的软件名字后面加入"--scripts",则可以检测软件在安装或卸载过程中执行的动作。在软件安装前,用此参数检测软件非常有必要,例如,现有"FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm"和"FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm"两个软件,现用参数"-Kv"检测这两个软件,如下图,发现这两个软件都未被篡改。

但是,如果使用"--scripts"后会发现,"FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm"软件在卸载过程时会删除根下所有目录导致系统崩溃,所以在软件安装前使用"-Kv"和"--scripts"很有必要。

参数"-qi"可以查看软件的信息。例如输入"rpm -qi firefox"查询软件"firefox"的信息。

如果知道一个文件,但是不知道它是属于哪个软件安装包在安装时生成的,可以使用参数"-qf"查询。

2.2、yum

"yum"是在软件安装和管理中的另一个常用命令。其中也有很多功能需要通过加入参数来实现。

"install"是安装软件的参数,例如安装软件"gcc"。如果加入"-y"可以让软件自动安装而不用询问是否确定安装。

"repolist"可以列出设定的yum源信息,列入下图,可以看出该yum源总共拥有4305个软件。

"remove"是软件卸载的参数。

"list"可以查看软件源中是否有此软件,例如下图查看是否安装"gcc"。

"list all"是列出所有软件名称的参数,可以看到该yum源下所有的软件。

"list installd"可以列出所有已经安装的软件。

"list available"可以列出尚未安装,但是可以安装的软件名称。

"clean all"是清空yum缓存的参数。

在需要安装软件时,有时并不知道需要安装什么软件,只知道软件的用途等信息,则可以用参数"search"来查看,例如下图,可以来查看check message可以使用哪些软件。该参数也可根据软件名称信息找到软件全名。

和"rpm -qf"类似,参数"whatprovides"也可以根据文件名查找yum源中的软件。

参数"update"可以用来更新软件,"reinstall"可以用来重新安装软件,作用与"rpm -ivh --force"的用途类似。

参数"history"可以软件系统的改变历史。

参数"info"可以显示软件信息。

软件不仅仅单独以一个软件的形式存在,同时在存在着许多的软件组,软件组可以使用以下参数来管理。

"groups list"可以查看软件组中包含的软件。

"groups info"可以查看软件组信息。

"groups install"可以安装软件组,  "groups remove"可以卸载软件组,与安装单个软件一致。

3、yum源

虽然在软件的安装过程中有"rpm"和"yum"两种,但是有许多软件有依赖关系,即此软件的安装是需要以其他软件的安装为前提的,这种问题"rpm"并不能解决,但是"yum"可以,所以安装软件多用"yum","rpm"是以查询为主。

"yum"能够投入使用的前提是必须要有yum源,以及配置源的指向文件。一般的yum源有client源端即本地端和server源端即网络端。以下将会介绍这两种不同的源端配置方法。

不管是client源端还是server源端,配置之前都要从网上下载与本机系统版本匹配的iso镜像文件,为了方便,本文中的镜像文件存放在/iso目录中。

3.1、client源端

client源端是将镜像文件挂载在本机目录中配置的yum源,该yum源只能本机使用。client源端的配置步骤如下所示。

a."mkdir /rhel7.2"在根目录下建立一个"rhel7.2"目录,该目录名字位置可以自行选择。

b."mount /iso/rhel-server-7.2-x86_64-dvd.iso /rhel7.2"将下载好的镜像文件挂载在/rhel7.2目录下。通过"ls /rhel7.2"查看是否出现文件。

c."rm -fr /etc/yum.repos.d/*"删除目录/etc/yum.repos.d/下的所有文件。

d."vim /etc/yum.repos.d/rhel7.2.repo"在目录/etc/yum.repos.d/下建立一个文件,名字可以自起但是必须以.repo结尾,并在文件中写入

[rhel7.2]

name=rhel7.2

baseurl=file:///rhel7.2

gpgcheck=0

e."yum clean all"清空yum缓存识别新配置。总步骤图如下。

以上即是yum源client源端的配置过程,配置成功后,即可利用"yum"命令安装软件,并会自动解决软件的依赖关系问题。

3.2、server源端

server源端是建立共享目录,并挂在镜像文件到共享目录上的yum源,该yum源不仅可以本机使用,也可以其他主机使用。配置yum源之前需要安装httpd服务,并且输入"systemctl stop firewalld"关闭防火墙,防火墙会导致数据传输出现问题。server源端与client源端配置方式基本相同,其中有些区别如下。

a."mkdir /var/www/html/rhel7.2"在此目录下建立目录,httpd可以将此目录共享出去。

b."mount /iso/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7.2"将镜像挂载在/var/www/html/rhel7.2目录下。

后面内容与client源端的c.d.e步骤一致,但是在配置/etc/yum.repos.d/rhel7.2.repo文件时,需要将其中的"baseurl=file:///rhel7.2"改为"baseurl=http://本机ip/rhel7.2"。如下图所示。

在server源端配置完成后,可以在浏览器中输入:"http://本机ip/rhel7.2",则可以看到镜像中的内容。总步骤图如下。

3.3、自动挂载

在上述的方法中,将iso镜像文件直接挂载在目录下,但是在重启主机后挂载的目录会自动解除挂载,就需要重新挂载才可以使用yum源。这在学习工作中无疑加大了工作量,所以一般可以采取开机自动挂载iso镜像文件的方法来避免此类情况,具体步骤如下:

输入"vim /etc/rc.d/rc.local",如下图所示,以client源端挂载为例,在下方输入"mount /iso/rhel-server-7.2-x86_64-dvd.iso /rhel7.2"。

保存并退出后输入"chmod +x /etc/rc.d/rc.local"以给此文件可执行权限。如此设定即可使开机时自动挂载iso镜像文件至"/rhel7.2"目录下。同理也可在server源端配置时使用。

3.4、搭建第三方软件仓库

yum源配置成功后即可使用镜像文件中的软件,但是镜像中的软件并不是全部,如果需要用yum安装第三方软件并解决软件依赖问题,那么就需要搭建第三方软件仓库了,其本质就是将第三方软件放入yum源中。其搭建步骤如下:

a."mkdir /software",建立一个目录并且把所有的第三方rpm软件包放到一个目录中,这个目录只能放入rpm文件,目录名称或路径可自行设置。

b."createrepo -v /software",使用此命令可在目录下生成一个"repodata"文件,在使用yum时会读取里面的文件。

c."vim /etc/yum.repos.d/rhel7.2.repo",在之前配置的"rhel7.2.repo"文件后加入,如下图所示。

[software]

name=software

baseurl=file:///software

gpgcheck=0

完成后输入"yum clean all"加载配置,即可使用第三方软件的yum命令。第三方软件仓库搭建完成。

4、rpm、yum的其他用法

4.1、rpm安装包的拆解

在之前说过如果不小心删除了软件中的某个文件,需要通过强行再次安装软件在恢复,这样有时会显得比较麻烦。如果可以将软件安装包拆解,将其中删除的文件重新复制到原目录,将会方便很多,软件安装包的拆解命令为"rpm2cpio  xxxxx.rpm | cpio -id",其中的"xxxxx.rpm"需要加入软件包所在位置。

例如下图中,不小心删除了"/usr/bin/wps"文件,使得"wps"命令无法使用,就可以拆解生成"wps"命令的软件包,并将其中的"/usr/bin/wps"文件复制回原目录,即可解决这个问题。

4.2、yum的软件屏蔽

查看和使用yum源下的软件包时,有时候需要屏蔽一些或者一类软件,使得在执行"yum"命令时自动忽略这类软件,则需要用到软件屏蔽。

例如,在用"yum list available"查看软件列表时,想要自动忽略64位的软件,只显示32的软件,需要输入"vim /etc/yum.conf",并在其中输入"exclude=*.x86_64",如下图所示。

保存退出后,再次使用"yum list available"查看软件列表,就会屏蔽掉未安装的64位软件。

以上就是redhat的linux系统中软件安装及管理的一些内容。

转载于:https://www.cnblogs.com/davidshen/p/8145896.html

linux初学者-软件安装与管理篇相关推荐

  1. 初学者linux查找文件安装目录,Linux查看软件安装目录及位置 方法

    对Linux了解的朋友都知道,在linux中软件一般默认都是安装在到"/usr/share"和"/usr/local"这两个路径下.但是:如果我们需要查看软件安 ...

  2. qt打包rpm时候先安装其他软件_云计算学习路线图素材课件,Linux中软件安装的方式...

    很多初学者感觉云计算就是一个听起来比较高大上的名词,每次想要了解它的时候都像是雾里看花,迷迷糊糊看不真切,至于它是干什么的就更不了解了,其实云计算学起来在IT行业中还是比较容易上手的,接下来我给大家分 ...

  3. _云计算学习路线图素材课件,Linux中软件安装的方式

    很多初学者感觉云计算就是一个听起来比较高大上的名词,每次想要了解它的时候都像是雾里看花,迷迷糊糊看不真切,至于它是干什么的就更不了解了,其实云计算学起来在IT行业中还是比较容易上手的,接下来我给大家分 ...

  4. Linux查看软件安装和系统信息操作

    Linux中查看程序安装位置 如果是rpm的安装,用rpm -ql 如果是一般安装 用 whereis 或者 find find /usr -name catalina.out ======== 如何 ...

  5. Linux之软件安装 apt-get

    Linux之软件安装 apt-get 1. 软件安装的介绍 Ubuntu软件安装有两种方式: 离线安装(deb文件格式安装)   [提前下载到电脑的安装包] 在线安装(apt-get方式安装)    ...

  6. Linux入门基础教程之Linux下软件安装

    Linux入门基础教程之Linux下软件安装 一.在线安装: sudo apt-get install 即可安装 如果在安装完后无法用Tab键补全命令,可以执行: source ~/.zshrc AP ...

  7. Linux课程---11、Linux中软件安装和调试

    Linux课程---11.Linux中软件安装和调试 一.总结 一句话总结: 启动过程:1.安装软件,2.修改配置文件,3.启动服务 查看过程:4.查看进程,5.查看端口 关闭过程:6.关闭软件,7. ...

  8. 【转】Linux下软件安装的几种方式

    转自Linux下软件安装的几种方式 Linux 系统的/usr目录 Linux 软件安装到哪里合适,目录详解 Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统 ...

  9. Linux下软件安装和删除的命令

    Linux下软件安装和删除的命令 1. rpm 安装 rpm -ivh *.rpm 2. rpm 查询 rpm -q(a) *.rpm 3. rpm 删除 rpm -e *.rpm 4. yum 安装 ...

最新文章

  1. linux之history命令
  2. excel单元格下拉菜单
  3. 针对行业需求服务优质客户 ,网易云信助金融行业“网上冲浪”
  4. SQL Server中的Union和Union All语句之间的差异及其性能
  5. 解决方案:the program can't start because mspdb100.dll is missing from your computer
  6. numpy的基本使用3
  7. 复变函数画图cosz图像_用matlab绘制x=(1+cosu)cosv,y=(1+cosu)sinv,z=sinu图像?
  8. midi 音符对应表
  9. 迎建国七十周年,Linux厂商巡礼之一铭软件
  10. linux环境snmptrap告警命令中间服务器接收和转发配置
  11. DPCM差分预测编码原理及实现
  12. 【大兴区亦庄亦庄线东晶国际4居室】自如网
  13. USER_TAB_COLS,USER_TAB_COLUMNS,ALL_TAB_COLS,ALL_TAB_COLUMNS获取数据库元素的区别
  14. “博客之星”年度评选
  15. python --- 常见题目 2019.01.03
  16. FastGCNL:FAST LEARNING WITH GRAPH CONVOLUTIONAL NETWORKS VIA IMPORTANCE SAMPLING
  17. matplotlib 文档:Pyplot tutorial
  18. 亭江鹰猫山探险---“比野猪还野猪了”
  19. Mac 5年了 清理了一下多出了 70个G
  20. java.sql.SQLSyntaxErrorException: Table 'ph.tbl_user' doesn't exist

热门文章

  1. Labview对mysql查询的数据进行展示
  2. java 选取topn_取Oracle中实现TOPN,选取前几条记录
  3. java 字符串 移位_算法学习之字符串左移和右移
  4. 呈现模式_外汇欧盘:分析师料欧元有望涨至1.15 全球市场呈现轮涨模式
  5. torch的使用笔记
  6. springBoot整合Dubbo使用与采坑
  7. (17/24) webpack实战技巧:生产环境和开发环境并行设置,实现来回切换
  8. shiro框架 4种授权方式 说明
  9. 使用IntelliJ IDEA开发Spring MVC HelloWorld
  10. 计算机网络网络层重要概念