Вопрос или проблема
На Ubuntu 16.04 (Xenial) как проще всего установить OpenSSH (openssh-client
), который выше 7.2
?
Я в курсе, что могу скомпилировать из исходников, но мне интересно, есть ли способ избежать этого.
Существует ли официально поддерживаемый ppa для этого?
Я также пробовал sudo apt-get install -t xenial-backports openssh-client
, но это тоже не помогает.
Смотрите инструкции по обновлению SSH-клиента до следующей доступной версии Ubuntu Yakkety 16.10, которая предоставляет SSH 7.3 (с поддержкой Include config.d/*
):
echo "deb http://old-releases.ubuntu.com/ubuntu yakkety main" > /etc/apt/sources.list.d/yakkety.list
apt-get update
apt-get install -y ssh
rm /etc/apt/sources.list.d/yakkety.list
apt-get update
Альтернативный подход – установить debian-пакеты (хотя этот подход не связан с ppa).
https://gist.github.com/stefansundin/0fd6e9de172041817d0b8a75f1ede677
Просто имейте в виду, что делая это вне apt, дальнейшее управление установками будет нарушено. Чтобы увидеть, на что это повлияет, вы можете выполнить
apt-cache rdepends openssh-client
а затем в будущем, когда вы будете устанавливать один из этих зависимых пакетов, вы скорее всего увидите ошибку о том, что оригинальная версия openssh-client отсутствует. По крайней мере, это поведение, которое я наблюдал во время написания некоторых ansible-скриптов (первоначально я обновлял openssh-client последним в скриптах, чтобы обойти это).
В выводе ошибки в этом сценарии я заметил, что вывод предложил
apt-get -f install
без указания пакета. Я сделал это, установил несколько компонентов (которые, по всей видимости, не имели отношения к openssh-client), и каким-то образом будущие установки, которые зависят от openssh-client, теперь проходят нормально, не жалуясь на зависимость фиксированной версии.
Ответ или решение
Установка OpenSSH 7.4 на Ubuntu 16.04: Подробное руководство
Если вы ищете простой способ установки OpenSSH версии 7.4 или выше на Ubuntu 16.04 (Xenial), у вас есть несколько вариантов. Давайте рассмотрим их подробно, с акцентом на отказ от компиляции из исходников и минимизацию потенциальных проблем с управлением пакетами.
1. Использование PPA (Personal Package Archive)
Наилучший способ установить более новую версию OpenSSH, не прибегая к компиляции из исходников, — это использование PPA. Однако стоит отметить, что на данный момент нет активно поддерживаемого PPA, который включал бы OpenSSH версии 7.4.
Тем не менее, вы можете попробовать воспользоваться PPA, который предоставит более свежие версии OpenSSH. Для этого выполните следующие команды в терминале:
sudo add-apt-repository ppa:your-ppa-repository
sudo apt-get update
sudo apt-get install openssh-client
2. Обновление через «Старые релизы»
Если PPA недоступен, можно получить OpenSSH 7.3 из более раннего релиза Ubuntu 16.10 (Yakkety). Для этого выполните следующие шаги:
echo "deb http://old-releases.ubuntu.com/ubuntu yakkety main" | sudo tee /etc/apt/sources.list.d/yakkety.list
sudo apt-get update
sudo apt-get install -y openssh-client
sudo rm /etc/apt/sources.list.d/yakkety.list
sudo apt-get update
Этот метод позволяет вам установить OpenSSH 7.3, так как такая версия доступна в репозиториях Ubuntu 16.10.
3. Установка с помощью .deb файлов
Если вы готовы к немного более сложному, но надежному методу, вы можете скачать необходимые .deb файлы для OpenSSH 7.4 и установить их вручную. Вот основные шаги для такой установки:
-
Перейдите на официальный сайт с пакетами Ubuntu или используйте репозиторий Debian. Найдите и скачайте .deb файлы для
openssh-client
и его зависимости. -
Установите скачанные пакеты:
sudo dpkg -i path/to/downloaded/package.deb
- Если во время установки возникли ошибки зависимости, выполните:
sudo apt-get install -f
Обратите внимание, что установка пакетов вне менеджера пакетов apt
может привести к проблемам с управлением обновлениями в будущем. Проверить, какие пакеты зависят от OpenSSH, вы можете с помощью:
apt-cache rdepends openssh-client
Заключение
Выбор способа установки OpenSSH 7.4 на Ubuntu 16.04 зависит от ваших пожеланий и уровня комфорта с потенциальными проблемами. Использование старых релизов — менее рискованный способ, чем ручная установка .deb файлов и работа с зависимостями. Обязательно учитывайте последствия, чтобы не повредить целостности вашей системы.
При выборе метода, не забудьте также проверить ваши зависимости и наличие других программ, которые могут зависеть от OpenSSH, чтобы избежать конфликтов в будущем.