The command M-x list-packages brings up the package menu. This is a buffer listing all the packages that Emacs knows about, one on each line, with the following information:
package-user-dir(see Package Files). External packages are treated much like built-in: they cannot be deleted through the package menu, and are not considered for upgrading.
The status can also be ‘new’. This is equivalent to ‘available’, except that it means the package became newly available on the package archive after your last invocation of M-x list-packages. In other instances, a package may have the status ‘held’, ‘disabled’, or ‘obsolete’. See Package Installation.
list-packages command accesses the network, to retrieve the
list of available packages from package archive servers. If the
network is unavailable, it falls back on the most recently retrieved
The following commands are available in the package menu:
package-menu-describe-package), similar to the help window displayed by the C-h P command (see Packages).
package-menu-mark-install). If the package status is ‘available’, this adds an ‘I’ character to the start of the line; typing x (see below) will download and install the package.
package-menu-mark-delete). If the package status is ‘installed’, this adds a ‘D’ character to the start of the line; typing x (see below) will delete the package. See Package Files, for information about what package deletion entails.
package-menu-mark-obsolete-for-deletion). This marks for deletion all the packages whose status is ‘obsolete’.
package-menu-mark-upgrades). This places an installation mark on the new available versions, and a deletion mark on the old installed versions.
package-menu-execute). This also removes the marks.
package-menu-refresh). This fetches the list of available packages from the package archive again, and recomputes the package list.
package-menu-filter). This prompts for a keyword (e.g., ‘games’), then shows only the packages that relate to that keyword. To restore the full package list, type q.
For example, you can install a package by typing i on the line listing that package, followed by x.