Как установить libmicrohttpd10 в Ubuntu 17.10

Ubuntu 17.10 содержит libmicrohttpd12, но мне также нужен libmicrohttpd10 для коди. Могу ли я иметь оба?

4
задан 26 December 2017 в 11:57

1 ответ

Он доступен в 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.

3
ответ дан 26 December 2017 в 11:57
  • 1
    @Seanny123 - корица зависается, замена инициировала перезапуск, но оставляет весь последующий " child" одни только биты. – slm 9 December 2016 в 04:02
  • 2
    @Seanny123 - корица зависается, замена инициировала перезапуск, но оставляет весь последующий " child" одни только биты. – slm 9 December 2016 в 04:02

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

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