divendres, 11 de març del 2011

Programari anticuat a la universitat.

Sovint els professors per comoditat, o immobilitat, empren programes antics per les seves assignatures perquè ja fan el fet.
El problema és que passats uns anys aquests programes deixen de tenir manteniment i deixen de funcionar amb els nous sistemes operatius i s'han de fer autèntiques birgueires incomodes per poder-los executar. Si fossin programari lliure "qualsevol" podria dur a terme el manteniment o com a mínim hi hauria la opció, però al ser privatius ni això, el que tens és el que hi ha, te fots i balles.

El primer cas ens el trobarem a Fonaments de Computadors de primer, havíem de emprar un emulador de PDP-11 sobre un emulador de Mac OS 8 sobre el sistema operatiu que tinguéssim. Al seu moment tot alumne de la UIB ha intentat posar-hi remei, per ara sense èxit consolidat.

Després d'aquests n'han vengut d'altres que m'estim més ni recordar però avui toca parlar del programa emprat per les pràctiques de Simulació, assignatura de quart.

És un programet anomenat QNAP-2 emprat per la simulació de xarxes de cues. Estic convençut que amb una cerca a google en trobaria un altre d'equivalent molt millor i lliure que el professor rebutjaria per peresa de mirar-s'ho.

El programa en si va rebre la darrera actualització l'any 2000, des de llavors l'únic que fa el seu creador, o empresa que el va comprar, és cobrar les llicències.

El programa consta d'un client i un servidor. El servidor es qui executa tot el que li envia l'usuari a través del client. Nosaltres sols tenim el programa client i la Universitat ens dona accés al seu servidor perquè llancem les nostres peticions.

Així doncs intentaré explicar com es fa per fer funcionar el programa client qnap2v9.exe des de GNU/Linux.

En primer lloc hem de instal.lar el Wine com a capa de compatibilitat amb aplicacions de windows. En una Debian/Ubuntu o derivats seria:

:~# aptitude install wine

Després hem de donar permisos al wine perquè pugui crear sockets:

:~# setcap cap_net_raw+epi /usr/bin/wine
:~# setcap cap_net_raw+epi /usr/bin/wine-preloader

Això ja basta per poder executar el qnap2v9.exe però la qüestió es que volem fer interacció de consola emprant un script que dona el professor. El script serveix per connectar-se al servidor de la UIB. Aquest script (qnap.bat) té el següent aspecte:

@echo off
set SIMULOGD_LICENSE_FILE=NUMERO_LLICENCIA@ADREÇA_IP_SERVIDOR
qnap2v9 %1 %2 %3 %4 %5

Recodem que el qnap.bat, el qnap2v9 i la llibreria lmgr326a.dll han d'estar a la mateixa carpeta que el fitxer .QNP que volgueu executar

Per executar el .bat s'ha de fer amb el wineconsole

:~$ wineconsole qnap.bat

Convé que canviem alguns paràmetres del WineConsole, per això un cop obert és clica amb el botó dret a qualsevol zona i anam a Propierties i la pestanya de Configuració,
és recomanable desactivar que la consola es tanqui en acabar l'execució, sinó no podrem veure que ha succeït al programa. També convé augmentar el búfer de pantalla de la consola. He intentat posar-lo a 1024 però penjava la màquina per complet, així que finalment ha quedat al 256 línies d'alçada.



Annex: Clonat de MAC

Des de la UIB la IP del servidor QNAP-2 és interna i des de la Wifi no s'hi pot accedir sinó que s'ha de fer a través de la xarxa cablejada, per això des de les aules de informàtica el més fàcil es desconnectar una màquina i connectar-te a tu el cable de xarxa per després clonar la seva adreça MAC. Així doncs... record que a GNU/Linux per canviar l'adreça MAC ho podem amb el ifconfig:

:~# ifconfig INTERFÍCE hw ether ADREÇA_MAC

On INTERFICE segurament serà eth0 i ADREÇA_MAC són 12 dígits hexadecimals separats per ":"
del tipus 00:23:AE:hh:hh:hh

Ara ja podeu emprar el vostre estimat portàtil per executar les pràctiques de Simulació "comodament".