Eu estava apenas lutando com isso, aqui estão as minhas descobertas para o Ubuntu 14.04 Trusty Tahr.
O instalador usa apt-config
para determinar qual proxy usar. Especificamente se Acquire::http::Proxy::download.oracle.com
retornar DIRECT
para determinar se deve usar o proxy padrão para fazer o download diretamente.
Especificamente, a instalação é executada
# use apt proxy
APT_PROXIES=$(apt-config shell \
http_proxy Acquire::http::Proxy \
https_proxy Acquire::https::Proxy \
ftp_proxy Acquire::ftp::Proxy \
dl_direct Acquire::http::Proxy::download.oracle.com \
)
e mais tarde
if [ "$dl_direct" = "DIRECT" ]; then
unset http_proxy
unset https_proxy
unset ftp_proxy
fi
Se você usar a seguinte configuração apt, o instalador fará o download diretamente:
Acquire::http::Proxy "http://my.proxy.com:3142";
Acquire::http::Proxy {
download.oracle.com DIRECT;
};
Embora isso funcione, é um pouco irritante, já que o download leva uma eternidade e, de certa forma, anula o propósito do proxy.
Descobri que o instalador verifica uma variável debconf
para verificar se deve usar um arquivo local. A propriedade marcada é oracle-java8-installer/local
e é string
.
Especificamente, o instalador é executado:
db_get oracle-java8-installer/local
if [ -d "$RET" -a -f "$RET"/$FILENAME ]; then
echo "Installing from local file $RET/$FILENAME"
cp -f -p "$RET"/$FILENAME ${FILENAME}_TEMP
mv -f ${FILENAME}_TEMP $FILENAME
else # no local file
Portanto, se você tiver o JDK baixado e em um diretório /jdk/dir
, será necessário executar o seguinte comando antes de executar o instalador:
sudo debconf-set-selections <<< 'debconf oracle-java8-installer/local string /jdk/dir/'
Observe o /
no diretório - isso é necessário.