Общие навыки

Настройка сети#

  1. Настройте IP-адрес.

Выполните команду ip, чтобы настроить адрес для интерфейса. interface-name обозначает имя сетевой карты.

ip addr [ add | del ] address dev interface-name
  1. Настройте статический IP-адрес.
# Настройте IP-адрес.
ip address add 192.168.0.10/24 dev enp3s0

# Выполните следующую команду от имени пользователя root, чтобы запросить результат конфигурации:
ip addr show dev enp3s0

# Результат выглядит следующим образом.
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:aa:ad:4a brd ff:ff:ff:ff:ff:ff
inet 192.168.202.248/16 brd 192.168.255.255 scope global dynamic noprefixroute enp3s0
valid_lft 9547sec preferred_lft 9547sec
inet 192.168.0.10/24 scope global enp3s0
valid_lft forever preferred_lft forever
inet6 fe80::32e8:cc22:9db2:f4d4/64 scope link noprefixroute
valid_lft forever preferred_lft forever
  1. Настройте статический маршрут.

Выполните команду ip route add, чтобы добавить статический маршрут в таблицу маршрутизации, и выполните команду ip route del, чтобы удалить статический маршрут. Общий формат команды ip route имеет следующий вид:

ip route [ add | del | change | append | replace ] destination-address
  • Чтобы добавить статический маршрут к адресу хоста, выполните следующую команду от имени пользователя root:
ip route add 192.168.2.1 via 10.0.0.1 [dev interface-name]
  • Чтобы добавить статический маршрут в сеть, выполните следующую команду от имени пользователя root:
ip route add 192.168.2.0/24 via 10.0.0.1 [dev interface-name]
  1. Настройте сеть с помощью файла ifcfg.

Измените файл ifcfg-enp4s0, созданный в каталоге /etc/sysconfig/network-scripts/, от имени пользователя root. Ниже приведен пример.

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=192.168.0.10
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp4s0static
UUID=xx
DEVICE=enp4s0
ONBOOT=yes

Управление пакетами RPM#

Полное название инструмента RPM — Red Hat Package Manager, и он предназначен для управления программными пакетами Red Hat. Он используется в ведущих дистрибутивах, таких как openEuler, Fedora, Red Hat, Mandriva, SUSE и YellowDog, а также в дистрибутивах, разработанных на основе этих дистрибутивов.

RPM устанавливает необходимое программное обеспечение в набор программ управления на хосте Linux в режиме записи базы данных. Программное обеспечение, которое необходимо установить, компилируется и упаковывается, а запись базы данных по умолчанию в упакованном программном обеспечении фиксирует зависимости, необходимые для установки программного обеспечения. Когда пользователь устанавливает программное обеспечение на хост Linux, RPM проверяет, соответствуют ли зависимости на этом хосте требованиям, зависящим от записанных в него данных.

  • Если это так, установите программное обеспечение.
  • Если это не так, не устанавливайте программное обеспечение. Во время установки вся информация о программном обеспечении записывается в базу данных RPM для последующих запросов, проверки и удаления.

  1. Путь установки пакетов RPM по умолчанию

Как правило, RPM использует путь установки по умолчанию. (Путь установки по умолчанию можно запросить, выполнив команду, и он будет подробно описан в следующих разделах.) Все установочные файлы распределяются по типам в каталоги, перечисленные в следующей таблице.

Таблица 1. Пути установки RPM и их значение

Путь установки Описание
/etc/ Каталог установки файла конфигурации
/usr/bin/ Каталог установки исполняемых команд
/usr/lib/ Путь для хранения библиотеки функций, используемой программой
/usr/share/doc Расположение для хранения основного руководства пользователя программного обеспечения
/usr/share/man/ Путь для хранения файла справки

Примечание. Вы можете вручную указать путь установки RPM, но этот способ использовать не рекомендуется. После указания пути установки вручную все установочные файлы устанавливаются по указанному пути, а команду запроса пути установки в системе использовать нельзя. Эта команда может быть идентифицирована системой только после ручной настройки.

  1. Параметры команды rpm

Проверка подписи RPM программного пакета

Перед установкой пакета RPM на хосте Linux проверьте подпись PGP. Убедившись в целостности подписи и правильности ее источника, выполните команду rpm –checksig, чтобы проверить достоверность:

rpm --checksig nano-2.3.1-10.el7.x86_64.rpm

Установка пакетов RPM

Чтобы установить пакеты RPM в Linux, используйте параметр -i в команде rpm.

rpm -ivh nano-2.3.1-10.el7.x86_64.rpm
  • -i: устанавливает программный пакет.
  • -v: отображает подробную информацию.
  • -h: выводит список флагов во время установки пакета.

Запрос установленного пакета RPM

Чтобы запросить пакет RPM (dnf), установленный в системе Linux, используйте параметр -q в команде rpm.

rpm -q dnf
  • -q: операция запроса.

Если указанный пакет не установлен, отображается следующее сообщение об ошибке:

Запрос всех установленных пакетов RPM

Чтобы запросить все пакеты RPM, установленные в Linux, используйте параметр -qa в команде rpm.

Примечание. При использовании параметра -qa сочетайте его с символом вертикальной черты (|), чтобы повысить точность поиска.

Запрос сведений об установленном пакете RPM

Используйте параметр -qi в команде rpm, чтобы запросить сведения об установленном в системе пакете RPM.

Запрос всех файлов в пакете RPM

Чтобы запросить список файлов пакета RPM, используйте параметр -qlp в команде rpm.

Запрос зависимостей пакета RPM

Чтобы запросить список пакетов зависимостей, скомпилированных указанным пакетом RPM, используйте параметр -qRp в команде rpm.

Проверка всех установленных пакетов RPM

Для проверки установленного пакета RPM используйте параметр -Va в команде rpm, чтобы сравнить информацию о файлах, установленных в пакете, с информацией о файлах, полученной из метаданных пакета, хранящихся в базе данных RPM.

Таблица 2. Поля вывода команды rpm -Va и их значение

||Поле|Описание| |–|–| |S|Меняется длина файла.| |M|Меняется разрешение на доступ или тип файла.| |5|Меняется контрольная сумма MD5.| |D|Меняются атрибуты узла устройства.| |L|Меняется символическая ссылка файла.| |U|Меняется владелец файла, подкаталога или узла устройства.| |G|Меняется группа файла, подкаталога или узла устройства.| |T|Меняется время последнего изменения файла.|

Запрос пакета RPM определенного файла

Чтобы запросить пакет RPM, предоставляющего определенный двоичный файл в Linux, используйте параметр -qf в команде rpm.

Запрос файлов в установленном пакете RPM

Чтобы запросить список установочных файлов пакета RPM, используйте параметр -ql в команде rpm.

Запрос недавно установленных пакетов RPM

Linux — это многопользовательская ОС. Во время работы с Linux другие пользователи могли установить некоторые программные пакеты. Чтобы запросить недавно установленные пакеты в системе, используйте параметры -qa –last в команде rpm.

Запрос только документов установленных пакетов RPM

Вы можете получить справочную информацию по любой команде на странице руководства по Linux (путь для хранения документов /usr/share/doc/Package_Name-Version_Number/docs*). Чтобы запросить список документов, связанных с установленными пакетами RPM, используйте параметр -qdf в команде rpm и введите путь к двоичному файлу.

Обновление установленного пакета RPM

Вы можете легко обновить установленный пакет RPM до последней версии, используя параметр -Uvh в команде rpm.

Примечание. При обновлении установленного пакета RPM старый пакет RPM удаляется, и устанавливается новый пакет RPM.

Удаление установленного пакета RPM

Чтобы удалить установленный в системе пакет RPM, используйте параметр -ev или -e в команде rpm.

rpm -ev pkgship

Восстановление поврежденной базы данных RPM

При попытке обновить систему с помощью команды yum update может появиться сообщение об ошибке, указывающее, что база данных RPM повреждена. Если вы получили такое сообщение, используйте параметр –rebuilddb в команде rmp, чтобы перестроить базу данных.

rm /var/lib/rpm/__db*
rpm --rebuilddb

Проверка исправления уязвимостей в конкретных пакетах

Вы можете использовать параметр –changelog в команде rpm и ввести соответствующий идентификатор CVE.

rpm -q --changelog python-2.6.6 | grep -i "CVE-2019-9636"

Импорт ключа GPG RPM

По умолчанию при добавлении в систему Linux нового репозитория ключ GPG импортируется автоматически. Вы также можете использовать параметр –import в команде rpm, чтобы вручную импортировать ключ GPG RPM для проверки целостности пакета при загрузке его из репозитория.

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-OpenEuler-22.03-LTS

3. dnf commands

Таблица 3. Команды dnf

Команда Описание
repolist Отображает настроенный источник репозитория программного обеспечения.
install Устанавливает один или несколько программных пакетов в Linux.
upgrade Обновляет один или несколько программных пакетов в Linux.
list Выводит один программный пакет или группу программных пакетов.
info Отображает подробную информацию о пакете или группе пакетов.
updateinfo Отображает сводную информацию о пакете.
search Выполняет поиск указанной строки символов в сведениях о программном пакете.
check-update Проверяет наличие обновлений программного пакета.
remove Удаляет один или несколько программных пакетов из системы.
reinstall Переустанавливает пакет.
downgrade Понижает версию программного пакета.
autoremove Удаляет все ненужные программные пакеты, установленные из-за отношений зависимости.
distro-sync Синхронизирует установленный программный пакет с последней доступной версией.
makecache Создает кэш метаданных.
repository-package Выполняет команды для всех программных пакетов в указанном репозитории.
provides Выполняет поиск программного пакета, предоставляющего указанное содержимое.
group Отображает или использует информацию о группе.
history Отображает или использует историю транзакций.
clean Удаляет кэшированные данные.

Отображение настроенных репозиториев программного обеспечения

По умолчанию добавлен параметр –enabled для отображения включенных репозиториев программного обеспечения.

  • –all: отображает все репозитории программного обеспечения.
  • –disabled: отображает отключенные репозитории программного обеспечения.
  • –enabled: отображает включенные репозитории (используется по умолчанию).

Установка одного или нескольких программных пакетов

Вы можете выполнить команду install, чтобы установить пакеты RPM.

Во время установки программного пакета могут присутствовать конфликтующие пакеты или пакеты, которые невозможно установить. Вы можете добавить к команде параметр –allowerasing, чтобы заменить конфликтующие пакеты, или параметр –skip-broken, чтобы пропустить пакеты, которые невозможно установить.

При использовании dnf для установки программного пакета, добавьте параметр –installroot, чтобы задать корневой каталог для установки программного пакета.

Если вам нужно временно указать источник репозитория для установки, можно добавить параметр –setopt=reposdir=, чтобы указать каталог загрузки источника репозитория.

Если во время установки интерактивное подтверждение не требуется, можно добавить параметр -y или –assumeyes, чтобы все устанавливаемые программные пакеты автоматически отвечали Да.

Чтобы установить пакет RPM, указав конкретный источник репозитория, можно использовать параметр –repo или –enablerepo. Для возврата в исходное состояние можно также использовать параметр –disablerepo, чтобы отключить соответствующий источник репозитория. Рекомендуется использовать параметр –repo для установки пакета RPM.

Переустановка программного пакета

Вы можете выполнить команду reinstall, чтобы переустановить программный пакет в системе.

Обновление одного или нескольких программных пакетов

  • Вы можете использовать команду upgrade для обновления одного или нескольких программных пакетов в Linux.

  • Кроме того, вы можете выполнить команду update, чтобы обновить один или несколько программных пакетов.

Понижение версии программного пакета

Если возникает проблема совместимости из-за слишком поздней версии программного пакета, можно понизить версию этого пакета.

Вывод одного программного пакета или группы программных пакетов

Вы можете выполнить команду list, чтобы просмотреть программные пакеты, установленные в системе, и программные пакеты в настроенном репозитории.

Можно добавить параметры для фильтрации отображаемого списка пакетов.

  • –all: отображает все программные пакеты (используется по умолчанию).
  • – available: отображает только доступные программные пакеты.
  • –installed: отображает только установленные программные пакеты.
  • –extras: отображает только дополнительные программные пакеты.
  • –updates: отображает только программные пакеты, которые необходимо обновить.
  • --upgrades: отображает только программные пакеты, подлежащие обновлению.
  • –autoremove: отображает только программные пакеты, которые необходимо удалить.
  • –recent: отображает недавно измененные программные пакеты.

Запрос сведений о программном пакете

Вы можете выполнить команду info, чтобы запросить информацию о программном пакете.

Поиск программного пакета

Если вам нужно установить программный пакет в системе, но вы не помните его полное имя, можно выполнить команду search для поиска соответствующего пакета.

Удаление одного или нескольких программных пакетов

Вы можете выполнить команду remove, чтобы удалить просроченный или повторяющийся пакет программного обеспечения.

  • –duplicates: удаляет установленные (дублирующиеся) программные пакеты.
  • –oldinstallonly: удаляет программные пакеты категории installonly, у которых истек срок действия.

Автоматическое удаление программных пакетов, установленных из-за отношений зависимости

Вы можете выполнить команду autoremove, чтобы удалить ненужные программные пакеты, установленные из-за отношений зависимости.

Настройка SSH#

  1. Знакомство с сервисом SSH

Secure Shell (SSH) — это надежный протокол, обеспечивающий безопасность сеансов удаленного входа в систему и других сетевых сервисов. Протокол SSH способен эффективно предотвращать утечку информации во время удаленного управления. SSH шифрует передаваемые данные, чтобы предотвратить спуфинг сервера доменных имен (DNS) и IP-спуфинг. OpenSSH создавался в качестве альтернативы проприетарному протоколу SSH, основанной на открытом коде.

  1. Настройка сервиса SSH
# Open and modify the **/etc/ssh/sshd_config** file.
vi /etc/ssh/sshd_config

# Restart the SSH service.
systemctl restart sshd

# Check the SSH service status.
systemctl status sshd
  1. Main options in the SSH service configuration file
# Specify the SSH protocol version.
Protocol 2

# Allowed users
AllowUsers xxx

# Denied users
DenyUser root

# Configure session timeout.
ClientAliveInterval 120

# Disable SSH root login.
PermitRootLogin no

# Configure or change the SSH port number.
Port 1234

# Disable SSH password authentication.
PasswordAuthentication no