Linux 软件安装

软件包管理简介

  • 软件包分类
    • 源码包
      • 优点:
        • 开源,如果有足够的能力,可以修改代码
        • 可以自由选择所需的功能
        • 软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
        • 卸载方便
      • 缺点:
        • 安装步骤较多,尤其安装较大的软件集合时,容易出现拼写错误
        • 编译过程时间较长,安装比二进制安装时间长
        • 编译安装一旦报错,新手很难解决安装错误
    • 二进制包(RPM 包、系统默认包)
      • 优点:
        • 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载
        • 安装速度比源码包安装快得多
      • 缺点:
        • 经过编译,不再可以看到源代码
        • 功能选择不如源码包灵活
        • 依赖性
    • 脚本安装包(本质是源码包和二进制包)
      • 优点:安装简单、快捷
      • 缺点:完全丧失了自定义性

RPM 命令管理

RPM 包命令规则

  • httpd-2.2.15-15.el6.centos.1.i686.rpm
    • httpd:软件包名
    • 2.2.15:软件版本
    • 15:软件发布的次数
    • el6.centos:适合的 Linux 平台
    • i686:适合的硬件平台
    • rpm:rpm 包扩展名

RPM 包依赖性

  • 树形依赖:a->b->c
  • 环形依赖:a->b->c->a
  • 模块依赖:查询网站:www.rpmfind.net

RPM 安装命令

包全名与包名

  • 包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径。
  • 包名:操作已经安装的软件包时,使用包名,是搜索 /var/lib/rpm/ 中的数据库

RPM 包安装

  • 安装
    • rpm [选项] 包全名
      • 选项:
        • -i(install)安装
        • -v(verbose)显示详细信息
        • -h(hash)显示进度
        • --nodeps 不检测依赖性
  • 升级
    • rpm -Uvh 包全名
      • 选项:
        • -U 升级
  • 卸载
    • rpm -e 包名
      • 选项:
        • -e 卸载
        • –nodeps 不检查依赖性
  • 查询
    • rpm -qa 查询所有已经安装的 RPM 包
    • rpm -q 包名 查询包是否安装
    • rpm -qi 包名 查询软件包详细信息
    • rpm -ql 包名 查询包中文件安装位置
      • RPM 包默认安装路径
        • /etc 配置文件安装目录
        • /usr/bin 可执行命令安装目录
        • /usr/lib 程序所使用的函数库保存位置
        • /usr/share/doc 基本的软件使用手册保存位置
        • /usr/share/man/ 帮助文件保存位置
    • rpm -qf 系统文件名
      • 选项:
        • -f 查询系统文件属于哪个软件包(file)
    • rpm -qR 包名
      • 选项:
        • -R 查询软件包的依赖性
        • -p 查询未安装包信息

Yum 命令管理

  • 查询
    • yum list 查询所有可用软件包列表
    • yum search 关键字 搜索服务器上所有和关键字相关的包
  • 安装
    • yum -y install 包名
      • 选项:
        • install 安装
        • -y 自动回答 yes
  • 升级
    • yum -y update 包名
      • 选项:
        • update 升级
        • -y 自动回答 yes
  • 卸载
    • yum -y remove 包名
      • 选项:
        • remove 卸载
        • -y 自动回答 yes
  • 组管理
    • yum grouplist 列出所有可用的软件组列表
    • yum groupinstall 软件组名 安装指定软件组,组名可以由 grouplist 查询出来
    • yum groupremove 软件组名 卸载指定软件组

源码包安装

源码包安装位置需要手动指定,一般安装在 /usr/local/软件名

安装源码包之前需要安装 C 语言编译器

源码包安装过程

  • 下载源码包
  • 解压缩下载的源码包
  • 进入解压缩目录
  • ./configure 软件配置与检查
    • 定义需要的功能选项
    • 检测系统环境是否符合安装要求
    • 把定义好的功能选项和检测系统环境的信息都写入 Makefile 文件,用于后续的编辑
  • make 编译
    • make clean 如果编译错误,尝试执行 make clean
  • make install 编译安装

源码包不需要卸载命令,直接删除安装目录即可。不会遗留垃圾文件