【问题标题】:Ubuntu Linux - Install Packages from Local RepositoryUbuntu Linux - 从本地存储库安装软件包
【发布时间】:2018-02-07 20:14:34
【问题描述】:

我们(我的工作场所)有一个基于 NVIDIA TK1 的嵌入式产品,该产品运行用于 ARM 的定制版本的 Ubuntu。作为我们产品设置例程的一部分,我们有一个自定义脚本,它可以从 Web 下载大量包和档案,提取并安装它们。

理想情况下,我们希望将这些包和存档预下载到“本地”存储库中,以便我们的产品使用与我们的应用程序一起使用的已知版本。软件包的自动更新被禁用,最终产品无论如何都很少能够访问互联网,我们只想确保所使用的软件包版本对于每个发货的产品都保持相同。

例如,以下是更新脚本的部分内容:

sudo apt-get install -y linux-firmware
sudo apt-get install -y '.*libxcb.*' libxrender-dev libxi-dev libfontconfig1-dev libudev-dev libx11-dev libx11-xcb-dev libext-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
sudo apt-get install -y gcc-4.9 g++-4.9
sudo apt-get install -y ros-indigo-desktop
# This one is shortened as its a long URL
wget cuda-repo-l4t-r21.1-6-5-prod_6.5-14_armhf.deb
sudo dpk -i cuda-repo-l4t-r21.1-6-5-prod_6.5-14_armhf.deb 

显然,大量的软件包会有很多依赖项,所以如果有办法将所有必需的软件包和所有必需的依赖项下载到本地软件包存储库并更改我的脚本以便从那里安装它们,那将理想。

我不确定哪种方式是解决这个问题的最佳方式。

我曾建议将所有软件包安装到基础产品上,然后“克隆”文件系统并将其推送到其他模块,但我真的不知道这样做的利弊。

更新

好的,所以我在/var/cache/apt/archives/ 文件夹中发现了大量的包,这些包似乎都与从我们的脚本安装的内容有关。

使用sudo dpkg -i *.deb 安装所有这些软件包是否可行/安全?

【问题讨论】:

标签: linux ubuntu deployment packages apt


【解决方案1】:

最好使用某种debootstrap 来构建自定义映像,然后将其闪存到设备上。

要缓存apt-get,有apt-cacher。我没试过,但是它的缓存可以被冻结。

对于本地存储库 - reprepro

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-29
    • 2012-12-06
    • 1970-01-01
    • 1970-01-01
    • 2018-04-24
    • 2018-03-15
    • 2019-12-11
    相关资源
    最近更新 更多