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が見つかりません[...]')を更新することが答えだと強く信じていますが、方法が見つからないようです。します。どうすればいいですか?

PS: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

おすすめ記事