Назад | Перейти на главную страницу

Есть ли способ автоматически получить последнюю строку `openssl version`?

В тестах Serverspec у меня есть следующая проверка:

openssl_latest_version = 'OpenSSL 1.0.2h  3 May 2016'

describe command('openssl version') do
  its(:stdout) { should match openssl_latest_version }
end

Есть ли способ автоматически получить строку, которую последний официально выпущенный OpenSSL возвращает при выполнении openssl version? Т.е. автоматически устанавливается openssl_latest_version основанный, например, на некоторых curl вызов.

Я хочу, чтобы тест завершился неудачно, если установленная версия более поздняя, ​​чем та, которая в настоящее время опубликована OpenSSL самое последнее на момент запуска теста, но без изменения параметров человеком.

я не хочу сравнить его с версией, доступной в диспетчере пакетов для какой-либо конкретной версии ОС, я не хочу устанавливать последнюю версию, мне просто нужен тест потерпеть неудачу когда текущая версия отличается от той, которая была объявлена ​​последней.

Вот ужасный небольшой сценарий оболочки, который может это сделать:

$ lynx -dump https://www.openssl.org/source/ |  
grep -- 'https://www.openssl.org/source/openssl-.*.tar.gz$' |  
awk '{print $2}' |  
sort -r |  
grep -v -- '-fips-' |  
grep -v -- '-pre' |  
head -n1 |  
sed -n -- 's_^https://www.openssl.org/source/openssl-\(.*\).tar.gz$_\1_p' 

И результат на данный момент:

1.0.2h

Вы перепрыгиваете через несколько звеньев цепи. Вам необходимо проверить последнюю версию, доступную в вашем диспетчере пакетов, в зависимости от используемой вами ОС. Если вы управляете своими собственными пакетами (например, SpaceWalk для производных RedHat), это добавляет несколько ссылок в вашу цепочку, потому что вы также будете управлять пакетами, доступными в восходящем направлении, так что вы можете смотреть на это как на источник истины.

Если вы полностью отказываетесь от поддерживаемых версий openssl для своего дистрибутива и сразу переходите к последнему и лучшему проекту openssl, НУ Ладно, ПАРТНЕР, ДАВАЙТЕ РАЗРУШИТЬ ЭТО МЕСТО, КАК ЭТО НЕ ТАК! ᕕ (ᐛ) ᕗ

Вы захотите использовать репозиторий github openssl, клонируйте и проверьте версию, затем скомпилируйте и установите. Распознавать зависимости еще никогда не было так просто или безопасно!