Skip to main content

Upgrading Nitrux is easy. We even support two methods to achieve this: using a utility created explicitly for this purpose, i.e., the Nitrux Update Tool System, or using Calamares—yes, you read that right.

In today’s tutorial, we’ll check how to do this.

Difficulty: ★☆☆☆☆

📜 Table of Contents

  1. Upgrade Process Information
  2. Upgrade using the Nitrux Update Tool System
    1. Update Nitrux
    2. Rollback Nitrux
  3. Upgrade using Live media (Calamares)
  4. Troubleshooting
    1. Unable to Create Redundant Backup of Root Partition
    2. Unable to Access GitHub
    3. Update Failed due to External Factors (Power Outage, Hardware Failure, etc.)
  5. Report Update Process Bugs

Upgrade Process Information

Below is the information we’ve deemed important for users to understand about this distribution and its upgrade process.

  • We aim to release new upgrade archives for the Nitrux Update Tool System during the first week of the month, usually the same week as the latest release. Sometimes, this period may extend for a couple more days. Either way, we will announce the availability of the update archive on our social media, chat groups, and the PSA section on this website.
  • The update archives for the Nitrux Update Tool System and the utility only support updating from the previous release to the latest, i.e., 3.4.0 to 3.4.1 or 3.4.1 to 3.5.0, etcetera. To upgrade from an older installation, i.e., 3.4.0, to 3.5.0, see Upgrade using Live media (Calamares).
    • 🔰 Information: Regarding the OTA archives, we delete the previous files whenever a new archive is uploaded. We do not maintain an online archive of these files or the ISOs.
  • Starting with Nitrux 6.0.0, the Nitrux Update Tool System automatically checks for updates. However, the utility doesn’t force updates (offline updates); users are still responsible for keeping their installations up to date.
  • The Nitrux Update Tool System does not update or modify files in the user’s home directory, such as the desktop configuration, during upgrades or rollbacks.
    • ⚠️ Important: Users can run the following command to update the files in their home directory to the updated default versions, then log out and log back in. However, this will replace their own files, so keep that in mind.
      • rm -r ~/.config/crystal-dock && cp -R /etc/skel/.config/* ~/.config/ && cp -R /etc/skel/.crystal-dock-2 ~/ && ln -sv ~/.crystal-dock-2 ~/.config/crystal-dock
  • Likewise, the Nitrux Update Tool System does not create backups of the user’s home directory.

Upgrade using the Nitrux Update Tool System

The Nitrux Update Tool System is a simple, minimalistic update and rollback utility. It performs three steps:

  1. It creates a backup of the XFS partition using xfsdump and stores it locally.
  2. Then, it downloads an OTA-style archive and updates the system atomically.
  3. Rollbacks are handled offline and integrated into the Nitrux ecosystem through the Live session using xfsrestore.

See the steps below to use the Nitrux Update Tool System.

Update Nitrux

  1. Launch NUTS from the applications menu.
  2. Click the button “Update Now” to upgrade the distribution.
    • 🔰 Information: Update completion time depends on various factors, such as system specifications, connection speed, connectivity to GitHub, and connectivity to SourceForge or their mirrors.

Rollback Nitrux

  1. Boot a Nitrux Live ISO.
  2. Launch NUTS from the applications menu.
  3. Click the button “Rescue” to rollback the distribution.
    • 🔰 Information: The user can only use this operation during a Live session.

Upgrade using Live media (Calamares)

Using an installer like Calamares to “update” a distribution doesn’t occur to most people. But we can do this by replacing only the old root partition with a new one. Think of it as having a directory with multiple files (abc.txt, abcd.txt, abcxyz.txt) and deleting only one file instead of the entire directory. Now you have abc123.txt, abcd.txt, and abcxyz.txt.

This procedure requires a separate root partition distinct from your user partitions. Most Linux distributions use a single partition that contains everything, making selective root replacement impossible. That’s why Nitrux uses a custom partition layout and emphasizes avoiding a single-partition layout during initial installation.

Some might mistake this for “reinstalling.” However, reinstalling means reusing the original installation media. If you originally installed Nitrux 2.9.0, reinstalling will still keep you at 2.9.0. What we’re describing is different: you boot Nitrux 2.9.1 media, delete the 2.9.0 root partition, and install a fresh 2.9.1 root while keeping your other partitions intact.

To upgrade from previous versions of Nitrux using Calamares, do the following:

The table below defines our partition layout for EFI/UEFI-based computers with GPT (GUID Partition Table) storage devices.

  • ⚠️ Important: Please be aware that the root directory is immutable, and any directory within the root will be read-only. Do not use a single partition layout.
Partition Label Mountpoint Filesystem Type Flags
EFI System Partition ESP /boot/efi fat32 boot
root NX_ROOT / xfs none
home NX_HOME /home f2fs none
/var/lib NX_VAR_LIB /var/lib f2fs none
swap SWAP none (automatically set up) linuxswap swap

Finally, proceed with installing the new root.

  • 🔰 Information: Replacing the root does not update or modify files in the user’s home directory, such as the desktop configuration.
    • ⚠️ Important: Users can run the following command to update the files in their home directory to the updated default versions, then log out and log back in. However, this will replace their own files, so keep that in mind.
      • rm -r ~/.config/crystal-dock && cp -R /etc/skel/.config/* ~/.config/ && cp -R /etc/skel/.crystal-dock-2 ~/ && ln -sv ~/.crystal-dock-2 ~/.config/crystal-dock

Troubleshooting

Below is the information we deem necessary for users to troubleshoot problems.

Unable to Create Redundant Backup of Root Partition

If the user did not use the XFS filesystem for the root partition, the Nitrux Update Tool System will not be able to create a redundant backup of the root partition, which means that using the command nuts rescue will not work.

As we mentioned in Installing Nitrux and this tutorial, we’ve designed our distribution with XFS and F2FS in mind, and no other filesystems. This problem is not a bug or issue with Nitrux or the Nitrux Update Tool System.

Unable to Access GitHub

If your computer can’t reach the domain raw.githubusercontent.com, you cannot proceed with the update process. We recommend using a VPN or a proxy, or contacting your ISP if they block access to these domains.

Update Failed due to External Factors (Power Outage, Hardware Failure, etc.)

If the Nitrux Update Tool System is unable to apply an update due to an external factor, the built-in method is to restore the XFS backup, which restores system integrity.

Report Update Process Bugs

To report problems with the Nitrux Update Tool System during the update, please use our bug tracker on GitHub and include the file /var/log/nuts.log in a bug report.

  • 🔰 Information: This file is only available during the active session.

That’s it; this concludes today’s tutorial.