Найдите, какие пакеты установлены из репозитория
Я пытаюсь найти, какие пакеты я установил из репозитория, используя команды терминала.
Я нашел сообщение где-то, что я мог бы использовать aptitude search "?origin (<repository>) ?installed"
, но я не мог заставить его работать. Я попытался найти пакеты, которые пришли из ppa: ubuntu-wine / ppa и ничего не получили с этими:
aptitude search "?origin (http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu/) ?installed"
aptitude search "?origin (http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu/) ?installed"
aptitude search "?origin (http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu/ raring/main) ?installed"
Было бы хорошо, если бы я мог получить что-то, что работает с PPA.
5 ответов
В скобках следует использовать только имя хранилища, а не URI или что-то еще. Например, в вашем случае:
aptitude search "?origin (ubuntu-wine) ?installed"
Бежать apt-cache policy
чтобы увидеть репозитории и имена (он же происхождение, o
) из тех:
$ apt-cache policy | grep wine
500 http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu xenial/main i386 Packages
release v=16.04,o=LP-PPA-ubuntu-wine,a=xenial,n=xenial,l=Wine Team PPA,c=main,b=i386
500 http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu xenial/main amd64 Packages
release v=16.04,o=LP-PPA-ubuntu-wine,a=xenial,n=xenial,l=Wine Team PPA,c=main,b=amd64
Поскольку строка поиска является шаблоном регулярного выражения, совпадающим в любом месте строки, вы можете использовать удобную подстроку, например ubuntu-wine
или даже просто wine
,
См. Также: Как я могу получить список всех репозиториев и PPA из командной строки в сценарии установки?
Вот скрипт Bash, который я написал для отображения пакетов, установленных из разных источников, кроме Ubuntu. Он использует общий dpkg -l
Выходной формат. Работает быстрее чем aptitude
решения.
#!/bin/bash
# Print packages installed from different origins.
# Exclude standard Ubuntu repositories.
grep '^Origin:' /var/lib/apt/lists/*Release | grep -v ' Ubuntu$' | sort -u \
| while read -r line; do
origin=$(cut -d' ' -f2- <<<"$line")
echo $origin:
list=$(cut -d: -f1 <<<"$line")
sed -rn 's/^Package: (.*)$/\1/p' ${list%_*Release}*Packages | sort -u \
| xargs dpkg -l 2>/dev/null | grep '^.i '
echo
done
Обратите внимание, что могут также быть установлены пакеты, которые не имеют такого доступного источника, посмотрите это, чтобы найти их.
Источник не URL-адрес хранилища. Чтобы найти Происхождение хранилища, найдите файл в /var/lib/apt/lists/
заканчивая релизом.
Например
grep "Origin" /var/lib/apt/lists/linux.dropbox.com_debian_dists_wheezy_Release
Покажет:
Origin: Dropbox.com
Так aptitude search "?origin(dropbox.com) ?installed"
покажет мне установленный пакет из репозитория dropbox.
Из командной строки Если вы хотите сделать средства
awk '$1 == "Package:" { if (a[$2]++ == 0) print $2; }' /var/lib/apt/lists/*PPA-FIRST-PART*PPA-SECOND-PART*Packages
например: все есть пакеты от noobslab
jai@frank-Jai:~$ awk '$1 == "Package:" { if (a[$2]++ == 0) print $2; }' /var/lib/apt/lists/*noobslab*Packages
python-logilab-common
synapse
ubuntuone-client
python-ubuntuone-storageprotocol
ubuntuone-client-gnome
python-ubuntuone-client
lives
libweed0
libweed-dev
lives-data
converseen
minitube
libsyncdaemon-1.0-1
libsyncdaemon-1.0-dev
ubuntu-sso-client
python-ubuntuone-devtools
ubuntuone-dev-tools
ubuntuone-control-panel
python-ubuntuone-control-panel
synapse-dbg
gir1.2-syncdaemon-1.0
libweed-dbg
lives-dbg
umplayer
umplayer-translations
libgranite-dev
deepin-software-center
ubuntuone-control-panel-qt
python-dirspec
rhythmbox-ubuntuone
python-ubuntu-sso-client
ubuntu-sso-client-qt
python-ubuntu-sso-client.tests
granite-demo
ubuntuone-client-proxy
python-oauthlib
slidewall
python3-dirspec
python3-oauthlib
ubuntuone-client-data
libgranite1
libgranite1-dbg
gir1.2-granite-1.0
libgranite-common
curlew
fbmessenger
open-as-administrator
indicator-synapse
indicator-synapse-dbg
wallpaper-manager
awoken-icon-theme
malys-uniblack
malys-uniblue
malys-ex
acyl-icons
nitrux-icons
piratunbu-icons
azenis-green-icons
nouvegnome-color
nouvegnome-gray
hi-lights-icons
matrilineare
zoncolor-icons
royal-linux-icons
elementary-icons
myhumanity
myelementary
glass-icons
osx-nostalgie
sky-blue-cinnamon
sky-blue-gnome
sky-blue-unity
wine-blue-remix
lubuntubox
windows7-icons
appleart-icons
magical-lights-icons
colored-plastic-icons
numix-utouch-icon-theme
ubudao-style
artnet-icons
high-delight-icons
snow-sabre-icons
trevilla-icons
aery-icons
ambiance-blue
zukitwo
gnomishbeige-theme
salience-theme
zukiwi
gnomishgray
delorean-dark
smoothly-theme
ambiance-ds-blue
ambiance-lime
gnomishdark
zukitwo-cupertino-gs
mediterranean-theme
elementaryish
borderline
boje
wow-2
zoncolor-themes
omg-suite
simplex
leopard-steel
dorian-theme
daylight
adwaita-elements
uncomplicated
trevilla-jmhzonedark
trevilla-dark
trevilla-white
trevilla-whiteblue
trevilla-whiteorange
trevilla-white2
ambiancep-set
ambiance-crunchy
trevilla-gray
siva-series-gtk
cobibird
elegant-brit
mac-ithemes-noobslab
mac-icons-noobslab
ubuntu-touch-themes
windows8-theme
bigfootblue-cinnamon
windows8-cinnamon
eliza1-cinnamon
bigfootred-cinnamon
plus1-theme
futura
blo-theme
darkair-theme
plane-gtk3
deepin-gtk-theme
nokto-theme
numix-theme
neptune-theme
trevilla-themes
jai@frank-Jai:~$
Тогда вы можете использовать Y-PPA manager. Откройте свой терминал и введите:
sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install y-ppa-manager
Затем откройте черту Unity и выполните поиск с помощью Y-PPA, а затем откройте значок.
Нажмите на управление PPA, как показано на рисунке, а затем выберите один PPA, и он предоставит вам подробную информацию о PPA и его пакетах.