2009-04-03 3 views
2

내가하고 싶은 일은 내 로컬 PC의 USS를 통해 메인 프레임의 일부 파일을 sshfs를 통해 마운트 할 수 있습니다. 나는 그렇게 할 수 있지만 sshfs doesnt는 EBCDIC에서 ascii/unicode 로의 변환을 중단한다. 내가 설정할 수있는 플래그가 있습니까?sshfs EBCDIC to ASCII

대체로, 누구든지 SSHFS에 추가 할 수 있도록 EBCDIC에서 ASCII 변환까지하는 라이브러리를 알고 있습니까?

건배

마크

+2

o_O EBCDIC가 아직 사용되고 있습니까? 퓨즈/sshfs 이상? 와우 ... –

+0

@Brian, EBCDIC은 여전히 ​​System z (큰 honkin 'IBM 메인 프레임)에서 사용 중이며 여전히 * 많이 사용됩니다. 그리고 USS는 EBCDIC를 사용하는 UNIX for z입니다. zLinux는 메인 프레임에서 실행되는 RHEL/SLES (테스트에서 10,000 인스턴스)입니다. – paxdiablo

답변

4

투명한 charset 변환은 매우 위험한 게임 임에 유의하십시오. 절대은 SSHFS를 통해 EBCDIC 파일을 읽지 않을 것입니까? 바이너리 데이터가 있다면 어떨까요?

  • 악명 높은 "ASCII 모드"FTP, 많은 바이너리 다운로드
  • 노트 리눅스에서 VFAT 파일 시스템, 엉망 : "할 프로그램을

    일부 시스템은 과거에 투명 변환을 사용 계산 된 lseeks는 커널 내 텍스트 변환을 좋아하지 않을 것입니다. 몇몇 사람들은이 번역에 의해 데이터를 망가 뜨 렸습니다.

그래서 그 결과를 알고 싶습니다.

EBCDIC을 처리 할 수있는 편집기를 사용하지 않는 이유는 무엇입니까? 예를 들어. 그것을 할 수 있습니다 (컴파일 된 경우).

1

여러 문자 집합 변환을위한 라이브러리가있다 - (당신의 C 라이브러리의 정상 부분, 예를 iconv_open 참조)의 iconv 마음에 와서 GNU recode가.

1

원래 질문 이후로 많은 시간이 지났으나 여기서 정보를 남겨 둘 것입니다 :
ASCII와 EBCDIC 사이의 자동 변환을 추가하는 sshfs 용 패치를 작성했습니다. https://github.com/vadimshchukin/sshfs-ebcdic

이 패치는 변환해야 할 파일에 대해 정규 표현식을 정의하는 "-t"명령 행 옵션을 추가합니다. 예를 들어 sshfs -t".*" 은 모든 파일에 대한 변환을 정의합니다.

EBCDIC의 다양한 "맛"이 있기 때문에 변환 테이블을 "하드 코딩"해야했으며 iconv는 필요에 따라 시스템에서 EBCDIC으로 ASCII 사이의 텍스트를 변환하지 않았습니다. 이점은 누군가가 필요에 따라 쉽게 해당 변환 테이블을 변경할 수 있다는 것입니다.

그런데 win-sshfs 용으로 동일한 패치를 작성했습니다.

관련 문제