Linux软件管理

前提:安装软件必须要管理员权限,centos和Redhat所有的软件都是以rpm形式安装的。

 

开源软件说明:

  • 绝大多数开源软件都是以源代码的形式发布,通常会被打包成tar.gz的归档压缩文件;
  • 源代码需编译成二进制文件后才能运行,编译基本流程:
    • ./configure:检查编译环境、相关库文件以及配置参数并生成makefile;
    • .make:对源代码进行编译,生成可执行文件;
    • make install:将生成的可执行文件进行安装
  • 源代码形式的软件编译起来较麻烦,但是兼容性和可控制性较好;
  • 开源软件通常会大量使用其它开源软件的功能;

RPM软件包管理

为了解决软件源代码操作复杂,编译时间长,极容易出错的问题,erik troan和Marc ewing开发了RPM(redhat package manager)。

 

RPM:通过将源代码基于特定的平台系统编译为可执行文件,并保存依赖关系,来简化开源软件的安装过程。

 

RPM设计目标:

  • 时间简单;
  • 使用单一软件包格式文件发布(.rpm);
  • 可升级;
  • 追踪软件的依赖关系;
  • 软件验证功能;
  • 支持多平台;

 

RPM软件包常用命名规范:名称-版本-系统版本-位数.rpm,如linuxcast-1.2.0.el6.i686.rpm

 

RPM基础命令:已经安装过的包用包名,未安装过的包用包全名

  • 安装软件:rpm –I software.rpm
  • 卸载软件:rpm –e softwarename
  • 升级形式安装:rpm –U software-new.rpm
  • rpm支持通过http、ftp协议安装软件:rpm –ivh http://www.linuxcast.net/software.rpm
  • 命令参数:
    • -v:显示相关信息
    • -h:显示进度条

 

PRM查询命令:RPM会保存软件的很多相关信息

  • rpm –qa:列出所有已安装的rpm软件
  • rpm –qi packagename:查询已安装rpm软件的信息
  • rpm –ql packagename:查询已安装rpm软件包含的文件
  • rpm –qf filename:列出目标文件属于哪个rpm包
  • rpm –qip software.rpm:查看rpm文件的信息
  • rpm –qlp software.rpm:查看rpm文件包含的文件

 

RPM验证:rpm软件包在传播过程中可能会被恶意的修改,所以为了安全现代操作系统都加入了对软件的验证功能,验证一般使用非对称算法,所以需要一个秘钥。

  • 导入秘钥(如果没有则需导入):rpm –import RPM-GPG-KEY-CentOS-6
  • 验证未安装的rpm软件:rpm –K software.rpm
  • 验证已安装的rpm软件:rpm –V software

 

RPM依赖:

  • 树形依赖:A-B-C,依次安装即可解决
  • 环形依赖:A-B-C-A,同时安装即可
  • 模块依赖:即依赖一些函数,通常包含在一些rpm包中,需要自己找到这些包,http://www.rpmfind.net/

 

RPM包中文件提取:cpio [option] < file

  • 一般用法:rpm2cpio packagename | cpio –idv .route
  • option:
    1. -i:copy-in模式,还原
    2. -d:还原时自动新建目录
    3. -v:还原时显示过程

 

rpm一般安装位置:

rpm验证结果显示:

YUM软件管理

YUM(yellowdog uodater modified):是rpm的一个前端程序,主要目的是设计用来解决RPM的依赖关系问题,特点如下:

  • 安装rpm包时自动解决依赖关系;
  • 可对rpm包进行分组,并基于分组进行安装;
  • 引入了仓库的概念,支持多个配置文件,每个配置文件多个仓库;
  • 配置简单;

 

YUM仓库:用来存放rpm包,会在仓库中自动查找安装软件需要的rpm包(如果找不到则无法安装),仓库可以是本地的,也可以通过HTTP、FTP或NFS形式集中管理的网络仓库。

 

YUM仓库的配置文件:

  • 保存在/etc/yum.repos.d/下,每个配置文件的名字不做限制,但是必须以.repo结尾;
  • 格式如下:

[仓库名称]

name=仓库描述信息

baseurl=仓库地址,网络或本地(file://开头);或mirrorlist的镜像形式

enabled=1开启仓库,0关闭仓库,如不配置则默认开启

gpgcheck=1校验rpm包,0不校验

gpg=校验文件

 

YUM仓库创建:

本地仓库:

  1. 将所有rpm文件拷贝到一个文件夹中;
  2. 通过rpm或yum命令手工安装createrepo软件;
  3. (无分组信息)运行命令createrepo –v /rpm-directory;
  4. (有分组信息)运行命令createrepo –g /tmp/*comps.xml /rpm-directory
  5. 添加yum仓库文件至/etc/yum.repos.d/下,可以新建或添加至已有的

说明:createrepo命令实际是创建rpm的索引(存放在rpm文件夹中,名为repodata),分组信息保存在以comps.xml结尾的xml文件中。

网络仓库:

  1. 将创建好的本地仓库通过HTTP、、FTP或NFS协议共享出去;
  2. 添加yum仓库文件至/etc/yum.repos.d/下,可以新建或添加至已有的

 

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包中;

 

YUM软件组管理命令:

  • yum grouplist:列出可用组
  • yum groupinstall groupname:安装组
  • yum groupremove groupname:卸载组

 

YUM清除缓存命令:yum为了提高速度会缓存很多信息,且每次运行安装或查询类命令时会重建缓存,但是有时候缓存会造成一些故障,可以通过命令yum clean all来清除缓存。

​​​​​​​​​​​​​​源码安装

源码包和rpm包安装位置的区别:rpm包一般不指定安装位置,由作者决定,而源码包没有卸载命令需要指定安装位置。

 

安装过程:

  • ./configure:可能不是configure,但是会有替代文件
    1. 定义需要的功能选项,可通过—help查看;
    2. 检测系统环境是否符合安装要求;
    3. 把前两者的信息写入makefile中,用户后续编译安装;
  • make:编译
    1. make clean:出错时清除编译文件

make install:安装,出错需要删除confiugre时指定的文件,然后make clean,然后重来

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值