miércoles, 4 de agosto de 2021

Error de Microsoft Teams C0070057



Cómo solucionar el error C0070057 que impide usar Microsoft Teams en Windows".



Al volver de vacaciones, encendí el PC del trabajo y al abrir Teams me encontré con este error:



Tras leer en reddit acerca de este fallo de Windows, lo que hice para solucionarlo fue ir a la opción correo electrónico y cuentas, clicando en el botón inicio y escribiendo "correo":



Cliqué sobre "Agregar una cuenta de trabajo o escuela" e introduje, de nuevo, mi cuenta de correo empresarial, para regenerar el perfil corrupto que provoca el error.

Una vez hecho esto, el pop up con el error dejó de aparecer y Teams volvió a funcionar con normalidad.
1

miércoles, 28 de julio de 2021

Replicar directorios entre 2 servidores Linux



Cómo replicar una estructura de directorios (sin archivos) entre dos servidores Linux.



Puede que necesitemos replicar una estructura de directorios entre 2 servidores Linux y que solo queramos copiar los directorios, no los archivos. En ese caso, podemos usar la herramienta rsync.

Para esta tarea, usaremos las siguientes opciones de rsync:

Copiar los directorios:

-f"+ */"

No copiar los archivos:

-f"- *"

Seguido de la ruta en origen y la ruta en destino:

HOST# rsync -av -f"+ */" -f"- *" /carpeta/ root@destino:/carpeta/

Tras ejecutar el comando anterior, el árbol de carpetas de origen, es decir, la carpeta que hemos indicado y todas sus subcarpetas, se copiarán en destino, sin los archivos que haya en su interior.

El resto de opciones de rsync significan:

-a: archive mode; es como ejecutar las opciones -rlptgoD
-v: mostrar más información por pantalla.

Rescto al parámetro -a / -rlptgoD, singifica:

-r, --recursivo: entra a los subdirectorios
-l, --links: copiar enlaces
-p, --perms: preservar pemisos
-t, --times: preservar marcas de tiempo
-g, --group: el grupo en destino es el mismo que el grupo en origen
-o, --owner: preservar el autor
-D, -devices --specials: transfiere archivos especiales
0

miércoles, 7 de julio de 2021

Aumentar tamaño de swap en Linux



Cómo aumentar el tamaño de swap por si el sistema se queda sin memoria RAM disponible.



Administro un sistema operativo Linux que corre directamente sobre una máquina física, sin ningún sistema de virtualización por en medio. Este sistema va algo corto de memoria RAM y cae a menudo.

Mientras espero la llegada de nuevos DIMM's de RAM, lo que he hecho ha sido aumentar el tamaño de swap para que pagine bajo demanda bajando a disco aquellos programas que no necesite usar en un momento dado para evitar que el sistema haga un kernel panic al no contar con la RAM necesaria.

Para aumentar el tamaño de swap en un sistema Linux, podemos aumentar la partición de swap o podemos añadir un swapfile que actúe como espacio swap. Lo más rápido es añadir un swapfile.

Para ello, creamos un directorio donde ubicar el fichero:

HOST # mkdir /swap

A continuación, creamos un swapfile de 100GB:

HOST # fallocate -l 100G /swap/swapfile

Si no disponemos de fallocate, podemos usar dd:

HOST # dd if=/dev/zero of=/swap/swapfile bs=1G count=100 100+0 records in 100+0 records out 107374182400 bytes (107 GB, 100 GiB) copied, 151.577 s, 708 MB/s

- bs indica el tamaño de los bloques a crear.
- count indica el número de bloques a crear en total.

bs * count = el número de GB del fichero.

Damos derechos de lectura/escritura/ejecución al fichero solo a root:

HOST # chmod 600 /swap/wapfile

Indicamos al sistema que el archivo es una swap area:

HOST # mkswap /swap/swapfile Setting up swapspace version 1, size = 100 GiB (107374178304 bytes) no label, UUID=37855cb5-34f6-45b6-a6a3-bdf87642abff

Activamos el fichero:

HOST # swapon /swap/swapfile

Recordar que este fichero se desactivará tras un reinicio del sistema operativo.

Por último, solo queda comprobar que swap ha aumentado su tamaño:

HOST # swapon --show NAME TYPE SIZE USED PRIO /dev/sdb3 partition 32G 0B -2 /swap/swapfile file 100G 0B -3

También podemos mirarlo con el comando free:

HOST # free -h total used free shared buff/cache available Mem: 1.3Ti 777Gi 275Gi 37Gi 324Gi 549Gi Swap: 131Gi 0B 131Gi

Si quisiéramos deshabilitar el swapfile:

HOST # swapoff /swap/swapfile

Listo.
0

miércoles, 5 de mayo de 2021

Eliminar kernels viejos en SUSE Linux



Cómo eliminar un kernel viejo de un SUSE Linux para liberar espacio.



Hoy he actualizado un SUSE Linux Enterprise Server y el sistema me ha devuelto un error indicando que faltaba espacio en disco para instalar un nuevo kernel:

... (182/184) Installing: kernel-default-5.3.18-59.19.1.x86_64 ......................................................................[error] Installation of kernel-default-5.3.18-59.19.1.x86_64 failed: Error: Subprocess failed. Error: RPM failed: installing package kernel-default-5.3.18-59.19.1.x86_64 needs 76MB on the /boot filesystem

Para hacer espacio, tenía dos opciones:

- Borrar archivos no usados.
- Añadir espacio en disco a la máquina virtual.

He optado por la primera y he eliminado el kernel antiguo:

HOST # zypper purge-kernels Reading installed packages... Preparing to purge obsolete kernels... Configuration: latest,latest-1,running Running kernel release: 4.12.14-150.32-default Running kernel arch: x86_64 Resolving package dependencies... The following package is going to be REMOVED: kernel-default-4.12.14-150.22.1 1 package to remove. After the operation, 218.7 MiB will be freed. Continue? [y/n/v/...? shows all options] (y):

Tras eliminar el kernel viejo, el nuevo kernel se ha instalado sin problemas:

HOST # zypper up Refreshing service 'Basesystem_Module_x86_64'. Refreshing service 'Containers_Module_x86_64'. Refreshing service 'Desktop_Applications_Module_x86_64'. Refreshing service 'Development_Tools_Module_x86_64'. Refreshing service 'Legacy_Module_x86_64'. Refreshing service 'Public_Cloud_Module_x86_64'. Refreshing service 'Python_2_Module_x86_64'. Refreshing service 'SUSE_Cloud_Application_Platform_Tools_Module_x86_64'. Refreshing service 'SUSE_Linux_Enterprise_Server_x86_64'. Refreshing service 'Server_Applications_Module_x86_64'. Loading repository data... Reading installed packages... The following NEW package is going to be installed: kernel-default-5.3.18-59.19.1 The following package requires a system reboot: kernel-default-5.3.18-59.19.1 1 new package to install. Overall download size: 64.2 MiB. Already cached: 0 B. After the operation, additional 148.4 MiB will be used. Note: System reboot required. Continue? [y/n/v/...? shows all options] (y): y Retrieving package kernel-default-5.3.18-59.19.1.x86_64 (1/1), 64.2 MiB (148.4 MiB unpacked) Retrieving: kernel-default-5.3.18-59.19.1.x86_64.rpm ......[done (11.7 MiB/s)] Checking for file conflicts: ...........................................[done] (1/1) Installing: kernel-default-5.3.18-59.19.1.x86_64 .................[done]

Tras esto, el nuevo kernel ha quedado instalado.
0

miércoles, 28 de abril de 2021

Rewrite de URL en NGINX



Cómo hacer un rewrite de una URL en NGINX.



Hace años, las URL solían ser del tipo:

https://www.web.com/noticias.php?id=1284

Esto pasó de moda y hoy en día es habitual que las URL sean del tipo:

https://www.web.com/noticia/1284

NGINX nos permite crear URL modernas mediante su instrucción rewrite.

Si volvemos al caso anterior, podemos lograrlo en NGINX usando este código:

rewrite ^/noticia/(.*) /noticias.php?id=$1 last;

Donde la sintaxis es:

rewrite regex replacement [flag];

- regex lee la expresión regular introducida por el usuario en la URL.
- replacement se refiere a la "parte real", los archivos del servidor con sus variables GET.
- flag: puede ser uno de estos cuatro valores

• last: deja de procesar el rewrite y busca el siguiente regex.
• break: deja de procesar el rewrite.
• redirect: realiza un redirect con código 302.
• permanent: realiza un redirect permanente con código 301.

Los rewrite se pueden emplazar dentro de un bloque location o de un bloque server en NGINX.


Fuente:

http://nginx.org/en/docs/http/ngx_http_rewrite_module.html
0

miércoles, 21 de abril de 2021

Extraer clave privada de un fichero PFX de un IIS



Comprobar si un certificado en formato PFX tiene un password asociado.



Puede que alguien nos pida instalar un certificado en un servidor Linux y que este haya generado el certificado originalmente en un servidor Windows. Desde el IIS de Windows, no se puede exportar una clave privada como .key, por lo que tendremos que dar algunos tumbos para dar con la clave privada.


Exportar clave privada (IIS)


Abrimos el Microsoft Management Console (mmc).

Ir a File > Add/Remove Snap-in.

Doble clic en Certificates.

Seleccionar Computer account.

Seleccionar Local computer y clic en Finish.

Ir a Console Root > Certificates > Certificate Enrollment Requests.

Clic derecho en el certificado y seleccionar All Tasks > Export.

Selecciona Yes, export the private key.

Selecciona Personal Information Exchange – PKCS #12.

Entra un password para proteger tu private key (obligatorio).

Seleccionar la ubicación dodne guardar la private key.

Clica Finish.

La clave privada se exporta como archivo .pfx.


Convertir .pfx a .key


Ahora toca convertir el pfx en .key. Para ello, podemos usar la utilidad openssl en Windows/Linux:

HOST# openssl pkcs12 -in archivo.pfx -nocerts -out archivo.key

Donde archivo.pfx es el origen y archivo.key el fichero que se generará.

Listo, ya tenemos el fichero .key listo para usar el certificado en un servidor que ejecute Linux.
0