vim
显示行号可以快速的找到代码对应的行。
Ubuntu 16.04 LTS
下,vim
显示行号的命令如下:
1 |
$ sudo vim /etc/vim/vimrc |
在文件的最后一行增加
1 |
set nu |
即可。
Ubuntu(友邦拓,网友也喜欢称之为“乌班图”)是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想.
vim
显示行号可以快速的找到代码对应的行。
Ubuntu 16.04 LTS
下,vim
显示行号的命令如下:
1 |
$ sudo vim /etc/vim/vimrc |
在文件的最后一行增加
1 |
set nu |
即可。
一般来说你使用的主机会限制你上传文件的大小,在WordPress
的媒体文件上传可以看到,大多数都是2MB
。如果是图片的话可能会还够用,但是如果是其他文件就不一定够用了。
增大可以上传的文件大小的话,则执行如下命令
1 |
$ sudo vim /etc/php/7.0/fpm/php.ini |
搜索"upload_max_filesize
",把默认的2M
修改为需要的大小。
搜索"post_max_size
",把默认的8M
修改为需要的大小。
重启PHP-FPM
服务
1 |
$ sudo service php7.0-fpm restart |
重新刷新页面,上传文件即可。
最近在使用openface
来测试人脸识别,实际过程中发现识别速度非常缓慢,平均每帧的识别速度达到了秒级水平,这个是不可接受的。跟踪代码性能,发现是dlib
部分非常缓慢。
根据dlib
的文档,默认使用
1 |
$ sudo pip install dlib |
安装的dlib
库,由于对具体硬件的要求(CPU
需要支持AVX
指令集),是没有开启AVX
指令加速的,另外由于显卡的要求,也是默认不开启CUDA
的支持。
如果想要开启这部分加速,需要手工编译安装才可以,具体操作如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ cd ~ $ mkdir dlib $ sudo pip download dlib $ tar -zxvf tar -zxvf dlib-*.tar.gz $ cd dlib* #安装依赖的库 $ sudo apt-get -y install libopenblas-dev #移除我们以前安装过的dlib $ sudo pip uninstall dlib #开启AVX指令集支持 $ sudo python setup.py install --yes USE_AVX_INSTRUCTIONS |
上面的命令是使用AVX
指令加速功能的,如果机器上安装了CUDA
,则需要正确安装cuDNN 5.0
以上的版本,否在编译的时候会报告
1 2 3 4 |
-- Checking if you have the right version of cuDNN installed. -- *** Found cuDNN, but it looks like the wrong version so dlib will not use it. *** -- *** cuDNN V5.0 OR GREATER NOT FOUND. DLIB WILL NOT USE CUDA. *** -- *** If you have cuDNN then set CMAKE_PREFIX_PATH to include cuDNN's folder. |
对于使用
1 |
$ sudo apt install nvidia-cuda-toolkit |
安装的CUDA-7.5
来说,可以从这里下载cuDNN v6.0 (April 27, 2017), for CUDA 7.5,下载完成后,整个目录中的include
目录中的文件解压缩到/usr/local/include/
目录下,lib64
目录中的内容整个解压缩到/usr/lib/
目录下,并且在/usr/local/lib/
目录下建立libcudnn.so
的软链接
1 |
$ sudo ln -s /usr/lib/libcudnn.so /usr/local/lib/libcudnn.so |
都配置正确后,使用如下编译命令安装:
1 |
$ sudo python setup.py install --yes DLIB_USE_CUDA |
Easily Create High Quality Object Detectors with Deep Learning
执行
1 |
$ luarocks install cutorch |
发生如下错误:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[ 88%] Building C object lib/THC/CMakeFiles/THC.dir/THCStorageCopy.c.o In file included from generic/THCTensor.c:1:0, from /tmp/luarocks_cutorch-scm-1-8069/cutorch/lib/THC/THCGenerateAllTypes.h:17, from /tmp/luarocks_cutorch-scm-1-8069/cutorch/lib/THC/THCTensor.c:7: /tmp/luarocks_cutorch-scm-1-8069/cutorch/lib/THC/generic/THCTensor.c: In function ‘THCudaByteTensor_newExpand’: /tmp/luarocks_cutorch-scm-1-8069/cutorch/lib/THC/generic/THCTensor.c:304:3: error: implicit declaration of function ‘THLongStorage_calculateExpandGeometry’ [-Werror=implicit-function-declaration] THLongStorage_calculateExpandGeometry(tensor->size, ^ [ 90%] Building C object lib/THC/CMakeFiles/THC.dir/THCThreadLocal.c.o cc1: some warnings being treated as errors lib/THC/CMakeFiles/THC.dir/build.make:686: recipe for target 'lib/THC/CMakeFiles/THC.dir/THCTensor.c.o' failed make[2]: *** [lib/THC/CMakeFiles/THC.dir/THCTensor.c.o] Error 1 CMakeFiles/Makefile2:172: recipe for target 'lib/THC/CMakeFiles/THC.dir/all' failed make[1]: *** [lib/THC/CMakeFiles/THC.dir/all] Error 2 Makefile:127: recipe for target 'all' failed make: *** [all] Error 2 Error: Build error: Failed building. |
解决方法为:
1 2 |
$ luarocks install torch $ luarocks install cutorch |
error: implicit declaration of function ‘THLongStorage_calculateExpandGeometry’
在执行
1 |
$ sudo echo xxx > log.txt |
命令时候,会提示错误
1 |
Permission denied |
这个错误的原因在于sudo
给echo
提权,但是并没有给重定向命令提权,导致在输出到文件的时候是没有权限的。
解决方法为使用tee
命令,如下:
1 |
$ echo xxx | sudo tee log.txt |
ubuntu 16.04.2 LTS
版本提供了PHP 7.0
,这个版本的PHP
拥有更好的性能,更低的资源开销,考虑了很久,终于决定还是把目前的ubuntu 14.04.5 LTS
升级到ubuntu 16.04.2 LTS
。
mytop
的项目页面为:http://jeremy.zawodny.com/mysql/mytop/
Ubuntu 14.04
上的安装非常简单,命令如下:
1 |
$ sudo apt-get install mytop |
安装完成后,执行如下命令启动(本机数据库的情况):
1 |
$ sudo mytop -uroot -ppassword |
启动后的界面如下图:
最近在使用百度统计的网站安全功能的时候,被报告存在873
端口被打开的情况,刚开始以为是被入侵了,后来发现是在测试功能的时候无意安装了rsync
导致的rsyncd
在873
端口进行监听。
解决方法就是卸载rsync
即可:
1 2 3 4 |
$ sudo apt-get purge --auto-remove rsync #需要重启机器,否则端口可能出现长时间仍然开放的状态 $ sudo reboot |
Ubuntu 16.04 LTS
上使用Python2
与Python3
是共存的,而且默认使用Python2
,如果使用Python3
则需要明确指定。
1.安装Python3
版本的PIP
1 2 3 |
$ sudo apt-get install python3-pip $ sudo pip3 install --upgrade pip |
2.安装Python3
版本的NumPy
1 |
$ pip3 install numpy |
3.安装Python3
版本的OpenCV
1 |
$ sudo pip3 install opencv-python |
注意,目前的Python3
版本的OpenCV
是不支持cv2.imshow()
的,具体查看https://pypi.python.org/pypi/opencv-python,可以看到如下信息:
1 2 3 |
**Q: Why I can't open GUI windows (``cv2.imshow()``) on GNU/Linux distribution X or on macOS?** A: Like above, OpenCV was not compiled against GTK or Carbon. Support for these might be added in the future. |
ubuntu 16.04 LTS
上比较好用的16
进制编辑&比较工具,当属wxHexEditor
,官网地址在http://www.wxhexeditor.org/。
在Ubuntu
系统上,可以使用如下命令安装:
1 2 3 |
$ sudo apt-get install wxhexeditor $ wxHexEditor |