Устраним основные ошибки:
SIGSTOP
. Символ susp
заставляет линейную дисциплину отправлять SIGTSTP
. Как и во многих других вещах, противоречащих представлениям 1980-х годов о командах login
и su
, корнем поведения здесь является PAM.
Он su
этого не делает. И этого не происходит в операционных системах, отличных от тех, которые используют библиотеку Linux PAM . Например, на BSD, использующих библиотеку OpenPAM, этого не происходит.
Это делает модуль Linux PAM с именем pam_unix
. Точнее, это библиотека -, поставляемая по умолчанию для «разговора» misc_conv()
, вызываемая внутри кода pam_unix
, которая делает это. Он специально маскирует SIGTSTP
во время запроса элемента ввода, якобы для того, чтобы библиотека могла очистить . Вот почему сигнал не доставляется до тех пор, пока ввод не будет введен.
OpenPAM также поставляет модуль pam_unix
PAM. Это вызывает функцию «разговора» по умолчанию openpam_ttyconv()
из библиотеки OpenPAM -. Последний не маскирует сигналы .Нет -, кажется, никто не заметил, что можно приостановить su
при запросе пароля на FreeBSD и др. и терминал останется с выключенным эхом. Возможно, это связано с тем, что операционная -система -поставляла командные -линейные оболочки во FreeBSD, у всех есть библиотеки редактирования строк, которые сразу -настраивают параметры терминала, когда они берут на себя запрос на ввод и выполняют свое собственное эхо. в любом случае.
«Мне действительно нужно заботиться, если пакет помечен как осиротевший?» Нет, просто означает, что пакет недоступен ни в одном из настроенных вами репозиториев.
Цитата из руководства RPM:
In RPM terminology, each package provides capabilities. A capability is simply a text string that the package claims it provides. In most cases, a capability names a file or a package. But the capability can be any arbitrary text string.
Глядя на вывод rpm -q --provides libsysfs
в моей системе (Fedora 33 ), доступны три возможности:
# rpm -q --provides libsysfs
libsysfs = 2.1.0-30.fc33
libsysfs(x86-64) = 2.1.0-30.fc33
libsysfs.so.2()(64bit)
Одна или несколько из этих трех возможностей могут быть проверены rpm
(, yum
илиdnf
)при установке пакета. Если в настоящее время установленный пакет не требует какой-либо из этих трех возможностей, вы можете удалить пакет, не сталкиваясь с ошибкой зависимости.
Идем дальше, ваша последняя команда должна быть rpm -ql libsysfs
. -p
означает запрос удаленного пакета -, который требует предоставления полного имени файла, включая расширение, например.libsysfs-2.1.0-16.el7.x86_64.rpm
Кстати, вам не нужно набирать yum remove libsysfs-2.1.0-16.el7.x86_64
, чтобы удалить этот пакет. yum remove libsysfs
достаточно.