zoukankan      html  css  js  c++  java
  • Linux入门-9 软件管理基础(CentOS)

    0. 源代码形式

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

    1. RPM软件包管理

    • 源代码形式的缺点:操作复杂、编译时间较长、极容易出现错误
    • 源代码形式的优点:适用所有系统、可定制
    • 为了方便使用,Erik Troan和Marc Ewing开发了RPM(Readhat Package Manager)
    • RPM通过将源代码基于特定平台系统编译为可执行文件,并保存依赖关系,从而简化开源软件的安装管理
    • RPM设计目标如下:
      • 使用简单
      • 使用单一软件包格式文件发布(.rpm)
      • 可升级
      • 追踪软件依赖关系
      • 基本信息查询
      • 软件验证功能
      • 支持多平台

    RPM

    • 命名规范:name-version.os.platform.rpm
    • RPM基本命令:
      • 安装:rpm -i package.rpm
      • 卸载:rpm -e package
      • 升级:rpm -U package.rpm
      • 在线安装:rpm -ivh http://www.xxx.com/package.rpm
      • -v 显示详细信息
      • -h 显示进度条

    RPM查询

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

    RPM验证

    • 出于安全考虑
    • 一般使用非对称加密算法,所以需要一个密钥
    • 导入密钥:rpm --import RPM-GPG-KEY-CentOS-6
    • 验证rpm文件:rpm -K package.rpm
    • 验证已安装软件:rpm -V software

    2. YUM软件管理

    YUM(Yellowdog Updater, Modified)是一个RPM的前端程序,而RPM是一种软件封装形式,它主要用来自动解决RPM的依赖关系问题。其他特点如下:

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

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

    仓库可以是本地的,也可以通过HTTP, FTP或NFS形式使用集中的、统一的网络仓库。

    • YUM使用仓库保存管理rpm包,仓库的配置文件保存在/etc/yum.repos.d/目录中,格式如下:
    [LinuxCast]
    name = This is LinuxCast.net rpm soft repo
    baseurl = http://www.linuxcast.net/yum/centos/6/i386/rpms/
    enabled = 1
    gpgcheck = 1
    
    • 仓库可以使用file, http, ftp, nfs方式
    • yum配置文件必须以.repo结尾
    • 一个配置文件内可以保存多个仓库的配置信息
    • /etc/yum.repos.d/目录下可以存在多个配置文件

    YUM基本命令

    • yum install
    • yum remove
    • yum update

    YUM查询

    • yum search keyword
    • yum list (all|installed|recent|updates)
    • yum info packagename
    • yum whatprovides filename 查询文件包含在哪个软件包中

    创建YUM仓库

    ......

  • 相关阅读:
    转 : jmeter分布式测试的坑
    Node.js 事件循环
    ubuntu 16.04 安装nodejs
    java中native的用法
    分布式与集群的概念区别
    IntegerToBinaryString
    Mysql InnoDB事务
    浅析Mysql InnoDB存储引擎事务原理
    Mysql数据库事务的隔离级别和锁的实现原理分析
    MySQL中MyISAM和InnoDB的区别
  • 原文地址:https://www.cnblogs.com/whenyd/p/8441203.html
Copyright © 2011-2022 走看看