Blog personal de José Mariscal

Categoría: Hacks (Página 2 de 3)

ext4 y opciones de montaje

ext4 es el sistema de ficheros nativo de Linux en las ultimas versiones, utiliza un sistema de i-nodos (indice de nodos), y bloques parecido a los clusters en otros tipos de sistemas.

mkfs.ext4 -L pruebas -m 1 -b 4096 -O^large_file -i 64K /dev/sdb2

-m 1 
Reserva el 1% para el usuario Root, por defecto el 5%

-b 4096
Tamaño del bloque, puede ser 1024,2048,4096, mientras mas grande mejor por temas de rendimiento y velocidad, pero se rompe el estándar, así que 4096, que es lo máximo que permite, si trabajamos con ficheros muy pequeños pues optar por 1024 es una muy buena opción aunque ganaremos en lentitud. Se puede especificar un tamaño diferente pero debe estar marcada la opción large_file.

-O^large_file
Archivos de fichero muy grandes, permite trabajar con particiones muy grandes, por ejemplo de Petabytes= 1000Terabytes

-i bytes-per-inode
Similar al tamaño del cluster pero referido al i-nodo, lo normal 64K. Por temas de rendimiento mientras mas grande mejor, puedes poner 4K,8K,16K,32K,64K,128K… siempre en potencia de dos. Mientras mas inodos (tamaño mas pequeño) mas lentitud y espacio mejor aprovechado. A menos inodos se pierde espacio pero se gana velocidad, en la actualidad con discos duros de 1000Gb que pierdas 1Gb de datos de todo el almacenamiento para tener mejor rendimiento, se puede permitir.

Existen muchas mas opciones pero con esto de sobra puedes ir trasteando la que mejor te convenga.

/etc/fstab

Es el fichero que permite las opciones de montaje. Comentaré las mas usadas.

discard
Si tenemos un Disco SSD esta opción la tenemos que habilitar en fstab. También es válido para eMMC o tarjetas de memoria.

noatime
Permite no escribir la fecha de acceso cada vez que accede a un fichero o directorio, ahorra escrituras en el disco con lo que se alarga la vida de los SSD. Sólo cambia la fecha de acceso cuando el fichero se modifica.
relatime
No escribe la fecha si se ha accedido en menos de 24 horas o bien si se modifica el fichero por escritura pues cambia la fecha, lo cual reduce las escrituras considerablemente sobre todo en servidores.

commit=60
Escritura diferida, no se escribe directamente los cambios en el disco, en el ejemplo 60 segundos, por ejemplo en sistemas que no son críticos y no nos importa perder datos que hacemos en 60 segundos.

data=ordered
data= especifica el tipo de Journal que se utiliza, ordered es por defecto, primero se escribe en disco y luego la transacción de escritura en el sistema de ficheros. writeback permite la escritura después de la transacción, solo se guardan los metadatos, no es lo idóneo porque se pierden datos en caso de cortes de luz, pero es muy rápido.

Algunos ejemplos de fstab

#monta /tmp en ram (tmpfs) con 1500M, pero se puede poner por ejemplo
#porcentaje, 3%
tmpfs /tmp tmpfs nodev,nosuid,noexec,relatime,mode=1777,size=1500M 0 0

# Ejemplo para una memoria SSD para el sistema raíz
# El ultimo 1 es para que se cheque antes de todo, 0 no chequea.
/dev/sdb1 /root ext4 defaults,discard,noatime,data=ordered,commit=30 0 1

# Ejemplo para un disco duro que no nos importa perder datos
# El ultimo 2 es para que se cheque después del root o raiz.
/dev/sdc2 /home ext4 defaults,noatime,data=writeback,commit=60 0 2

DNSCrypt-proxy

Es un proxy que sirve para hacer peticiones de DNS de forma cifrada, es decir, resolver los nombres de Internet de forma mas o menos anónima y saltándose los de nuestro ISP de manera que la petición se realiza cifrada a un servidor de nombres que soporte dnscrypt.

La petición la hacemos a nuestro ordenador que la redirecciona mediante un proxy transparente a un servidor de DNS.

apt install dnscrypt-proxy

La configuración puede estar /etc/default/dnscrypt-proxy
dependiendo de la distribución

# What local IP the daemon will listen to, with an optional port.
# The default port is 53. If using systemd, this is not used and must be
# specified in dnscrypt-proxy.socket.
DNSCRYPT_PROXY_LOCAL_ADDRESS=127.0.10.1:53

# Remote DNS(Crypt) resolver.
# You can find a list of resolvers at
# /usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv.
DNSCRYPT_PROXY_RESOLVER_NAME=cisco

# Extra flags to pass to dnscrypt-proxy
DNSCRYPT_PROXY_OPTIONS=""

De esta manera podemos utilizar OpenDns que son de Cisco.
Podemos utilizar otros dns cifrados consultando la lista aquí.

https://github.com/dyne/dnscrypt-proxy/blob/master/dnscrypt-resolvers.csv

Ya por ultimo añadir la linea en /etc/resolv.conf
nameserver 127.0.10.1

Y tendremos configurado nuestro sistema con DNScrypt

FFmpeg

FFmpeg es un codificador de video y audio que sirve para convertir multiples formatos de video, me voy a centrar en sus aspectos como convertir en mp4 y en mp3, por ejemplo videos que se pasan en webm u otro formato.

-c:a especifica el codec de audio que puede ser por ejemplo mp3 o aac, es posible que en algunos sistemas no deje el aac por lo que simplemente sustituir por mp3

-b:a average es decir una media y calidad de 128kb es posible usar otra mejor calidad como 192k pero eso a gusto del consumidor.

-c:v codec de video libx264 especifica el codec de mp4

-profile:v main especifica un perfil del codec principal válido y estándar para muchos dispositivos.

-crf especifica la calidad, 0 la mayor calidad 52 o 53 la peor calidad. Por defecto está en 23 pero una buena que no se aprecie mucho la pérdida entre el fichero origen y destino es usar 17

Se puede especificar un ratio de mayor compresión pero en relación tiempo y reducción de tamaño no merece la pena poner un ratio mayor de compresión por defecto el que se usa provee un balance entre tiempo de compresión y tamaño.

-preset fast Especifica el ratio de compresión a mayor lentitud mas compresión pero como he dicho no merece la pena.

-hide_banner Oculta información de compilación de ffmpeg

Algunos ejemplos son:
ffmpeg -i input.webm -c:a aac -b:a 128k -c:v libx264 -profile:v main -crf 17 -hide_banner output.mp4

ffmpeg -i input.webm -c:a mp3 -b:a 128k -c:v libx264 -crf 17 -hide_banner output.mp4

Convertir audio en mp3
ffmpeg -i audio.ogg -c:a mp3 -b:a 128k newfile.mp3

Mas info: https://trac.ffmpeg.org/wiki/Encode/H.264

hosts

Antiguamente Internet que era reducida, utilizaba un fichero hosts que se descargaba y se compartía. Esto llegó a ser ingestionable cuando aumentaron mucho los nombres y las ips que tenía cada maquina por lo que surgió el servicio de DNS organizado por zonas.

El fichero hosts, almacena nombre de dominios antes de que las consulte a un servidor de nombres o DNS.

El formato del fichero es texto y muy simple, de manera que podemos modificarlo a nuestro antojo.

# Si empieza por almohadilla es un comentario
# Direccion ip Tablulador Nombre del host
0.0.0.0              www.youtube.com
Lo bueno de este fichero es que podemos utilizarlo para por ejemplo bloquear sitios que no queramos acceder o bien que contengan publicidad, como en el ejemplo anterior bloquemos youtube.

El fichero hosts se puede encontrar en:

Linux
/etc/hosts

Apple
/private/etc/hosts

Windows XP/Vista/7/8/8.1
C:\Windows\System32\Drivers\Etc

Windows Server 2003/2008/2012
C:\Windows\System32\Drivers\Etc

Windows NT/2000
C:\Winnt\System32\Drivers\Etc

Windows 95/98/Me
C:\Windows

Puede ser tedioso hacer un fichero a mano, para ello existen sitios que nos facilitan un fichero hosts actualizado con sitios que pueden ser perjudiciales, como por ejemplo mi sección de descargas…

https://www.josemariscal.com/downloads/hosts/hosts.zip

Es importante que si ves que no funciona bien, ya que es un fichero mucho mayor que otros, 23 megas y mas de 700000 dominios bloqueados.

O bien esta página web que contiene ficheros Hosts…

https://hosts-file.net

Dispone también de un programa para windows, que realiza la tarea de forma automática. Que lo puedes descargar aquí.

Os ofrezco un listado de webs que tienen hosts que pueden ser interesantes…

  • https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
  • http://winhelp2002.mvps.org/hosts.txt
  • https://www.malwaredomainlist.com/hostslist/hosts.txt
  • http://someonewhocares.org/hosts/hosts
  • https://hosts-file.net/download/hosts.txt
  • http://optimate.dl.sourceforge.net/project/adzhosts/HOSTS.txt
  • http://adblock.mahakala.is/

sysctl.conf

/etc/sysctl.conf

Este fichero de Linux se encarga de gestionar diversos aspectos de control del sistema.
Cambiándolo podemos obtener un mejor rendimiento.

Puedes descargar un ejemplo comentado aquí

Como navegar de forma segura con Firefox

firefox-351Muchas veces navegamos pero no nos damos cuenta de la cantidad de información que suministramos a las empresas o bien que nos cuelen algún software maligno.

Firefox es un excelente navegador y permite ser configurado implementando Addons. Estos Addons que hay de todo tipo pueden ayudar a implementar una mayor seguridad a la hora de ver o enviar información de forma que permita una navegación segura con Firefox.

A continuación he hecho una recopilación de los Addons que me han parecido mas interesantes y que espero que aprendáis a utilizar…

Seguir leyendo

PCI-Express Device Error en Ubuntu

Mucha gente con Ubuntu le ocurre el error siguiente con algunas tarjetas gráficas, no paran de salir errores de PCI-Express Devide Error, pero sin embargo la tarjeta gráfica funciona correctamente. El error es parecido al siguiente:

[10443.791227] +------ PCI-Express Device Error ------+
[10443.791234] Error Severity^I^I: Uncorrected (Non-Fatal)
[10443.791236] PCIE Bus Error type^I: Transaction Layer
[10443.791239] Flow Control Protocol ^I: Multiple
[10443.791240] Receiver ID^I^I: 0010
[10443.791243] VendorID=1106h, DeviceID=a238h, Bus=00h, Device=02h, Function=00h

Lo peor es que si se trabaja desde una tty no hacen mas que salir estos mensajes y no se puede trabajar de forma correcta.
Para solventarlo solo tenéis que añadir la siguiente opción en el grub dentro de la linea de kernel, por ejemplo si la tenéis así:

kernel /boot/vmlinuz-2.6.28-13-generic root=UUID=XXX ro quiet splash

Tendría que añadirse pci=nommconf al final quedando de esta forma:
kernel /boot/vmlinuz-2.6.28-13-generic root=UUID=XXX ro quiet splash pci=nommconf

Como crear fotos panorámicas o mega fotos

Os voy a desvelar el truco que hago para hacer esas fotos tan grandes que cuelgo en el Panoramio. La siguiente foto es de 80 Megapixels, haz click en ella para ver mas detalles.


Panorámica Asomadilla 80 Megapixels

Usaremos el programa Hugin, es un programa Libre y funciona tanto en Linux como Windows. Sirve para crear fotos panorámicas o fotos enormes mediante la composición de imágenes. Para esto es importante que a la hora de hacer fotos enlacemos parte de una foto con el campo visual de la anterior por lo menos 1/4 de foto, así creamos puntos de referencia que luego usan los programas para unir las imágenes. Es muy recomendable usar un trípode para hacer una secuencia en el mismo ángulo de visión e inclinación, aunque a mano alzada si son pocas fotos 2 o 3 y no te tiembla el pulso puedes hacer alguna que otra panorámica. También puedes usar barandillas o columnas para tener un punto de apoyo.

Pasos:

1. Pestaña Imágenes: 1.Añadir imágenes individuales 2.  Crear puntos de control
2. Pestaña Optimizador: Optimizar Ya!
3: Botón Previsualizar: 1. Centrar, 2. actualizar, 3. ajustar, 4. actualizar, cerramos previsualizar
4: Pestaña Empalmador: 1. Calcular campo de visión, 2. calcular tamaño óptimo
5: Damos a empalmar ya

Nos generara una imagen tipo TIF que retocaremos con un programa como GIMP que es de uso libre y para la mayoria de las personas no van a usar funciones tan avanzadas como en el Photoshop.

« Entradas anteriores Entradas siguientes »

© 2024 José Mariscal

Tema por Anders NorenArriba ↑