インストールスクリプトの移植:rpmはaptを置き換えることができますか?

インストールスクリプトの移植: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

ベストアンサー1

rpmほとんど同じdpkg、いいえapt同じはaptyumバージョンdnf7より前のRHELと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どちらの場合も同じ名前でパッケージ化されているため動作します。必ずしもそうではありません。特定のソフトウェアは、異なるディストリビューションでも、特定のディストリビューションパックの異なるバージョンでも異なる名前でパッケージ化することができます。)

バラよりパックマンロゼッタそしてUbuntu RHEL移行ガイドもっと学ぶ。

違いを抽象化するのに役立つ(または少なくとも強力に対処するために)役立つ構成管理ツールを見たいと思うかもしれません。

テストはDebian派生製品(Ubuntuを含む)にインストールできるif [ $(command -v yum) ]ため、欠陥があります。テストがあってもパッケージマネージャという意味ではありません。yum実行中のオペレーティングシステムを検出し、それに基づいて選択する必要があります。オペレーティングシステムの名前を確実に取得する方法は?もっと学ぶ。

おすすめ記事