是否有一种简单安全的方法来备份和恢复整个 texlive 安装,例如在全新操作系统(重新)安装之前或放到另一台电脑(相同架构)上?
我的想法是简单地将我的整个 texlive 目录 (~/texlive) 复制 (rsync) 到我的外部硬盘,即连同我常用的主目录备份一起,然后在全新安装 Xubuntu 后将其复制回我的 (新) 主目录。据我所知,所有与 tex 相关的内容都在 ~/texlive 中。
但我不知道 tlmgr 是否有备份选项(针对整个 texlive 安装,而不仅仅是软件包),或者是否有更好的方法。我也不知道我的建议是否需要一些额外的操作,例如更新 tlmgr 之类的。
答案1
简短回答:在 Unix 上,复制整个texlive
目录是正确的方法备份和/或复制整个 TeX Live 安装并保证正常工作。在 Unix 上的 TeX Live 中,所有内容都位于texlive
目录中。
更多细节。如果您在安装过程中使用了“符号链接”选项,或者稍后使用安装了符号链接,tlmgr path add
那么您将需要在恢复文件后(可能在使用tlmgr option sys_bin
、sys_man
和设置目录后sys_info
)在新安装上运行此命令。
如果您的 中有任何东西~/texmf
,您显然也希望备份它。 中的内容~/.texlive2011/texmf-var
是生成的,您不需要备份它们。~/.texlive2011/texmf-config
另一方面, 中的文件保存配置信息(例如,如果您仅为使用updmap
(而不是updmap-sys
)的用户安装了字体映射),因此如果它存在,您可能希望备份它。当然,除非它是错误创建的(运行updmap
和fmtutil
而不是它们的-sys
变体是一个常见的错误),否则您需要在备份之前修复它。
最后,正如 nplatis 所说,如果你的新架构与旧架构不同,请安装新架构前您进行备份/复制。
答案2
我已成功复制了 TeXLive 安装,只需复制整个 texlive 文件夹(在我的情况下为 /usr/local/texlive)。我甚至还没有复制 ~/.texlive2011/ 文件夹,我相信它包含可以重新生成的内容。
顺便说一句,我还能够将 TeXLive 安装从 x86_64 机器复制到 x86 机器:在复制文件夹之前,我将 32 位架构添加到 texlive,然后将文件夹移动到新机器,最后我从两台机器中删除了不需要的架构。
答案3
这是我的做法,到目前为止工作——我不能肯定这是正确的,所以您的里程可能会有所不同。我在 Windows 系统中这样做;我想类似的东西也会在 Unix 系统上起作用;我不知道它是否也适用于 Windows <-> Unix,但怀疑任何尝试这样做的人都不应该在系统需要稳定的地方这样做。话虽如此,以下是:
第一台机器上的全新安装:
- 从 TexLive CD 安装
- 更新至
tlmgr
- 我安装一切。 由你决定。
这是现在的“主副本”
第二台及后续机器上的全新安装:
- 从 TexLive CD 安装
- 测试安装
- 将主副本镜像复制到此从副本(此操作相当于删除从副本的内容并复制整个主副本 -
rsync --delete
此处可能是一个有用的选项)。这是必需的,因为树中的内容偶尔会移动,并且您不希望留下旧版本。
这些现在是“奴隶副本”
主控维护:
只需使用 tlmgr 正常操作即可
奴隶的维护:
镜像复制如上所述。为了避免不明显,绝不对从属副本进行维护。
答案4
我通常将 TL 放在单独的分区上(/opt
就我而言),重新安装时,我只需让安装程序使用此分区,而/opt
不是重新格式化它。然后,在重新安装操作系统后,我通常必须编辑/etc/environment
(Ubuntu)并可能安装 TLequivs
包。我已经在我的上网本上这样做了几年,现在运行良好。