From the course: Red Hat Certified System Administrator (EX200) Cert Prep: 1 Deploy, Configure, and Manage (2021)

Install from a software repository

- [Narrator] The standard way of installing software on Linux is from a software repository. A software repository is a collection of software stored in a remote server on the network. The repository also holds an index so the software package is that it contains. This list is how our installation software knows what is available. It will also contain meta-data about the packages. This meta-data could be the description of the packages, who packaged them, the contents of the packages and so on. In addition, the repository usually includes a public key that's imported by the client in order to verify the integrity of the packages. This server may be on the internet or it could be inside your local network, if you've created your own. The software repository is hosted on either an FTP server or a web server. Technically the repository could be hosted on Windows, macOS, or Linux. But it's easier to host a software repository on the same OS that the packages are built for. For instance, if we wanted to provide packages for Cintas, it would be easiest to host that repository on Cintas. The reason it works best to have the Client Server OS to be similar, is that the tools for building the software repository may not be available on alternative operating systems. For instance, hosting RPM packages on a Debian machine or a Debian packages on an RPM machine can be frustrating because we may not have the tools to manage the repository on our host OS. We'll talk more about this later in the course and provide some solutions. To install software from a repository, we need to have a client software installation tool that is aware of the repositories location. A client software installation tool can install software from multiple software repositories depending on its configuration. In the case of Cintas the software installation tool could be the young command or perhaps the Gooey software installation tool that we see here. Using either software installation tool, we can search for the package that we're looking for. what the software installer does, is look through their list of available packages, finds the one that was searched for and checks that it can be installed. It then calculates dependencies. If the package we're installing requires other packages, it will download and install those first. Note that a network connection and working DNS name resolution is required for this to be successful. As it's installing these packages it updates a local package database with various meta-data such as: Each files installed location, file sizes, Ownership and checksums of each file as well as package summary and description and more. Once a package has been installed, we can use it. We can also use the package management commands to query the database for more information about the package. The advantages of installing from a software repository is that it's super easy. It resolves dependencies automatically and it manages package signatures and keeps our systems safe. The negatives are, it's slower to install from across the network. You have to have a working network and you have to have working DNS name resolution. However, there are so many advantages to installing software from our software repository that I'd recommend it over any other method. Unless there is just no other option, always install software from a repository.

Contents