如果我想在以前从未使用过的 Linux 机器上使用一些设置,如何快速设置它们?
我已经有了 .vimrc 和 tmux,当我跳到新机器上时,有没有办法轻松地搬运这些东西?
如果配置文件的软件尚未安装,假设我有权安装它,是否有一个工具可以做到这一点并加载我的配置文件?
答案1
柏油
如何执行此操作有多种可能性。我从很久以前就看到人们使用的一种常见方法是构建一个包含tar
所有配置的脚本;然后他们只需下载tar
文件并解压即可。它可能涉及一个名为myconf
以下内容的文件:
.vimrc
.bashrc
.profile
.xinitrc
.vifm
.xmonad
然后你跑
tar -czvf myconf.tgz -T myconf
在另一台机器上下载并解压。
这种方法的问题始终是文件的完整性。例如:您在机器 A 上工作并在那里创建了.vimrc
,接下来您在机器 B(您将配置复制到其中)上工作并更新了.vimrc
。当你回到机器 A 时,你需要从机器 B 复制配置。一旦涉及到几十台机器,就会出现混乱。
网络文件系统
我也看到 NFS 安装用于此目的。要么保存整个/home
目录,要么保存用户创建软链接的配置文件。
NFS 挂载比tar
读取和复制内容要好得多,但也有其自身的问题:如果您需要在没有 root 访问权限的计算机上工作,则挂载不是一个选择。此外,通过互联网创建 NFS 挂载可能会很慢。
github(或bitbucket,或gitlab)
这是我最喜欢的。自从免费且易于获取的源代码存储库出现以来,人们不断寻找使用VCS
s 的新方法。您可以使用代码版本控制系统作为配置文件的持有者。
在您使用的计算机上构建一个存储库,保存您的配置脚本和git clone
(或hg
,或,您最喜欢的任何内容)。svn
您可以在更新配置时提交并推送回存储库,并在切换到其他计算机时将其同步到其他计算机上。
另一方面,这个选项也有其自身的一系列问题:
不要直接在主目录中创建源代码存储库,有些
VCS
人不喜欢在其他源代码树中包含源代码树。在您的主目录中创建一个额外的目录来保存存储库(一个好的名称可能是myconf
或rc
),并软链接您需要的文件(例如ln -s rc/.vimrc ~/.vimrc
)。切勿将 API 密钥或其他应保密的数据提交到公共源存储库中。如果您推送类似 API 密钥的内容,Github 会向您发送电子邮件警告,这可能是衡量 github 存储库上发生这种情况的频率的一个很好的衡量标准。
答案2
我的建议是将您的配置放在闪存驱动器、远程服务器或远程存储库上(GitHub 总是很好)。这样就可以快速插入,scp
或git
远离您需要的地方。
另一种选择是随身携带永久可启动闪存驱动器。当硬件可用时,您的设置和配置只需一启动即可完成。
除此之外,无法在您以前从未使用过的计算机上使用您的自定义设置。你必须自己把它们移到那里。
答案3
从长远来看,我建议您考虑建立自己的点文件您保留在版本控制下的目录并备份到 GitLab/BitBucket/GitHub。这样,就像从新机器上的存储库克隆一样简单。