Понимание информации о версии openssl

Кажется, я знаю, в чем была проблема.

i + 1 = nrow(my_dataframe) + 1 

Так, например, если мой фрейм данных состоит из 10 строк, я пытаюсь в конце сравнить 10-ю строку с несуществующей 11-й строкой. Таким образом, решение было:

for (i in 1:(nrow(my_dataframe)-1)) {
if(my_dataframe[i, 4] == my_dataframe[i + 1, 3]) {
  print("OK")
 } 
}
0
08.08.2019, 02:36
1 ответ

OpenSSL — это прежде всего библиотека,:набор подпрограмм, которые могут использовать программы. На самом деле это две объединенные библиотеки :/usr/lib/libcrypto.so.1.1, которая содержит подпрограммы, связанные с криптографическими примитивами и управлением сертификатами, и /usr/lib/libssl.so.1.1, которая содержит подпрограммы, связанные с протоколом TLS. Часть 1.1в имени файла является частью версии библиотеки, и каталог, содержащий эти файлы, может отличаться (, например, в Ubuntu для 64-битного -ПК это/usr/lib/x86_64-linux-gnu). Эти библиотеки входят в состав пакета libssl1.1в Debian/Ubuntu и производных дистрибутивах (, опять же, 1.1является соответствующей частью номера версии ).

OpenSSL также поставляется с инструментом командной строки -/usr/bin/openssl, который предоставляет интерфейс командной строки для функций из библиотек libcryptoи libssl. Его можно использовать для эталонного тестирования криптографических примитивов, манипулирования ключами и сертификатами, запуска некоторых тестов и т. д. Его можно использовать даже для таких вещей, как шифрование данных, но интерфейс совсем не приспособлен к реальному -использованию в мире :это слишком низкий -уровень, и большинство способов его использования небезопасны. Инструмент командной строки входит в состав пакета openssl.

Причина, по которой пакет библиотеки отделен от пакета, содержащего программу командной строки, по той же причине, по которой пакет библиотеки содержит часть номера версии, а файлы библиотеки также содержат ее. Можно установить несколько версий библиотеки, и вам необходимо это сделать, если у вас есть программы, созданные для разных версий ABI библиотеки. С другой стороны, вы можете установить только одну команду openssl.

1.1.0j и 1.1.0k — это две разные версии OpenSSL, которые достаточно близки, чтобы иметь совместимые ABI. Как правило, когда версия программы представлена ​​в виде чисел с точками между ними, приращение числа влево представляет собой серьезное изменение.в то время как увеличение числа справа представляет очень незначительное изменение, такое как исправление ошибки. OpenSSL имеет тенденцию вносить существенные изменения с увеличением самой правой цифры или даже буквы, что несколько необычно.

Обычно у вас будет одна и та же версия инструмента командной строки и библиотеки, а также, возможно, некоторые устаревшие версии библиотек для программ, созданных с помощью более старого ABI. Например, Ubuntu 18.04 поставляет OpenSSL 1.1.1, но также предоставляет libssl1.0.0, содержащий версию 1.0.2 библиотек для программ, созданных с ABI 1.0.0, с которым 1.0.2 остается совместимым. В системе с датой от -до -программа opensslвсегда относится к той же версии, что и библиотека, которую она использует, поскольку обе они происходят из одного исходного пакета. Но в системе, которая не соответствует дате -до -, вы, возможно, уже обновили библиотеку до 1.1.0k, но все еще имеете более старую версию исполняемого файла командной строки 1.1.0j.

3
28.01.2020, 02:29

Теги

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