我正在考虑将旧版AMD64转换为32位新的英特尔双核。安装不是问题,但我可以转移所有已安装的应用程序吗?我没去过 能够在谷歌上找到任何东西,除非迁移到类似的平台和文件系统。我不会改变文件系统,但平台会有所不同。是否有一些与“世界”相关的东西。文件在Gentoo?

有帮助吗?

解决方案

您可以轻松保存您的包列表:请参阅“man dpkg”;并搜索--set-selections和--get-selections。

它的基础是保存包列表:

dpkg --get-selections> package_list

要在另一个系统上恢复该列表:

cat package_list | sudo dpkg --set-selections&& sudo apt-get dselect-upgrade

跨架构移动意味着某些软件包不可用。他们将被忽视;例如, ia32-libs 将无法在32位系统上安装。如果您从x86-64转到x86,那么该选择将被忽略。

其他提示

有趣的是,我在这里使用SO作为一个howto存储库(写一个问题,然后选择我自己的答案),但是在我写自己的答案的时候,我被击败了三次!

无论如何,这是我对记录的看法:

使用dpkg的--get-selections和--set-selections选项捕获并选择当前安装的软件包。

首先,在旧系统上导出当前包列表:

sudo dpkg --get-selections > mypackages.txt

然后选择此列表作为要在新系统上安装的软件包:

sudo dpkg --set-selections < mypackages.txt

(为了额外的功劳,请将您的apt缓存目录复制到最小化下载: / var / cache / apt)

最后,告诉apt下载并安装所选的软件包:

sudo apt-get dselect-upgrade

对于您使用apt-get安装的所有内容,如果要创建已安装内容的记录,请执行以下操作:

dpkg -l|awk '/^ii\s*(.*)\s*/ {print $2}'|packages.txt

这将创建一个包含已安装的所有软件包的文本文件。然后,在执行安装后,使用以下命令创建并运行脚本:

#!/bin/sh
for p in $(cat packages.txt); do apt-get install $p; done

注意:结果 1)由于您从64位移动到32位,因此某些软件包可能不兼容。在运行上面的脚本之前,我会先将packages.txt用于'64',然后在需要时找到替代方案 2)您从源代码安装的任何内容,您必须再次记录并从源代码安装。

祝你好运!

如果(像我一样)在你弄乱你的系统之前你没有这样做,你可以启动到live-cd或其他安装,并使用chroot来获取这些信息。

sudo chroot /path/to/old/system /bin/bash

然后执行 dpkg --get-selections 跳舞,您可以使用生成的文件来设置新系统。

这就是我通常要解决的类似问题(多次迁移到新笔记本电脑)。

此问题的其他答案还有两个补充,这也将移动您的 update-alternatives debconf 设置,这些设置总是需要很长时间才能实现没有转移。

旧系统备份:

sudo apt-get install dselect debconf-utils
mkdir system-selections
update-alternatives --get-selections > system-selections/alternatives-selections
dpkg --get-selections '*' > system-selections/dpkg-selections
sudo debconf-get-selections > system-selections/debconf-selections

将config目录复制到新闻系统(&quot; scp -r oldsystem:system-selections~ &quot;):

sudo apt-get install dselect debconf-utils
sudo dselect update
sudo dpkg --set-selections  < system-selections/dpkg-selections
sudo debconf-set-selections < system-selections/debconf-selections
sudo apt-get -u dselect-upgrade
sudo update-alternatives --set-selections < system-selections/alternatives-selections

此外,您可以使用相同的方法定期将主目录和系统选择(如上所述)备份到远程存储。因此,如果您的笔记本电脑坏了/被盗,建立一个类似的系统非常快。

我不确定这是否是答案,但我刚刚发现命令aptitude-create-state-bundle的存在。是的,这是一个命令。查看手册页。

我能想到的最佳方法是备份当前系统上已安装软件包的列表,然后使用该列表设置要在新系统上安装的软件包。有关如何备份和恢复软件包选择的一般说明:

安装工具

sudo apt-get install dselect

备份包列表

dpkg --get-selections | grep -v deinstall > ubuntu-files

恢复包选择

sudo apt-get update
sudo apt-get dist-upgrade
dpkg --set-selections < ubuntu-files
sudo dselect

这将打开一个dselect会话。输入“I”并允许选择 安装ubuntu-files文件中列出的软件包。 完成后,键入“Q”并按ENTER键退出dselect。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top