当前位置:   article > 正文

【Linux】yum/rpm/dnf/apt-get/dpkg/brew命令以及区别_yum dpkg

yum dpkg

目录

简略说明

详细说明

Yum

apt-get

dnf

 Homebrew

区别

YUM和DNF的区别

Yum和apt-get的区别

Yum和rpm的区别

常用命令

yum/dnf 常用命令

rpm命令

linux命令好玩的命令


简略说明

apt-get 是德班系(Debian、Ubuntu等)的软件管理命令

yum 是红帽系(Redhat、Centos、Fedora等)的软件包管理命令

rpm  是红帽系(Redhat、Centos、Fedora等)的软件包管理命令,但rpm不会管理依赖关系。              yum会自动管理依赖关系,底层调用rpm管理软件包

dnf(全称为Dandified yum)是新一代的rpm软件包管理器,目前和YUM共存。但Fedora 22 中,它取代了yum,正式成为 Fedora 22 的包管理器。

详细说明

Yum

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum的用法:https://blog.csdn.net/bandaoyu/article/details/108254624

apt-get

apt-get是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。

dnf

DNF (全称为Dandified yum)是新一代的rpm软件包管理器,他首先出现在 Fedora 18 这个发行版中,目前和YUM共存。但最近,它取代了yum,正式成为 Fedora 22 的包管理器

DNF克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。

DNF使用Hawkey库,该库解析RPM依赖性以在客户端计算机上运行查询。 它们基于libsolv构建,libsolv是一种使用可满足性算法的程序包相关性求解器。 您可以在libsolv的GitHub存储库中找到有关该算法的更多详细信息。

 Homebrew

linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案,Red hat有yum,Ubuntu有apt-get

神马,你用mac os,不好意Mac os木有类似的东东,泪奔中几经折腾总算找到了第三方支持:Homebrew,Homebrew简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,可以说Homebrew就是mac下的apt-get、yum神器

区别

YUM和DNF的区别

dnf(全称为Dandified yum)是新一代的rpm软件包管理器,DNF克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。目前和YUM共存,未来应该会逐步取代。

两者的参数和使用方式区别很小,使用方法大致相同,常用命令并无区别,推荐使用dnf代替yum。

2.5 DNF的优势


DNF使用C语言库hawkey进行软件包依赖关系解析,效率提升,内存消耗降低。
DNF如果配置和启用的库没有响应,DNF将跳过它并使用可用的repos继续事务,而不会像YUM,如果配置库不可用,YUM将立即停止工作。


2.6 DNF的不足

在 DNF 中没有 –skip-broken 命令,并且没有替代命令供选择。
在 DNF 中没有判断哪个包提供了指定依赖的 resolvedep 命令。
在 DNF 中没有用来列出某个软件依赖包的 deplist 命令。
当你在 DNF 中排除了某个软件库,那么该操作将会影响到你之后所有的操作,不像在 YUM 下那样,你的排除操作只会咋升级和安装软件时才起作用。
 

(摘自:Linux环境下YUM和DNF详细介绍_https://blog.csdn.net/xaosky/article/details/123034396)

源/软件仓

默认情况下,RHEL、CentOS、OEL的7和8版本系统下,YUM/DNF软件仓库的配置文件都存放在/etc/yum.repo.d/目录下,以repo作为后缀。

Yum和apt-get的区别

[Linux] yum和apt-get用法及区别

一般来说著名的linux系统基本上分两大类:

1.RedHat系列:Redhat、Centos、Fedora等

2.Debian系列:Debian、Ubuntu等

RedHat 系列 
1 常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数” 
2 包管理工具 yum 
3 支持tar包

Debian系列 
1 常见的安装包格式 deb包,安装deb包的命令是“dpkg -参数” 
2 包管理工具 apt-get 
3 支持tar包

tar 只是一种压缩文件格式,所以,它只是把文件压缩打包而已。 
rpm 相当于windows中的安装文件,它会自动处理软件包之间的依赖关系。 
优缺点来说,rpm一般都是预先编译好的文件,它可能已经绑定到某种CPU或者发行版上面了。 
tar一般包括编译脚本,你可以在你的环境下编译,所以具有通用性。 
如果你的包不想开放源代码,你可以制作成rpm,如果开源,用tar更方便了。 
tar一般都是源码打包的软件,需要自己解包,然后进行安装三部曲,./configure, make, make install. 来安装软件。

Yum和rpm的区别

https://blog.csdn.net/lxlmycsdnfree/article/details/80843197

yum 是rpm的前端,yum 最终会调用rpm。因为rpm不会自己处理依赖关系,所以当出现依赖问题时,需要人工去处理。yum 调用rpm当出现依赖问题时会自动处理依赖关系。

常用命令

yum/dnf 常用命令


前提:下面的内容主要体现DNF命令操作,如无特别说明,YUM命令同样适用。

查看系统中可用的软件仓库

# dnf repolist

查看系统中可用和不可用的所有的软件仓库

# dnf repolist all

列出软件仓库中的所有RPM软件包
# dnf list

列出软件仓库中所有已安装的 RPM软件包
# dnf list installed

列出软件仓库中所有可供安装的RPM软件包
# dnf list available

搜索软件仓库中的RPM软件包
# dnf search vsftpd

查找某一文件的提供者
# dnf provides vsftpd

查看软件包详情
# dnf info vsftpd

安装软件包及其依赖的其他软件包
# dnf install vsftpd

# dnf install vsftpd -y

删除软件包
# dnf remove vsftpd

删除无用孤立的软件包
# dnf autoremove

删除缓存的无用软件包
# dnf clean all

获取有关某条命令的使用帮助
# dnf help clean

获取软件仓库中的软件包列表到缓存中
# dnf makecache

更新软件仓库中的软件包列表
# dnf check- update

查看 DNF 命令的执行历史
# dnf history

查看所有的软件包组
# dnf grouplist 

安装一个软件包组
# dnf groupinstall ‘System Tools’

# dnf groupinstall ‘System Tools’ -y

卸载一个软件包组
# dnf groupremove ‘System Tools’

# dnf groupremove ‘System Tools’ -y

从特定的软件包库安装特定的软件
# dnf -enablerepo=epel install vsftpd

重新安装特定软件包
# dnf reinstall vsftpd

更新系统中所有需要更新的包
# dnf update

更新一个特定的软件包
# dnf update vsftpd

列出所有命令及其用途
# dnf help
 

rpm命令

  1. rpm -i ###安装
  2. rpm -v ###显示过程
  3. rpm -h hash ###进度
  4. rpm -e ###卸载
  5. rpm -q 包名 ###查看包是否已经安装
  6. rpm -qa :查询系统中所有安装的软件包
  7. rpm -qi 包名 :查询软件包的详细信息
  8. rpm -ql ###命令查询软件包的文件列表,查看软件在系统中的安装文件路径
  9. rpm -qR 包名 :查询软件包的依赖关系
  10. rpm -qlp ###查看未安装的软件包在系统中如果安装后产生文件的路径
  11. rpm -p ###软件包
  12. rpm -a ###所有
  13. rpm -qf ###根据系统文件找出此文件属于哪个安装包
  14. rpm -qf 系统文件名
  15. rpm -qc ###查看软件的配置文件名称
  16. rpm -qd ###查看软件的说明
  17. rpm --scritps ###查看脚本
  18. rpm --kv ###检测软件包是否被篡改
  19. rpm --nodeps ###安装软件忽略软件依赖
  20. rpm --force ###强行安装软件
  21. 1.--nodeps就是安装时不检查依赖关系,比如你这个rpm需要A,但是你没装A,这样你的包就装不上,用了--nodeps你就能装上了。
  22. 2.--force就是强制安装,比如你装过这个rpm的版本1,如果你想装这个rpm的版本2,就需要用--force强制安装。
  23. i -> 安装
  24. v -> 啰嗦模式
  25. h -> 进度条
  26. e -> 卸载
  27. q -> 查询
  28. a -> 所有
  29. l -> 显示rpm中的文件.
  30. -ivh:安装显示安装进度--install--verbose--hash
  31. -Uvh:升级软件包--Update;
  32. -qpl:列出RPM软件包内的文件信息[Query Package list];
  33. -qpi:列出RPM软件包的描述信息[Query Package install package(s)];
  34. -qf:查找指定文件属于哪个RPM软件包[Query File];
  35. -Va:校验所有的RPM软件包,查找丢失的文件[View Lost];
  36. -e:删除包
  37. rpm -q samba //查询程序是否安装
  38. rpm -ivh /media/cdrom/RedHat/RPMS/samba-3.0.10-1.4E.i386.rpm //按路径安装并显示进度
  39. rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm //指定安装目录
  40. rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm    //用来检查依赖关系;并不是真正的安装;
  41. rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm //新版本降级为旧版本
  42. rpm -qa | grep httpd      #[搜索指定rpm包是否安装]--all搜索*httpd*
  43. rpm -ql httpd         #[搜索rpm包]--list所有文件安装目录
  44. rpm -qpi Linux-1.4-6.i368.rpm #[查看rpm包]--query--package--install package信息
  45. rpm -qpf Linux-1.4-6.i368.rpm #[查看rpm包]--file
  46. rpm -qpR file.rpm       #[查看包]依赖关系
  47. rpm2cpio file.rpm |cpio -div #[抽出文件]
  48. rpm -ivh file.rpm  #[安装新的rpm]--install--verbose--hash
  49. rpm -ivh
  50. rpm -Uvh file.rpm #[升级一个rpm]--upgrade
  51. rpm -e file.rpm #[删除一个rpm包]--erase
  52. 常用参数:
  53. Install/Upgrade/Erase options:
  54. 复制代码
  55. -i, --install install package(s)
  56. -v, --verbose provide more detailed output
  57. -h, --hash print hash marks as package installs (good with -v)
  58. -e, --erase erase (uninstall) package
  59. -U, --upgrade=<packagefile>+ upgrade package(s)
  60. --replacepkge 无论软件包是否已被安装,都强行安装软件包
  61. --test 安装测试,并不实际安装
  62. --nodeps 忽略软件包的依赖关系强行安装
  63. --force 忽略软件包及文件的冲突
  64. Query options (with -q or --query):
  65. -a, --all query/verify all packages
  66. -p, --package query/verify a package file
  67. -l, --list list files in package
  68. -d, --docfiles list all documentation files
  69. -f, --file query/verify package(s) owning file
  70. https://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/08/2203153.html
  71. # 覆盖安装,并自动卸载老版本
  72. rpm -Uvh xxx.rpm --nodeps --force
  73. # 覆盖安装,忽略package xxx is already installed错误
  74. rpm -ivh --replacepkgs xxx.rpm
  75. # 文件冲突,忽略报错:file filepath from install of xxx1 conflicts with file from package xxx2
  76. rpm -ivh --replacefiles xxx.rpm
  77. 以为你是流过泪的人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
  78. 原文链接:https://blog.csdn.net/weixin_42427540/article/details/117035848
  79. ==查rpm包信息:
  80. [root@localhost ~]# yum info zlib-1.2.3-7.el5
  81. Loaded plugins: fastestmirror, security
  82. Loading mirror speeds from cached hostfile
  83. Installed Packages
  84. Name : zlib
  85. Arch : i386
  86. Version : 1.2.3
  87. Release : 7.el5
  88. Size : 77 k
  89. Repo : installed
  90. Summary : The zlib compression and decompression library.
  91. URL : http://www.gzip.org/zlib/
  92. License : BSD
  93. Description: Zlib is a general-purpose, patent-free, lossless data compression
  94. : library which is used by many different programs.
  95. Name : zlib
  96. Arch : x86_64
  97. Version : 1.2.3
  98. Release : 7.el5
  99. Size : 87 k
  100. Repo : installed
  101. Summary : The zlib compression and decompression library.
  102. URL : http://www.gzip.org/zlib/
  103. License : BSD
  104. Description: Zlib is a general-purpose, patent-free, lossless data compression
  105. : library which is used by many different programs.
  106. 原文链接:https://blog.csdn.net/u010039418/article/details/81231785
  107. ==获取rpm包名称/架构
  108. 使用大杀器,rpm –qf,注意是两个-,命令全称是,
  109. rpm --queryformat [QUERYFMT]
  110. 1
  111. 其中QUERYFMT是一系列rpm的查询标志,可以通过以下命令查询有哪些标志可以使用,
  112. [root@localhost ~]# rpm --querytags
  113. ARCH
  114. ARCHIVESIZE
  115. BASENAMES
  116. BUGURL
  117. BUILDARCHS
  118. BUILDHOST
  119. BUILDTIME
  120. C
  121. CHANGELOGNAME
  122. CHANGELOGTEXT
  123. CHANGELOGTIME
  124. ....
  125. 默认情况下,rpm -q 的格式为,
  126. [root@localhost ~]# rpm -q --qf '%{name}-%{version}-%{release}\n' zlib
  127. zlib-1.2.3-7.el5
  128. zlib-1.2.3-7.el5
  129. [root@localhost ~]#
  130. 不带有架构信息,因此觉得有两个相同版本的包。所以我们可以在查询格式中定义架构信息,这样就能区分出两个包。
  131. [root@localhost ~]# rpm -q --qf '%{name}-%{version}-%{release}.%{arch}\n' zlib
  132. zlib-1.2.3-7.el5.x86_64
  133. zlib-1.2.3-7.el5.i386
  134. [root@localhost ~]#
  135. 原文链接:https://blog.csdn.net/u010039418/article/details/81231785

linux命令好玩的命令

传送门好玩的linux命令 - Elite_Y - 博客园 
就写一个sudo homebrew install sl 

转自:http://blog.csdn.net/yi_an/article/details/54141766

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/924719
推荐阅读
相关标签
  

闽ICP备14008679号