uos/deepin下利用deb包配置本地apt源

uos操作系统下,平时用apt指令安装的包,其对应的deb包文件会存储在/var/cache/apt/archive中,采用apt指令也可以只下载包,不安装,利用这些deb文件,我们可以制作自己的apt源,供那些无法连接外网的机器使用。

下面以libreoffice包为例,制作对应的apt源:

1、下载libreoffice相关的所有deb包,最后找一台完全没有安装过libreoffice的机器下载,这样就会将所有依赖一起下载下来,否则apt检测到本地已经安装了对应依赖,是不会下载的。指令如下:

sudo apt --download-only install libreoffice

2、将/var/cache/apt/archive下所有的deb包剪切出去,如:

 sudo mv  /var/cache/apt/archive/*.deb  /data/temp/packs/libreoffice

3、获取Packages文件。这一步有2种实现方案,均可以

 首先进入对应目录:cd  /data/temp/packs,注意是进入libreoffice的上一层目录

(1)接下来第一种实现方案:
 apt-ftparchive packages . | gzip -9c > Packages.gz

gunzip -k Packages.gz

便得到了Packages文件

(2)第二种实现方案,利用dpkg-scanpackages指令,但使用这个指令需要先安装dpkg-dev包,所有指令为:

sudo  apt  install  dpkg-dev

dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

gunzip -k Packages.gz

4、获取Release文件,指令如下:

apt-ftparchive release ./ > Release

这一步之后,/data/temp/packs下的文件应该如下图所示:

5、修改/etc/apt/sources.list文件,并更新源。将sources.list的内容修改成如下图所示:

   

然后运行

sudo  apt  update

至此,本地apt源的配置就全部完成了。

      其中 [trusted=yes] 绝对不可以省略,因为这里我配置本地源时并未采用gpg签名Release文件,所以若不加[trusted=yes],apt会认为该源不可靠,然后忽略,apt update无法通过。至于怎么采用gpg签名,有兴趣的可以通过man 8 apt-secure和man 5 sources.list研究。

        最后面的 ./ 表示使用/data/temp/packs目录下的所有deb包最为源,url后面的第一个参数是目录,./ 就是url当前目录

遇到的问题记录:

  1. 在完全没有外网的情况下,由于商店源和打印源还在,会报域名解析错误的问题,导致apt update会失败,我采用的解决办法是将/etc/apt/sources.list.d/目录下的2个文件appstore.list、printer.list里面的源也修改成file:///data/temp/packs,这样apt update的时候会报些警告,但是可以通过。实际上,我认为将appstore.list、printer.list里面的内容都注释掉,或者将这2个文件删除应该也是可以的。
  2. apt update时遇到过/var/lib/dpkg/status文件Merging失败的问题,这个错误的出现可能和我最初将appstore.list、printer.list里面的内容都注释掉有关,不确定是不是因此导致的。这个问题的解决办法是,将现在的status文件删除或改名,并将status-old复制成status,指令如下:

        cd  /var/lib/dpkg

       mv  status  status_backup

       cp  status-old  status

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值