Это несколько общий ответ об установке более нового программного обеспечения на более старую версию производной Debian.
Во-первых, убедитесь, что вы действительно хотите получить более новую версию. Вопреки распространенному заблуждению, новое не всегда лучше. В более новой версии обычно есть исправления ошибок, но также есть и новые ошибки. В дистрибутивах применяются исправления для основных ошибок и особенно для проблем безопасности, поэтому, если все, что вам нужно, это исправления ошибок в целом, вам следует придерживаться пакета вашего дистрибутива. В вашем случае вам нужна новая фича, поэтому это предупреждение к вам не относится.
Самый простой способ получить более новую версию — это если кто-то уже сделал эту работу за вас. Проверьте, доступен ли пакет backport для вашего дистрибутива. Для Ubuntu бэкпорты перечислены на странице пакета на веб-сайте . Для exim4 нет бэкпорта.
Также проверьте, есть ли у разработчика приложения доступные пакеты. Похоже, это не относится к Exim.
При отсутствии официального пакета проверьте наличие неофициального пакета. С неофициальным пакетом существует больший риск того, что сопровождающий этого пакета не будет делать своевременные обновления для устранения проблем безопасности и серьезных ошибок, поэтому оцените исходный код и решите, хотите ли вы рискнуть. Для Ubuntu, а иногда и для других производных от Debian, проверьте, доступен ли PPA . Для exim с поддержкой rspamd вам наполовину повезло. Существует exim -rspamd PPA , но, похоже, он не поддерживается активно, поэтому, вероятно, к настоящему времени в нем есть дыры в безопасности.
Совершенно другой подход заключается в установке более позднего дистрибутива в среде chroot и запуске программы из этого более позднего дистрибутива. Это требует много дискового пространства и пропускной способности по сравнению с простой установкой одного приложения, но это дешево по сравнению с человеческим трудом, и этот метод очень не требует труда, особенно для производных Debian благодаря schroot . См. мое руководство по использованию schroot в производных Debian . Это хороший метод для приложений «конечных пользователей», но для системных служб, таких как exim4, это может быть не так просто.
Для программного обеспечения на стороне сервера -вы можете найти пакет, подобный chroot -, в виде контейнера Docker . Доступно множество образов Docker с exim . Я понятия не имею об их качестве, надежности и благонадежности.
Для программного обеспечения с открытым исходным кодом всегда возможна установка из исходного кода. Это может быть более или менее болезненно в зависимости от того, от какого другого программного обеспечения (типично библиотек )зависит программа. Для программ с графическим интерфейсом, которые требуют пару десятков библиотек и постоянно обновляют свои минимальные требования, может быть очень сложно идти в ногу.Для такой программы, как exim, у которой очень мало зависимостей, это должно быть довольно просто. Основное ограничение заключается в том, что вы должны следить за обновлениями безопасности и применять их по мере их появления. Это может привести к риску, если разработчик приложения предоставляет обновления безопасности только для последней версии (, которые могут содержать ошибки, затрагивающие вас ). Проверьте, доступна ли долгосрочная -версия -поддержки (для Exim ).
В вашем случае я бы либо выбрал Docker-контейнер, если есть надежный, либо создал свой собственный deb-пакет, начав с работы, проделанной для exim -rspamd PPA.
Чтобы сопоставить строку до пробела, используйте [^ ]*
Полная команда будет:
ip a |sed -En "{N ; N ; s/^[1-9]: (.*: ).+\n?.+\n? {4}inet \
([^ ]*).*/\1\2/p}"
Выход:
lo: 127.0.0.1/8
eno1: 192.168.1.44/24
wlx68a3c45b2875: 192.168.1.36/24