快捷搜索:  汽车  科技

deb包的安装流程(本地DVD做deb源apt-get快得飞起)

deb包的安装流程(本地DVD做deb源apt-get快得飞起)接下来是关键的步骤,添加我们本店源到 /etc/apt/sources.list,注意这里的file后面是 3个 '/',不要写错。后面的main、contrib是源池pool的子目录。sudo mount -o loop /mnt/data/iso/debian-10.6.0-amd64-DVD-1.iso /mnt/10-iso-1/ sudo mount -o loop /mnt/data/iso/debian-10.6.0-amd64-DVD-2.iso /mnt/10-iso-2/ sudo mount -o loop /mnt/data/iso/debian-10.6.0-amd64-DVD-3.iso /mnt/10-iso-3/ 3个iso总共deb大约12G,内容还是丰富的。去debian官网寻找iso,不要下载CD或netinst类型的iso,这两

背景

公司生产环境电脑必须离线办公,如需下载文件必须用另一台机器下载后用U盘拷贝到生产环境电脑。Debian不能从外网下载deb包很是麻烦,一些简单的软件比如minicom.deb直接到网络源手动下载还算轻松(http://mirrors.aliyun.com/debian/pool/main)。

遇到一些依赖复杂的,比如输入法fcitx:依赖总共20多个,一个个下载猴年马月。

deb包的安装流程(本地DVD做deb源apt-get快得飞起)(1)

当然也有曲线救国的方式,找一台同一系统版本的机器,apt-get安装相应的软件包,再从
/var/cache/apt/archives/ 目录里拷贝下载的软件包到离线的机器上去,手动执行 dpkg -i *.deb 2-6次,这得根据依赖程度而定,dpkg不会自动在当前目录下寻找依赖文件,能安装则安装,错了就报错

其实我们下载Debian安装盘时就以及包含若干deb软件包,直接本地安装即可,下面就介绍方法。

准备

去debian官网寻找iso,不要下载CD或netinst类型的iso,这两个都是精简安装,没有图形界面,尤其没有中文。

官网找到DVD版ISO,下面有3个DVD全都下载,3个DVD里面包含的除了non-free之外的常用deb包。

  • 64bit: https://cdimage.debian.org/debian-cd/current/amd64/bt-dvd/
  • 32bit: https://cdimage.debian.org/debian-cd/current/i386/bt-dvd/

deb包的安装流程(本地DVD做deb源apt-get快得飞起)(2)

下载的镜像分别挂载

sudo mount -o loop /mnt/data/iso/debian-10.6.0-amd64-DVD-1.iso /mnt/10-iso-1/ sudo mount -o loop /mnt/data/iso/debian-10.6.0-amd64-DVD-2.iso /mnt/10-iso-2/ sudo mount -o loop /mnt/data/iso/debian-10.6.0-amd64-DVD-3.iso /mnt/10-iso-3/

3个iso总共deb大约12G,内容还是丰富的。

deb包的安装流程(本地DVD做deb源apt-get快得飞起)(3)

deb包的安装流程(本地DVD做deb源apt-get快得飞起)(4)

接下来是关键的步骤,添加我们本店源到 /etc/apt/sources.list,注意这里的file后面是 3个 '/',不要写错。后面的main、contrib是源池pool的子目录。

deb file:///mnt/10-iso-1 buster main contrib deb file:///mnt/10-iso-2 buster main contrib deb file:///mnt/10-iso-3 buster main contrib

buster只是Debian的发布代号,需要根据自己的源名字修改,它的实际名称在dist目录下,对于本地源来说这个符号可以强制写成stable。

为什么有这个怪异的名称呢?因为对于网络源来说,它的源库中包含若干发布的系统版本,不能保证所有版本都能向下兼容,所有才有诸如stretch、jessie、wheezy、squeeze这样的代号,它们分别对应着:

  • Debian 9("stretch")
  • Debian 8("jessie")
  • Debian 7("wheezy")
  • Debian 6("squeeze")

deb包的安装流程(本地DVD做deb源apt-get快得飞起)(5)

执行sudo apt-get update 本以为大功告成,提示没有签名 (signed)

$ sudo apt-get update Get:1 file:/mnt/10-iso-1 buster InRelease Ign:1 file:/mnt/10-iso-1 buster InRelease Get:2 file:/mnt/10-iso-1 buster Release [33.5 kB] Get:2 file:/mnt/10-iso-1 buster Release [33.5 kB] Get:3 file:/mnt/10-iso-1 buster Release.gpg Ign:3 file:/mnt/10-iso-1 buster Release.gpg Hit:4 http://packages.microsoft.com/repos/vscode stable InRelease Get:5 https://debrepo.freedownloadmanager.org bionic InRelease [1 706 B] Reading package lists... Done E: The repository 'file:/mnt/10-iso-1 buster Release' is not signed. N: Updating from such a repository can't be done securely and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details. 解决签名

网上有若干解决签名的方法,比如 apt-key、gpg等,这些方法是构建网络源,生成公钥才这么干,我们本地源有更简单的方法: 信任源

重新编辑 /etc/apt/sources.list , 加上 [trusted=yes] 选项

deb包的安装流程(本地DVD做deb源apt-get快得飞起)(6)

再次执行 sudo apt-get update,成功刷新。

现在开始,以后绝大多数源都可以在本地更新咯。

猜您喜欢: