ska*_*tek 8 configuration-management
注意:这个问题不是关于以类似 Dropbox 的方式(文件、文件夹)同步数据,而是关于同步配置。
我希望拥有完全相同版本的 Ubuntu,并且在我的台式机和笔记本电脑(也可能在我的小型上网本 PC)上安装和配置所有软件,而不使用 Ubuntu Sync 和最少的维护工作(设置一次,长时间运行)。
用例如下:
我在笔记本电脑上工作并对软件配置进行了一些更改,例如:
apt-get installcheckinstall我做了一些“同步”操作
(1)在台式PC上工作我在台式 PC 上工作并对软件配置进行了一些更改,例如:
我做了一些“同步”操作
(1)并(4)在笔记本电脑上工作。问:我可以使用哪些免费/开源软件来同步两台机器的 Ubuntu 系统、安装的软件和配置?如果没有任何云服务,是否可以做到这一点?
补充问题:台式机和笔记本电脑的硬件配置明显不同。有问题的“同步软件”如何处理视频驱动程序、WLAN 驱动程序及其配置?
注意:我不需要同时同步所有 PC,因为我一次只使用一台机器。
注:我考虑过用Chef来解决这个问题,但是好像维护这样的设置可能真的很麻烦。
注意:我也考虑过使用安装了 Ubuntu 的可引导 USB(便携式 Linux),但我不确定视频驱动程序是否能正常工作。
据我了解,您的意图是:
无论您做什么,您都需要某种云服务。它不一定是 Dropbox。我强烈推荐Seafile。我在家里的 Raspberry Pi 上运行它来满足我的同步需求。他们的文档很容易理解。
1. 应用程序同步
在 13.10 之前,这是一个开箱即用的功能。今天我会使用 Ansible 或其他配置管理解决方案(例如 puppet 或 Chef)。Anible Playbook 指定了您想要安装的内容。您可以使用 Seafile 保持同步并使用 cron 作业来运行 Ansible。
2. 同步您的工作
在这里我肯定会使用Seafile。它允许您同步您选择的任何文件夹,并且不会将您限制在单个Dropbox之类的文件夹中。
3. 点文件
您当然可以将它们与 Seafile 同步。更好的选择是将所有点文件置于 git 版本控制之下。您可以加入人群并将您的点文件放在 github 上或使用您自己的服务器作为中介。当然需要一些 git 的基础知识。
您可以将主目录移动到闪存驱动器。这是大多数程序存储其配置的位置,编译后的程序可以使用./configure --prefix=/home/YOURNAME/bin(或任何其他目录)安装在那里。唯一不起作用的是自动同步使用 apt-get 安装的软件包。
对于安装 synaptic,在单击检查以安装这些软件包之前,单击“将标记另存为...”,这将允许您保存将要安装的所有软件包的列表。当您打开笔记本电脑时,运行 synaptic,然后使用“读取标记”来获取您需要的文件列表。然后单击复选标记以在其他计算机上安装相同的文件。
此解决方案不会有任何驱动程序问题,因为操作系统本身不共享,仅共享配置、用户文件等。如果您不想在闪存驱动器上移动所有文件,则可以将它们存储在另一个文件夹中(如 /home/myfiles),不必有与之关联的用户。
如果您想要执行此操作,则必须执行以下步骤:
这样做的作用是,当您的计算机使用闪存驱动器启动时,Ubuntu 将正常启动,但将闪存驱动器视为您的普通主文件夹。如果计算机抱怨闪存驱动器无法启动,那么您可以通过将闪存驱动器选项从列表中移至硬盘驱动器下方,更改 BIOS 设置以停止从闪存驱动器启动。
如果您在执行其中任何操作时需要帮助,可以在评论中询问。此外,您无法在计算机运行时删除闪存驱动器,因为卸载它意味着从系统中删除您的主文件夹。
以下是上述步骤的详细列表:
在开始之前:
闪存驱动器还没有真正准备好使用,从技术上讲它可以按原样使用,但这不是一个好主意。大多数闪存驱动器使用 fat32,它与 Linux 兼容,也与其他所有内容兼容,但不支持 Linux 的大部分功能,因此应将其更改为 ext2,可以使用 ext3/4,但日志可能会损坏闪存驱动器,但它确实在断电时保护文件,所以如果您想先讨论这个问题,可以发表评论。
请注意,Ext 仅适用于 linux,但这无论如何都不会在非 Linux 计算机之间共享设置,因此如果您需要它跨平台工作,则只会共享用户文件(并且分区将无法共享) Ext),但如果这仅适用于 Linux,并且仅适用于一个桌面环境(在您使用的每台计算机上),那么它将正常工作。(即使在同一台计算机上,也很难让不同的桌面环境共享设置)
打开磁盘工具(应该可以使用启动器访问),您需要输入密码。然后选择闪存驱动器,记下右上角的设备(它应该看起来像 /dev/sdb 或类似的东西)。然后单击“卸载卷”。
然后单击“格式化卷”,最重要的是闪存驱动器上的所有内容都将被删除。在出现的菜单上单击类型下拉列表并选择 Ext2 或您选择的任何文件系统(告诉我您是否选择另一个文件系统,因为挂载和 fstab 需要知道类型)。单击格式按钮并等待其完成。
步骤1:
这是最简单的,将闪存驱动器插入每台计算机并运行类型,其中cp -r /home/USER /mount/FLASHDRIVE用户和闪存驱动器是您的主文件夹和闪存驱动器的位置。这也适用于隐藏文件(正如我提到的,这很重要)。其中最困难的部分是同名的文件将被覆盖,因此请确保您使用的最后一台计算机具有您最想要的设置。另外,对于即将进行的测试,添加一个名为 的文件It Works,它不必包含任何内容。
第 2 步:您可能应该跳过此步骤
当我写最初的回复时,我并没有真正考虑过这会带来多大的影响。当我在我的计算机上测试它时,它不起作用,而且它并不是真正必要的,而且当你运行它时,你的计算机会发生奇怪的事情,这可能会让你感到困惑。
只需在一台计算机上完成此操作作为测试,以确保一切正常。运行sudo umount /dev/sdXY其中 XY 是您之前获得的设备,后跟 1(因此,如果它是 /dev/sdb,请写入 /dev/sdb1)。然后运行这些命令:
sudo shutdown now
mount -t ext2 /dev/sXY /home/USER
telinit 5
Run Code Online (Sandbox Code Playgroud)
关机实际上并不会关闭计算机,它会将您置于单用户模式,这样您就可以在不使用文件系统的情况下处理文件系统,但您将被注销,因此当系统完全更改时不要惊慌。
然后登录,此时您的主文件夹应该是闪存驱动器。如果之前创建的文件现在位于您的主文件夹中,则主文件夹必须是闪存驱动器,这样您就可以继续下一步。如果没有请给我评论。
步骤3:
这必须在每台运行的计算机上完成sudo gedit /etc/fstab。然后切换到出现的文本编辑器。(如果您使用的是 KDE,则应将 gedit 替换为 kate 或您使用的任何文本编辑器。然后将此行添加到文件底部,根据需要替换全部大写的部分。
/dev/sdXY /home/USER ext2 errors=remount-ro 0 1
Run Code Online (Sandbox Code Playgroud)
其中 XY 是您之前获得的设备,后跟 1(因此,如果它是 /dev/sdb,则写入 /dev/sdb1)
此时重新启动计算机,闪存驱动器应该已替换您的旧主文件夹,所有设置都保存到驱动器,并且驱动器上的所有文件都位于您的主文件夹中。您应该检查您的主文件夹中是否有“It Worked”文件以确定。
| 归档时间: |
|
| 查看次数: |
7244 次 |
| 最近记录: |