\begin{exe} {Installing \textbf{firewalld}}

   While most \textbf{Linux} distributions now have the
   \textbf{firewalld} package (which includes the
   \textbf{firewall-cmd} multi-purpose utility)
   available, it might not be installed on your system.

   First you should check to see if it is already
   installed, with
   \begin{cmd}
$ which firewalld firewall-cmd
   \end{cmd}
   \begin{response}
/usr/sbin/firewalld
/usr/bin/firewall-cmd
   \end{response}
   If you fail to find the program, then you need to
   install with one of the following, depending on your
   distribution in the usual way:
   \begin{cmd}
$ sudo dnf install firewalld
$ sudo zypper install firewalld
$ sudo apt-get install firewalld
   \end{cmd}

   If this fails, the \textbf{firewalld} package is not
   available for your distribution.  In this case you will
   have to install from source.

   To do this, go to
   \url{https://fedorahosted.org/firewalld/} and you can
   get the \textbf{git} source repository, or you can
   easily download the most recent tarball.

   Then you have to follow the common procedure for installing
   from source (using whatever the current version is):
   \begin{cmd}
$ tar xvf firewalld-0.3.13.tar.bz2
$ cd firewalld-0.3.13
$ ./configure
$ make
$ sudo make install
   \end{cmd}
   Note this source also has an \textbf{uninstall} target:
   \begin{cmd}
$ sudo make uninstall
   \end{cmd}
   in case you have regrets.

   You will have to deal with any inadequacies that come up
   in the \texttt{./configure} step, such as missing
   libraries etc. When you install from a packaging system,
   the distribution takes care of this for you, but from
   source it can be problematic.  If you have run the
   \textbf{Linux Foundation}'s \textbf{ready-for.sh} script
   on your system, you are unlikely to have problems.
\end{exe}

