把本地deb包目录添加到apt源中的方法

有时候本地有很多deb包放到同一个目录中,希望把这个目录添加到apt源中,以便使用apt命令安装,可以自动解决依赖关系。这个可以通过使用dpkg-scanpackages命令来实现。具体步骤如下:

  1. 创建一个用于存放deb包的目录,比如mkdir /home/debs,把deb包都放到/home/debs目录中;

  2. 在/home目录下执行如下命令:
    dpkg-scanpackages debs /dev/null | gzip > debs/Packages.gz
    该命令生成了一个Packages.gz文件,它包含了APT所需的各种软件包信息。

  3. 在/etc/apt/sources.list文件中增加如下一行:
    deb file:/home debs/

  4. 执行sudo apt-get update,之后即可使用apt-get install安装/home/debs中存放的软件包。

你可以使用同样的方法生成一个源码库,但请记住需要将.orig.tar.gz文件、.dsc文件和.diff.gz文件包含在目录中,要生成Source.gz文件而不是Packages.gz文件。所使用的命令也不相同,要使用dpkg-scansources,命令如下所示:
dpkg-scansources debs | gzip > debs/Sources.gz
在sources.list中的引用法是: deb-src file:/home debs/

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

请楼主解释一下命令中的两个符号,在这命令中所起的作用,

|--------------------------->
>是覆盖呢还是追加呢?

“|” 是一种管道操作,通常是将前面命令的输出作为后面命令的输入。

">"表示输出定向,将命令执行的结果导出到目标文件中,这个导出是直接覆盖原来的文件。

贴一个更专业的介绍
管道符号(|),是unix功能强大的一个地方,符号是一条竖线:“|”,用法: command 1 | command 2 他的功能是把第一个命令command 1执行的结果作为command 2的输入传给command 2,例如:
ls -l | more
该命令列出当前目录中的任何文档,并把输出送给more命令作为输入,more命令分页显示文件列表。

谢谢,,和我判断一样,,就是新生成的,覆盖老的,,

我是菜鸟,,和老鸟多学习,,