Linux包管理工具yum和apt有什么区别
发布时间 - 2023-05-30 00:00:00 点击率:次一般来说著名的 linux 系统基本上分两大类:redhat 系列:redhat、centos、fedora 等;debian 系列:debian、ubuntu 等。
yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。
概述
一般来说著名的 Linux系统基本上分两大类:
RedHat 系列:Redhat、Centos、Fedora 等
Debian 系列:Debian、Ubuntu 等
RedHat 系列
常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数”
包管理工具 yum
支持tar包
Debian系列
常见的安装包格式 deb包,安装deb包的命令是“dpkg -参数”
包管理工具 apt-get
支持tar包
tar 只是一种压缩文件格式,所以,它只是把文件压缩打包而已。
rpm 相当于windows中的安装文件,它会自动处理软件包之间的依赖关系。
优缺点来说,rpm一般都是预先编译好的文件,它可能已经绑定到某种CPU或者发行版上面了。
tar一般包括编译脚本,你可以在你的环境下编译,所以具有通用性。
如果你的包不想开放源代码,你可以制作成rpm,如果开源,用tar更方便了。
tar一般都是源码打包的软件,需要自己解包,然后进行安装三部曲,./configure, make, make install. 来安装软件。
rpm是redhat公司的一种软件包管理机制,直接通过rpm命令进行安装删除等操作,最大的优点是自己内部自动处理了各种软件包可能的依赖关系。
系列对比
| 对比项 | rpm | yum | dpkg | apt |
|---|---|---|---|---|
| 系列 | RedHat系 | RedHat系 | Debian系 | Debian系 |
| 区别 | 包安装工具 | 依赖管理工具 | 包安装工具 | 依赖管理工具 |
| 查询已安装 | rpm -qa | yum list installed | dkpg -l | apt list –installed |
| 安装 | rpm -i package.rpm 或 rpm –ivh http://www.xxx.net/package.rpm | yum install -y | dpkg -i package.deb | apt-get install package |
| 更新 | rpm –U software.rpm | yum update | apt upgrade | |
| 移除软件包 | rpm -e [module1][module2]… | yum -remove | dpkg -r package | apt remove package |
| 移除软件包及配置 | dpkg -P | apt purge package | ||
| 下载的包存放位置 | /var/cache/apt/archives | |||
| 软件安装默认位置 | rpm -ql | /usr/share | ||
| 可执行文件位置 | /usr/bin | /usr/bin | ||
| 配置文件位置 | /etc | /etc | ||
| lib文件位置 | /usr/lib | /usr/lib | ||
| 使用手册 | /usr/share/doc | |||
| 帮助文档 | /usr/share/man | |||
| 更新 |
使用方式
1 dpkg包
dpkg (Debian Package)管理工具,软件包名以.deb后缀。类似redhat的rpm。这种方法适合系统不能联网的情况下。
比如安装tree命令的安装包,先将tree.deb传到Linux系统中。再使用如下命令安装。
dpkg -i tree_1.5.3-1_i386.deb 安装软件 sudo dpkg -r tree 卸载软件
注:将tree.deb传到Linux系统中,有多种方式。VMware Tools可以通过挂载的方式安装,也可以使用WinSCP等工具进行安装
2 APT
Advanced Packaging Tool(APT)是一种高级软件工具。这种方法适合系统能够连接互联网的情况。类似redhat的yum。
apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
apt 命令执行需要超级管理员权限(root)。
Debian系列的操作系统如Debian和Ubuntu都适用apt
。在Ubuntu下,apt-get近乎是最常用的shell命令之一了,因为他是Ubuntu安装软件的常用工具命令。
依然以tree为例
apt-get install tree 安装tree apt-get remove tree 卸载tree apt-get update 更新软件 apt-get upgrade apt-setup 设定/etc/apt/souces.list apt-get update 软体资料库同步 apt-get install softwarename1 [softwarename2.....] 安装软体 apt-get remove softwarename 1 [softwarename 2...] 移除软体(保留设定档) apt-get --purge remove softwarename 1 [softwarename 2...] 移除软体(不保留设定档) apt-cache search softwarename 列出所有sofrwarename的套件 apt-upgrade [softwarename 1 softwarename2...] 更新套件,不指定套件名则更新所有可更新的套件 apt-get clean(autoclean) 删除系统暂存的deb(autoclean只会将比目前系统旧版的套件删除) apt-get dist-upgrade 转换系统的版本(需在/etc/apt/sources.list指定stable,testing或unstable)
3 rpm包
将.rpm文件转为.deb文件
.rpm为RPM (Red Hat系):CentOS、Fedora使用的软件格式。在Ubuntu下不能直接使用,所以需要转换一下。
alien abc.rpm
3.1 安装
rpm -i 需要安装的包文件 rpm -iv 需要安装的包文件(显示安装详情) rpm -ivh 需要安装的包文件(显示安装详情及进度
3.2 升级
rpm -U 需要升级的包文件 rpm -Uvh 需要升级的包文件(显示升级详情及进度)
3.3 卸载
rpm -e 需要卸载的软件包
注:如果其他程序依赖要卸载的包,系统会提示不能删除,若需要强行删除加上–nodeps,
会强制删除,但可能导致依赖于它的软件不能运行。
3.4 查看
查看已安装
rpm -qa 查看已安装 rpm -qa | grep "软件或者包的名字" 查看指定包
4 yum安装
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum特点
可以同时配置多个资源库(Repository)
简洁的配置文件(/etc/yum.conf
自动解决增加或删除rpm包时遇到的倚赖性问题
使用方便
保持与RPM数据库的一致性
yum详细指令
1、安装: yum install 软件 2、升级: yum update 软件 3、删除: yum remove 软件 4、查看: yum info 软件 5、搜索软件: yum search 软件 6、查看依赖关系: yum deplist 软件 7、查看已安装软件: yum list installded
# linux
# 软件包
# 套件
# 移除
# 都是
# 是一个
# 你可以
# 安装包
# 管理器
# 配置文件
# 两大类
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
香港服务器网站卡顿?如何解决网络延迟与负载问题?
javascript中的try catch异常捕获机制用法分析
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
浅析上传头像示例及其注意事项
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
制作电商网页,电商供应链怎么做?
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
微信小程序 wx.uploadFile无法上传解决办法
Laravel怎么实现验证码(Captcha)功能
如何自定义建站之星网站的导航菜单样式?
如何用wdcp快速搭建高效网站?
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
node.js报错:Cannot find module 'ejs'的解决办法
Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】
HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
使用豆包 AI 辅助进行简单网页 HTML 结构设计
瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口
Laravel如何发送系统通知?(Notification渠道示例)
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
高防服务器租用如何选择配置与防御等级?
如何在Windows虚拟主机上快速搭建网站?
如何在阿里云虚拟主机上快速搭建个人网站?
java中使用zxing批量生成二维码立牌
javascript如何操作浏览器历史记录_怎样实现无刷新导航
如何批量查询域名的建站时间记录?
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
如何用JavaScript实现文本编辑器_光标和选区怎么处理
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置
无锡营销型网站制作公司,无锡网选车牌流程?
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
如何在 Pandas 中基于一列条件计算另一列的分组均值
Laravel如何实现文件上传和存储?(本地与S3配置)
用v-html解决Vue.js渲染中html标签不被解析的问题
如何正确下载安装西数主机建站助手?
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
清除minerd进程的简单方法
Laravel如何使用Livewire构建动态组件?(入门代码)
网站制作软件免费下载安装,有哪些免费下载的软件网站?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】

