저는 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를 사용하는 경우 먼저 설치된 운영 체제의 파일 시스템을 마운트 지점에 마운트하라는 메시지가 나타날 수 있습니다. 그런 다음 마운트 지점 경로를 파일 경로 이름으로 접두어로 지정해야 합니다. 예를 들어 Kali를 마운트하는 경우 루트 파일 시스템을 로 변경하면 /mnt
손상된 파일의 전체 경로는 )이 됩니다 /mnt/usr/lib/locale/locale-archive
.
올바른 파일을 찾으면 이름을 다른 이름으로 바꿉니다(예: locale-archive.broken
). 이를 통해 Kali 설치가 부팅될 수 있습니다(엄격한 POSIX/미국 영어 현지화에도 불구하고).
시스템이 시작되어 실행되고 디스크 공간이 부족하지 않은지 확인한 후에는 이 locale-gen
명령을 사용하여 파일을 다시 생성 할 수 있습니다 locale-archive
.
이로 인해 문제가 다시 발생하면 locale-archive
Live CD를 사용하여 파일을 다시 삭제하거나 이름을 바꾼 다음 일반 운영 체제로 돌아가서 파일을 생성하는 데 사용된 소스 파일을 실행 apt reinstall locales
하고 apt reinstall util-linux-locales
새로 고친 다음 (이 파일도 손상되었을 수 있음) 다시 시도하십시오. .locale-archive
locale-gen