Ubuntu 17.10 содержит libmicrohttpd12, но мне также нужен libmicrohttpd10 для коди. Могу ли я иметь оба?
Он доступен в 16.04, и установка версии 16.04 на 17.10, вероятно, будет работать (при условии, что вы действительно не можете установить 16.04; в противном случае вы должны это сделать). Однако не просто загружают .deb
и устанавливают его, потому что, если в нем обнаружена уязвимость, вы не получите автоматическое исправление. Вместо этого вы можете добавить репозитории 16.04 следующим образом.
Во-первых, скопируйте ваш текущий sources.list
в новый файл в /etc/sources.list.d
:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.d/xenial_for_libmicrohttpd10.list
Название нового файла - это просто напоминание будущему вам о том, какова его цель. Вы также можете добавить более подробный комментарий.
Во-вторых, используйте выбранный вами текстовый редактор, чтобы заменить все вхождения artful
в файле на xenial
. Например:
printf ',s/artful/xenial/\nw\n' | sudo ed /etc/apt/sources.list.d/xenial_for_libmicrohttpd10.list
Наконец, просто чтобы быть уверенным, что никакой пакет Xenial, кроме libmicrohttpd10
, не будет случайно установлен, дайте им низкий приоритет, создав файл в /etc/apt/preferences.d
, например:
Package: *
Pin: release n=xenial
Pin-Priority: 99
Package: libmicrohttpd10
Pin: release n=xenial
Pin-Priority: 500
Тогда вы можете сделать sudo apt update && sudo apt install libmicrohttpd10
.