dpkg install 遇到相依性问题的一次快速安装解法

..

Debian / Ubuntu Linux 的套件管理是 APT,底层是 dpkg。

若直接使用 dpkg 来安装套件,常常会遇到套件相依性(dependency)问题,要把相依性的套件安装完成后,再去 dpkg 安装才能安装成功。

但是相依性套件若很多,可以怎么做一次快速安装呢?

dpkg install 遇到相依性问题的一次快速安装解法

一般常见就是遇到所有相依问题的套件,那些套件名称就全部蒐集起来,再分别 apt install,大致就是如下:

  1. dpkg -i xxx.deb
  2. apt install 1 2 3 ... package
  3. dpkg -i xxx.deb

但是第二步骤要安装有时候蛮多又蛮费时的,此时可以使用 apt -f install 来一次安装,如下:

  1. dpkg -i xxx.deb
  2. apt -f install # 一次安装相依性缺少的套件
  3. dpkg -i xxx.deb

操作范例:

  1. $ sudo dpkg -i mysql-workbench-community_8.0.33-1ubuntu22.04_amd64.deb
    Unpacking mysql-workbench-community (8.0.33-1ubuntu22.04) over (8.0.33-1ubuntu22.04) ... dpkg: 因相依问题,无法设定 mysql-workbench-community:   mysql-workbench-community 相依于 libmysqlclient21 (>= 8.0.11)﹔然而:   套件 libmysqlclient21 未安装。   mysql-workbench-community 相依于 libpcrecpp0v5 (>= 7.7)﹔然而:   套件 libpcrecpp0v5 未安装。   mysql-workbench-community 相依于 libproj22 (>= 8.2.0)﹔然而:   套件 libproj22 未安装。   mysql-workbench-community 相依于 libzip4 (>= 0.10)﹔然而:   套件 libzip4 未安装。
  2. $ sudo apt -f install
    下列的额外套件将被安装: libmysqlclient21 libpcrecpp0v5 libproj22 libzip4 mysql-common proj-data
  3. sudo dpkg -i mysql-workbench-community_8.0.33-1ubuntu22.04_amd64.deb # 再补安装主要套件
  4. 至此就安装完成
想在手机阅读更多Linux资讯?下载【香港硅谷】Android应用
分享到Facebook