材料准备:

CentOS 7 x86_64

IDL 8.2,下载自 ftp://ftp.lowell.edu/incoming/temp/old/IDL_Clients/v8.2/idl82sp2linux.x86_64.tar.gz

参考资料:

[1] centos6.9安装idl8.2,亲测成功!!!

[2] ubuntu下IDL8安装及破解步骤(已自测通过)

[3] centos 7 物理机添加虚拟网卡

[4] LINUX IDL8.4安装 那些坑!

安装步骤:

1、下载IDL

mkdir ~/Downloads/IDL

cd ~/Downloads/IDL

wget ftp://ftp.lowell.edu/incoming/temp/old/IDL_Clients/v8.2/idl82sp2linux.x86_64.tar.gz

2、找到相应的license破解文件

2.0 license文件

在网上找到一个破解文件,内容如下,并将其保存为 license.dat 文件。

############ license file comments, do not delete ###############
# License Number(s):705016
SERVER xxx bc305bd94286 1700
USE_SERVER
DAEMON idl_lmgrd
INCREMENT idl idl_lmgrd 8.200 1-jan-0000 12 B5ED924F5F29E2AF
VENDOR_STRING=705016TOHOKU ck=186 SIGN="0B28 D32E 6E90 74D9
A0BB F2ED AC90 F39D 318D F197 26FB B996 C8C4 B225 76C8 009A
52FD AB87 3FE1 06B9 1AA9 FD57 A46E 94A8 3764 9F97 D1F8 2653
D36D 7018"
INCREMENT idl_bridge_assist idl_lmgrd 8.200 1-jan-0000 2
F2004C85D332BFF5 VENDOR_STRING=705016TOHOKU ck=105 SIGN="08BA
CD27 8E25 5309 ED01 983C 59C6 183A EE24 A464 706F F499 3607
416A 0CE1 16D8 425F CC40 3C90 8BAB 9E1E ECFB D9C5 C9E4 3517
1D7E 1B8F 296C 3DC3 1AEB"
INCREMENT idl_video_write idl_lmgrd 8.200 1-jan-0000 2
F0A17234C4CCC039 VENDOR_STRING=705016TOHOKU ck=92 SIGN="08A2
A99F F7DB 7C58 9AF8 B52F D70F 3B6E F686 DE0F FDB7 CE79 BD82
3494 500F 0A12 5C97 8375 0AE0 E848 0B20 69CA AFA2 DE8D AC10
8173 DBFC B93E 574A DBB4"
INCREMENT idl_wavelet idl_lmgrd 8.200 1-jan-0000 2 20B1118017C42245
VENDOR_STRING=705016TOHOKU ck=41 SIGN="0DBC 606C 1E2D 3FD8
19FD 61DE F909 3BCD E7E4 5314 30BA 60CC 015D 0BD0 100D 1E33
CC5A 96F0 64C0 9B08 D033 E075 1DBA DE77 AE90 08A8 8AB7 C4C3
0037 C672"
FEATURESET idl_lmgrd D093522208F1C61A
##################### end of license file #######################

破解文件的 SERVER xxx bc305bd94286 1700 一行,提供了许可文件适用的用户名和Mac地址。

其中,红色字段(xxx)是主机名,需要将它替换为本机的主机名,它是bash命令hostname的返回值。

蓝色字段(bc305bd94286)是MAC地址,需要在本机上生成一个与它一致的MAC地址,可以采用参考资料[3]中的方法生成虚拟MAC地址,具体操作如下。

2.1 获取xxx

2.2 修改本机的MAC地址 (摘自资料[3]

新建一个虚拟网格eth1,要不然有的网络环境可能会导致您的计算机出现无法上网的情况,这需要安装tunctl工具。

2.2.1 确认内核是否支持tun/tap

确认内核是否有tun模块

[...] $ modinfo tun

filename:       /lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/net/tun.ko.xz
alias:          devname:net/tun
alias:          char-major-10-200
license:        GPL
author:         (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
description:    Universal TUN/TAP device driver
retpoline:      Y
rhelversion:    7.6
srcversion:     A215175F959FA6FE8B76ECD
depends:        
intree:         Y
vermagic:       3.10.0-957.el7.x86_64 SMP mod_unload modversions
signer:         CentOS Linux kernel signing key
sig_key:        B7:0D:CF:0D:F2:D9:B7:F2:91:59:24:82:49:FD:6F:E8:7B:78:14:27
sig_hashalgo:   sha256

加载内核模块

[...] $ modprobe tun

[...] $ lsmod | grep tun

tun                    27141  2

执行以上命令后,出现如上输出,说明模块加载成功。

2.2.2
创建和配置虚拟网卡

确认是否有tunctl命令,如果没有则安装它。

可直接装rpm包(参考的https://pkgs.org/centos-7/nux-misc-x86_64/tunctl-1.5-12.el7.nux.x86_64.rpm.html

下载rpm源码,解压,并复制到相应的IDL安装目录内:

[xxx@del idl]$ wget http://li.nux.ro/download/nux/misc/el7/x86_64/tunctl-1.5-12.el7.nux.x86_64.rpm
[xxx@del idl]$ sudo rpm -ivh ./tunctl-1.5-.el7.nux.x86_64.rpm

注意,虚拟网卡的MAC地址,要与步骤2.0中的license文件中的蓝色字段(bc305bd94286)保持一致,即:

[xxx@del idl]$ tunctl -t eth1 -u root

[xxx@del idl]$ sudo ifconfig eth1 hw ether bc:30:5b:d9:42:86  

[xxx@del idl]$ ifconfig -a #查看你的虚拟网卡eth1的MAC地址是否已修改成功。
...
eth1: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether bc:30:5b:d9:42:86 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
...

(注:下载的license文件,有可能不能使用,这就需要在安装完IDL文件,重复2.0这一步,具体可参考后文中 Bug.2 一小节的内容)

至此,IDL安装前的准备工作,就做好了。接下来,开始IDL的安装过程。

3. 安装IDL

mkdir /opt/idl

cp ./idl82sp2linux.x86_64.tar.gz /opt/idl

sudo tar -xopf idl82sp2linux.x86_64.tar.gz

sudo ./install.sh 

安装过程,根据提示,有一个是要输入安装的目标路径,其余皆是yes/no的选项,一般yes即可。

在弹出的license对话框中,首先选择第三项Install a license you have received,点Next

然后找到并选中之前更改并保存过的license.dat,点OK

然后同时选择Install license manager以及Start license manager,点Next(这一步默认两者都是选种的状态,小方框凹进去,所以到这一步直接点Next)

再点击Finish,结束​

4. 开机自动执行

以上操作,在重启或者断网之后,都会失效,需要重新进行license的相关操作才行。

将虚拟网卡的设置写入开机脚本,这样重启之后就不用重新进行license的相关操作就能使用idl了。

[xxx@del bin]$ sudo vi /etc/rc.local

在 /etc/rc.local 中,将以下代码加到 exit 0 (可能没有 "exit 0" 这一句)的前面,然后保存:

#create a vitual network card for activation of idl8.
ifconfig eth1 down
tunctl -t eth1 -u root
ifconfig eth1 hw ether bc::5b:d9::
ifconfig eth1 up

要让这个文件开机自动执行,还需要增加可执行权限:  chmod +x /etc/rc.d/rc.local

同时,系统的 license 文件变量,也需要在~/.bashrc文件中同步更新,将idl的license文件一并添加到系统变量($LM_LICENSE_FILE)里:

[xxx@del bin]$ echo $LM_LICENSE_FILE  # 查询已有的 license 文件列表
/opt/pgi/license.dat
[xxx@del bin]$ vi ~/.bashrc # 在文件内的 LM_LICENSE_FILE 字段,增加 IDL 的 license 文件(红色字段,就是新增的IDL的license文件)
...
export LM_LICENSE_FILE=$PGI/license.dat:/opt/idl/license/license.dat
...
[xxx@del bin]$ echo $LM_LICENSE_FILE # 再次查询 license 文件列表,看是否更新成功
/opt/pgi/license.dat:/opt/idl/license/license.dat

之后,执行   source ~/.bashrc  ,使 ~/.bashrc 中所作的修改立即生效。

Bug:可能遇到的各种问题

Bug.1:找不到libXp.so.6动态链接库

 在终端下输入 idl 并回车,很可能会出现如下错误信息:

… /opt/idl/idl82/bin/bin.linux.x86_64/: libXp.so.6: cannot open shared object file: No such file or directory

 该信息是因为没有安装64位的libXp.so.6动态链接库。

解决办法是,到这里下载libXp-1.0.3-4.fc30.x86_64.rpm文件,然后双击打开,把里面的libXp.so.6和libXp.so.6.2.0拷贝出来,直接放到IDL的安装目录/opt/idl/idl82/bin/下面,命令如下:

wget https://rpmfind.net/linux/fedora/linux/releases/30/Everything/x86_64/os/Packages/l/libXp-1.0.3-4.fc30.x86_64.rpm

rpm2cpio libXp-1.0.3-4.fc30.x86_64.rpm | cpio -idv  # 解压rpm文件

sudo cp /mnt/Disk2T/L/software/LINUX/libXp/usr/lib64/libXp.so.6 /opt/idl/idl82/bin/bin.linux.x86_64/

sudo cp /mnt/Disk2T/L/software/LINUX/libXp/usr/lib64/libXp.so.6.2.0 /opt/idl/idl82/bin/bin.linux.x86_64/

 再次运行 idl,则不会出现上述错误信息。

Bug.2:license文件没有生效

如果选择的license文件不可用,则打开 idl 的时候,会出现如下信息:

[xxx@del bin]$ idl
IDL Version 8.2.2 (linux x86_64 m64). (c) 2012, Exelis Visual Information Solutions, Inc.
% LICENSE MANAGER: No such feature exists.
Feature: idl
License path: /opt/pgi/license.dat:/opt/idl/license/license.dat:/opt/idl/license/*.lic:
FLEXnet Licensing error:-5,357
For further information, refer to the FLEXnet Licensing documentation,
available at "www.acresso.com"..
License file: /opt/pgi/license.dat:/opt/idl/license/license.dat:/opt/idl/license/*.lic
% Entering timed demo mode. Each session is limited to 7 minutes of operation. Printing and file saving
are disabled. To learn more about our license options for this product, please contact your account manager or
Exelis Visual Information Solutions, Inc. at info@exelisvis.com. IDL> exit

出现这个问题的原因是,license文件已经失效,需要重新寻找新的可用的license文件。

解决办法是,继续搜索可用的license文件,重复步骤 2.0,然后在 idl 的安装目录下,使用 exelislicense 程序手动安装license。​

[xxx@del bin]$ vi license.dat

[xxx@del bin]$ cd /opt/idl/idl82/bin
[xxx@del bin]$ sudo ./exelislicense
IDL Version 8.2.2 (linux x86_64 m64). (c) 2012, Exelis Visual Information Solutions, Inc. % Embedded IDL: ITTVIS IDL floating licenses, 99999-1.
% Embedded IDL: ITTVIS IDL floating licenses, 99999-1.
% Loaded DLM: XML.
% Loaded DLM: URL.
[xxx@del bin]$ idl
IDL Version 8.2.2 (linux x86_64 m64). (c) 2012, Exelis Visual Information Solutions, Inc.
Installation number: 705016.
Licensed for use by: TOHOKU IDL> exit

执行 exelislicense 程序,会弹出对话框,操作步骤如下:

(1)选择第三项Install a license you have received (小方框凹下表示选中),点Next;

(2)找到并选中用于激活的license.dat,点OK;

(3)同时选择Install license manager以及Start license manager,点Next(这一步,两者都默认已选中,所以到这一步直接点Next);

(4)点击Finish,结束​。

Bug.3: TCP 端口1700,被占用

在执行 /opt/idl/idl82/bin/lmgrd 程序时,有时会遇到 “The TCP port number in the license, 1700, is already in use.”的报错。

解决办法:

(1)查看端口1700的进程 ,终端输入:  lsof -i:1700

(2)杀死进程: kill pid

(3)查看包含lmgrd的进程: ps -aux|grep lmgrd

CentOS 7下安装IDL 8.2的更多相关文章

  1. CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)

    在CentOS linux下安装SVN,我们可以进行以下步骤: 第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发 ...

  2. CentOS 6 下安装Python 3

    可以下载各个版本的python:https://www.python.org/ftp/python/ 配置安装 下载最新的安装包(截止2013/11/05),还是3.3.2版本. #wget http ...

  3. CentOS 7 下安装 LEMP 服务(nginx、MariaDB/MySQL 和 php)

    原文 CentOS 7 下安装 LEMP 服务(nginx.MariaDB/MySQL 和 php) LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作 ...

  4. Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因

    原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6), ...

  5. CentOS 7下安装vertica记录

    CentOS 7下安装vertica记录 1.    安装好centeros 并更新 Centeros安装就不说了,安装完之后联网环境下 yum update.更新下,使得那些包都是新的.(要想用中文 ...

  6. CentOS系统下安装python3+Django

    转载:CentOS系统下安装python3+Django 1.首先用yum安装下vim,因为CentOS 7可能根本没自带完整vim,经常出现输入乱码:yum -y install vim 2.安装开 ...

  7. CentOS 7下安装Python3.6

    CentOS 7下安装Python3.6.4   CentOS 7下安装Python3.5 •安装python3.6可能使用的依赖 yum install openssl-devel bzip2-de ...

  8. CentOS 7下安装Python3.6.4

    CentOS 7下安装Python3.5 •安装python3.6可能使用的依赖 yum install openssl-devel bzip2-devel expat-devel gdbm-deve ...

  9. CentOS 7下安装Python3.5

    CentOS 7下安装Python3.5 •安装python3.5可能使用的依赖 yum install openssl-devel bzip2-devel expat-devel gdbm-deve ...

随机推荐

  1. hbase与hdfs的交互

    hdfs和hbase的交互,和写MapReduce程序类似,只是需要修改输入输出数据和使用hbase的javaAPI对其进行操作处理即可 public class HBaseToHdfs extend ...

  2. 【Redis】Redis持久化

    Redis数据持久化 Redis的特性: 易扩展,大数据高性能,多样灵活的数据模型,受限内存 Redis默认端口: 6379 Redis数据持久化分为有两种: RDB: 每隔一段时间就把内存数据写入磁 ...

  3. POJ - 3687 Labeling Balls (拓扑)

    (点击此处查看原题) 题意 此处有n盏灯,编号为1~n,每盏灯的亮度都是唯一的,且在1~n范围之间,现已知m对灯之间的关系:a b ,说明灯a的亮度比灯b小,求出每盏灯的亮度,要求字典序最小(编号小的 ...

  4. 12306火车票余票查询&Python实现邮件发送

    查询余票接口 打开12306官网,并进入余票查询页面,同时开启chrome浏览器F12控制台,以北京到上海为例,搜索2018年10月1日的余票信息,点击搜索按钮,可以在控制台发送了一条GET请求,请求 ...

  5. LKM rootkit:Reptile学习

    简介 Reptile是github上一个很火的linux lkm rootkit,最近学习了一些linux rootkit的内容,在这里记录一下. 主要是分析reptile的实现 Reptile的使用 ...

  6. 树莓派安装使用RXTX

    在RaspberryPi树莓派上使用RXTX(RXTX的源码安装)Linux 编译RXTX(JAVA串口开发)源码 如果为windows系统,则使用rxtx比较简单,到http://fizzed.co ...

  7. eclipse 创建Java web项目 Cannot change version of project facet Dynamic web module to xxx

    问题描述: 用Eclipse创建Java web项目时选择的Artifact Id为maven-artchetype-webapp,由于这个archetype比较老,用的servlet还是2.3的. ...

  8. Bootstrap3基础教程 02 网格布局

    Bootstrap 提供了一套响应式.移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多列. 网页设计中的网格布局作用:组织内容,让网站易于浏览,并降低用户端 ...

  9. 解决centos-yum无法正常使用问题

    刚刚最小化方式安装了CentOS 7 后,说实话,真不习惯也不喜欢纯shell方式工作,使用root账号登入后,马上想安装GNOME,但是发现yum不能正常工作!!! 一,输入安装X Window命令 ...

  10. Java 单个集合去重与两个集合去重

    一.单个集合去重 描述: 去掉一个集合里重复的元素:将list集合转成hashSet集合,hashSet有自动去重的功能,再利用去重后的hashSet集合初始化一个新的list集合,此时这个list就 ...