部分内容摘入出处:yum与apt的区别;原创文章,转载请注明出处。

文章目录

  • 一、概述
    • 处理器架构
    • 发行版概念
  • 二、两大主流发行版
    • RedHat发行系列
    • Debian发行系列
  • 三、命令与包格式区别
    • 各命令之间的区别
    • 各命令的相关配置
    • 软件包的转换
  • 四、综述

一、概述

处理器架构

处理器架构:什么是架构?即处理器(CPU)执行的计算机语言指令集,不同的处理器架构,所支持软件的开发、编译、打包以及部署或安装都将会完全不一样,这也是为何操作系统要对各种CPU处理器进行适配的原因,例如:Windows 10 ARM系统是无法安装在Intel和AMD的PC处理器上的、常见于Win Pad平板设备上、且默认也只能安装UWP应用程序,Linux系统可使用uname -a命令来查询处理器架构类型!

架构 架构分类 架构说明
32+位处理器架构 x86/i386(已基本被淘汰)
x86_64
AMD64(x64)
常见电脑上的Intel或AMD的x86架构处理器
ARM处理器架构 ARM64(AArch64) 常见的高通骁龙、华为麒麟、苹果A系以及MTK联发科的天玑等手机处理器
MIPS处理器架构 MIPS64 常见的路由器、智能音箱及智能手表等嵌入式设备所用处理器
同时也是国产龙芯处理器所采用的架构1

发行版概念

Linux发行版:是指基于Linux内核而开发发布的操作系统,围绕Linux内核所开发设计的一套完整的全新操作系统程序,是一个已经可以在个人电脑上安装运行的系统完整镜像包。
使用lsb_release -a查询Linux发行版本,如若无此命令(少数简装版系统可能无此命令),可使用以下命令安装:

  • Red Hat发行版系统:yum -y install redhat-lsb*
  • Debian发行版系统:apt-get install lsb-core
  • Arch发行版系统:pacman -Syu lsb-release
安装包后缀 安装包管理工具 安装包管理器 发行版系列 主流发行版系统
*.rpm rpm yum
dnf
RedHat(红帽)系 RedHat、Fedora、CentOS、Asianux(红旗Linux)、SuSE
*.deb dpkg apt Debian系 Debian、Ubuntu、Deepin(深度系统)、Ubuntu Kylin(优麒麟)、Mint、银河麒麟2
*.pkg.tar.xz
*.pkg.tar.zst3
---- pacman Arch系 Arch Linux、Manjaro、EndeavourOS
*.sh sh bash
Linux脚本格式
类Unix系 所有类Unix(支持Bash)的发行版系统

二、两大主流发行版

RedHat发行系列

RedHat:红帽Linux系统,2003年Red Hat Linux停止支持后,由Fedora取代Red Hat Linux在个人消费者的领域,而Red Hat则专注于Red Hat Enterprise Linux的企业版商业级领域,至于CentOS则是基于GPL协议对Red Hat Enterprise Linux源码重新打包发布的发行版Linux系统,两者除了在商业服务与软件维护两方面有所不同以外,并无区别。

介绍 rpm yum dnf
官网 RedHat Package Manager yum包管理器 DNF包管理器
说明 RedHat Package Manager:RPM软件包管理工具 Yellow dog Updater Modified:RPM软件包管理器 Dandified Yum:新一代的RPM软件包管理器
语法手册 rpm命令语法 yum命令语法 dnf命令语法
查询命令 rpm -qa | grep package-name yum list installed dnf list installed
安装命令 rpm -ivh package-name.rpm yum -y install package-name dnf install package-name
卸载命令 rpm -e package-name.rpm yum remove package-name dnf remove package-name

Debian发行系列

Debian:Debian Linux系统,1997年由德裔美国人Ian Murdock开发并成立的社区项目,也是绝大部分个人Linux发行版系统用户所基于的内核系统,如:当前世界最主流的国外Ubuntu Linux和国内Deepin Linux深度系统,都是基于Debian Kernel而发布,因其软件包封装和管理机制的简便,使基于Debian的Linux发行版系统成为了个人桌面用户首选系统的条件之一。

介绍 dpkg apt
官网 Debian Packager apt包管理器
说明 Debian Packager:deb软件包管理工具 Advanced Package Tool:deb软件包管理器
语法手册 dpkg命令语法 apt命令语法
查询命令 dpkg -l apt list --installed
安装命令 dpkg -i package-name.deb apt-get install package-name
卸载命令 dpkg -r package-name.deb apt-get –purge remove package-name

三、命令与包格式区别

各命令之间的区别

对比项 rpm yum dnf dpkg apt pacman hdiutil installer
发行系列 RedHat系 RedHat系 RedHat系 Debian系 Debian系 Arch Linux发行 Mac OS X Mac OS X
类型区别 软件包管理工具 软件包管理器 新版软件包管理器 软件包管理工具 软件包管理器 软件包管理器 软件包管理工具 软件包管理工具
作用区别 安装rpm格式软件包 安装rpm格式软件包并处理依赖 Dandified Yum新一代yum管理器 安装deb格式软件包 安装deb格式软件包并处理依赖 安装zst格式软件包并处理依赖 命令安装dmg格式软件包 命令安装pkg格式软件包
查询命令 rpm -qa yum list installed dnf list installed dkpg -l apt list –installed pacman -Qs package-name ---- ----
安装命令 rpm -i package.rpm
rpm –ivh
yum -y install package-name dnf -y install package-name dpkg -i package.deb apt-get install package pacman -U package-name.xz
pacman -S package-name.zst
hdiutil attach <dmgFile> sudo installer -pkg <package.pkg> -target dirName
卸载命令 rpm -e [module1][module2]… yum -remove dnf -remove dpkg -r package apt remove package pacman -R package_name ---- ----
其他命令 见上文 见上文 见上文 见上文 见上文 pacman软件包管理器 ---- ----

各命令的相关配置

配置项 rpm yum
dnf
dpkg apt pacman
发行系列 RedHat系 RedHat系 Debian系 Debian系 Arch Linux发行
后缀 *.rpm *.rpm *.deb *.deb *.zst
仓库源 ---- /etc/yum.repos.d/*.repo ---- /etc/apt/sources.list /etc/pacman.d/mirrorlist
配置文件 ---- /etc/yum.conf
/etc/dnf/dnf.conf
---- /etc/apt/apt.conf /etc/pacman.conf
使用手册 /usr/share/doc ---- /usr/share/man ---- ----

注意:Red Hat系统的镜像站仅允许注册用户使用,因此如果系统为Red Hat的话,必须要更换yum源为CentOS镜像站、阿里云镜像站或网易开源镜像站等三方镜像站,才可正常使用yum/dnf安装应用程序,至于如何更换yum源的操作,详细可自行百度,这里不再赘述,或者建议使用基于Red Hat Enterprise Linux二次发布的CentOS发行版Linux系统!

软件包的转换

Alien:一个用于在各种不同的Linux发行版之间的包格式相互转换的工具,其最常见的用法是将.rpm格式和.deb格式互相转换,但是这样的转换,不能代替生产需求,必要的话建议采用源码编译方式。

# RedHat发行版系列安装Alien工具
yum -y install alien
# 将rpm包转换为deb软件包
alien --to-deb --scripts package-name.rpm
# 亦可使用缩写方式命令
alien -d package-name.rpm
# ==============================
# Debian发行版系列安装Alien工具
apt-get install alien
# 进行deb包转换为rpm包处理
alien --to-rpm --scripts package-name.deb
# 或者使用缩写方式命令
alien -r package-name.deb
myprogram-1.10-3.i386.deb generated

四、综述

本文章内容全为本人基于官网、及网络上的权威参考资料所写,属于个人梳理和记录,纯手打不免可能存在误写,如若发现有误,可随时通过下方方式联系我,私信、评论皆可,我会尽快核对并修正;
尤其是细节、名词方面,例如“软件包管理器、软件包管理工具”4,这两个名词是我按网上所写的,为了区分特意将两者写为不一样的名词,因为正常来说:软件包管理器(yum/dnf/apt) 是基于 软件包管理工具(rpm/dpkg) 的,如果有更专业的名词,可以告知我修正,切不可误导新手;
当然,有其他关于Linux软件想要了解的技术知识点,也可以私信我,我整理了后更新上来,方便各位参考;
谨记:Linux纯内网安装应用程序,极其麻烦,当Linux网络环境为纯内网时,一定要部署本地yum/apt源,否则依赖问题将会始终存在!


点击联系我 | 点击私信我


  1. 计算机领域仅存的MIPS架构处理器国产【龙芯】处理器:基于MIPS架构的龙芯处理器 ↩︎

  2. 根据麒麟官网试用页面的信息,表明“银河麒麟”和“中标麒麟”是基于“优麒麟”的商业发行版系统:产品试用申请 · 麒麟软件官方网站
    ↩︎

  3. Arch使用zstd替代xz安装包打包格式:Now using Zstandard instead of xz for package compression ↩︎

  4. 软件包管理的区别:YUM和RPM包管理器的不同之处 ↩︎

Linux包管理器及包安装工具基础知识相关推荐

  1. Linux进程管理:进程和线程基础知识

    <Linux进程管理:进程和线程基础知识> <Linux-进程管理> <C语言进程的内存地址空间分配> <进程和线程模型> <(1)Linux进程 ...

  2. 包管理器_包管理器的演变

    包管理器 每个计算机化设备都使用某种形式的软件来执行其预期的任务. 在软件的早期,对产品进行了严格的bug和其他缺陷测试. 在过去的十年左右的时间内,该软件已通过Internet发布,目的是通过应用新 ...

  3. arch linux 包管理器,archlinux 包管理

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? pacman包的管理 yaourt包管理 pacman 增pacman -S package_name 安装包 pacm ...

  4. k8s包管理器helm_kubernetes包管理神器-Helm

    在我们学习 kubernetes 的过程中,用的最多的是 kubectl 命令行工具,使用 kubectl 工具需要我们编写好各种部署文件,这在生产中是非常不方便的,因此 Helm 这个 kubern ...

  5. python下载包管理器_Python包管理整理:setuptool管理python相关的包

    setuptool管理python相关的包 一.介绍 setuptool管理python相关的包的工具.这些包是zip格式发布,但是后缀一般都是.egg setuptool能解决python包的依赖关 ...

  6. android用什么包管理器,android – 包管理器已经死了

    我收到一个安装了大量应用程序的用户的邮件,当我的应用程序使用此代码收集活动信息时,他有问题: getPackageManager().queryIntentActivities(mAinIntent, ...

  7. linux 解pac包打包工具,【译】5个对Linux新手来说最好的包管理器

    inux中的包管理器可以说是非常重要,了解如何使用多种多样的包管理器可以大幅度地节省管理员的时间,因为从软件源下载/安装软件,升级,解决依赖问题,卸载软件......这些技能对于Linux系统管理员来 ...

  8. 把玩Alpine linux(二):APK包管理器

    2019独角兽企业重金招聘Python工程师标准>>> Alpine Linux非常精简,开机内存占用也在二三十兆大,没有拆箱即用,就需要我们自己去做一些了解和配置 Alpine L ...

  9. alpine linux apk删除,把玩Alpine linux(二):APK包管理器

    原标题:把玩Alpine linux(二):APK包管理器 Alpine Linux非常精简,开机内存占用也在二三十兆大,没有拆箱即用,就需要我们自己去做一些了解和配置. Alpine Linux的优 ...

最新文章

  1. 3月机器学习在线班第六课笔记--信息熵与最大熵模型
  2. 4.01~~Median
  3. mysql web备份软件_Windows下实现MySQL自动备份的批处理(复制目录或mysqldump备份)
  4. 如何减少tomcat内存使用量?
  5. 第三章 续:时间控件(TimePicker)
  6. 数据结构c语言版题库含答案,求数据结构c语言版的习题和答案?
  7. 小数点进位 oracle,使用多个小数点(。)对Oracle中的记录进行排序
  8. JDK源码学习笔记——String
  9. jQuery Mobile主题使用与定制
  10. Linux:shell变量功能和Bash shell的操作环境
  11. 广联达深思6代锁_广联达|新版加密锁驱动使用文档
  12. 如何短期通过PMP考试?
  13. 微信企业号 sdk java_基于Java spring框架的微信企业号开发中关于js-sdk的配置
  14. 通用键盘鼠标模拟(包括USB和PS2)
  15. for循环中的三语句执行顺序
  16. 学校计算机室上机记录,学生上机记录表
  17. arduino红外对管
  18. 移动工具 证件照的设置
  19. YTU 2798: 复仇者联盟之数组成绩统计
  20. Python(自学之旅二)

热门文章

  1. 基于飞桨实现钢铁企业废钢判级迈入智能化道路
  2. 拉格朗日插值算法代码
  3. 计算机网络(一)——网络基础
  4. NVIDIA再推黑科技GauGAN,涂鸦秒变风景照,太强大了
  5. 炉石传说 服务器维护,炉石传说服务器炸了怎么办?一直排不到人原因和解决方法[多图]...
  6. matlab从文件夹名中获得该文件夹下所图像文件名
  7. 第一次使用CSDN-markdown编辑器发现很不错提示很多用的实用功能
  8. 拍摄商业视频的基本原则
  9. 让用户真正放心的液冷技术来了
  10. 马上消费金融接受中金、中信建投辅导,拟公开发行不超过13亿股