Название: Mastering Linux System Administration
Автор: Richard Blum
Издательство: John Wiley & Sons Limited
Жанр: Зарубежная компьютерная литература
isbn: 9781119794462
isbn:
The following sections show how to use the rpm
command to manually manage software packages.
Finding Package Files
If you need to obtain copies of RPM files on a Red Hat–based distro, such as CentOS or Fedora, you have a few different options. If you have a separate Linux system connected to the Internet, use the yumdownloader
utility. This downloads a specified rpm package file directly from the repository. The yumdownloader
tool is part of the yum‐utils
package, which you'll most likely need to install first; then you can download any rpm package from the repository.
$ yumdownloader zsh Last metadata expiration check: 0:21:30 ago on Sat 05 Dec 2020 08:49:35 AM EST. zsh-5.5.1-6.el8_1.2.x86_64.rpm 1.1 MB/s | 2.9 MB 00:02 $ ls -l zsh* -rw-r--r--. 1 root root 3039264 Dec 5 09:11 zsh-5.5.1-6.el8_1.2.x86_64.rpm $
The other method for obtaining rpm package files is using the distribution website. Most Linux distributions provide direct access to RPM files used in the distribution via a download site. For CentOS, click the RPMs
link on the Download page (mirror.centos.org/centos/8 /
at the time of this writing), next to the distribution version you have installed on the server. This takes you to a repository of all the current rpm packages for that distribution.
Inspecting Package Files
Use the ‐q
action to perform a simple query on the package management database for installed packages.
$ rpm -q bash bash-4.4.19-12.el8.x86_64 $ rpm -q zsh package zsh is not installed $
There are several options you can add to the query action to obtain more detailed information. Table 5.2 shows a few of the more commonly used query options.
TABLE 5.2: The rpm
Command Query Action Options
SHORT OPTION | LONG OPTION | DESCRIPTION |
---|---|---|
‐c
|
‐‐configfiles
|
Lists the names and absolute directory references of package configuration files |
‐i
|
‐‐info
|
Provides detailed information, including version, installation date, and signatures |
N/A |
‐‐provides
|
Shows what facilities the package provides |
‐R
|
‐‐requires
|
Displays various package requirements (dependencies) |
‐s
|
‐‐state
|
Provides states of the different files in a package, such as normal (installed), not installed , or replaced
|
N/A |
‐‐what‐provides
|
Shows to what package a file belongs |
You can also add the ‐i
action, which provides a detailed list of information on the package.
$ rpm -qi bash Name : bash Version : 4.4.19 Release : 12.el8 Architecture: x86_64 Install Date: Sat 05 Dec 2020 08:43:49 AM EST Group : Unspecified Size : 6861588 License : GPLv3+ Signature : RSA/SHA256, Tue 21 Jul 2020 12:08:45 PM EDT, Key ID 05b555b38483c65d Source RPM : bash-4.4.19-12.el8.src.rpm Build Date : Tue 21 Jul 2020 12:03:55 PM EDT Build Host : x86-02.mbox.centos.org Relocations : (not relocatable) Packager : CentOS Buildsys <[email protected]> Vendor : CentOS URL : https://www.gnu.org/software/bash Summary : The GNU Bourne Again shell Description : The GNU Bourne Again shell (Bash) is a shell or command language interpreter that is compatible with the Bourne shell (sh). Bash incorporates useful features from the Korn shell (ksh) and the C shell (csh). Most sh scripts can be run by bash without modification. $
From the output of the detailed query, you can see specific information, such as the date the package was installed and a brief description of the package.
LISTING INSTALLED PACKAGES
You can use the rpm
command to list all the packages installed on your Linux system by using the ‐a
option with the rpm ‐q
command, although the packages are returned in the order in which they were installed, which can make it hard to find a specific package. We like to use the command rpm ‐qa | sort
to sort the output by package name.
Installing Package Files
There are a couple of ways to install an rpm package that you have downloaded. For a new package, use the ‐i
action to install the package. However, if an older version of the package already exists on your system, you'll receive an error message.
It's more common to use the ‐U
action, which installs the new package, or upgrades the package if it's already installed on the system. It has also become somewhat common to add the ‐vh
options as well. The ‐h
option shows the progress of the update, and the ‐v
option shows what it's doing.
rpm -Uvh package
It's also important to remember that you must have root privileges to manually install packages, either as the root user or as a user account with root privileges.
MANUALLY INSTALLING RPM PACKAGES
The zsh package is an alternative shell that you can find in the standard CentOS repository. Follow these steps to manually install it:
1 Log into your CentOS server, either as the root user account or as a user account with root privileges.
2 Download the zsh package from the CentOS repository. You can do this either by using the command yumdownloader zsh or by manually downloading the package from mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages / and copying the file to your CentOS server. At the time of this writing, the current zsh package is zsh‐5.5.1‐6.el8_1.2.x86_64.rpm.
3 Install the zsh package by entering the command rpm ‐Uvh zsh‐5.5.1‐6.el8_1.2.x86_64.rpm. You should see output similar to this:# rpm -Uvh zsh-5.5.1-6.el8_1.2.x86_64.rpm СКАЧАТЬ