porting install scripts : can rpm replace apt?





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







4















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









share|improve this question































    4















    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









    share|improve this question



























      4












      4








      4








      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









      share|improve this question
















      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






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited yesterday









      Rui F Ribeiro

      42.1k1484142




      42.1k1484142










      asked yesterday









      tatsutatsu

      1487




      1487






















          2 Answers
          2






          active

          oldest

          votes


















          12














          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.






          share|improve this answer


























          • 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



















          5














          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.






          share|improve this answer
























            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
            });


            }
            });














            draft saved

            draft discarded


















            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









            12














            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.






            share|improve this answer


























            • 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
















            12














            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.






            share|improve this answer


























            • 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














            12












            12








            12







            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.






            share|improve this answer















            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.







            share|improve this answer














            share|improve this answer



            share|improve this answer








            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



















            • 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













            5














            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.






            share|improve this answer




























              5














              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.






              share|improve this answer


























                5












                5








                5







                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.






                share|improve this answer













                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.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered yesterday









                rusty shacklefordrusty shackleford

                1,425117




                1,425117






























                    draft saved

                    draft discarded




















































                    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.




                    draft saved


                    draft discarded














                    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





















































                    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







                    Popular posts from this blog

                    How did Captain America manage to do this?

                    迪纳利

                    南乌拉尔铁路局