centos lua 安装(centos安装python3)
ubuntu下怎么安装torch
Torch简介
Torch是一个广泛支持机器学习算法的科学计算框架,由于采用简单而快速的脚本语言LuaJIT和一个底层的C/CUDA实现,Torch易于使用且高效。
Torch安装
首先,值得注意的是,最新版的Torch支持Ubuntu,Fedora20,Fedora22,Centos7。但不支持Fedora21,Centos6。
参考官网安装流程安装,如下所示,
# in a terminal, run the commands
git clone
cd~/torch; bash install-deps;
./install.sh12341234
在执行bash install-deps安装依赖时并未出错,但执行./install.sh时会出一些错误,见下面。
Torch安装问题汇总
错误1
错误类似于:
nvcc error:'***' died due to signal 2
解决方案:sudo./install.sh
错误2
Error: Build error: Failed building.
Updating manifest for/root/torch/install/lib/luarocks/rocks
fftw3 scm-1 is now built and installed in/root/torch/install/(license: BSD)123123
错误3
Error: Failed installing dependency: Could not find header file for OPENSSL
No file openssl/evp.h in/usr/local/include
No file openssl/evp.h in/usr/include
You may have to install OPENSSL in your system and/or pass OPENSSL_DIR or OPENSSL_INCDIR to the luarocks command.
Example: luarocks install luacrypto OPENSSL_DIR=/usr/local1234512345
参照Problem with Torch#86,执行sudo apt-get install-y libssl-dev安装libssl-dev,之后重新安装Torch即可。
错误4
提示缺少依赖lbase64,luacrypto,uuid等,可直接执行luarocks install missed-package解决。
使用lua-cmsgpack序列化和反序列化lua对象
lua-cmsgpack是一个开源的MessagePack实现方式、纯C的库,没有任何其它依赖,编译后可以直接被lua调用,目前主要支持Lua 5.1/5.2/5.3版本。
1、什么是MessagePack?
官方的解释是:
跟JSON及其类似,但是比JSON更快并且占用空间更小,举个官方给出的例子,直接截官方图:
翻译官方的解释:
MessagePack是一种高效的二进制序列化格式,它允许在多种语言(如JSON)之间交换数据,但它越来越小,小整数被编码为单个字节,典型的短字符串除了字符串本身之外还需要一个额外的字节。
目前市面上流行的开发语言MessagePack几乎支持,官方的地址为: MessagePack也提供了一套开源库,地址在: 。
但是,作者使用的是lua-cmsgpack,至于哪个比较优异,作者还没有去比较,主要是先发现了lua-cmsgpack,后面看了下README文件,使用方法应该是差不多的,大家可以拿来参考。
lua-cmsgpack包括官方提供的lua-MessagePack都需要自行编译,因为可能平台太多,所以官方没有为每一个平台提供编译好的版本。lua-cmsgpack的github地址为:
git clone下来之后需要安装cmake工具,mac平台直接在项目目录:
即可,当然需要预先安装lua,并且是5.1版本以上的。
主要说下CentOS平台下cmake可能会出现的问题,如果cmake的过程出现以下错误:
出现以上错误的话,需要自行安装lua的一些依赖库,一般:
就可以了,如果还不行,再试试下面的命令:
编译完成之后会生成cmsgpack.so文件,使用的时候直接require进去即可
运行效果:
cmsgpack.pack()可以把多个lua对象序列化成一个二进制msgpack,执行反序化的时候会返回对应数量的lua对象,非常的方便。
有趣的是redis也支持MessagePack,因此结合lua和lua-cmsgpack可以产生不错的化学反应,下面是一个简单的例子(结合OpenResty):
测试返回结果:
在某些场合还是有不错应用场景的。
linux系统实时同步(lsync)
为了实现 Linux系统的实时同步,您需要在服务端安装并配置 lsync和 rsync服务。对于 CentOS系统,使用 yum命令直接安装即可。Ubuntu系统则需要在安装后配置相应的配置文件和修改配置。在本文章中,我们将详细介绍在 Ubuntu系统上安装 lsync的步骤,并且解释配置文件的必要性。
在 Ubuntu Server上,您无需安装配置文件即可直接安装 lsync和 rsync。然而,直接启动服务时会遇到错误。对于 rsync来说,服务端不需要特定的配置文件,一个空的配置文件就足够了。对于 lsync,则需要对启动脚本进行修改。
在 Ubuntu Server的启动脚本/etc/init.d/lsyncd中,将默认配置项 CONFIG=/etc/lsyncd/lsyncd.conf.lua更改为 CONFIG=/etc/lsyncd/lsyncd.conf。这样配置之后,lsync服务就能正常运行。
对于客户端的 rsync配置文件,您需要根据自己的需求进行相应的配置。这将决定 rsync服务如何操作以及与服务器之间的同步策略。
在配置文件中,您可以设置源文件和目标文件,同时定义同步操作的规则,例如是否只同步更改的文件,或者按照时间顺序同步文件等。此外,您还可以设置安全选项,例如密码认证、SSH密钥认证等,以确保数据传输过程中的安全性。
总之,通过在服务端和客户端上分别配置 rsync和 lsync,您可以实现 Linux系统的实时同步。在配置文件中,您可以根据实际需求定制同步策略,从而确保数据的一致性和完整性。