undefined

软件包管理

一、软件包管理器

  • 包管理器是方便软件安装、卸载,解决软件依赖关系的重要工具
    • Centos、RedHat 使用 yum 包管理器,软件安装包格式为 rpm
    • Debian、Ubuntu 使用 apt 包管理器,软件安装包格式为 deb

二、rpm 包

rpm 包格式:

1
vim-common-7.4.10-5.el7.x86_64.rpm
  • vim-common:软件名称
  • 7.4.10-5:软件版本
  • el7:系统版本
  • x86_64:平台

rpm 命令常用参数:

  • -q:查询软件包
    • rpm -qa | more 查看所有的的软件包
    • rpm -q vim-common 查看指定的软件包
  • -i:安装软件包
    • rpm -i vim-common-7.4.10-5.el7.x86_64.rpm 安装
  • -e:卸载软件包

rpm包的问题:

  • 需要自己解决依赖关系
  • 软件包来源不可靠

三、yum 包管理

  • Centos yum 源:http://mirror.centos.org/centos/7/
  • 国内镜像:https://opsx.alibaba.com/mirror

yum配置文件:

  • /etc/yum.repos.d/CentOS-Base.repo

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 基础应用的包
    [base]
    name=CentOS-$releasever - Base - mirrors.aliyun.com
    failovermethod=priority
    baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
    http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
    http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
    # 检测软件包是否被修改
    gpgcheck=1
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
  • wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

阿里云的镜像的配置方法: https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.4f0e1b11sthvxA

yum makecache:清空缓存,然后通过新的源来更新元数据

yum 命令常用选项:

  • install:安装软件包
  • list:已经安装的软件包
  • remove:卸载软件包
  • update:如果不指定具体软件包,则升级所有已安装的软件包

四、源代码编译安装软件包

  • 二进制安装

  • 源代码编译安装

    1
    2
    3
    4
    5
    6
    7
    8
    9
    wget https://openresty.org/download/openresty-1.15.8.1.tar.gz
    tar -zxf openresty-1.15.8.1.tar.gz
    cd openresty-1.15.8.1
    # 自动配置内核版本、gcc版本之类,还指定程序的安装位置
    ./configure --prefix=/usr/local/openresty
    # 编译 -j2 使用两个逻辑 CPU 编译
    make -j2
    # 安装
    make install