The standard way of installing software on Linux is from a software repository. A software repository is a file server on a network that includes software packages, package indexes, metadata about the packages, and a public key for cryptographically checking packages against malware. Client software installation tools need to be configured so they know where the repositories are located and can install packages from multiple repositories.
- [Instructor] The standard way of installing software in 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 of the software packages that it contains. This list is how our installation software knows what is available. They 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.
The server may be on the internet, or it could be inside your local network, if you're 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 you wanted to provide packages for CentOS, it would be easiest to host that repository on CentOS. The reason it works best to have the client/server OS's 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 debian packages in 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 repository's location. A client software installation tool can install software from multiple software repositories depending on its configuration. In the case of centOS, the software installation tool could be the YUM command or perhaps the GUI 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 the list of available packages, finds the one that we search 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 file's installed location, file sizes, ownership and checksums of each file, as well as package summary 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 system 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 a software repository, that I'd recommend it over any other method.
Unless there is just no other option, always install software from a repository.
Author
Released
8/31/2017Instructor Grant McWilliams covers network and internet services administration, kernel management, and intrusion prevention. He shows how to make your systems more efficient with virtualization, manage users and groups, and lock everything down with SELinux mandatory access control. Plus, get access to 25 PDF "cheat sheets" and 100 practice questions so you can solidify and test your knowledge.
- Installing Linux on a physical machine
- Managing systemd services
- Managing reoccurring jobs with cron
- Limiting system access
- Configuring networking
- Creating, editing, and moving files and directories
- Analyzing text with grep and regular expressions
- Installing software and packages
- Managing the kernel
- Managing users, accounts, and groups
- Setting permissions
- Using access control lists
- Securing Linux with SELinux
- Accessing Linux remotely
- Configuring local storage
Skill Level Intermediate
Duration
Views
Related Courses
-
Setting Up a Red Hat Enterprise Linux Server
with Sandra Toner2h 46m Intermediate -
Linux: Desktops and Remote Access
with Grant McWilliams1h 44m Intermediate
-
Introduction
-
Welcome57s
-
What you should know3m 45s
-
About Red Hat Certifications2m 52s
-
-
1. Deploy Systems
-
Managing virtual machines6m 42s
-
2. System Config and Services
-
Get systemd service status3m 56s
-
Manage systemd services2m 33s
-
Configure networking3m 52s
-
Manage one-time jobs with at4m 16s
-
3. Essential Tools
-
Archive files using tar4m 40s
-
Compress files and archives4m 14s
-
Create files and directories5m 18s
-
Copy files and directories5m 48s
-
Move files and directories4m 59s
-
Create hard and soft links4m 55s
-
Introduction to vim3m 33s
-
Editing text with vim2m 45s
-
Reading the system journal3m 26s
-
4. Manage System Software
-
Query with RPM7m 14s
-
RPM query formatting6m 5s
-
Overview of yum2m 20s
-
Get info on package groups5m 15s
-
Search for packages1m 47s
-
Install and remove packages6m 59s
-
Manage OS updates6m 48s
-
Update the kernel4m 29s
-
Manage kernel modules5m 18s
-
5. Users and Accounts
-
Modify local user accounts4m 57s
-
6. File Access Control
-
File and directory modes1m 19s
-
Read access control lists3m 36s
-
Set access control lists5m 49s
-
Delete access control Lists4m 15s
-
-
7. Manage Security
-
Manage firewalls3m 15s
-
8. Accessing Linux Remotely
-
Configure Secure Shell2m 36s
-
-
9. Configure Local Storage
-
Conclusion
-
Next steps1m 20s
-
- Mark as unwatched
- Mark all as unwatched
Are you sure you want to mark all the videos in this course as unwatched?
This will not affect your course history, your reports, or your certificates of completion for this course.
CancelTake notes with your new membership!
Type in the entry box, then click Enter to save your note.
1:30Press on any video thumbnail to jump immediately to the timecode shown.
Notes are saved with you account but can also be exported as plain text, MS Word, PDF, Google Doc, or Evernote.
Share this video
Embed this video
Video: Install from a software repository