2017-10-26 2 views
0

가,이 명령이 실행되었다 : 설치하는 동안우분투에서 손상된 glibc를 복구하는 방법은 무엇입니까? 작동 우분투 16.04 시스템에서

$ wget https://ftp.gnu.org/gnu/libc/glibc-2.26.tar.gz 
$ tar -xvzf glibc-2.26.tar.gz 
$ mkdir build_gcc && cd build_gcc 
$ ../glibc-2.26/configure --prefix=/usr 
$ make 
$ sudo checkinstall 

, 오류가 생성 : 그 후

Makefile:106: recipe for target 'install-symbolic-link' failed 

아닌 하나의 명령은 분할의 결과로, 실행 할 수 있었다 결점.

명백히 glibc은 손상된/유효하지 않은 바이너리로 덮어 씁니다. 이제 라이브 우분투 플래시에서 부팅하고 libc6을 다시 설치하여 시스템을 복구하려고합니다.

  1. 다운 그레이드 libc6 내 다시 업그레이드 :이 attemtps이 만들어졌다

    $ sudo apt-get -o Dir=<partition_path> install libc6=2.23-0ubuntu3 
    $ sudo apt-get -o Dir=<partition_path> install libc6 
    

    이 도움이되지 않았다,는 segfault의 파티션 결과에 chroot를하려고 같이

    $ chroot <partition_path> 
    
  2. 사용 apt-get -o RootDir :

    $ sudo apt-get -o RootDir=<partition_path> install libc6=2.23-0ubuntu3 
    … 
    Chrooting into <partition_path> 
    E: Sub-process /usr/sbin/dpkg-preconfigure —apt || true received a segmentation fault 
    E: Failure running script /usr/sbin/dpkg-preconfigure —apt || true 
    

    손상된 환경으로 밀려 들어가기도 했으므로 실패했습니다.

시스템을 복구하려면 어떻게해야합니까?

+0

틀린 장소. 대신에 [우분투 .se] 또는 [su]를 찾고 있습니다. 이 사이트는 일반적인 컴퓨터 또는 OS 지원이 아닌 프로그래밍 관련 질문 용 사이트입니다. –

답변

1

사용 apt-get download libc6 그것을 "설치"하기 위해 다음

dpkg -x libc6*.dpkg /partition_path 

, 패키지를 얻을 수 있습니다.

귀하의 주장 "당연히, glibc가 손상된/잘못된 바이너리로 덮어 씌여 졌을 가능성이 있습니다"잘못된 것 같습니다. 아마도 libc.so.6에는 새 비트가 있고, ld-linux.so에는 없거나 그 반대 일 수 있습니다. 그들은 항상과 일치해야합니다.

관련 문제