移植安装脚本:rpm可以代替apt吗?

我有以下ubuntu的安装脚本:

#!/bin/bash

sudo apt update
sudo apt full-upgrade -y
sudo apt install jq
sudo apt autoclean -y
sudo apt autoremove

以下将在fedora,red hat,mageia或其他基于rpm的发行版下工作

...或者语法是否需要更多更改?

#!/bin/bash

sudo rpm update
sudo rpm full-upgrade -y
sudo rpm install jq
sudo rpm autoclean -y
sudo rpm autoremove

我还可以采取以下措施吗?

#!/bin/bash
if [ $(command -v yum) ]
then
    sudo yum update
    sudo yum full-upgrade -y
    sudo yum install jq
    sudo yum autoclean -y
    sudo yum autoremove
else
    sudo rpm update
    sudo rpm full-upgrade -y
    sudo rpm install jq
    sudo rpm autoclean -y
    sudo rpm autoremove
fi
斯蒂芬·基特

rpm基本上等同于dpkg,不等同apt; apt当量是yum(在RHEL和CentOS以释放7),或dnf(在Fedora,和RHEL和开始释放8 CentOS的),或zypper(在SuSE) 对于您的特定命令:

sudo dnf distro-sync
sudo dnf install jq
sudo dnf clean all
sudo dnf autoremove

或者

sudo yum upgrade
sudo yum install jq
sudo yum clean all

(这jq是可行的,因为在两种情况下都以相同的名称打包。这并不总是正确的;给定的软件可以以不同的名称打包在不同发行版中,甚至可以在给定发行版的不同发行版中打包。)

有关详细信息,请参见《 Pacman Rosetta》《 Ubuntu RHEL迁移指南》。

您可能想要研究配置管理工具,它们将帮助您消除差异(或至少更有效地应对它们)。

您的if [ $(command -v yum) ]测试存在缺陷,因为yum可以安装在Debian衍生产品(包括Ubuntu)上;它的存在并不意味着它是程序包管理器。您可能应该检测到正在运行的操作系统,并以此为基础进行选择。请参阅如何可靠地获取操作系统的名称?有关详细信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以在Kickstart上安装需要特殊参数的RPM吗?

来自分类Dev

在fedora中安装CentOS rpm可以吗?

来自分类Dev

我可以在Kickstart上安装需要特殊参数的RPM吗?

来自分类Dev

在不使用Yum缓存的情况下,可以在安装RPM后检索或重建RPM吗?

来自分类Dev

rpm + RPM安装文件/脚本的路径

来自分类Dev

可以在Arch Linux上安装dpkg或apt吗?

来自分类Dev

您可以更改apt安装软件的位置吗?

来自分类Dev

我可以让dpkg忽略安装后脚本返回的错误吗?

来自分类Dev

如果我的ansible-playbook中有本地rpm,可以一步安装yum吗?

来自分类Dev

Django 既通过 python3 安装,又通过 apt-get 安装。我可以卸载apt-get吗?

来自分类Dev

UglifyJS可以代替RequireJS吗?

来自分类Dev

注释可以代替对象吗?

来自分类Dev

WinRT可以代替AncestorType吗?

来自分类Dev

Gitlab可以代替神器吗?

来自分类Dev

RPM安装后脚本在哪里?

来自分类Dev

为什么需要 Homebrew 在 MacOS 上安装 WeasyPrint?可以用 Anaconda 代替吗?

来自分类Dev

Debian软件包预安装脚本是否可以运行apt-get命令?

来自分类Dev

我可以在我的preinst脚本中调用其他dpkg或apt- *命令吗?

来自分类Dev

我可以在我的preinst脚本中调用其他dpkg或apt- *命令吗?

来自分类Dev

我可以使用apt-get管理dpkg安装的软件包吗?

来自分类Dev

我可以配置apt以在安装确认时显示软件包版本吗?

来自分类Dev

Apt可以从源中删除用户安装的软件所需的软件包吗?

来自分类Dev

我可以使用apt-get管理dpkg安装的软件包吗?

来自分类Dev

我可以构建一个拥有未安装文件的rpm软件包吗?

来自分类Dev

我可以使用Google Apps脚本代替公式来对电子表格进行计算吗?

来自分类Dev

我可以强制浏览器使用CSS @ font-face代替系统上安装的字体吗?

来自分类Dev

安装节点软件包时,可以使用自定义目录名称代替“ node_modules”吗?

来自分类Dev

将OS X Emacs安装程序移植到Windows吗?

来自分类Dev

可以用pyspider代替Scrapy吗?

Related 相关文章

  1. 1

    我可以在Kickstart上安装需要特殊参数的RPM吗?

  2. 2

    在fedora中安装CentOS rpm可以吗?

  3. 3

    我可以在Kickstart上安装需要特殊参数的RPM吗?

  4. 4

    在不使用Yum缓存的情况下,可以在安装RPM后检索或重建RPM吗?

  5. 5

    rpm + RPM安装文件/脚本的路径

  6. 6

    可以在Arch Linux上安装dpkg或apt吗?

  7. 7

    您可以更改apt安装软件的位置吗?

  8. 8

    我可以让dpkg忽略安装后脚本返回的错误吗?

  9. 9

    如果我的ansible-playbook中有本地rpm,可以一步安装yum吗?

  10. 10

    Django 既通过 python3 安装,又通过 apt-get 安装。我可以卸载apt-get吗?

  11. 11

    UglifyJS可以代替RequireJS吗?

  12. 12

    注释可以代替对象吗?

  13. 13

    WinRT可以代替AncestorType吗?

  14. 14

    Gitlab可以代替神器吗?

  15. 15

    RPM安装后脚本在哪里?

  16. 16

    为什么需要 Homebrew 在 MacOS 上安装 WeasyPrint?可以用 Anaconda 代替吗?

  17. 17

    Debian软件包预安装脚本是否可以运行apt-get命令?

  18. 18

    我可以在我的preinst脚本中调用其他dpkg或apt- *命令吗?

  19. 19

    我可以在我的preinst脚本中调用其他dpkg或apt- *命令吗?

  20. 20

    我可以使用apt-get管理dpkg安装的软件包吗?

  21. 21

    我可以配置apt以在安装确认时显示软件包版本吗?

  22. 22

    Apt可以从源中删除用户安装的软件所需的软件包吗?

  23. 23

    我可以使用apt-get管理dpkg安装的软件包吗?

  24. 24

    我可以构建一个拥有未安装文件的rpm软件包吗?

  25. 25

    我可以使用Google Apps脚本代替公式来对电子表格进行计算吗?

  26. 26

    我可以强制浏览器使用CSS @ font-face代替系统上安装的字体吗?

  27. 27

    安装节点软件包时,可以使用自定义目录名称代替“ node_modules”吗?

  28. 28

    将OS X Emacs安装程序移植到Windows吗?

  29. 29

    可以用pyspider代替Scrapy吗?

热门标签

归档