Simple Linux software update, software management and system software repair tool program. When clicked, Softman will perform a system update then clear the apt cache. The command line arguments give you access to Softman’s more advanced features.
Softman has 2 flavors:
- Installed
- Non Installed
To install
To install Softman, download and run the .deb file found in the GitHub repository.
The installed version of Softman has an application icon that can be pinned to your taskbar.
The command line arguments work the same as for the non installed version but you must leave out the ./ from in front of ./softman where shown in the instructions e.g. use softman install <package> instead of ./softman install <package>.
To use without installation
- Download the file ‘softman’ or the softman-x.x.x.deb installer.
- Make the file executable (desktop users: right-click then select ‘executable’)
- Click the file to run the update service
- Read Features section of this post to learn the advanced command line options.
The Softman download link is at the bottom of this page. If you are lazier than I am you can just click here to view the GitHub repository.
I keep Softman on my desktop so I can click it any time I want to quickly run system updates because it takes too long to load the regular GUI.
Features
- Updates the system when clicked.
- Accepts command line arguments.
- Can be included within another script as a source file (with minor changes. The library version is slightly different).
- Can be used to fix a broken system.
Command line options
Softman has a number of command line options for use in Konsole or Terminal or, when softman is used as a source file within other scripts.
Basic Tool
- upgrade: update/upgrade the system software with suggested build dependent packages.
Repository Tools
- list: list all installed repositories in alphanumeric order.
- add: add a new repository. Can be a list of space separated repositories. Use quotes.
- remove: remove a repository but keep the software from the repository installed. Can be a list of space separated repositories. Use quotes.
- purge: remove a repository and remove the software from the repository installed. Can be a list of space separated repositories. Use quotes.
Software Tools
- find: search repositories for software by name. Can be a list of packages. The results are sorted alphanumerically.
- install: install software with suggested build dependent packages. Can be a list of packages.
- reinstall: reinstall software with suggested build dependent packages. Can be a list of packages.
- package: create a basic .deb template directory then package it into .deb installer.
- build: download package source files from a repository and compile into a .deb binary file ready for installation.
- flush: clear the download cache and automatically remove packages that are no longer required.
System Repair Tools
- fix: fix broken packages and configure partially installed packages.
- findbad: find packages with corrupt files / find packages with missing files.
- fixbad: find currupt software and automatically reinstall their packages (use with caution).
- fixmissing: find software with missing files and automatically reinstall their packages (use with caution).
- rebuildsystem: reinstall all installed software (use with extreme caution. This is the ‘what the hell’ option).
Command line option flags
- -u: Run apt-get update
- -h: Show help text
- -v: Show Softman version number
Softman usage instructions
Softman is a wrapper for frequently used apt and dpkg commands with a couple of bonus tools. Softman run with no command arguments will perform a full system update.
For example
List packages that contain the strings ‘gimp’ and ‘moo’
./softman find gimp moo
Add a new repository such as Kubuntu Backports
sudo ./softman ppa:kubuntu-ppa/ppa ppa:kubuntu-ppa/backports
Install VLC, GIMP and Kate along with their build dependencies with
sudo ./softman install vlc gimp kate
Reinstall VLC, GIMP and Kate along with their build dependencies with
sudo ./softman reinstall vlc gimp kate
Running softman without any arguments will cause softman to update the list of available software then download and install any updates. This is the same as running apt-get update ; apt-get upgrade ; apt-get dist-upgrade ; apt-get clean ; apt-get autoremove.
Running softman -u will only download the latest list of available software packages. This is the same as apt-get update.
To only run updates from the command line, use:
sudo ./softman
For help, see
./softman -h
Notes
The following commands are safe to use but exercise caution
sudo ./softman fixbad
and
sudo ./softman fixmissing
The following command will either fix or destroy your system. Should be safe to use but.. there is always risk!
sudo ./softman rebuildsystem
Why?
Because opening a terminal to run updates is too much hassle and I’m too lazy to use GUI options that take forever to load. Plus, I needed a software update library and better installer for other scripts.
Additionally, some apt commands are way too long to type and so easily forgotten.
History
This Bash script began life as a simple system update script to hang on my desktop and click to quickly run system software updates. It is now so much more than that.
Softman (Software Manager) is part of a library of scripts I author and frequently use in Linux projects. This library will soon be released to my Github repo for others to make use of in their own Bash projects.
The softman software update script released to my Github repo is a self-contained version of a software update and (re)installation script. It is mostly a wrapper for frequently used apt-get command sequences but also includes commands to automatically reinstall software packages that contain corrupt files e.g. files damaged during a hard drive crash, malware infection or self-inflicted damage when a script runs amock and chews up everything in its path.