Я не знаю, есть ли лучший способ (возможно, есть), но в зависимости от масштаба, который вам нужен, вы можете использовать функцию поиска aptitude для части механизма. Это позволяет вам искать пакеты, соответствующие шаблону. Итак, aptitude search '~i'
дает вам все установленные пакеты
Нам нужно сделать шаг вперед, хотя. Менеджеру пакетов нравится знать, какие пакеты были запрошены вами напрямую, а какие были добавлены из-за других пакетов. Без этой информации могут произойти неприятные вещи. Итак, мы можем расширить этот шаблон поиска, чтобы выбрать пакеты, которые не устанавливаются автоматически:aptitude search '!~M ~i'
Функция поиска подробно описана в справочном руководстве Aptitude .
Теперь у вас есть список пакетов для установки. При необходимости вы можете отформатировать вывод , передав флаг -F этой команде, например -F '% p', чтобы получить список только с именами пакетов.
Например , вы можете запустить это на машине 1 :
aptitude -F "%c %p" --disable-columns search '!~M ~i' | awk -F " " '{ print "apt-get -y install " $2 }' > aptshell.sh
Затем скопируйте вновь созданный aptshell.sh
файл на компьютер 2 и используйте эту команду на компьютере 2, чтобы запустить его там:
sudo sh aptshell.sh
Затем повторите процесс, используя исходную машину 2 в качестве новой машины 1 и исходную машину 1 в качестве новой машины 2 . Теперь на каждой машине есть все пакеты, которые раньше были только на другой.