Linux包管理器及包安装工具相关
部分内容摘入出处:yum与apt的区别:原创版权,转载请注明出处。
一、概述
处理器架构
处理器架构:什么是架构?处理器(CPU)执行的计算机语言指令集,不同的处理器架构,所支持软件的开发、编译、打包、部署以及安装都将会完全不一样,这也是为何操作系统要对各种CPU处理器进行适配的原因,Linux系统可使用uname -a
命令来查询处理器架构类型:
架构 | 架构分类 | 架构说明 |
---|---|---|
32+位处理器架构 |
x86/i386 (已基本被淘汰)x86_64 AMD64(x64)
|
常见电脑上的Intel或AMD处理器 |
ARM处理器架构 | ARM64 |
常见的高通骁龙、华为麒麟、苹果A系以及MTK联发科的天玑等手机处理器 |
MIPS处理器架构 | MIPS64 |
常见的路由器、智能音箱、智能手表及等所用处理器 同时也是国产龙芯处理器所采用的架构1 |
发行版概念
Linux发行版:是指基于Linux内核而开发发布的操作系统,围绕Linux内核所开发设计的一套完整的操作系统程序,是一个已经可以在个人电脑上安装运行的系统完整包。
安装包后缀 | 安装包管理工具 | 安装包管理器 | 发行版系列 | 主流发行版系统 |
---|---|---|---|---|
*.rpm |
rpm |
yum dnf
|
RedHat(红帽)系 | RedHat、Fedora、CentOS、Asianux(红旗Linux) |
*.deb |
dpkg |
apt |
Debian系 | Debian、Ubuntu、Deepin、Ubuntu Kylin(优麒麟)、银河麒麟 |
*.pkg.tar.xz *.pkg.tar.zst 2
|
---- | pacman |
Arch系 | Arch Linux、Manjaro |
*.sh |
sh |
bash Linux脚本格式 |
类Unix系 | 所有类Unix系统 |
二、两大主流发行版
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而开发,因其软件包管理机制的简单便捷,使该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 |
---- | ---- |
软件包的转换
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
四、综述
本文章内容全为本人基于官网、及其他网络上的参考资料所写,属于个人梳理和记录,不免存在错误,如若发现有误,还请及时私信、或者评论亦可,我会尽快核对并修正;
尤其是细节方面、名词方面,例如“软件包管理器、软件包管理工具”3,这两个名词是我按网上所写的,为了区分特意将两者写为不一样,因为正常来说:软件包管理器(yum/dnf/apt) 是基于 软件包管理工具(rpm/dpkg) 的,如果有更专业的名词,可以告知我修正,切不可误导了新手;
当然,有想要了解的技术知识点,也可以私信我,我整理了后更新上来,方便各位参考。
-
计算机领域仅存的MIPS架构处理器国产【龙芯】处理器:基于MIPS架构的龙芯处理器 ↩︎
-
使用zstd替代xz安装包压缩格式:Now using Zstandard instead of xz for package compression ↩︎
-
软件包管理的区别:YUM和RPM包管理器的不同之处 ↩︎
本文地址:https://blog.csdn.net/u013430110/article/details/107329350
上一篇: Python实习之爬虫模板
下一篇: 分布式任务队列 1