Для обновления libutf8proc>=2.1.1-3 требуется ручное вмешательство

URL: https://www.archlinux.org/news/libutf8proc211-3-update-requires-manual-intervention/

Пакет libutf8proc до версии 2.1.1-3 содержал неправильную ссылку на библиотеку. Это исправлено в 2.1.1-3, поэтому для обновления потребуется перезаписать неотслеживаемую ссылку, созданную ldconfig. Если вы получите сообщение об ошибке:
libutf8proc: /usr/lib/libutf8proc.so.2 exists in filesystem
то для выполнения обновления используйте команду:
pacman -Suy --overwrite usr/lib/libutf8proc.so.2
Для стопроцентной чистой установки нового пакета без "ручного вмешательства" можно перед обновлением удалить старый пакет.
Русское ноу-хау. Сам придумал. ) Хотя и предлагаемый вариант должен сработать. ))
-_o
Для стопроцентной чистой установки нового пакета без "ручного вмешательства" можно перед обновлением удалить старый пакет.
И то, чего не было в старом пакете, а было создано ldconfig, тоже удалится?

(Нет у меня в системе libutf8proc, проверить не могу.)
sirocco, в данном случае у меня этого пакета тоже нет, но метод был уже опробован в предыдущем случае и не одним мной.
Если использовать pacman -Rs или -Rdd, то может и нет. А pacman -Rsn / -Rddn обязан. Иначе у него получится ошибка полного удаления. Так что можно предложить Высшей Инстанции добавить новую функцию в pacman, что позволит избавиться от нужды всех предупреждать и обновления будут осуществляться автоматически без необходимости ручного вмешательства пользователей.
Зачем такие сложности? Просто убить линк трудно? rm /usr/lib/libutf8proc.so.2
Velesich, это уже то, что называют ручным вмешательством. ) Кроме того, почему-то перед последним обновлением pacman писали, что --force использовать небезопасно и оно будет заменено на --overwrite, а впоследствии будет удалено совсем. Видимо, не все так просто.
sirocco
И то, чего не было в старом пакете, а было создано ldconfig, тоже удалится?

Pacman не удаляет и не перезаписывает файлы, о которых он не знает.
Удаление пакета с ключом -n перед обновлением приведет лишь к тому, что вы еще и останетесь без конфигурационных файлов, в которые вносились изменения. А вот ошибка при обновлении останется.

Чтобы исправить коллизию, возникшую в данном случае, нужно перед обновлением руками удалить мешающийся файл (rm <file>), как написал Velesich, или, как указано в официальной рекомендации, обновляться с принудительной перезаписью.

К прочтению:
Pacman - Troubleshooting - "Failed to commit transaction (conflicting files)" error
Pacman - Pacnew and Pacsave
vinc
Удаление пакета с ключом -n перед обновлением приведет лишь к тому, что вы еще и останетесь без конфигурационных файлов, в которые вносились изменения. А вот ошибка при обновлении останется.
Проверено? Не может она остаться, так как ссылка создавалась при установке пакета и должна быть удалена ldconfig при его удалении.

vinc
Чтобы исправить коллизию, возникшую в данном случае, нужно перед обновлением руками удалить мешающийся файл (rm <file>), как написал Velesich, или, как указано в официальной рекомендации, обновляться с принудительной перезаписью.
Ну, ладно. ) Не будем тогда мешать разработчикам своими "ноу-хау". Сами разберутся со временем.
пакет с неправильным файлом usr/lib/libutf8proc.so.2 существовал всего 10 минут, кто в это время обновился у того и могла бы проявится проблема.
https://git.archlinux.org/svntogit/community.git/commit/trunk/PKGBUILD?h=packages/libutf8proc&id=eeb1585de2fdb1e18d02597e476456c81831c1ab
https://git.archlinux.org/svntogit/community.git/commit/trunk/PKGBUILD?h=packages/libutf8proc&id=642135d8de852496e03987a819afca4828e56d76
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
-_o
Проверено? Не может она остаться, так как ссылка создавалась при установке пакета и должна быть удалена ldconfig при его удалении.
Проверил (на одной из машин в системе оказался как раз неправильный libutf8proc, pacman -Syu выдал ошибку).

Удаление libutf8proc проблему решает, я заблуждался.
 
Зарегистрироваться или войдите чтобы оставить сообщение.