systemd service A has `Conflicts=B`. Both A and B are enabled. Can you tell which service will be allowed to...












2














Installing the firewalld package on Debian 9 also pulls in the ebtables package. This adds two services to the system, firewalld and ebtables. As usual, Debian enables both services.



firewalld.service is marked as Conflicts=ebtables.service.



What will happen with these two services when the system boots? Can I tell which of the two will be allowed to run? Or will neither be allowed to run?










share|improve this question



























    2














    Installing the firewalld package on Debian 9 also pulls in the ebtables package. This adds two services to the system, firewalld and ebtables. As usual, Debian enables both services.



    firewalld.service is marked as Conflicts=ebtables.service.



    What will happen with these two services when the system boots? Can I tell which of the two will be allowed to run? Or will neither be allowed to run?










    share|improve this question

























      2












      2








      2







      Installing the firewalld package on Debian 9 also pulls in the ebtables package. This adds two services to the system, firewalld and ebtables. As usual, Debian enables both services.



      firewalld.service is marked as Conflicts=ebtables.service.



      What will happen with these two services when the system boots? Can I tell which of the two will be allowed to run? Or will neither be allowed to run?










      share|improve this question













      Installing the firewalld package on Debian 9 also pulls in the ebtables package. This adds two services to the system, firewalld and ebtables. As usual, Debian enables both services.



      firewalld.service is marked as Conflicts=ebtables.service.



      What will happen with these two services when the system boots? Can I tell which of the two will be allowed to run? Or will neither be allowed to run?







      systemd






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 6 hours ago









      sourcejedi

      22.8k436100




      22.8k436100






















          1 Answer
          1






          active

          oldest

          votes


















          2















          If a unit A that conflicts with a unit B is scheduled to be started at the same time as B, the transaction will either fail (in case
          both are required part of the transaction) or be modified to be fixed (in case one or both jobs are not a required part of the
          transaction). In the latter case, the job that is not the required will be removed, or in case both are not required, the unit that
          conflicts will be started and the unit that is conflicted is stopped.



          -- man systemd.unit




          In this case, both firewalld.service and ebtables.service are only WantedBy=multi-user.target, not RequiredBy=.



          Conclusion: firewalld.service will be started, and ebtables.service will not.





          This does not tell you what happens immediately when you install firewalld. Fortunately it is the same result, because ebtables is installed first. This ordering means that ebtables.service is started temporarily, but it is stopped again once firewalld.service is started:




          If a unit has a Conflicts= setting on another unit, starting the former will stop the latter and vice versa.







          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%2f491740%2fsystemd-service-a-has-conflicts-b-both-a-and-b-are-enabled-can-you-tell-whic%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            2















            If a unit A that conflicts with a unit B is scheduled to be started at the same time as B, the transaction will either fail (in case
            both are required part of the transaction) or be modified to be fixed (in case one or both jobs are not a required part of the
            transaction). In the latter case, the job that is not the required will be removed, or in case both are not required, the unit that
            conflicts will be started and the unit that is conflicted is stopped.



            -- man systemd.unit




            In this case, both firewalld.service and ebtables.service are only WantedBy=multi-user.target, not RequiredBy=.



            Conclusion: firewalld.service will be started, and ebtables.service will not.





            This does not tell you what happens immediately when you install firewalld. Fortunately it is the same result, because ebtables is installed first. This ordering means that ebtables.service is started temporarily, but it is stopped again once firewalld.service is started:




            If a unit has a Conflicts= setting on another unit, starting the former will stop the latter and vice versa.







            share|improve this answer


























              2















              If a unit A that conflicts with a unit B is scheduled to be started at the same time as B, the transaction will either fail (in case
              both are required part of the transaction) or be modified to be fixed (in case one or both jobs are not a required part of the
              transaction). In the latter case, the job that is not the required will be removed, or in case both are not required, the unit that
              conflicts will be started and the unit that is conflicted is stopped.



              -- man systemd.unit




              In this case, both firewalld.service and ebtables.service are only WantedBy=multi-user.target, not RequiredBy=.



              Conclusion: firewalld.service will be started, and ebtables.service will not.





              This does not tell you what happens immediately when you install firewalld. Fortunately it is the same result, because ebtables is installed first. This ordering means that ebtables.service is started temporarily, but it is stopped again once firewalld.service is started:




              If a unit has a Conflicts= setting on another unit, starting the former will stop the latter and vice versa.







              share|improve this answer
























                2












                2








                2







                If a unit A that conflicts with a unit B is scheduled to be started at the same time as B, the transaction will either fail (in case
                both are required part of the transaction) or be modified to be fixed (in case one or both jobs are not a required part of the
                transaction). In the latter case, the job that is not the required will be removed, or in case both are not required, the unit that
                conflicts will be started and the unit that is conflicted is stopped.



                -- man systemd.unit




                In this case, both firewalld.service and ebtables.service are only WantedBy=multi-user.target, not RequiredBy=.



                Conclusion: firewalld.service will be started, and ebtables.service will not.





                This does not tell you what happens immediately when you install firewalld. Fortunately it is the same result, because ebtables is installed first. This ordering means that ebtables.service is started temporarily, but it is stopped again once firewalld.service is started:




                If a unit has a Conflicts= setting on another unit, starting the former will stop the latter and vice versa.







                share|improve this answer













                If a unit A that conflicts with a unit B is scheduled to be started at the same time as B, the transaction will either fail (in case
                both are required part of the transaction) or be modified to be fixed (in case one or both jobs are not a required part of the
                transaction). In the latter case, the job that is not the required will be removed, or in case both are not required, the unit that
                conflicts will be started and the unit that is conflicted is stopped.



                -- man systemd.unit




                In this case, both firewalld.service and ebtables.service are only WantedBy=multi-user.target, not RequiredBy=.



                Conclusion: firewalld.service will be started, and ebtables.service will not.





                This does not tell you what happens immediately when you install firewalld. Fortunately it is the same result, because ebtables is installed first. This ordering means that ebtables.service is started temporarily, but it is stopped again once firewalld.service is started:




                If a unit has a Conflicts= setting on another unit, starting the former will stop the latter and vice versa.








                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 6 hours ago









                sourcejedi

                22.8k436100




                22.8k436100






























                    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.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • 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%2f491740%2fsystemd-service-a-has-conflicts-b-both-a-and-b-are-enabled-can-you-tell-whic%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

                    Morgemoulin

                    Scott Moir

                    Souastre