Como usar o packages.ubuntu.com como o apt-file search para versões diferentes?

2

Gostaria de usar o poder do link da linha de comando de maneira semelhante apt-file search -i funciona para encontrar os pacotes fornecendo um arquivo contendo um padrão específico.

Eu não posso usar apt-file porque eu preciso fazer a busca não apenas pela versão que estou executando (14.04) mas também 14.10 e 15.04.

Como posso obter, por exemplo, todos os pacotes que fornecem esquemas glib-2.0 contendo com.canonical.Unity , mas para 14.10, se estou executando 14.04 a partir da linha de comando?

    
por Sylvain Pineau 12.03.2015 / 14:48

1 resposta

6
  1. instale html2text :

    sudo apt-get install html2text
    
  2. cole a seguinte função no seu .bashrc :

    apt-file-remote()
    {
        pattern=""
        release=""
        if [ -z "$release" ]; then
            release="$(lsb_release -c -s)"
        fi
        wget "http://packages.ubuntu.com/search?searchon=contents&keywords=$pattern&mode=filename&suite=$release" -qO- |
        html2text -width 999 | grep --color=never '^/'
    }
    
  3. Reinicie seu shell ou abra um novo terminal

Execute-o com o padrão como primeiro argumento e depois o nome do código de lançamento (opcional, o padrão é o release atual):

$ apt-file-remote com.canonical.unity utopic
/etc/dbus-1/system.d/com.canonical.Unity.Greeter.Broadcast.conf                 unity-greeter-session-broadcast
[...]
/usr/share/glib-2.0/schemas/com.canonical.Unity.Thumbnailer.gschema.xml         thumbnailer-service
/usr/share/glib-2.0/schemas/com.canonical.Unity.gschema.xml                     unity-schemas
/usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml             unity-greeter
/usr/share/glib-2.0/schemas/com.canonical.unity-gtk-module.gschema.xml          unity-gtk-module-common
/usr/share/glib-2.0/schemas/com.canonical.unity.clickscope.gschema.xml          unity-scope-click
/usr/share/glib-2.0/schemas/com.canonical.unity.webapps.gschema.xml             unity-webapps-service
/var/lib/polkit-1/localauthority/10-vendor.d/com.canonical.unity.webapps.pkla   unity-webapps-common

Graças a essa função, descobri que:

/usr/share/glib-2.0/schemas/com.canonical.Unity.Thumbnailer.gschema.xml 

foi instalado apenas como de utópico.

Notas:

  • Eu uso -width 999 , pois por padrão html2text processa a saída usando 80 colunas, o que pode dividir alguns nomes em duas linhas.
  • Na verdade, é mais rápido que um local apt-file search -i
por Sylvain Pineau 12.03.2015 / 14:48