博客
关于我
1.12 Linux系统中的软件管理
阅读量:251 次
发布时间:2019-03-01

本文共 2617 字,大约阅读时间需要 8 分钟。

Linux中的软件包管理

软件包类型

在Linux系统中,软件包的管理是日常操作的重要内容。常见的软件包格式包括DEB、RPM、源码包、绿色软件包等。以下是几种常见的软件包类型及其特点:

  • DEB(Ubuntu、Debian)

    DEB软件包是Debian系列Linux分布式操作系统中使用的软件包格式。这种格式的包文件通常以.deb为扩展名,安装时需要解压并执行dpkg命令。DEB包支持依赖管理,安装时会自动下载并安装相关依赖软件包。

  • RPM(RedHat、CentOS、Fedora)

    RPM(RPM Package Manager)是RedHat系列Linux系统(如CentOS、Fedora等)常用的软件包管理工具。RPM文件通常以.rpm为扩展名,安装时可以通过rpm命令直接处理。RPM支持依赖管理,但在某些情况下可能需要手动处理依赖关系。

  • 源码包

    源码包包含软件的源代码和相关编译工具。安装时需要进行编译和配置,通常使用configure脚本。源码包的优势在于可以根据具体需求进行定制,但安装过程较为复杂。

  • 绿色软件包

    绿色软件包(Green Software Packages,GSP)是由Red Hat提供的预编译二进制软件包。这些包经过严格的测试和验证,可以直接运行,无需安装即可使用。绿色软件包在RHEL8中是默认推荐的安装方式。

  • bz2、gz、xz

    这些压缩格式的软件包通常用于源码安装。例如,ntfs-3gntfsprogs-2017.3.23.tgz需要解压后通过configure脚本进行配置和编译。Firefox的绿色安装包可以直接使用,无需安装。

  • 软件包名称结构

    软件包名称通常包含以下信息:

    • 软件名
    • 软件版本
    • 授权协议版本
    • 软件架构(如x86_64)
    • 软件类型后缀(如rpm)

    例如:linuxqq_2.0.0-b2-1084_x86_64.rpm

    • 软件名:linuxqq
    • 软件版本:2.0.0-b2-1084
    • 软件架构:x86_64
    • 软件类型:rpm

    rpm命令管理软件包

    rpm命令是Linux系统中常用的软件包管理工具,支持以下操作:

    常用命令

    • 安装

      rpm -ivh package.rpm
      • -i:安装
      • -v:详细信息
      • -h:显示进度条
    • 查询

      rpm -q package.rpm

      查询指定软件包的信息。

    • 卸载

      rpm -e package.rpm

      卸载指定软件包。

    • 清除缓存

      rpm -a package.rpm

      清除所有已安装软件包的缓存文件。

    • 验证校验码

      rpm -K package.rpm

      检查软件包的MD5校验码。

    • 更新校验

      rpm -V package.rpm

      检查已安装软件包是否被篡改。

    • 忽略依赖性安装

      rpm -ivh package.rpm --nodeps

      忽略软件包的依赖关系。

    本地软件仓库的搭建

    挂载ISO镜像

  • 挂载ISO镜像到本地目录:
    mkdir /westosomount && mount /path/to/rhel-8.2-x86_64-dvd.iso /westosomount
  • 卸载:
    umount /westosomount
  • 检查挂载状态

    使用df命令查看挂载情况:

    df -h

    搭建本地仓库

  • 创建仓库配置文件:
    vim /etc/yum.repos.d/westos.repo
  • 配置仓库信息:
    [westos]name=AppStreambaseurl=file:///westosomount/AppStreamgpgcheck=0enabled=1
  • 清除旧仓库缓存:
    dnf clean all
  • 安装软件:
    dnf install gcc
  • 挂载为开机自启动

    编辑rc.local文件:

    vim /etc/rc.d/rc.local

    添加自启动命令:

    mount /path/to/rhel-8.2-x86_64-dvd.iso /westosomount

    设置脚本可执行:

    chmod +x /etc/rc.d/rc.local

    网络软件仓库的搭建

    使用HTTP服务器搭建网络仓库

  • 安装HTTP服务器:
    dnf install httpd
  • 启动HTTP服务器:
    systemctl enable --now httpd
  • 创建共享目录:
    mkdir /var/www/html/westos
  • 挂载镜像:
    mount /path/to/rhel-8.2-x86_64-dvd.iso /var/www/html/westos
  • 测试访问:
    http://IP地址/westos
  • 配置仓库文件

    编辑westos.repo文件:

    vim /etc/yum.repos.d/westos.repo

    添加仓库信息:

    [westos]name=Westos Repositorybaseurl=http://IP地址/westos/AppStreamgpgcheck=0enabled=1

    使用dnf管理软件

    • 查询软件:
      dnf list
    • 安装软件:
      dnf install httpd
    • 卸载软件:
      dnf remove httpd

    dnf命令管理

    dnf的基本用法

    • 清除仓库缓存:
      dnf clean all
    • 列出所有软件:
      dnf list
    • 安装依赖软件:
      dnf install httpd

    dnf的高级功能

    • 搜索软件:
      dnf search httpd
    • 查看软件组信息:
      dnf group info GNOME
    • 处理软件依赖:
      dnf whatprovides ls

    下载软件包

    • 下载指定软件:
      yumdownloader httpd
    • 下载到指定目录:
      yumdownloader httpd --destdir=/opt

    第三方软件仓库的搭建

    配置第三方仓库

  • 修改仓库文件:
    vim /etc/yum.repos.d/thirdparty.repo
  • 添加仓库信息:
    [thirdparty]name=Third Party Repositorybaseurl=http://第三方镜像地址enabled=1gpgcheck=0
  • 更新仓库缓存:
    dnf clean all
  • 安装软件:
    dnf install thirdparty-package
  • 通过以上方法,可以轻松搭建和管理Linux系统中的软件仓库,方便进行软件安装、更新和卸载操作。

    转载地址:http://yssv.baihongyu.com/

    你可能感兴趣的文章
    NOI2010 海拔(平面图最大流)
    查看>>
    NOIp2005 过河
    查看>>
    NOIP2011T1 数字反转
    查看>>
    NOIP2014 提高组 Day2——寻找道路
    查看>>
    noip借教室 题解
    查看>>
    NOIP模拟测试19
    查看>>
    NOIp模拟赛二十九
    查看>>
    Vue3+element plus+sortablejs实现table列表拖拽
    查看>>
    Nokia5233手机和我装的几个symbian V5手机软件
    查看>>
    non linear processor
    查看>>
    Non-final field ‘code‘ in enum StateEnum‘
    查看>>
    none 和 host 网络的适用场景 - 每天5分钟玩转 Docker 容器技术(31)
    查看>>