linux中rpm包与deb包的区别及使用

news2025/1/28 1:12:22

文章目录

  • 1. rpm与deb的区别
  • 2. deb软件包的格式和使用
    • 2.1 deb软件包命令遵行如下约定
    • 2.2 dpkg命令
    • 2.3 apt-命令
  • 3. Unix和Linux的区别
  • Reference

在这里插入图片描述

1. rpm与deb的区别

有的系统只支持使用rpm包安装,有的只支持deb包安装,混乱安装会导致系统问题。

关于rpm和deb

RPM(Red Hat Package Manager),是基于Red hat的Linux Distribution的包管理系统

同时也指rpm包本身,RPM用于rpm包的管理(诸如安装、卸载、升级等),

像Mandrake和SuSE这些基于RPM的发行版通常有自己特定的rpm包,

如果混合安装可能不会正常工作,而对于第三方发行的rpm包一般都能在基于RPM的系统上正常安装。


对于基于Debian的系统使用deb格式的包,有包转换工具使rpm与deb及其他文件之间互相转换(Alien Package Converter),

其安装和升级可用dpkg,不过它不能很方便地处理包的依赖关系,比较省事的有dselect和apt-get

Ubunut是debian的变种, 其软件以deb包或者源文件的形式出现。

rpm包主要用于redhat及分支如redhat,centos,Fedora等,而deb包主要用于debian及分支如debian,ubuntu等。

rpm包相对来说版本不是最新的,但是比较稳定;而deb包则相对来说版本比较新,一般某个新软件出来说可能有deb包,但是使用过程中容易引起bugs。

2. deb软件包的格式和使用

2.1 deb软件包命令遵行如下约定

soft_ver-rev_arch.deb

如:pptview_8.0-5_i386.deb 中名字是pptview,版本号8.0,架构为i386平台。

2.2 dpkg命令

root@huxiping:~# dpkg --help
Usage:
dpkg -i|--install <.deb file name> ... | -R|--recursive
...
dpkg --unpack <.deb file name> ... | -R|--recursive
...
dpkg -A|--record-avail <.deb file name> ... | -R|--recursive
...
dpkg --configure ... | -a|--pending
dpkg -r|--remove | -P|--purge ... | -a|--pending
dpkg --get-selections [ ...] get list of selections to stdout
dpkg --set-selections set package selections from stdin
dpkg --update-avail replace available packages info
dpkg --merge-avail merge with info from file
dpkg --clear-avail erase existing available info
dpkg --forget-old-unavail forget uninstalled unavailable pkgs
dpkg -s|--status ... display package status details
dpkg -p|--print-avail ... display available version details
dpkg -L|--listfiles ... list files `owned' by package(s)
dpkg -l|--list [ ...] list packages concisely
dpkg -S|--search ... find package(s) owning file(s)
dpkg -C|--audit check for broken package(s)
dpkg --print-architecture print dpkg architecture
dpkg --compare-versions compare version numbers - see below
dpkg --help | --version show this help / version number
dpkg --force-help | -Dh|--debug=help help on forcing resp. debugging
dpkg --licence print copyright licensing terms
Use dpkg -b|--build|-c|--contents|-e|--control|-I|--info|-f|--field|
-x|--extract|-X|--vextract|--fsys-tarfile on archives (type dpkg-deb --help.)
For internal use: dpkg --assert-support-predepends | --predep-package |
--assert-working-epoch | --assert-long-filenames | --assert-multi-conrep
Options:
--admindir= Use instead of /var/lib/dpkg
--root= Install on alternative system rooted elsewhere
--instdir= Change inst'n root without changing admin dir
-O|--selected-only Skip packages not selected for install/upgrade
-E|--skip-same-version Skip packages whose same version is installed
-G|--refuse-downgrade Skip packages with earlier version than installed
-B|--auto-deconfigure Install even if it would break some other package
--no-debsig Do no try to verify package signatures
--no-act|--dry-run|--simulate
Just say what we would do - don't do it
-D|--debug= Enable debugging - see -Dhelp or --debug=help
--status-fd Send status change updates to file descriptor
--log= Log status changes and actions to
--ignore-depends=,... Ignore dependencies involving
--force-... Override problems - see --force-help
--no-force-...|--refuse-... Stop when problems encountered
--abort-after Abort after encountering errors
Comparison operators for --compare-versions are:
lt le eq ne ge gt (treat empty version as earlier than any version);
lt-nl le-nl ge-nl gt-nl (treat empty version as later than any version);
< << <= = >= >> > (only for compatibility with control file syntax).
Use `dselect' or `aptitude' for user-friendly package management.
root@huxiping:~#
dpkg -i | --install xxx.deb 安装deb软件包
dpkg -r | --remove xxx.deb 删除软件包
dpkg -r -P | --purge xxx.deb 连同配置文件一起删除
dpkg -I | -info xxx.deb 查看软件包信息
dpkg -L xxx.deb 查看文件拷贝详情
dpkg -l 查看系统中已安装软件包信息
dpkg-reconfigure xxx 重新配置软件包

有些时候,您使用“dpkg”安装一个软件包,系统会提示您该软件包依赖其它软件包。这时,您先安装其它软件包,直到满足依赖关系为止。或者同时安装多个软件包。

dpkg -i aaa.deb bbb.deb ccc.deb 

2.3 apt-命令

ubuntu的apt-命令能够自动完成软件依赖,用的比较多的是apt-get,其实还有其他的用法可以挖掘一下的,比如下面

root@huxiping:~# apt-
apt-cache apt-config apt-ftparchive apt-key
apt-cdrom apt-extracttemplates apt-get apt-sortpkgs
root@huxiping:~# apt-

如果一个软件依赖关系过于复杂,使用“dpkg”来安装它,并不是一个明智的选择,这个时候您就需要用到APT软件包管理系统

APT可以自动的检查依赖关系,通过预设的方式来获得相关软件包,并自动安装配置它。事实上,在多数情况下,我们推荐您使用APT软件包管理系统。APT系统需要一个软件信息数据库和至少一个存放着大量deb包的软件仓库,我们称之为“源”。“源”可以是网络服务器,安装CD或者本地软件仓库。您需要修改“/etc/apt/sources.list”文件,使APT系统能够连接到“源”。

3. Unix和Linux的区别

在这里插入图片描述

Unix和Linux的主要区别在于它们的许可、历史、用户界面、硬件要求等。以下是相关介绍:

  • 许可。Unix是一个封闭的商业操作系统,通常只提供给付费用户或特定的合作伙伴;Linux是一个开源的操作系统,遵循GPL协议,允许用户自由地访问、修改和分发其源代码。

  • 历史。Unix是最早的商业操作系统之一,由肯·汤普森和丹尼斯·里奇在1969年开发;Linux由芬兰学生林纳斯·托瓦兹于1991年基于Unix的思想和Minix操作系统创建。

  • 用户界面。Unix通常更倾向于使用命令行界面,而Linux则更加注重图形用户界面的发展。

  • 硬件要求。Unix大多与硬件配套,对硬件的要求较高;Linux可以运行在多种硬件平台上,对硬件的要求较低。

  • 应用程序兼容性。由于Unix是商业软件,某些商业软件可能只在其上运行,而Linux有许多开源的替代软件,使得应用程序兼容性较广。

  • 发行版本。Unix有不同的版本,每个版本都有自己的特点和功能;Linux有众多的发行版本,如Ubuntu、Red Hat、Debian等,这些发行版本在内核和软件包选择上有所不同。

  • 内核。Unix使用的内核是专有的,由相应的厂商开发和维护;Linux使用的内核是开源的,由全球的开发者共同维护和改进。

  • 文件系统。Unix和Linux都支持多种文件系统,但Linux支持的文件系统类型更多,如FAT32、NTFS和HFS+等,这使得Linux可以更好地与其他操作系统兼容。

总的来说,Linux是Unix的一种开源克隆版本,两者在许可、历史、用户界面、硬件要求等方面有显著的区别。


Unix和Linux之间的主要区别在于UNIX是一个多用户和多任务操作系统,而Linux是基于UNIX的操作系统。其他区别包括:
1.Linux是开源的,而Unix不是开源的。2.Linux是免费使用的,而Unix是授权的操作系统。3.Linux使用范围更广泛,从台式机,服务器,智能手机到大型机,而Unix主要用于服务器,工作站或PC。

什么是 UNIX?

该操作系统于1960年推出,最初是由贝尔实验室的Ken Thompson领导的一个单人项目。后来逐渐发展成为了一款流行的操作系统,也就是说Unix是专有的操作系统。它本身是一个功能强大的多任务操作系统,它的行为就像用户和计算机之间的桥梁。不仅如此它还能保护用户的数据和资源不会在没有授权的情况下被访问,因此比较受大学、实验室等地方的喜欢。

什么是 Linux?

Linux是一个开源操作系统,它是由赫尔辛基大学的Linus Torvalds于1991年推出。Unix确实是更好的操作系统,但Unix的价格比较昂贵。Linux的优势就在于免费、开源,任何人都可以使用和更改它。不仅如此,Linux的图形用户界面对于用户使用应用程序更加友好。它还包含一个功能强大的命令行界面 (CLI)。用户可以在终端中键入命令以执行大量任务。

UNIX和Linux之间的关系

Linux是基于UNIX的操作系统。

定义

UNIX是一系列多任务,多用户计算机操作系统,源自原始的AT&T Unix。Linux是围绕Linux内核构建的自由和开源软件操作系统系列。

成本

就像前面说的,Unix是比较昂贵的一款操作系统, 而Linux是免费。

安装

安装Unix对于硬件的要求非常高,而Linux要求就很低,甚至比Windows都可能要低。

移植性

考虑到Unix的特性,它不能被移植到其他设备上。但Linux是嵌入式最广泛使用的操作系统之一,可移植性很好。

结论

UNIX和Linux之间的区别在于UNIX是多用户和多任务操作系统,而Linux是基于UNIX的操作系统。此外,UNIX主要用于高端服务器、实验室等,而Linux则被用于更贴近生活的台式机、笔记本等。

Reference

https://www.cnblogs.com/longchang/p/12530697.html

https://blog.csdn.net/frank0712105003/article/details/8125662

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1586545.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

绿联 安装火狐浏览器(Firefox),支持访问路由器

绿联 安装火狐浏览器&#xff08;Firefox&#xff09;&#xff0c;支持访问路由器 1、镜像 linuxserver/firefox:latest 前置条件&#xff1a;动态公网IP。 已知问题&#xff1a; 直接输入中文时&#xff0c;不能完整输入&#xff0c;也可能输入法无法切换到中文&#xff0c;可…

【LeetCode刷题笔记】LeetCode 1365.有多少小于当前数字的数字

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 更多算法知识专栏&#xff1a;算法分析&#x1f525; 给大家跳段街舞感谢…

【STM32G431RBTx】备战蓝桥杯嵌入式→省赛试题→第十四届

文章目录 前言一、题目二、模块初始化三、代码实现interrupt.h:interrupt.c:main.h:main.c: 四、完成效果五、总结 前言 无 一、题目 二、模块初始化 1.LCD这里不用配置&#xff0c;直接使用提供的资源包就行 2.KEY, 四个按键IO口都要配置&#xff0c;分别是PB0, PB1,PB2,PA…

看了下雷军的两份个人简历,的确厉害。。。

最近在网上浏览信息时&#xff0c;偶然看到了雷军的两份简历&#xff0c;一份是详细的工作履历&#xff0c;另一份则是他的干部履历表。 从大学时期开始&#xff0c;雷军就展现出了非凡的才华和毅力。高考成绩惊人&#xff0c;仅仅丢了2分&#xff0c;堪称完美&#xff0c;被武…

Linux网络名称空间和虚拟机有何区别

在Linux系统中&#xff0c;网络名称空间和虚拟机都是实现资源隔离和虚拟化的技术&#xff0c;但它们在设计理念、实现机制、资源消耗、使用场景等方面存在着显著的区别。本文旨在全方位、系统性地分析这两种技术的区别。&#x1f50d; 1. 设计理念与实现机制 1.1. 网络名称空…

Qt Creator 12.0.2 debug 无法查看变量的值 Expression too Complex

鼠标放在局部变量上提示“expression too complex”。 在调试窗口也看不到局部变量的值。 这应该是qt的一个bug&#xff0c;https://bugreports.qt.io/browse/QTCREATORBUG-24180 暂时解决方法&#xff1a; 如下图&#xff0c;需要右键项目然后执行"Clean"和&quo…

LeetCode第十六题: 掌握双指针技巧 最接近的三数之和 【python】

&#x1f464;作者介绍&#xff1a;10年大厂数据\经营分析经验&#xff0c;现任大厂数据部门负责人。 会一些的技术&#xff1a;数据分析、算法、SQL、大数据相关、python 欢迎加入社区&#xff1a;码上找工作http://t.csdnimg.cn/Q59WX 作者专栏每日更新&#xff1a; LeetCode…

ssm038汽车养护管理系统+jsp

汽车养护管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本汽车养护管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短…

QT实现客户端断开连接

Widget.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget), socket(new QTcpSocket(this)) {ui->setupUi(this);//初始化界面ui->msgEdit->setEnabled(false); //不可用ui-…

PTA 应急救援站选址(floyd+打印路径)

大学城虎溪社区有很多居民小区&#xff0c;居民小区道路图是连通的。现要在该社区新建一个应急救援站&#xff0c;且该应急救援站要和某个小区建在一起。为了使应急救援最快速&#xff0c;经各部门商量决定&#xff1a;应急救援站建好后&#xff0c;离应急救援站最远的小区到应…

【SpringBoot整合系列】SpringBoot整合FastDFS(二)

目录 SpringBoot整合FastDFSJava客户端/依赖常用api接口解释1.uploadFile参数返回值 2.uploadSlaveFile参数返回值 3.getMetadata参数返回值 4.overwriteMetadata参数&#xff1a;返回值&#xff1a;无 5.mergeMetadata参数&#xff1a;返回值&#xff1a;无 6.queryFileInfo参…

数学之光照亮AI之路:探究数学背景在人工智能学习中的优势

在科技日新月异的今天&#xff0c;人工智能&#xff08;AI&#xff09;已成为引领未来发展的重要力量。然而&#xff0c;对于许多初涉此领域的学习者来说&#xff0c;AI的复杂性和深度常常让他们望而却步。有趣的是&#xff0c;那些数学基础扎实的人在学习AI时&#xff0c;往往…

【Docker】docker快速安装部署fastdfs的镜像详细记录

部署nacos的docker镜像 第一步&#xff1a; 获取fastdfs镜像1、查看镜像列表2、创建本地映射文件夹 第二步&#xff1a;运行镜像1.使用docker镜像构建tracker服务2.使用docker镜像构建Storage服务3.Storage服务中默认安装了Nginx服务4.如果需要修改storage则配置则进到以下目录…

Python 全栈体系【四阶】(二十八)

第五章 深度学习 四、TensorFlow 1. Tensorflow 简介 1.1 什么是 Tensorflow TensorFlow 由谷歌人工智能团队谷歌大脑&#xff08;Google Brain&#xff09;开发和维护的开源深度学习平台&#xff0c;是目前人工智能领域主流的开发平台&#xff0c;在全世界有着广泛的用户群…

【电子通识】热风枪的结构与使用方法

热风枪的结构 热风枪是专门用来拆焊、焊接贴片元器件和贴片集成电路的焊接工具&#xff0c;它主要由主机和热风焊枪两大部分构成。 热风枪主要有电源开关、风速设置、温度设置、热风连接等部件组成。根据不同品牌和价位的热风枪&#xff0c;有一些功能齐全的也集成了烙铁功能。…

vivado 设置 ILA 核以执行测量

设置 ILA 核以执行测量 您添加到自己的设计中的 ILA 核会显示在“硬件 (Hardware) ”窗口中的目标器件下。如果未显示这些 ILA 核 &#xff0c; 请右键 单击器件并选择“ Refresh Device ”。这样将重新扫描 FPGA 或 ACAP 并刷新“ Hardware ”窗口。 注释 &#xff1a…

集装箱5G智能制造工厂数字孪生可视化平台,推进企业数字化转型

集装箱5G智能制造工厂数字孪生可视化平台&#xff0c;推进企业数字化转型。在当下数字化转型的热潮中&#xff0c;集装箱5G智能制造工厂数字孪生可视化平台成为了推动企业转型升级的重要工具。这一平台将先进的5G技术与智能制造相结合&#xff0c;通过数字孪生技术实现生产过程…

Doodle Jump — 使用FlutterFlame开发游戏真不错!

前言 最近网上冲浪的时候&#xff0c;我偶然发现了一个国外的游戏网站&#xff0c;里面聚集了各种有趣的小游戏&#xff0c;类似于国内的4399。在浏览时&#xff0c;我遇到了一款经典的小游戏&#xff1a;Doodle Jump。上一次玩还是在上小学的时候&#xff0c;那时候父母在厨房…

【电子通识】普通电阻、敏感电阻、可调电阻的种类和特点

电阻的作用 在【分立元件】理解电阻 中我们知道电阻是在电路中对电流产生阻碍作用的元件。电阻是电子产品中最基本、最常用的电子元件之一。 有各产品的电路板中基本都有电阻器&#xff0c;通常起限流、滤波或分压等作用。实际上&#xff0c;电阻器的种类很多&#xff0c;根据其…

基于SpringBoot+vue网上点餐系统包含万字文档

基于SpringBoot的网上点餐系统包含万字文档 项目视频演示: springboot027网上点餐系统包含万字文档 开发系统:Windows 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要…