Supercharge your software upgrade routine

Top of the Line

Configuration File

Your next action will be to access the config file located under ~/.config/topgrade.toml (Figure 5). For this, you can either open it in your favorite editor or with the built-in --edit-config switch, which will take you directly to edit mode. For those not in the know, the .toml format flex is that it is user-friendly and already has been implemented in more than 40 programming languages [6].

Figure 5: By default, the topgrade.toml config file contains all these uncommented entries.

From the configuration file, notice that the rule of thumb for most supported software is to offer sudo execution. Another interesting point is that Topgrade is cross-platform; therefore, it also offers customization options for other operating systems that are not POSIX compliant.

That said, I have only run Topgrade on Linux systems with the defaults, without bothering much about changing the content of the config file. The results have been quite lucrative: Topgrade caught many updates that were not explicitly listed anywhere in the .toml file. Such is true notably for cargo, oh-my-zsh, and tldr. Although the [misc] section possibly contains the most options (Figure 6), the [linux] group also has a number of options that fall into the category from all the popular choices (Figure 7).

Figure 6: The [misc] stanza contains the most options.
Figure 7: The [linux] stanza contains some options for Arch, Red Hat, and SUSE, among others.

Troubleshooting as a Job

No matter how good your intentions, sooner or later something will go haywire, and when it does, Topgrade gives you the immediate opportunity to fix the sticky situation by prompting you to open a shell (Figure 8). As stated before, because I have been using this front end of front ends for many months now, the problem I most commonly face is (1) when tunneling Topgrade over SSH without invoking a shell first or (2) when I have a cargo version mismatch.

Figure 8: When something goes wrong, users will be prompted to fix it immediately. In this case, a manual SIGINT was issued, so nothing requires fixing.
Figure 9: The supercharged nala utility shows a much more verbose view of your current upgrade phase.

For the first case, if issuing something like

ssh IP -t '/home/Dan/.cargo/bin/topgrade -y'

when a shell-dependant update is pending (e.g., an oh-my-zsh update), then the topgrade process will fail. In the second case of a cargo version mismatch, running

cargo install cargo-update

from a rescue shell has always managed to fix my problem. After completing these minor sessions of troubleshooting, exiting and coming back to the utility always prove to be successful until the process is completed.

Pushing the Upgrade Game

Because of its nature, Topgrade will only be as good as the tools with which it is coupled. In that respect, and in the case of Debian and its derivatives, apt and its menu-driven aptitude sibling have been handling the job quite well for the last quarter century. Nevertheless, you still have room for improvement because even anything that has been in place that long should sooner or later be facing some sort of obsolence..

If you want to further enhance the toolset, the next level after deploying Topgrade would be to install something like Nala [7], a libapt-pkg front end (Figure 7), which, in turn, is much faster than apt. The tool offers not only a neater interface than the predecessors, but also parallel package downloads, the ability to select the fastest mirrors, and a history of package transactions. Although this step is optional, it will forever change your updating mindset.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy ADMIN Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Network traffic utilities bandwhich and iftop
    A close look at the network traffic on a server with the bandwhich and iftop utilities can reveal exactly why an application is behaving strangely.
  • HPCCM with Docker and Podman

    HPCCM makes creating and maintaining containers so much easier.

  • Making Small Business Server 2011 fit for 2014
    Never change a running system: If you are happy with your Small Business Server, you don't need to upgrade to the latest Windows server, but you should stay up-to-date. We show the pitfalls of installing updates.
  • Fundamentals of I/O benchmarking
    Admins often want to know how to measure the performance of a specific solution. Care is needed, however: Where there are benchmarks, there are pitfalls.
  • Configuration Management with puppet

    If you really want your evenings to belong to your job, you don’t need to depend on configuration management. But is all your overtime really necessary just to configure a server system? Configuration should just happen by magic these days; after all, we’ve had computers long enough to understand how to get it right.

comments powered by Disqus
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs



Support Our Work

ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.

Learn More”>
	</a>

<hr>		    
			</div>
		    		</div>

		<div class=