
次の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
同じはapt
(yum
バージョンdnf
7より前の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
実行中のオペレーティングシステムを検出し、それに基づいて選択する必要があります。オペレーティングシステムの名前を確実に取得する方法は?もっと学ぶ。
答え2
いいえ、とのオプションとパラメータはapt
異なりyum
、ほとんどの場合パッケージ名も異なります。
あなたもrpm
混乱yum
しているyum
ようですapt
。はいバックエンド、はいバックエンド。rpm
dpkg
dpkg
apt
rpm
yum
man
両方のページを見て、apt
同等のyum
オプションを見つける必要があります。あるいは、puppet
ディストリビューション間の多くのオペレーティングシステムの違いを抽象化することができる構成管理ツールを見てみることもできますが、これは現在行われている作業に比べてわずかに過剰になる可能性があります。