在没有互联网连接的计算机上安装 Java?

在没有互联网连接的计算机上安装 Java?

我有一个由 20 台计算机组成的网络(所有计算机都运行 Ubuntu 10.04 LTS),它们连接在一起形成一个网络。大多数计算机都放置在难以到达的地方。

我有一台中央机器,可以通过它自由地 ssh 到所有其他机器。这台中央机器是唯一连接到互联网的机器。

我现在需要在所有“远程”机器(未连接到互联网的机器)上安装 Java 1.6。

是否可以通过从“中央”机器内部访问它们并向它们提供 Java 1.6 安装文件(或以其他方式?)我该怎么做?

答案1

下载 zip

您始终可以从 Oracle 下载存档的 JDK。可以将其移动到适当的位置,然后从那里提取。

Java 不需要太多设置。在配置文件中设置 JAVA_HOME 是个好主意,并将 JDK/bin - 目录放入路径中。但是...

  • 如果已经安装了 OpenJDK 或 Java-1.5,情况会更复杂。/etc/alternatives 中通常有很多 Java 链接 - 请查看。

中央机器作为储存库

我不知道是否可以使用中央 PC 作为代理。在那里安装 JDK,并告诉其他机器将其用作源。搜索关键字:存储库、apt-get、代理。

子选项/变体:

将下载的 .dep 文件复制到客户端,然后进行dpkg -i xy.deb安装。

网络巫毒

您可以使用一些命令,将其放入脚本中,以将中央机器用作路由器,从客户端访问互联网。您还需要在客户端上使用 2 个命令。然后,您可以从客户端使用 apt-get 访问互联网。

我自己不了解这些脚本 - 只能根据自己的需要采用它们。:) 这是我的“gateway.sh”脚本,将在路由器上使用 sudo 运行:

#!/bin/bash
# test if ip-forward is up - if not, enable it:
#
# maybe the network card has no IPv4 adress? Use a static IP:
# if you have a static, well known IP, comment this out:
ifconfig eth0 192.168.32.8 up 
#
# Tell the kernel to do ip-forwarding:
#
ipf=$(cat /proc/sys/net/ipv4/ip_forward)
if [[ ipf -eq "0" ]] ; then 
    echo "1" > /proc/sys/net/ipv4/ip_forward
fi
#
# forward-masquerade, script follows:
#
. /etc/ppp/masquerade
#
# might or might not be needed. 
# start dhcp-server, older method:
# /etc/init.d/dhcp3-server start
# newer method:
# /etc/init.d/dhcdbd start

然后您需要 ip-masquerade-script,您不需要将其放在 /etc/ppp/masqeuerade 中,但是如果您不这样做,请更改 gateway.sh 中的行。

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
#
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
#
iptables -A FORWARD -p tcp --tcp-flags SYN,RST, SYN -j TCPMSS --clamp-mss-to-pmtu

只需几行。现在您可以启动sudo gateway.sh并等待客户端。这些不会做太多事情:

 sudo route add default gw 192.168.32.8 

无论中央机器的 IP 是什么。这可能已经足够了。也许你会修改 DNS 服务器,让你的 ISP 之一的 DNS 位于其中:

 sudo edit /etc/resolv.conf 

正在运行的 avahi-daemon 和 NetworkManager 可能会主要干扰客户端。

结论:

对于第三种和第一种方法,我知道如何准确地做到这一点,但最优雅的方法可能是第二种,但我自己从来没有这样做过。所以我建议你搜索一下,或者等一会儿,也许有人知道怎么做,或者如何做得更好。

答案2

您可以设置一个 apt 代理。如果您在 Synaptic 中搜索apt proxy,您会找到几个选项。过去,我使用过 apt-cacher 或 apt-cacher-ng;我不记得是哪一个了。

apt 代理应使您的“远程”机器能够像连接到互联网一样使用 apt。而且,您只需使用带宽下载一次特定软件包。

答案3

如何将中央机器设置为 NFS 服务器,并将 JDK 更新文件放在那里,并将该目录安装到内联网上的其他机器上?

相关内容