当前位置: 首页 > news >正文

linux命令-安装-9

大纲

命令依赖解决系统支持
rpm❌ 手动Red Hat 系
yum✅ 自动CentOS 7/RHEL 7
dnf✅ 自动CentOS 8+/Fedora
apt✅ 自动Debian/Ubuntu

rpm

RPM(Red Hat Package Manager)是Fedora、RedHat、CentOS等发行版的包管理工具,支持安装、卸载、升级、查询软件包及验证依赖关系

  • 安装与升级

    功能命令示例说明
    安装包rpm -ivh package.rpm-i安装,-v详细输出,-h显示进度条
    升级包rpm -Uvh package.rpm-U升级(未安装则直接安装)
    强制安装rpm -ivh --force package.rpm覆盖冲突文件或重新安装
    忽略依赖rpm -ivh --nodeps package.rpm不检查依赖关系(不推荐,可能导致运行异常)
  • 查询操作

    功能命令示例说明
    查询已安装包rpm -q nginx检查nginx是否安装
    列出所有已安装包rpm -qa配合grep筛选:rpm -qa
    查看包详细信息rpm -qi nginx显示版本、描述、安装时间等
    列出包安装文件rpm -ql nginx如配置文件、可执行文件路径
    查询文件所属包rpm -qf /usr/bin/nginx定位文件来源包
  • 卸载与维护

    功能命令示例说明
    卸载包rpm -e nginx需指定包名(非文件名)
    忽略依赖卸载rpm -e --nodeps nginx强制卸载(可能破坏依赖链)
    重建数据库rpm --rebuilddb修复损坏的RPM数据库
  • 使用注意事项

    • 依赖问题:RPM不自动解决依赖,推荐优先用yumdnf安装;若必须手动安装,需先解决缺失的共享库依赖。
    • 文件冲突:安装时提示文件已存在,可加--force覆盖。
    • 权限要求:安装、卸载、升级需root权限,普通用户仅可执行查询操作

yum

yum是基于RPM包管理的Shell前端工具,主要用于Red Hat、CentOS、Fedora、中标麒麟、银河麒麟、UOS、RHEL等Linux发行版。其核心功能是自动处理软件包依赖关系,支持从远程仓库(或本地)安装、卸载、更新、查询软件包,是Linux系统管理中最常用的包管理工具之一。

  • yum仓库说明

    • yum配置文件

      路径说明
      /etc/yum.conf为所有仓库提供公共配置
      /etc/yum.repos.d/*.repo为仓库的指向提供配置
    • yum自建私有仓库

      # 1、挂载iso到mnt
      [root@localhost ~]# mount /dev/cdrom /mnt/cdrom# 2、创建配置文件 /etc/yum.repo.d/iso.repo
      [repositoryID]   # 名称随便定义就行
      name=Some name for this repository
      # baseurl=url://path/to/repository/
      baseurl=file:///mnt/
      enabled={1|0}     # 1启动   0禁用
      gpgcheck={1|0}    # 1检验   0取消检验
      gpgkey=URL        # 如果gpgcheck为1 这里需要指定key
      
    • yum仓库公共

      厂商路径
      阿里云http://mirrors.aliyun.com/repo/
      dockerhttps://download.docker.com/linux/rhel/7/source/stable/
      麒麟v10https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/base/
      清华开源https://mirrors.tuna.tsinghua.edu.cn

      麒麟v10这个有aarch64、mips64(龙芯)、sw_64(申威)、x86_64, 4.19内核

    • rpm包查找

      网站名url路径
      pkgshttp://pkgs.org
      Rpmfindhttp://rpmfind.net
      rpmpbhttp://rpm.pbone.net
      sourceforgehttps://sourceforge.net/
    • 仓库启用(默认直接用就行)

      # yum repolist    # 列出yum来源
      # yum-config-manager --disable mono-centos8-stable  # 禁用 mono-centos8-stable
      # yum-config-manager --enable mono-centos8-stable  # 启用 mono-centos8-stable
      
  • 参数

    • 安装与升级

      功能命令
      安装Apacheyum install httpd -y
      安装本地RPMyum localinstall ./httpd-2.4.6-97.el7.centos.x86_64.rpm -y
      卸载Apacheyum remove httpd -y
      更新所有可更新的软件包(包括内核),保留旧版本文件yum update
      升级系统到最新版本,移除旧版本包(更彻底的升级)yum upgrade
    • 查询操作

      功能命令示例
      查看软件包详细信息yum info httpd
      搜索软件包yum search httpd
      列出所有可更新包yum list updates
      列出所有已安装包yum list installed
      列出所有可安装包yum list available
      查找文件所属包yum provides /usr/sbin/httpd
      查找对应命令对应的软件包yum whatprovides /usr/sbin/httpd
    • 清理缓存

      功能命令示例
      清理所有缓存(包+元数据)yum clean all
      清理包缓存(仅删除下载的RPM包)yum clean packages
      清理元数据缓存(仅删除仓库元数据)yum clean metadata
      清理本地缓存/var/cache/yum/$basearch/$releasever
  • 只下载不安装

    离线下载
    # 升级结束后去cachedir下将所有目录下的rpm文件取出组合在一起即为当前安装软件所需的所有文件# 下载本地,rpm包下载,yum下载
    使用yum downloadonly下载安装包
    yum -y install --downloadonly --downloaddir=./ openssh# 说明
    --downloadonly   只下载不安装
    --downloaddir     下载安装包的位置
    

DNF

在 RHEL 8.0 版本正式取代了 YUM,DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等, 下一代 安装包管理,跟7的参数差不太多

  • 软件包安装与卸载

    命令作用示例
    dnf install <包名> -y安装指定软件包(跳过确认)dnf install httpd -y(无需确认安装)
    dnf remove <包名>卸载指定软件包dnf remove httpd(卸载Apache)
    dnf reinstall <包名>重新安装指定软件包(修复损坏安装)dnf reinstall httpd(重新安装Apache)
  • 软件包更新
    命令作用示例
    dnf check-update检查系统中可更新的软件包dnf check-update(列出所有可更新包)
    dnf update/dnf upgrade更新所有已安装软件包(不改变系统设置)dnf update(更新所有包);dnf upgrade httpd(仅更新Apache)
    dnf distro-sync同步系统到最新稳定发行版(比update更彻底,会升级系统版本但保留内核)dnf distro-sync(同步到最新发行版)
    dnf downgrade <包名>降级指定软件包到之前的版本dnf downgrade httpd(将Apache降级到上一版本)
  • 软件包查询
    命令作用示例
    dnf search <关键字>根据关键字搜索软件仓库中的包dnf search nano(搜索nano文本编辑器)
    dnf info <包名>查看指定软件包的详细信息(版本、描述、依赖等)dnf info nano(查看nano的详细信息)
    dnf list列出所有已安装和可用的软件包dnf list(全部列出);dnf list installed(仅列已安装包);dnf list available(仅列可用包)
    dnf provides <文件路径>查找哪个软件包提供了指定文件dnf provides /bin/bash(查找/bin/bash的提供者)
  • 仓库管理
    命令作用示例
    dnf repolist列出已启用的软件仓库dnf repolist(查看启用的仓库)
    dnf repolist all列出所有仓库(包括禁用的)dnf repolist all(查看所有仓库状态)
    dnf config-manager --add-repo <仓库URL/文件>添加新仓库dnf config-manager --add-repo https://example.com/repo.repo (添加远程仓库)
    dnf config-manager --set-enabled <仓库名>启用指定仓库dnf config-manager --set-enabled epel(启用EPEL仓库)
    dnf config-manager --set-disabled <仓库名>禁用指定仓库dnf config-manager --set-disabled epel(禁用EPEL仓库)
  • 依赖与清理
    命令作用示例
    dnf autoremove删除无用孤立依赖(不再被任何包依赖的包)dnf autoremove(清理无用依赖)
    dnf clean all删除缓存文件(包括下载的包、元数据)dnf clean all(清理所有缓存,解决更新问题时常用)
  • 命令历史
    命令作用示例
    dnf history查看dnf命令执行历史(包括安装、更新、删除等操作)dnf history(列出历史命令)
    dnf history info <ID>查看指定历史条目的详细信息(ID来自dnf history的输出)dnf history info 10(查看第10条历史的详细信息)
  • 软件组管理
    命令作用示例
    dnf grouplist列出所有可用的软件组dnf grouplist(查看软件组列表)
    dnf groupinstall <组名>安装指定软件组dnf groupinstall 'System Tools'(安装系统工具组)
    dnf groupupdate <组名>更新指定软件组中的包dnf groupupdate 'System Tools'(更新系统工具组)
    dnf groupremove <组名>删除指定软件组dnf groupremove 'System Tools'(删除系统工具组)
  • 配置及日志

    说明路径
    配置文件/etc/dnf/dnf.conf
    仓库文件/etc/yum.repos.d/ *.repo
    日志/var/log/dnf.rpm.log

apt

  • 参数

    功能命令示例
    新软件源(获取最新软件信息)apt update
    安装指定软件包及其依赖(自动解决依赖问题)apt install nginx mysql
    升级所有已安装软件apt upgrade
    用于系统大版本升级,如Ubuntu 22.04→24.04apt full-upgrade
    卸载软件,但保留配置文件,方便重新安装时恢复配置。apt remove nginx
    自动清理未使用的依赖apt autoremove
    搜索软件源中的软件包(支持模糊匹配)apt search [关键词]
    清理所有下载的包缓存apt clean
    将软件包下载到当前目录(.deb格式),用于离线安装。apt download [软件包名]
http://www.dtcms.com/a/558233.html

相关文章:

  • 告别重复图片!VisiPics 图片去重工具,高效清理存储空间
  • 哪个全球购网站做的好处ui设计师工作流程
  • WordPress站点地址填错wordpress地图怎么实现
  • pt网站怎么下载与做有什么做h5的网站
  • 南宁致峰网站建设网站架构分类
  • 04-Fiddler详解+抓包定位问题
  • 怎样建设一个公司网站wordpress页面相册
  • 本地网站开发公司成都打鱼网站建设
  • 跟着小码学算法Day20:构造二叉树
  • 上海建设网站定做wordpress添加背景图
  • 海口网站建设运营个人网站主页设计
  • 网站如何被搜索到亚马逊新店投广告是免费的吗
  • Jdk反射优化
  • Java进阶之泛型
  • 西门子S7-300 PLC与MES双向通讯实现:借助MPI以太网通讯处理器
  • 上海优化网站关键词免费注册企业网站
  • 3.2.8.1.JdbcTemplate
  • 单位网站建设意义企业视频网站模板
  • C++笔记(面向对象)虚析构函数 纯虚函数 抽象类 final、override关键字
  • Kanass V1.3.4 版本发布,支持项目内集成sward文档、集成GitPuk代码及Arbess流水线
  • 正规的网站建设公司扬中营销网站建设
  • VSCode美化之修改新窗口首页/启动页logo
  • 做磨砂卡贴的网站网站建设是虚拟行业吗
  • 网站单页面制作wordpress会员页面
  • 电商网站设计工作内容厦门做外贸网站
  • c 网站开发简单实例wordpress的文章title在哪里
  • 选择排序优化
  • 想把公司的外部网站替换dede网站地图不显示文章列表
  • 最简单做网站亚马逊雨林的危险之处
  • 全源最短路(Johnson)