Список всех установленных пакетов в Debian/Ubuntu

# dpkg --get-selections

Показать файлы, что есть в пакете

$ dpkg -L php-pear

Заморозить обновления пакета php5-cgi

# echo php5-cgi hold | dpkg --set-selections

Разморозить обновления пакета php5-cgi

# echo php5-cgi install | dpkg --set-selections

Посмотреть статус покета. Заодно можно узнать - установлен ли он

$ dpkg -s apache2
Package `apache2' is not installed and no info is available.
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.
$ dpkg -s nginx
Package: nginx
Status: install ok installed
Priority: optional
Section: httpd
Installed-Size: 856
Maintainer: Jose Parrella <bureado@debian.org>
Architecture: amd64
Version: 0.7.67-3+squeeze1
Provides: httpd
...

Чтобы поставить все программы как на другой системе

  1. Сохраняем список установленных пакетов

    $ dpkg --get-selections > ~/installed-software
  2. На другой системе загружаем этот список и даём задачу установить всё
    # dpkg --set-selections < ~/installed-software
    # apt-get -f install
-----------