apt 无法安装本地 deb 包

apt 无法安装本地 deb 包

我有两个 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'
    
  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'
    
  3. 我也尝试过用dpkg -i *.deb安装这些本地的 deb 包,但是出现了缺少某些包的错误,于是我就执行apt install -f从网上获取缺少的 deb 包,但是从网上获取的缺少的包和本地原有的包一模一样...

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

答案1

“apt-get” 命令不能随心所欲地使用。您只能从存储库中安装它。但正确的方法是使用“dpkg”或“apt”命令:

sudo dpkg -i package_name.deb

或者

sudo apt install package_name.deb

使用 dpkg 可能会破坏软件包依赖关系,因为它不会自动解决该问题,因此您可以使用 apt-get 来解决问题:

sudo apt-get install -f

答案2

问题就出在这里:

我执行了几个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

相关内容