简介

这里指的modules不是linux内核相关的module,只是用于软件多版本控制的一个开源软件包,比如说系统同时有neo4j的不同版本,使用modules软件就可以使得在需要的时候选择相应的软件版本.并且有相应的conflict等操作

软件地址

http://modules.sourceforge.net/(可下载源码包)

module command:http://modules.sourceforge.net/man/module.html

modulefile:http://modules.sourceforge.net/man/modulefile.html

编译安装

1)编译安装两步,一是安装tcl,二是安装modules,步骤均为configure,make,make install(./configure --help可查看configure参数)

2)需要安装tcl包,软件下载地址为http://tcl.activestate.com/,本次选择8.5.6版本,编译安装参照http://tcl.activestate.com/doc/howto/compile.html

如configure:

 ./configure --prefix=/home/guangfa/files/tcl_865_install --enable-threads

3)然后编译安装modules要设置module的configure的--with-tcl-lib参数,如果报错“cmdModule.c:643:35: error: 'Tcl_Interp' has no member named 'errorLine'”,configure时加上CPPFLAGS="-DUSE_INTERP_ERRORLINE"。

 ./configure --prefix=/home/guangfa/files/modules_install --with-tcl-lib=/home/guangfa/files/tcl_865_install/lib CPPFLAGS="-DUSE_INTERP_ERRORLINE"

4)设置环境变量初始化modules

 #~/.bashrc
. /home/guangfa/files/modules_install/Modules/3.2./init/bash

5)编译安装结果

演示配置(neo4j graph database)

1)版本:neo4j-community-2.3.2,neo4j-community-2.3.3

2)modulefiles 配置

2.1 在/home/guangfa/files/modules_install/Modules/3.2.10/modulefiles文件夹下,建立neo4j文件夹,

2.2 建立2.3.2与2.3.2文件

(2.3.3文件)注意第一行不能变

 #%Module1.#####################################################################
##
## neo4j modulefile
##
## modulefiles/modules. Generated from modules.in by configure. conflict neo4j setenv NEO_HOME /home/guangfa/files/neo4j-community-2.3.;
prepend-path PATH {/home/guangfa/files/neo4j-community-2.3./bin};
prepend-path LD_LIBRARY_PATH {/home/guangfa/files/neo4j-community-2.3./lib};

(2.3.2文件)

 #%Module1.#####################################################################
##
## neo4j modulefile
##
## modulefiles/modules. Generated from modules.in by configure. conflict neo4j
setenv NEO_HOME {/home/guangfa/files/neo4j-community-2.3.};
prepend-path PATH {/home/guangfa/files/neo4j-community-2.3./bin};
prepend-path LD_LIBRARY_PATH {/home/guangfa/files/neo4j-community-2.3./lib};

2.3 设立默认的版本,cp 2.3.3 .default,这样就将2.3.3设为默认版本

3)module avail

4)版本load与unload示意图

5)将module load neo4j写进.bashrc文件,就可以默认使用2.3.3版本

备注:感谢老司机的指点~

Linux-modules software的更多相关文章

  1. Linux modules install

    安装模块的时候出现错误:modprobe: chdir(3.0.35-g6774ed9-dirty): No such file or directory. 内核模块没有安装正确.本文记录解决方法. ...

  2. Linux Modules Introduction

    Modules are small kernel extensions ,that may be loaded and unloaded at will● Can implement drivers, ...

  3. Linux 基础

    命令说明 $ type cmd # 获取命令类型 $ which cmd # 命令的位置 $ help cmd / cmd --help / man cmd # 获取命令帮助 $ whatis cmd ...

  4. linux奇技淫巧 2

    压缩解压==================================================================================== unzip xx.zi ...

  5. linux奇技淫巧

    用着用着就发现,linux的每个命令都是那么的深奥而富有技巧,实用而淫荡..真可谓奇技淫巧.... 初学的真不易掌握... http://www.cnblogs.com/include/archive ...

  6. 跟着鸟哥学Linux系列笔记0-扫盲之概念

    相关缩写全称: POSIX(Portable Operation System Interface):可携式操作系统接口,重点在于规范内核与应用之间的接口,由IEEE定义发布 IEEE: 美国电气与电 ...

  7. 07 Linux su和sudo命令的区别

    一. 使用 su 命令临时切换用户身份 1.su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用 ...

  8. 如何测量一个嵌入式Linux系统的功耗/power dissipation/power wastage/consumption

    参考: 1.Linux Circuit Software To Calculate Power Dissipation

  9. 如何编写Linux设备驱动程序

    一.Linux device driver 的概念 系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口.设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看 ...

  10. android-tools adb for ARM Linux

    /************************************************************************* * android-tools adb for A ...

随机推荐

  1. 【原】storm源码之理解Storm中Worker、Executor、Task关系

    Storm在集群上运行一个Topology时,主要通过以下3个实体来完成Topology的执行工作:1. Worker(进程)2. Executor(线程)3. Task 下图简要描述了这3者之间的关 ...

  2. HDU 2896 (AC自动机模板题)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2896 题目大意:多个模式串.多个匹配串.其中串的字符范围是(0~127).问匹配串中含有哪几个模式串 ...

  3. 【POJ】2954 Triangle(pick定理)

    http://poj.org/problem?id=2954 表示我交了20+次... 为什么呢?因为多组数据我是这样判断的:da=sum{a[i].x+a[i].y},然后!da就表示没有数据了QA ...

  4. 【BZOJ】3224: Tyvj 1728 普通平衡树(某不科学的oj)

    http://www.lydsy.com/JudgeOnline/problem.php?id=3224 无力吐槽,无力吐槽,无力吐槽....... bzoj竟然不能用time(0)我竟然不造!!re ...

  5. 用Git进行协同开发

    用Git进行协同开发 问题场景描述 常常会遇到这样的协同场景:后台的同事和前端的同事需要共同开发一个新功能,而他们的代码相互依赖,所以需要不停地更新各自的代码进行联调. 对于这种场景,最简单的方式就是 ...

  6. mysql多种方法修改密码----5.6的坑

    创建用户并授权和改密码: grant all privileges on *.* to root@'%' identified by '123456' with grant option;     * ...

  7. PreparedStatement与Statement的区别

    PreparedStatement与statement的区别 1.PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程 2.使用 Statement 对象 ...

  8. [转]C#开发ActiveX控件,.NET开发OCX控件案例

    引自:百度   http://hi.baidu.com/yanzuoguang/blog/item/fe11974edf52873aaec3ab42.html 讲下什么是ActiveX控件,到底有什么 ...

  9. Scrum会议5

    组名称:天天向上 项目名称:连连看 参会成员:王森(Master)张金生 张政 栾骄阳 时间:2016.10.20 已完成内容: 1.游戏中实现了两个按钮消除的算法. 2.在游戏中加入了音乐. 计划完 ...

  10. nodejs:grunt使用合并压缩的基本使用

    一.模块化历史 1,nodejs出现:主要解决后端js规范 2,commonjs:这个组织出来一些服务器规范 3,后端规范commonjs应用升级到前端commonjs2:cmd规范(seajs)和完 ...