Mac升级openssl

来源:互联网 发布:windows 8.1K 编辑:程序博客网 时间:2024/04/27 15:26

一直想要升级Mac上的openssl,但是前面没弄成功,所以耽搁到现在。今天由于安装一个软件需要安装openssl到1.0.1版本以上,所以查了下资料,终于升级成功了,也算是还了前面自建证书配置HTTPS服务器这篇博客的债。

首先,来看看我们的openssl的版本和目录

12345
$ openssl versionOpenSSL 0.9.8zh 14 Jan 2016$ which openssl/usr/local/bin/openssl

通过上面的查看,明显我们的版本号太低了,于是google了下,找到了http://apple.stackexchange.com/questions/126830/how-to-upgrade-openssl-in-os-x。

按照上面的步骤,我们首先更新homebrew

12345678910111213141516
$ brew updateError: Cowardly refusing to `sudo brew update`You can use brew with sudo, but only if the brew executable is owned by root.However, this is both not recommended and completely unsupported so do so atyour own risk.bogon:Downloads user$ brew updateError: The /usr/local directory is not writable.Even if this directory was writable when you installed Homebrew, othersoftware may change permissions on this directory. Some versions of the"InstantOn" component of Airfoil or running Cocktail cleanup/optimizationsare known to do this.You should probably change the ownership and permissions of /usr/localback to your user account.  sudo chown -R $(whoami):admin /usr/local

很不幸,我们在更新的时候遇到了一个错误,好在homebrew有错误提醒,我们按照提醒执行下面命令,继续安装。

12345
$ sudo chown -R $(whoami):admin /usr/local$ brew updateUpdated Homebrew from e3986e9 to 21ce7a5.==> Migrating Homebrew to v0.9.9...

看到这个信息,就是成功的在更新了,这个过程可能比较久点。更新完之后,我们开始通过homebrew安装openssl。

1234567
$ brew install openssl==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2h.el_capitan.b######################################################################## 100.0%...==> Summary��  /usr/local/Cellar/openssl/1.0.2h: 1,691 files, 12M

当最后显示��那个标志,说明我们成功的将openssl安装到/usr/local/Cellar/openssl/1.0.2h

不过,我们还有最后一步,那就是当我们使用openssl时,使用的是我们用homebrew新下载的openssl。为了达到这个目的,我们有两种方法。

第一种:

将homebrew下载的openssl软链接到/usr/bin/openssl目录下。这里,我们先将它保存一份老的,然后再软链接新下载的。

12345
$ mv /usr/bin/openssl /usr/bin/openssl_oldmv: rename /usr/bin/openssl to /usr/bin/openssl_old: Operation not permitted$ ln -s /usr/local/Cellar/openssl/1.0.2h/bin/openssl /usr/bin/opensslln: /usr/bin/openssl: Operation not permitted

Operation not permitted提示没有权限操作,对/usr/bin目录下的东西,我已经遇到过几次这个问题了,于是继续google,在stackoverflow上找到了Operation Not Permitted when on root El capitan (rootless disabled)。

重启系统,当启动的时候我们同时按下cmd+r进入Recovery模式,之后选择实用工具 => 终端,在终端输入如下命令,接口文件系统的锁定,并且重启电脑(cmd+r后,会进入另外一个选择系统启动的界面,在这个界面里面不要马上重新启动,先找到终端,在終端中输入csrutil disable):

12
$ csrutil disable$ reboot

最后,我们执行前面两个命令,查看版本。

1234
$ mv /usr/bin/openssl /usr/bin/openssl_old$ ln -s /usr/local/Cellar/openssl/1.0.2h/bin/openssl /usr/bin/openssl$ openssl versionOpenSSL 1.0.2h  3 May 2016

这样,我们的openssl升级成功了。不过,为了安全起见,我还是重新启动电脑,然后重新开启了csrutil

第二种:

在操作完前面一种方法之后,我发现了一个更简单的方式,那就是直接将openssl软链接到/usr/local/bin/openssl

12345678
#如果/usr/local/bin/openssl下存在,则先删除 /usr/local/bin/openssl$ rm /usr/local/bin/openssl#将以前通过homebrew下载的1.0.2e版本的openssl链接到/usr/local/bin/openssl$ ln -s /usr/local/Cellar/openssl/1.0.2e/bin/openssl /usr/local/bin/openssl$ opensslOpenSSL 1.0.2e 3 Dec 2015


执行" ln -s ..." 的时候,注意目录,前面的目录为安装目录,不同的版本目录可能不一样

总结

主要记录了安装openssl过程中遇到的一些问题,同时也知道当如果对/usr/bin类似文件目录无操作权限的时候怎么解锁文件系统。当然,最好是将命令通过ln链接到/usr/local/bin,这个目录下的权限苹果还是开放给我的。


1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 借款超过2年怎么办 网吧没带身份证怎么办 异地身份证没磁怎么办 指纹浅怎么办怎么保护 打卡指纹不清晰怎么办 驾考指纹录不上怎么办 指纹读不出来怎么办 中国银行卡吞了怎么办 存钱钱卡住了怎么办 办理身份证指纹录不上怎么办 手指没有指纹了怎么办 签了户口身份证怎么办 生了三胎户口怎么办 双户口注销学历怎么办 户口注销了社保怎么办 科一指纹录不上怎么办 右倒库右边太宽怎么办 手机录不了指纹怎么办 6sp指纹不灵敏怎么办 手指纹汗多怎么办? 手指没指纹怎么办身份证 青岛身份证丢了怎么办 新身份证没激活怎么办 坐轻轨没身份证怎么办 办身份证指纹录不上怎么办 指纹固化剂干了怎么办 指纹解锁没反应怎么办 荣耀v8指纹失灵怎么办 指纹多次不匹配怎么办 华为指纹被禁用怎么办 手脱皮没有指纹怎么办 手脱皮手机指纹怎么办 手脱皮录指纹怎么办 科二指纹打不上怎么办 三星手机无法解锁怎么办 iphone7指纹坏了怎么办 苹果8录不上指纹怎么办 手机套总是粘指纹怎么办 华为p9指纹禁用怎么办 华为p10升级失败怎么办 手机指纹锁没反应怎么办