
저는 VMware에서 Kali를 실행하고 있습니다. Kali를 업그레이드했는데 재부팅한 후 로그인할 수 없습니다. 다시 시작하면 tty1 을 통해 자동으로 로그인되고 다음 오류가 발생합니다.
uname : loadlocale.c:129 : _nl_inter_locale_data : Asserting 'cnt<(sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed
/bin/uname failed caught signal 6
복구 모드로 로그인을 시도했는데 동일한 실패 오류가 발생했습니다.
intel_rapl: no valid rapl domains found in package 0
echo: loadlocale.c : 129: _nl_inter_locale_data : Asserting 'cnt<(sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed
이 문제에 대한 몇 가지 해결책을 보았지만 모두 명령 프롬프트에서 실행됩니다. 로그인 창에서 'e'를 사용하여 로그인 명령을 편집하여 접근을 시도했지만 동일한 실패 메시지를 받았습니다. 로그인 시 'c'를 사용하여 GNU GRUB 명령줄에서 동일한 명령을 실행해 보았지만 아무것도 작동하지 않는 것 같습니다. 지금은 어떤 유청에서도 로그인할 수 없거나 명령 프롬프트에 접근할 수 없습니다
답변1
로케일 데이터 파일(= 날짜 및 시간 형식을 정의하는 파일, 명령 메시지 번역 등)이 어떻게든 손상된 것 같습니다.
이러한 파일은 거의 모든 명령에서 사용되기 때문에 대부분의 명령은 유사한 오류 메시지를 생성합니다. 해당 파일을 사용하는 국제화 라이브러리는 아마도 표준 POSIX 형식과 미국 영어 메시지로 대체하여 로케일 파일 부족을 처리할 것입니다.손상된로케일 파일로 인해 라이브러리가 실패하여 유용한 작업을 수행하지 않고 명령이 충돌하게 됩니다.
일부 Linux Live CD 또는 유사한 부팅 미디어를 사용하여 시스템에 액세스해 볼 수 있습니다. Kali 설치의 파일 시스템에 액세스한 후에는 파일을 찾아야 합니다 /usr/lib/locale/locale-archive
.
(Live CD를 사용하는 경우 설치된 OS의 파일 시스템을 먼저 일부 마운트 지점에 마운트해야 할 수 있으며 그런 다음 마운트 지점 경로 앞에 파일 경로 이름을 붙여야 합니다. 예를 들어 Kali 루트를 마운트하는 경우 파일 시스템을 로 변경하면 /mnt
손상된 파일의 전체 경로는 가 됩니다 /mnt/usr/lib/locale/locale-archive
.)
올바른 파일을 찾으면 이름을 다른 이름으로 바꿉니다(예: locale-archive.broken
). 이렇게 하면 Kali 설치가 부팅될 수 있습니다(비록 엄격한 POSIX/미국 영어 현지화 사용 가능).
시스템을 시작하고 실행하고 디스크 공간이 부족하지 않은지 확인한 후에는 명령을 사용하여 파일을 locale-gen
다시 생성 할 수 있습니다 locale-archive
.
문제가 다시 발생하는 경우 locale-archive
Live CD를 사용하여 파일을 다시 삭제하거나 이름을 바꾼 다음 일반 OS로 돌아가 파일 을 생성하는 데 사용된 소스 파일을 실행 apt reinstall locales
하고 새로 고칩니다 (해당 소스 파일도 손상될 수 있음). 을 선택한 후 다시 시도하세요.apt reinstall util-linux-locales
locale-archive
locale-gen