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

    你可能感兴趣的文章
    No resource identifier found for attribute 'srcCompat' in package的解决办法
    查看>>
    no session found for current thread
    查看>>
    No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
    查看>>
    NO.23 ZenTaoPHP目录结构
    查看>>
    no1
    查看>>
    NO32 网络层次及OSI7层模型--TCP三次握手四次断开--子网划分
    查看>>
    NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
    查看>>
    Node JS: < 一> 初识Node JS
    查看>>
    Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime(72)
    查看>>
    Node-RED中使用JSON数据建立web网站
    查看>>
    Node-RED中使用json节点解析JSON数据
    查看>>
    Node-RED中使用node-random节点来实现随机数在折线图中显示
    查看>>
    Node-RED中使用node-red-browser-utils节点实现选择Windows操作系统中的文件并实现图片预览
    查看>>
    Node-RED中使用node-red-contrib-image-output节点实现图片预览
    查看>>
    Node-RED中使用node-red-node-ui-iframe节点实现内嵌iframe访问其他网站的效果
    查看>>
    Node-RED中使用Notification元件显示警告讯息框(温度过高提示)
    查看>>
    Node-RED中实现HTML表单提交和获取提交的内容
    查看>>
    Node-RED中建立Websocket客户端连接
    查看>>
    Node-RED中通过node-red-ui-webcam节点实现访问摄像头并截取照片预览
    查看>>
    node-request模块
    查看>>