寫在前面
最近作者所在的實驗室服務器遇到了一些配置問題。一開始,是我的老師和我講服務器的idl無法調出idlde的圖形化界面,在后來的測試中我發現確實無法正常調出圖形界面,而問題的原因則十分有趣。是我之前在安裝idl的時候為了圖方便(其實還是現在idl的破解資源比較難找)安裝了idl7.1的32位版,導致實驗室的64位機器運行異常。在嘗試安裝linux的32位庫補救失敗后,我打算安裝正常的64位軟件,no matter it cost。
software & crack file
在萬能的google幫助下我獲得了idl83的安裝包和配置文件,這里分享下:
鏈接: https://pan.baidu.com/s/1NFaD5W8z5jL1tZVYpf3T1Q 密碼: e6xq
install
將上面的安裝包下載到本地,並解壓:
tar -xvf idl83envi51linux.x86_64.tar.gz
等待下idl就在當前的文件夾中被解壓出來了,這時候找到install.sh腳本文件,執行該文件:
sudo sh install.sh //這里最好使用sudo用戶安裝或者相應文件夾下的權限
安裝腳本執行的時候會提示,安裝過程中會遇到許可說明,長按回車到結束(或按q直接跳出),遇到詢問可以輸入y回車,其中有要輸入安裝路徑(Please enter the directory to contain IDL 8.2),填一個想要安裝的位置(如果位置文件夾不存在,需要提前建立),這個安裝位置我選擇的是默認位置,最好將這個安裝位置記一下,以后出現問題的時候便於查找。
最后一個問題是是否運行license引導程序(Do you want to run the License Wizard? (y/n): y),輸入y回車,程序會彈出對話框,選擇Install a license you rescived。然后先不要在這里做操作,我們開始執行破解操作的部分。
首先給出linux下idl83的license.dat文件:
############ license file comments, do not delete ###############
# License Number(s):231821-3
SERVER cga2.cga.harvard.edu 089e01ba034b 1700
DAEMON idl_lmgrd
INCREMENT envi idl_lmgrd 5.100 1-jan-0000 5 585C4CBDAFB11CB5 \
VENDOR_STRING="231821-3Harvard University (MAIN)" ck=121 \
SIGN="0B17 EFA5 CA84 0013 A7A7 7A29 8D4B 0EF6 A4FE 8377 EB66 \
447F F317 C8E1 F65D 1992 9E0E 4381 C14D 5D0F 9593 4519 135E \
1BF4 D28C 111F 19FD F592 DC04 D365"
INCREMENT envi_cartosat idl_lmgrd 5.100 1-jan-0000 5
1BDE84587C8E9E79 \
VENDOR_STRING="231821-3Harvard University (MAIN)" ck=98 \
SIGN="053A F301 5887 ADF7 4C68 67FE E006 A4FB 4BDE 34A1 83AA \
241F DE2C 3229 C9BF 1685 58A4 12BB 98F2 DC32 0518 E29D 7C82 \
81C7 B477 7725 0D1E E041 89E7 B4DB"
INCREMENT idl idl_lmgrd 8.300 1-jan-0000 30 025958CE707A165B \
VENDOR_STRING="231821-3Harvard University (MAIN)" ck=108 \
SIGN="1605 4794 E80A BFC5 3E7E D228 F4D4 9BB2 01D3 1AE7 768B \
7568 E3D7 ED79 07AA 0F04 8E3D 649F 788D 050C 4CA0 17B0 8678 \
4CDF F517 A300 7C72 0A5D 23E5 CB4F"
INCREMENT idl_bridge_assist idl_lmgrd 8.300 1-jan-0000 5 \
58DA4BE13A8CFD8B VENDOR_STRING="231821-3Harvard University \
(MAIN)" ck=167 SIGN="1823 FEE3 AC65 6C32 0C04 FD1A 6503 1901 \
DE8D EFAF A3EA EE98 1E0D 3D13 1DAF 0431 5467 626F AA26 284A \
925B 7BF9 763B 6641 1B6A 2A71 A934 4176 B8F5 EF94"
INCREMENT idl_video_write idl_lmgrd 8.300 1-jan-0000 5 \
18322A8CF2B5C47F VENDOR_STRING="231821-3Harvard University \
(MAIN)" ck=84 SIGN="1810 BF0E 3A36 AFD6 6B8A 2DAE CCA4 DC50 \
B195 2166 82E0 1EA4 FB96 394F 79D5 0ECA C0AB C13D B4EB 7F31 \
AE14 C099 E62F 7790 CF97 A2B5 568C 6EF4 5440 5B93"
INCREMENT idl_wavelet idl_lmgrd 8.300 1-jan-0000 5
0BFC71E479FA6A91 \
VENDOR_STRING="231821-3Harvard University (MAIN)" ck=157 \
SIGN="0FA1 3E4D 9FC1 8267 FB86 6953 7E8D CE58 CE37 DB44 5941 \
48A6 2255 CE60 D325 0751 D013 55BB 3C55 17AB 3C63 9C09 3059 \
CB98 D1B2 B04F CB01 A2E9 7CA4 4755"
FEATURESET idl_lmgrd C107256B542AC2F8
##################### end of license file #######################
將上面正文第一行SERVER后面的cga2.cga.harvard.edu改為自己機器的主機名,查詢主機名可以使用:
hostname -a
將主機名更改后,需要修改系統的MAC地址與license.dat文件中的地址相對應。licens.dat文件中MAC的值就在hostname的后面,也就是089e01ba034b這部分。
在終端下輸入:
sudo ifconfig eth0 hw ether 08:9e:01:ba:03:4b
可以臨時修改MAC地址,在終端下輸入:
ifconfig
發現輸出對應的網卡下MAC地址值為上述的修改值則操作成功。
這時回到license引導程序,將license.dat文件放置在安裝文件夾下的license文件夾中(我的例子中該文件夾的位置是/usr/local/exelis/license),並檢查文件夾和license.dat文件的是否有執行權限(r+x權限)。然后將license引導程序的license位置在其中載入,點擊next。
然后選擇Install license manager; Start license manager。
到這里安裝過程結束。
檢查是否安裝成功
終端輸入idl
idl
得到輸出結果:
(base) [root@localhost license]# idl
IDL Version 8.3 (linux x86_64 m64). (c) 2013, Exelis Visual Information Solutions, Inc.
Installation number: 231821-3.
Licensed for use by: Harvard University (MAIN)
IDL>
則安裝成功。
問題及解決
缺少lmgrd 報錯:error: “lmgrd: not found”
在安裝的結束后運行idl發現license manager有錯誤,提示沒有啟動lmgrd,但是在/usr/local/exelis/idl/bin文件夾中查找的時候,發現沒有lmgrd這個可執行文件。
參考:https://www.harrisgeospatial.com/Support/Self-Help-Tools/Help-Articles/Help-Articles-Detail/ArtMID/10220/ArticleID/16128/Running-IDL-83-and-above-lmgrd-fails-with-error-lmgrd-not-found
我安裝了lsb-core之后,再cd到上述文件夾下就發現了lmgrd文件,執行該可執行文件(可能需要sudo)。
./lmgrd
然后再執行:
idl
問題解決。
重啟后破解失效
解決該問題的方法是每次重啟或斷網后執行:
ifconfig eth0 hw ether 08:9e:01:ba:03:4b
cd /usr/local/exelis/idl/bin
./lmgrd
或者直接將上述過程寫入開機腳本中:
sudo gedit /etc/rc.local
//將以下三行代碼加到exit 0的前面,然后保存
ifconfig eth0 down
ifconfig eth0 hw ether 08:9e:01:ba:03:4b
ifconfig eth0 up
親測上述的兩種方法各有優劣,第一種方法比較麻煩每次開機的時候都要進行一次,而第二種方法會造成網絡不穩定,有可能會開機后斷網。請視情況選擇。
最后不得不說的就是服務器的這些問題就是不要怕試錯,經驗的積累都是在不斷的嘗試過程中展開的,希望自己可以保持學習的心~