如何在 Freebsd 上安装 Tresorit 以使用 Linux 兼容
Posted
技术标签:
【中文标题】如何在 Freebsd 上安装 Tresorit 以使用 Linux 兼容【英文标题】:How to install Tresorit on Freebsd to use Linux compat 【发布时间】:2022-01-16 14:47:20 【问题描述】:经过编辑以使其更适合 ***:
我有一个二进制 shell 脚本,它充当 tarball 的自解压器。它最初是针对 Linux 的,但我试图在 FreeBSD 上运行它。适合我的主线是:
tail -n$SKIP "$0" | tar xz -C /path/to/install
我遇到了关于“无法打开 /dev/sda0”的错误,我通过将 tar 命令更改为 xzf -
以强制它从标准输入读取来解决该错误。但是,它现在抱怨“无法识别的存档格式”,这表明它无法确定二进制 tarball 的压缩格式。
我可以使用哪些技术来检查该标头并找出如何解压缩此二进制 blob? tail -n
在 BSD 和 Linux 之间的工作方式是否不同?
原问题:
我正在尝试在我的 FBSD13 机器上安装 Tresorit (https://tresorit.com/download/linux) 的 linux 安装程序。这是一个二进制 sh 脚本,其中前 92 行是 shell,其余的是某种压缩的 tarball。首先,我必须将我自己创建的uname
首先放在路径中,因为它正在检查uname -m
是x86_64 还是i686。 FBSD 返回 amd64。更改脚本会使它变得无用,因为它会检查自己的签名。无论如何,这很容易绕过。接下来它抱怨从标准输入读取压缩包时无法打开“/dev/sda0”。通过指定“-f -”来强制它从标准输入读取也很容易“修复”。
我一直在尝试执行安装行。是这样的:
tail -n92 tresorit_installer.run | tar xzf -
现在它抱怨“tar:打开存档时出错:无法识别的存档格式”。这令人沮丧。它必须是 gzip/bzip/xz 或类似的东西。如何确定压缩格式并进入下一步?
我相当肯定,如果我可以解压缩它,那么我可以安装程序并让 FBSD linux compat 工作。对下一步做什么有什么建议吗?
【问题讨论】:
SO 是一个错误的地方寻求此类问题的帮助。试试freebsd-ports
邮件列表、EFNet 上的#bsdports IRC 频道或我们的 Discord discord.gg/YPbXneca 你需要有人来解决这个问题。
【参考方案1】:
-n92
(或-92
,因为-n
是默认值)为您提供文件的最后 92 行。为了在第 93 行开始(跳过前 92 行),您需要一个加号:-n+93
。
这在 Linux 和 BSD 上是一样的。
【讨论】:
谢谢,这让我通过了这一步。原始问题包含一个转录错误,其中缺少“+”。我应该复制/粘贴但没有。无论如何,我现在有一个可以发送给上游供应商的补丁,这将使该产品能够成功安装在 FBSD 上。成功!以上是关于如何在 Freebsd 上安装 Tresorit 以使用 Linux 兼容的主要内容,如果未能解决你的问题,请参考以下文章