With yum it was simple: yum list *xxx*
but this does not work with apt-get
.
How can I do a search like this?
Also, how do I see what package provides a specific command?
If you wish to search a specific string only in package names, you can do:
apt-cache search --names-only 'xxx'
This will return anything that contains 'xxx' in their package name.
You can also use regular expressions:
apt-cache search --names-only 'php5$'
This will return any package with their name ending in php5.
Regular expressions can also be used without the --names-only. See apt-cache(8) man page.
First Question: use dselect or aptitude to see/search all available packagesm, their both curses frontends to apt-get and/or dpkg
Second Question: dpkg -S <COMMAND>
It would be wise to include the whole path in your dpkg search (e.g. /bin/ls, not just ls).
Yet another alternative is axi-cache (in the apt-xapian-index package). It uses the xapian search engine to search through the apt archives.
Put the search query in a quotes and then use regex. For install to search whatever version of php-curl, I use;
sudo apt-cache search "php.*curl"
which returns;
php5-curl - CURL module for php5
php-http-request2 - Provides an easy way to perform HTTP requests