一、问题阐述:
我将Windows下的共享目录(赋予了读写权限)挂载到本地的一个节点(mount)下,然后通过代码在指定路径下创建(或者拷贝)一个uk库,对这个uk库进行操作(创建表或者给表插入数据)时,提示Error:database is locked,接着我对这个uk库赋777的权限,但是查看时发现权限未改变;我将这个uk拷贝到mount以外的路径下,用sqlite3进行操作,提示Error: attempt to write a readonly database,然后对这个库赋777的权限,此时权限更改成功,进行操作也是没有问题。请问到底是什么原因,怎么解决?
直接在Windows下操作是没有任何问题的。
二、操作流程
1、mount 命令
sudo mount //192.168.6.72/WorkData ./mount/ -o username=Administrator,vers=2.0
2、通过代码拷贝一个uk库
3、对uk文件进行操作及结果
4、对uk文件进行提权操作及结果
5、将uk文件拷贝到mount以外的路径下,然后进行操作及结果
6、对uk进行提权操作及结果
7、再次对uk进行操作及结果
8、在Windows下操作及结果
解决方法:将共享目录下的东西拷贝出来操作。
总结:1、Linux下共享目录有一个权限上的问题,一般都是要拷贝出来操作。
2、设置程序共享库位置方法:export LD_LIBRARY_PATH=./lib:\(LD_LIBRARY_PATH或者export LD_LIBRARY_PATH=/home/test/lib:\)LD_LIBRARY_PATH