Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“有多准确?”;一切都是一个文件;关于linux?_Linux_Ubuntu - Fatal编程技术网

“有多准确?”;一切都是一个文件;关于linux?

“有多准确?”;一切都是一个文件;关于linux?,linux,ubuntu,Linux,Ubuntu,假设我要安装一台ubuntu机器,并在上面安装一些服务和软件。进一步假设我要安装另一台股票ubuntu机器,这次没有额外的服务和软件。我知道有很多方法可以创建安装/设置脚本或拍摄磁盘映像等来构建大量相同的计算机,但如果我要以编程方式在安装之间进行基于文件的区分,并将所有文件添加/更改/删除/等从完全配置的系统迁移到库存系统,然后我会有两个相同的工作系统(即完全实现“一切都是文件”的linux理念),还是因为仅仅传输文件是不够的,所以新配置的系统会处于不一致的状态?在我对相同和不一致的定义中,我排

假设我要安装一台ubuntu机器,并在上面安装一些服务和软件。进一步假设我要安装另一台股票ubuntu机器,这次没有额外的服务和软件。我知道有很多方法可以创建安装/设置脚本或拍摄磁盘映像等来构建大量相同的计算机,但如果我要以编程方式在安装之间进行基于文件的区分,并将所有文件添加/更改/删除/等从完全配置的系统迁移到库存系统,然后我会有两个相同的工作系统(即完全实现“一切都是文件”的linux理念),还是因为仅仅传输文件是不够的,所以新配置的系统会处于不一致的状态?在我对相同和不一致的定义中,我排除了主机名引用等

我问这个问题是因为我需要创建一个虚拟机,安装一组软件,并向redmine等工具添加一组内容,在不久的将来,我将不得不将其镜像到另一个vm上。我不能简单地获取磁盘映像,因为我从中接收第二个vm的源不提供这种访问权限,并且vm将具有不同的规格。在这一点上,我也不能采用基于安装脚本的方法,因为这将需要大量的开销,不会考虑添加的用户内容,而且在我们的环境稳定之前,我不知道第一个vm上需要什么。我上面提到的方法似乎是一种迂回但合理的方法,只要它的假设在理论上是准确的


谢谢。

假设这两个系统在硬件方面基本相同(即,相同的网卡、视频卡等),只需将文件从系统A复制到系统V就足够了。事实上,在我的工作场所,我们在许多成功的案例中都使用了这个过程作为“穷人的P2V”机制

如果两个系统具有不同的硬件配置,您可能需要对目标系统进行适当的调整,以考虑到这一点

UUID支架 如果您有基于UUID的挂载—例如,您的
/etc/fstab
如下所示

UUID=03b4f2f3-aa5a-4e16-9f1c-57820c2d7a72 /boot                   ext4    defaults        1 2
…然后您可能需要调整这些标识符。一个好的解决方案是使用基于标签的挂载(当然,还要设置适当的标签)

网卡
某些发行版将网卡的MAC地址记录为网络配置的一部分,如果MAC地址不同,则会拒绝配置NIC。在RHEL衍生工具下,只需从配置中删除MAC地址即可解决此问题。我不认为这在Ubuntu下会是一个问题。

如果有人要对这一点进行评价,至少要给出一个解释。需要注意的是,Ubuntu和许多现代/当前发行版都会使用设备标识符作为挂载点。在物理世界中,它们将绑定到硬件,换句话说,/etc/fstab和/boot/grub/menu.lst的物理克隆不仅在新机器上工作,而且不会启动。我不知道虚拟机在这方面的表现。这是一个如何编程的问题?您将得到与使用某人现有的diff工具相同的结果。这是对编程/脚本编写所基于的假设的验证。