porting install scripts : can rpm replace apt?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
I have the following install script for ubuntu :
#!/bin/bash
sudo apt update
sudo apt full-upgrade -y
sudo apt install jq
sudo apt autoclean -y
sudo apt autoremove
will the following work under fedora, red hat, mageia or other rpm-based distros
...or does the syntax have to change more?
#!/bin/bash
sudo rpm update
sudo rpm full-upgrade -y
sudo rpm install jq
sudo rpm autoclean -y
sudo rpm autoremove
also can I do something to the effect of the following? :
#!/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
shell-script apt yum rpm software-distribution
add a comment |
I have the following install script for ubuntu :
#!/bin/bash
sudo apt update
sudo apt full-upgrade -y
sudo apt install jq
sudo apt autoclean -y
sudo apt autoremove
will the following work under fedora, red hat, mageia or other rpm-based distros
...or does the syntax have to change more?
#!/bin/bash
sudo rpm update
sudo rpm full-upgrade -y
sudo rpm install jq
sudo rpm autoclean -y
sudo rpm autoremove
also can I do something to the effect of the following? :
#!/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
shell-script apt yum rpm software-distribution
add a comment |
I have the following install script for ubuntu :
#!/bin/bash
sudo apt update
sudo apt full-upgrade -y
sudo apt install jq
sudo apt autoclean -y
sudo apt autoremove
will the following work under fedora, red hat, mageia or other rpm-based distros
...or does the syntax have to change more?
#!/bin/bash
sudo rpm update
sudo rpm full-upgrade -y
sudo rpm install jq
sudo rpm autoclean -y
sudo rpm autoremove
also can I do something to the effect of the following? :
#!/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
shell-script apt yum rpm software-distribution
I have the following install script for ubuntu :
#!/bin/bash
sudo apt update
sudo apt full-upgrade -y
sudo apt install jq
sudo apt autoclean -y
sudo apt autoremove
will the following work under fedora, red hat, mageia or other rpm-based distros
...or does the syntax have to change more?
#!/bin/bash
sudo rpm update
sudo rpm full-upgrade -y
sudo rpm install jq
sudo rpm autoclean -y
sudo rpm autoremove
also can I do something to the effect of the following? :
#!/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
shell-script apt yum rpm software-distribution
shell-script apt yum rpm software-distribution
edited yesterday
Rui F Ribeiro
42.1k1484142
42.1k1484142
asked yesterday
tatsutatsu
1487
1487
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
rpm
is mostly equivalent to dpkg
, not apt
; the apt
equivalent is yum
(on RHEL and CentOS up to release 7), or dnf
(on Fedora, and RHEL and CentOS starting with release 8), or zypper
(on SuSE). For your specific commands:
sudo dnf distro-sync
sudo dnf install jq
sudo dnf clean all
sudo dnf autoremove
or
sudo yum upgrade
sudo yum install jq
sudo yum clean all
(This works because jq
is packaged under the same name in both cases. This isn’t always true; a given piece of software can be packaged under different names in different distributions or even different releases of a given distribution.)
See the Pacman Rosetta and the Ubuntu RHEL migration guide for details.
You might want to look into configuration management tools instead, they will help you abstract the differences away (or at least, deal with them more robustly).
Your if [ $(command -v yum) ]
test is flawed because yum
can be installed on Debian derivatives (including Ubuntu); its presence doesn’t mean it’s the package manager. You should probably detect the running operating system and base your choice on that; see How can I reliably get the operating system's name? for details.
aw shucks package name can change? whyyyy?
– tatsu
yesterday
1
Because they’re different distribution, with different packaging practices, naming rules, etc.
– Stephen Kitt
yesterday
1
yum
is used in RHEL up to version 7, CentOS up to version 7, and probably other RPM-based distributions;dnf
is used in Fedora, and RHEL 8 and later.
– Stephen Kitt
yesterday
1
No, it hasn’t for quite a while.
– Stephen Kitt
yesterday
1
@tatsu You might find this educational: xkcd.com/927
– Morfildur
17 hours ago
|
show 8 more comments
No, the options and arguments to apt
and yum
are different, so are package names in a lot of cases.
You also seem to be getting rpm
and yum
confused, yum
is the equivalent of apt
, rpm
is the equivalent of dpkg
. dpkg
is the backend for apt
, rpm
is the backend for yum
.
You will have to look at the man
pages for both apt
and yum
to find the equivalent options. Alternativly you could look at a configuration management tool like puppet
which will abstract a lot of OS differences between distros, but this may be overkill for what you're doing.
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f512799%2fporting-install-scripts-can-rpm-replace-apt%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
rpm
is mostly equivalent to dpkg
, not apt
; the apt
equivalent is yum
(on RHEL and CentOS up to release 7), or dnf
(on Fedora, and RHEL and CentOS starting with release 8), or zypper
(on SuSE). For your specific commands:
sudo dnf distro-sync
sudo dnf install jq
sudo dnf clean all
sudo dnf autoremove
or
sudo yum upgrade
sudo yum install jq
sudo yum clean all
(This works because jq
is packaged under the same name in both cases. This isn’t always true; a given piece of software can be packaged under different names in different distributions or even different releases of a given distribution.)
See the Pacman Rosetta and the Ubuntu RHEL migration guide for details.
You might want to look into configuration management tools instead, they will help you abstract the differences away (or at least, deal with them more robustly).
Your if [ $(command -v yum) ]
test is flawed because yum
can be installed on Debian derivatives (including Ubuntu); its presence doesn’t mean it’s the package manager. You should probably detect the running operating system and base your choice on that; see How can I reliably get the operating system's name? for details.
aw shucks package name can change? whyyyy?
– tatsu
yesterday
1
Because they’re different distribution, with different packaging practices, naming rules, etc.
– Stephen Kitt
yesterday
1
yum
is used in RHEL up to version 7, CentOS up to version 7, and probably other RPM-based distributions;dnf
is used in Fedora, and RHEL 8 and later.
– Stephen Kitt
yesterday
1
No, it hasn’t for quite a while.
– Stephen Kitt
yesterday
1
@tatsu You might find this educational: xkcd.com/927
– Morfildur
17 hours ago
|
show 8 more comments
rpm
is mostly equivalent to dpkg
, not apt
; the apt
equivalent is yum
(on RHEL and CentOS up to release 7), or dnf
(on Fedora, and RHEL and CentOS starting with release 8), or zypper
(on SuSE). For your specific commands:
sudo dnf distro-sync
sudo dnf install jq
sudo dnf clean all
sudo dnf autoremove
or
sudo yum upgrade
sudo yum install jq
sudo yum clean all
(This works because jq
is packaged under the same name in both cases. This isn’t always true; a given piece of software can be packaged under different names in different distributions or even different releases of a given distribution.)
See the Pacman Rosetta and the Ubuntu RHEL migration guide for details.
You might want to look into configuration management tools instead, they will help you abstract the differences away (or at least, deal with them more robustly).
Your if [ $(command -v yum) ]
test is flawed because yum
can be installed on Debian derivatives (including Ubuntu); its presence doesn’t mean it’s the package manager. You should probably detect the running operating system and base your choice on that; see How can I reliably get the operating system's name? for details.
aw shucks package name can change? whyyyy?
– tatsu
yesterday
1
Because they’re different distribution, with different packaging practices, naming rules, etc.
– Stephen Kitt
yesterday
1
yum
is used in RHEL up to version 7, CentOS up to version 7, and probably other RPM-based distributions;dnf
is used in Fedora, and RHEL 8 and later.
– Stephen Kitt
yesterday
1
No, it hasn’t for quite a while.
– Stephen Kitt
yesterday
1
@tatsu You might find this educational: xkcd.com/927
– Morfildur
17 hours ago
|
show 8 more comments
rpm
is mostly equivalent to dpkg
, not apt
; the apt
equivalent is yum
(on RHEL and CentOS up to release 7), or dnf
(on Fedora, and RHEL and CentOS starting with release 8), or zypper
(on SuSE). For your specific commands:
sudo dnf distro-sync
sudo dnf install jq
sudo dnf clean all
sudo dnf autoremove
or
sudo yum upgrade
sudo yum install jq
sudo yum clean all
(This works because jq
is packaged under the same name in both cases. This isn’t always true; a given piece of software can be packaged under different names in different distributions or even different releases of a given distribution.)
See the Pacman Rosetta and the Ubuntu RHEL migration guide for details.
You might want to look into configuration management tools instead, they will help you abstract the differences away (or at least, deal with them more robustly).
Your if [ $(command -v yum) ]
test is flawed because yum
can be installed on Debian derivatives (including Ubuntu); its presence doesn’t mean it’s the package manager. You should probably detect the running operating system and base your choice on that; see How can I reliably get the operating system's name? for details.
rpm
is mostly equivalent to dpkg
, not apt
; the apt
equivalent is yum
(on RHEL and CentOS up to release 7), or dnf
(on Fedora, and RHEL and CentOS starting with release 8), or zypper
(on SuSE). For your specific commands:
sudo dnf distro-sync
sudo dnf install jq
sudo dnf clean all
sudo dnf autoremove
or
sudo yum upgrade
sudo yum install jq
sudo yum clean all
(This works because jq
is packaged under the same name in both cases. This isn’t always true; a given piece of software can be packaged under different names in different distributions or even different releases of a given distribution.)
See the Pacman Rosetta and the Ubuntu RHEL migration guide for details.
You might want to look into configuration management tools instead, they will help you abstract the differences away (or at least, deal with them more robustly).
Your if [ $(command -v yum) ]
test is flawed because yum
can be installed on Debian derivatives (including Ubuntu); its presence doesn’t mean it’s the package manager. You should probably detect the running operating system and base your choice on that; see How can I reliably get the operating system's name? for details.
edited 19 hours ago
answered yesterday
Stephen KittStephen Kitt
182k25418496
182k25418496
aw shucks package name can change? whyyyy?
– tatsu
yesterday
1
Because they’re different distribution, with different packaging practices, naming rules, etc.
– Stephen Kitt
yesterday
1
yum
is used in RHEL up to version 7, CentOS up to version 7, and probably other RPM-based distributions;dnf
is used in Fedora, and RHEL 8 and later.
– Stephen Kitt
yesterday
1
No, it hasn’t for quite a while.
– Stephen Kitt
yesterday
1
@tatsu You might find this educational: xkcd.com/927
– Morfildur
17 hours ago
|
show 8 more comments
aw shucks package name can change? whyyyy?
– tatsu
yesterday
1
Because they’re different distribution, with different packaging practices, naming rules, etc.
– Stephen Kitt
yesterday
1
yum
is used in RHEL up to version 7, CentOS up to version 7, and probably other RPM-based distributions;dnf
is used in Fedora, and RHEL 8 and later.
– Stephen Kitt
yesterday
1
No, it hasn’t for quite a while.
– Stephen Kitt
yesterday
1
@tatsu You might find this educational: xkcd.com/927
– Morfildur
17 hours ago
aw shucks package name can change? whyyyy?
– tatsu
yesterday
aw shucks package name can change? whyyyy?
– tatsu
yesterday
1
1
Because they’re different distribution, with different packaging practices, naming rules, etc.
– Stephen Kitt
yesterday
Because they’re different distribution, with different packaging practices, naming rules, etc.
– Stephen Kitt
yesterday
1
1
yum
is used in RHEL up to version 7, CentOS up to version 7, and probably other RPM-based distributions; dnf
is used in Fedora, and RHEL 8 and later.– Stephen Kitt
yesterday
yum
is used in RHEL up to version 7, CentOS up to version 7, and probably other RPM-based distributions; dnf
is used in Fedora, and RHEL 8 and later.– Stephen Kitt
yesterday
1
1
No, it hasn’t for quite a while.
– Stephen Kitt
yesterday
No, it hasn’t for quite a while.
– Stephen Kitt
yesterday
1
1
@tatsu You might find this educational: xkcd.com/927
– Morfildur
17 hours ago
@tatsu You might find this educational: xkcd.com/927
– Morfildur
17 hours ago
|
show 8 more comments
No, the options and arguments to apt
and yum
are different, so are package names in a lot of cases.
You also seem to be getting rpm
and yum
confused, yum
is the equivalent of apt
, rpm
is the equivalent of dpkg
. dpkg
is the backend for apt
, rpm
is the backend for yum
.
You will have to look at the man
pages for both apt
and yum
to find the equivalent options. Alternativly you could look at a configuration management tool like puppet
which will abstract a lot of OS differences between distros, but this may be overkill for what you're doing.
add a comment |
No, the options and arguments to apt
and yum
are different, so are package names in a lot of cases.
You also seem to be getting rpm
and yum
confused, yum
is the equivalent of apt
, rpm
is the equivalent of dpkg
. dpkg
is the backend for apt
, rpm
is the backend for yum
.
You will have to look at the man
pages for both apt
and yum
to find the equivalent options. Alternativly you could look at a configuration management tool like puppet
which will abstract a lot of OS differences between distros, but this may be overkill for what you're doing.
add a comment |
No, the options and arguments to apt
and yum
are different, so are package names in a lot of cases.
You also seem to be getting rpm
and yum
confused, yum
is the equivalent of apt
, rpm
is the equivalent of dpkg
. dpkg
is the backend for apt
, rpm
is the backend for yum
.
You will have to look at the man
pages for both apt
and yum
to find the equivalent options. Alternativly you could look at a configuration management tool like puppet
which will abstract a lot of OS differences between distros, but this may be overkill for what you're doing.
No, the options and arguments to apt
and yum
are different, so are package names in a lot of cases.
You also seem to be getting rpm
and yum
confused, yum
is the equivalent of apt
, rpm
is the equivalent of dpkg
. dpkg
is the backend for apt
, rpm
is the backend for yum
.
You will have to look at the man
pages for both apt
and yum
to find the equivalent options. Alternativly you could look at a configuration management tool like puppet
which will abstract a lot of OS differences between distros, but this may be overkill for what you're doing.
answered yesterday
rusty shacklefordrusty shackleford
1,425117
1,425117
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f512799%2fporting-install-scripts-can-rpm-replace-apt%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown