\chapter{System} \section{To Reload Your \texttt{.bashrc} File} \lettrine{S}{ometimes} you add something to your \texttt{.bashrc} file (such as a new bash alias)\index[concepts]{bash alias} and you need to reload it. Of course, this file is reloaded every time you log in, but you may not wish to log out and then log back in if you are in the middle of important work. There are few different ways to do this: \begin{Verbatim}[frame=single, breaklines=true] source ~/.bashrc \end{Verbatim} \index{source} and of course a shorter way: \begin{Verbatim}[frame=single, breaklines=true] . ~/.bashrc \end{Verbatim} \section{To See if a Package Exists in the \texttt{apt} Repository} \lettrine{W}{hile} there are many ways to install software on a Linux system, the easiest way is usually through the package manager, which on Ubuntu is \texttt{apt}. \index{apt} To see if a package is available in that repo, we can use \begin{Verbatim}[frame=single, breaklines=true] apt-cache search \end{Verbatim} As an example, searching for the Okular document viewer in \texttt{apt} returns the following: \begin{Verbatim}[] libokular5core9 - libraries for the Okular document viewer okular - universal document viewer okular-backend-odp - Okular backend for ODP documents okular-backend-odt - Okular backend for ODT documents okular-dev - development files for the Okular libraries okular-extra-backends - additional document format support for Okular okular-mobile - mobile support for Okular qml-module-org-kde-okular - mobile support for Okular - QML modules \end{Verbatim} This does not tell us which version is available however. We have a couple of options here. First, we can use \begin{Verbatim}[frame=single, breaklines=true] apt policy \end{Verbatim} Using that for Okular returns the following: \begin{Verbatim}[breaklines=true] okular: Installed: (none) Candidate: 4:21.12.3-0ubuntu1 Version table: 4:21.12.3-0ubuntu1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages 100 /var/lib/dpkg/status \end{Verbatim} We can also use: \begin{Verbatim}[frame=single, breaklines=true] apt search \end{Verbatim} Which gives a more detailed listing with the available version of all related packages: \begin{Verbatim}[] Sorting... Done Full Text Search... Done libokular5core9/jammy 4:21.12.3-0ubuntu1 amd64 libraries for the Okular document viewer okular/jammy,now 4:21.12.3-0ubuntu1 amd64 [residual-config] universal document viewer okular-backend-odp/jammy 1:3.2.1+dfsg-5 amd64 Okular backend for ODP documents okular-backend-odt/jammy 1:3.2.1+dfsg-5 amd64 Okular backend for ODT documents okular-dev/jammy 4:21.12.3-0ubuntu1 amd64 development files for the Okular libraries okular-extra-backends/jammy 4:21.12.3-0ubuntu1 amd64 additional document format support for Okular okular-mobile/jammy 4:21.12.3-0ubuntu1 amd64 mobile support for Okular qml-module-org-kde-okular/jammy 4:21.12.3-0ubuntu1 amd64 mobile support for Okular - QML modules \end{Verbatim} To get even more information, including dependencies, we can use: \begin{Verbatim}[frame=single] apt show \end{Verbatim} Executing this command for Okular returns: \begin{Verbatim}[breaklines=true] Package: okular Version: 4:21.12.3-0ubuntu1 Priority: extra Section: universe/graphics Origin: Ubuntu Maintainer: Kubuntu Developers Original-Maintainer: Debian Qt/KDE Maintainers Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 16.4 MB Provides: pdf-viewer, postscript-viewer Depends: kinit, kio, libc6 (>= 2.35), libfreetype6 (>= 2.2.1), libjpeg8 (>= 8c), libkf5activities5 (>= 5.68.0~), libkf5archive5 (>= 5.68.0~), libkf5bookmarks5 (>= 5.68.0~), libkf5codecs5 (>= 4.96.0), libkf5completion5 (>= 5.68.0~), libkf5configcore5 (>= 5.68.0~), libkf5configgui5 (>= 5.68.0~), libkf5configwidgets5 (>= 5.81.0), libkf5coreaddons5 (>= 5.68.0~), libkf5crash5 (>= 5.68.0~), libkf5i18n5 (>= 5.68.0~), libkf5itemviews5 (>= 4.96.0), libkf5jobwidgets5 (>= 4.96.0), libkf5kexiv2-15.0.0 (>= 21.12.3~), libkf5kiocore5 (>= 5.68.0~), libkf5kiowidgets5 (>= 5.68.0~), libkf5parts5 (>= 5.68.0~), libkf5pty5 (>= 5.68.0~), libkf5purpose-bin, libkf5purpose5 (>= 5.68.0~), libkf5service-bin, libkf5service5 (>= 4.96.0), libkf5textwidgets5 (>= 5.68.0~), libkf5wallet-bin, libkf5wallet5 (>= 5.68.0~), libkf5widgetsaddons5 (>= 5.77.0), libkf5windowsystem5 (>= 5.68.0~), libkf5xmlgui5 (>= 5.79.0), libokular5core9 (= 4:21.12.3-0ubuntu1), libphonon4qt5-4 (>= 4:4.8.0), libpoppler-qt5-1 (>= 21.11.0), libqmobipocket2 (>= 4:21.12.3~), libqt5core5a (>= 5.15.1), libqt5dbus5 (>= 5.14.1), libqt5gui5 (>= 5.14.1) | libqt5gui5-gles (>= 5.14.1), libqt5printsupport5 (>= 5.13.0~), libqt5texttospeech5 (>= 5.12.0~), libqt5widgets5 (>= 5.15.1), libqt5xml5 (>= 5.13.0~), libspectre1 (>= 0.2.3), libstdc++6 (>= 11), phonon4qt5, zlib1g (>= 1:1.1.4) Recommends: cups-bsd, okular-extra-backends, qtspeech5-flite-plugin Suggests: ghostscript, okular-extra-backends (= 4:21.12.3-0ubuntu1), poppler-data, texlive-binaries, unrar Breaks: kdegraphics-mobipocket (<< 4:4.12), okular-extra-backends (<< 4:16.12.0), okular-mobile (<< 4:17.04.1-0) Replaces: okular-extra-backends (<< 4:16.12.0), okular-mobile (<< 4:17.04.1-0) Homepage: https://apps.kde.org/en/okular Task: kubuntu-desktop, kubuntu-full, ubuntustudio-desktop Download-Size: 6,206 kB APT-Sources: http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages Description: universal document viewer Okular is a universal document viewer with support for advanced document features, such as annotations, forms, and embedded files. . This package provides the document viewer application, plus plugins for a wide variety of document formats such as: * PostScript (PS) * Portable Document Format (PDF) * TeX Device independent file format (DVI) * XML Paper Specification (XPS) * G3 fax * various electronic book formats: ComicBook, FictionBook, and Plucker . Additional document formats are in the okular-extra-backends package. . The Calligra suite provides Okular plugins for OpenDocument formats that can be found in the okular-backend-odt and okular-backend-odp packages. . This package is part of the KDE graphics module. \end{Verbatim} \ktcbox{I generally prefer to install software from the \texttt{apt} repository, but sometimes it does not have the most recent version. These tools allow me to quickly check which version the repo does have. If the version is acceptable, I can install from there, or if not, I can explore other options.}