Как получить и скопировать список установленных пакетов на Ubuntu / Debian Linux сервере

На модерации Отложенный

Получить список пакетов сисадмину нужно по разным причинам: переустановка системы, инсталл пакетов на другую машину, проверка версий и совместимости или же иные. И если вы ищете качественный виртуальный сервер VPS/VDS, на котором можно развернуть ПО, лично я нашел самые выгодные тарифы на PQ.Hosting.

Как получить перечень пакетов Ubuntu / Debian Linux?

Вывести пакеты можно командой:

dpkg-query -l

В панели появится перечень с указанием названия, актуальной текущей версии и кратким описанием предназначения.

Для Убунту используется:

sudo apt list --installed

Она также выводит листинг пакетов с указанием текущей версии и архитектуры. Есть команды, позволяющие вывести только список пакетов с названиями, но они используются реже).

Как скопировать и перенести пакеты на Ubuntu / Debian Linux?

Как правило, системному администратору нужно перенести установленных список пакетов с одного сервера на другой, а не заниматься установкой и / или настройкой каждого по отдельности.

Для этого нужно выполнить 2 действия:

  • сохранить список пакетов с сервера №1, которые ранее вывели командой;
  • накатить зависимости на сервер №2.

Чтобы создать файл со списком установленных packages, используем:

dpkg --get-selections | grep -v deinstall > allpackages.txt

Название «allpackages.txt» приведено для примера. Вы можете использовать любые наименования: «alllists.txt», «lists.txt», «packages.txt» и так далее.

Файл со списком пакетов и версиями копируется на сервер №2 с вашим адресом. К примеру, для 200.200.200.200 команда будет выглядеть таким образом:

scp allpackages.txt 200.200.200.200:~/

Остается только накатить пакеты из скопированного файла. Для этого используется команда:

$ sudo apt-get install -y $(< allpackages.txt)

Готово! Теперь вы перенесли список пакетов с сервера №1 на сервер №2.