ubuntu 16.04执行letsencrypt的时候报告错误“ImportError: No module named datetime”

网站一直使用 letsencrypt提供的 HTTPS证书,这个证书的问题在于每隔三个月就必须更新一次,本次更新证书的时候,提示如下错误:

错误发生的原因在于 letsencrypt自己构建了一个 Python的虚拟环境来隔离,但是早期建立的虚拟环境中是缺少部分软件包的,而自身的 BUG导致也没有重新更新虚拟环境,导致出现异常。

解决方法就是删除 letsencrypt自己构建的 Python的虚拟环境,然后继续执行脚本让他重建即可。

参考链接


语音识别商用开源代码与免费开放平台最全盘点分析

声学在线前几日盘点了语音识别业界相关的公司和技术,引起了众多朋友的关注。不少朋友都在咨询声学在线关于技术细节问题,因此,我们打算春节期间连续发布几篇深度文章,希望从语音识别领域的公司、技术、算法和专利的层面解读出语音识别的产生、发展、应用与瓶颈,以此提供给相关行业的朋友们作为参考。

目前朋友们最关心的就是当前有哪些语音识别开放平台,显然大家更担心被某个平台所绑架。为了促进语音识别的行业发展,我们更深入一步,不仅盘点当前的商业开放平台,也把这个领域的开源代码详细盘点一番,让更多的朋友了解这个行业。

语音识别领域的商用开源代码盘点

语音识别是一门交叉学科,其所涉及的领域包括:信号处理、模式识别、概率论和信息论、发声机理和听觉机理、人工智能等等。但是随着深度学习技术的发展,云端的语音识别更多的偏向于计算机技术。显然,从事计算机技术研究的人员更加众多,这也是语音识别的快速发展的基础,因而也形成了语音识别的开源代码要比开放平台更多的现象。

提到语音识别的开源代码,首先就要提到三个非常著名的开源平台,即Kaldi、CMU Sphinx和Julius。笔者大概按其重要性做了以下排名,Sphinx、HTK之类曾经很红火,但是确实也有点太老了。而Kaldi是Apache licence,完全可以商用,美国和中国很多公司都是直接修改Kaldi生成的语音识别引擎。另外,很多巨头公司内部研究部门也是在用Kaldi做研发,关于这些欢迎留言讨论。

继续阅读语音识别商用开源代码与免费开放平台最全盘点分析

Ubuntu 16.04系统上修改Docker镜像的存储路径

最近在 Ubuntu 16.04系统上使用 Docker结果由于默认的镜像存储路径在系统分区上,而系统分区又不足够大,导致整个系统都不能正常工作了。

因此我们需要把 Docker的镜像存储目录移动到数据分区。

执行如下命令查询默认的存储路径

我们看到如下输出

比较简单的方法是通过软链接的方式来实现,具体命令如下:

参考链接


Ubuntu 14.04系统上安装部署OpenWhisk(本地CouchDB版本)

1.安装配置CouchDB

校验 CouchDB是否工作正常

看到如下输出即可

2.编译配置OpenWhisk

下载 OpenWhisk的源代码

配置 OpenWhisk编译需要的环境

执行编译

3.发布并运行OpenWhisk服务

配置运行环境

安装必备软件

运行测试 Demo

如过想查看刚刚通过 vagrant部署完成的镜像系统里面的内容,则执行如下命令:

如果成功部署了 OpenWhisk,那么可以在 Docker机器中执行如下代码验证是否可以正常调用

外部的机器访问则执行如下命令来验证

4.遇到的问题

最大的问题是在编译发布的过程中系统分区被消耗干净,导致编译发布失败。
解决方法如下
1.参照Ubuntu 16.04系统上修改Docker镜像的存储路径介绍的方法调整 Docker镜像的存储路径到合适的分区
2.如果使用 sudo的方式执行,那么可能会在 /root目录下生成虚拟机的镜像文件,同样导致系统分区被消耗,解决方法也是通过软链接的方式把 /root目录链接到合适的分区目录

如过执行中遇到如下错误,则增加 -i参数即可

参考链接


Ubuntu分析磁盘使用情况

Ubuntu系统上,由于某些原因导致磁盘空间不足,需要分析一下磁盘使用情况,看看是哪个目录或者应用占据了磁盘。

Ubuntu系统默认自带的磁盘分析工具是 baobab,如果没有自动安装,可以执行如下命令来手动安装:

这个工具的问题在于,如果直接点击启动,会由于权限问题,无法完整的分析磁盘。

因此,需要在命令行下面用 root权限去执行:

参考链接


获得ubuntu的版本与Codename

有时我们需要获取 ubuntu系统的版本信息,尤其是 Codename部分,某些包安装的时候会根据 Codename来区分。

打印 ubuntu系统的版本信息的命令如下:

命令输出的结果如下:

提取 Codename部分的字段的命令如下: