apt无法安装本地deb包

Yve*_*ves 5 package-management apt dpkg

我有两个Ubuntu系统,它们是完全相同的。

apt-get install XXX在一个系统上执行多个命令,并且可以在 处获取相关的 deb 包/var/cache/apt/archives/。然后我将这些 deb 文件复制到另一个系统并/home/me/archives/执行apt-get install ./*.deb

我认为它应该在本地安装 deb 软件包,但令我惊讶的是,它仍然重新下载所有 deb 文件。我不知道为什么。

奇怪的地方有三点:

  1. 当我执行时apt-get install ./*.deb,会出现很多消息:

    Note, selecting 'python-rospkg' instead of './python-rospkg_1.1.4-100_all.deb'
    Note, selecting 'python-serial' instead of './python-serial_3.0.1-1_all.deb'
    Note, selecting 'python-service-identity' instead of './python-service-identity_16.0.0-2_all.deb'
    Note, selecting 'python-setuptools' instead of './python-setuptools_20.7.0-1_all.deb'
    Note, selecting 'python-sip-dev' instead of './python-sip-dev_4.17+dfsg-1build1_amd64.deb'
    Note, selecting 'python-sip' instead of './python-sip_4.17+dfsg-1build1_amd64.deb'
    Note, selecting 'python-six' instead of './python-six_1.10.0-3_all.deb'
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我尝试安装 deb 软件包之一,例如 ,apt-get install libwebp-dev_0.4.4-1_amd64.deb但总是收到错误:

    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    E: Unable to locate package libwebp-dev_0.4.4-1_amd64.deb
    E: Couldn't find any package by glob 'libwebp-dev_0.4.4-1_amd64.deb'
    E: Couldn't find any package by regex 'libwebp-dev_0.4.4-1_amd64.deb'
    
    Run Code Online (Sandbox Code Playgroud)
  3. 我也尝试使用dpkg -i *.deb安装这些本地deb包,但是它产生了缺少某些包的错误,然后我执行apt install -f从Internet获取丢失的deb包,但是缺少的包来自Internet和原始本地包完全一样...

总之,我的系统无法按预期安装本地 deb 包。

Yve*_*ves 1

这个问题就来了:

我执行了几个apt install XXX关于python模块的,比如python-numpyetc。我以为它会依赖python2.7sopython2.7会自动下载并安装,但我错了(也许是因为python3.5已经默认安装了?我不知道确切的原因) 。这意味着我应该再执行一个命令:apt install python2.7。否则,apt install ./*deb将再次重新下载所有软件包。另外,不知道为什么,就是dpkg -i *.deb && apt install -f没有安装python2.7

无论如何,在安装python2.7并将其 deb 包与其他包放在一起后,我可以使用命令将它们全部安装在本地apt install ./*.deb