Inicio

viernes, julio 26

Cómo saber el Tipo de Arquitectura y el Tipo de Sistema Opertaivo instalado.

Es importante saber si nuestra arquitectura, nuestro hardware, soporta 64 bits o sólo 32, porque en función de ello instalaremos el Sistema Operativo más adecuado; en un equipo que soporte 64 bits, podremos instalar un SO (Sistema Operativo) de 32 o de 64 (éste úlitmo sería el aconsejable para que todo fuera mejor), en cambio, si nuestro equipo soporta sólo 32 bits, lógicamente SOLO podríamos instalar un SO de 32 bits. Y más importante aún, es saber si el sistema operativo que tenemos instalado es de 32 o de 64 bits, porque en función de ello los programas que instalaremos serán para uno u otro sistema, y ello repercutirá en un mejor funcionamiento de nuestro sistema.

Para saber el tipo de Distribución linux que tenemos y su versión correspondiente, podemos utilizar el siguiente comando, siempre desde consola:

A) cat /etc/issue

Este comando nos devolverá una salida como por ejemplo:  "Ubuntu 15.04 \n \l"  o "Ubuntu 16.04 LTS \n \l" (éste último es del DEP del profesor)


B) lsb_release -a    
Este comando nos devolverá una salida algo más detalla que la anterior, como la que se muestra en la siguiente imagen:


C) cat /etc/*-release
Al igual que en el caso anterior, nos devolverá una salida más detallada que la primera opción, como en el ejemplo que se muestra en la siguiente imagen:


Para saber el tipo de arquitectura que tenemos, o sea, saber si nuestro hardware soporta 64 bit o sólo 32 (y así saber que tipo de sistema operativo o aplicaciones instalar) desde consola podemos lanzar el sisguiente comando:

A) uname -m

Este comando devolverá una de estas dos posibilidades sobre la arquitectura:

x86_64 Arquitectura de 64 bits.
i686 = Para arquitecturas de 32 bits.

B) grep flags /proc/cpuinfo
Si en el resultado aparece lm, entonces soporta 64 bit; si aparece Protected Mode, soporta 32 bit; si aparece Real Mode, soporta 16 bit. Un ejemplo lo tenemos en la siguiente imagen:


* Para saber si el Sistema Operativo que tenemos instalado es de 32 o 64 bits, desde consola podemos ejecutar los siguientes comandos:

A) uname -a

Si en el resultado aparece “x86_64 GNU/Linux” eso indica que estás corriendo un kernel Linux de 64 bit. En cambio, si ves “i386/i486/i586/i686”, es un kernel de 32 bit. Un ejemplo de la salida de este comando es el siguiente:



Uso del comando -dpkg- para ver los paquetes instalados en el sistema.

Con el comando y la opción: dpkg -l  podemos ver todos los paquetes instalados en el sistema. Y si quisiéramos realizar un filtro de esos paquetes, simplemente escribiríamos: 

 dpkg – l  |  grep nombre_paquete

Por ejemplo, si quisiéramos saber si tenemos instalado el paquete "profepdi" (para interactuar los dispositivos del profesor con la PDI):


Si no estuviera instalado no aparecería nada, y si estuviera instalado pero lo estuviera correctamente, no nos aparecía el código "
ii" al principio de la línea. en Este caso se puede ver que si aparece "ii", seguido del nombre del paquete, la versión de éste (en este caso: 2.0-0) y el tipo de arquitectura para el que está destinado el paquete (amd64, o sea, para 64 bits).

Problema al exportar carpetas por NFS: "Permiso Denegado".

 Se pueden utilizar los comandos:     exportfs -u     y    exportfs -a


Uso del comando -rsync- para hacer Copias de Seguridad.

Con esta orden e puede pasar todo sin comprimir y garantizando enlaces y permisos de usuarios:

rsync -altgvb    ORIGEN    DESTINO

Con este comando, copiaremos todo el contenido de /var/home del equipo origen -IP_ORDENADOR- en /home, respetando permisos, propietarios, etc: 

 rsync -aHvx   root@IP_ORDENADOR_ORIGEN:/var/home/    /home

Otra opción de este comando para eliminar ficheros que ya no existen en el origen, es el siguiente:

 rsync -e ssh --progress --delete -lprtvz  root@ip_equipo_origen:/media/usbdisk/archivos/FSE_prueba/       /DATOS/backup_archivoscpr

Liberar memoria en Linux desde terminal.

 Para ver la cantidad de memoria RAM que se está emplenando en tiempo real:

          watch -n 1 free -m

Para liberar la memoria (com root o con sudo):

         sync  &&  sysctl  -w  vm.drop_caches=3

Para remover/eliminar paquetes que se resisten.

 apt-get remove nombrepaquete

 dpkg --purge nombrepaquete
 dpkg --force-all --purge  nombrepaquete
 dpkg --force-all --remove  nombrepaquete
 dpkg --remove  nombrepaquete

Ver el espacio ocupado por un directorio (espacio usado).

du   -sh   /home/linex

du   -h    -max-depth=1 

Comando para averiguar hasta cuando tienen soporte los paquetes de un sistema Ubuntu.

Comando para saber hasta cuando tiene soporte la paquetería instalada del sistema operativo en nuestro sistema linux-ubuntu:

ubuntu-support-status

Un ejemplo de la salida de este comando puede ser el siguiente:

ubuntu-support-status
> Estado de servicio técnico de «nombre-del-equipo»:
>
> Tiene 243 paquetes (9.7 %) con servicio técnico hasta mayo 2017 (3y)
> Tiene 41 paquetes (1.6 %) con servicio técnico hasta agosto 2017 (9m)
> Tiene 1910 paquetes (76.2 %) con servicio técnico hasta mayo 2019 (5y)
>
> Tiene 30 paquetes (1.2 %) que no pueden descargarse más
> Tiene 281 paquetes (11.2 %) sin servicio técnico

¿Cómo obtener el número de serie, modelo... de un equipo?.

Con dmidecode podemos visualizar de forma ordenada y clara una tabla con datos del hardware de la máquina. Teniendo en cuenta que la salida del comando siempre sigue la misma estructura podemos volcar la información del sistema (Número de serie, P/N, Modelo) con el siguiente comando:

# dmidecode | grep "^System Information" -A8
System Information
	Manufacturer: HP
	Product Name: ProLiant BL460c G1
	Version: Not Specified
	Serial Number: CZJXXXXXXX
	UUID: XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
	Wake-up Type: Power Switch
	SKU Number: XXXXX-XXX
	Family: ProLiant

Para los que no sepáis que significa -A8, indica volcar las siguientes 8 líneas tras la coincidencia del grep. Más información aquí: truco GREP: Mostrar líneas anteriores/posteriores al resultado de la búsqueda. Si quitáis el grep podréis ver toda la información que proporciona el comando, como por ejemplo la información de la BIOS, del chasis, del procesadorpuertosmemoria, etc.

Comprobar estado de las Fuentes de Alimentación, velocidad de los ventiladores y temperatura de los procesadores en los Servidores HP-Proliant.

Instalar los paquetes  hp-health y lm-sensors, después utiizaremos los comandos: hplog  -p, y hplog -f para comprobar el estado ede las dos Fuentes de Alimentación que traen estos servidores, la velocidad de los ventildores o la temperatura de los procesadores. Ejemplo:


Para ver el estado de las Fuentes de Alimentación:

root@servidor:~# hplog  -p
ID     TYPE        LOCATION      STATUS  REDUNDANT
  1  Standard     Pwr. Supply Bay Normal     Yes
  2  Standard     Pwr. Supply Bay Normal     Yes

También se puede utilizar para comprobar las fuentes de alimentación el comando: dmidecode --type 39

Para ver la velocidad de los ventiladores:

root@servidor:~# hplog -f
ID     TYPE        LOCATION      STATUS  REDUNDANT FAN SPEED
 1  Var. Speed   System Board    Normal     N/A     Normal   (  5)
 2  Var. Speed   System Board    Normal     N/A     Normal   (  9)

Para ver la temperatura de los procesadores:

root@servidor:~# sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:         +8.3°C  (crit = +31.3°C)

power_meter-acpi-0
Adapter: ACPI interface
power1:        0.00 W  (interval = 300.00 s)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +24.0°C  (high = +80.0°C, crit = +100.0°C)
Core 0:         +23.0°C  (high = +80.0°C, crit = +100.0°C)
Core 1:         +20.0°C  (high = +80.0°C, crit = +100.0°C)
Core 2:         +18.0°C  (high = +80.0°C, crit = +100.0°C)
Core 3:         +21.0°C  (high = +80.0°C, crit = +100.0°C)

Trabajar con archivos PDF utilizando comandos linux.

 Para el trabajo con archivos PDF se pueden utilizar diferentes paquetes:

* Paquete  QPDF:

- Combinar pdfs en uno solo:
qpdf --empty --pages *.pdf -- combined.pdf

- Cortar en varios pdf:
qpdf --empty --pages in.pdf 1-4 -- 01.pdf
qpdf --empty --pages in.pdf 5-z -- 02.pdf

- Cada pagina individualmente:
qpdf --split-pages input.pdf pagina.pdf

* Paquete PDFTK:

- Combinar pdfs en uno solo:
pdftk *.pdf cat output combined.pdf

- Cortar en varios pdf:
pdftk in.pdf cat 1-4 output 01.pdf
pdftk in.pdf cat 5-end output 02.pdf

* Paquete IMAGEMAGICK:

- Convertir imagenes en pdfs
convert scans* contrato.pdf

* Dividir pdf en páginas en xubuntu 18.04 (En la ayuda de el comando se especifica muy claro cada uno de sus parámetros)

pdfseparate -f 1 -l 5 pdfOrigen.pdf %d-NombreArchivoSalida.pdf

Recuperar o quitar la password de Windows utilizando chntpw en Linux/Ubuntu.

 Recuperar una contraseña de windows utilizando Ubuntu y programa llamado chntpw.

NOTA: Si deseas usar este método y no tienes instalado Ubuntu, puedes utilizar una versión “live CD” de Ubuntu y desde allí usar chntpw.

Chntpw (acrónimo de Change NT Password) es un programa que nos permite quitar o modificar las contraseñas de usuario de los sistemas Windows NT, 2k, XP, Vista y Win7 accediendo al sistema de ficheros desde un sistema Linux.

Insetalamos el paquete, abriendo una terminal (Aplicaciones->Accesorios->Terminal) y escribiendo:

sudo apt-get install chntpw

Ahora para usarlo haremos lo siguiente: A través de la Terminal navegamos hasta la carpeta donde se almacena el fichero con las contraseñas (en casi todos los Windows es “C:/WINDOWS/system32/config”). Para ello, en Ubuntu, haremos:
NOTA: Debemos asegurarnos antes de que la partición está montada (por ejemplo accediendo a ella desde Nautilus).

cd /media/NOMBRE-DE-LA-PARTICION/WINDOWS/system32/config

Donde NOMBRE-DE-LA-PARTICION es el nombre de la partición donde se encuentra instalado el Windows.

Ahora crackeamos el fichero que almacena la contraseñas (normalmente se llama SAM) de la siguiente manera:

- Si queremos quitar o modificar la contraseña al usuario administrador:

chntpw SAM

- Si queremos quitar o modificar la contraseña a cualquier usuario en concreto:

chntpw -u USUARIO SAM

Donde USUARIO es el nombre del usuario cuya contraseña deseamos liberar.

Tras ejecutar el comando de crackeo nos aparecerá un menú con 5 opciones. Si queremos borrar la contraseña elegimos la opción 1 y damos a [ENTER]. Si queremos modificar la contraseña elegiremos la opción 2 y damos a [ENTER].

Resolución de pantalla para portátiles.

 Supongamos que queremos poner 1280x720.  En un terminal grafico, como root, ponemos:

    cvt 1280 720 60

Nos dirá algo así como:

    # 1280x720 59.86 Hz (CVT 0.92M9) hsync: 44.77 kHz; pclk: 74.50 MHz
    Modeline "1280x720_60.00"   74.50  1280 1344 1472 1664  720 723 728 748 -hsync +vsync

Entonces, como usuario normal hacemos:

    xrandr --newmode "1280x720_60.00" 74.50  1280 1344 1472 1664  720 723 728 748 -hsync +vsync
    xrandr --addmode eDP1 "1280x720_60.00"

¡¡NOTA!!: Hay que cambiar "eDP1" por la salida de video que use el ordenador en el que estamos probando. Esto se averigua con el comando:

    xrandr | grep -iw connected  | cut -d" " -f1

Después habrá que mirar si en la lista de resoluciones de la pantalla te deja eleegir la nueva que hemos  creado. Si es asi  todo correcto, simplemente habria que hacer un script que ejecute los comandos xrandr al levantar el entorno gráfico.

Obtener una gráfica con el tiempo de cada proceso en el arranque del sistema.

Este comando saca una gráfica de lo que tarda cada uno de los procesos en el arranque:

systemd-analyze plot > graficoarranque.svg 

Crear cuentas de usuario y sus carpetas correspondientes en el servidor del centro.

Entrar en controlies via web:  ip_servidor/controlies (usuario admin, contraseña la de ldap).

Una vez dentro nos vamos a: Gestión -> Importacion de rayuela

Debajo de la segunda raya, pone en letra pequeña "subir uno o mas archivos". Hacemos click ahí, añadimos el archivo zip descargado de los alumnos y lo envías

Si fuera principio de curso, se marcaría la casilla del "Borrar usuarios", pero con el curos empezado casi mejor no marcarla.

Una vez terminado, nos dará un fichero de texto con los usarios añadidos y los antiguos.

Una vez creadas las cuentas, entraremos en el servidor como root y ejecutamos el script "crearCarpetas".

Esto no es necesario para los portátiles, pero sí si algún alumno quiere entrar en algún equipo que monte el home remoto (por ejemplo, en los  infolab).

Comandos para ver la sobrecarga de lectura/escritura de un disco.

 - Con iotop -oa para ver cuales son los  procesos concretos que están leyendo/escribiendo en disco.

- También se puede usar htop (que me parece más amigable que iotop) y atop (tras arrancar pulsar 'd', y los agrupa no por % de disco que usa cada uno sobre el total del disco, sino por porcentaje del total que se está usando actualmente, por ejemplo, iotop me puede decir que no se usa más de un 20%, pero atop me dice que el 80-90% de ese 20% es de NFS).

- Para ver el tráfico de red con iftop, nethogs o ntop.

- Interesante también este artículo que habla de acelerar el navegador web en dos pasos mdiante el uso de RAM, con el almacenamiento en caché del navegador web usando tmpfs.

Bajar mp3 de youtube mediante comando.

 Para ello podemos utilizar el siguiente comando:

youtube-dl --extract-audio --audio-format mp3 [Enlace del video de youtube]
 
Previamente tendríamos que haber instalado desde los repositorios el paquete youtube-dl

Regenerar la clave ssh para conectarse a un equipo remoto.

 ssh-keygen -f  "/root/.ssh/known_hosts"  -R  "172.X.Y.Z"

Comprobar si un equipo tiene o no abierto un puerto.

 nc  -vz   IP-del-equipo   Puerto  

Por ejemplo, para ver si un equipo tiene abierto el puerto 80: 

nc  -vz   172.X.Y.Z   80

Si el puerto estuviera abierto, la salida del comando anterior sería:  "Connection to 172.X.Y.Z 80 port [tcp/http] succeeded!"

Comando para descubrir posibles equipos que estén dando IPs por DHCP.

Comando para descubrir si hay algún equipo dando IP por DHCP:

nmap --script broadcast-dhcp-discover.nse

Comando para ver la temperatura que alcanza la tarjeta gráfica NVidia.

Para ver la temperatura que alcanza la tarjeta gráfica NVidia podemos utilizar el comando:  nvidia-smi

¿Cómo comprobar si un disco es sólido o mecánico?.

 Para ver si un disco es solido o mecánico, ejecutamos: cat /sys/block/sdX/queue/rotational

Si devuelve un 1 es mecánico si devuelve un 0 es sólido.

Para instalar puppet (versión antigua) en equipos con ubuntu 22.04.

 Para instalar linex-ubuntu-puppet

1. Colocar los repositorios:

  echo "#Repositorio Linex Desarrollo para ubuntu jammy 22.04

  deb http://desarrollo.educarex.es/solointranet/ubuntu/jammy/ jammy linex

  #Repositorio Linex para ubuntu jammy 22.04

  deb http://linex.educarex.es/ubuntu/jammy/ jammy  linex">/etc/apt/sources.list.d/repoXubuntuLinex.list

  apt-get update

2.  Forzar la instalación de la versión anterior del paquete "ruby" y sus dependencias a la requerida para su funcionamiento de puppet, haciendo:

 apt-get update

 apt-get -y --allow-downgrades install ruby=1:2.5.1 ruby-augeas=1:0.5.0-3build6 ruby-rgen=0.8.0-1ubuntu1 ruby-nokogiri=1.8.2-1ubuntu0.1 ruby-shadow=2.5.0-1build1 rubygems-integration=1.16

3. Instalar puppet.

apt-get -y install linex-ubuntu-puppet

2. Para que se MANTENGAN esas versiones anteriores de los paquetes de "ruby" (con las nuevas no podría instalarse puppet por temas de dependencias, por lo que hay que hacer esto para que con las actualizaciones no se vuelvan a instalar las nuevas de nuevo y deje de funcionar), colocar este archivo:

/etc/apt/preferences.d/linex-ubuntu-puppet.pref

Package: ruby

Pin: release o=Ubuntu

Pin-Priority: -1

Package: ruby2.5

Pin: release o=Ubuntu

Pin-Priority: -1

Package: ruby-augeas

Pin: release o=Ubuntu

Pin-Priority: -1

Package: ruby-rgen

Pin: release o=Ubuntu

Pin-Priority: -1

Package: ruby-nokogiri

Pin: release o=Ubuntu

Pin-Priority: -1

Package: ruby-shadow

Pin: release o=Ubuntu

Pin-Priority: -1

Package: ruby-rgen

Pin: release o=Ubuntu

Pin-Priority: -1

Package: rubygems-integration

Pin: release o=Ubuntu

Pin-Priority: -1

Error del Kernel en el arranque: Falta "initramfs".

Para arrelgar este fallo que probablemente se deba a una actualización del Kernel que no se ha completado o se ha hecho incorrectamente, podemos arrancar con otra versiónd el kernel anterior y dspués como administrador ejecutar:

sudo update-initramfs -u -k version (reemplaza version con el kernel que quieras reparar, por ejemplo 4.15.0-36-generic)
sudo update-grub

Permitir SSH -sin- contraseñas (con encriptación RSA/DSA).

El método explicado aquí es muy sencillo, y se basa en el modelo criptográfico de cifrado asimétrico. Consiste, básicamente, en un par de claves que se corresponden unívocamente entre sí, generadas con cierto grado de aleatoriedad, y si se quiere, con una frase secreta que sólo conoce el dueño de las mismas, que permite cifrar las claves con el algoritmo 3DES. La clave pública es, como su nombre indica, de libre utilización por cualquier persona. Cuando alguien quiere encriptar un mensaje que sólo nosotros podamos leer, utilizará nuestra clave pública para hacerlo. Posteriormente, nosotros usaremos nuestra clave privada (que solamente su dueño conoce) para desencriptar ese mensaje. Cualquier cosa encriptada con una  lave pública, sólo se podrá desencriptar con su par privada. El proceso inverso, es decir, encriptar usando la clave privada y desencriptar usando la clave pública, se utiliza  para las  firmas digitales.

1- Instalar openssh (tanto la versión servidor → openssh-server como la versión cliente → openssh-client)

2- Editamos la configuración del “servidor ssh” en /etc/ssh/sshd_config,

Con esto ya podemos conectarnos por ssh con login que nos pedirá su correspondiente contraseña

3- CONEXIÓN REMOTA AL EQUIPO SIN SOLICITUD DE CONTRASEÑA

A→ Equipo que se conecta a B

B← Equipo al que nos conectamos desde A


1º Creamos claves RSA y DSA en el equipo A

ssh-keygen -t rsa -b 1024 → Creará claves rsa de 1024 bits

ssh-keygen -t dsa -b 1024 → Creara claves dsa de 1024 bits


2º En el directorio /root/.ssh tendremos tras ejecutar las órdenes del punto 1º los siguientes archivos

- id_rsa

- id_rsa.pub

- id_dsa

- id_dsa.pub

3º Copiamos los 2 archivos con extensión .pub al equipo B, en el directorio /root/

4º En el equipo B, ejecutamos → cat *.pub >> .ssh/authorized_keys

Esto copiará el contenido de los archivos .pub en un fichero llamado authorized_keys, para ssh el contenido de este fichero serán las claves de los dispositivos autorizados a conectarse a él sin solicitud de contraseña.

5º Borramos los archivos *.pub del Equipo B

 Ahora cuando conectemos DESDE A a B no nos pedirá contraseña, ya que en B comprobará las authorized_keys y estará la del equipo A en /root/.ssh/ como id_rsa.pub

(NOTA: Si queremos hacerlo desde A con usuario administrador en lugar de root por ejemplo, ese id_rsa.pub debe estar en /home/administrador/.ssh/ [En mi caso tengo cambiado el home y seria en /var/administrador/.ssh/] )

Si hay problemas con ssh:

Para comprobar si ssh está ejecutándose en el equipo systemctl status ssh.service

Para comprobar que se permita acceder como root hay que mirar el fichero /etc/ssh/sshd_config/ y en la línea PermitRootlogin debe estar en yes para permitir conectar como usuario root.

Para comprobar que se permite el acceso por clave rsa (las que ponemos para que no pida contraseña al conectar por ssh) en /etc/ssh/sshd_config/ debemos tener la línea PubkeyAcceptedKeyTypes +ssh-rsa

Para reiniciar el servicio o ver porque no funciona:

Desde ese equipo:

# systemctl restart sshd.service --> Restaura el servicio ssh del equipo

nmap -O direccion_ip

...y ver si está abierto el puerto 22.

----------------------------------------------------------------------------------------

OTRA OPCIÓN es:

Estos dos comandos se ejecutan en el servidor del Backup:

ssh-keygen -t ecdsa

ssh-copy-id -i  .ssh/id_ecdsa.pub   root@<equipo-al-que-quiero accder>

Y luego cuando hagas ssh@root@<;equipo-al-que-quiero acceder>

se debe conectar sin pedir la contraseña.

MÁS INFORMACIÓN EN ESTE ENLACE.

Ocultar Windows en el GRUB.

Para ocultar Windows en el GRUB, lo que hay que hacer el quitar los permisos al archivo: 30_os-prober y regerar el grub de nuevo:

chmod -x /etc/grub.d/30_os-prober
update-grub2

Comprobaciones de reglas en "rules.d" con "udevadmin".

Se dispone de udevadm, una herramienta para controlar el funcionamiento de udev. Entre sus usos útiles, podemos destacar udevadm monitor --kernel que muestra los eventos detectados por el kernel. Luego de ejecutar este comando, tendremos que esperar a que se registre un cambio. A continuación, podremos ver el detalle por la salida estándar.

Además del uso ilustrado en la imagen anterior, udevadm nos sirve para administrar la lista de eventos en espera (udevadm settle udevadm control) y nos permite simular eventos (udevadm test) y debuguearlos. Para más información podemos referirnos al man page de la herramienta.

Identificado una unidad USB utilizando sudo: udevadm info -a -p /bliock/Didspositivo-que-sea (sr0, sdaX...)
Donde “-a ” es para listar los atributos del dispositivo "Didspositivo-que-sea" (p.e.:“sr0 ”), mientras que “-p ” definirá el Ruta “dev”.

Si creamos una regla en relación a un USB, por ejemplo, y no queremos esperar al siguiente reincio del equipo, entonces, primero RECARGAMOS las reglas:
udevadm control --reload y corriendo: udevadm test /block/sdX testemaos

El nombre y el valor de los parámetros se pueden obtener mediante: udevadm monitor --environment --udev y enchufar la unidad...
Aunque el lsusb (y su -v ) y udevadm info -a -p $(udevadm info -q path -n /dev/sdX) también puede ser útil para ajustar las reglas (por ejemplo, hacer que la regla udev se active sólo para una unidad específica en función de su número de serie).

Recomendable visitar las páginas:

https://es.linux-console.net/?p=15600

https://blog.carreralinux.com.ar/2018/02/conceptos-sobre-udev-dispositivos/

Comandos para listar/chequear tarjetas de sonido.

 Comandos para ver tarjetas de sonidos, nombres, estado, ponerlas por defecto...

pactl list cards

pactl list cards | grep device.bus

pactl list sinks

pactl list sinks short

lscpu - procesor

cat /proc/asound/cards

------------------------------------------------------------------------------------------------

En el caso de que la primera opción no sea la salida de audio que queremos, podemos utilizar la "prioridad". Para ello buscamos la tarjeta con los datos en cuestión, por ejemplo:

tarjeta="alsa_card.pci-0000_00_1b.0"
salida_audio="analog-stereo"
pacmd set-card-profile $tarjeta output:$salida_audio

Si queremos por ejemelo que  la salida LineOut salga como primera opción, en lugar de "headphones", podemos poner el dato de prioridad (priority) del archivo:

/usr/share/pulseaudio/alsa-mixer/paths/analog-output-lineout.conf
(priority = 101)

O sea, con  un valor superior al dato de prioridad del archivo:

/usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf
(priority = 99)

¿Cómo quitar permisos al Applet de Red para evitar configurar/desconfigurar Redes Wifi por parte de los usuarios?

¿Se puede quitar permisos al applet para evitar que los usuarios puedean conectarse/configurar cualquier red o simplemente que desconecten por error la wifi...de forma que solo el administador tuviera permisos para estos menesteres?.

Se puede hacer quitandoles permisos mediante polkit, creando el fichero /etc/polkit-1/localauthority/50-local.d/10-network-manager.pkla para que no puedan activar o desactivar el wifi o la red el fichero tendría que tener esto, y se pueden poner más restricciones:


[Do not allow any user to enable/disable networking]
Identity=unix-user:*
Action=org.freedesktop.NetworkManager.enable-disable-network
ResultAny=no
ResultInactive=no
ResultActive=no

[Do not allow any user to enable/disable wifi]
Identity=unix-user:*
Action=org.freedesktop.NetworkManager.enable-disable-wifi
ResultAny=no
ResultInactive=no
ResultActive=no

Por otro lado, podemos intentar sustituir el NO en ResultActive=no por auth_admin. De esa manera lo que hace es pedir las credenciales de root cuando se le de a la acción correspondiente.

Recomendable ponerle permisos 755 , aunque igual es mejor poner 644.

jueves, julio 25

Separar voz y audio en una canción.

 Sitios para separar el audio y la voz en una canción:

https://vocalremover.org/es/

https://www.acapella-extractor.com/

Si se necesita separar instrumentos por pistas, Altozano recomendó este software:

Reproducir película en todas las aulas del centro a la vez.

Si el switch NO filtra el multicasting, se puede probar con:

- VLC con opción streaming...
Aulalinex instalando la versión alumno en todos los puestos de profe, y ponerles la película.
- Con mplayer y las opciones -udp-master y -udp-slave (el master es el principal y los que sincronizan la reproducción con los slave). Lo que se hace con esto es  un streaming de vídeo en modo broadcast aprovechando UDP, con cualquier programa que lo soporte (VLC, mpñayer...).
- Instalar Plex en un servidor secundario del centro. Cuando alguien tiene previsto poner un vídeo se sube al servidor Plex interno que te ofrece una interfaz tipo "Netflix" y en el escritorio de los profesores se coloca un enlace al servidor Plex llamado "Pelis" (por ejemplo).
Streama... (ver este ENLACE).

- Utilizando: jellyfin. 

Aplicaciones para emitir vídeo por Broadcast.

Aplicaciones para emitir vídeo por broadcast:

Weylus
Deskreen
VirtScreen https://github.com/kbumsik/VirtScreen
Rustdesk

Restaurar imagen de clonezilla en disco mas pequeño que el original

Cuando restauramos una imagen con clonezilla, llega un punto del proceso en el que nos preguntan si queremos seguir en modo Basic o Expert. Normalmente elegimos el modo Basic, pero para esta vía  deberemos coger el modo Expert. Para intentar encoger y meter la imagen en nuestro disco elegiremos en una de las pantallas posteriores la opcion "-icds" (no comprobar tamaño de disco) y en la siguiente pantalla la opción -k1 (construir las particiones de forma proporcional al tamaño del disco), tal como nos cuentan aquí.

Esto hará que la restauración de las particiones individuales mediante la herramienta partclone se ejecute con el parámetro -C (Don't check device size and free space). En resumen, lo que hacemos con esto es reducir todas las particiones originales proporcionalmente al tamaño del disco destino y meter la imagen sin comprobar nada a ver si hay suerte y cabe.

Si la imagen original tiene una sola partición puede que funcione sin problemas.

+Info en ESTE ENLACE. 

Cortar páginas http y https con powerdns.

Se añade una nueva funcionalidad al servicio PowerDNS para poder cortar el acceso a diferentes webs independientemente de que sea tráfico http o tráfico https.

Cortar páginas https utilizando iptables tiene problemas y cortar a través del servicio DNS puede ser una buena opción.

Para añadir dominios a "cortar", se dispone del fichero:  /etc/powerdns/blocklist.lua, el cuál se puede editar y añadir los dominios que cada uno considere oportuno para su centro.

El formato es el siguiente:

    return{
    "pruebabloqueo.org",
    }

pruebabloqueo.org es un ejemplo. Se pueden añadir las líneas que se quieran. También se puede cortar a partir del dominio principal o de un subdominio:

return{
"web.whatsapp.com",
"facebook.com",
}

Recordad: Si se cambia el contenido de /etc/powerdns/blocklist.lua se necesita reiniciar el servicio para que los cambios tengan efecto: systemctl restart pdns-recursor.service

En el ejemplo anterior se ha cortado el acceso web a whatsapp y todo el dominio facebook.com:

root@servidor:/etc/powerdns# dig es-es.facebook.com

; <<>> DiG 9.9.5-9+deb8u18-Debian <<>> es-es.facebook.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8394
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;es-es.facebook.com.        IN    A

;; ANSWER SECTION:
es-es.facebook.com.    3600    IN    A    127.0.0.1
es-es.facebook.com.    3601    IN    TXT    "SE PROHIBE ACCESO DESDE LA CONSEJERIA DE EDUCACION!!!"

;; Query time: 0 msec
;; SERVER: 172.17.103.2#53(172.17.103.2)
;; WHEN: Thu Feb 13 13:31:45 CET 2020
;; MSG SIZE  rcvd: 123

Posibles soluciones para reparar el arranque dual en equipos que sólo entran en Windows y tienen el arranque en modo UEFI.

En Widnows hay que copiar el .bat del final de esta entrada (bootrepair.bat) en el disco (por ejemplo, en C:\) y seguidamente ejecutamos lo siguiente en consola con privilegios de administrador:

schtasks /create /tn "BootRepair" /tr "C:\bootrepair.bat" /sc ONSTART /ru SYSTEM

(Si se copia el fichero bootrepair.bat en otra ruta, hay que cambiar la ruta en la línea anterior)

A partir de aquí, en cada reinicio de windows se eliminan todas las entradas de arranque de ubuntu y se crea una nueva. Esto es así porque en su momento se comprobó que cuando sólo arranca en windows la entrada de arranque de ubuntu existía, pero estaba fuera de la lista de preferencias de arranque, y volver a añadirla a dicha lista no lo solucionaba. También ha sucedido que a posteriori SÍ funcionara, pero habiendo visto los dos casos preferimos esto (aunque sea matar moscas a cañonazos).

El contenido del fichero bootrepair.bat es el siguiente: (la base de este script se copió de aquí)

@echo off
set identificador=Inicial setlocal ENABLEDELAYEDEXPANSION for /f "tokens=2" %%A in ('bcdedit /enum firmware ^| findstr "Identificador shimx64.efi"') do ( if /i "%%A" == "\EFI\ubuntu\shimx64.efi" ( bcdedit /delete "!identificador!" /cleanup ) SET identificador=%%A ) endlocal for /f "tokens=2 delims={}" %%a in ('bcdedit /copy {bootmgr} /d "Ubuntu"') do set guid={%%a} bcdedit /set %guid% path \EFI\ubuntu\shimx64.efi bcdedit /set {fwbootmgr} displayorder %guid% /addfirst

Reparar arranque dispositivos DEP

En muchas ocasiones, cuando se actualiza Windows en el Dispositivo Educativo Personal del Profesor (DEP)se pierde el gestor de arranque y no podemos acceder a los diferentes Sistemas Operativos que tenemos instalados en dicho dispositivo. Recuperar el arranque del equipo y volver a la situación inicial del equipo puede solventarse siguiendo las indicaciones que aparecen EN ESTE DOCUMENTO.