PDA

Ver la Versión Completa : firebird en linux no se puede acceder


anubis
19-02-2011, 21:19:47
Buenas,

Quería probar el firebird en linux (opensuse) pero una vez que lo instalo y veo que esta corriendo, no puedo acceder a las bases de ejemplo, ni como root, el isql si me deja ejecutarlo pero acceder a la base de datos no. Tampoco como usuario aun habiendolo metido en el grupo firebird.

Alguno sabe que me falta por hacer?.

saludos

Caral
19-02-2011, 21:58:49
Hola
A mi me paso lo mismo y Casimiro estuvo casi dos horas ayudándome a conectarlo.
Es muy complicado para el que no conoce muy bien linux.
No me creo capaz de repetir el proceso.:):o
Saludos

duilioisola
21-02-2011, 08:59:59
si en linux haces
ls -l te dará el contenido del directorio y te dirá a que usuario y a qué grupo pertenece cada archivo.
si no perteneces al usuario y grupo firebird deberás hacer lo siguiente
chmod u+rw nombre_de_archivo
chown firebird:firebird nombre_de_archivo

Esto le dará permiso a Firebird para leer y escribir ese archivo.
(El primer paso no suele ser necesario, porque los archivos se crean con permiso de lectura y escritura para el usuario que lo crea.)
Otro tema puede ser el firewall, pero prueba primero esto.

Ñuño Martínez
21-02-2011, 12:43:51
Un cursillo rápido acerca de los comandos que explica duiliosola
chmod <opciones> <archivo>
Cambia los permisos del archivo. Las opciones empiezan por una o más letras donde:
"u" indica los permisos del propietario. "g" indica los permisos del grupo. "o" indica los permisos para cualquier usuario, sea o no el propietario y pertenezca o no al grupo.
Luego sigue un signo, "+" para añadir el permiso o "-" para cancelarlo.

Finalmente una o más letras para indicar los permisos afectados:
"r" para lectura. "w" para escritura. "x" para ejecución.
Por ejemplo, para designar lectura a todos los usuarios, escritura sólo para el propietario y el grupo y eliminar ejecución para cuaquiera se usaría lo siguiente:

chmod ugo+r foo.file
chmod ug+w foo.file
chmod o-w foo.file
chmod ugo-x foo.file

Hay más opciones, pero con estas puedes aviarte. Ah, el nombre de archivo admite comodines.
chown <usuario>:<grupo> <archivo>
Sirve para modificar el propietario y/o grupo de un archivo. No hace falta indicar ambos, y evidentemente hay que tener permisos de escritura para poder hacerlo.

Finalmente, ambas opciones pueden aplicarse a directorios. Los directorios deben tener, como mínimo, permisos de ejecución para el propietario, o de lo contrario no permitirá acceder a su contenido correctamente.

Casimiro Notevi
21-02-2011, 13:16:18
También estaría bien decir por qué no puedes acceder, cómo lo estás haciendo, qué mensajes te sale, etc. ;)

rretamar
21-02-2011, 13:17:11
Por las dudas también verificaría que el servicio "Firebird" esté ejecutándose automáticamente al arrancar el sistema operativo. La mayoría de las distribuciones de Linux tienen herramientas de configuración en modo gráfico para controlar esto (iniciar o detener servicios, además de configurar si se iniciarán en forma automática o manual); OpenSUSE tiene al todopoderoso YAST, Mandriva tiene el Control Center, etc. :)

En el caso de Firebird, trataría de usar la versión disponible en el repositorio nativo para la distribución que uso, de esa manera me ahorro algunas tareas que de otra forma se tienen que hacer "a mano".

anubis
21-02-2011, 15:23:30
Gracias a todos por la cooperacion

En principio no firebird no arranca y me sale este error:

/etc/init.d # ./firebird start
Starting FirebirdCould not open /usr/lib/firebird/run/isc_guard1.sglopesacv for write
startproc: exit status of parent of /usr/lib/firebird/bin/fbguard: 253


El directorio /run no existe

segun los archivos y permisos de firebird que salen son estos

/usr/lib/firebird # ls -l
total 152
lrwxrwxrwx 1 root root 26 ene 15 18:21 aliases.conf -> /etc/firebird/aliases.conf
lrwxrwxrwx 1 root root 32 ene 15 18:22 bin -> /etc/alternatives/firebird-super
drwxr-xr-x 2 root root 4096 ene 15 18:22 bin-superserver
lrwxrwxrwx 1 root root 27 ene 15 18:21 firebird.conf -> /etc/firebird/firebird.conf
lrwxrwxrwx 1 root root 30 ene 15 18:21 firebird.log -> /var/log/firebird/firebird.log
-rw-r--r-- 1 root root 135128 dic 1 01:47 firebird.msg
drwxr-xr-x 2 root root 4096 ene 15 18:21 help
drwxr-xr-x 2 root root 4096 ene 15 18:21 intl
drwxr-xr-x 2 root root 4096 ene 15 18:21 lib
lrwxrwxrwx 1 root root 17 ene 15 18:21 run -> /var/run/firebird
lrwxrwxrwx 1 root root 38 ene 15 18:21 security2.fdb -> /var/lib/firebird/system/security2.fdb
lrwxrwxrwx 1 root root 30 ene 15 18:21 UDF -> /etc/alternatives/firebird-UDF
drwxr-xr-x 2 root root 4096 ene 15 18:22 UDF-superserver


Permisos para usuario y grupo ya estaban asignados, el problema es que no consigo que arranque.

Voy a ver si puedo instalar desde otro sitio o desde un rpm o compilarlo desde el source.

un saludo y gracias

anubis
21-02-2011, 16:02:44
Gracias a todos.

Al final tuve que desinstalar la version de los repos e instalar la

FirebirdSS-2.5.0.26074-0.i686.tar.gz

La instalación es bastante simple (te pide la contraseña para SYSDBA, le puse '12345' de prueba) y te lo coloca en el directorio /opt, por lo demás levanta el servicio automaticamente.

Con el isql ya probé que conecta a la base de datos ejemplo.

y con el flamerobin tambien

El único punto que todavia no resuelvo es crear una basededatos con el isql porque no me deja:

I/O error during "open O_CREAT" operation for file "/opt/firebird/prueba.fbd"
-Error while trying to create file
-Permission denied


La forma es:
SQL> CREATE DATABASE '/opt/firebird/examples/empbuild/prueba.fbd'
CON> user 'SYSDBA' password '12345';
Statement failed, SQLSTATE = 08001
I/O error during "open O_CREAT" operation for file "/opt/firebird/examples/empbuild/prueba.fbd"
-Error while trying to create file
-Permission denied

Total que conectar si pero crear no.

un saludo

Ya esta solucionado, me falto algun permiso para poder escribir en ese directorio, tal y como decis, pero pense que el propio usuario o incluso el root tenia permisos para todo ;).

gracias de nuevo

Casimiro Notevi
21-02-2011, 18:50:06
Seguramente estás con tu usuario y no tiene permisos para escribir ahí, créala en tu home, o sea, /home/tuusuario/dondequieras/basedatos.fdb

rastafarey
10-03-2011, 02:09:50
el root tiene permiso para todo y si no lo tien eel mismo se lo puede dar.