kali linux(debian 기반)에서 libc(glibc)를 업데이트하는 방법은 무엇입니까?

kali linux(debian 기반)에서 libc(glibc)를 업데이트하는 방법은 무엇입니까?

armitage를 실행하려고 하면 다음 오류가 발생합니다. 또한 일부 패키지를 설치하거나 일부 소프트웨어를 실행하려고 하면 오류가 발생합니다.

root@Xeno:~# armitage
Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/xawt/libmawt.so: /lib/i386-linux-gnu/i686/cmov/libc.so.6: version `GLIBC_2.16' not found (required by /usr/lib/i386-linux-gnu/libkrb5.so.3)
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1851)
    at java.lang.Runtime.load0(Runtime.java:795)
    at java.lang.System.load(System.java:1062)
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1872)
    at java.lang.Runtime.loadLibrary0(Runtime.java:849)
    at java.lang.System.loadLibrary(System.java:1088)
    at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:67)
    at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:47)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Toolkit.loadLibraries(Toolkit.java:1657)
    at java.awt.Toolkit.<clinit>(Toolkit.java:1686)
    at java.awt.Component.<clinit>(Component.java:595)
    at armitage.ArmitageMain.main(ArmitageMain.java:199)

notepadqq에 필요한 저장소를 추가하려고 하면 오류 로그가 나타납니다.

root@Xeno:~# sudo add-apt-repository ppa:notepadqq-team/notepadqq
Traceback (most recent call last):
  File "/usr/bin/add-apt-repository", line 8, in <module>
    from softwareproperties.SoftwareProperties import SoftwareProperties
  File "/usr/lib/python2.7/dist-packages/softwareproperties/SoftwareProperties.py", line 53, in <module>
    from ppa import AddPPASigningKeyThread, expand_ppa_line
  File "/usr/lib/python2.7/dist-packages/softwareproperties/ppa.py", line 27, in <module>
    import pycurl
ImportError: /lib/i386-linux-gnu/i686/cmov/libc.so.6: version `GLIBC_2.16' not found (required by /usr/lib/i386-linux-gnu/libkrb5.so.3)

다음은 패키지(libc, 업데이트하는 데 문제가 있음)를 설치하려는 예입니다.

root@Xeno:~# sudo apt-get install libc6
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 libc-dev-bin : Depends: libc6 (< 2.14)
 libc6-dev : Depends: libc6 (= 2.13-38+deb7u8)
 libc6-i686 : PreDepends: libc6 (= 2.13-38+deb7u8)
 locales : Depends: libc-bin (> 2.19) but 2.13-38+deb7u8 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

이것은 내 libc 버전입니다: root@Xeno:~# dpkg-query -l libc6

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name              Version       Architecture  Description
+++-=================-=============-=============-=======================================
ii  libc6:i386        2.13-38+deb7u i386          Embedded GNU C Library: Shared librarie

이제 결론은 armitage를 다시 실행하고 패키지를 다시 설치할 수 있기를 원한다는 것입니다. 나는 libc(glibc) 버전(버전 2.16 '[...]버전 `GLIBC_2.16 찾을 수 없음[...]')을 업데이트하는 것이 답이라고 강력하게 믿고 있지만, 방법을 찾을 수 없는 것 같습니다. 해. 어떻게 해야 하나요?

추신: source.list 파일에 중복된 항목이 있다는 것을 알고 있지만 문제가 되지는 않습니다.

Gilles가 제안한 대로 apt-get dist-upgrate를 실행해 보았더니 다음 로그가 반환되었습니다.

root@Xeno:~# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 libkrb5-3 : Depends: libc6 (>= 2.16)
 libtirpc1 : Depends: libc6 (>= 2.16)
 locales : Depends: libc-bin (> 2.19) but 2.13-38+deb7u8 is installed
E: Unmet dependencies. Try using -f.

Sources.list 파일 내용:

 ## Regular repositories
    deb http://http.kali.org/kali kali main non-free contrib
    deb http://security.kali.org/kali-security kali/updates main contrib non-free
    deb http://http.kali.org/ /kali main contrib non-free
    deb http://http.kali.org/kali debian-wheezy main contrib non-free
    ##deb http://http.kali.org/kali kali-dev main contrib non-free
    ##deb http://http.kali.org/kali kali-dev main/debian-installer
    deb http://http.kali.org/kali kali main contrib non-free
    deb http://http.kali.org/kali kali main/debian-installer
    ## Source repositories
    deb-src http://http.kali.org/kali kali main non-free contrib
    deb-src http://security.kali.org/kali-security kali/updates main contrib non-free
    ##deb-src http://http.kali.org/kali kali-dev main contrib non-free
    deb-src http://http.kali.org/kali kali main contrib non-free

답변1

libc를 업그레이드하는 것은 권장되지 않습니다. 결국에는 다른 많은 패키지를 업그레이드하게 됩니다. 충족되지 않은 종속성에 대한 메시지는 다음과 같습니다. libc를 업그레이드하면 다른 패키지도 업그레이드해야 합니다.

이러한 다른 패키지가 업그레이드되지 않는 이유는 해당 패키지를 실행하는 것을 잊었 거나 명시적인 요청에 의해서만 특정 최신 패키지를 설치할 수 있도록 apt-get update기본 설정이 있기 때문입니다 ./etc/apt/preferences/etc/apt/preferenced.d/*

당신이 해야 할 일은 전체 배포판을 업그레이드하는 것입니다. Kali Linux에는 현재 Glibc 2.19가 있습니다. 소스가 합법적인지 확인하고, 패키지를 다운로드하고 압축을 풀면서 실행하고 apt-get update, 걷고 , 산책하십시오.apt-get dist-upgrade

관련 정보