antiX s6-rc Service Manager – For Testers Only

Forum Forums antiX-development Development antiX s6-rc Service Manager – For Testers Only

  • This topic has 45 replies, 8 voices, and was last updated Mar 12-11:05 pm by calciumsodium.
Viewing 15 posts - 1 through 15 (of 46 total)
  • Author
    Posts
  • #132892
    Member
    ProwlerGr

      A few of you already guessed what I was playing with behind the scenes.
      Obviously credits should also go to original runit-service-manager authors & contributors, this wouldn’t have happened without their original work.

      Notes, caveats, tips, & my best advice as follows:

      Please do not install on production systems until you’ve thoroughly tested this – especially if your s6-rc installation is based on anything older than the 2024-02-08 respin.

      Service manager is preinstalled on the latest “init-diversity” UNOFFICIAL iso’s
      antix-23.1_amd64_init-diversity-edition_UNOFFICIAL_20240214.iso or antix-23.1_i386_init-diversity-edition_UNOFFICIAL_20240214.iso
      Instructions for newcomers that aren’t familiar with the “init-diversity” respin can be found here and especially #post-133120

      Testers will need to upgrade their s6-rc-services package as it has been heavily reconfigured & optimised to easily work with the s6-rc service manager (any prior manual modifications will be lost), but I’m sure everybody will find that adding/enabling & disabling services now will be like a breeze, especially for those familiar with the runit-service-manager which it was based on (obviously with heavy modifications).

      My recommended method of a clean installation (on an older installation where not preinstalled) is to run the following command sequence:
      sudo apt purge -y s6-rc-services && sudo apt update -y && sudo apt install -y s6-rc-service-manager

      Please enjoy & I welcome your feedback

      s6-rc_service-manager_menu-shortcut

      • This topic was modified 4 months, 1 week ago by ProwlerGr.
      #132970
      Moderator
      Brian Masinick

        @prowlergr as before, I take it that it is necessary to use either the script or an ISO image to obtain the Service Manager, is that right?

        If so, I’ll grab it eventually, but for now I’d like to just enjoy what I have for a few days.

        --
        Brian Masinick

        #132973
        Moderator
        Brian Masinick

          I tried the command you suggested on my fairly recently updated system and it WORKED!

          --
          Brian Masinick

          #132974
          Member
          ProwlerGr

            I take it that it is necessary to use either the script or an ISO image to obtain the Service Manager, is that right?

            Just the script, the iso doesn’t have the service available.
            I mentioned to use the last iso because this is what we need to draw the line & test against.
            Don’t expect this tool to work on older s6-rc spins released earlier using mixed debs or instructions from here, here or here.

            Those spins served their purpose at their time, we need to stay current in order to move forward.

            #133018
            Member
            calciumsodium

              Hello @ProwlerGr,

              It seems that the key to this script is the function:

              
              refresh_s6-db(){
                  s6-rc-update /etc/s6-rc/compiled-release
              	mv /etc/s6-rc/compiled-active /etc/s6-rc/compiled-superseded-$(date +%s%N)
              	rm -r /etc/s6-rc/compiled
              	s6-rc-compile /etc/s6-rc/compiled-active /etc/s6-rc/sv
              	ln -sf /etc/s6-rc/compiled-active /etc/s6-rc/compiled
              	s6-rc-update /etc/s6-rc/compiled
              	rm -rf /etc/s6-rc/compiled-superseded*	
              

              Can you please help us understand what the function of these folders in the /etc/s6-rc/? There is compiled-active vs compiled-release. There is sv vs sv-release. What are the differences? There is the s6-rc-init folder.

              Thank you.

              Attachments:
              #133020
              Moderator
              Brian Masinick

                I take it that it is necessary to use either the script or an ISO image to obtain the Service Manager, is that right?

                Just the script, the iso doesn’t have the service available.
                I mentioned to use the last iso because this is what we need to draw the line & test against.
                Don’t expect this tool to work on older s6-rc spins released earlier using mixed debs or instructions from here, here or here.

                Those spins served their purpose at their time, we need to stay current in order to move forward.

                I should have worded my question differently. I intended to ask whether it was necessary to build an entirely new environment prior to installing the Service Manager. I now realize that it is NOT necessary to reinstall a new image, it’s only necessary to have a current environment built; I built mine after the February 8 timeframe; I think I built mine on the 10th of February; the installation of the Service Manager went fine; now I want to experiment with it, which I have not yet completed doing.

                --
                Brian Masinick

                #133036
                Moderator
                Brian Masinick

                  I got onto my diversity instance and checked out the s6-rc-service-manager.

                  I did not spot it in the menu structure, so I searched for it and found the script in /usr/local/bin.
                  I tried running it by the command sudo s6-rc_service-manager.sh when I was in the /usr/local/bin
                  directory and that seemed to work.

                  In your image you show various directories; I presume these are among the items you can explore, and some of them are used in the management structure.

                  Until this service is integrated into our services, is sudo /usr/local/bin/s6-rc_service-manager.sh the correct way to run this tool?

                  --
                  Brian Masinick

                  #133037
                  Moderator
                  Brian Masinick

                    I did run sudo /usr/local/bin/s6-rc_service-manager.sh and it seemed to work fine; I stopped one tty and a couple of log files and those worked fine. I’m sure that I could enable or disable services as needed, based on what I observed in the interface.

                    Other than having to find the tool and run this manually, it seemed to work fine. I have no problem running it this way; of course we’ll want to include a standard interface to this once the testing and development stabilizes. Good effort; this is all starting to come together in an appealing way.

                    Incidentally, while I ran my other two instances of antiX earlier today, I’ve already been running 66 for 55 minutes and counting; you’d never know it was a test or a proof of concept; it’s really running well!

                    --
                    Brian Masinick

                    #133041
                    Moderator
                    Brian Masinick

                      Here is a screenshot for starting up the tool.

                      Attachments:

                      --
                      Brian Masinick

                      #133069
                      Member
                      calciumsodium

                        I posted my s6-rc-service manager testing results in the wrong thread:

                        Here are my testing results:

                        https://www.antixforum.com/forums/topic/antix-23-1_init-diversity-edition-sysvinit-runit-s6-rc-s6-66/page/10/#post-133067

                        #133082
                        Member
                        ProwlerGr

                          Can you please help us understand what the function of these folders in the /etc/s6-rc/? There is compiled-active vs compiled-release. There is sv vs sv-release. What are the differences? There is the s6-rc-init folder.

                          refresh_s6-db(){
                                  s6-rc-update /etc/s6-rc/compiled-release #Makes the static "safe" database active before we make any changes to our main one
                          	mv /etc/s6-rc/compiled-active /etc/s6-rc/compiled-superseded-$(date +%s%N) #renames the old database to make space for new compilation
                          	rm -r /etc/s6-rc/compiled #removes redundant symlink
                          	s6-rc-compile /etc/s6-rc/compiled-active /etc/s6-rc/sv #compiles new database with changes we've applied
                          	ln -sf /etc/s6-rc/compiled-active /etc/s6-rc/compiled #creates symlink to newly compiled database
                          	s6-rc-update /etc/s6-rc/compiled #Makes the freshly compiled database active
                          	rm -rf /etc/s6-rc/compiled-superseded* #cleans up the redundant compiled folders

                          sv-release is the “safe” packaged state of service files. Compiling this should always give you a bootable system if you stuff up with anything under “sv”

                          #133083
                          Member
                          ProwlerGr

                            I did not spot it in the menu structure, so I searched for it and found the script in /usr/local/bin

                            Launcher –> Applications –> Preferences –> s6-rc service manager (above the runit manager)

                            #133085
                            Member
                            ProwlerGr

                              I have tested it thoroughly & personally found it quite safe to use with the new s6-rc-services package.
                              I did manage to break an installation with the older bundles, this is why I put a hard requirement against the version of services deb it requires.

                              I’m more interested in feedback from testing
                              eg
                              – it works great,
                              – not so great,
                              – it broke this in my system (after installing on a post 20240208 using the OP instructions).

                              #133091
                              Member
                              calciumsodium

                                – it works great,
                                – not so great,
                                – it broke this in my system (after installing on a post 20240208 using the OP instructions).

                                In my case, the s6-rc service manager works good so far. I did not have to change too much of the services because you have set up the services up very well.

                                I did not follow your instructions exactly. I started with a base of antiX 23.1 pre-final version RUNIT. I was able to install s6-rc and s6-66 easily. As you can see, the s6-rc service manager works on this system. SysVinit installation was a bit more difficult on this system. It installed, but would not boot. So I went back to the 20240201 iso (where you started with a sysvinit base and added runit), studied how the sysvinit was set up and adapted. This was a great learning experience for me seeing how sysvinit works. Now this system has the full runit, sysvinit, s6-rc, and s6-66 fully working.

                                A little bit of compliment. I studied how s6-rc (the “old bundle” as you call it) in 20240201 vs this new bundle. I think this new bundle is really efficient, with about 175 MB of ram using ps_mem.py. I think this is production! I would not optimize much further except to disable the
                                dbus-log
                                slimski-log
                                udevd-log

                                services. But that is my own opinion.

                                This s6-rc system is:

                                
                                jakersfan@antix-s6-66:~
                                $ apt-cache policy s6-rc-services
                                s6-rc-services:
                                  Installed: 0.0.0.2experimental1
                                  Candidate: 0.0.0.2experimental1
                                  Version table:
                                 *** 0.0.0.2experimental1 500
                                        500 http://deb-s6-rc-66-init-experimental.duckdns.org:8080 experimental-s6/antix-s6 amd64 Packages
                                        500 http://deb-s6-rc-66-init-experimental.duckdns.org:8080 experimental-s6/antix-s6 i386 Packages
                                        100 /var/lib/dpkg/status
                                     0.0.0.1experimental2 500
                                        500 http://deb-s6-rc-66-init-experimental.duckdns.org:8080 experimental-s6/antix-s6 amd64 Packages
                                        500 http://deb-s6-rc-66-init-experimental.duckdns.org:8080 experimental-s6/antix-s6 i386 Packages
                                
                                #133093
                                Moderator
                                Brian Masinick

                                  So far what I did with the service manager worked fine.

                                  I’ll alter additional services tomorrow, so far it worked fine.

                                  --
                                  Brian Masinick

                                Viewing 15 posts - 1 through 15 (of 46 total)
                                • You must be logged in to reply to this topic.