我安装了 LibreOffice ppa (ppa:libreoffice/ppa),今天更新后出现了问题。我收到以下错误。
Reading package lists ... Done
Building dependency tree
Reading state information ... Ready
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
libreoffice-base: Depends: libreoffice-base-core (= 1: 4.3.0-0ubuntu1 ~ precise1) but 4.3.0-3ubuntu1 ~ precise1 is installed
Depends: libreoffice-base-drivers (= 1: 4.3.0-0ubuntu1 ~ precise1) but 4.3.0-3ubuntu1 ~ precise1 is installed
Depends: libreoffice-core (= 1: 4.3.0-0ubuntu1 ~ precise1) but 4.3.0-3ubuntu1 ~ precise1 is installed
libreoffice-core: Breaks: libreoffice-base (<1: ~ 4.3.0-3ubuntu1 precise1) but 4.3.0-0ubuntu1 ~ precise1 is installed
E: Unmet dependencies. Try to use -f.
尝试后
sudo apt-get 安装 -f
我得到了以下输出
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd
De status informatie wordt gelezen... Klaar
Vereisten worden gecorrigeerd... Klaar
De volgende extra pakketten zullen geïnstalleerd worden:
libreoffice-base
Voorgestelde pakketten:
libreoffice-gcj libreoffice-report-builder unixodbc
De volgende pakketten zullen opgewaardeerd worden:
libreoffice-base
1 pakketten opgewaardeerd, 0 pakketten nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.
3 pakketten niet volledig geïnstalleerd of verwijderd.
Er moeten 0 B/2170 kB aan archieven opgehaald worden.
Door deze operatie zal er 2841 kB extra schijfruimte gebruikt worden.
Wilt u doorgaan [J/n]?
dpkg: vereistenproblemen verhinderen de configuratie van libreoffice-base:
libreoffice-base is afhankelijk van libreoffice-base-core (= 1:4.3.0-0ubuntu1~precise1); maar:
Versie van libreoffice-base-core op dit systeem is 1:4.3.0-3ubuntu1~precise1.
libreoffice-base is afhankelijk van libreoffice-base-drivers (= 1:4.3.0-0ubuntu1~precise1); maar:
Versie van libreoffice-base-drivers op dit systeem is 1:4.3.0-3ubuntu1~precise1.
libreoffice-base is afhankelijk van libreoffice-core (= 1:4.3.0-0ubuntu1~precise1); maar:
Versie van libreoffice-core op dit systeem is 1:4.3.0-3ubuntu1~precise1.
libreoffice-core (1:4.3.0-3ubuntu1~precise1) breaks libreoffice-base (<< 1:4.3.0-3ubuntu1~precise1) and is geïnstalleerd.
Version of libreoffice-base to be configured is 1:4.3.0-0ubuntu1~precise1.
dpkg: fout bij afhandelen van libreoffice-base (--configure):
vereistenproblemen - blijft ongeconfigureerd
dpkg: vereistenproblemen verhinderen de configuratie van libreoffice-report-builder-bin:
libreoffice-report-builder-bin is afhankelijk van libreoffice-base; maar:Er is geen apport-verslag weggeschreven omdat de foutmelding volgt op een eerdere mislukking.
Pakket libreoffice-base is nog niet geconfigureerd.
dpkg: fout bij afhandelen van libreoffice-report-builder-bin (--configure):
vereistenproblemen - blijft ongeconfigureerd
dpkg: vereistenproblemen verhinderen de configuratie van libreoffice:
libreoffice is afhankelijk van libreoffice-base; maar:
Pakket libreoffice-base is nog niet geconfigureerd.
libreoffice is afhankelijk van libreoffice-report-builder-bin; maar:
Pakket libreoffice-report-builder-bin is nog niet geconfigureerd.
dpkg: fout bij afhandelen van libreoffice (--configure):
vereistenproblemen - blijft ongeconfigureerd
Er is geen apport-verslag weggeschreven omdat de foutmelding volgt op een eerdere mislukking.
Er is geen apport-verslag weggeschreven omdat de foutmelding volgt op een eerdere mislukking.
Fouten gevonden tijdens behandelen van:
libreoffice-base
libreoffice-report-builder-bin
libreoffice
E: Sub-process /usr/bin/dpkg returned an error code (1)
我该如何解决这个问题才能解决依赖关系?我必须手动配置 libreoffice-base 吗?
答案1
我关注了Ubuntu 论坛上的话题来解决这个问题。这个维护脚本文件似乎缺少一行:
/var/lib/dpkg/info/libreoffice-base.postrm
缺失的那行,
/usr/lib/libreoffice/share/basic/script.xlc
需要添加到文件末尾第二个如果声明,就在结束语之上菲,像这样:
--divert /usr/lib/libreoffice/share/basic/script.xlc.noaccess \
/usr/lib/libreoffice/share/basic/script.xlc
fi
添加该行后,使用(例如):
sudo nano /var/lib/dpkg/info/libreoffice-base.postrm
重新启动计算机并libreoffice-base
使用以下命令删除:
sudo apt-get purge libreoffice-base libreoffice-report-builder-bin libreoffice
此过程完成后,重新启动并执行以下操作以重新安装 libreoffice:
sudo apt-get install libreoffice-base libreoffice
一旦成功重新安装 libreoffice,我就会运行:
sudo apt-get update
sudo apt-get upgrade
没有错误。
这几个步骤以及对错误报告解决了我的问题。
答案2
1)须藤纳米/var/lib/dpkg/info/libreoffice-base.postrm
添加以下行:
/usr/lib/libreoffice/share/basic/script.xlc
到文件第二个 if 语句的末尾,就在结束 fi 的上方。新代码必须是:
--divert /usr/lib/libreoffice/share/basic/script.xlc.noaccess \
/usr/lib/libreoffice/share/basic/script.xlc
fi
2)发出以下命令:
sudo mv /var/lib/dpkg/info/libreoffice.* /tmp/
sudo dpkg --remove --force-remove-reinstreq libreoffice
sudo dpkg --remove --force-remove-reinstreq libreoffice-base
sudo apt-get autoclean
sudo apt-get autoremove
sudo apt-get update
sudo apt-get install libreoffice
解决方案基于:
https://bugs.launchpad.net/ubuntu/+source/libreoffice/+bug/1354557 http://www.piprime.fr/1480/manually-remove-broken-package-debian-ubuntu/