узнав о gtk +

Я не уверен, как работают «потоки» в этой среде, и мой первый пост должен будет переключать направления, поскольку steeldriver указал, что я, вероятно, хочу посмотреть на gtk + как источник моего недоразумения и по-настоящему , Я снова там. Позвольте мне задать простой вопрос на этот раз. Что я должен понять из вывода этой команды:

$ dpkg -l libgtk* | grep -e '^i' | grep -e 'libgtk-*[0-9]' ii libgtk-3-0:amd64 3.18.9-1ubuntu3.3 amd64 GTK+ graphical user interface library ii libgtk-3-bin 3.18.9-1ubuntu3.3 amd64 programs for the GTK+ graphical user interface library ii libgtk-3-common 3.18.9-1ubuntu3.3 all common files for the GTK+ graphical user interface library ii libgtk2-perl 2:1.2498-1 amd64 Perl interface to the 2.x series of the Gimp Toolkit library ii libgtk2.0-0:amd64 2.24.30-1ubuntu1.16.04.2 amd64 GTK+ graphical user interface library ii libgtk2.0-bin 2.24.30-1ubuntu1.16.04.2 amd64 programs for the GTK+ graphical user interface library ii libgtk2.0-cil 2.12.10-6 amd64 CLI binding for the GTK+ toolkit 2.12 ii libgtk2.0-common 2.24.30-1ubuntu1.16.04.2 all common files for the GTK+ graphical user interface library $

Использует ли моя система ubuntu какие-либо или все из них?

3
задан 9 February 2018 в 03:15

2 ответа

Этот вывод показывает список пакетов installe, имя которых начинается с libgtk. Все они установлены. Независимо от того, действительно ли они нужны (используются), это что-то еще. Простой способ проверить, нужен ли пакет, - запустить aptitude why в пакете. Например, на моей (очень старой) 14.04.5 системе LTS:

$ aptitude why libgtk-3-0 i firefox Depends libgtk-3-0 (>= 3.4)

Вы можете автоматизировать это с помощью:

$ dpkg -l libgtk* | grep '^i.*libgtk-*[0-9]' | awk '{print $2}' | xargs -I{} aptitude why {} i firefox Depends libgtk-3-0 (>= 3.4) i evince Depends gnome-icon-theme (>= 2.17.1) i A gnome-icon-theme Depends libgtk-3-bin i firefox Depends libgtk-3-0 (>= 3.4) i A libgtk-3-0 Depends libgtk-3-common (>= 3.10.8) i firefox Depends libgtk2.0-0 (>= 2.14) i firefox Depends libgtk2.0-0 (>= 2.14) i A libgtk2.0-0 Recommends libgtk2.0-bin i firefox Depends libgtk2.0-0 (>= 2.14) i A libgtk2.0-0 Depends libgtk2.0-common

awk просто печатает второе поле каждой входной линии. Затем инструмент xargs считывает ввод и заменяет {} в команде, которую вы скажете, чтобы она запускалась (aptitude why, в этом случае) с тем, что она читала как вход. Поэтому он будет запускать aptitude why на каждом из пакетов, возвращенных dpkg. О, и я упростил ваш grep в один звонок. Вы можете упростить дальнейшее использование только с помощью awk:

$ dpkg -l libgtk* | awk '/^i.*libgtk-*[0-9]/{print $2}' libgtk-3-0:amd64 libgtk-3-bin libgtk-3-common libgtk2.0-0:amd64 libgtk2.0-bin libgtk2.0-common
1
ответ дан 17 July 2018 в 21:25

Этот вывод показывает список пакетов installe, имя которых начинается с libgtk. Все они установлены. Независимо от того, действительно ли они нужны (используются), это что-то еще. Простой способ проверить, нужен ли пакет, - запустить aptitude why в пакете. Например, на моей (очень старой) 14.04.5 системе LTS:

$ aptitude why libgtk-3-0 i firefox Depends libgtk-3-0 (>= 3.4)

Вы можете автоматизировать это с помощью:

$ dpkg -l libgtk* | grep '^i.*libgtk-*[0-9]' | awk '{print $2}' | xargs -I{} aptitude why {} i firefox Depends libgtk-3-0 (>= 3.4) i evince Depends gnome-icon-theme (>= 2.17.1) i A gnome-icon-theme Depends libgtk-3-bin i firefox Depends libgtk-3-0 (>= 3.4) i A libgtk-3-0 Depends libgtk-3-common (>= 3.10.8) i firefox Depends libgtk2.0-0 (>= 2.14) i firefox Depends libgtk2.0-0 (>= 2.14) i A libgtk2.0-0 Recommends libgtk2.0-bin i firefox Depends libgtk2.0-0 (>= 2.14) i A libgtk2.0-0 Depends libgtk2.0-common

awk просто печатает второе поле каждой входной линии. Затем инструмент xargs считывает ввод и заменяет {} в команде, которую вы скажете, чтобы она запускалась (aptitude why, в этом случае) с тем, что она читала как вход. Поэтому он будет запускать aptitude why на каждом из пакетов, возвращенных dpkg. О, и я упростил ваш grep в один звонок. Вы можете упростить дальнейшее использование только с помощью awk:

$ dpkg -l libgtk* | awk '/^i.*libgtk-*[0-9]/{print $2}' libgtk-3-0:amd64 libgtk-3-bin libgtk-3-common libgtk2.0-0:amd64 libgtk2.0-bin libgtk2.0-common
1
ответ дан 23 July 2018 в 22:03
  • 1
    FYI: Aptitude не является дефолтом, даже 14.04. Может потребоваться установка отдельно вручную. – Thomas Ward♦ 8 February 2018 в 19:06

Другие вопросы по тегам:

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