Linux禁止用户访问某个目录

比如root用户生成了一个文件夹dir0,再执行

1
chmod o-rwx dir0

那么当非root权限用户usr0访问此目录

1
2
cd dir0/
bash: cd: dir0/: Permission denied

wsa__FaultSubcodeValues

编译gSoap生成的源码报找不到wsa__FaultSubcodeValues定义的错误。

解决方法:

在wsdl2h生成的.h文件中加入

1
#import "wsa.h"

再用soapcpp2生成源码。

sqlite将查询结果导出到文件

1
2
3
4
.separator "\t"
.output a.txt
SELECT name,?id FROM student;
.output stdout

这样就可把生成的a.txt导入到excel里了。

注意,sqlite导出的文本是unix格式,直接记事本打开看不到换行。

如何从.git本地仓库导出源码

拿到的包顶层只有一个.git文件夹,如何从中导出源码呢,比如将包解压到Firefly-RK3399_Android7.1.1_git_20170518下,目录结构为:

src/Firefly-RK3399_Android7.1.1_git_20170518/.git

当前目录为src,我们

mkdir android

cd android

git clone ../Firefly-RK3399_Android7.1.1_git_20170518

这样android目录下就有源码了。

Firefly-RK3399刷ubuntu系统

到官方提供的度盘里,在Firmware目录下,下载ubuntu的镜像,解压后得到后缀为.img的文件,比如Firefly-RK3399_xubuntu1604_201711301130.img

再在度盘的Tools目录下,下载AndroidTool,解压后,再解压里面的DriverAssitant,将type-c线接上电脑和板子,运行DriverAssitant,安装电脑端驱动。type-c线不要拨,按住板子的RECOVERY键,再点击RESET键重启,电脑端以管理员方式运行AndroidTool,会显示板子为Loader状态,点击“升级固件”tab页,“固件”按钮选择刚下载并解压的Firefly-RK3399_xubuntu1604_201711301130.img,再点击“升级”按钮,就进入刷机流程。

等自动刷完,会自动重启板子,接着HDMI接口的显示器会过好长一段时间后看到ubuntu桌面。

PS:不要以为AndroidTool名字里含有Android就以为这只能刷安卓的系统。

tensorflow contrib cannot import name rnn

1
2
3
4
5
6
7
8
9
>>> from tensorflow.contrib import rnn
ImportError: cannot import name rnn
 
>>> import tensorflow as tf
>>> from tf.contrib import rnn
ImportError: No module named tf.contrib
 
>>> print tf.__version__
0.8.0

表示tensorflow的装的版本太低了,至少要装0.9.0版,比如装这个版本:

1
2
3
4
5
6
7
$ pip uninstall tensorflow
 
# Ubuntu/Linux 64-bit, CPU only, Python 2.7
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.9.0-cp27-none-linux_x86_64.whl
 
# Python 2
$ sudo pip install --upgrade $TF_BINARY_URL

详情见:https://stackoverflow.com/questions/38386824/how-to-update-tensorflow-to-support-tf-contrib

再一点,新版的tensorflow只支持python3了,所以其实最简单的装tensorflow的方法是:

1
2
3
apt install pip3
 
pip3 install tensorflow