tquadrat.org

View on GitHub

Basic Software for Linux

Software List

This is a list of software that I will install on each Linux machine that I work with. Some are less useful on Raspberry Pi machines, others I do not need on desktops and/or laptops.

Configuration files and scripts can be found in the ChangeManagement repository .

  Ubuntu Desktop Ubuntu Laptop Raspberry Pi OS
joe x x x
curl x x x
wget x x x
Java x x x
Python 3 x x x
Subversion x x x
git x x x
Git Credential Manager x x x
go x x x
SDKMAN! x x x
Gradle x x x
Remmina x x x*
xRDP     x
GParted x x x*
FileZilla x x x*
Seahorse     x*

* Only for systems with a GUI installed

curl

curl is a command line tool for file transfer using the URL syntax. It is preinstalled on most Linux systems, but if not, it can be installed through apt.

FileZilla

FileZilla is a graphical FTP client that supports also SFTP. Use apt to install it.

git

git is an SCM that excels for distributed source code management, but it is also used a lot for the distribution of software. It will be installed through apt.

For my personal use, I prefer Subversion.

Git Credential Manager

The GCM is used to simplify working with Git repositories. The installation is described here.

go

go (or golang) is a multi-purpose programming language. See go.dev for details. The installation is described here.

GParted

GParted is a partition manager that allows to resize, copy, and move partitions without data loss. Can be useful also on a Raspberry Pi.

Will be installed through apt.

Gradle

The Gradle Build Tool is useful to build software and manage all its dependencies. It should be installed on any machine that is used for software development.

Gradle can be installed via apt as well as through snap, but both sources are usually not providing the latest versions. Therefore the recommended source is SDKMAN!. See here on how to install “The Software Development Kit Manager” if not yet done.

How to update the Gradle Wrapper is described here.

Java

The latest LTS version of the JDK needs to be available on all machines. Although it could be installed through SDKMAN!, I prefer to install it manually, the process is described here.

joe

joe (Joe’s Own Editor) is a simple text editor for the console window that works basically like the old Turbo Pascal editor. It is very similar to the nano editor, but I prefer joe over nano.

joe will be installed through apt.

Configure joe

The global configuration files for the editor joe can be found in /etc/joe; the main configuration settings are in /etc/joe/joerc. If you want to make the configuration adjustments only for a single user, or if you do not have root access, you can copy that file to your home directory:

cp /etc/joe/joerc ~/.joerc

My personal preferences are:

To set -lightoff, search for that string in the configuration file and move it to the fist column, to activate the option:

…
 -break_links
		Delete file before writing, to break hard links
		and symbolic links.

-lightoff	Turn off highlighting after block copy or move

 -exask		^KX always confirms file name
…

For the other settings, search for the string “ Default local options” and add the options below the found line:

…
 Default local options
-highlight
-istep 4

-indentc 32
-linums
-rmargin 132
-spaces
-tab 4

…

Python 3

Python is an easy-to-learn multi-purpose programming language. Usually the latest version will be installed together with the operating system, otherwise it can be installed through apt.

Remmina

Remmina is a tool to access remote systems through ssh, sftp and rdp. I usually install it through apt but if this is not working, see here.

SDKMAN!

SDKMAN! is a packet manager for software development tools. It will be installed through a shell command. Obviously it makes sense only on machines that are somehow used for software development.

For more information on the usage of SDKMAN!, see here.

Seahorse

Seahorse is a UI tool for the management of secrets, in particular for keyrings. It will be installed through apt.

Subversion

Apache Subversion is another version control system, like git. When installed through apt, it brings both, the server and the client to the machine.

Mainly the client command svn is needed, as I use a Subversion repository for the various configuration files I need (aside that I use it for my own software projects, too).

wget

wget is another command line tool to load files from the network. If not already installed, it can be made available through apt.

xRDP

The server for the Remote Desktop protocol, mainly used on the Raspberry Pi systems. For details, see here.

Installation Commands

Additional Software

Tex/Latex

Tex/Latex is the preferred format for the creation of large documents. On Linux, this requires to install texlive, and my preferred editor for Tex/Latex is texmaker. The installation command for both is

sudo apt install texlive texlive-fonts-extra biber texmaker

See here for some hints regarding Tex/Latex.