E-post: salg@linmag.no



7.2.2012 - 20:26
 • Nyheter
 • Om Linux
 • Linuxskolen
 • Spørrespalte
 • Vitsespalte
 • LINUXmagasinet
 • Spill
 • WEBSHOP
 • Diskusjonsforum
 • Linker
 • For annonsører
 • English
 • Om oss
developer.ez.no
www.online4u.no

0

Linux og IDL, del 1: Installasjon og konfigurasjon


Linuxskolen del 17 (Linuxmagasinet 1/2005)

Denne gangen ser vi på installasjon av IDL, Interactive Data Language fra Research Systems Inc. (http://www.rsinc.com/index.asp). Dette er et avansert verktøy for analyse, visualisering og utvikling. I neste nummer lærer du om bruken av programmet.

Installasjonen av IDL er ikke alltid like rett frem. Det er et multiplattforms programmeringsverktøy for grafiske fremstillinger av datasett. Dette betyr vanligvis at produsenten må legge seg på en “standard” når det gjelder plattformversjon, og denne behøver ikke være, og er heller sjelden den aller siste. Dette betyr at for de av oss som elsker “the bleeding edge” kan en installasjon av for eksempel IDL bli en liten utfordring. Å gi opp er selvfølgelig ikke aktuelt, så det løser seg som regel uansett.
I denne artikkelen skal jeg gi dere en kjapp innføring i installasjonen av IDL, samt at vi skal se litt på de forskjellige versjonene av lisensiering systemet kan benytte seg av. Akkurat dette siste punktet er viktig, siden IDL er et kommersielt produkt. Uten en korrekt lisens, enten en fast lisens eller en som hentes fra en lisensserver er IDL låst til 7-minutters demo-sesjoner hvor en del av godsakene er utilgjengelige.

installasjon
I de aller fleste tilfellene er det tilstrekkelig å kjøre den medfølgende xinstall.sh som ligger på roten av cdrom-en inneholdende IDL. Siste versjon av IDL er nå 6.1, men jeg har ikke funnet det verdt å oppgradere fra 5.6 som jeg har benyttet i ett års tid. Oppgraderinger koster penger, og disse pengene skal man rettferdiggjøre ved å ha behov for de nye funksjonene nyere versjoner inneholder. Har man ikke behov for disse, ja da er behovet for en oppgradering ikke tilstede og penger er spart. Siden utviklingen av Linux stadig beveger seg i en retning av større automatisering, dukker det i kjølvannet av dette opp små problemer som du for eksempel kan komme ut for i installasjonen av IDL. Under automount av CD-ROM settes det i enkelte tilfeller opp rettigheter/egenskaper (exec, ro, rw etc) som gjør at blant annet xinstall.sh ikke fungerer. For å komme rundt dette har du to valg – Enten prøve å mounte opp cd'en manuelt med for eksempel:

mount -t iso9660 /dev/cdrom /mnt/cdrom

eller du kan beholde den automountet og så kopiere hele innholdet fra cd-en til en katalog på harddisken. Deretter kjører du xinstall.sh derfra i stedet. I utgangspunktet skal du bare godta alle default-settingene, men i tillegg kan du velge inn blant annet ION (IDL On the Net) som lar dine kolleger aksessere dine IDL-programmer via en webserver. ION og en del av de andre opsjonene krever dog at du har en full lisens for din IDL. I løpet av installasjonen vil du også bli spurt om du ønsker å opprette en del linker i /usr/local/bin. Dette bør du svare ja på. Det letter blant annet kjøring av IDL-programmer fra kommandolinjen senere. Du vil også bli spurt om du ønsker å opprette en lisensfil eller spørre RSI om en midlertidig lisens. Her bestemmer du selv hva du vil gjøre, men har du allerede en lisens svarer du bare nei på spørsmålet om lisenskjøring. Vi kommer tilbake til lisenssaken om litt.

Før vi kommer så langt skal vi se litt på en alternativ installasjon av IDL. Du kan nemlig også installere uten å benytte deg av det grafiske grensesnittet. Dette kan være kjekt om du sitter på en server uten X, eller som jeg oppdaget nylig at xinstall.sh faktisk ikke fungerer med for eksempel Fedora Core 3. Antagelig skyldes dette overgangen til gcc-3.4 og de bibliotekbytter som har skjedd i de aller nyeste versjonene av enkelte distroer. Imidlertid fungerer IDL i seg selv fint, bare man får den installert. Noe jeg klarte ved å benytte meg av den kommandolinjebaserte metoden. Dette gjør du slik:

1.Mount opp cdeen som normalt
2.Lag installasjonsmappen slik: 'mkdir /usr/local/rsi'
3.Hopp deretter inn i denne nye mappen og kjør kommandoen '/mnt/cdrom/xinstall.sh -NOGUI'. Det er VIKTIG å legge merke til at du MÅ STÅ i rsi-mappen når du kjører kommandoen!
4.Følg instruksjonene og besvar spørsmålene på vanlig måte.
5.Kopier en eventuell license.dat til /usr/local/rsi/license/ om du har en fra før.

Du skulle nå ha fått installert IDL, enten ved å bruke den grafiske eller via den kommandolinjebaserte installasjonsrutinen. Det nærmer seg en start av IDL nå, men først må vi se på lisenssaken. Som sagt er IDL kommersiell programvare, og slike krever normalt en eller annen form for lisenskontroll. Så også med IDL som i likhet med mange andre benytter seg av FLEXlm.

flexlm
FLEXlm er markedets mest populære metode for å dele på en eller flere lisenser over et nettverk (flytende lisenser). Dette er en meget smart måte å utnytte sine dyre lisenser på istedet for å låse dem til enkeltmaskiner. Samtidig gjør man ingenting galt siden FLEXlm vil sørge for at kun én maskin kan benytte lisensen ad gangen. I miljøer hvor plotting av data er en naturlig del av dagen kan dermed mange dele på en eller flere lisenser, og når noen tar en pause vil FLEXlm dele samme lisens ut til noen andre på nettverket om de etterspør denne. FLEXlm består av følgende komponenter:

●license manager daemon
Håndterer den første kontakten mellom en applikasjon som behøver en lisens og den såkalte vendor daemon.
●vendor daemon
Den enkelte programpakke tilgjengelig via FLEXlm har hver sin såkalte vendor daemon. Dette kan være for eksempel IDL, Matlab eller andre systemer som benytter FLEXlm på nettverket.
●license file
Lisensfilen er enten bundet opp mot en spesifikk masin ved hjelp av MAC-adressen på nettverkskortet eller den er av den såkalte «floating»-typen. Dette vil si at lisensen(e) vil kunne gjøres tilgjengelig over nettet ved hjelp av FLEXlm. Om den er av den ene eller den andre typen er bestemt av dine ønsker og økonomi, eller av det din arbeidsgiver/institusjon har tilgjengelig.
●application program
Den delen av programmet du benytter som faktisk snakker med FLEXlm og får tildelt en lisens når du behøver en.
Man kan ha 3 former for lisenser:

1.Prøvelisens som varer en viss tid tilknyttet en spesifikk PC. Lisensen bindes opp mot maskinen ved at MAC-adressen til nettverkskortet scannes av et program som følger med IDL. Resultatet av scanningen og dine svar sendes så til RSI via fax eller epost, og du får tilsendt en lisensfil som du legger inn i /usr/local/rsi/license/.
2.Node-locked lisens. Dette er en fast lisens, uten tidsbegrensning som er låst til en spesifikk maskin som beskrevet over.
3.Floating lisens. Lisensen(e) administreres av FLEXlm og kan deles blant alle maskiner som har installert IDL på nettverket.

La oss anta at du allerede har en slik lisens-fil, du har installert IDL og ønsker nå å benytte den. Det første du bør gjøre er å sjekke filen og se hvordan det refereres til maskinen din i den. Er det oppgitt host-navn eller ip-adresse? Om bare host-navnet står der må du sørge for at dette kan omsettes til en ip, enten ved at dette er et navn registrert i DNS, eller at du har en oppdatert host-fil på maskinen. I tillegg kan du forandre akkurat den delen av lisensfilen til det du ønsker – IP eller navn. IKKE rør andre deler av lisensfilen!!

Et eksempel på en slik lisensfil er min egen:

####################### LICENSE.DAT #######################
############ license file comments, do not delete ###############
# License Number(s): 403XXX
SERVER messiah 000f1f1502d7 1700
DAEMON idl_lmgrd /usr/local/rsi/idl_6.0/bin
INCREMENT idl idl_lmgrd 6.000 1-jan-0000 6 BB06C0F18FCDA79759DC \
VENDOR_STRING="403XXXAndoya Rocket Range" ck=15
FEATURESET idl_lmgrd BA9E812FD2953D08
##################### end of license file #######################
###########################################################

(Deler av lisensnummeret har jeg dog forandret for artikkelens skyld...)
Syntax i lisensfilen er MEGET nøye, så ikke rot for mye her!
Ok, lisensen er ok, du har kopiert den inn på riktig plass og vi er snart klar til å starte FLEXlm som jeg benytter til også å holde styr på min egen lisens. Den enkleste måten å starte FLEXlm på er ved å gjøre følgende:

1.Kopier /usr/local/rsi/idl/bin/sys5_idl_lmgrd til /etc/rc.d/init.d/
2.Kjør så '/etc/rc.d/init.d/sys5_idl_lmgrd start' som root
3.Ved hjelp av en 'ps ax' skulle du nå kunne se:

0:00 /usr/local/rsi/idl_5.6/bin/bin.linux.x86/lmgrd
0:00 idl_lmgrd -T messiah 8.1 3 --lmgrd_start 41e909dd

Vi er nå klar til å starte IDL. Som et eksempel på hvordan det skal se ut starter jeg først en tekstbasert versjon av programmet ved å kjøre kommandoen 'idl'. I terminalen vil du da se noe slikt:

[kolbjorn@messiah ~]$ idl
IDL Version 5.6 (linux x86 m32). (c) 2002, Research Systems, Inc.
Installation number: 403XXX.
Licensed for use by: Andoya Rocket Range

IDL>

Du er klar til å starte din karriere som IDL-programmerer!
Den grafiske versjonen av IDL starter du med kommandoen 'idlde', men husk å lukke den første ved å skrive 'exit' i terminalen. Tilslutt skal jeg nevne en ting som kanskje noen av dere vil erfare ifm FLEXlm, nemlig at den rett og slett ikke starter. Dette har jeg selv erfart, blant annet i SuSE 9.1. Løsningen ble å redigere /etc/rc.d/init.d/sys5_idl_lmgrd slik at den seksjonen som i utgangspunktet ser slik ut:

VERSION=5.6
RSI_DIR=/usr/local/rsi
IDL_DIR=$RSI_DIR/idl_$VERSION
LM_LICENSE_FILE=$RSI_DIR/license/license.dat
LOG_FILE_NAME="/dev/console"
# END OF END-USER DEFINITIONS

ser slik ut etterpå:

VERSION=5.6
RSI_DIR=/usr/local/rsi
IDL_DIR=$RSI_DIR/idl_$VERSION
LM_LICENSE_FILE=$RSI_DIR/license/license.dat
LOG_FILE_NAME="/dev/console"
LD_ASSUME_KERNEL=2.4.1
export LD_ASSUME_KERNEL
# END OF END-USER DEFINITIONS

Da skulle du være ferdig, og klar til å starte med litt programmering i din nye IDL-installasjon. I neste nummer av LINUXmagasinet skal vi ta for oss noen enkle eksempler på bruk av IDL. Inntil da, ha det fint!



0







0 0