Linux中软件包安装管理

软件包的安装方式有三种:源码、RPM、YUM
1°源代码形式
·绝大多数开源软件都是直接以源代码的形式发布;
·源代码一般会被打包成tar.gz的归档压缩文件,解压命令#tar -zxvf xxx.tar.gz;
·源代码需要编译成为二进制形式之后才能够运行使用;
·源代码基本编译流程:
1)./configure 检查编译环境、相关库文件以及配置参数并生成makefile
2)make 对源代码进行编译,生成可执行文件
3)make install 将生成的可执行文件安装到当前的计算机中
·源代码形式的软件使用起来较为麻烦,但是兼容性及可控制性较好;
·开源软件一般都会大量使用其他开源软件的功能,所以开源软件会有大量的依赖关系(使用某软件需要先安装其他依赖的软件)


2°RPM(Redhat Package Manager)
·源代码形式的缺点:操作复杂、编译时间较长、极容易出现错误
·源代码形式的优点:适用所有系统,可定制
·为了方便使用,Enk Troan和Marc Ewing开发了RPM
·RPM通过将源代码基于特定平台系统编译为可执行文件,并保存依赖关系,来简化开源软件的安装管理
·RPM设计目标:使用简单、单一软件包格式文件发布(rpm文件)、可升级、追踪软件依赖关系、基本信息查询、软件验证功能、支持多平台
·RPM软件包常用命名规范
软件名称-版本号-发布次数.系统.硬件平台.rpm
如:nagios-1.2.0-6.el6.i686.rpm


3°RPM基本命令
安装软件:rpm -i software.rpm
卸载软件:rpm -e software
升级形式安装:rpm -U software-new.rpm
rpm支持通过http、ftp协议安装:rpm -ivh http://www.linux.net/source/software.rpm
rpm命令可选参数:
-v 显示相关信息
-h 显示进度条


4°RPM查询
RPM会保存软件相关的很多信息,可通过以下命令查询:
rpm -qa 列出所有安装的rpm软件
rpm -qf filename 查询目标文件属于哪个rpm包
rpm -qi packagename 查询指定已安装rpm软件的信息
rpm -ql pachagename 查询指定已安装rpm软件包含的文件
rpm -qip software.rpm 查询rpm文件的信息
rpm -qlp software.rpm 查询rpm文件包含的文件


5°RPM验证
·软件在传播的过程中可能会被恶意的修改,所以为了安全期间现代系统都加入了对软件的验证功能
·验证一般使用非对称加密算法,需要一个密钥
·导入密钥:rpm --import RPM-GPG-KEY-CentOS-6
·验证RPM文件:rpm -K software.rpm


6°yum引入
rpm软件包形式管理软件虽然方便,但是需要手工解决软件包的依赖关系,很多时候安装一个软件需要首先安装多个其他软件,手工解决很复杂。使用YUM可解决软件包依赖问题。
YUM(Yellowdog Updater Modified)是一个RPM的前端程序,主要目的是设计用来自动解决RPM的依赖关系问题。其特点如下:
自动解决依赖关系;可对RPM进行分组,并基于组进行安装;引入仓库概念,支持多个仓库;配置简单。
YUM引入了仓库(repo)的概念,仓库用来存放所有现在的rpm软件包,当使用yum安装一个rpm软件时,若存在依赖关系,会自动在仓库中查找依赖软件并安装。
仓库可以是本地的,也可是通过HTTP、FTP或NFS形式使用集中的、统一的网络仓库。


7°YUM仓库
·yum使用仓库保存管理rpm软件包,仓库的配置文件保存在/etc/yum.repos.d/目录下,格式如下:
-------------------------------------------------------------------------------------------------------------------------
[rhel-source]
name=Red Hat Enterprise Linux Sreleasever Sbasearch Source
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/Sreleasever/en/os/SRPMS/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
-------------------------------------------------------------------------------------------------------------------------
[localhost-source]
name=opt software packages
baseurl=file:///opt/software/Packages/
enabled=1
gpgcheck=0
-------------------------------------------------------------------------------------------------------------------------

·仓库可用file、http、ftp、nfs方式
·yum配置文件名必须以.repo结尾
·一个配置文件内可保存多个仓库的配置信息
·/etc/yum.repos.d/目录下可存放多个配置文件


8°YUM基本命令
·yum常用命令
yum install software-name 安装
yum remove software-name 卸载
yum update software-name 升级
·yum查询
yum search keyword 搜索
yum list (all|installed|recent|updates) 列出全部的、安装的、最近安装的、软件更新
yum info packagename 显示指定软件的信息
yum whatprovides filename 查询哪个rpm软件包含目标文件


9°创建YUM仓库
·可通过以下方式手工创建yum仓库:
1)将所有rpm文件拷贝到一个文件夹中
2)通过rpm命令手工安装createrepo软件
3)运行命令createrepo -v /rpm-directory
4)如果有分组信息,则在运行命令时用-g参数指定分组文件
createrepo -g /tmp/*comps.xml/rpm-directory
CentOS/RHEL的分组信息保存在光盘repodata/目录下,是文件名以comps.xml结尾的xml文件.
·创建好之后本机可通过file方式直接使用,若需要作为对外的YUM仓库服务器,可通过http、ftp或nfs协议共享出去
eg:
1)所有rpm文件放在/opt/software/rpm-repo/中
2)createrepo -v /opt/software/rpm-repo/
3)vim /etc/yum.repos.d/xxx.repo
4)添加如下内容:
-------------------------------------------------------------------------------------------------------------------------
[localhost-source]
name=opt software packages
baseurl=file:///opt/software/Packages/
enabled=1
gpgcheck=0
-------------------------------------------------------------------------------------------------------------------------

10°YUM cache
·YUM为了提高速度会通过缓存很多信息,有时缓存更新不及时或其他故障,可清除缓存:
yum clean all
·每次运行安装或查询类命令时会重建yum缓存.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值