Список всех версий пакета и установить эти точные версии в другой системе?

Можно ли перечислить все версии установленных пакетов таким образом, чтобы их можно было затем установить в другой системе?

Я знаю, что можно перечислить версии с помощью

dpkg -l > versions.txt

Но есть ли простой способ использовать выходные данные в другой системе?

dpkg --get-selections

не перечисляет версии.

(Если важна версия ОС, я использую 14.04)

1
задан 22 December 2017 в 08:13

1 ответ

Один из способов сделать это - создать файл списка с помощью команд установки. Следующая команда создаст файл, содержащий команды, указывающие apt-get, какую версию приложения установить:

dpkg -l | tail -n +6 | awk '{print $2"="$3}' | while read pkg; do echo "sudo apt-get install $pkg" >> install_pkg; done

Я поместил команду выше, чтобы пропустить первые 6 строк dpkg -l, поскольку они являются информацией линии, которые превращаются в линии мусора. Я также не добавил -y в команду apt-get, чтобы она автоматически не установила приложение, которое вы не хотели устанавливать. Я могу оставить это до вас. Когда я проверил, будет ли это работать или нет, я добавил в -s для имитации установки после apt-get в команде, и это, похоже, сработало.

Команда создаст файл со строками, которые выглядят следующим образом, который содержит имя пакета и версию для установки ( Я усек для длинного списка ):

sudo apt-get install y-ppa-manager=2017.06.13-1~webupd8~0
sudo apt-get install yad=0.39.0-1~webupd8~xenial0
sudo apt-get install yelp=3.20.1-1ubuntu1~xenial1
sudo apt-get install yelp-xsl=3.20.1-1~ubuntu16.04.1~xenial1
sudo apt-get install youtube-screenlet=0.3.2+++~trusty1
sudo apt-get install zeitgeist=0.9.16-0ubuntu4
sudo apt-get install zeitgeist-core=0.9.16-0ubuntu4
sudo apt-get install zeitgeist-datahub=0.9.16-0ubuntu4
sudo apt-get install zenity=3.20.0-1~ubuntu16.04.1
sudo apt-get install zenity-common=3.20.0-1~ubuntu16.04.1
sudo apt-get install zip=3.0-11
sudo apt-get install zlib1g:amd64=1:1.2.8.dfsg-2ubuntu4.1
sudo apt-get install zlib1g:i386=1:1.2.8.dfsg-2ubuntu4.1
sudo apt-get install zlib1g-dev:amd64=1:1.2.8.dfsg-2ubuntu4.1
sudo apt-get install zsync=0.6.2-1ubuntu1

Затем все, что вам нужно сделать, это скопировать файл install_pkg, который был создан, в другую систему, учитывая, что все PPA в другой системе соответствуют системе, в которой вы находитесь, и запустить следующую команду, чтобы начать установку:

sh ./install_pkg

Надеюсь, это поможет!

2
ответ дан 22 December 2017 в 08:13

Другие вопросы по тегам:

Похожие вопросы: