linux初学者-软件安装与管理篇
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初学者-软件安装与管理篇相关推荐
- 初学者linux查找文件安装目录,Linux查看软件安装目录及位置 方法
对Linux了解的朋友都知道,在linux中软件一般默认都是安装在到"/usr/share"和"/usr/local"这两个路径下.但是:如果我们需要查看软件安 ...
- qt打包rpm时候先安装其他软件_云计算学习路线图素材课件,Linux中软件安装的方式...
很多初学者感觉云计算就是一个听起来比较高大上的名词,每次想要了解它的时候都像是雾里看花,迷迷糊糊看不真切,至于它是干什么的就更不了解了,其实云计算学起来在IT行业中还是比较容易上手的,接下来我给大家分 ...
- _云计算学习路线图素材课件,Linux中软件安装的方式
很多初学者感觉云计算就是一个听起来比较高大上的名词,每次想要了解它的时候都像是雾里看花,迷迷糊糊看不真切,至于它是干什么的就更不了解了,其实云计算学起来在IT行业中还是比较容易上手的,接下来我给大家分 ...
- Linux查看软件安装和系统信息操作
Linux中查看程序安装位置 如果是rpm的安装,用rpm -ql 如果是一般安装 用 whereis 或者 find find /usr -name catalina.out ======== 如何 ...
- Linux之软件安装 apt-get
Linux之软件安装 apt-get 1. 软件安装的介绍 Ubuntu软件安装有两种方式: 离线安装(deb文件格式安装) [提前下载到电脑的安装包] 在线安装(apt-get方式安装) ...
- Linux入门基础教程之Linux下软件安装
Linux入门基础教程之Linux下软件安装 一.在线安装: sudo apt-get install 即可安装 如果在安装完后无法用Tab键补全命令,可以执行: source ~/.zshrc AP ...
- Linux课程---11、Linux中软件安装和调试
Linux课程---11.Linux中软件安装和调试 一.总结 一句话总结: 启动过程:1.安装软件,2.修改配置文件,3.启动服务 查看过程:4.查看进程,5.查看端口 关闭过程:6.关闭软件,7. ...
- 【转】Linux下软件安装的几种方式
转自Linux下软件安装的几种方式 Linux 系统的/usr目录 Linux 软件安装到哪里合适,目录详解 Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统 ...
- Linux下软件安装和删除的命令
Linux下软件安装和删除的命令 1. rpm 安装 rpm -ivh *.rpm 2. rpm 查询 rpm -q(a) *.rpm 3. rpm 删除 rpm -e *.rpm 4. yum 安装 ...
最新文章
- linux之history命令
- excel单元格下拉菜单
- 针对行业需求服务优质客户 ,网易云信助金融行业“网上冲浪”
- SQL Server中的Union和Union All语句之间的差异及其性能
- 解决方案:the program can't start because mspdb100.dll is missing from your computer
- numpy的基本使用3
- 复变函数画图cosz图像_用matlab绘制x=(1+cosu)cosv,y=(1+cosu)sinv,z=sinu图像?
- midi 音符对应表
- 迎建国七十周年,Linux厂商巡礼之一铭软件
- linux环境snmptrap告警命令中间服务器接收和转发配置
- DPCM差分预测编码原理及实现
- 【大兴区亦庄亦庄线东晶国际4居室】自如网
- USER_TAB_COLS,USER_TAB_COLUMNS,ALL_TAB_COLS,ALL_TAB_COLUMNS获取数据库元素的区别
- “博客之星”年度评选
- python --- 常见题目 2019.01.03
- FastGCNL:FAST LEARNING WITH GRAPH CONVOLUTIONAL NETWORKS VIA IMPORTANCE SAMPLING
- matplotlib 文档:Pyplot tutorial
- 亭江鹰猫山探险---“比野猪还野猪了”
- Mac 5年了 清理了一下多出了 70个G
- java.sql.SQLSyntaxErrorException: Table 'ph.tbl_user' doesn't exist
热门文章
- Labview对mysql查询的数据进行展示
- java 选取topn_取Oracle中实现TOPN,选取前几条记录
- java 字符串 移位_算法学习之字符串左移和右移
- 呈现模式_外汇欧盘:分析师料欧元有望涨至1.15 全球市场呈现轮涨模式
- torch的使用笔记
- springBoot整合Dubbo使用与采坑
- (17/24) webpack实战技巧:生产环境和开发环境并行设置,实现来回切换
- shiro框架 4种授权方式 说明
- 使用IntelliJ IDEA开发Spring MVC HelloWorld
- 计算机网络网络层重要概念