it-swarm.dev

Jak mohu zkontrolovat seznam závislostí balíčku deb

Jak mohu zkontrolovat seznam závislostí balíčku deb. Používám Ubuntu 11.10 a zálohoval jsem všechny deb balíčky z var/cache/apt/archives. Chci naformátovat svůj počítač a přeinstalovat pouze vybrané aplikace. Jak mohu získat seznam nainstalovaných balíčků a závislostí.

96
Vikramjeet

Kromě metody dpkg můžete zkontrolovat závislosti balíčků v úložišti:

apt-cache depends package-name

EDITOVAT Aktualizováno s doporučením @ Tino. @ Tigranův komentář již neplatí.

86
Oxwivi

Zobrazí se vám všechny informace o balíčku:

dpkg -I package.deb
109
htorque

Pro 14.04 a novější:

dpkg nemá -I ještě více a musíte použít dpkg-deb pro zobrazení informací o balíčku včetně závislostí:

dpkg-deb -I package.deb
3
Rup Narayan

apt-cache depends [Package-Name] bude také fungovat. Přestože pokud zadáte zdroj .deb balíček mimo váš seznam zdrojů, například apt-cache showpkg [Package-Name] && apt-cache depends [Package-Name] může zobrazovat zastaralé informace nebo nemusí být synchronizována se skutečným nainstalovaným balíčkem, takže dpkg -I [Package-Name] by v tom případě fungovalo nejlépe.

3

Pro konkrétní verzi balíčku:

apt-cache show <package_name>=<version>

Vyhledání dostupných verzí: Jak mohu zkontrolovat dostupnou verzi balíčku v repozitářích?

0
MisterZ

Zde je několik nedbalých a pravděpodobně příliš nepatřících následných zpracování, které můžete udělat pro dpkg -I výstup pro získání závislých položek jako seznamu:

Kondenzováno pro počítače

# dpkg -I package.deb | python -c "import sys, re; t=re.split(r'\n(?= ?[\w]+:)|:', sys.stdin.read()); print '\n'.join([i.strip() for i in {key.strip(): value.strip() for key, value in Zip(t[::2], t[1::2])}['Depends'].split(',')])"
#

Rozšířeno pro lidi:

dpkg -I package.deb | python -c "
    import sys, re;
    # Split keys and values into pairs (zipped together later)
    t=re.split(
        r'\n(?= ?[\w]+:)|:', 
        sys.stdin.read()
    ); 
    # Newline separate each dependency
    print '\n'.join([
        # Trim each dependency value
        i.strip() for i in {
            # Build assoc array from package metadata
            key.strip(): value.strip() 
            for key, value in Zip(t[::2], t[1::2])
        }['Depends'].split(',')
    ])
"
0
ThorSummoner

V případě, že máte odinstalovaný balíček (obvykle stahovaný ručně z vnějšího úložiště), musíte použít dpkg. Následující příkaz zobrazí souhrn informací o balíčku, včetně jeho závislostí:

dpkg --info [package name]

Pokud je balíček již na vašem počítači nainstalován (pochází z úložiště nebo z manuálního stahování) nebo není nainstalován, ale je k dispozici v úložišti, můžete použít apt. Následující příkaz zobrazí pouze seznam závislostí.

apt depends [package name]
0