Ubuntu 12.04 Libreoffice обновляет обновление программного обеспечения повреждений

После применения последних обновлений сегодня (16 августа 2014), Libreoffice-основа не завершит обновление, должное "никакая диверсия" ошибка, которая затем, кажется, повреждает postrm сценарий, и теперь я не могу ни обновить, установить или удалить пакеты.

Я выключил все ppa репозитории, выполненный "sudo dpkg - настраивают-a", "sudo склонный - добираются, автоудаляют", а также "sudo комната - франк/var/cache/apt" для создания чистого листа - но напрасно. Я также попытался переименовать незаконные файлы к .bak.

Какие-либо идеи?

Вывод последней попытки:

$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  iw crda wireless-crda wireless-regdb
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  libreoffice-base
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 6,748 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 221883 files and directories currently installed.)
Removing libreoffice-base ...
No diversion 'diversion of /usr/lib/libreoffice/share/basic/dialog.xlc to /usr/lib/libreoffice/share/basic/dialog.xlc.noaccess by libreoffice-base', none removed.
No diversion 'diversion of /usr/lib/libreoffice/share/basic/script.xlc to /usr/lib/libreoffice/share/basic/script.xlc.noaccess by libreoffice-base', none removed.
/var/lib/dpkg/info/libreoffice-base.postrm: 31: /var/lib/dpkg/info/libreoffice-base.postrm: Syntax error: end of file unexpected (expecting "fi")
dpkg: error processing libreoffice-base (--remove):
 subprocess installed post-removal script returned error exit status 2
Errors were encountered while processing:
 libreoffice-base
E: Sub-process /usr/bin/dpkg returned an error code (1)
2
задан 17 August 2014 в 00:22

3 ответа

Об этой ошибке сообщили здесь . Короче говоря существует синтаксическая ошибка в/var/lib/dpkg/info/libreoffice-base.postrm сценарии, который повреждает ее.

Это, что я сделал для устранения проблемы на моей машине - было также предложено nadrach здесь . Открытый, что поврежденный сценарий для редактирования:

sudo gedit/var/lib/dpkg/info/libreoffice-base.postrm

Редактирование файл:

#!/bin/sh

set -e


if [ "$1" = remove -o "$1" = abort-install -o "$1" = disappear ]; then
dpkg-divert --package $DPKG_MAINTSCRIPT_PACKAGE --remove --rename \
--divert /usr/lib/libreoffice/share/basic/dialog.xlc.noaccess \
/usr/lib/libreoffice/share/basic/dialog.xlc
dpkg-divert --package $DPKG_MAINTSCRIPT_PACKAGE --remove --rename \
--divert /usr/lib/libreoffice/share/basic/script.xlc.noaccess \
/usr/lib/libreoffice/share/basic/script.xlc
fi
if [ "$1" = abort-upgrade ] && dpkg --compare-versions "$2" lt dpkg --compare-versions "$2" lt 1:4.3.0~beta1-1; then
dpkg-divert --package $DPKG_MAINTSCRIPT_PACKAGE --remove --rename \
--divert /usr/lib/libreoffice/share/basic/dialog.xlc.noaccess \
/usr/lib/libreoffice/share/basic/dialog.xlc
dpkg-divert --package $DPKG_MAINTSCRIPT_PACKAGE --remove --rename \
--divert /usr/lib/libreoffice/share/basic/script.xlc.noaccess \

МЕСТО ЭТА СТРОКА ЗДЕСЬ:/usr/lib/libreoffice/share/basic/script.xlc

fi

    # Automatically added by dh_installmenu

if [ -x "`which update-menus 2>/dev/null`" ]; then update-menus ; fi
# End automatically added section


exit 0

Сохранил файл и выполняет Ваши обновления. Фиксация еще не вызвала проблем для меня.

<час>

, Поскольку David указал, возможно, должен был бы зафиксировать поврежденные пакеты после применения этого, прежде чем все возвратится к нормальному:

sudo apt-get -f install
3
ответ дан 7 October 2019 в 06:18

Я использовал aptitude для решения его. Я не уверен, является ли, имеет значение для использования aptitude, но поскольку оно решено теперь для меня, я не могу протестировать. Таким образом, если Вам установили его или можете установить его apt-get install aptitude, можно попробовать то, что работало на меня:

Запускают aptitude, обновление с u , и устанавливают любые пакеты, оставленные устанавливать путем нажатия + на "Обновляемых Пакетах", и затем g для показа то, что будет сделано, и если это кажется разумным, g снова для внесения изменений. Был один из libreoffice пакетов, оставленных удаленными, и с действиями, как описано, он был установлен, и ошибка была закреплена на пути.

терминальный вывод, где проблема была решена, является этим:

Preparing to unpack .../libreoffice-base_1%3a4.3.0-3ubuntu1~trusty1_amd64.deb ...
Unpacking libreoffice-base (1:4.3.0-3ubuntu1~trusty1) over (1:4.3.0-0ubuntu1~trusty1) ...
/var/lib/dpkg/info/libreoffice-base.postrm: 28: /var/lib/dpkg/info/libreoffice-base.postrm: Syntax error: end of file unexpected (expecting "fi")
dpkg: warning: subprocess old post-removal script returned error exit status 2
dpkg: trying script from the new package instead ...
dpkg: ... it looks like that went OK
Preparing to unpack .../libreoffice-ogltrans_1%3a4.3.0-3ubuntu1~trusty1_amd64.deb ...
Unpacking libreoffice-ogltrans (1:4.3.0-3ubuntu1~trusty1) over (1:4.3.0-0ubuntu1~trusty1) ...
0
ответ дан 7 October 2019 в 06:18

Я смог избавиться от незаконных ошибок, но не иметь никакого доступа к libreoffice-основе. Я могу жить без него на данный момент, когда я обычно использую MySql вместо этого. Путем я сделал это должно было открыть окно наутилуса как корень 'gksu наутилус' и затем пересечь к каталогу, где postrm файл находился '/var/lib/dpkg/info' тогда открытый 'libreoffice-base.postrm' в текстовом редакторе и прокомментировал второй блок полностью (до его 'fi') - запускается с 'если ["1$" = обновление аварийного прекращения работы] & & dpkg - сравнивать-версии лейтенант "за 2$" dpkg - сравнивать-версии лейтенант "за 2$" 1:4.3.0~beta1-1; тогда'. Сохраненный файл и затем выполненный 'sudo склонный - получает libreoffice-основу установки', которая произвела следующее:

списки пакета Чтения... Сделанное дерево зависимостей Здания
Чтение указывает информацию... Сделанной libreoffice-основой уже является новейшая версия. Следующие пакеты были автоматически установлены и больше не требуются: iw crda беспроводное-crda беспроводное-regdb Использование, 'склонное - добираются, автоудаляют' для удаления их. Следующие пакеты будут УДАЛЕНЫ: libreoffice-основывайте 0 обновленных, 0 недавно установленный, 1 для удаления и 0 не обновленный. 1 не полностью установленный или удаленный. После этой операции будет освобождено дисковое пространство на 6 748 КБ. Вы хотите продолжить [Y/n]? y (База данных Reading... В настоящее время установлены 221 883 файла и каталоги.) Удаляющий libreoffice-основу... Никакая диверсия 'диверсия/usr/lib/libreoffice/share/basic/dialog.xlc к/usr/lib/libreoffice/share/basic/dialog.xlc.noaccess libreoffice-основой', ни одно удаленное. Никакая диверсия 'диверсия/usr/lib/libreoffice/share/basic/script.xlc к/usr/lib/libreoffice/share/basic/script.xlc.noaccess libreoffice-основой', ни одно удаленное. Обработка триггеров для меню...

, Когда я пытаюсь переустановить основу, она жалуется на зависимости, все же все определенные файлы в требуемой последней версии. странный. Но по крайней мере я могу обновить и установить пакеты снова.

0
ответ дан 7 October 2019 в 06:18

Другие вопросы по тегам:

Похожие вопросы: