Fedora
在容器內執行“重新編碼”時出錯
我正在執行一個 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'
什麼可能導致此錯誤?
請注意,當我
recode
在我的 Fedora 36 系統(沒有容器)中執行時,我沒有收到任何錯誤。此外,如果我使用 Ubuntu 映像,我也不會收到錯誤消息。
共享庫*/usr/lib64/gconv/CP1251.so*提供了編碼 CP1251 的功能。
$ 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.so*由 RPM 包glibc-gconv-extra提供。
執行後
dnf install -y recode glibc-gconv-extra
它似乎工作[root@ea7d9d4dd16b /]# touch deleteme.txt [root@ea7d9d4dd16b /]# recode windows1251..utf8 deleteme.txt [root@ea7d9d4dd16b /]#