Инструменты пользователя

Инструменты сайта


notes:linux:getpkglist

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

Чтобы получить список всех установленных пакетов на Ubuntu или Debian, используйте DPKG и другие команды.

Введите следующую команду:

dpkg-query -l

Чтобы увидеть только список пакетов, попробуйте:

dpkg-query -f '${binary:Package}\n' -W

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

dpkg --get-selections | grep -v deinstall

Другой вариант:

apt list --installed

или можно просто найти все пакеты на основе PHP:

apt list --installed | grep php

Как сохранить список в текстовый файл

Команда выглядит следующим образом для server1:

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

Теперь скопируйте mylist.txt на server2 с адресом, например 100.100.100.100:

scp mylist.txt 100.100.100.100:~/

Пример

The authenticity of host 100.100.100.100 (100.100.100.100)' can't be established.
ECDSA key fingerprint is SHA256:r+WgiifO
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '100.100.100.100' (ECDSA) to the list of known hosts.

Как установить скопированные пакеты на server2

На втором сервере server2 для восстановления установок из mylist.txt, выполните следующую команду:

dpkg --clear-selections
sudo dpkg --set-selections < mylist.txt

или

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

Наконец, выполните следующую команду, чтобы удалить ненужные пакеты:

sudo apt-get autoremove

Вышеприведенные команды должны восстановить пакеты из резервных копий или другого сервера.

Если данных на втором сервере нет, нужно их скопировать и после этого восстановить. Этот вариант заключается в использовании команды aptitude следующим образом:

### Создаем список программ в директории на первом сервере /tmp/packages.txt ###

dpkg --get-selections > /tmp/packages.txt
### Копируем файл на второй сервер с адресом 100.100.100.100 ###

scp /tmp/packages.txt 100.100.100.100:/tmp/
### Теперь вы можете установить пакеты на втором сервере используя команду apt-get/synaptic ###

1. Соединяемся с первым сервером

ssh root@100.100.100.101

2. Устанавливаем aptitude:

sudo aptitude

3. Восстанавливаем данные

aptitude install $(cat /tmp/packages.txt | awk '{print $1}')
notes/linux/getpkglist.txt · Последнее изменение: 2024/11/13 11:34 — Юрий

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: GNU Free Documentation License 1.3
GNU Free Documentation License 1.3 Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki