将 Debian 软件包安装到卡在专用网络上的设备上的正确方法是什么?

将 Debian 软件包安装到卡在专用网络上的设备上的正确方法是什么?

这是我的场景:

我想将 iptables 安装到位于无法访问互联网的专用网络上的嵌入式 Linux 设备上。我可以将我的 Windows PC 放置到该网络上,然后执行 SSH/FTP 操作。请注意,我无法将 Linux 设备移动到可以访问互联网的网络上。

这个基于 Debian 的嵌入式 Linux 设备应该能够运行 iptables,但是,我发现它安装起来很痛苦。我可以通过 FTP 获取 dpkg 的 .deb 文件,但是,我正在努力解决依赖关系链。

因此,我的设备无法访问互联网,并且访问设备的唯一方法是通过 SSH/FTP,安装 iptables 的最佳方法是什么?这是我能想到的:

  1. 使用某种“apt”功能,允许您将所有必需的包下载到压缩文件夹中。然后通过 FTP 传输所有依赖项。我不知道是否存在这样的事情。
  2. 找到所有依赖项都静态链接的 iptables 版本。通过 FTP 将其传输到 Linux 设备。
  3. 从设备上的源代码编译 iptables。

注意:该设备上也没有 nftables 实用程序。我不相信它有任何类型的本地防火墙守护程序。

答案1

尝试这个:

PACKAGES="iptables"; apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends ${PACKAGES} | grep "^\w")

请注意,有时依赖性可能非常大,尤其是对于图形程序。答案在这里找到:https://stackoverflow.com/questions/13756800/how-to-download-all-dependency-and-packages-to-directory

PS 变量 PACKAGES 可以包含多个包,以空格分隔,如下所示:

PACKAGES="package1 package2 package3 package4"

相关内容