Debian包的安装
在Debian包管理下,通过deb包直接执行 dpkg -i xxx.deb 安装,如果有依赖必须先安装其依赖的deb包。
在有网络的情况下,安装相关包时,通过配置正确的/etc/apt/sources.list网络源,只需执行 sudo apt-get install xxx,即可自动安装xxx及其xxx的依赖,很方便。
在无网络即离线情况下,要想方便的安装相关包,需要先下载好离线源,配置好/etc/apt/sources.list离线源,就也可执行 sudo apt-get install xxx命令安装。下面就是分享离线源的制作及其使用。
Debian包反向打包
通过命令dpkg-repack(没有则需要安装)可将系统中已安装的deb包生成 xxx.deb包,但是不会打包相关依赖。
sudo dpkg-repack bzip2
Debian离线源下载制作
以dh-make、devscripts为例
1、先创建一个存放deb包的目录
#创建目录
mkdir -p /opt/offline-packages/archives
#授权
chmod 777 /opt/offline-packages/archives
#进入目录
cd /opt/offline-packages/archives
2、在目录下执行
sudo apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances dh-make devscripts | grep "^\w" | sort -u)
3、建立依赖打包
带上-m,会将所有包全部建立依赖关系到 Packages.gz中,如此会有重复,但无需剔除重复的包
如果出现错误:
sudo:dpkg-scanpackages: command not found
则需要安装dpkg-dev工具:
sudo apt install dpkg-dev
cd /opt/offline-packages
#这步可能会失败,可切换至root 再执行dpkg-scanpackages -m . /dev/null | gzip -9c > Packages.gz
sudo dpkg-scanpackages -m . /dev/null | gzip -9c > Packages.gz
cp Packages.gz ./archives
cd /opt
tar -zcvf offline-packages.tar.gz offline-packages
offline-packages.tar.gz就是制作好的离线源
4、离线源使用
将offline-packages.tar.gz拷贝至离线系统中
#解压到/opt目录下
cd /opt
sudo tar -xvf offline-packages.tar.gz
#配置修改/etc/apt/sources.list文件 增加本地源配置deb [trusted=yes] file:///opt/offline-packages archives/
sudo vim /etc/apt/sources.lis
deb [trusted=yes] file:///opt/offline-packages archives/
#更新源
sudo apt update
#最后正常执行apt命令安装相关软件即可
sudo apt install dh-make devscripts