miércoles, enero 09, 2008

Instalar impresora lexmark z816 en debian etch

Me fui de luces y compré una impresora lexmark Z816 sin verificar el soporte para linux, y bueno, empezó mi carma!


Confieso que estuve un tiempo sin poder imprimir, hasta que por fin, anoche, lo logré! He aquí cómo lo hice:

Referencias:
https://wiki.ubuntu.com/HardwareSupportComponentsPrinters/LexmarkZ810
http://ubuntuforums.org/archive/index.php/t-505886.html

Pasos:
  1. apt-get install alien
  2. apt-get install build-essential
  3. apt-get install libcupsys2-dev
  4. apt-get install libcupsimage2-dev
  5. apt-get install p7zip-full
  6. descargar:
    1. http://cerqueira.org/software/z810/Z810CUPS-0.7.1.tar.gz
    2. http://www.downloaddelivery.com/webcontent/support/linux/z810llpddk-2.0-3.i386.rpm (hay que suscribirse, creo, como lo descargé hace un tiempo, ya no recuerdo)
  7. alien z810llpddk-2.0-3.i386.rpm
  8. dpkg -i z810llpddk_2.0-4_i386.deb
  9. 7z e Z810CUPS-0.7.1.tar.gz
  10. cd Z810CUPS-0.7.1
  11. make rpm-compat
  12. make
  13. make install
Hasta aquí, todo fue una maravilla. Resultó un error tal, pero como dice en una de las referencias, lo ignoré.

Cuando intenté mover el ppd, como dice el paso:
  1. now move this Lexmark-Z810-lxz810cje-cups.ppd.gz from the z810 cups/system directory to the z810 cups directory
    /usr/sbin/lpadmin -p Z810 -E -P Lexmark-Z810-lxz810cje-cups.ppd.gz -v z810:/dev/usblp0
me dió otro error, de archivo no encontrado, así que me fui por:
  1. find / -iname Lexmark-Z810*
y obtuve la ruta donde se encontraba mi archivo ppd de la impresora en cuestión, sustituí la ruta en el comando anterior, y listo! impresora instalada!

Vale el agradecimiento a: http://cerqueira.org/software/z810/ quien se tomó la molestia de desarrollar el módulo.

Éxitos!

martes, enero 08, 2008

Migrar BD de Mysql a PostGreSQL (parte 1)

El escenario: una BD en mysql que hay que migrar a postgresql, tomando en cuenta que hay sistemas que están utilizando ambos motores al mismo tiempo.

Temporalmente, se estableció una conexión con dbi-link. La documentación es más o menos sencilla, sólo hay que retocar el escript que corresponda al motor a conectar, en mi caso, mysql. En la carpeta examples, consigimos para conectar entre otros, oracle, mssql, mysql.

Los pasos, son más o menos así:
  1. crear el lenguaje plperl para la BD: create language plperlu;
  2. lanzas dbi_link.sql ( te crea el esquema y las funciones necesarias), en mi caso, lo hice con psql <>
  3. Conectar con la BD, igual, psql <>
Con esto me ha funcionado, de manera que ya puedo ver 2 esquemas adicionales en mi BD, uno creado por dbi_link.sql, y otro que le he puesto de nombre mysql (ya que estoy conectando con mysql) donde están todas las tablas con una estructura que me permite leer los datos, justo lo que necesitaba. Vale decir, que los datos no se están copiando, sino que se ven como en tiempo de replicación.

Esto lo logré con algo de ayuda, además de la documentación, de parte del amigo seyko, que se puede ver en http://www.forosdelweb.com/f21/reporte-almacen-con-datos-postgresql-mysql-536140/#post2201060.

En los próximos minutos/horas/días/semanas/meses espero publicar la segunda parte, donde copiaremos datos de mysql a postgresql.

Para los usuarios de Debian y derivados, que prefieren aptitude, acá una forma muy parecida de hacerlo

lunes, enero 07, 2008

Empezando a darle uso útil al blog... con PostGreSQL

Normalmente tengo que pasar varios minutos o hasta horas buscando y leyendo en internet cómo hacer tal cual cosa, y que por lo general, ya lo he hecho antes... ¿olvidadizo? bueno, sólo a veces y con algunas cosas... Así que, es probable que a partir de ahora este blog empiece a verse más movido y con cositas más interesantes...

De entrada, será cosas de PostGreSQL, por sí alguien lee esto y quiere, de vez en cuando, darle alguna mirada.

Primer caso

Crear una función en plpgsql, que guarde el valor de un campo de una tabla, en otra tabla, con un disparador

Tengo dos (2) tablas, la primera me registra una serie de actividades, y la segunda, registra los diferentes estatus por los que va a pasar en un momento determinado.

actividad (id serial, nombre, fecha_inicio, fecha_culmina);
actividad_estatus (id int CONSTRAINT fk_est FOREIGN KEY (id) REFERENCES actividad(id), estatus varchar(1));

Obviamente, sólo coloca la información descriptiva para el problema.

Al registrar una actividad, normalemente tiene estatus no iniciado, por lo que podría ser interesante dejar al motor que cuandos e inserte la actividad, se inserte el estatus con ciertos valores por iniciales.

Creamos una función en lenguaje plpgsql, que devuelva un trigger, así:
begin
insert into ssc.actividad_estatus (id) values (NEW.id);
return NEW;
end;

Ahora no se me ocurre qué más escribir, así que... hasta otro momento!