Problemas con micrófono en portátil Lenovo

Qué hacer si en mi portátil Lenovo no funciona correctamente mi micrófono integrado? En mi caso, tengo una tarjeta de sonido que Linux Mint identifica como Realtek ALC236. Para ver qué tipo de tarjeta de sonido identifica tu sistema operativo, puedes lanzar este comando:

cat /proc/asound/card*/codec* | grep Codec

Editamos el siguiente fichero:

nano /etc/modprobe.d/alsa-base.conf

Añadimos al final del archivo la siguiente linea:

options snd-hda-intel model=inv-dmic

Reiniciamos el PC y probamos. Revisa también alsamixer para que en el apartado de Capture (F4), el internal Mic Boost esté a un valor bajo (por ejemplo 22%) y el Capture esté al 100%.

Con esto debería ser suficiente. Suerte!

Esta solución ha sido extraída de https://forums.linuxmint.com/viewtopic.php?t=352677

Otras soluciones no probadas: https://gist.github.com/Therises/d2e91c81af1574f9069635d520fdc7ec

watch permite monitorizar tu sistema en tiempo real

Existen muchos comandos en Linux que la mayoría de los usuarios conocen y utilizan regularmente, como «ls» para listar los archivos en un directorio o «cd» para cambiar de directorio. Sin embargo, hay algunos comandos menos conocidos que pueden resultar muy útiles en determinadas situaciones. Uno de esos comandos es watch.

watch es un comando que permite ejecutar cualquier otro comando en un bucle continuo, mostrando la salida en la consola cada cierto tiempo que se especifique. Esto puede resultar muy útil cuando se quiere monitorear un proceso que se está ejecutando en el sistema, ya que permite ver cómo cambia su salida en tiempo real.

Un ejemplo común de uso del comando watch es para monitorear el uso de la memoria en un sistema. Por ejemplo, podemos ejecutar el comando «free -m» (que muestra el uso de la memoria en megabytes) en un bucle con watch de la siguiente manera:

watch -n1 "free -m"

Esto ejecutará el comando «free -m» cada segundo (-n1), mostrando la salida en la consola de la siguiente manera:

De esta forma, podemos ver cómo cambia el uso de la memoria en tiempo real, y tomar decisiones en consecuencia si es necesario.

Truco para mejorar el rendimiento de los procesos en Linux

El comando renice es una herramienta que permite cambiar la prioridad de un proceso en Linux y otros sistemas operativos basados en Unix en tiempo de ejecución. Esto significa que puedes hacer que un proceso consuma más o menos recursos del sistema, lo que puede ser útil si tienes varios procesos en activos y uno de ellos está consumiendo demasiados recursos.

Para utilizar el comando renice, primero debes conocer el ID del proceso al que quieres cambiar la prioridad. Puedes encontrar este ID ejecutando el comando ps -ef en tu terminal, lo que te mostrará una lista de todos los procesos en ejecución en tu sistema. Una vez que tengas el ID del proceso, puedes utilizar el comando renice seguido del nuevo valor de prioridad que quieres asignarle al proceso.

Cabe mencionar que el valor de prioridad que puedes asignar a un proceso va desde -20 (la más alta) hasta 19 (la más baja). Por lo general, se recomienda no asignar prioridades muy altas a procesos, ya que esto puede hacer que otros procesos en ejecución en tu sistema se vuelvan lentos o inestables. En cambio, asignar una prioridad muy baja a un proceso puede hacer que este consuma menos recursos y no afecte el rendimiento del sistema.

Para utilizar el comando renice, debes proporcionar el ID del proceso que deseas cambiar la prioridad y la nueva prioridad que deseas asignarle. Por ejemplo, supongamos que quieres cambiar la prioridad del proceso con ID 12345 a un nivel de prioridad de 10. Puedes hacerlo de la siguiente manera:

renice 10 -p 12345

Esto cambiará la prioridad del proceso con ID 12345 a 10, lo que significa que tendrá acceso a una mayor cantidad de recursos del sistema. La prioridad nice de un proceso en Linux por defecto depende del valor predeterminado que esté establecido en el sistema operativo. En muchos sistemas operativos Linux, la prioridad nice por defecto para un proceso es 0. Por lo tanto establecer una prioridad menor que 0, será otorgar una prioridad alta, mientras que una prioridad mayor que 0 otorgará una prioridad baja.

También puedes utilizar el comando renice sin especificar un ID de proceso en particular. Por ejemplo, si quieres cambiar la prioridad de todos los procesos que están siendo ejecutados por el usuario «usuario1» a un nivel de prioridad de 10, puedes usar el siguiente comando:

renice 10 -u usuario1

Esto cambiará la prioridad de todos los procesos que están siendo ejecutados por el usuario «usuario1» a un nivel de prioridad de 10.

Hay muchas otras opciones y formas de utilizar el comando renice, así que si quieres obtener más información, puedes consultar la documentación del comando en tu sistema operativo Linux.

man renice

ping y traceroute en un sólo comando: mtr

El comando mtr de Linux es una herramienta muy útil para la monitorización de la calidad de la red. A diferencia de otros comandos como ping y traceroute, mtr combina la funcionalidad de ambos y proporciona una visión más detallada del estado de la red en un solo paquete.

Al ejecutar mtr, se realizan continuamente ping a un host específico y se muestra un informe en tiempo real del rendimiento de la red en cada salto intermediario. Esto permite detectar de forma rápida y sencilla problemas de conectividad o congestión en la red.

Además, mtr permite personalizar la cantidad de paquetes enviados y el intervalo de tiempo entre cada ping, lo que puede ser útil para realizar pruebas más exhaustivas en situaciones en las que se requiera un análisis más detallado del rendimiento de la red.

En resumen, el comando mtr de Linux es una herramienta muy útil para la monitorización de la calidad de la red. Ofrece una visión detallada del rendimiento de la red en tiempo real y permite personalizar la cantidad de paquetes enviados y el intervalo de tiempo entre cada ping. Si necesita monitorear el estado de su red, el comando mtr es una excelente opción.

Cómo restringir el acceso a tu web mediante htaccess

Usaremos el método de usuario y contraseña (Auth Basic) para acceder a la web ( o a una sección de la web ).

Paso 1. Crea un archivo de .htpasswd. Si ya existe, añade un usuario de la siguiente manera:

#con el parámetro -c crea el archivo
root$ htpasswd -c /home/user/.htpasswd username
#esto añade un usuario al htpasswd existente
root$ htpasswd /home/user/.htpasswd username

Este comando pedirá una contraseña, dos veces. Luego se puede comprobar que el archivo existe y está realmente cifrado:

root$ cat /home/user/.htpasswd
username:$aphash$QZN123D$c444B.B8838L1Vaa.aOf.

Paso 2. Crea el archivo .htaccess en el directorio que quieras proteger. El contenido debe ser el siguiente:

AuthType Basic
AuthName "Restricted Content"
AuthUserFile /home/user/.htpasswd
Require valid-user

Y fin, con esto tendremos el directorio protegido y requerirá un usuario y contraseña válidas para acceder.

Exportar (e importar) bases de datos con mysqldump

La herramienta de mysqldump, nos permite exportar las bases de datos completas de la siguiente manera.

mysqldump -u usuario -pcontraseña nombre_base_de_datos > toda_la_bbdd.sql

También es necesario a veces exportar sólo una tabla de la base de datos, para ello haremos lo siguiente

mysqldump -u usuario -pcontraseña nombre_base_de_datos nombre_de_tabla > solo_una_tabla.sql

Pero es que además, puedes exportar sólamente algunas entradas de la base de datos de la siguiente manera:

mysqldump -u usuario -pcontraseña nombre_base_de_datos nombre_de_tabla --where="created_at>='2020-11-16'" > algunos_pocos_registros.sql

Para importar en la base de datos destino sólo deberás ejecutar:

mysql -u usuario -pcontraseña nueva_base_de_datos < mi_archivo.sql

Fácil y util!

Error en exim: Initialization failed: namespace configuration error

Si te encuentras con este error en el el log de dovecot, solucionarlo es bastante fácil, de hecho, está escrito en el propio error. El error en cuestión es:

Error: user your@username.tld: Initialization failed: namespace configuration error: inbox=yes namespace missing

Para solucionarlo, tan sólo hay que editar el archivo /etc/dovecot/conf.d/*-mailboxes.conf  y añadir lo siguiente dentro de  namespace inbox { }

inbox = yes

Luego tan sólo queda reiniciar exim con el comando:

systemctl restart exim.service

Y listo! ya tenemos funcionando de nuevo el email

Nota: También podemos añadir la linea auto=subscribe en cada mailbox para que quede así:

mailbox Trash {
  auto = subscribe
  special_use = \Trash
}

Ahora cualquier cliente de correo, al configurar esa cuenta, se suscribirá por defecto a la carpeta de Trash.

Modificar las conexiones máximas por IP de dovecot

Mi cliente de email a veces se quejaba de que no podía conectar al servidor. El caso es que la configuración de la cuenta de email era correcta, porque normalmente accedía sin problemas. Pues mirando en /var/log/maillog he visto que aparecía este mensaje:

dovecot: imap-login: Maximum number of connections from user+IP exceeded

He encontrado la solución al problema, sólo es necesario cambiar la configuracíon de la variable mail_max_userip_connections e incrementarlo de manera que permita más conexiones simultáneas. Si el límite de conexiones es muy bajo, es muy facil llegar a él, ya que por cada cuenta de email que tengamos en el servidor, y por cada «carpeta» (Inbox, Spam, Trash, etc..) realiza una conexión individual. Esto optimiza la descarga de emails, pero también debe realizar muchas más conexiones.

Para cambiar este parámetro, editamos el fichero de configuración

nano /etc/dovecot/conf.d/imap.conf

y añadimos un limite de 50 conexiones por IP (o las que necesites)

protocol imap {
   mail_plugins = $mail_plugins autocreate
   mail_max_userip_connections = 50
}

Sólo queda reiniciar el servicio

systemctl restart dovecot.service

Y ya está!

Cómo arreglar el gráfico de uso de memoria de Vesta si no funciona en Centos7

Acabo de realizar una instalación limpia de CentOS7 en mi servidor, seguidamente he instalado la última versión de Vesta, actualmente la Vesta 0.9.8-16, como panel de control y me he dado cuenta de que el gráfico de uso de memoria (Memory Usage) no está mostrando nada. Hace tiempo leí cómo arreglar este problema aquí, y parece que estará corregido para la próxima versión. Aún así dejo el workaround, ya que seguro que resulta útil.

  1. Editamos el fichero /usr/local/vesta/bin/v-update-sys-rrd-mem y buscamos las siguientes líneas de código
     used=$(echo "$mem" |awk '{print $3}'|head -n3 |tail -n1)
     free=$(echo "$mem" |awk '{print $4}'|head -n3 |tail -n1)
  2. Las sustituimos por estas
     used=$(echo "$mem" |awk '{print $3}'|head -n2 |tail -n1)
     free=$(echo "$mem" |awk '{print $4}'|head -n2 |tail -n1)
  3. Guardar, salir y listo!

El truco está en cambiar el head -n3 por head -n2. Por lo visto el resultado del comand free -m es diferente para Centos6 y 7 por lo que necesita ese pequeño ajuste.

Tendremos que esperar un rato para que empezemos a ver los datos que empezarán a entrar en el gráfico, pero acabará viéndose perfectamente, os dejo mi ejemplo!

memory-usage-working-centos7