컨테이너 내에서 'recode'를 실행하는 중 오류가 발생했습니다.

컨테이너 내에서 'recode'를 실행하는 중 오류가 발생했습니다.

저는 Fedora 컨테이너를 실행하고 있습니다.

podman run -it registry.fedoraproject.org/fedora:36

이 컨테이너 안에 먼저 다음을 설치합니다 recode.

[root@388e917ba8ce /]# sudo dnf install recode

그런 다음 실행하려고 하면 recode다음 오류가 발생합니다.

[root@388e917ba8ce /]# touch deleteme.txt
[root@388e917ba8ce /]# recode windows1251..utf8 deleteme.txt
recode: /deleteme.txt failed: System detected problem in step `CP1251..UTF-8'

이 오류의 원인은 무엇입니까?

Fedora 36 시스템(컨테이너 없이)에서 실행 하면 recode오류가 발생하지 않습니다. 또한 Ubuntu 이미지를 사용하면 오류가 발생하지 않습니다.

답변1

공유 라이브러리/usr/lib64/gconv/CP1251.soCP1251 인코딩 기능을 제공합니다.

$ podman run -it registry.fedoraproject.org/fedora:36
[root@ea7d9d4dd16b /]# dnf provides /usr/lib64/gconv/CP1251.so
Fedora 36 - x86_64                                                                                                                                                           17 MB/s |  81 MB     00:04    
Fedora 36 openh264 (From Cisco) - x86_64                                                                                                                                    3.5 kB/s | 2.5 kB     00:00    
Fedora Modular 36 - x86_64                                                                                                                                                  2.0 MB/s | 2.4 MB     00:01    
Fedora 36 - x86_64 - Updates                                                                                                                                                 11 MB/s |  19 MB     00:01    
Fedora Modular 36 - x86_64 - Updates                                                                                                                                        1.8 MB/s | 2.2 MB     00:01    
glibc-gconv-extra-2.35-4.fc36.x86_64 : All iconv converter modules for glibc.
Repo        : fedora
Matched from:
Filename    : /usr/lib64/gconv/CP1251.so

glibc-gconv-extra-2.35-11.fc36.x86_64 : All iconv converter modules for glibc.
Repo        : updates
Matched from:
Filename    : /usr/lib64/gconv/CP1251.so

[root@ea7d9d4dd16b /]# 

문서/usr/lib64/gconv/CP1251.soRPM 패키지에서 제공glibc-gconv-추가.

실행 후 dnf install -y recode glibc-gconv-extra작동하는 것 같습니다

[root@ea7d9d4dd16b /]# touch deleteme.txt
[root@ea7d9d4dd16b /]# recode windows1251..utf8 deleteme.txt
[root@ea7d9d4dd16b /]#

관련 정보