miércoles, 3 de julio de 2019

Formato de los ficheros de trabajos 'at'

En Linux, los trabajos que se programan con 'at' se guardan como scripts en ficheros de texto. Suelen estar guardados en /var/spool/at

El nombre que tienen es como el siguiente:

    a001680132fd55

Lo anterior significa:

- La 'a' es la cola de at que lo ejecutará (puede ser la 'a' o la 'b').
- El '00168' el identificador del trabajo de at en hexadecimal. Es el que sale al ejecutar atq.
- El '0132fd55' es la fecha en que se ejecutará el trabajo. Es el número de  minutos desde el 1-1-1970 a las 0:00

Para calcular la fecha en que se ejecutará uno de estos trabajos a partir del nombre del fichero se puede mirar el identificador y compararlo con la salida de atq, o convertir los minutos a la fecha de la siguiente manera:
1) Pasar 0132fd55 a decimal -> 20118869
2) Multiplicarlo por 60, para obtener los segundo desde Epoch que es como se calculan fechas en Unix normalmente -> 1207132140
3) Usar alguna utilidad para calcular fechas a partir del Epoch. Por ejemplo  la que hay en http://www.onlineconversion.com/unix_time.htm
   1207132140 -> Wed, 02 Apr 2008 10:29:00 GMT



miércoles, 23 de noviembre de 2016

Abaqus installation issue with license server

The problem

I was installing Abaqus 6.14-1 in a Linux cluster outside my enterprise network. In order to allow the FlexLM license server to be reached from the cluster, I opened the appropiate ports in my firewall and tested it was Ok by connecting with telnet, e.g.:

# telnet 193.144.xxx.yyy 27000
Trying 193.144.xxx.yyy...
Connected to 193.144.xxx.yyy.
Escape character is '^]'.


But, during the installation process, when I was asked the license server address the installer couldn't contact it and returned an error.

The cause & the solution

In the license file, the first line had this form:

SERVER lambda 112233445566 27000

It turns out that the server name (lambda) was not public for security reasons and therefore it couldn't be resolved with DNS outside the enterprise network, so I used instead its IP address (193.144.xxx.yyy). For some reason, the installer and the FlexLM license server didn't like this, so after many tests, I finally found that if I change the license file line to this:

SERVER 193.144.xxx.yyy 112233445566 27000

...an reloaded the license daemon, all worked fine. That is, simply change in the license file the host name with its IP address.



Abaqus error: System Error fcntl: Function not implemented

I've lost a lot of time with this problem, which for I didn't found any solution googling it:

The problem

After installing Abaqus 6.14-1 in a Linux cluster, when I launched a testing input the following messages appeared in the log file:

$ abaqus -j Job-1

$ cat abaque Job-1.log
Abaqus JOB Job-1
Abaqus 6.14-1
System Error fcntl: Function not implemented
System Error fcntl: Function not implemented

Abaqus/Analysis cleanup failed.


The cause

It turns out that the file system where the job was being launched was Lustre. If instead I launched the job in an ext3/ext4 file system (e.g. /tmp) it finished without any error.

Solutions

- Execute Abaqus in a local directory with a file system such as ext3, ext4 or similar.
- Mount Lustre with suitable parameters, as it's explained in the following page: Abaqus with Lustre file system

viernes, 4 de noviembre de 2011

Instalación del driver propietario de ATI en Linux

Estos son los pasos que hay que dar para (re)instalar los drivers propietarios de AMD/ATI Radeon en Linux.

1) Descargarlos de la página de AMD. En el momento de escribir esta entrada se podía hacer a través de este enlace.
2) Nos convertimos en root (por ejemplo con su o con sudo -s) y damos permisos de ejecución al fichero que acabamos de descargar: 
chmod +x ati-driver-installer-11-9-x86.x86_64.run
3) Lo ejecutamos:
./ati-driver-installer-11-9-x86.x86_64.run
4) Se descomprimirá y a continuación nos irá haciendo preguntas y dando opciones. Simplemente elegiremos la opción por defecto o la única que se pueda.

5) Si todo ha ido bien, siguiendo las instrucciones que aparecen solo faltará reiniciar el sistema (por ejemplo con reboot) y habrá terminado el proceso. Si algo no ha ido bien, ver el siguiente apartado.


Problemas que pueden surgir

Existen ficheros de una instalación anterior (A previous install of the fglrx driver has been detected. Please uninstall the older version before installing this version.Optionally, run the installer with --force to overwrite the existing driver)

Opción 1: Desinstalar el driver
1) Desinstalar el driver ejecutando el instalador con la opción --uninstall:
./ati-driver-installer-11-9-x86.x86_64.run --uninstall
2) Se desinstalarán los ficheros del driver presentes en el sistema. 
3) Si todo ha ido bien, será necesario reiniciar el sistema y se puede intentar la instalación normal.

Opción 2: Instalar el driver sobreescribiendo los ficheros anteriores
1) Ejecutar:
./ati-driver-installer-11-9-x86.x86_64.run --force
2) Se instalarán los ficheros del driver sobreescribiendo otros que hubiera antes. 
3) Si todo ha ido bien, será necesario reiniciar el sistema y se puede intentar la instalación normal.





lunes, 2 de noviembre de 2009

Múltiples tarjetas de sonido en KDE

En mi ordenador portátil tengo dos tarjetas de sonido: Una, la que lleva integrada y que suena a través de los altavoces igualmente integrados en la carcasa. La otra, es una USB que compré en DealExtreme que suena a través de un par de altavoces externos de calidad algo mejor que los del ordenador. Esta última la tengo conectada a un hub USB y la idea es que sea la que se oiga cuando uso el portátil como ordenador fijo.

Pero me encontré con un problema: ¿Cómo elegir desde el entorno KDE 3.5 por cual de las dos tarjetas de sonido quiero escuchar, por ejemplo, música? Uno esperaría encontrar en el panel de control del sistema de sonido un desplegable con todas las tarjetas de sonido presentes, y que se pudiera elegir una. Sin embargo, esto no es así. Lo más parecido es que se puede regular el volumen de cada una mediante la utilidad Kmix, pero no elegir por cual se quiere sacar el sonido.

La solución es relativamente sencilla, aunque nada intuitiva. La descubrí simplemente leyendo el FAQ de Amarok, el reproductor de sonido por defecto de KDE que permite el uso de distintos sistemas de sonido, entre ellos ALSA. Concretamente, en un apartado explica que:
(...) puedes usar la salida hw:0,0 o hw:1,0


Si se usa esa misma nomenclatura en el panel de control de sonido de KDE, también funciona:



Y de esta manera, se pueden utilizar de manera sencilla varias tarjetas de sonido en Linux con ALSA. Se pueden hacer muchas más virguerías (es muy potente), pero para este problema concreto no hace falta darle más vueltas.