有 SparkleShare 用户吗?我需要您的想法。SS 已经运行了 5 年,但现在不再如此。我在 Sparkle Share Git hub 上发起了一个问题 (https://github.com/hbons/SparkleShare/issues/1877),还没有答案。在我看来,SS 文档的重点是为新手提供的“万无一失”的设置。据我所知,针对 Linux 老手的详细文档是不存在的。
Ubuntu 18.10 带来了 sparkleshare 软件包的新版本 (3.28)。这是一个相当大的版本升级,我的旧设置不再有效。第一个麻烦的迹象是,在升级后的第一次重启时,Sparkle 程序忘记了我的共享的位置。Sparkle 配置面板打开,询问我是否要配置一些共享。我在那里所做的一切都没有用。服务器端没有任何变化,但新的 Sparkle 无法与其交互。
到目前为止,我尝试手动重新配置 Sparkle gui 中的共享以使用旧项目,并尝试编辑 projects.xml 以执行相同操作。但它无法与服务器通信。
我查看了一些细节。SS 配置目录从 ~/.config/sparkleshare 移至 ~/.config/org.sparkleshare.SparkleShare,配置文件也发生了变化。在之前的版本中,配置文件是 config.xml,但在新版本中它被命名为 projects.xml,尽管在我看来它们内部是相同的。
我仍然在 ~/Sparkleshare 下有项目存储库,我可以使用终端进入那里并手动运行 git push 和 git pull 来与服务器交互。这让我认为 ssh 密钥仍然没问题。
但是,无论我做什么,Sparkle 都无法与另一台计算机通信。
当 Sparkle 无法与其他系统交互时,它会显示我想要正确连接的路径,并询问我是否已将 ClientID 提供给其他主机系统。坦率地说,我不明白它想要什么。我已经确认 git ssh 密钥是好的。
我的 SparkleShare 主机/服务器是一个旧系统,自 2013 年以来一直运行良好。过去,我曾执行过一项重大任务,在该系统上设置 gitolite 和古老的 Gitlab,但从那时起,我就忘记了如何让这个东西正常工作。我可以向你保证,那个设置中没有“炫目”的东西。
我现在想知道 Sparkle Share 是否假设这两个系统使用的是同一版本的 Sparkle Share。
答案1
这是我了解到的情况。新的配置文件夹位于 ~/.config/org.sparkleshare.SparkleShare 下,文件名为“profile.xml”。
文件布局与旧的不同,它创建的 ssh 密钥位于 ssh 文件夹下。
无法手动修改配置,似乎需要运行 SparkleShare GUI 共享配置器。如果您尝试将 profile.xml 编辑为您认为在旧版本中需要的内容,GUI 将替换您的文件。我不知道它如何知道您正在试图欺骗它。
为了让 Sparkle 与主机服务器通信,您需要安装在另一个系统上自动创建为授权密钥的 ssh 密钥。根据其他系统的设置方式,这可能很容易,也可能很难。我的另一个系统是旧的 Gitlab/gitolite,很难以正确的格式将密钥放入 .ssh/authorized_keys 文件中。在我的系统上,必须将新密钥放入 /home/git/.ssh/authorized_keys 文件中(我的 gitolite 用户名为“git”)。您可以检查 authorized_keys 文件,查看旧条目的格式以使新条目生效。也许您的设置并不那么复杂,也许您使用了 dazzle 脚本,或者您有一个正在运行的 Gitlab 版本。
其次,请注意以下事项。在新程序中设置旧共享将导致将全新内容下载到新文件夹中。在旧的 ~/SparkleShare 目录中,Sparkle 将创建新的、外观不同的目录。新格式将在 ~/SparkleShare 下的顶层显示服务器名称。我的旧版本在 1 个服务器中有 2 个共享,目录名称为 ~/SparkleShare 下的“work”和“manuscripts”。在启动新框架后,Sparkle 创建了一个全新的目录“server.name.here”(当然,使用我的服务器名称),然后提取了存储库“work”和“manuscripts”的全新副本。文件占用的空间较小,因为这些文件的历史较少,我不知道为什么。
此后,我又有了 SparkleShare 的一个可用版本。根据我的经验,这个新程序同步速度稍慢。但它运行正常。