DNS 解析失敗,原因不明

DNS 解析失敗,原因不明

在 64 位元 kali linux 中安裝 jdk 8 時出現下列錯誤。

root@kali:~# apt-get install oracle-java8-installer 
Reading package lists... Done
Building dependency tree        
Reading state information... Done
oracle-java8-installer is already the newest version (8u111+8u111arm-1~webupd8~0).
The following packages were automatically installed and are no longer required:
  aapt android-libaapt android-libandroidfw android-libbacktrace android-libbase
  android-libcutils android-liblog android-libunwind android-libutils android-libziparchive
  fastjar fonts-dejavu-extra jarwrapper java-wrappers junit libadns1 libantlr-java
  libantlr3-runtime-java libapache-pom-java libatinject-jsr330-api-java libatk-wrapper-java
  libatk-wrapper-java-jni libcommons-cli-java libcommons-io-java libcommons-lang3-java
  libcommons-parent-java libcrypto++6 libguava-java libice-dev libjaxp1.3-java libjsr305-java
  libpthread-stubs0-dev libsm-dev libsmali-java libstringtemplate-java libx11-dev libx11-doc
  libxau-dev libxcb1-dev libxdmcp-dev libxmlunit-java libxpp3-java libxt-dev
  libyaml-snake-java python-adns python-easygui python-levenshtein python-metaconfig
  python-pycryptopp python-pysnmp4 python-pysnmp4-apps python-pysnmp4-mibs smitools
  x11proto-core-dev x11proto-input-dev x11proto-kb-dev xorg-sgml-doctools xtrans-dev
Use 'apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 1463 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
Setting up oracle-java8-installer (8u111+8u111arm-1~webupd8~0) ...
Using wget settings from /var/cache/oracle-jdk8-installer/wgetrc
Downloading Oracle Java 8...
--2016-12-16 21:05:09--  http://download.oracle.com/otn-pub/java/jdk/8u111-b14/jdk-8u111-linux-x64.tar.gz
Resolving false (false)... failed: Name or service not known.
wget: unable to resolve host address ‘false’
download failed
Oracle JDK 8 is NOT installed.
dpkg: error processing package oracle-java8-installer (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 oracle-java8-installer
E: Sub-process /usr/bin/dpkg returned an error code (1)

我對此進行了很多搜索,但無法弄清楚是什麼原因造成的。

如果我運行wget http://download.oracle.com/otn-pub/java/jdk/8u111-b14/jdk-8u111-linux-x64.tar.gz它工作正常。

且工作nslookup google.comping google.com不會出現錯誤。

我還刪除了文件中的所有內容,/var/cache/oracle-jdk8-installer/wgetrc但又出現了相同的問題。

請幫忙!

答案1

這是一個特殊的問題。

DNS 並沒有因為某種奇怪的原因而失敗,您的 DNS 運作正常。但是,您嘗試的套件似乎帶有損壞的安裝後腳本,該腳本將“false”作為主機名稱並將其傳遞給 wget,而不是預期的主機名稱。

從輸出可以很明顯看出:

--2016-12-16 21:05:09-- http://download.oracle.com/otn-pub/java/jdk/8u111-b14/jdk-8u111-linux-x64.tar.gz

解析錯誤(假)...失敗:名稱或服務未知。

wget:無法解析主機位址“假”

如果我想更深入地研究它,我會查看 /var/cache/oracle-jdk8-installer/wgetrc 看看那裡是否有損壞的東西,然後apt-get clean再試一次。

我建議您嘗試實現此結果 - 使用替代方法安裝 java,例如此處描述的http://www.2daygeek.com/install-oracle-java-using-java-alternatives-method-on-ubuntu-centos-debian-fedora-mint-rhel-opensuse/看看它是否適合你 - 也許這將是最快的。

答案2

在完成安裝後腳本後我已經解決了這個問題。問題出在/etc/apt/apt.conf.它被錯誤配置為Acquire::http::Proxy "false".這有效,apt但其他像這個腳本這樣的程式因此無法運作。我刪除了這一行,現在問題就消失了。

感謝@Nikolai 關於安裝後腳本的建議。

答案3

在 /var/cache/oracle-jdk8-installer/wgetrc 中新增「use_proxy=no」並重新嘗試以下指令: apt-get install oracle-java8-installer

對我來說,它有效。

相關內容