首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在bash中获取openssl的最新版本

在bash中获取openssl的最新版本
EN

Stack Overflow用户
提问于 2016-11-25 10:53:48
回答 2查看 1.2K关注 0票数 1

我试图在1.0.2 series in bash.Essentially中获取openssl的最新版本,我想获得最新版本的curl可用的下载链接,而bash.The中的最新版本是openssl在其github版本中没有使用latest标记。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-26 12:23:05

要获得最新的OpenSSL存档,您可以使用OpenSSL FTP镜像之一。下面是一个示例bash脚本。

代码语言:javascript
复制
#!/bin/bash

# An ftp mirror, see here https://www.openssl.org/source/mirror.html
mirror_url='ftp://gd.tuwien.ac.at/infosys/security/openssl/'

# Last modified date of source directory
last_modified=$(curl -s $mirror_url | awk '/source/{print $6,$7,$8}')

# OpenSSL archive with same modification Date as source dir
latest_archive=$(curl -s "$mirror_url"source/ | grep "$last_modified.*tar.gz$"|awk '{print $NF}')

# URL of latest release
latest_release=$mirror_url"source/"$latest_archive

# Download latest release
curl -sO "$latest_release"
票数 2
EN

Stack Overflow用户

发布于 2016-11-25 15:04:02

我试图在bash的1.0.2系列中获得openssl的最新版本.

据我所知,Bash不使用OpenSSL。它也没有内置的下载工具或管理器,因此需要使用外部命令,如curlwget

要执行下载,您需要访问OpenSSL下载页面。然后,简单地说:

代码语言:javascript
复制
$ wget https://www.openssl.org/source/openssl-1.0.2j.tar.gz
--2016-11-25 10:00:22--  https://www.openssl.org/source/openssl-1.0.2j.tar.gz
Resolving www.openssl.org (www.openssl.org)... 23.6.16.135, ...
Connecting to www.openssl.org (www.openssl.org)|23.6.16.135|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5307912 (5.1M) [application/x-gzip]
Saving to: ‘openssl-1.0.2j.tar.gz’

openssl-1.0.2j.tar. 100%[===================>]   5.06M  6.67MB/s    in 0.8s    

2016-11-25 10:00:23 (6.67 MB/s) - ‘openssl-1.0.2j.tar.gz’ saved [5307912/5307912]

$ tar xzf openssl-1.0.2j.tar.gz 
$

您可以使用以下内容编写它的脚本:

代码语言:javascript
复制
#!/usr/bin/env bash

VERSIONS=(z y x w v u t s r q p o n m l k j i h g f e d c b a)
for v in ${VERSIONS[@]};
do
    if [[ $(wget -S --spider https://www.openssl.org/source/openssl-1.0.2$v.tar.gz 2>&1 | grep 'HTTP/1.1 200 OK') ]];
    then
        if [[ ! $(wget https://www.openssl.org/source/openssl-1.0.2$v.tar.gz &>/dev/null) ]];
        then
            echo "Downloaded openssl-1.0.2$v.tar.gz"
        else
            echo "Failed to download openssl-1.0.2$v.tar.gz"
        fi

        break
    fi
done
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40803304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档