美文网首页
Linux 软件安装管理

Linux 软件安装管理

作者: IstvanShaw | 来源:发表于2018-07-08 21:30 被阅读0次

    Linux 也存在类似 Windows 的图形化软件安装方式;
    但是经常作为服务器操作系统的 Linux,经常不会安装图形化操作界面;
    所以使用命令行成为 Linux 最常用最方便的软件安装方式;
    下面我们主要介绍 Linux 使用命令行进行软件安装和管理;

    软件管理简介

    1. 源码包

    源码包常见的安装包为 tar 包,比如 httpd-2.4.33.tar.gz,它是使用 Unix 的打包工具 tar 打包的;
    只要 Linux 安装了 gcc 等编译器都支持源码包的安装;

    源码包的优点是:

    • 开源,有能力的话可以对源码进行修改,所以可以自由选择自己所需的功能;
    • 本机兼容性好,更加稳定和高效,只要编译通过,就不存在各种库依赖的问题;
    • 卸载方便,直接删除安装目录即可;
    • ...

    源码包的缺点是:

    • 安装步骤多,容易出错,解决问题麻烦;
    • 安装编译耗时过长,编译麻烦;
    • 缺乏自动依赖管理,软件升级麻烦;

    2. rpm 包

    介于源码包安装的种种局限性,RedHat Linux 提供了一种对源码编译后二进制文件封装的格式 rpm,比如
    httpd-2.4.6-80.el7.centos.x86_64.rpm,现在全称为 RPM Package Manager,以前叫 RedHat Package Manager;
    rpm 的优点缺点与源码包安装相反,各有优缺,需要用户自行判断选择使用哪种安装方式;

    3. 脚本安装

    当我们安装复杂大型的软件时,可以使用别人写好的 shell 脚本进行批量自动化安装;
    脚本安装时安装的依然是源码包和 rpm 包;
    优点是安装简单快捷,缺点则是丢失了安装的自定义;

    rpm 命令管理

    1. 命名规则

    rpm 包拥有统一的命名规则,比如:httpd-2.4.6-80.el7.centos.x86_64.rpm

    命名 说明
    httpd 包名称
    -2.4.6 版本
    -80 发布的次数
    el7.centos 适合的 Linux 发行版本
    x86_64 适合的硬件平台
    rpm 包扩展名

    2. 安装、升级与卸载命令

    • 安装命令:
    rpm -ivh <包全名>
    
    -i(install)安装
    -v(verbose)显示详细信息
    -h(hash)显示进度
    --nodeps 不检测依赖性(不推荐使用)
    
    • 升级命令(当包未安装时,也可用作安装命令):
    rpm -Uvh <包全名>
    
    -U(upgrade)升级
    
    • 卸载命令:
    rpm -e <包名>
    
    -e(erase)卸载
    --nodeps 不检测依赖性(不推荐使用)
    

    3. rpm 包查询

    1. 查询命令
    rpm [参数] <包名>
    
    -q(query)查询
    -i(information)软件信息
    -l(list)文件安装目录列表
    -R(requires)包依赖性
    -p(package)未安装包信息
    
    rpm -qi <包名> rpm -ql <包名> rpm -qR <包名>
    1. 查询所有已经安装的 rpm 包
      该命令通常和管道符组合查询已安装的包
    rpm -qa
    
    -a(all) 所有
    
    1. 查询文件属于哪个软件包
    rpm -qf <文件名>
    
    -f(file)查询文件属于哪个软件包
    
    1. rpm 包通常安装位置
    目录 说明
    /etc/ 配置文件
    /usr/bin/ 可执行命令
    /usr/lib 函数库
    /usr/share/doc/ 使用手册
    /usr/share/man/ 帮助文件

    4. rpm 包校验

    rpm -V <包名>
    
    -V(verify)校验指定包中的文件
    

    当 rpm 包文件被修改后,使用校验命令会返回被修改的信息:

    • 验证内容中信息具体说明:
    验证信息 说明
    S 文件大小是否改变
    M 文件类型或权限是否改变
    5 文件md5校验值是否改变
    D 设备主从代码是否改变
    L 文件路径是否改变
    U 文件所有者是否改变
    G 文件用户组是否改变
    T 文件修改时间是否改变
    • 文件类型说明:
    文件类型 说明
    c 配置文件(config file)
    d 普通文件(documentation)
    g 不属于这个 rpm 包(ghost file)
    L 授权文件(license file)
    r 描述文件(read me)

    yum 在线安装

    由于 rpm 包安装时的各种依赖问题导致的不方便,yum 安装方式应运而生;
    当使用 yum 目录命令进行软件包安装时,Linux 会从指定的 yum 源下载安装 rpm 包,并且自动解决各种包依赖的问题;

    1. yum 源文件

    yum 源文件位于 /etc/yum.repos.d/ 目录中,默认生效文件为 CentOS-Base.repo

    yum 源文件内容说明:

    说明
    [base] 容器名称,写在 [ ]
    name 容器说明
    enabled 是否生效,值为1或者不写时为生效,0不生效
    baseurl 源服务器地址
    gpgcheck 为1表示 rpm 数字证书生效
    gpgkey 数字证书公钥文件保存位置

    2. yum 命令

    # 列出所有可用软件包列表
    yum list
    # 列出所有可用的软件组列表
    yum grouplist
    
    # 搜索所有和关键词相关的包
    yum search <关键词>
    
    # 安装
    yum -y install <包名> # -y 遇到确认时自动回答 yes
    # 安装指定软件组
    yum groupinstall <软件组名>
    
    # 升级(不建议使用)
    yum -y update <包名>
    
    # 卸载(不建议使用)
    yum -y remove <包名>
    # 卸载指定软件组
    yum groupremove <软件组名>
    

    源码包安装

    源码包通常保存位置为 /usr/local/src/
    源码包通常安装位置为 /usr/local/包名/

    # 安装C语言编译器
    yum -y install gcc
    
    # 下载源码包
    
    # 解压源码包
    tar -zxvf httpd-2.4.33.tar.gz
    
    # 进入解压目录
    cd httpd-2.4.33
    
    # 软件配置与检查 --prefix指定安装位置
    ./configure --prefix=/usr/local/apache2
    
    # 编译
    make
    
    # 安装
    make install
    

    脚本安装

    以安装 LNMP 为例:https://lnmp.org/install.html

    参考:
    慕课网 Linux软件安装管理

    相关文章

      网友评论

          本文标题:Linux 软件安装管理

          本文链接:https://www.haomeiwen.com/subject/wubouftx.html