miércoles, 17 de mayo de 2017

renombrar extenciones de FICHEROS MASIVAMENTE RECURSIVA



Renombrar  exenciones de ficheros

en ocaciones las camaras , celulares guardan fotos con extenciones erroneas
su pongamos que sea JPG, pero el app o android las guarda en PNG.

la mayoria de los visualizadores  podran abrir las fotos pero otros se limitan a negarse.


para renombrar de  ".png" a  ".jpg"
find /ruta/de-las/fotos  -type f -exec  rename 's/\.png$/\.jpg/' *  '{}' \;

"en reversa"
para renombrar de  ".jpg"  a  ".png"
find /ruta/de-las/fotos  -type f -exec  rename 's/\.jpg$/\.png/' *  '{}' \;



***********************************************************************

ok, ahora  supongamos que las fotos   PNG  estan entre otras que REALMENTE SI SON "PNG".
y yo solo quiero renombrar los que tiene mal la extencion.
¿como detectar los formatos con extenciones errorneas ?




  find /ruta/de-las/fotos    -type f -name \*.jpg -exec file \{\} \; | grep -i png | cut -d ':' -f 1 | xargs -d '\n' rename  's/\.jpg/\.png/'


explicacion:
busca ficheros con noombre *.jpg =
   find /ruta/de-las/fotos    -type f -name \*.jpg


detecta el tipo de fichero que es = 
   -exec file \{\} \;

entonces busca SOLO los que diga PNG=
| grep -i png

entonces  corta el nombre
 | cut -d ':' -f 1

entonces  Xargs manda  a RENAME   los nombres de  los ficheros 
| xargs -d '\n' rename  's/\.jpg/\.png/'

NOTA: si tiene  una comilla el nombre te dara un error  

 

gracias  a  furrywolf por su ayuda.
tanks to furrywolf  for this help.

that command very uglyly (it's a word now!) chains together several unix commands...  find looks for .jpg files, file identifies them, grep looks for ones where file said they're pngs, cut grabs the part before the ':' find printed, which is the filename, then xargs sends all those filenames to rename.  lol

 it's not done well - it will break if you have filenames containing a colon or a newline.  but I figured it's pretty unlikely you have any of those.  a cleaner version wouldn't break like that, but I didn't want to spend much time thinking about it.  :)

sábado, 28 de enero de 2017

como arreglar/configurar MAGNET link

primero revisamos el nombre correcto de la aplicacion que queremos asignar a los MAGNET links


$ ls /usr/share/applications


EN MI CASO USARE " transmission-gtk.desktop "



$ xdg-mime default   transmission-gtk.desktop  x-scheme-handler/magnet


viernes, 30 de diciembre de 2016

Mis aportaciones a DEBIAN

#chat irc
desde   2009 años  aprox

#traducciones de ingles  a español

https://www.debian.org/devel/website/thankyou.es.html  01/11/2016 07:48 AM

https://www.debian.org/reports/          11/08/2015 12:32 AM

https://www.debian.org/CD/verify.es.html       31-Dic-2016





viernes, 23 de diciembre de 2016

cambiar DEBIAN STRETCH a DEVUAN ascii

bueno no poder hacer automontar la memoria USB, fue  la gota que  derramo el vaso de agua.

siendo las 00:34 del 23-dic-2016 cambio mis repos a DEVUAN
https://devuan.org/

fuente  de este  tutorial:
https://talk.devuan.org/t/migrating-from-debian-stretch-to-devuan-ascii/463
para jessie
https://git.devuan.org/dev1fanboy/Upgrade-Install-Devuan/wikis/Upgrade-to-Devuan


#nano  /etc/apt/sources.list 


#devuan
deb http://auto.mirror.devuan.org/merged ascii main non-free contrib
deb http://auto.mirror.devuan.org/merged ascii-updates main non-free contrib
deb http://auto.mirror.devuan.org/merged ascii-security main non-free contrib




# apt-get update

 y sale el siguiente error (normal)                                                                                   
Leyendo lista de paquetes... Hecho
W: Error de GPG: http://auto.mirror.devuan.org/merged ascii InRelease: Las firmas siguientes no se pudieron verificar porque su clave pública no está disponible: NO_PUBKEY 94532124541922FB
W: El repositorio «http://auto.mirror.devuan.org/merged ascii InRelease» no está firmado.
N: Los datos de un repositorio como este no se pueden autenticar y por tanto su uso es potencialmente peligroso.
N: Vea la página de manual apt-secure(8) para los detalles sobre la creación de repositorios y la configuración de usuarios.
W: Error de GPG: http://auto.mirror.devuan.org/merged ascii-updates InRelease: Las firmas siguientes no se pudieron verificar porque su clave pública no está disponible: NO_PUBKEY 94532124541922FB





# apt-get install devuan-keyring -y --force-yes 

Desempaquetando devuan-keyring (2016.11.22) ...
Configurando devuan-keyring (2016.11.22) ...
W: --force-yes está desactualizado, en su lugar utilice una de las opciones que empiezan por --allow.




 # apt-get update
esta vez sin error, llavero cargado exitosamente

Obj:1 http://auto.mirror.devuan.org/merged ascii InRelease                                                                                             
Obj:4 http://auto.mirror.devuan.org/merged ascii-updates InRelease        
Obj:7 http://amprolla.devuan.org/merged ascii-security InRelease               

Leyendo lista de paquetes... Hecho


# apt-get dist-upgrade


1488 actualizados, 101 nuevos se instalarán, 19 para eliminar y 1 no actualizados.
Se necesita descargar 1 208 MB/1 592 MB de archivos.
Se utilizarán 408 MB de espacio de disco adicional después de esta operación.
¿Desea continuar? [S/n]

 

 momentos como este donde  vas a  actualizar 1,488 paquetes y principalmete xserver-xorg xserver-xorg-core , es un buenmomento para hacer algunos respaldo , por que posiblemente te quedes SIN GRAFICOS :-P 

dicho y hecho
me desinstalo driver-nvidia304XX , no esta disponible en testing (ASCII)
bueno me pase a Nouveau...

NOTA:   USUARIO NORMAL NO TIENE PERMISO PARA LEVANTAR  GRAFICOS despues de la actualizacion


puedes probar  con el usuario ROOT

# starx





### reconfiguramos Xorg para que hacepte usuarios normales

# su - 
 # dpkg-reconfigure x11-common 
# reboot


me encuentro con la sorpresa que carga MATE, sin pronlemas
bueno, es por que ahun no elimino , SYSTEM-D  :-P

Instalando un escritorio  TOTALMENTE  FUNCIONAL SIN SYSTEMD
 tienes estas opciones:

xfce4
 icewm
 dwm
i3
MATE (version 1.8) 
TDE (un fork de KDE3) no disponible en los  repositorios de  DEBIAN y DEVUAN
http://www.trinitydesktop.org/ 



# apt-get install xfce4


instalando DESKTOP MANAGER ( loguin donde administra los inicios de secion)

# apt-get install slim



eliminando   systemd-shim libsystemd0 




la verdad es un podo problematico este siguiente paso por la cantidad inmensa depndiente de systemD, 
si puedes  elimina cada uno por separado

 # aptitude purge systemd-shim libsystemd0  


al final si tienes problemas con WIFI y network-manager  ,
 tienes  como alternatica  WICD,   que es otro administrador de rede  WIFI.






# aptitude dist-upgrade 

para  correjir  cualquier dependencia que se haya quedado rota al eliminar systemD


y finalmente reiniciar









jueves, 22 de diciembre de 2016

BLOKEO A FACEBOOK por IPs desde DEBIAN (AUTOMATICO, cada vez que encienda y cada hora)




#1 bloque al inicio


editamos  con la terminal desde ROOT



#  nano  /etc/rc.local
 
 
 #### FIN SCRIPT #### 
 
 #!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing. 
 #default 
 
 
 
# BLOQUEANDO FACE 1
 
 iptables -A OUTPUT -p tcp -d www.facebook.com -j DROP
iptables -A OUTPUT -p tcp -d facebook.com -j DROP
iptables -A OUTPUT -p tcp -d 173.252.64.0/18  -j DROP

******************************

# BLOQUEANDO FACE 2

iptables -I FORWARD -m tcp -p tcp -m iprange --dst-range 66.220.144.0-66.220.159.255 --dport 443 -j DROP && echo " regla-03 ok"
iptables -I FORWARD -m tcp -p tcp -m iprange --dst-range 69.63.176.0-69.63.191.255 --dport 443 -j DROP && echo " regla-04 ok"
iptables -I FORWARD -m tcp -p tcp -m iprange --dst-range 204.15.20.0-204.15.23.255 --dport 443 -j DROP && echo " regla-05 ok"
iptables -I FORWARD -p tcp -m string --string www.facebook.com --dport 443 --algo bm -j DROP && echo " regla-06 ok"
iptables -A FORWARD -s www.facebook.com -p tcp --dport 443 -j DROP && echo " regla-08 ok"

********
iptables -I FORWARD -p tcp -m string --string "facebook" --algo bm -j DROP



# BLOQUEANDO FACE 3

iptables -I FORWARD -m tcp -p tcp -m iprange --dst-range 66.220.144.0-66.220.159.255 --dport 443 -j DROP
iptables -I FORWARD -m tcp -p tcp -m iprange --dst-range 69.63.176.0-69.63.191.255 --dport 443 -j DROP
iptables -I FORWARD -m tcp -p tcp -m iprange --dst-range 204.15.20.0-204.15.23.255 --dport 443 -j DROP
iptables -I FORWARD -p tcp -m string --string www.facebook.com --dport 443 --algo bm -j DROP
iptables -A FORWARD -s www.facebook.com -p tcp --dport 443 -j DROP


# bloquear FACE 4 
/usr/bin/whois -h whois.radb.net '!gAS32934' | head -n -1 | tail -n -1 | /usr/bin/xargs --max-args=1 | /usr/bin/xargs -I {} --max-args=1 /sbin/iptables -t mangle -I POSTROUTING -d {} -j DROP

 

exit 0
 
#### FIN SCRIPT #### 
### NOTA:  MUY IMPORTANTE AL FINAL TIENE QUE DECIR  "exit 0" ############
 
 
 
 
 
#2 bloque CADA HORA
    esto con el fin de revisar ,
 en caso que facebook saque otra ip nueva 
 
hacemos un script  con el mismo  contenido que  /etc/rc.local 
en algun folder  con acceso a root 
 
mas informacion; el sigueinte link
http://blog.desdelinux.net/cron-crontab-explicados/ 
 
 
 
 /algun/folder-con-accesosolo-ROOT/./nofb.sh
EJEMPLO EN RAIZ
# mkdir /alex-programas 
 
/alex-programas/./nofb.sh
 
 
editamos y agregamos el script a CRON
para que se ejecute el scrip cada hora
(en mi caso lo puse a los 15 min de cada hora 7:15  8:15 9:15,etc)   
 
 
nano /etc/crontab
 
 
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command
17 * * * * root    cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

15 *  * * * root  /algun/folder-con-accesosolo-ROOT/./nofb.sh
 
 
 ########  FIN   SCRIPT  #####
 #### NOTA:   ES OBLIGATORIO PORNER EL PUNTO antes del script      ...."/./"nofb.sh  ###
  #### NOTA 2:  algun folder donde , solo root tenga acceso, y asi lo usuarios normales no lo editen ###
 
 
 
 
#3  DESBLOQUEO 
en caso que los usuarios  ROOT  nesecitemos desbloquear el FACEBOOK 
 
de misma manera  hacer un script  en 
 
 /algun/folder-con-accesosolo-ROOT/./sifb.sh 
 
 
 
 
 
####INICI  SCRIPT #### 
 



#!/bin/bash


echo "permitiendo FACEBOOK..."
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

sleep 1
Verificar con iptables -L
 beep && beep && beep 


exit 0
 
 #####   fin  ##
 
 
 
 

domingo, 10 de julio de 2016

montar particion crifrada


ubicar particion

fdisk -l





seleccionado en mi caso>
/dev/sda5


apt-get install lvm2 cryptsetup
 
 
modprobe dm-crypt
 
*** nombre de mi grupo de volumen   Grupo-LVM 
cryptsetup luksOpen /dev/sda5 Grupo-LVM 
Enter passphrase for /dev/sda5:  (LACONTRASE#A AKI DEL CIFRADO)
 
vgscan --mknodes
 
vgchange -a y
 2 logical volume(s) in volume group "Grupo-LVM" now active

 
 
 vgscan
  Reading all physical volumes.  This may take a while...
  Found volume group "Grupo-LVM" using metadata type lvm2


lvscan
  ACTIVE            '/dev/Grupo-LVM/Swap' [3.72 GiB] inherit
  ACTIVE            '/dev/Grupo-LVM/Raiz' [194.27 GiB] inherit

"Swap" y "Raiz"  se lo puse yo ese nombre  durante el crifrado inicial


EN DEBIAN TENGO QUE AGARRAR  LA RUTA DE /dev/mapper/ y nohacer caso de '/dev/Grupo-LVM/Raiz'

montando (con  -w  para que sea  lectura y escritura)
 
mount -w /dev/mapper/Grupo--LVM-Raiz /mnt


y listo, 
saludos 
 


jueves, 2 de junio de 2016

instalar DPKG sin DPKG (instalacion manual)

METODO 1 -   POR  "TAR"





METODO 2 -  POR "DEB"

desccargar con  WGET





wget  http://ftp.mx.debian.org/debian/pool/main/d/dpkg/dpkg_1.17.26_i386.deb

descomprimir con el comando  "ar" o "unar"  
(no confindir UNAR con UNRAR )

unar dpkg_1.17.26_i386.deb

cd dpkg_1.17.26_i386

/tmp/dpkg/dpkg_1.17.26_i386#  


tar zxvf data.tar.gz -C /

(explico ; el comando TAR descomprimira en  / el contenido de "data.tar" que el tiene dentro un subdirectorio   /bin, asi que lo descomprimire en raiz / y automaticamente el /bin de data.tar.gz lo pondra en el sistema /bin)

y reinstalaremos con  

# apt-get --reinstall install dpk

 y listo :-)
a disfrutar de  DPKG  de nuevo