Portál AbcLinuxu, 7. května 2025 05:27

hledání souborů v yumu

10.12.2005 15:13 | Přečteno: 1153× | poslední úprava: 11.12.2005 11:59

Hodí se, pokud potřebujete soubor XY, ale nevíte, který balík nainstalovat. Příklad:

$ yum-file bin/gnome-help
yelp-2.10.0-1
$ yum-file freetype2.pc
freetype-devel-2.1.9-2
$ yum-file /usr/bin/perlcc
perl-5.8.6-15

Update: To samé umí i yum whatprovides, takže ani dál nečtěte.

$ cat ~/bin/yum-file
#!/bin/bash

if test "x$1" = "x-v"; then
        shift
        verbose="echo"
else
        verbose=":"
fi

if test "$#" != 1; then
        echo "Usage: $0 [-v] FILENAME" >&2
        exit 1
fi

dir="`dirname "$1"`"
file="`basename "$1"`"

case "$dir" in
        .) dir_query="";;
        /*) dir_query="dirname=\"$dir\" AND ";;
        *)  dir_query="dirname LIKE \"%$dir\" AND";;
esac


for db in /var/cache/yum/*/filelists.xml.gz.sqlite; do
        $verbose "Searching in $db"
        primary="${db/filelists/primary}"
        sqlite3 -separator - "$db" "
        ATTACH \"$primary\" AS \"primary\";
                SELECT name, version, release
                FROM \"primary\".packages
                WHERE pkgKey IN
                        (SELECT pkgKey
                        FROM filelist
                        WHERE $dir_query filenames LIKE \"%$file%\");"
done

PS: Vím, že to neošetřuje speciální znaky ve vstupu.

PPS: Nevíte, jak yum donutit, aby vygeneroval ty filelisty? Asi to dělá, jenom když je potřebuje.

       

Hodnocení: 67 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

10.12.2005 15:32 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
Rozbalit Rozbalit vše Re: hledání souborů v yumu
Odpovědět | Sbalit | Link | Blokovat | Admin
Copak hledání v yumu. Třeba bych rád věděl, proč je yum při hledání tak zoufale pomalý, když přímý SQL dotaz v té jeho cache vrací výsledky prakticky hned :-( Typický případ: potřebuju zjistit přesné jméno nějakého balíčku, který chci nainstalovat (podle jména programu). Přes yum je to k uzoufání.
Copak toho není dost?
10.12.2005 16:03 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: hledání souborů v yumu
Pokud jsem vygeneroval metadata "yum makecache" tak pak proběhlo hledání rychle.
10.12.2005 15:53 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Vytvoření filelist
Odpovědět | Sbalit | Link | Blokovat | Admin
yum makecache
10.12.2005 16:01 maleprase | skóre: 28
Rozbalit Rozbalit vše Re: hledání souborů v yumu
Odpovědět | Sbalit | Link | Blokovat | Admin
man yum

provides or whatprovides

Is used to find out which package provides some feature or file. Just use a specific name or a file-glob-syntax wildcards to list the packages available or installed that provide that feature or file.
11.12.2005 11:58 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: hledání souborů v yumu
Hmm, tak to jsem objevil Ameriku :-(

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.