Информация о зависимостях для загрузки в ОС на основе Debian после установки пакета

Я не думаю, что есть какой-либо способ добавить записи /sysили /procвне ядра. Для /sysэто все равно не имело бы особого смысла — это прямое представление структур данных kobject.

Однако вы можете предоставить аналогичные интерфейсы из пользовательского пространства, например, используя FIFO; подробности см. в mkfifo. Вы можете увидеть реализацию этого в sysvinitс его initctlFIFO.

0
09.02.2021, 13:11
2 ответа

Зависимости для загрузки зависят как от пакета, который будет установлен в конечном итоге, так и от набора пакетов, которые уже присутствуют. Это то, что aptи подобные инструменты определяют и показывают при установке пакета.

После установки пакета вам потребуется немного ручной работы. apt-rdependsбудет рекурсивно перечислять все зависимости пакета; это позволит вам определить максимальный набор пакетов, которые вам нужно загрузить. Например,

$ apt-rdepends msitools
msitools
  Depends: libc6 (>= 2.4)
  Depends: libgcab-1.0-0 (>= 0.4)
  Depends: libglib2.0-0 (>= 2.18.0)
  Depends: libgsf-1-114 (>= 1.14.8)
  Depends: libmsi0 (>= 0.93)
  Depends: libuuid1 (>= 2.16)
  Depends: libxml2 (>= 2.6.27)
libc6
  Depends: libgcc1
libgcc1
  Depends: gcc-8-base (= 8.3.0-6)
  Depends: libc6 (>= 2.14)
gcc-8-base
[...]

с подходящей пост-обработкой -— в данном случае | grep Depends | sort -u— позволит вам определить, что сегодня для установки msitoolsв Debian 10 требуетсяgcc-8-base(8.3.0 -6 ),libblkid1(2.17.2 или новее ), libbz2-1.0,libc6(2.28 или новее ),libffi6(3.0.4 или новее ),libgcab-1.0-0(0.4 или новее ),libgcc1(1 :4.2 или новее ),libglib2.0-0(2.39.4 или новее ),libgsf-1-114(1.14.8 или новее ),libgsf-1-common(1.14.45 -1 или новее ),libicu63(63.1 -1 ~или новее ),liblzma5(5.1.1alpha+20120614 или новее ),libmount1(2.28 или новее ),libmsi0(0.93 или новее ), libpcre3,libselinux1(2.6 -3 ~или новее ),libstdc++6(5.2 или новее ),libuuid1(2.16 или новее ),libxml2(2.7.4 или новее )иzlib1g(1 :1.2.3.3 или выше ).

Передача всего этого в apt-get downloadбез ограничений версии даст вам все необходимые файлы пакета. (Ограничения версий не нужны, поскольку все вышеперечисленное можно выполнить, используя последние версии в Debian 10.)

Это простое дерево зависимостей, но анализ становится более сложным, как только становятся доступными виртуальные пакеты или альтернативные зависимости.

1
18.03.2021, 22:31

Это стало слишком длинным для комментария.

Что вы установили? И как?

В большинстве случаев пакеты зависят от других пакетов, поэтому программное обеспечение можно использовать после установки. Если вы устанавливали что-то, где программное обеспечение имеет зависимости, которые не являются зависимостями пакета, я ожидаю, что источник установленного вами пакета предоставит некоторую информацию. Если у пакета не было надлежащих зависимостей, есть несколько вариантов того, как он мог их вывести. Вы можете попробовать посмотреть, есть ли в пакете полезная документация с помощью dpkg -l <package name>.

0
18.03.2021, 22:31

Теги

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