обнаружение о 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
$ 

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

2
задан 9 February 2018 в 02:15

1 ответ

Тот вывод показывает список 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 просто печать th 2-е поле каждой входной строки. 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
ответ дан 2 December 2019 в 04:45

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

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