【问题标题】:sshfs EBCDIC to ASCIIsshfs EBCDIC 转 ASCII
【发布时间】:2010-10-17 07:01:42
【问题描述】:

我想要做的是能够通过 sshfs 在我的本地 PC 上通过 USS 在大型机上挂载一些文件。我可以这样做,但 sshfs 不会直接从 EBCDIC 转换为 ascii/unicode。有没有我可以设置的标志。

另外,有没有人知道一个库可以将 EBCDIC 转换为 ASCII 以便我可以添加到 SSHFS?

干杯

标记

【问题讨论】:

  • o_O EBCDIC 还在使用吗?超过保险丝/sshfs?哇...
  • @Brian,EBCDIC 仍在 System z(big honkin' IBM 大型机)上使用,并且它们仍然在很多中使用。 USS 是 UNIX for z,它使用 EBCDIC(许多软件包无法编译,因为它们假定为 ASCII)——zLinux 是要走的路,RHEL/SLES 在大型机上运行(我们的测试中有 10,000 个实例)。

标签: ssh ascii fuse ebcdic sshfs


【解决方案1】:

我知道距离最初的问题已经过去了很多时间,但我会在此处留下信息:
我为 sshfs 编写了一个补丁,它添加了 ASCII 和 EBCDIC 之间的自动转换。可以在这里找到:https://github.com/vadimshchukin/sshfs-ebcdic

该补丁添加了“-t”命令行选项,该选项为应转换的文件定义正则表达式。例如sshfs -t".*" 定义所有文件的转换。

我不得不“硬编码”转换表,因为 EBCDIC 有各种“风格”,并且 iconv 没有根据需要在我的系统上将 ASCII 之间的文本转换为 EBCDIC。这里的好处是有人可以根据需要轻松更改该翻译表。

顺便说一句,我为 win-sshfs 编写了相同的补丁。

【讨论】:

    【解决方案2】:

    请注意,尽管透明字符集转换是一种非常危险的游戏。您绝对确定您将永远通过 SSHFS 读取除 EBCDIC 文件之外的任何内容?如果有二进制数据呢?

    过去有些系统使用透明转换:

    • FTP 臭名昭著的“ASCII 模式”,它搞砸了许多二进制下载
    • Linux 中的 vfat 文件系统,其中指出:“执行计算 lseek 的程序不喜欢内核文本转换。有几个人的数据被这种翻译破坏了。小心!”

    所以我强烈建议你注意后果。

    为什么不使用可以处理 EBCDIC 的编辑器?例如 Vim可以做到(如果编译进去的话)。

    【讨论】:

      【解决方案3】:

      有几个用于字符集转换的库——我想到了 iconv(通常是 C 库的一部分;参见例如 iconv_open)和 GNU recode

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多