Общие навыки
Настройка сети
-
Настройте IP-адрес.
Выполните команду
ip, чтобы настроить адрес для интерфейса.interface-nameобозначает имя сетевой карты.ip addr [ add | del ] address dev interface-name -
Настройте статический IP-адрес.
ip address add 192.168.0.10/24 dev enp3s0 -
Выполните следующую команду от имени пользователя root, чтобы запросить результат конфигурации:
ip addr show dev enp3s0Пример вывода:
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 -
Настройте статический маршрут.
Выполните команду
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]
-
-
Настройте сеть с помощью файла
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 для последующих запросов, проверки и удаления.
Путь установки пакетов RPM по умолчанию
Как правило, RPM использует путь установки по умолчанию. Путь установки по умолчанию можно запросить, выполнив команду, и он будет подробно описан в следующих разделах.
Пути установки RPM и их значение:
-
/etc/— каталог установки файла конфигурации. -
/usr/bin/— каталог установки исполняемых команд. -
/usr/lib/— путь для хранения библиотеки функций, используемой программой. -
/usr/share/doc— расположение для хранения основного руководства пользователя программного обеспечения. -
/usr/share/man/— путь для хранения файла справки.
|
Вы можете вручную указать путь установки RPM, но этот способ использовать не рекомендуется. После указания пути установки вручную все установочные файлы устанавливаются по указанному пути, а команду запроса пути установки в системе использовать нельзя. Эта команда может быть идентифицирована системой только после ручной настройки. |
Параметры команды 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: операция запроса.
Если указанный пакет не установлен, отображается следующее сообщение об ошибке:
package dnf is not installed
Запрос всех установленных пакетов RPM
Чтобы запросить все пакеты RPM, установленные в Linux, используйте параметр -qa в команде rpm.
rpm -qa
Пример вывода:
dracut-config-rescue-055-4.oe2203.x86_64
parted-3.4-3.oe2203.x86_64
irqbalance-1.8.0-7.oe2203.x86_64
При использовании параметра -qa сочетайте его с символом вертикальной черты |, чтобы повысить точность поиска.
|
Запрос сведений об установленном пакете RPM
Используйте параметр -qi в команде rpm, чтобы запросить сведения об установленном в системе пакете RPM.
rpm -qi python3
Пример вывода:
Name : python3
Version : 3.9.9
Release : 7.oe2203
Architecture: x86_64
Install Date: Sat 09 Jul 2022 06:02:47 PM CST
Group : Unspecified
Size : 35916839
License : Python
Signature : RSA/SHA1, Wed 30 Mar 2022 11:29:30 AM CST, Key ID d557065eb25e7f66
Source RPM : python3-3.9.9-7.oe2203.src.rpm
Build Date : Tue 15 Mar 2022 08:00:00 AM CST
Build Host : obs-worker1639015616-x86-0001
Packager : http://openeuler.org
Vendor : http://openeuler.org
URL : https://www.python.org/
Summary : Interpreter of the Python3 programming language
Description :
Python combines remarkable power with very clear syntax. Is has modules,
Запрос всех файлов в пакете RPM
Чтобы запросить список файлов пакета RPM, используйте параметр -qlp в команде rpm.
rpm -qlp pkgship-3.0.0-1.oe2203.noarch.rpm
Запрос зависимостей пакета RPM
Чтобы запросить список пакетов зависимостей, скомпилированных указанным пакетом RPM, используйте параметр -qRp в команде rpm.
rpm -qRp pkgship-3.0.0-1.oe2203.noarch.rpm
Проверка всех установленных пакетов RPM
Для проверки установленного пакета RPM используйте параметр -Va в команде rpm, чтобы сравнить информацию о файлах, установленных в пакете, с информацией о файлах, полученной из метаданных пакета, хранящихся в базе данных RPM.
rpm -Va
Пример вывода:
S.5....T. c /root/.bashrc
.......T. c /etc/yum.repos.d/openEuler.repo
S.5....T. c /etc/issue
S.5....T. c /etc/issue.net
S.5....T. c /etc/csh.login
S.5....T. c /etc/profile
.M....G.. g /var/log/lastlog
.M....... c /boot/grub/grubenv
Поля вывода команды rpm -Va и их значение:
-
S— меняется длина файла. -
M— меняется разрешение на доступ или тип файла. -
5— меняется контрольная сумма MD5. -
D— меняются атрибуты узла устройства. -
L— меняется символическая ссылка файла. -
U— меняется владелец файла, подкаталога или узла устройства. -
G— меняется группа файла, подкаталога или узла устройства. -
T— меняется время последнего изменения файла.
Запрос пакета RPM определенного файла
Чтобы запросить пакет RPM, предоставляющего определенный двоичный файл в Linux, используйте параметр -qf в команде rpm.
rpm -qf /usr/share/doc/pkgship
Пример вывода:
pkgship-3.0.0-1.oe2203.noarch
Запрос файлов в установленном пакете RPM
Чтобы запросить список установочных файлов пакета RPM, используйте параметр -ql в команде rpm:
rpm -ql dnf
Пример вывода:
/etc/bash_completion.d/dnf
/etc/ima/digest_lists.tlv/0-metadata_list-compact_tlv-dnf-4.10.0-3.oe2203.noarch
/etc/ima/digest_lists/0-metadata_list-compact-dnf-4.10.0-3.oe2203.noarch
/usr/bin/dnf
/usr/lib/systemd/system/dnf-makecache.service
/usr/lib/systemd/system/dnf-makecache.timer
/usr/share/doc/dnf
/usr/share/doc/dnf/AUTHORS
/usr/share/doc/dnf/README.rst
/usr/share/licenses/dnf
/usr/share/licenses/dnf/COPYING
/usr/share/licenses/dnf/PACKAGE-LICENSING
/var/cache/dnf
Запрос недавно установленных пакетов RPM
Linux — это многопользовательская ОС.
Во время работы с Linux другие пользователи могли установить некоторые программные пакеты.
Чтобы запросить недавно установленные пакеты в системе, используйте параметры -qa --last в команде rpm:
rpm -qa --last
Пример вывода:
ntp-4.2.8p15-5.oe2203.x86_64 Sat 30 Jul 2022 05:35:44 PM CST
ntpstat-0.6-3.oe2203.noarch Sat 30 Jul 2022 05:35:43 PM CST
ntp-help-4.2.8p15-5.oe2203.noarch Sat 30 Jul 2022 05:35:43 PM CST
autogen-5.18.16-2.oe2203.x86_64 Sat 30 Jul 2022 05:35:43 PM CST
redis-4.0.14-1.oe2203.x86_64 Sat 30 Jul 2022 04:43:47 PM CST
elasticsearch-7.10.1-1.x86_64 Sat 30 Jul 2022 04:40:07 PM CST
gpg-pubkey-d88e42b4-52371eca Sat 30 Jul 2022 04:38:58 PM CST
Запрос только документов установленных пакетов RPM
Вы можете получить справочную информацию по любой команде на странице руководства по Linux (путь для хранения документов /usr/share/doc/<package>-<version>/docs/).
Чтобы запросить список документов, связанных с установленными пакетами RPM, используйте параметр -qdf в команде rpm и введите путь к двоичному файлу:
rpm -qdf /usr/bin/grep
Пример вывода:
/usr/share/doc/grep/NEWS
/usr/share/doc/grep/README
/usr/share/doc/grep/THANKS
/usr/share/doc/grep/TODO
/usr/share/info/grep.info.gz
/usr/share/man/man1/egrep.1.gz
/usr/share/man/man1/fgrep.1.gz
/usr/share/man/man1/grep.1.gz
Обновление установленного пакета RPM
Вы можете легко обновить установленный пакет RPM до последней версии, используя параметр -Uvh в команде rpm.
| При обновлении установленного пакета RPM старый пакет RPM удаляется, и устанавливается новый пакет RPM. |
rpm -Uvh pkgship-3.0.0-1.oe2203.noarch.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
Команды dnf
- autoremove
-
Удаляет все ненужные программные пакеты, установленные из-за отношений зависимости.
- check-update
-
|Проверяет наличие обновлений программного пакета.
- clean
-
Удаляет кешированные данные.
- distro-sync
-
Синхронизирует установленный программный пакет с последней доступной версией.
- downgrade
-
Понижает версию программного пакета.
- group
-
Отображает или использует информацию о группе.
- history
-
Отображает или использует историю транзакций.
- info
-
Отображает подробную информацию о пакете или группе пакетов.
- install
-
Устанавливает один или несколько программных пакетов в Linux.
- list
-
Выводит один программный пакет или группу программных пакетов.
- makecache
-
Создает кеш метаданных.
- provides
-
Выполняет поиск программного пакета, предоставляющего указанное содержимое.
- reinstall
-
Переустанавливает пакет.
- remove
-
Удаляет один или несколько программных пакетов из системы.
- repolist
-
Отображает настроенный источник репозитория программного обеспечения.
- repository-package
-
Выполняет команды для всех программных пакетов в указанном репозитории.
- search
-
Выполняет поиск указанной строки символов в сведениях о программном пакете.
- updateinfo
-
Отображает сводную информацию о пакете.
- upgrade
-
Обновляет один или несколько программных пакетов в Linux.
Отображение настроенных репозиториев программного обеспечения
По умолчанию добавлен параметр --enabled для отображения включенных репозиториев программного обеспечения.
dnf repolist --enabled
Пример вывода:
repo id repo name
EPOL EPOL
OS OS
debuginfo debuginfo
everything everything
pkgship_elasticsearch Elasticsearch repository
source source
update update
Аргументы:
-
--all: отображает все репозитории программного обеспечения. -
--disabled: отображает отключенные репозитории программного обеспечения. -
--enabled: отображает включенные репозитории (используется по умолчанию).
Установка одного или нескольких программных пакетов
Вы можете выполнить команду install, чтобы установить пакеты RPM.
dnf install gcc
Во время установки программного пакета могут присутствовать конфликтующие пакеты или пакеты, которые невозможно установить.
Вы можете добавить к команде параметр --allowerasing, чтобы заменить конфликтующие пакеты, или параметр --skip-broken, чтобы пропустить пакеты, которые невозможно установить:
dnf install gcc glibc --allowerasing --skip-broken
При использовании dnf для установки программного пакета, добавьте параметр --installroot, чтобы задать корневой каталог для установки программного пакета:
dnf install gcc --installroot /opt/
Если вам нужно временно указать источник репозитория для установки, можно добавить параметр --setopt=reposdir=, чтобы указать каталог загрузки источника репозитория:
dnf install <package> --setopt=reposdir=...
Если во время установки интерактивное подтверждение не требуется, можно добавить параметр -y или --assumeyes, чтобы все устанавливаемые программные пакеты автоматически отвечали Да:
dnf install gcc --assumeyes
Чтобы установить пакет RPM, указав конкретный источник репозитория, можно использовать параметр --repo или --enablerepo.
Для возврата в исходное состояние можно также использовать параметр --disablerepo, чтобы отключить соответствующий источник репозитория.
Рекомендуется использовать параметр --repo для установки пакета RPM.
dnf install gcc --repo=openEuler22.03-lts
Или:
dnf install gcc --enablerepo=openEuler22.03-lts
Переустановка программного пакета
Вы можете выполнить команду reinstall, чтобы переустановить программный пакет в системе.
dnf reinstall <package>
Обновление одного или нескольких программных пакетов
Вы можете использовать команду upgrade для обновления одного или нескольких программных пакетов в Linux:
dnf upgrade <package>
Кроме того, вы можете выполнить команду update, чтобы обновить один или несколько программных пакетов:
dnf update <package>
Понижение версии программного пакета
Если возникает проблема совместимости из-за слишком поздней версии программного пакета, можно понизить версию этого пакета:
dnf downgrade <package>
Вывод одного программного пакета или группы программных пакетов
Вы можете выполнить команду list, чтобы просмотреть программные пакеты, установленные в системе, и программные пакеты в настроенном репозитории.
dnf list
Пример вывода:
Installed
Box2D.x86_64 2.4.1-7.fc36
ImageMagick.x86_64 1:6.9.12.50-1.fc36
ImageMagick-libs.x86_64 1:6.9.12.50-1.fc36
LibRaw.x86_64 0.20.2-5.fc36
Installable pacakges
389-ds-base.src 1.4.3.20-1.oe2203
389-ds-base.x86_64 1.4.3.20-1.oe2203
389-ds-base-debuginfo.x86_64 1.4.3.20-1.oe2203
389-ds-base-debugsource.x86_64 1.4.3.20-1.oe2203
389-ds-base-devel.x86_64 1.4.3.20-1.oe2203
Можно добавить параметры для фильтрации отображаемого списка пакетов.
-
--all: отображает все программные пакеты (используется по умолчанию). -
-- available: отображает только доступные программные пакеты. -
--installed: отображает только установленные программные пакеты. -
--extras: отображает только дополнительные программные пакеты. -
--updates: отображает только программные пакеты, которые необходимо обновить. -
-
-upgrades: отображает только программные пакеты, подлежащие обновлению. -
--autoremove: отображает только программные пакеты, которые необходимо удалить. -
--recent: отображает недавно измененные программные пакеты.
Запрос сведений о программном пакете
Вы можете выполнить команду info, чтобы запросить информацию о программном пакете.
dnf info <package>
Пример вывода:
Name : rpm
Version : 4.17.0
Release : 8.oe2203
Architecture : x86_64
Size : 2.5 M
Source : rpm-4.17.0-8.oe2203.src.rpm
Repository : @System
From repo : anaconda
Summary : RPM Package Manager
URL : http://www.rpm.org/
License : GPLv2+
Desription : The RPM Package Manager (RPM) is a powerful package manament system capability as below
Поиск программного пакета
Если вам нужно установить программный пакет в системе, но вы не помните его полное имя, можно выполнить команду search для поиска соответствующего пакета:
dnf search <template>
Удаление одного или нескольких программных пакетов
Вы можете выполнить команду remove, чтобы удалить просроченный или повторяющийся пакет программного обеспечения:
dnf remove <package>
Аргументы:
-
--duplicates: удаляет установленные (дублирующиеся) программные пакеты. -
--oldinstallonly: удаляет программные пакеты категории installonly, у которых истек срок действия.
Настройка SSH
Знакомство с сервисом SSH
Secure Shell (SSH) — это надежный протокол, обеспечивающий безопасность сеансов удалённого входа в систему и других сетевых сервисов. Протокол SSH способен эффективно предотвращать утечку информации во время удалённого управления. SSH шифрует передаваемые данные, чтобы предотвратить спуфинг сервера доменных имен (DNS) и IP-спуфинг. OpenSSH создавался в качестве альтернативы проприетарному протоколу SSH, основанной на открытом коде.
Настройка сервиса SSH
-
Отредактируйте файл
/etc/ssh/sshd_config. -
Перезапустите службу
sshd:systemctl restart sshd -
Проверьте статус службы
sshd:systemctl status sshd
Основные настройки конфигурации SSH:
- Protocol
-
Версия протокола.
- AllowUsers
-
Список пользователей, которым разрешён вход по SSH.
- DenyUser
-
Список пользователей, которым запрещён вход по SSH.
- ClientAliveInterval
-
Ограничение по времени на поддержание сессии активной в секундах.
- PermitRootLogin
-
Запрет пользователю
rootна вход по SSH. - Port
-
Номер порта, который должен слушать сервер SSH.
- PasswordAuthentication
-
Разрешение на авторизацию с помощью паролей.