PreguntasLinux

Versión Completa: SIAp, Wine, Debian y Samba (solucionado)
Actualmente estas viendo una versión simplificada de nuestro contenido. Para ver la versión completa en el formato correcto, dale click aquí
Hola gente...
recurro a ustedes porque sinceramente se me quemaron los papeles. Me hicieron una consulta y traté de resolver el problema pero no lo logré... algo me falta.

Les cuento: En una empresa con una LAN windows, hay una sola persona que usa Debian (previo acuerdo con los jefes y a modo de test-drive)
Como era de imaginar, usan el SIAp (que es un software del AFIP bajo windows)

Ahora bien... como sabrán, wine genera lo siguiente dentro de /home/MiUsuario/.wine/dosdevices/:
c: (que es un enlace a /home/MiUsuario/.wine/drive_c/) y z: (que no es otra cosa que un enlace a / ) por lo que al correr cualquier aplicación windows, podría ver dos unidades C: y Z:

Al instalar el siap, deja en C:/windows/ un archivo de texto llamado afippath.sys que contiene la ruta predeterminada de las bases (esto sería
c:\archivos de programa\S.I.Ap\AFIP)

El SIAp y todos los aplicativos corren bárbaro bajo Debian... asi que eso no sería el problema. El tema es que las bases de datos no son locales, sino que están en una carpeta compartida en un cliente windows que hace las veces de servidor de siap.

De Win a Win, se crea una unidad de red apuntando al servidor de siap, y luego se modifica el archivo afippath.sys para que apunte a esa unidad de red. De esa forma puedo acceder a las bases de datos remotas.
Pero de Linux a Win no supe como hacerlo... probé con

Código:
mount -t smbfs -o username=MiUsuario,password=xxx //serversiap/ruta/donde/esta/siap /mnt/siap

pero no me deja montar... que estoy haciendo mal?

La idea sería poder montar la carpeta win, por ejemplo en /mnt/siap/ y despues modificar el archivo afippath.sys para que apunte a Z:\mnt\siap.

Si pudiera salvar este inconveniente sería maravilloso, y sin duda una batalla más ganada al winchot y a su software privativo.

Desde ya, muchas gracias...


**EDIT:
Este es el error que me marca:
13699: tree connect failed: ERRSRV - ERRinvnetname (Invalid network name in tree connect.)
SMB connection failed
**FIN EDIT

proba con:

Código:
smbmount //serversiap/ruta/donde/esta/siap /mnt/siap -o username=MiUsuario,password=xxx,uid=1000,umask=000

ó

Código:
mount -t cifs //serversiap/ruta/donde/esta/siap /mnt/siap -o "username=MiUsuario,uid=xxx,iocharset=cp850,dir_mode=0700"

ó agregá lo siguiente al fstab

Código:
//serversiap/ruta/donde/esta/siap   /mnt/siap   smbfs username=MiUsuario,password=xxx,uid=1000,umask=000   0 0

ó simplemente:

Código:
smbclient -L <hostname>

para ver que hay compartido en el host

Código:
smbmount //hostname/siap /mnt/samba

montas en el directorio samba

espero que te sirva, saludos...

dragonauta Escribió:
Este es el error que me marca:

13699: tree connect failed: ERRSRV - ERRinvnetname (Invalid network name in tree connect.)
SMB connection failed


Proba de hacerle un ping desde el Linux a serversiap (o el nombre que tenga el equipo), si no te resuelve el ping tendrias que revisar tus DNS. Una solucion facil seria agregar el nombre de maquina e IP correspondiente a serversiap en el archivo /etc/hosts

una vez que conteste el ping a traves del nombre del equipo proba lo que dijo warp y si no funca hace lo siguiente:

smbclient -I xxx.xxx.xxx.xxx -L //serversiap -N

(donde xxx.xxx.xxx.xxx es la IP de la maquina remota, no?)

ese comando te deberia mostraria una lista de recursos compartidos...
Para montar el que interesa proba de hacerlo de la siguiente manera:

smbmount //serversiap/ruta/donde/esta/siap /mnt/siap -o ip=xxx.xxx.xxx.xxx

si esto no anda revisa el tema de permisos (desde el Window$) y/o pertenencia a grupo/dominio desde el Linux (smb.conf)

proba con esto:

nmblookup -M -A xxx.xxx.xxx.xxx
nmblookup -M -A localhost



Salu2!!.. 1-wink

Buenas:
Gente agradezco la ayuda prodigada...
bien, he aquí la resolución.

Sin tener demasiado conocimiento sobre samba, me lanzé a querer montar una carpeta de windows y asi me fue, jejeje

El error que me lanzaba (y el que cometí) fue el de querer montar una carpeta dentro del recurso compartido... a ver si me explico:
la carpeta compartida es /SIAP, y yo quería montar /SIAP/AFIP con lo cual, samba no encontraba el recurso compartido y me daba el error (esto supongo que es por la mala 'costumbre' de poder conectar cualquier cosa y como sea desde window$)

Así que todas los comandos que me sugirieron funcionaron (incluso el mío cuando probé simplemente //serversiap/siap) 024 Sólo tuve que modificar el archivo afippath.sys y ampliarle el path como corresponde.

(Lamentablemente, el SIAP no funcionó tomando bases externas... veremos que otra solución le podemos dar)022

Bueno, muchas gracias de nuevo... y disculpen si por no pensar un poquito más, no veo la solución... a veces el árbol no te deja ver el bosque...

Saludos
me alegro que hayas solucionado tu problema.... con respecto a soluciones, podes replicar de la db???, es decir, que cada tanto tiempo te copie la db a un dir local.... otra sería que montes la db y crees un link simbólico en la carpeta donde debe ir la db, que apunte a la db "montada"....

saludos....
Voy a hacerlo más fácil...
Siap es un programa monousuario, usa el motor msjet (access) o sea que es monousuario. Si bien lo acceden remotamente lo hacen de a uno por vez, ya que de otra forma, el programa bloquea las bases.
Si yo replicara, uno grabaría en la real y otro en la replicada, serían distintas y no habría forma de unir la información.
(cuando le hice links a las bases, al cerrar me sobreescribe los links con una copia de las bases... y no se lo que quiero)

Volvamos al entorno windows... la aplicación se instala en todos los 'clientes', pero se edita el archivito para que apunten a la carpeta remota, y el acceso directo se edita para que ejecute el archivo .exe de la carpeta remota, así como también se indica que la carpeta de trabajo será esa carpeta remota.
En otras palabras, se instala local para que tenga todas las librerías en forma local, pero la aplicación que se corre es la remota y las bases que toca también.

lo que hice en debian fue simplemente eso... montar la carpeta remota y correr con wine la aplicación siap.exe remota... pero el archivo que tuve que editar me indica que las rutas no son correctas o que se está usando la base por otra persona... Frocket
(me corrijo... solo puedo acceder como root o usando sudo, pero supongo que es por las pruebas que estuve haciendo ya que grabé los archivos como root... voy a probar con el sistema real 1-grin )

saludos y gracias
avisanos si funca luego de que hagas las pruebas....

saludos...
URLs de Referencia