笔记:这个问题与我的非常相似,但答案是
我建议您手动安装完整的 TeXLive(即不使用 Ubuntu 软件包),并将 Linux 和 Windows 二进制文件安装到共享驱动器。
我希望了解如何在 Windows 7/Ubuntu 14.04 安装上执行此操作的更多详细信息。
我有一台 Windows 7 系统,TeXLive 安装在 TEXDIR = C:/texlive/2014。
我现在想在 Ubuntu 上安装 TeXLive,使用现有的 Windows texlive 安装,无需重新下载软件包和重复的硬盘空间(当然,二进制文件之类的东西不会与 Windows 共享;这没问题。但我认为 Windows 和 Linux 之间的大多数软件包是相同的,因此不需要下载两次)。
我的 Windows C:驱动器安装/windows
在 Linux 端。
我跑了Linux 安装程序并将我的 TEXDIR 设置为指向/windows/texlive/2014
并验证其他目录都指向现有安装。
但是,当我继续安装时,似乎所有软件包文件都正在重新下载:我可以通过观看来验证这一点iftop
,而且我可以看软件包文件*.tar.xz
正在被下载到$TEXDIR/temp
。
目前,安装过程在下载阶段中止(我的网络不够稳定,无法下载,或者配额不够),所以我不确定这些软件包是否真的已安装两次,而不是下载然后安装程序说“哦,该包已经安装,我不会重新安装”。
那么,如果 Windows texlive 安装中已经存在软件包,我该如何告诉 texlive 不要重新下载/重新安装它们?
(或者在 Windows 和 Linux texlive 安装之间没有共享任何内容?我认为至少大多数软件包都是这样的)。
--no-depends-at-all
更新:查看了tlmgr
帮助:
通常,当您安装附带二进制文件的软件包时,相应的二进制软件包也会被安装。也就是说,对于软件包 foo,软件包 foo.i386-linux 也会安装在 i386-linux 系统上。...
所以看起来我想要的是撤销:我想安装,foo.i386-linux
但是不是 foo
(因为我已经有了它);这可能吗,或者我误解了包的工作原理(很有可能)?
答案1
如果您愿意进行一些实验,我建议您按如下步骤操作。免责声明:我没有双启动机器,几年前我就把 Windows 从我的笔记本电脑上踢掉了。
在 Windows 下安装 texlive 并测试。然后启动 Linux 并开始安装 texlive。几分钟后取消安装过程。现在,您有一个符合 TDS 的结构,但缺少内容。编辑:删除 /texlive/2014/texmf-dist/tex/latex 和 /texlive/2014/texmf-dist/doc 中的所有文件和文件夹(不是在您的 Windows 文件夹中,我只说的是 Linux 端!)。
然后建立两个链接:
- 链接从 .../texlive/2014/texmf-dist/tex/latex 到 C:/texlive/2014/texmf-dist/tex/latex
- 链接从 .../texlive/2014/texmf-dist/doc 到 C:/texlive/2014/texmf-dist/doc
我不知道是硬链接还是符号链接,但由于 Linux 具有此链接功能,我会检查这种可能性。也许这里有一些极客知道如何设置从 Linux 文件夹到其他地方的 NTFS 文件夹的链接。
为什么只有这两个链接?因为 LaTeX 包和文档占据了 texlive 的大部分内容。
好的。然后在 Linux 下重新启动安装。我希望 tlmgr 能接受指向 Windows 安装的链接,然后尝试安装每个软件包和文档,但发现它们已经在那里了。
最近我把所有 doc 和 latex 文件都转移到了另一台电脑上,并且那部分(开始安装、中止、转移、重新启动)都正常工作了。但我没有链接到 Windows 安装的经验。
当然,您必须安装 Linux 软件包才能写入 ntfs。如果安装程序尝试执行意外操作,您可能会破坏 Windows 上的 texlive 安装。但是如果您备份了它,为什么不尝试一下呢。