• Linux入门基础(七):Linux软件管理基础


    源代码形式

    • 绝大多数开源软件都是直接以源代码形式发布

    • 源代码一般会被打包成tar.gz的归档压缩文件

    • 程序源代码需要编译成为二进制形式之后才能够运行

    • 源代码基本编译流程 :

      • ./configure 检测编译环境、相关库文件以及配置参数并生成makefile
      • make 对源代码进行编译,生成可执行文件
      • make install 对生成的可执行文件安装到计算机中
    • 源代码形式的软件使用起来较为麻烦,但是兼容性及可控制性较好

    • 开源软件一般都会大量使用其他开源软件的功能,所以开源软件会有大量的依赖关系

    • 源代码形式的缺点:操作复杂、编译时间长、极容易出现错误

    • 源代码形式的优点:使用所有系统、可定制

    RPM

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

    RPM设计目标

    • 使用简单
    • 使用单一软件包格式文件发布(.rpm文件)
    • 可升级
    • 追踪软件依赖关系
    • 基本信息查询
    • 软件验证功能
    • 支持多平台

    RPM命名规范

    linuxxxx-1.0.1-30.el6.i686.rpm
    软件名 版本号 系统和平台

    RPM基础命令

    • 安装软件:rpm -i software.rpm
    • 卸载软件:rpm -e software
    • 升级形式安装: rpm -U software-new.rpm
    • rpm支持通过http、ftp协议安装软件
    • -v 显示详细信息
    • -h 限制进度条

    RPM查询

    • rpm -qa 列出所有安装的rpm软件

    • rpm -qf fileName 查询目标文件属于哪个rpm包

    • rpm -qi packageName 查询指定已安装rpm软件的信息

    • rpm -ql packageName 查询指定已安装rpm软件包含的文件

    • rpm -qip software.rpm 未安装的rpm文件的信息

    • rpm -qlp software.rpm 未安装的rpm文件包含的文件

      (加一个p就是查看未安装的了)

    RPM验证

    软件在传播的过程中可能会被恶意修改,所以为了安全,需要对软件进行验证

    验证一般使用非对称加密算法,所以需要一个秘钥

    导入秘钥:

    ​ rpm --import xxx-xxx-xxx-xxx

    验证rpm文件

    ​ rpm -K software.rpm

    验证已安装的软件

    ​ rpm -V software

    YUM

    rpm软件包形式管理软件虽然方便,但是需要手工解决软件包的依赖关系,很多时候安装一个软件需要首先安装1

    个或多个(有时多达上百个)其他软件,手工解决时很复杂。使用yum可以解决这个问题。

    YUM(Yellowdog Updater Modified)是一个RPM的前端程序,主要目的是设计用来自动解决RPM的依赖关系问

    题。其特点如下:

    • 自动解决依赖关系
    • 可以对RPM进行分组,并基于组进
    • 行安装操作
    • 引入仓库概念,支持多个仓库
    • 配置简单

    YUM仓库

    YUM引入了仓库(repo)的概念、仓库用来存放所有现有的rpm软件包,当使用yum安装一个rpm软件时候,如果存在依赖关系,会自动在仓库中查找依赖软件并安装。

    • 仓库可以是本地的,也可以通过HTTP、FTP或NFS形式使用集中的、统一的网络仓库(如仓库中没有需要的依赖关系软件包,yum也无法解决软件依赖问题)
    • yum使用仓库保存管理rpm软件包,仓库的配置文件保存在/etc/yumrepos.d/目录下,格式如下:
      • [linuxcast]
        name=This is abc repo
        baseurl=http://www.abc.com/i386/rpms/(可以是互联网上的yum仓库,也可以是本地的一个文件目录)
        enabled=1(1:启用该仓库,0:禁用该仓库)
        gpgcheck=1(是否打开校验。防止rpm包进行恶意修改)
    • 仓库可以使用file,http,ftp,nfs方式
    • yum配置文件必须以.repo结尾
    • 一个配置文件内可以保存多个仓库的配置信息
    • /etc/yum.repos.d/目录下可以存在多个配置文件

    YUM查询

    通过以下命令使用yum进行查询操作:

    • yum search keyword 搜索

    • yum list (all | installed | recent | updates) 列出全部、安装的、最近的、软件更新

    • yum info packagename 显示指定软件的信息

    • yum whatprovides filename 查询哪个rpm软件包含目标文件

    创建YUM仓库

    可以通过以下方式手工创建yum仓库:

    1. 将所有rpm文件拷贝到一个文件夹中

    2. 通过rpm命令手工安装createrepo软件

    3. 运行命令createrepo -v /rpm-directory

    4. 如果有分组信息,则在运行命令的时候使用-g参数指定分组文件

      createrepo -g /tmp/*compsxml /rpm-directory

      CentOS/RHEL的分组信息保存在光盘repodata/目录下,文件名以comps.xml结尾的xml文件

    创建好之后本机可以通过file方式直接使用,如果需要作为对外的YUM仓库服务器,可以通过HTTP,FTP或NFS协议共享出去

    YUM CACHE

    yum为了提高速度会通过缓存很多信息,但是有时候缓存会造成一些故障,可以通过以下命令来清除缓存:

    ​ yum clean all

    每次运行安装或查询类命令会重建yum缓存

  • 相关阅读:
    Spring IOC之容器概述
    SQL Server之记录筛选(top、ties、offset)汇总
    [译]Java 设计模式之单例
    [译]Java 设计模式之适配器
    [译]Java 设计模式之桥接
    [译]Java 设计模式之装饰器
    [译]Java 设计模式 之模板方法
    [译]Java 设计模式之抽象工厂
    [译]Java 设计模式之工厂
    传入两个字符串,确认其中一个字符串重新排序后能否变为另一个字符串(也就是两个字符串相等)
  • 原文地址:https://www.cnblogs.com/FromZeroToGod/p/10676816.html
Copyright © 2020-2023  润新知