
Контекст: Арч Линукс Менеджер пакетов: пакман
Выполнение практически любой pacman
команды приводит к предупреждению:
pacman: /opt/plexmediaserver/libcurl.so.4: no version information available (required by /usr/lib/libalpm.so.10)
Я видел решения и сообщения об ошибках, но как администратор может решить эту проблему до выхода следующих обновлений?Я стремлюсь изучать процессы административного мышления, а не искать минималистские ответы.
- удалить символическую ссылку и рисковать нарушением зависимостей?
- установить старую версию и иметь две установленные версии?
- вернуться к более старой версии (
pacman -U pkgname
из/var/cache/pacman/pkg/
) и добавить имя пакета в раздел IgnPackage/etc/pacman.conf
? - ждать и надеяться на лучшее?
- какая-то другая техника?
Вывод файловой системыls -lsa /usr/lib/libcurl*
Очевидно, что libcurl.so.4 -> libcurl.so.4.5.0* связаны.
0 lrwxrwxrwx 1 root root 16 23. Okt 13:27 libcurl.so -> libcurl.so.4.5.0*
0 lrwxrwxrwx 1 root root 16 23. Okt 13:27 libcurl.so.4 -> libcurl.so.4.5.0*
520 -rwxr-xr-x 1 root root 530656 23. Okt 13:28 libcurl.so.4.5.0*
решение1
Вот шаги, которые следует предпринять, если у вас нерабочий пакет aur:
- Пересоберите пакет aur, он может ссылаться на новую версию библиотеки.
- Обновите пакет aur, если сопровождающий обновил PKGBUILD.
- Если это не поможет, обновите/исправьте PKGBUILD
- Если вы этого не сделали, установите старую версию и подождите.
- Если вам необходимо обновить другие пакеты, удалите соответствующий пакет aur.
Первый шаг ловит sonamebumps. В других случаях вам действительно следует обновить или удалить пакет aur. Вам не следует ждать, если доступен новый PKGBUILD.
Если вы действительно хотите остановиться на определенной версии, выполните только шаги один и три.
решение2
Ради потомков я нашел настоящего виновника. Правда в том, что во время написания вопроса я неправильно понял проблему.
Решение
Во время некоторых экспериментов я добавил export LD_LIBRARY_PATH=/opt/plexmediaserver
в свой профиль bash.
Мне просто пришлось это удалить. Путь к общей библиотеке вернулся к норме ( /usr/lib
), и жизнь вернулась в нормальное русло.
Я понял это, запустив приложение printenv
как правильный пользователь.