2. Upgrading the LOCKSS System

Note

This chapter describes how to upgrade an existing LOCKSS 2.0-alpha5, 2.0-alpha6, or 2.0.71-alpha7 system to 2.0-alpha7. If you are installing the LOCKSS 2.x system for the first time, please see the installation instructions in the next chapter:

Installing the LOCKSS System

Tip

Before you begin the upgrade, we strongly recommend you first bring your operating system up to date by applying security updates and upgrading installed packages. Ask your system administrator or see Operating System Updates in the appendix.

Note

Commands in this section are run as the lockss user 1.

2.1. Stop the LOCKSS System

The first step is to stop the running LOCKSS system. Log in as the lockss user and run the following command in the LOCKSS Installer Directory:

scripts/stop-lockss

You may verify all LOCKSS components have stopped by running the following command:

k3s kubectl get deployments -n lockss

which should return:

No resources found in lockss namespace.

2.2. Update the LOCKSS Installer

As the lockss user 1, run this Curl, Wget or HTTPie command 2:

curl -sSfL https://lockss.org/downloader | sh -s -
http -qd https://lockss.org/downloader | sh -s -
wget -qO- https://lockss.org/downloader | sh -s -

This will download and invoke the LOCKSS Downloader, which in turn will install the latest version of the LOCKSS Installer into the Default LOCKSS Installer Directory ($HOME/lockss-installer). If you are using a custom LOCKSS Installer Directory DIR, remember to add --download-dir=DIR to the end of the command; see Running the LOCKSS Downloader for details.

2.3. Run the Upgrade Script

The next step will update PostgreSQL from 9.6.12 to 14.7 if applicable. In addition, if updating from 2.0-alpha5, the archived content will then be reindexed. As the lockss user, run the following command in the LOCKSS Installer Directory:

scripts/upgrades/upgrade-to-alpha7

Hint

If it takes more than a few seconds for upgrade-to-alpha7 above to run, the reindexing of all previously archived content which occurs the first time you start 2.0-alpha7 after upgrading from 2.0-alpha5 may take prohibitively long. This performance issue will be addressed in a later release. If you do not need the previously stored content during alpha testing, you could delete it and skip this reindexing step; see Resetting the System to a Blank State.

2.4. Re-run the Configure Script

Re-run the configuration script by running the command below and follow the instructions in Configuring the LOCKSS System to ensure all existing configuration parameters are still correct and to configure any new parameters:

scripts/configure-lockss -r

The -r ("replay") option will re-use all previously-entered configuration values, and only ask questions for new prompts added since the previous release.

2.5. Start LOCKSS 2.0-alpha7

You are now ready to start the LOCKSS system.

  • If you were upgrading from LOCKSS 2.0.71-alpha7, run this command:

    scripts/start-lockss -u
    
  • If you were upgrading from LOCKSS 2.0-alpha5 or LOCKSS 2.0-alpha6, run this command:

    scripts/start-lockss
    

    Hint

    If it takes more than a few seconds for upgrade-to-alpha7 above to run, the reindexing of all previously archived content which occurs the first time you start 2.0-alpha7 after upgrading from 2.0-alpha5 may take prohibitively long. This performance issue will be addressed in a later release. If you do not need the previously stored content during alpha testing, you could delete it and skip this reindexing step; see Resetting the System to a Blank State.


Footnotes

1

See Running Commands as the lockss User.

2

Most typical Linux systems have at least one of Curl, Wget or HTTPie installed by default. You can check by typing curl --version, wget --version or http --version, and seeing which ones do not output an error message. See Installing Curl, Installing Wget or Installing HTTPie for installation instructions.