yum путаница с пакетом -очисткой --сиротами и --листьями

Устраним основные ошибки:

  1. Сигнал не поставлен в очередь. Очереди — это специфическая вещь, когда речь идет о сигналах, и не происходит с этим конкретным сигналом. Сигнал маскируется .
  2. Этот конкретный сигнал не являетсяSIGSTOP. Символ suspзаставляет линейную дисциплину отправлять SIGTSTP.

Как и во многих других вещах, противоречащих представлениям 1980-х годов о командах loginи su, корнем поведения здесь является PAM.

Он suэтого не делает. И этого не происходит в операционных системах, отличных от тех, которые используют библиотеку Linux PAM . Например, на BSD, использующих библиотеку OpenPAM, этого не происходит.

Это делает модуль Linux PAM с именем pam_unix. Точнее, это библиотека -, поставляемая по умолчанию для «разговора» misc_conv(), вызываемая внутри кода pam_unix, которая делает это. Он специально маскирует SIGTSTPво время запроса элемента ввода, якобы для того, чтобы библиотека могла очистить . Вот почему сигнал не доставляется до тех пор, пока ввод не будет введен.

OpenPAM также поставляет модуль pam_unixPAM. Это вызывает функцию «разговора» по умолчанию openpam_ttyconv()из библиотеки OpenPAM -. Последний не маскирует сигналы .Нет -, кажется, никто не заметил, что можно приостановить suпри запросе пароля на FreeBSD и др. и терминал останется с выключенным эхом. Возможно, это связано с тем, что операционная -система -поставляла командные -линейные оболочки во FreeBSD, у всех есть библиотеки редактирования строк, которые сразу -настраивают параметры терминала, когда они берут на себя запрос на ввод и выполняют свое собственное эхо. в любом случае.

Дополнительная литература

1
11.01.2021, 15:08
1 ответ

«Мне действительно нужно заботиться, если пакет помечен как осиротевший?» Нет, просто означает, что пакет недоступен ни в одном из настроенных вами репозиториев.

Цитата из руководства 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достаточно.

0
18.03.2021, 22:37

Теги

Похожие вопросы