man dpkg: --get-selections [package-name-pattern...] Get list of package selections, and write it to stdout. Without a pattern, non- installed packages (i.e. those which have been previously purged) will not be shown. --set-selections Set package selections using file read from stdin. This file should be in the for- mat ' ', where state is one of install, hold, deinstall or purge. Blank lines and comment lines beginning with '#' are also permitted. на практике: dpkg --get-selections > packages.list переставляем систему, ставим только базу, дальше: dpkg --set-selections < packages.list apt-get dselect-upgrade отдельно пакеты бекапить ненужно. какой в этом смысл, если все можно поставить с зеркал?