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

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

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

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

参考链接


Ubuntu分析磁盘使用情况

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

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

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

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

参考链接


Ubuntu 16.04上查看dd命令的进度信息

Ubuntu 16.04系统上执行如下命令

的时候,可能会非常耗时,这个时候,如果让 dd命令输出执行进度信息,会非常有用。

重新打开一个 Shell,然后执行如下命令即可每秒输出一次进度信息

参考链接


Ubuntu 16.04系统上Clang与GCC之间切换

在编译 C++代码的时候,我们有时需要比较一下不同编译器之间优化性能的差异,因此需要在 ClangGCC之间进行切换,用来比较最后的实际效果。

Ubuntu 16.04系统上使用如下命令进行切换

参考链接


Switching between GCC and Clang/LLVM using CMake

Ubuntu 16.04上Linux C++程序性能分析工具perf使用入门

目前, perfLinux系统上最全面最方便的一个性能检测工具。由 Linux内核携带并且同步更新。

Ubuntu 16.04系统上需要执行如下命令安装:

使用方法如下( gcc编译时最好使用 -g参数,生成符号,方便调试):

参考链接


Linux C++程序进行性能分析工具gprof使用入门

软件的性能是软件质量的重要考察点,不论是在线服务程序还是离线程序,甚至是终端应用,性能都是用户体验的关键。这里说的性能重大的范畴来讲包括了性能和稳定性两个方面,我们在做软件测试的时候也是要重点测试版本的性能表现和稳定性的。对于软件测试过程中发现的性能问题,如何定位有很多的方法。基本的方法可能是开发者对代码进行 review,或者是使用一些工具对代码进行性能分析。常见的性能分析工具有哪些呢?以下两篇文章做了详细的总结:

gprof是可用于 Linux C++代码性能分析工具之一。
继续阅读Linux C++程序进行性能分析工具gprof使用入门

解决执行"sudo echo xxx > log.txt" 时提示"Permission denied"

在执行

命令时候,会提示错误

这个错误的原因在于 sudoecho提权,但是并没有给重定向命令提权,导致在输出到文件的时候是没有权限的。

解决方法为使用 tee命令,如下:

参考链接


避免’sudo echo x >’ 时’Permission denied’

ubuntu 16.04 LTS更改机器名后执行sudo提示"sudo: 无法解析主机:xx-ubuntu: 连接超时"

ubuntu 16.04 LTS更改机器名后执行 sudo提示" sudo: 无法解析主机:xx-ubuntu: 连接超时"。
出现这种问题是 hosts文件没有配置好所导致的, linux无法解析到您的主机地址,解决方案如下:

打开文件以后,将其中的:

修改为新的主机名。

Ubuntu 14.04上的Apache服务器限制单个用户的下载带宽

今天突然发现自己的服务器访问异常缓慢,从阿里云的监控平台上看到,CPU的利用率并不高,但是带宽却已经被吃满了,导致网站访问异常缓慢,跟踪了一下发现是某个用户下载网站上的大文件导致了带宽吃紧的情况。因此需要限制某个用户的独占带宽。

具体操作


1.安装带宽限制模块

2.启用模块

3.配置网站对于带宽的限制规则

在原有的

之间增加如下内容

然后重启 Apache2.

注意,如果配置了HTTPS,那么对应的配置文件也需要调整。

参考链接