ubuntu制作离线源离线安装软件
ubuntu制作离线源离线安装软件
测试环境搭建
首先搭建两个容器,一个联网,用来下载软件包及依赖,一个断网,用来测试安装
联网环境(联网容器)
下载软件包及其依赖
cd /var/cache/apt/archives
apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances ${Packages} | grep "^\w" | sort -u)
注:此处${Packages}
可以一次下载多个软件包
构建离线源
mkdir -p /opt/${you can custom folder name}/debs/
touch /opt/${you can custom folder name}/debs/Packages.gz
chmod 777 -R /opt/${you can custom folder name}
将所有的包拷贝到/opt/${you can custom folder name}
cp -r /var/cache/apt/archive/* /opt/${you can custom folder name}
构建离线依赖关系
dpkg-scanpackages /opt/${you can custom folder name} /dev/null | gzip > /opt/${you can custom folder name}/debs/Packages.gz
如果没有安装dpkg-scanpackages
sudo apt-get install dpkg-dev
离线环境(断网容器)
将在线环境中/opt/${you can custom folder name}
拷贝到离线环境的/opt/下,保持和在线环境路径一致
更换已经做好的离线源
mv /etc/apt/sources.list /etc/apt/sources.list.bak
echo "deb [trusted=yes] file:// /opt/${you can custom folder name}/debs/" >> /etc/apt/sources.list
更新离线源
apt-get clean && apt-get update
安装软件包
apt-get -y install ${package that your want to install}
# 如果安装时还会出现依赖关系的问题时,根据离线源修复一下依赖关系
# 大部分情况是不用的,酌情使用
apt-get install -f