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

yum、apt、apt-get的区别与使用

前言

在Linux中安装软件时,各种安装的命令整得我有些眼花缭乱的,有curl、wget、yum、apt-get、rpm等等,今天用时间来梳理一下这些软件包的安装工具。

在Linux中要安装软件,有两种方式:源码安装和二进制包,通过源码安装需要经过编译后才能得到可执行的二进制程序,较为繁琐。而通过软件包安装的直接就是可执行的程序,软件包管理起来也很简单。

在Linux中,软件包是管理、安装软件的方式,在Linux发行版中都有自己默认的软件包管理系统。
在Linux中主要有两种格式的软件包:

  • deb格式软件包,文件拓展名为.deb,由Debian Linux提出的,apt是基于deb包管理系统的工具,例如Debian、Ubuntu系统就是使用APT进行软件包的管理
  • rpm格式的软件包,由RedHat提出的,yum是基于rpm包管理系统的工具,CentOS就是默认使用YUM

yum和apt是两种不同的软件包管理工具,他们分别用于不同的Linux发行版

yum

yum是基于rpm包管理系统的工具,是CentOS的软件包管理工具
yum在安装软件包时,会把这个软件包依赖的包也安装。
yum命令的基本格式

yum [options] [command] [package....]

常用参数

参数描述
-y执行过程中自动回答yes
-q安静模式,不显示安装过程
-v详细模式
-R设置yum处理一个命令的最大等待时间

常用命令

搜索

yum search nginx

安装

yum install nginx
# 安装过程中自动回答yes
yum install -y nginx

卸载

yum remove nginx
yum earse nginx

查看已安装的软件包

# 查看已安装的包
yum list installed
# 查看所有已经安装和可以安装的程序包
yum list

查看某个软件包的信息

yum info nginx

查看某个软件包的依赖情况

# 查看docker的依赖情况
yum deplist docker

更新

# 检查可更新的软件
yum check-update
# 更新指定的包
yum update nginx
# 更新所有的包
yum update

软件组是一组软件包的集合

# 安装软件组
yum groupinstall groupxxx
# 升级软件组
yum groupupdate groupxxx
# 查看软件组信息
yum groupinfo gropuxxx
# 删除软件组
yum groupremove groupxxx

配置yum源

yum源一般存放在/etc/yum.repos.d/目录下,文件以.repo结尾

apt

apt是基于deb软件包管理系统的工具,是Debian和Ubuntu中的软件包管理工具

在Linux中aptapt-get两个命令都是apt工具的命令
但是apt-get是Debian系统中早期的软件包管理工具,可以用来安装、卸载、更新软件包等,apt包管理工具的一部分功能还给到了apt=cacheapt-config这些命令,管理包的命令过于分散,后期在Ubuntu中,apt命令出现了,就是为了统一apt-getapt-cacheapt-config等命令
在使用apt命令时,用户不再需要从apt-get切换到apt-cache等其他命令,apt统一了包管理的命令。
apt只是取代了apt-get部分常用的命令,并不兼容apt-get

虽然apt-get命令没有被弃用,但是推荐使用apt命令

# 安装软件包
apt-get install package
# 删除已安装的软件包(保留配置文件)
apt-get remove package
# 删除已安装的软件包(删除配置文件)
apt-get -purge remove packageName
# 更新源
apt-get update
# 更新已安装的包
apt-get upgrade

apt命令
安装

apt install packname
# 修复依赖关系来安装包
apt install -f packagename
# 重新安装包
apt install --reinstall packagename

更新源

apt update

更新软件安装包

# 升级所有已安装的包
apt upgrade

升级指定的包,需要使用安装的命令

apt install packageName

删除包

# 删除软件包(保留配置文件)
apt remove packagename
# 删除软件包(删除配置文件)
apt purge pkgName
apt remove --purge pkgName
# 自动删除不需要的包
apt autoremove

查看

# 列出可升级的包
apt list --upgradeable
# 列出已安装的包
apt list --installed

查看软件包的信息

apt show pkgName

搜索软件包

apt search pkgName

补充

wget并不是Linux的软件包管理工具,是一个下载工具,类似于迅雷这样的下载工具。

curl是一个Linux上的网络请求工具,可以通过curl发起HTTP、HTTPS、FTP等网络请求,我们可以拿到服务器返回的数据,类似于PostMan这样的接口调试工具。

相关文章:

  • apollo3录音到wav播放解决方法
  • Pixelmator Pro for Mac 专业图像处理软件【媲美PS的修图】
  • perl、python、tcl语法中读写Excel的模块
  • 【Qt】带参数的信号和槽函数
  • HTML嵌入CSS样式超详解(尊享)
  • 《2025年软件测试工程师面试》MySQL面试题
  • 【性能工具】Perfetto中如何分析主线程为何进入sleep状态
  • Week4_250310~250316_OI日志(待完善)
  • PySide(PyQT),QGraphicsRectItem的setPos()和setRect()的坐标位置的区别
  • Dynamics 365 新版的Power apps开发界面中如何找到开发者资源
  • WM_CREATE
  • nndl: chap1_warmup_numpy_tutorial
  • Java高频面试之集合-09
  • 【Python】dash-fastapi前后端搭建
  • QT多线程
  • 初级网工之路: 如何通过服务器进行交换机的配置
  • Faster R-CNN原理详解以及Pytorch实现模型训练与推理
  • 【NexLM 开源系列】让 AI 聊天更丝滑:SSE 实现流式对话!
  • 存储过程和自定义函数在银行信贷业务中的应用(oracle)
  • pop_dialog_state(state: State)弹出对话栈并返回到主助手,让整个对话流程图可以明确追踪对话流,并将控制权委派给特定的子对话图。
  • 新华时评:中国维护国际经贸秩序的立场坚定不移
  • 快评|印巴为何停火?已达成“一场胜利,各自表述”的效果
  • 图集︱“中国排面”威武亮相
  • 黑灰产工作室为境外诈骗集团养号引流,冒充美女与男性裸聊后敲诈勒索
  • 罕见沙尘再度入川,官方:沙尘传输高度达到平流层,远超以往
  • 北外滩集团21.6亿元摘上海虹口地块,为《酱园弄》取景地