查找从存储库安装的软件包

我正在尝试使用终端命令从存储库中找到我安装的软件包。

我发现某个post说我可以使用aptitude search "?origin () ?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的东西,那就太好了。

在括号中,您应该只使用存储库的名称,而不是URI或其他内容。 例如在你的情况下:

 aptitude search "?origin (ubuntu-wine) ?installed" 

运行apt-cache policy以查看存储库和名称(也称为origin, 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的列表到安装脚本中?

从命令行如果你喜欢做手段

 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经理。 打开终端并输入:

 sudo add-apt-repository ppa:webupd8team/y-ppa-manager sudo apt-get update sudo apt-get install y-ppa-manager 

然后打开Unity破折号并使用Y -PPA进行搜索,然后打开Icon。

在此处输入图像描述

点击管理PPA,如图所示,然后选择一个PPA,它将为您提供PPA及其包的详细信息。

Origin不是存储库的URL。 要查找存储库的Origin,请在/var/lib/apt/lists/以Release结尾查找文件。

例如

 grep "Origin" /var/lib/apt/lists/linux.dropbox.com_debian_dists_wheezy_Release 

将会呈现:

 Origin: Dropbox.com 

所以aptitude search "?origin(dropbox.com) ?installed"将显示我从dropbox存储库安装的软件包。