博客
关于我
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/

    你可能感兴趣的文章
    PostgreSQL学习总结(8)—— PostgreSQL 基于数据库和基于模式(schema)的多租户分析
    查看>>
    PostgreSQL学习总结(9)—— PostgreSQL 运算符与表达式
    查看>>
    PostGreSql学习笔记001---PostgreSQL10.4安装(Windows)_支持PostGreGis_PostJDBC
    查看>>
    PostGreSql学习笔记002---Navicat Premium中管理PostGreSql 错误:字段rolcatupdate 不存在
    查看>>
    PostgreSQL学习笔记:PostgreSQL vs MySQL
    查看>>
    PostgreSQL实现shape数据转geojson数据(地图工具篇.18)
    查看>>
    PostgreSQL导入shape数据(地图工具篇.10)
    查看>>
    PostGreSql工作笔记003---在Navicat中创建数据库时报错rolcatupdate不存在_具体原因看其他博文_这里使用pgAdmin4创建管理postgre
    查看>>
    PostGreSql工作笔记004---PostGreSql修改密码_windows和linux下修改
    查看>>
    Postgresql常用命令行操作_以及Navicat操作PostGis时的问题_自动截取长度_WKB structure does not match exp---PostgreSQL工作笔记005
    查看>>
    PostgreSQL忘记密码
    查看>>
    PostgreSQL数据库pg_dump命令行不输入密码的方法
    查看>>
    PostgreSQL新手入门
    查看>>
    postgresql树状结构查询示例
    查看>>
    PostgreSQL流复制参数max_wal_senders详解
    查看>>
    postgresql流复制配置
    查看>>
    PostgreSQL清空表并保留表结构、清空数据库还原数据库为新建时的状态的方法
    查看>>
    PostgreSQL的 initdb 源代码分析之九
    查看>>