Я уверен, что это глупый вопрос, но я все равно спрошу. Возможно ли установить пакеты xterm и xorg-x11-fonts на машине OpenSuSE, не вытягивая тонну других пакетов, от которых, похоже, зависит? Требуется ли в этом пакете все необходимое? Если нет, то то, что я хотел бы знать, - это как урезать этот список и по-прежнему иметь функциональный Xterm. (Как, может быть, выбрать пакет на несколько уровней и заставить его установить без каких-либо зависимостей).Возможно ли установить x11, не втягивая сотни других пакетов?
ответ
Возможно, вы сможете это сделать, если потратите достаточно времени, чтобы выяснить, какие зависимости находятся на каждом этапе пути.
Это, как говорится, я не ожидаю, что это будет простой процесс или обязательно даже плодотворный. Это также закончится потенциально запутанным и запутанным состоянием на более позднем этапе, если зависимости изменятся. Вам также нужно будет поддерживать этот блок в будущем, поскольку будущие обновления, скорее всего, потянут за пропущенные пакеты.
Это также не просто отличный подход к вещам. Если вы действительно заинтересованы в сохранении зависимостей, вам может быть лучше попытаться самостоятельно построить xterm из исходного кода (хотя опять-таки это может не сильно помочь).
Спасибо. Это в основном то, что я ожидал услышать. Я просто надеялся, что ошибаюсь. –
Построение xterm из источника не решит проблему OPs, скорее, это усугубит ее, затрудняя выполнение системных обновлений и не нарушая его xterm-конфигурацию. –
@ThomasDickey Моя точка зрения, хотя я и не смог объяснить это совсем хорошо, заключался в том, что можно было бы отказаться от определенных зависимостей, если бы он сам ее создал. Зависимости, которые предоставил пакет, поставляемый дистрибутивом. –
Если вы использовали одно из распределений на основе Red Hat, тогда обычный ответ должен был показать, как использовать yum
, чтобы найти зависимости. OpenSUSE не использует yum
, но предоставляет аналогичный инструмент zypper
.
Как уже отмечалось, список будет полезен. Если я бегу
zypper search --requires xterm
есть только десяток пакетов показаны:
S | Name | Summary
--+---------------------------------+------------------------------------------------
i | codelite | Powerful open-source, cross platform code editor
| eaglemode | Eagle Mode the deep application Cosmos
| leechcraft-shaitan | LeechCraft Shaitan Module
i | lxterminal-lang | Languages for package lxterminal
| package-lists-openSUSE-GNOME-cd | Patterns for Installation (full ftp tree)
| package-lists-openSUSE-KDE-cd | Patterns for Installation (full ftp tree)
| package-lists-openSUSE-X11-cd | Patterns for Installation (full ftp tree)
| package-lists-openSUSE-images | Patterns for Installation (full ftp tree)
i | xdg-menu | XDG Menus for WindowMaker and other Window Manager
i | xdm | X Display Manager
i | xinit | X Window System initializer
i | xterm | X terminal emulator (development version)
Но та же команда для xorg-x11-fonts
показывает мне более 200 пакетов, в том числе xorg-x11-server
.
Однако просмотр зависимостей таким образом дает только один аспект истории: он показывает эффект , удаляя данный пакет. Фактический вопрос: какие пакеты будут добавлены как побочный эффект добавления этих двух пакетов. Этот список обычно будет короче (обычно намного короче), чем тот, который показан опцией --requires
.
Например, если вы действительно хотите только xterm
быть доступен на машине, так что вы могли бы ssh
на сервер и запустить xterm
на локальном компьютере, вам не нужен сервер X на машине дистанционного. Нужны были бы шрифты, а также библиотеки времени выполнения, используемые xterm
. Вы можете получить (гру-) картину того, что эти библиотеки используют
rpm -qR xterm
, например:
/bin/bash
/bin/sh
/bin/sh
/bin/sh
aaa_base
libICE.so.6()(64bit)
libX11.so.6()(64bit)
libXaw.so.7()(64bit)
libXft.so.2()(64bit)
libXmu.so.6()(64bit)
libXpm.so.4()(64bit)
libXt.so.6()(64bit)
libc.so.6()(64bit)
libc.so.6(GLIBC_2.11)(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.15)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libfontconfig.so.1()(64bit)
libtinfo.so.5()(64bit)
libutempter.so.0()(64bit)
luit
perl
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsLzma) <= 4.4.6-1
Те являются прямым файла Зависимости xterm
пакета. Вы можете заметить некоторые очевидные повторы в списке из-за того, как rpm
отслеживает зависимости.Но десяток или около того пакетов (некоторые уже установлены) - это то, что соответствует этому списку.
Можно написать сценарий, который запрашивает zypper --provides
для каждого файла и получает список пакетов, которые будут втянуты, установив xterm
на сервере с пустыми костями. Это даст первое приближение окончательному списку. Однако это не покажет пакеты, которые должны быть установлены как побочный эффект. Пройти уже труднее —, и это то, что zypper
для.
Если вы начинаете с конфигурацией, которая не имеет xterm
установлен, то проще спросить zypper
установить xterm
пакет (чтобы получить короткий список добавленных пакетов), а затем отменить установку.
У вас должно получиться дюжина пакетов, а не «тонна». К ним относятся библиотеки (но не сервер). –
Сколько именно пакетов? Включение списка может быть полезно здесь. –