Linux下的软件安装

简介:

上次说到Linux其实就是一个Kernel。其软件包的安装自然也和windows的安装是不同的。但是在Linux上安装软件是使用源代码包进行编译安装的,大部分的人是无法快速正确的完成这一环节的,于是就出现了对源码进行编译的的公司:1.Debian---将源码编译成二进制的,以供使用者的安装;2.rpm---将源码进行编译后制作成rpm包,使用者只需要下载rpm包,将其解压便可使用。而软件包编译出来一般生成的有四类文件:二进制文件、配置文件、库文件、文档。而要下载软件包时则必须要了解软件包的命名格式:NAME-VERSION-RELEASE.ARCH  文件名-版本号-发行号-适用平台  版本号:主版本号-次版本号-修正号;
在安装软件时有时一部分软件会依赖于其他软件,如果其依赖的软件没有安装那么就无法正常的使用,有时候一个软件依赖于另一个软件,而另一个软件又会依赖于另外的软件,没完没了,这样会是安装一个软件非常麻烦,而rpm在安装软件时具有依赖关系,所说简化了安装过程,但是依然还是让安装十分的麻烦。在这样的境况下诞生了基于rpm的安装工具yum,可以将其诙谐的理解为前段工具,其最大的优势就是能够自动的解决安装过程中的依赖关系,自动安装所依赖的软件。当然rpm并不是就一无是处了

一、rpm管理软件包,可以检验软件包的牵连性
1、安装:rpm -i
参数:-v:显示安装进度
-h:以#显示安装进度(一个#代表2%的进度)
--nodeps:忽略依赖关系,强制安装
--force:忽略冲突,强制安装
例如:rpm -ivh rhce-ts-5.4.0-3.noarch.rpm
2、卸载:rpm -e
参数:--nodeps:忽略依赖关系,强制卸载
例如:rpm -e nano-1.3.12-1.1.1.gls.i386.rpm

3、升级:rpm -U/rpm -F
-Uvh UpDatePath:不依赖于老版本,如果没有安装则安装,如果安装了则对该软件进行升级
-Fvh UpDatePath:依赖于老版本,如果老版本不存在则无法完成升级
--force:忽略冲突,强制升级
例如:#rpm -q nano  查询下我当前nano的版本
现在用nano-1.3.12-1.1.1.gls.i386.rpm这个rpm对nano进行升级,然后查看其版本号

#rpm -Uvh nano-1.3.12-1.1.1.gls.i386.rpm


4、查询:rpm -q SoftName
-qa:查询所有
-qi:查询其相关信息,包括作者等详细信息
#rpm -qi nano

-ql:查看安装后都在本机生成了哪些内容,显示出一个列表
-qc:只显示其配置文件
-qd:只显示安装后生成了哪些文档
-qf:查看某个文件是由哪个rpm包安装生成的
-p:安装前查看其相关信息
-q --scripts:查看安装后执行了哪些脚本
#rpm -q --scripts nano


-q --changlog:查看rpm包的每一次的制作都修正了什么内容

5、校验:rpm -V
显示出的8个字段
字段1:S--表示大小
字段2:M--文件类型权限
字段3:5--MD5
字段4:D--设备的主设备号与次设备号不一直
字段5:Lreadlink---路径
字段6:U--属主
字段7:G--属组
字段8:T--最近一次的修改时间

6、验证:rpm -K
--nodigest:不验证MD5 sha1信息
--nosignature:不验证签名
每一个rpm包的制作,其制作者均会将其信息摘要和签名信息进行加密,并且公布出MD5值,当你下载完后使用其制作者的公钥进行解密,MD5值符合则说明该RPM包没有被别人篡改过,而在执行验证之前则需要导入该制作者的公钥,这里我导入redhat的公钥:
#rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-releasc

二、yum:基于rpm工作,能够自动解决依赖关系
支持yum正常工作的有两个文件:/etc/yum.conf  /etc/yum.repos.d/*.repo
1.yum源的配置:
在/etc/yum.repos.d下,以repo结尾的文件
[ID]------标识yum源,可以自定义
name=NAME------表示yum源的名字
baseurl=URL-------用于指定yum源地址,此格式支持(ftp://、http://、file://)
gpgcheck=0|1--------用于表示是否要进行内容摘要的检验;0表示不检验,1表示检验
enabled=0|1--------表示该yum源是否启用;0表示不启用,1表示启用
如图为我的yum源配置


2.yum源的加载与显示:yum list
参数:all:显示所有
installed:显示已经安装的包
available:显示尚未安装的包,在yum库中
updates:显示可进行升级的包
例如:#yum install list
#yum available list
#yum updates list


功能:
安装:yum install 包名1 包名2 包名3 包名4...
-y:自动执行y  #yum -y install zsh
删除:yum remove|erase 包名1 包名2 包名3...
升级:yum update 包名1 包名2...
降级:yum downgrade ...
检查升级:yum check-update
显示信息:yum info ...
查看由谁生成的:yum provides|whatprovides ...
重装:yum reinstall ...
显示yum源:yum repolist [all]
清空yum缓存:yun clean
显示所有有关yum组:yum grouplist
装一组:yum groupinstall GROUPNAME
删除一组:yum groupremove GROUPNAME
查询包组的相关信息:yum groupinfo GROUPNAME
安装本地rpm包:yum localinstall path
--nogpgcheck 不检测签名,yum默认检测不了签名的则不安装
通过本地的rpm包升级:yum updates
通过源数据信息按照关键字查找(不区分大小写):yum search keyword








本文转自 向阳草米奇 51CTO博客,原文链接:http://blog.51cto.com/grass51/785939,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
Ubuntu Linux 开发工具
Linux下的IMX6ULL——环境搭建与软件安装(一)
Linux下的IMX6ULL——环境搭建与软件安装(一)
64 0
Linux下的IMX6ULL——环境搭建与软件安装(一)
|
3月前
|
存储 Linux 程序员
Linux内存管理宏观篇(二):不同角度去看内存(软件)
Linux内存管理宏观篇(二):不同角度去看内存(软件)
52 0
|
4月前
|
关系型数据库 MySQL Linux
Linux下查看软件安装与安装路径
Linux下查看软件安装与安装路径
246 0
|
1月前
|
缓存 Linux Android开发
【Linux】软件包管理器 yum
【Linux】软件包管理器 yum
|
1月前
|
NoSQL 关系型数据库 应用服务中间件
Linux服务器软件安装教程及项目部署【建议收藏】
Linux服务器软件安装教程及项目部署【建议收藏】
|
1月前
|
存储 Ubuntu Unix
【Linux】1、操作系统、计算机硬件和软件、Linux 介绍
【Linux】1、操作系统、计算机硬件和软件、Linux 介绍
41 0
|
2月前
|
Linux Windows
【Linux】Linux 软件包管理器 yum
【Linux】Linux 软件包管理器 yum
【Linux】Linux 软件包管理器 yum
|
2月前
|
缓存 Linux Shell
【Linux工具篇】软件包管理器yum
【Linux工具篇】软件包管理器yum
51 1
|
2月前
|
分布式计算 关系型数据库 MySQL
实战:在Linux上部署各类软件
实战:在Linux上部署各类软件
153 0
|
2月前
|
Linux 数据安全/隐私保护 Android开发
10 个最佳 Linux 开源笔记软件
10 个最佳 Linux 开源笔记软件
109 1