Instalación y configuración de opsi

Toda la información fue sacada de la página de opsi.org, aquí dejo la dirección

https://docs.opsi.org/opsi-docs-en/4.3/index.html

 Requisitos:

La instalación de opsi se instalará bajo la versión 22.04 de Ubuntu server.

An x86-64 or ARM64 system

2 GByte of RAM

2 CPU cores

Ubuntu server 22.04

Versión opsi 4.3

Instalación

Para la instalación del opsi server hay que seguir estas instrucciones:

Actualizando Ubuntu server 22.04

Lo primero es actualizar el sistema operativo linux con los comandos siguientes:

apt update
apt upgrade

Añadiendo los siguientes paquete/s

Siempre con el comando sudo delante o ya como root. cada linea es un comando, es recomendable ejecutarlo 1 x 1 los comandos.

apt --yes install host apt-transport-https software-properties-common curl gpg
apt update
sudo mkdir -p /usr/local/share/keyrings

Añadiendo el repositorio Grafana

A la hora de añadir el repositorio Grafana, (que por otra parte nos indica que es necesario si no se añade, ya que daría error al instalar el paquete opsi-server), si se ejecutase como root, deberíamos sacar los sudo incluidos en el código, esto solamente si lo hacemos como root, si es el caso contrario que lo ejecutamos sin ser root, no es necesario. Solamente hay que copiarlo y pegarlo. El primer código es con sudo y el segundo es sin el, si no funcionase uno hay que probar con el otro y/o corregir los errores en caso de que surgiesen.

[El codigo con sudo]
REPO_URL=https://apt.grafana.com
REPO_KEY=/usr/local/share/keyrings/grafana.gpg
curl -fsSL ${REPO_URL}/gpg.key | gpg --dearmor | sudo tee ${REPO_KEY} > /dev/null
sudo echo "deb [signed-by=${REPO_KEY}] ${REPO_URL} stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
[Código sin sudo]
REPO_URL=https://apt.grafana.com
REPO_KEY=/usr/local/share/keyrings/grafana.gpg
curl -fsSL ${REPO_URL}/gpg.key | gpg --dearmor | tee ${REPO_KEY} > /dev/null
echo "deb [signed-by=${REPO_KEY}] ${REPO_URL} stable main" | tee /etc/apt/sources.list.d/grafana.list

hacemos un apt update y un apt upgrade

Añadiendo los repositorios de opsi a la máquina

REPO_URL=https://download.opensuse.org/repositories/home:/uibmz:/opsi:/4.3:/stable/xUbuntu_22.04
REPO_KEY=/usr/local/share/keyrings/opsi-obs.gpg
echo "deb [signed-by=$REPO_KEY] $REPO_URL/ /" | tee /etc/apt/sources.list.d/opsi.list
curl -fsSL $REPO_URL/Release.key | gpg --dearmor | tee $REPO_KEY > /dev/null

Volvemos a hacer un apt update y un apt upgrade

Instalación del paquete opsi-server-full

Si todo ha ido correcto podemos proceder a la instalación de opsi-server, en caso de que diese un error, el que a mi me dio fue el del repositorio de grafana, con volver a ejecutar el código del repositorio de nuevo, se solucionaría el problema.

apt install opsi-server-full -y

Registro de opsi-depot server

Este paso es para registrar el Depot, que según a mi entender, es como un deposito, donde se van a guardar los archivos de los programas o sistemas operativos que vamos a usar con opsi.

opsiconfd setup --register-depot

Registro de usuarios(Autorizaciones)

Si vamos a contar con mas de un usuario administrador, es decir, cuando se instalar el Ubuntu server nos manda crear un usuario que sería el principal de la máquina, pues además que si queremos contar con otro mas, tenemos que ejecutar los comandos descriptos a continuación por los 2 usuarios en este caso, si hubiese un 3º haríamos lo mismo. Aquí lo que vamos a crear es el usuario/usuarios que nos van a permitir iniciar sesión en opsi-server, como por ejemplo en el opsi-configed, opsi-webgui, opsi-admin.

Creando usuario.
useradd -m -s /bin/bash adminuser
Poniendo contraseña a adminuser
passwd adminuser

Añadiendo el usuario/s a los grupos opsiadmin y opsifileadmins

Aquí añadimos el/los usuarios creados anteriormente a 2 grupos que son importantes para opsi, opsiadmin y opsifileadmins, a mayores tenemos un 3er usuario llamada “pcpatch”, este usuario es necesario, y ya se crea por defecto cuando se instala el opsi-server y sirve para que digamos opsi, pueda compartir los programas entre el Depot via cif y los clientes entre caso Windows.

Explicación sacada de la pagina de la pagina

https://docs.opsi.org/opsi-docs-en/4.3/server/components/authorization.html

opsi utiliza las siguientes cuentas de usuario y grupo:

  • opsiconfd: Esta cuenta es para el servicio del sistema opsiconfd . La cuenta debe ser miembro de la opsiadmin y opsifileadmins grupos.
  • pcpatch: Una cuenta utilizada por los clientes de opsi para el acceso CIFS (Samba) al depósito de opsi. Debe ser miembro de la opsifileadmins grupo
  • opsiadmin: Los miembros de este grupo tienen acceso administrativo al servicio opsi. Esto significa que se les otorga acceso completo a través de varias interfaces, incluida la interfaz de administración opsi-configed, la opsi WebGUI, y el opsiconfd página de administración.
  • opsifileadmins: Los miembros de este grupo tienen acceso administrativo a archivos opsi (es decir, el depósito, el repositorio y el banco de trabajo).
  • opsireadonly: Los miembros de este grupo tienen acceso de solo lectura al servicio opsi.
usermod -a -G opsiadmin adminuser
usermod -a -G opsifileadmins adminuser
password para user pcpatch
opsiconfd setup --set-depot-user-password

Añadiendo Usuarios a SAMBA

SAMBA se utiliza para compartir un recurso de Linux con Windows o otros sistemas operativos, por defecto, ya viene configurado al instalar opsi-server, lo único que tenemos que hacer es ejecutar el comando mostrado a continuación, y eso si por cada uno de los usuarios admin que hayamos creado, ya que nos van a servir para poder configurar 2 aplicaciones más tarde para poder añadir los paquetes de los programas al propio Opsi.

smbpasswd -a adminuser

Las consolas web de Opsi

En opsi vamos a disponer de 2 consolas web, que son:

https://192.168.0.138:4447/addons/webgui/app

https://192.168.0.138:4447/login?redirect=/admin

La primera nos sirve para poder gestionar los clientes y las aplicaciones que vayamos añadiendo y la 2 nos permite gestionar opsi, así como poder realizar un backup del mismo. También hay una utilidad llamada Opsi-configed, que se ejecuta en Windows que también nos permite hacer lo mismo y no necesita insalación.

Consola Web de Opsi
Consola de Administración de Opsi
Opsi-configed

Añadir clientes a opsi-server

Para que opsi, pueda instalar los programas a través de la red, es necesario instalar un agente en los clientes, este agente queda oculto a vista del usuario. Hay 2 formas de descargar el opsi-client-agent, bien a través de la consola de Opsi-admin, o bien desde la siguiente dirección: https://tools.43.opsi.org/stable/ si lo hacemos a través del Opsi-admin nos deberemos ir a public y se nos abrirá una url interna de nuestro servidor opsi https://192.168.0.138:4447/public/opsi-client-agent/

Panel de Opsi-admin
Url interna de nuestro Opsi-server para descargar el Opsi-client-agent

Integrar Opsi-server en un dominio Windows

No probado, pero se puede encontrar la información en el siguiente enlace:

https://docs.opsi.org/opsi-docs-en/4.3/server/components/authorization.html#server-components-authorization-domain-join

Personalizar el opsi-script con un logo corporativo

https://docs.opsi.org/opsi-docs-en/4.3/clients/windows-client/windows-client-agent.html

https://docs.opsi.org/opsi-docs-en/4.3/opsi-script-manual/configuration-options.html

Lo primero que tenemos que hacer es conseguir el logo corporativo o la imagen que se quiera que aparezca y con un programa redimensionar el logo al tamaño de 600×400 y guardarlo en formato .png

Una vez realizado ese paso nos vamos a esta ruta /var/lib/opsi/depot/opsi-client-agent/files/opsi-script/skin aquí tenemos que abrir el archivo skin.ini, no si antes haber hecho una copia de seguridad, este archivo es el que le indica al opsi-client-agent el tamaño, el logo a mostrar cuando se inicia la instalación del software mediante opsi.

También he podido comprobar y según indicaciones de la documentación de la página de opsi, si ponemos los archivos skin.ini y el logo que queremos mostrar en esta ruta /var/lib/opsi/depot/opsi-client-agent/files/custom/opsi-script/skin, nos mantiene las modificaciones personalizas realizadas en el archivo skin.ini cuando se instala una versión nueva del opsi-client-agent.

Las pruebas fueron realizadas por mi mediante prueba y error, es decir modificando los valores contenidos en el archivo skin.ini hasta encontrar el formato correcto y que se mostrará correctamente el logo, el icono, las barras de progreso etc.

Esquema de Skin.ini

Este esquema muestran los nombres de las etiquetas referenciados en el archivo skin.ini, en dicho archivo se pueden modificar cambiando el tamaño, el color, el tamaño de la letra etc.. Mas abajo se encuentra una copia del archivo modificado y también para su descarga.

Skin.ini Original sin modificar
[Form]
Theme = default
Color = $00E4E4E3
; TitleBar = None
; Sizeable = False

[LabelVersion]
Alignment = Left
Left = 25
Top = 375
Width = 85
Height = 16
FontName = DejaVu Sans
FontSize = 7
FontColor = $00E7E7E7
FontBold = false
FontItalic = false
FontUnderline = false

[LabelProduct]
Alignment = Left
Left = 280
Top = 80
Width = 280
Height = 32
FontName = DejaVu Sans
FontSize = 16
FontColor = $00E7E7E7
FontBold = false
FontItalic = false
FontUnderline = false

[LabelInfo]
Alignment = Left
Left = 280
Top = 120
Width = 280
Height = 20
FontName = DejaVu Sans
FontSize = 10
FontColor = $00E7E7E7
FontBold = true
FontItalic = false
FontUnderline = false

[LabelDetail]
Alignment = Left
Left = 280
Top = 140
Width = 280
Height = 20
FontName = DejaVu Sans
FontSize = 8
FontColor = $00E7E7E7
FontBold = false
FontItalic = false
FontUnderline = false

[LabelProgress]
Alignment = Left
Left = 280
Top = 160
Width = 280
Height = 10
FontName = DejaVu Sans
FontSize = 8
FontColor = $00E7E7E7
FontBold = false
FontItalic = false
FontUnderline = false
[LabelCommand]
Alignment = Left
Left = 280
Top = 180
Width = 280
Height = 10
FontName = DejaVu Sans
FontSize = 8
FontColor = $00E7E7E7
FontBold = false
FontItalic = false
FontUnderline = false

[ProgressBar]
Left = 280
Top = 200
Width = 280
Height = 10

[ActivityBar]
Left = 280
Top = 220
Width = 280
Height = 10

[ImageBackground]
File = bg.png

[ImageProduct]
File = product.png
Left = 40
Top = 65
Width = 160
Height = 160

[Image1Over]
File =
Left = 0
Top = 0
Width = 0
Height = 0

[Image2Over]
File =
Left = 0
Top = 0
Width = 0
Height = 0
archivo skin.ini modificado por mi
[Form]
Theme = default
Color = 6,54,88
TitleBar = True
; Sizeable = False

[LabelVersion]
Alignment = Left
Left = 80
Top = 300
Width = 85
Height = 16
FontName = DejaVu Sans
FontSize = 7
FontColor = 241,196,15
FontBold = false
FontItalic = false
FontUnderline = false

[LabelProduct]
Alignment = Left
Left = 185
Top = 60
Width = 280
Height = 32
FontName = DejaVu Sans
FontSize = 16
FontColor = 255,235,59
FontBold = false
FontItalic = false
FontUnderline = false

[LabelInfo]
Alignment = Left
Left = 185
Top = 110
Width = 280
Height = 20
FontName = DejaVu Sans
FontSize = 8
FontColor = 36,113,163
FontBold = true
FontItalic = false
FontUnderline = false

[LabelDetail]
Alignment = Left
Left = 250
Top = 310
Width = 280
Height = 20
FontName = DejaVu Sans
FontSize = 10
FontColor = 0,255,0
FontBold = false
FontItalic = false
FontUnderline = false

[LabelProgress]
Alignment = Left
Left = 220
Top = 330
Width = 280
Height = 10
FontName = DejaVu Sans
FontSize = 10
FontColor = 0,255,255
FontBold = false
FontItalic = false
FontUnderline = false

[LabelCommand]
Alignment = Left
Left = 220
Top = 310
Width = 280
Height = 10
FontName = DejaVu Sans
FontSize = 8
FontColor = $00E7E7E7
FontBold = false
FontItalic = false
FontUnderline = false

[ProgressBar]
Left = 220
Top = 300
Width = 280
Height = 10

[ActivityBar]
Left = 220
Top = 300
Width = 280
Height = 10

[ImageBackground]
File = zendal.png

[ImageProduct]
File = product.png
Left = 80
Top = 60
Width = 80
Height = 80

[Image1Over]
File =
Left = 0
Top = 0
Width = 0
Height = 0

[Image2Over]
File =
Left = 0
Top = 0
Width = 0
Height = 0

Nota Importante: En este Esquema yo indico los tipos de etiquetas relacionadas con el archivo event.ini, pero esos nombres los he averiguado mediante prueba y error, así que no me hago responsable de los posibles errores.

Esquema de las etiquetas del Archivo Event.ini,

Este archivo se encuentra en la ruta /var/lib/opsi/depot/opsi-client-agent/files/opsi-notifier/notifier.d, este mismo archivo hay que copiar tanto el event.ini como el logoelquesea.bmp a la siguiente ruta: /var/lib/opsi/depot/opsi-client-agent/files/custom/notifier$ se mantendrá una copia en caso de que se actualice el opsi-client-agent. Mas abajo se encuentra una copia del archivo event.ini modificado por mi. Una cosa a tener en cuenta es que aquí en logo tiene que estar formato .BMP y en tamaño 400 x 400.

Esquema Event.ini

Archivo event.ini modificado por mi

[Form]
Color = 255,255,255
Transparent = false
StayOnTop = false
Frame = false
Resizable = false
Closeable = false
Minimizable = false
Text = opsi
Left = 0
Top = 0
Width = 400
Height = 400
Hidden = false
FadeIn = true
FadeOut = true

[ImageBg]
Left = 0
Top = 0
Width = 400
Height = 400
File = miempresa.bmp

[LabelTitle]
Transparent = true
Left = 20
Top = 10
Width = 360
Height = 40
FontName = DejaVu Sans
FontSize = 30
FontColor = 240,240,240
FontBold = false
FontItalic = false
FontUnderline = false
Alignment = left
Text = Mi Empresa S.A.

[LabelOpsiclientdInfo]
Transparent = true
Left = 20
Top = 50
Width = 200
Height = 12
FontName = DejaVu Sans
FontSize = 12
FontColor = 255,255,255
FontBold = false
FontItalic = false
FontUnderline = false
Alignment = left
SubjectId = opsiclientdInfo
Text =

[LabelActionProcessorInfo]
Transparent = true
Left = 20
Top = 65
Width = 200
Height = 12
FontName = DejaVu Sans
FontSize = 12
FontColor = 255,255,255
FontBold = false
FontItalic = false
FontUnderline = false
Alignment = left
SubjectId = actionProcessorInfo
Text =

[ButtonStop]
Transparent = False
Active = False
Color = 0,88,194
Left = 140
Top = 230
Width = 120
Height = 20
FontName = DejaVu Sans
FontSize = 14
FontBold = false
FontItalic = false
FontUnderline = false
Alignment = center
SubjectId = choice
ChoiceIndex = 0
Text = Cancelar

[LabelStatus]
Transparent = true
Left = 10
Top = 260
Width = 380
Height = 50
FontName = DejaVu Sans
FontSize = 16
FontColor = 203,30,88
FontBold = false
FontItalic = false
FontUnderline = false
Alignment = center
SubjectId = status
Text = Connecting to opsiclientd...

[LabelDetail]
Transparent = true
Left = 10
Top = 310
Width = 380
Height = 50
FontName = DejaVu Sans
FontSize = 12
FontColor = 255,255,255
FontBold = false
FontItalic = false
FontUnderline = false
Alignment = center
SubjectId = detail
Text =

[LabelConfigServiceUrl]
Transparent = true
Left = 14
Top = 376
Width = 180
Height = 12
FontName = DejaVu Sans
FontSize = 12
FontColor = 255,255,255
FontBold = false
FontItalic = false
FontUnderline = false
Alignment = left
SubjectId = configServiceUrl
Text = no service

[LabelClientId]
Transparent = true
Left = 204
Top = 376
Width = 180
Height = 12
FontName = DejaVu Sans
FontSize = 12
FontColor = 255,255,255
FontBold = false
FontItalic = false
FontUnderline = false
Alignment = right
SubjectId = clientId
Text = client id

Una vez modificados los archivos mencionados y comprobando que esta todo a nuestro gusto, lo que tenemos que hacer y de momento no he encontrado otra manera de hacerlo, es volver a instalar el opsi-client-agent desde el opsi-configed, ya que esto lo que hará es copiar los nuevos archivos a los equipos clientes. Y una vez actualizado en los clientes en las próximas instalaciones de los programas ya podemos ver nuestros logos.

Descarga de los archivos usados para pruebas

Descargar Opsi Package-builder

Desde aquí se puede descargar el Opsi Package-Builder

https://forum.opsi.org/viewtopic.php?f=22&t=7573%20…

Añadir Opsi Package-Builder y opsi-setup-detector con comandos a opsi

Para añadir el opsi-package builder a opsi, desde el servidor escribimos el siguiente comando:

opsi-package-updater install opsipackagebuilder_wlm

Lo mismo haremos para el opsi-detector

opsi-package-updater install opsi-setup-detector

Client Agent (MSI PACKAGE)

Esto lo que hace realmente ejecutar el instalador desde la línea de comandos cmd de Windows.

msiexec /i opsi-client-agent.msi INSTALL_PARAMS=”–non-interactive –service-address=https://opsiserver.domain.tld:4447 –service-username=msi –service-password=secret”

Repo uib_windows install

opsi-package-updater -v --repo uib_windows install  

Despliegue del Agente mediante el comando opsi-deploy-agent

Prerequisitos
• Recurso compartido c$ abierto.
• Recurso compartido admin$ abierto.
• Una cuenta administrativa.
• Los servicios RpcSs y RpcEptMapper deben estar en ejecución (a partir de Windows 8, esta es la configuración predeterminada).
• Un cortafuegos que permita el uso compartido de archivos e impresoras y Windows Management Instrumentation (WMI).
• La clave de registro HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LocalAccountTokenFilterPolicy debe tener el valor 1.
Instrucciones
Conectar por SSH al servidor OPSI con IP 192.168.0.138
Ir al directorio /var/lib/opsi/depot/opsi-client-agent ejecutando:
cd /var/lib/opsi/depot/opsi-client-agent

NOTA: Ejecutar el comando ./opsi-deploy-client-agent –help para ver la ayuda, si es necesario.

Ejemplo de despliegue en una sola máquina
Se ejecuta el comando
./opsi-deploy-client-agent pc01.miempresa.local –username miemprea\\a.pitart
¡¡AVISO!! La contraseña del usuario administrador de dominio que se use NUNCA puede llevar el símbolo “$”

Ejemplo de despliegue en varias máquinas usando un fichero hosts
Accedemos al directorio /var/lib/opsi/depot/opsi-client-agent con el comando
cd /var/lib/opsi/depot/opsi-client-agent
Creamos o editamos, si ya existe, el fichero txt con el comando
sudo nano equipos.txt

Añadimos los equipos a los que queremos desplegar el agente usando el FQDN del equipo
Lanzamos la aplicación con los siguientes parámetros
./opsi-deploy-client-agent –hosts-from-file equipos.txt –username miempresa\\a.pitart
NOTA: Como el fichero está en la misma ubicación desde la que se ejecuta la aplicación, no es necesario escribir la ruta completa.

Actualizar los paquetes de opsi

Esto nos permite actualizar los últimos paquetes que han salido para opsi, como por ejemplo el opsi-agent.

opsi-package-updater -v update

Una vez que hemos ejecutado el comando “opsi-package-updater -v update” desde el servidor opsi, debemos de proceder a actualizar el agente en los clientes, para ello se realiza a través de el opsi-configed.

Antes de actualizar el agente, que se encuentra en su versión 4.3.3.10-1.

y ahora veremos el después

Y vemos que se ha actualizado correctamente.

Instalar Productos Manualmente

opsi-package-manager -i <package>.opsi

Instalar paquetes HWAUDIT/SWAUDIT

Este paquete nos permite hacer una auditoria de todo el software instalado en los cliente/s

swaudit_4.3.1.0-1.opsi

Comando para que hace que acepte los términos automáticamente

Este parámetro: “ACCEPT_EULA=1” comillas incluido hay que ponerlo en donde pone “comando a instalar” al final de todo, se puede ver en la 2ª captura.

Conseguir el instalador de Adobe Acrobat Reader ultima versión

1º Nos descargamos el instalador online de aquí

2ª Nos vamos a la siguiente ruta %userprofile%\AppData\Local\Adobe\ y mientras esta instalado veremos que nos aparece una carpeta con un nombre largo 55922FF9-AAF2-4A1E-8A86-B024D61744DB lo único que tenemos que hacer es copiar esa carpeta y pegarla en descargas y la renombramos, añadiendo al final.exe. Una vez realizado esto, lo extraeremos por ejemplo con el 7zip y nos descomprimirá en una carpeta con el nombre, y veremos dentro los archivos de instalación. Y tendremos el adobe acrobat reader la ultima versión.

Información importante:

https://docs.opsi.org/opsi-docs-en/4.3/opsi-script-manual/configuration-options.html

Notas para los aplicativos en Opsi-Detector

Aquí incluyo los textos que se pueden incluir a la hora de usar opsi-detector y poner una breve descripción del producto así como su versión.

7ZIP

7-zip es un compresor de archivos gratuito y de código libre, al igual que Linux, tiene una licencia GNU LGPL y usa el formato de archivos 7z, que también es libre, con extensión de nombre igual al formato de compresión .7z. Los principales formatos de compresión son LZMA, LZMA2 y PPMD, el LZMA es una mejora del algoritmo LZ77, el LZMA2 es una mejora del propio LZMA y PPMD incluye unos pequeños cambios al PPMdH y está más orientado a textos.
C:\Program Files\7-Zip\
19.00

POWER BI
"ACCEPT_EUALA=1"
2.130.930.0
C:\Program Files\Microsoft Power BI Desktop\
Power BI es una solución de análisis empresarial basado en la nube, que permite unir diferentes fuentes de datos, analizarlos y presentar un análisis de estos a través de informes y paneles. Con Power BI se tiene de manera fácil acceso a datos dentro y fuera de la organización casi en cualquier dispositivo.

Adobe Reader Dc
rutas
C:\Program Files (x86)\Adobe\Acrobat Reader DC\ ==> Para 32 bits
C:\Program Files\Adobe\Acrobat DC\ ==> para 64 bits
versión 15.007.20033
21.001.20135 ==> "La versión mas actual usando el archivo MSI.
El software Adobe Acrobat Reader es el estándar gratuito y global de confianza para visualizar, imprimir, firmar, compartir y crear comentarios en PDF. Es el único visor de PDF gratuito que permite abrir e interactuar con todos los tipos de contenido PDF, incluidos formularios y multimedia

Java 1.8
C:\Program Files\Java\jre-1.8\
Java es una plataforma informática de lenguaje de programación creada por Sun Microsystems en 1995. Ha evolucionado desde sus humildes comienzos hasta impulsar una gran parte del mundo digital actual, ya que es una plataforma fiable en la que se crean muchos servicios y aplicaciones. Los nuevos e innovadores productos y servicios digitales diseñados para el futuro también siguen basándose en Java.

FIREFOX 128
Versión 128.0.0.0
C:\Program Files\Mozilla Firefox\
Mozilla Firefox (o simplemente Firefox) es un navegador web libre y de código abierto desarrollado para distintas plataformas, está coordinado por la Corporación Mozilla y la Fundación Mozilla. Usa el motor Gecko para renderizar páginas web, el cual implementa actuales y futuros estándares web

XNIEW 1.7.2.0 (Lo detecta perfectamente opsi-detector)
XnView es un organizador de imágenes y administrador de archivos de propósito general usado para visualizar, convertir, organizar y editar imágenes raster, así como para la administración de archivos de propósito general. Viene con herramientas integradas para inspección hexadecimal, renombrado de archivos y captura de pantalla. Se licencia como freeware para uso privado, educacional y sin ánimo de lucro.

NOTEPAD ++ 8.6.4.0
Notepad++ es un editor de texto y de código fuente libre con soporte para varios lenguajes de programación. Con soporte nativo para Microsoft Windows.
Se parece al Bloc de notas en cuanto al hecho de que puede editar texto sin formato y de forma simple. No obstante, incluye opciones más avanzadas que pueden ser útiles para usuarios avanzados como desarrolladores y programadores.
Se distribuye bajo los términos de la licencia GPLv3.
C:\Program Files\Notepad++\
versión 8.6.4.0

Iconos para usar con Opsi-Detector

Aquí subiré mi archivo de iconos para opsi-detector actualizado, para poder personalizar la creación del aplicativo para opsi. Su tamaño para que opsi lo pueda mostrar es de 160 x 160.

Modificar plantilla en Opsi-Detector para poner en español “Instalando” en vez de “install”

Para que nos salga el mensaje “instalando” en vez de install y “Desinstalando” en vez de “Uninstall”, a la hora de añadir aplicaciones a nuestro Opsi, debemos de modificar unos archivos de plantilla que trae el opsi-detector, estos archivos son los que se copian después a la carpeta de la aplicación en nuestro depot y se usa para cuando se lanza la instalación desde el opsi-configed, aparezca en “español” y no en “ingles”. para ello debemos ir a la siguiente ruta “C:\Program Files (x86)\opsi.org\opsi-setup-detector\template-files\default\win” y veremos los siguiente archivos.

Tal como se muestra en la captura, los archivos a modificar en cuestión son los marcados en amarillo.

Abrimos el primer archivo “setupsingle.opsiscript” y nos dirigimos a donde pone “message” y ahí cambiamos el texto que queremos que se muestre el que se encuentra entre las ” “, en este caso cambiamos “install” por “Instalando”, y hacemos lo mismo con el archivo “uninstallsingle.opsiscript” en la captura podemos ver el texto en inglés.

Esta captura corresponde a otro archivo, pero como tiene el texto “install” me sirve como ejemplo.

y aquí se puede ver la captura con el texto modificado.

Una vez realizado el cambio guardamos, y cuando vayamos a añadir una aplicación a opsi, veremos que en nuestro depot ==>\<nombre de la aplicación>\CLIENT_DATA nos aparece dos archivos “setup.opsiscript” y “uninstall.opsiscript” como se puede observar en la imagen.

Se incluye archivos para su descarga

Solución al problema de que no inicia opsi-configed

Me he encontrado que actualizando a la ultima versión de opsi-configed descargada de la siguiente dirección https://tools.43.opsi.org/stable/ sobre todo la versión 4.3.3.16 y superiores, que no me iniciaba sesión.

Error al iniciar opsi-configed 4.3.3.16

Abriendo un caso foro de opsi en la siguiente dirección forum.opsi.org y me dieron la siguiente solución, ejecutar el siguiente comando:

opsi-cli jsonrpc execute config_delete “configed.meta_config*”

A continuación pongo la solución en su formato en ingles:

Una vez ejecutado el comando, el opsi-configed vuelve a iniciar sin problema.

Dejo a continuación lo que pone en el archivo log, que fue necesario agregar al propio foro. Este log se encuentra en la siguiente ruta:

%APPDATA%\opsi.org\log (Windows)

or

~/.configed (Linux / macOS) 

[1] [2024-09-30 21:35:21.988] [main           ] Configed version 4.3.3.18 (2024-09-27) starting
[4] [2024-09-30 21:35:29.064] [AWT-EventQueue-0] setting file savedStatesDir writable failed
[4] [2024-09-30 21:35:29.751] [Thread-0 ] Error in thread Thread[#44,Thread-0,6,main]
java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
at java.base/jdk.internal.util.Preconditions.outOfBounds(Unknown Source)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Unknown Source)
at java.base/jdk.internal.util.Preconditions.checkIndex(Unknown Source)
at java.base/java.util.Objects.checkIndex(Unknown Source)
at java.base/java.util.ArrayList.get(Unknown Source)
at de.uib.opsidatamodel.serverdata.dataservice.ConfigDataService.retrieveWANConfigOptionsPD(ConfigDataService.java:236)
at de.uib.opsidatamodel.serverdata.dataservice.ConfigDataService.retrieveConfigOptionsPD(ConfigDataService.java:202)
at de.uib.opsidatamodel.serverdata.dataservice.ConfigDataService.getConfigDefaultValuesPD(ConfigDataService.java:105)
at de.uib.opsidatamodel.serverdata.dataservice.ConfigDataService.isUefiConfigured(ConfigDataService.java:926)
at de.uib.opsidatamodel.HostInfoCollections.retrieveClientsPD(HostInfoCollections.java:315)
at de.uib.opsidatamodel.HostInfoCollections.retrieveOpsiHostsPD(HostInfoCollections.java:141)
at de.uib.opsidatamodel.serverdata.dataservice.ModuleDataService.produceOpsiModulesInfoPD(ModuleDataService.java:136)
at de.uib.opsidatamodel.serverdata.dataservice.ModuleDataService.retrieveOpsiModules(ModuleDataService.java:89)
at de.uib.opsidatamodel.serverdata.dataservice.UserRolesConfigDataService.checkConfigurationPD(UserRolesConfigDataService.java:142)
at de.uib.opsidatamodel.serverdata.PersistenceControllerFactory.getNewPersistenceController(PersistenceControllerFactory.java:57)
at de.uib.configed.gui.LoginDialog$2.run(LoginDialog.java:419)

[3] [2024-09-30 21:35:29.752] [Thread-0 ] Unexpected error Index 0 out of bounds for length 0
Please check log file.
java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
at java.base/jdk.internal.util.Preconditions.outOfBounds(Unknown Source)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Unknown Source)
at java.base/jdk.internal.util.Preconditions.checkIndex(Unknown Source)
at java.base/java.util.Objects.checkIndex(Unknown Source)
at java.base/java.util.ArrayList.get(Unknown Source)
at de.uib.opsidatamodel.serverdata.dataservice.ConfigDataService.retrieveWANConfigOptionsPD(ConfigDataService.java:236)
at de.uib.opsidatamodel.serverdata.dataservice.ConfigDataService.retrieveConfigOptionsPD(ConfigDataService.java:202)
at de.uib.opsidatamodel.serverdata.dataservice.ConfigDataService.getConfigDefaultValuesPD(ConfigDataService.java:105)
at de.uib.opsidatamodel.serverdata.dataservice.ConfigDataService.isUefiConfigured(ConfigDataService.java:926)
at de.uib.opsidatamodel.HostInfoCollections.retrieveClientsPD(HostInfoCollections.java:315)
at de.uib.opsidatamodel.HostInfoCollections.retrieveOpsiHostsPD(HostInfoCollections.java:141)
at de.uib.opsidatamodel.serverdata.dataservice.ModuleDataService.produceOpsiModulesInfoPD(ModuleDataService.java:136)
at de.uib.opsidatamodel.serverdata.dataservice.ModuleDataService.retrieveOpsiModules(ModuleDataService.java:89)
at de.uib.opsidatamodel.serverdata.dataservice.UserRolesConfigDataService.checkConfigurationPD(UserRolesConfigDataService.java:142)
at de.uib.opsidatamodel.serverdata.PersistenceControllerFactory.getNewPersistenceController(PersistenceControllerFactory.java:57)
at de.uib.configed.gui.LoginDialog$2.run(LoginDialog.java:419)