Debian - Fő tárolón kívűlről telepített csomagok listázása

Régebben írtam egy script-et, ami azokat a csomag neveket dobja, amelyek nem a hivatalos fő tárolóból lettek telepítve. Viszont az nem hozta azokat a neveket, amelyek egyformán szerepelnek a fő és a külső tárolóban is.

Most átírtam úgy, hogy nem csak csomag névre diff-el, hanem a mellette lévő verzió számra is. Így már tökéletesen hozza a külsős csomag neveket, akár dpkg-vel lett manuálisan feltéve, akár külső apt tárolóból.

szer.: Ubuntu-hoz is jó ugye, csak a REPO változókat kell átírni, és azt beadni a cat-nek.

pastebin


#!/bin/bash
# DEBIAN / LIST PACKAGES INSTALLED FROM OUTSIDE OF MAIN AND SECURITY REPOSITORY

REPO1=/var/lib/apt/lists/*_debian_dists_*_main_*_Packages
REPO2=/var/lib/apt/lists/security.debian.org_dists_*_main_*_Packages

LIST1=$(dpkg -l | grep -i "^ii" | tr -s " " "\t" | cut -f2,3 | sort)
LIST2=$(cat $REPO1 $REPO2 | grep -iE "^Package:|^Version:" \
        | sed -r ":q;N;s/\n/\t/g;" | tr -s " " "\t" | cut -f2,4 | sort)

diff -u <(echo "$LIST1") <(echo "$LIST2") | grep -v "^@" | grep -v "^--" \
        | grep "^-" | cut -b2-256 | cut -f1

Hozzászólások

Na, ez hasznos cucc! \o/

Bar egy-ket kisebb hibat latni velek benne, de majd otthon kiprobalom, hogy jol gondoltam-e, vagy csak remeket latok megint.

#!bin/bash lemaradt, ezt azért betettem.