Difference between revisions of "So you want to update your ircd"

From pisswiki
Jump to: navigation, search
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
Tested 3x on pissircd with custom scripts installed.
This process was tested 4x on pissircd and unrealircd, some servers with custom scripts installed, and confirmed with another dozen or so successful updates.


When attempting to upgrade using the built in unrealircd upgrader, it failed with an error about calling a script directly despite using the correct command to do a version upgrade. (From this page: https://www.unrealircd.org/docs/Upgrading_from_5.x )
Guide was written to be as 'cut and paste' as possible.  


This was my way of working around the built in updater to go from 5.x to 6.x while also doing a build for pissircd specifically.
== Notes ==


It -should- work for those running vanilla unrealircd and upgrading to pissircd. But we're making a backup of your unrealircd folder regardless.
* When I was attempting to upgrade using the built in unrealircd upgrader on a server that had 5.x, it failed with an error about calling a script directly despite using the correct command to do a version upgrade. Updating required a few extra steps when done manually, all from this page: https://www.unrealircd.org/docs/Upgrading_from_5.x


The fun bit: You can build, upgrade and make all changes while your ircd is running, needing only to stop and restart when done.
* This was documented specifically for working around the built in updater to go from 5.x to 6.x while also doing a build to run pissircd.


---
* This upgrade method will also work for those running vanilla unrealircd and upgrading to pissircd. But we're making a backup of your unrealircd folder regardless.
 
* There's no risk in this upgrade method aside from a minute of downtime should you be unable to restart.
 
* The fun bit: You can build, upgrade and make all changes while your ircd is running, needing only to stop and restart when done.
 
 
== Updating from 5.x to 6.x ==


* Remove all of your previous build and backup folders (you won't be using the built in unrealircd upgrader, so clear out the old cruft.)
* Remove all of your previous build and backup folders (you won't be using the built in unrealircd upgrader, so clear out the old cruft.)
Line 18: Line 25:
* '''make'''
* '''make'''
* '''make install'''
* '''make install'''
* cd ..
* '''cd ..'''
* cd unrealircd
* '''cd unrealircd'''
* cd conf
* '''cd conf'''
* nano unrealircd.conf
* '''nano unrealircd.conf'''
* Comment out the entire block for > log "ircd.log"
* Comment out the entire block for > log "ircd.log"
** from '''log "ircd.log"'''
** from '''log "ircd.log"'''
Line 42: Line 49:
</pre>
</pre>
* Save (Ctrl X)
* Save (Ctrl X)
* cd ..
* '''cd ..'''
* '''./unrealircd stop'''
* '''./unrealircd stop'''
* '''./unrealircd start'''
* '''./unrealircd start'''


---
 
== Post Notes ==


You should be running piss60 successfully.
You should be running piss60 successfully.
If not, delete 'unrealircd' ( '''rm -rf ~/unrealircd''' ) folder and rename 'backup.unrealircd' to 'unrealircd' ( '''mv backup.unrealircd unrealircd''' ) and then restart unrealircd ( '''cd unrealircd''' then '''./unrealircd start''' )
Nothing will be lost except uptime.
== Updating within 6.x versions ==
Updating once you have built from git is mostly the same. Some of the above steps are one time deals.
To update from 6.x to 6.x (patches, fixes, etc)
* Back up your unrealircd folder ('''cp -R unrealircd backup.unrealircd''')
* '''rm -rf pissircd'''
* '''git clone https://github.com/pissnet/pissircd'''
* '''cd pissircd && ./Config'''
* Hit enter on everything (defaults)
* '''make && make install'''
* '''cd ..'''
* '''cd unrealircd'''
* '''./unrealircd stop'''
* '''./unrealircd start'''
and that should be it.

Latest revision as of 19:07, 6 April 2022

This process was tested 4x on pissircd and unrealircd, some servers with custom scripts installed, and confirmed with another dozen or so successful updates.

Guide was written to be as 'cut and paste' as possible.

Notes

  • When I was attempting to upgrade using the built in unrealircd upgrader on a server that had 5.x, it failed with an error about calling a script directly despite using the correct command to do a version upgrade. Updating required a few extra steps when done manually, all from this page: https://www.unrealircd.org/docs/Upgrading_from_5.x
  • This was documented specifically for working around the built in updater to go from 5.x to 6.x while also doing a build to run pissircd.
  • This upgrade method will also work for those running vanilla unrealircd and upgrading to pissircd. But we're making a backup of your unrealircd folder regardless.
  • There's no risk in this upgrade method aside from a minute of downtime should you be unable to restart.
  • The fun bit: You can build, upgrade and make all changes while your ircd is running, needing only to stop and restart when done.


Updating from 5.x to 6.x

  • Remove all of your previous build and backup folders (you won't be using the built in unrealircd upgrader, so clear out the old cruft.)
  • Back up your unrealircd folder (cp -R unrealircd backup.unrealircd)
  • git clone https://github.com/pissnet/pissircd
  • cd pissircd && ./Config
  • Hit enter on everything (defaults)
  • make
  • make install
  • cd ..
  • cd unrealircd
  • cd conf
  • nano unrealircd.conf
  • Comment out the entire block for > log "ircd.log"
    • from log "ircd.log"
    • including "flags {"
    • to second "}"
    • (Needed for 6.x, otherwise your conf fails checks.)
  • Add the following:
log {
        source {
            !debug;
            all;
        }
        destination {
            file "ircd.log" { maxsize 100M; }
        }
}

include "snomasks.default.conf";
loadmodule "cloak_md5";
  • Save (Ctrl X)
  • cd ..
  • ./unrealircd stop
  • ./unrealircd start


Post Notes

You should be running piss60 successfully.

If not, delete 'unrealircd' ( rm -rf ~/unrealircd ) folder and rename 'backup.unrealircd' to 'unrealircd' ( mv backup.unrealircd unrealircd ) and then restart unrealircd ( cd unrealircd then ./unrealircd start )

Nothing will be lost except uptime.


Updating within 6.x versions

Updating once you have built from git is mostly the same. Some of the above steps are one time deals.

To update from 6.x to 6.x (patches, fixes, etc)

  • Back up your unrealircd folder (cp -R unrealircd backup.unrealircd)
  • rm -rf pissircd
  • git clone https://github.com/pissnet/pissircd
  • cd pissircd && ./Config
  • Hit enter on everything (defaults)
  • make && make install
  • cd ..
  • cd unrealircd
  • ./unrealircd stop
  • ./unrealircd start

and that should be it.