部分内容摘入出处:yum与apt的区别;原创文章,转载请注明出处。
一、概述
处理器架构
处理器架构:什么是架构?即处理器(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.zst 3 | ---- | 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源,否则依赖问题将会始终存在!
计算机领域仅存的MIPS架构处理器国产【龙芯】处理器:基于MIPS架构的龙芯处理器 ↩︎
根据麒麟官网试用页面的信息,表明“银河麒麟”和“中标麒麟”是基于“优麒麟”的商业发行版系统:产品试用申请 · 麒麟软件官方网站
↩︎Arch使用zstd替代xz安装包打包格式:Now using Zstandard instead of xz for package compression ↩︎
软件包管理的区别:YUM和RPM包管理器的不同之处 ↩︎