Esta página fue traducida automáticamente. Lee el original en inglés. English

Biblioteca de IBSurgeon

Cómo usar instreg.exe e instsvc.exe (herramientas de línea de comandos para la instalación de Firebird en Windows)

Cómo usar instreg.exe e instsvc.exe

Autores: Original: Alex Peshkov (peshkoff at mail.ru), Revisado por: Olivier Mascia (om at tipgroup.com)

NOTA :: Para resolver cualquier problema potencial con rutas largas que contengan espacios o caracteres especiales (no ascii), estas herramientas ya no aceptan el Directorio Raíz como argumento de línea de comandos. Ambos binarios deben instalarse (o copiarse) en el directorio /bin debajo de su directorio raíz de Firebird.

(Directorio raíz == directorio raíz donde están instalados firebird.conf y security2.fdb).

Por ejemplo, si se encuentran en C:\FB20.in, el directorio raíz se deducirá como C:\FB20.

INSTREG.EXE

El propósito de esta utilidad es instalar las claves del Registro para Firebird. Debido a que su tarea es deducir la ruta del Directorio Raíz como el directorio inmediatamente superior a su propia ubicación y escribirla en el Registro como una ruta absoluta, instreg.exe debe instalarse en el subdirectorio /bin del directorio raíz de Firebird (ver nota anterior).

La clave del Registro *no* es necesaria para que el motor funcione; sin embargo, muchas herramientas de terceros esperan leerla para poder funcionar. La clave almacenada es

HKLM\SOFTWARE\Firebird Project\Firebird Server\Instances

y contiene un valor de cadena: DefaultInstance.

Este valor de cadena ‘DefaultInstance’ contiene la ruta completa (terminada con barra invertida) al directorio raíz de la instalación. Esta configuración está diseñada para que la gestión de múltiples instancias nombradas del servidor sea posible en una próxima versión. Actualmente, la única instancia recibe el nombre fijo ‘DefaultInstance’. No hay nada más almacenado en el registro. Cualquier información de versión o configuración debe ser encontrada por herramientas de terceros en el archivo firebird.conf correspondiente. Este archivo se puede localizar gracias a la ruta raíz almacenada en el valor …\Instances\DefaultInstance.

Uso:

Code
instreg i[nstalar]
instreg r[emover]

‘-z’ se puede usar con cualquier otra opción, imprime la versión del software de Firebird como primera línea de salida.

Para obtener ayuda breve de texto, simplemente invoque instreg.exe sin argumentos.

INSTSVC.EXE

Firebird proporciona una rutina estándar para gestionar el Servicio de Firebird en plataformas WinNT/2000/XP - instsvc.exe.

Mensajes de consola

La salida de los mensajes de error de Windows (si los hay) se ha mejorado para que se realice cualquier transliteración necesaria de cadenas ansi al juego de caracteres OEM de la ventana de consola. Esto significa que las personas que usan Windows no inglés recibirán mensajes de error del sistema de Windows en su idioma con acentos correctos y demás.

Funciones relacionadas con la seguridad

La opción ‘-login’ (o -l) implementada anteriormente ha sido revisada y mejorada extensamente. Ahora se puede usar para configurar el(los) servicio(s) para que se ejecuten bajo una cuenta de usuario específica (presumiblemente con privilegios limitados en el sistema) en lugar del “LocalSystem” predeterminado.

Uso:

Code
instsvc i[nstalar] [ -s[uperserver]* | -c[lásico] | -m[ultihilo] ]
         [ -a[utomático]* | -d[emanda] ]
         [ -g[uardián] ]
         [ -l[ogin] nombredeusuario [contraseña] ]
         [ -n[ombre] instancia ]
         [ -i[nteractivo] ]
instsvc ini[ciar] [ -b[oostpriority] ] [ -n[ombre] instancia ]
instsvc det[ener] [ -n[ombre] instancia ]
instsvc con[sultar]
instsvc r[emover] [ -n[ombre] instancia ]

Esta utilidad debe ubicarse y ejecutarse desde el directorio ‘bin’ de su instalación de Firebird.

  • ‘*’ denota los valores predeterminados

  • ‘-z’ se puede usar con cualquier otra opción, imprime la versión

  • ’nombredeusuario’ se refiere por defecto a una cuenta local en esta máquina.

  • Use el formato ‘dominio\nombredeusuario’ o ‘servidor\nombredeusuario’ si corresponde.

Ejemplos

asumiendo que Firebird está instalado (copiado a su ubicación de instalación).

Superserver y inicio automático son ahora los valores predeterminados.

Code
instsvc i
instsvc install

configura un Superserver como servicio en modo de inicio automático (iniciado al arrancar) bajo la identidad de sistema predeterminada, llamada “LocalSystem”.

Code
instsvc i -g
instsvc install -guardian

como arriba, pero inicia primero el servicio Guardian.

Las opciones “-demand” (-d) y “-classic” (-c) permiten cambiar los valores predeterminados, de modo que el servidor clásico (en lugar del superserver) se pueda configurar como servicio y cualquiera de los servicios se pueda configurar para iniciarse bajo demanda en lugar de al arrancar.

Para eliminar el(los) servicio(s)

Los servicios deben detenerse antes de eliminarse. Esto podría automatizarse con 3 líneas de código, pero es mejor dejarlo como está por seguridad.

Code
instsvc r
instsvc remove

elimina la definición del servicio. Si se configuró Guardian, se eliminarán tanto el servicio guardian como el del servidor.

Para iniciar y detener el(los) servicio(s) instalado(s)

Code
instsvc sta
instsvc start

inicia el servidor o Guardian + servidor, según lo configurado por el comando install.

Code
instsvc stop

detiene el servidor o Guardian + servidor, según lo configurado por el comando install.

Para obtener un informe del estado del servidor

Este es un comando nuevo:

Code
instsvc q
instsvc query

Imprime un informe de exactamente *qué* está configurado y *cómo*, así como si los servicios están en ejecución o detenidos.

Para usar la función de inicio de sesión seguro

La opción “-login” requiere un nombre de usuario y una contraseña:

Code
instsvc i -g -login usuario contraseña

Esto configuraría el superserver de FB como inicio automático, con Guardian, para ejecutarse bajo la identidad “usuario” cuya contraseña es contraseña.

\* Si se incluye la contraseña, esta no debe comenzar con ‘-’.

\* Si se omite la contraseña de la línea de comandos, instsvc la solicitará. En ese caso, la contraseña se enmascarará con ‘*’ mientras se escribe.

Al configurar los servicios como arriba, instsvc otorga automáticamente el privilegio del sistema operativo Windows llamado “Iniciar sesión como servicio” al usuario especificado. Esto es necesario, de lo contrario el servicio no podría iniciarse. Instsvc no informa de ello a menos que falle.

Para tener en cuenta la posibilidad de que el usuario que inicia sesión mediante el interruptor -login sea un usuario normal sin privilegios de administrador en la máquina, instsvc ajusta el descriptor de seguridad predeterminado del(los) servicio(s) para que este usuario pueda iniciarlos/detenerlos/consultarlos.

Esto es necesario para permitir que Guardian (también ejecutándose como este usuario) inicie el servidor de FB. El usuario no podrá desinstalar el(los) servicio(s) ni cambiar su configuración.

NOTA

Instsvc NO CREA el “usuario” en la máquina Windows. Eso no sería una buena idea. El administrador podría querer crear el usuario como parte de la máquina local o como parte de un dominio, e instsvc no tiene ninguna necesidad particular de usurpar la responsabilidad del administrador para crear usuarios.

El usuario necesita tener acceso de lectura/escritura a todas las bases de datos y al archivo firebird.log. Por razones de seguridad, NO se debe otorgar acceso de escritura a firebird.conf ni a los ejecutables de Firebird.

En Windows NT/2K/XP es común incluir el prefijo de dominio o servidor para un usuario definido en un dominio o localmente en otro servidor. En los ejemplos anteriores, “usuario” podría tomar la forma de:

DOMINIO\usuario o

SERVIDOR\usuario

Sin prefijo, el usuario es implícitamente un usuario local en la máquina actual.