Debian Jessie에서 작업하면서 Debian 불안정 저장소를 활성화했습니다(테스트한 것과 동일한 문제). cmake를 설치한 후 오류가 보고됩니다.
[...]
dpkg: error while cleaning up:
subprocess rm command for cleanup was killed by signal (Aborted)
dpkg-split: loadlocale.c:129: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.
[...]
그 후에는 대부분의 명령(sudo 포함)에서 자체 오류가 발생하므로 명령줄을 사용하는 것이 거의 불가능합니다.
>$ ls
ls: loadlocale.c:129: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.
Aborted
머신을 종료하지 않고 이 오류를 복구하려면 어떻게 해야 합니까?
또한 이것은 loadlocale.c의 버그입니까? 분명히 비슷한 문제가 어디에서나 발생합니다.
https://github.com/junegunn/fzf/issues/356
https://www.reddit.com/r/archlinux/comments/3g9dzf/loadlocalec130_error_on_everything/
https://patchwork.openembedded.org/patch/114739/
답변1
다음 게시물 덕분에 해결책을 찾았습니다.
https://stackoverflow.com/questions/37121895/yocto-build-loadlocale-c-130
로케일을 설정할 수 없습니다. $LC_* 및 $LANG이 올바른지 확인하세요!
그러나 이 문제를 어디에서 탓해야 할지 아직도 모르겠습니다.
먼저, 사용 가능한 명령줄을 얻으려면 다음을 $LANG
정의해야 합니다.
>$ LANG=/usr/lib/locale/en_US
(설정이 LANG=en_US
적용되지 않습니다. 경로가 필요합니다!)
그러면 명령줄이 다시 작동합니다. 루트로서 locale.gen
시스템에서 사용하려는 모든 로케일을 편집하고 주석 처리를 제거하십시오.
>$ sudo vim /etc/locale.gen
이제 locale-gen
루트로 실행하면 시스템이 복구됩니다.
참고: dpkg-reconfigure locales
오류도 발생하므로 작동하지 않습니다.
이 문제를 방지하려면 cmake
업그레이드하기 전에 제거(설치된 경우)하고 사용하십시오 apt-get upgrade
. 구체적으로 어떤 패키지를 업그레이드해야 하는지 알 수 없습니다.
업그레이드하면 충분하다고 생각했지만 (또는 관련 패키지) Borken 패키지 오류가 발생하기 locales
때문에 작동하지 않습니다 .apt-get upgrade locales
>$ sudo apt-get upgrade locales
[...]
The following packages have unmet dependencies:
libc-dev-bin : Depends: libc6 (< 2.20) but 2.27-3 is to be installed
Recommends: manpages-dev but it is not going to be installed
libc6-dev : Depends: libc6 (= 2.19-18+deb8u10) but 2.27-3 is to be installed
E: Broken packages
관련 패키지가 있다고 생각하지만 console-data
(전체 업그레이드 중에 어떤 키보드 레이아웃을 사용할지 친절하게 묻기 때문에) 업그레이드하면 업그레이드 당시와 동일한 패키지가 업그레이드됩니다 console-data
.apt-get upgrade