Mostrando las entradas con la etiqueta debian. Mostrar todas las entradas
Mostrando las entradas con la etiqueta debian. Mostrar todas las entradas

martes, 10 de agosto de 2021

Actualización problemática de connman en antiX 19.4

 ConnMan es un demonio para administrar conexiones a Internet dentro de un dispositivo integrado e integra una amplia gama de funciones de comunicación que generalmente se dividen entre muchos demonios como DHCP, DNS y NTP. 

El resultado de esta consolidación es un bajo consumo de memoria con una reacción rápida, coherente y sincronizada a las condiciones cambiantes de la red.

La última actualización de connman quizo hacer más fácil cambiar entre diferentes administradores de red y liberar a connman de su necesidad de controlar /etc/resolv.conf, pero en su lugar rompió la configuración actual en los dispositivos antiX 19.X instalados.

 

Hay dos métodos para solucionar la pérdida de conexión a Internet. 

SIGUE SOLO UNO DE ELLOS:  

[1:00] A. Restaure connman como estaba antes de la actualización borrando el archivo de configuración predeterminado de connman:  

sudo rm /etc/default/connman  

[2:20] B. Cambie el enlace simbólico de resolución de DNS a uno que sea compatible con la actualización: 

 sudo ln -sf /run/resolvconf/resolv.conf/etc/resolv.conf 

 Cualquiera de los métodos anteriores arreglará la conexión a Internet después de reiniciar.  

jueves, 18 de junio de 2020

Cómo enviar audio y vídeo de GNU/Linux a Chromecast.

Mkchromecas es un programa para transmitir su audio Linux a sus dispositivos Google Cast.
También puede emitir archivos de video.

Está escrito para Python3, y puede transmitir a través de node.js, parec (Linux), ffmpeg o avconv. Mkchromecast es capaz de utilizar formatos de audio con pérdida y sin pérdida siempre que estén instalados ffmpeg, avconv (Linux) o parec (Linux).

También es compatible con la reproducción grupal de varias habitaciones y con una alta resolución de audio de 24 bits / 96 kHz.




Además, un menú de la bandeja del sistema está disponible. 


¿Cómo instalar y usar Mkchromecast?

En cualquier distro de Linux podemos instalar mkchromecast directamente desde su código fuente alojado en Github, para ello debemos realizar los siguientes pasos:

Clonar el repositorio oficial de la herramienta, o en su defecto descargar la versión estable de la aplicación desde aquí.



Los usuarios de Debian, Ubuntu y derivados pueden instalar la herramienta directamente desde los repositorios oficiales, sólo debe ejecutar desde la consola el siguiente comando:

sudo apt install mkchromecast
Como dijimos, Mkchromecast requiere de Pyhon3 y una serie de requisitos para que funcione.
Los usuarios de GNU/Linux pueden intentar instalar estos requisitos de Python utilizando los administradores de paquetes que vienen con sus distribuciones.

Ejemplo para distribuciones basadas en Debian:

sudo apt install python3.6 python3-pip python3-pychromecast python3-flask python3-psutil python3-setuptools python3-mutagen python3-gi vorbis-tools sox lame flac faac opus-tools ffmpeg libav-tools pavucontrol python3-pyqt5 
Uso
Audio
Abra una terminal y ejecute:
mkchromecast
Esto lanzará Mkchromecast usando "parec" (Parec Reproduce o graba secuencias de audio sin formato o codificadas en un servidor de sonido PulseAudio en Linux), y realizará la parte de transmisión junto con el formato de codificación de audio mp3.

En Linux, debe seleccionar con "pavucontrol" el receptor llamado Mkchromecast para transmitir a menos que esté utilizando ALSA. Vea la wiki para más información.

Nota: el proceso de conversión es independiente de pulseaudio. Esto significa que Mkchromecast le dirá al dispositivo de transmisión que escuche su computadora, pero no se escuchará ningún sonido hasta que seleccione el receptor. Para los usuarios de ALSA, esto no se aplica.












Otros ejemplos usando el paquete instalado desde debian de  Mkchromecast 

Para transmitir usando parec y el formato wav de codificación de audio:

 mkchromecast -c wav 
También hay una opción para cambiar la tasa de bits, y en este caso con ffmpeg:
 mkchromecast --encoder-backend ffmpeg -c ogg -b 128 
y otro para cambiar la frecuencia de muestreo:
 mkchromecast --encoder-backend ffmpeg -c ogg -b 128 --sample-rate 48000 
Nota: para usar avconv simplemente reemplace de ffmpeg a avconv en los comandos anteriores.

 
Usando  Mkchromecast  desde la bandeja del sistema
Para lanzarlo:

 mkchromecast -t 

La aplicación de la bandeja del sistema puede realizar todas las acciones de los comandos mencionados anteriormente.
Para tener una idea, acá un video en Youtube.



Reproducción de URL de YouTube en dispositivos Google Cast

Puede reproducir URL de YouTube (u otros sitios)  desde la línea de comandos:
 mkchromecast -y https://www.youtube.com/watch\?v\=J1LmiKO03S0 --video --control 
Para usar esta función, necesita instalar youtube-dl. En distribuciones basadas en Debian:
 apt install youtube-dl 
Nota: es posible que deba encerrar la URL entre comillas, y solo se admiten URL a través de https.

Reproducción de URL de origen en dispositivos Google Cast

Puede reproducir cualquier URL de origen desde la línea de comandos:
 mkchromecast --source-url SOURCE_URL 
Esta opción es útil para:

  1. Transmitir usando MPD en el caso de que ya tenga una fuente de transmisión http.
  2. Lanzar una estación de radio.

Una lista de estaciones para probar : http://www.radio-browser.info/gui/#!/bycountry/Argentina

Ejemplo "Los 40 principales de Argentina":
 mkchromecast --source-url http://18733.live.streamtheworld.com:3690/LOS40_ARGENTINA_SC -c ogg --control 
Como se puede ver arriba, el códec debe especificarse con la bandera -c.

Nota: .m3u o .pls aún no son compatibles.

Controlar el volumen de Google Cast y las opciones de pausa / reanudar:

Puede controlar el volumen de su dispositivo Google Cast iniciando  Mkchromecast  con la opción --control:

 mkchromecast --encoder-backend ffmpeg -c ogg -b 320 --control 
Esto le permitirá presionar las teclas  para subir y bajar el volumen respectivamente.

La bandeja del sistema tiene una ventana con un control deslizante de volumen para subir y bajar el volumen.

Audio de alta calidad

 Mkchromecast  te permite transmitir usando una resolución de audio de 24 bits / 96 kHz. Esta es la capacidad máxima de audio de Chromecast.
Los códecs compatibles son: wav y flac. A pesar de que aac puede usar una frecuencia de muestreo de 96000Hz, la tasa de bits corresponde a la de un formato de compresión de datos con pérdida. Por lo tanto, las siguientes combinaciones pueden lograr esta capacidad de 24 bits / 96 kHz:
  • wav + 96000Hz frecuencia de muestreo.
  • flac + frecuencia de muestreo de 96000Hz.

Video

Ahora puede transmitir videos a su Chromecast usando  Mkchromecast  . Esta característica funciona con ffmpeg y desde la línea de comandos.
  • Transmita un archivo desde su computadora a su Chromecast:
 mkchromecast --video -i "/path/to/file.mp4" 
Nota: el formato del archivo puede ser el que sea compatible con ffmpeg y no exclusivamente mp4.

  • Subtítulos:
 mkchromecast --video -i "/tmp/Homeland.S06E01.Fair.Game.1080p.AMZN.WEBRip.HEVC.DD5.1.x265.mkv" --subtitles /tmp/Homeland.S06E01.Fair\ Game.HDTV.x264-BATV.en.HI.srt 
Nota: Asegúrese que los subtítulos no tengan errores en la codificación de caracteres (UTF-8, Windows-1252... etc), dado que de ser así ffmpeg fallará, truncando la transmisión. En el caso que esto sucediese, los subtítulos se pueden arreglar mediante Aegisub (Aegisub es una herramienta gratuita de código abierto multiplataforma para crear, modificar, recodificar y exportar a otros formatos de subtítulos muy interesantes como SSA/ASS  más avanzado que el SRT.)
  • Establecer la resolución:
 mkchromecast --video --resolution 4k -i /path/to/myvideo.something --subtitles /path/to/my.srt 
  • Transmitir desde una URL de origen:
 mkchromecast --source-url http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4 -c mp4 --volume --video 
  • Video de Youtube
 mkchromecast -y https://www.youtube.com/watch\?v\=J1LmiKO03S0 --video --control 
Nota: Asegúrese de tener la última versión de la librería youtube-dl. En mi caso obtuve un error al querer reproducir videos de youtube (del tipo "ERROR:J1LmiKO03S0:YouTube said:Invalid parameters.") el cual se solucionó luego de actualizar youtube-dl.

  • ¿Cómo actualizo youtube-dl ?
 sudo youtube-dl -U 
Si ha usado pip, una simple instalación de sudo pip -U youtube-dl es suficiente para actualizar.
sudo pip install -U youtube-dl 
Si ha instalado youtube-dl usando un administrador de paquetes como apt-get o yum, use el mecanismo de actualización del sistema estándar para actualizar. Tenga en cuenta que los paquetes de distribución a menudo están desactualizados. 
Como regla general, youtube-dl se publica al menos una vez al mes y, a menudo, semanalmente o incluso a diario. Simplemente vaya a https://yt-dl.org para averiguar la versión actual. Desafortunadamente, no hay nada que los desarrolladores de youtube-dl puedan hacer si su distribución sirve una versión realmente desactualizada. Puede (y debe) quejarse de su distribución en su bugtracker o foro de soporte.
  •  Matar a la aplicación:
Para eliminar  Mkchromecast  cuando lo ejecutas desde la consola, simplemente presiona la tecla  Ctrl-C  para salir (cuando se pasa --control de control).
Al iniciar desde la bandeja del sistema, use el botón Salir en la bandeja del sistema.


Más ayuda

Para obtener más ayuda:
 mkchromecast -h 
  • Problemas conocidos
General

     Las versiones de Mkchromecast inferiores a 0.3.7 no pueden funcionar con versiones más recientes de pychromecast.
     Cuando se transmiten videos usando el nodo backend, no es posible usar ni las marcas --subtitle ni --seek.
     Al transmitir a Sonos, los únicos códecs compatibles son: mp3 y aac. No le daré soporte a wma. Aparentemente hay una forma de jugar wav y ogg que intentaré implementar más tarde.

Cuando se utiliza el codificador parec y lame, el retraso entre el audio reproducido y escuchado puede ser de hasta 8 segundos. Te sugiero que uses algo diferente a mp3.

También puede consultar las preguntas frecuentes para obtener más información.


Visite el sitio web de Mkchromecast.
Creado por: Muammar El Khatib.



martes, 9 de julio de 2019

Syncthing reemplaza los servicios patentados de sincronización.

Syncthing reemplaza los servicios patentados de sincronización y nube con algo abierto, confiable y descentralizado. 

Sus datos son solo sus datos y usted merece elegir dónde se almacenan, si se comparten con terceros y cómo se transmiten a través de Internet.


Syncthing tiene soporte para todas las plataformas conocidas:
  

  1.  Windows tray utility, filesystem watcher & launcher: SyncTrayzor
     
  2. macOS application bundle: syncthing-macos
     
  3. Cross-platform GUI wrapper: Syncthing-GTK
     
  4. Android app
  5. GNU Linux



Para Debian:
El canal estable se actualiza con versiones de lanzamiento estables, generalmente cada primer martes del mes.


 # Add the release PGP keys:  
 curl -s https://syncthing.net/release-key.txt | sudo apt-key add -  
 # Add the "stable" channel to your APT sources:  
 echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list  
 # Update and install syncthing:  
 sudo apt-get update  
 sudo apt-get install syncthing  

Sitio oficial de Syncthing: https://syncthing.net/



viernes, 12 de abril de 2019

Respaldo de bases de datos MySQL de un servidor Debian, con otro puesto de Debian, mediante Samba.

En el puesto debian (192.168.0.2), donde se destinará los respaldo del servidor MySQL/MariaDB (192.168.0.1), procedemos a configurar un servidor Samba que contendrá los siguientes recursos compartidos:
 
 #/etc/samba/smb.conf   
  [global]   
  workgroup = INFORMATICA   
  server string = Julio Alberto Lascano - (Samba Server %h)   
  netbios name = DEBIAN-JULIO   
  map to guest = bad user   
 # Depurar la información de registro  
 # log file  
  log file = /var/log/samba/log.%m  
 # nivel de registro general  
  log level = 3  
  [backup-mysql]   
  comment = solo para grupo administracion backup server mysql   
  path = /home/julio/backup/mysql   
  browseable = yes   
  read only = yes   
  guest ok = no   
  write list = @administracion   
  valid users = @administracion   
Hacemos un testparm para validar el contenido del fichero de configuración smb.conf

 root@sistem:/home/julio# testparm /etc/samba/smb.conf  
A continuación creamos el grupo y el usuario que manejará el acceso a samba. Creamos el grupo administracion.
 root@sistem:/home/julio# groupadd administracion  
Añadimos un usuario al grupo para hacer luego las pruebas (creamos el usuario en la máquina y después su password):
 root@sistem:/home/julio# useradd administracionuser  
 root@sistem:/home/julio# passwd administracionuser  
Añadimos el usuario administracionuser al grupo administracion.  Como ya existen, no usaremos
 root@sistem:/home/julio# useradd -g administracion administracionuser  
Sino:
 root@sistem:/home/julio# usermod -g administracion administracionuser  
Crear usuarios locales como usuarios de SAMBA
 root@sistem:/home/julio# smbpasswd -a administracionuser  
Permisos locales adecuados para los recursos compartidos SAMBA
 root@sistem:/home/julio# chmod 775 /home/julio/backup/mysql  
Y cambiamos el usuario y grupo propietarios al grupo que puede escribir :
 root@sistem:/home/julio# chown -hR root:administracion /home/julio/backup/mysql  
Reiniciamos el servidor SAMBA.
 root@sistem:/home/julio# /etc/init.d/samba-ad-dc restart  
Ahora desde el servidor debian mysql/mariadb (192.168.0.1) verficamos los recursos que está compartiendo el servidor SAMBA (192.168.0.2)
 root@sistem:/home/julio# smbclient --list 192.168.0.2  
Que nos mostrará una salida similar a esta:
 root@spse:/home/julio# smbclient --list 192.168.0.2  
 Enter root's password:   
 Domain=[INFORMATICA] OS=[Windows 6.1] Server=[Samba 4.2.14-Debian]  
      Sharename    Type   Comment  
      ---------    ----   -------  
      backup-mysql    Disk   solo para grupo administracion backup server mysql  
      IPC$      IPC    IPC Service (Julio Alberto Lascano - (Samba Server sistem))  
   Domain=[INFORMATICA] OS=[Windows 6.1] Server=[Samba 4.2.14-Debian]  
Finalizada la configuración del servidor Samba del puesto  192.168.0.2, procederemos a la creación de 2 (dos) scripts. en lenguaje bash.
Luego, serán agregados como tareas diarias automáticas, mediante crontab, en el Servidor MySQL/MariaDB 192.168.0.1
Los scripts :
 root@spse:/home/julio/fuentes/bash# ls -l  
 total 8  
 -rwxrwx--- 1 root root 589 abr 9 14:47 backupToJulio.sh  
 -rwxrwxr-x 1 root root 477 abr 4 12:05 mysqldump.sh  
 root@spse:/home/julio/fuentes/bash#   
  1.  mysqldump.sh (Será utilizado para generar los scripts de creación de las bases de datos (estructuras de tablas y datos de las mismas) del servidor MySQL 192.168.0.1)
  2.   backupToJulio.sh (backup bases de datos a otro disco de la red, en este caso el servidor SAMBA 192.168.0.2)
 #!/bin/sh  
 # Esto volcará todas tus bases de datos.  
 # **************************************  
 #     mysqldump.sh
 # **************************************  
 DATE=$(date +%Y%m%d%H%M)  
 for DB in $(echo "show databases" | mysql --defaults-file=/etc/mysql/debian.cnf -N)  
 do  
     mysqldump --defaults-file=/etc/mysql/debian.cnf --single-transaction $DB > /root/mysql/backup/${DB}_${DATE}.sql  
     gzip /root/mysql/backup/${DB}_${DATE}.sql  
 done  
 # Borrar los respaldos que tengan mas de 5 dias (economiza espacio del server)  
 find /root/mysql/backup/ -name "*.sql*" -mtime +5 -exec rm -vf {} \;  
 #!/bin/sh  
 # **********************************************************  
 # backup bases de datos a otro disco de la red (192.168.0.2)  
 # **********************************************************  
 #          backupToJulio.sh  
 # **********************************************************  
 # montar con cifs-utils  
 mount -t cifs //192.168.0.2/backup-mysql /home/julio/papelera -o username=administracionuser,password=administracionuser,domain=INFORMATICA  
 if [ $? = 0 ]; then  
      # copiar al puesto 192.168.0.2 (que está montado en /home/julio/papelera)  
      find /root/mysql/backup/ -name "*.sql*" -mtime -1 -exec cp -v {} /home/julio/papelera/ \;  
      umount /home/julio/papelera/  
 fi  
Solo resta automatizar la ejecución diaria de esto scripts. Para ello, los agragaremos como una tarea cron de root. Acerca de como agragar tareas cron remítase a este tutorial
 root@spse:~# crontab -l  
 # Edit this file to introduce tasks to be run by cron.  
 #   
 # Each task to run has to be defined through a single line  
 # indicating with different fields when the task will be run  
 # and what command to run for the task  
 #   
 # To define the time you can provide concrete values for  
 # minute (m), hour (h), day of month (dom), month (mon),  
 # and day of week (dow) or use '*' in these fields (for 'any').#   
 # Notice that tasks will be started based on the cron's system  
 # daemon's notion of time and timezones.  
 #   
 # Output of the crontab jobs (including errors) is sent through  
 # email to the user the crontab file belongs to (unless redirected).  
 #   
 # For example, you can run a backup of all your user accounts  
 # at 5 a.m every week with:  
 # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/  
 #   
 # For more information see the manual pages of crontab(5) and cron(8)  
 #   
 # m h dom mon dow  command  
 25 6   * * 1-5  /home/julio/fuentes/bash/mysqldump.sh  
 59 11  * * 1-5  /home/julio/fuentes/bash/backupToJulio.sh   
 root@spse:~#   
En este caso hemos configurado a cron para que ejecute mysqldump.sh (192.168.0.1) todos los días habiles (LUN-VIE) a las 06:25 AM
Y para respaldar en el otro disco (192.168.0.2) mediante backupToJulio.sh todos los días habiles (LUN-VIE) a las 11:59 AM

jueves, 19 de febrero de 2015

antiX

antiX es una distribución de linux en live CD rápida, ligera y fácil de instalar basada en Debian Testing para equipos Intel-AMD x86 compatibles. antiX ofrece a los usuarios la "Magia d'antiX" en un entorno apropiado para ordenadores viejos. ¡Así que no se tendrás que tirar a la basura tu viejo ordenador todavía! El objetivo de antiX es proporcionar un sistema operativo libre ligero pero totalmente funcional y flexible tanto para novatos como para usuarios experimentados de Linux. Debería funcionar en todos los ordenadores, desde un viejo PII 266 con 64MB y 128MB de swap hasta hasta los ordenadores más modernos y potentes. Se recomienda 128MB de RAM para antiX. También se puede usar antiX como un cd de recuperación con un arranque rápido.

sábado, 27 de diciembre de 2014

Mi sources.list




# Oficiales	
deb http://ftp.ccc.uba.ar/pub/linux/debian/debian/ wheezy main contrib non-free
deb-src http://ftp.ccc.uba.ar/pub/linux/debian/debian/ wheezy main contrib non-free 

# Seguridad
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

# Multimedia
deb http://deb-multimedia.org/ wheezy main non-free
deb-src http://deb-multimedia.org/ wheezy main non-free

# Backports
deb http://ftp.debian.org/debian/ wheezy-backports main contrib non-free
deb-src http://ftp.debian.org/debian/ wheezy-backports main contrib non-free

# Mozilla
deb http://mozilla.debian.net/ wheezy-backports iceweasel-release
deb-src http://mozilla.debian.net/ wheezy-backports iceweasel-release

# VirtualBox
deb http://download.virtualbox.org/virtualbox/debian wheezy contrib

jueves, 25 de diciembre de 2014

Actualizar Adobe flashplugin en Debian

Iceweasel bloquea el plugin de flash y te da la opción de darle paso o dejarlo como está.



Para solucionar este inconveniente y tener la última versión del puto plugin flash de Adobe podemos actualizarlo con la siguiente orden en la terminal.

update-flashplugin-nonfree --install

Podemos comprobar nuestra versión y la última disponible con lo siguiente.

# sudo update-flashplugin-nonfree --status


martes, 13 de mayo de 2014

Como recuperar el sistema de archivos de un pendrive.

¿Por qué mi pendrive está montado cómo sólo lectura?
















Vamos a desmontar y desconectar físicamente el dispositivo que está montado en: "/media/KINGSTON"

(para determinar en que directorio está montado el pendrive basta ejecutar mount sin parámetros):

**********************************************************
# umount /media/KINGSTON
**********************************************************

Luego de desmontar y desconectar el pendrive, abrimos el log de mensajes del kernel utilizando tail, para poder ver qué informa el kernel Linux cuando conectamos el dispositivo:

**********************************************************
# tail -f /var/log/messages
**********************************************************

Al conectar el dispositivo comienzan a aparecer los siguientes mensajes en la salida de tail:
**********************************************************
julio@sistemas ~ $ tail -f /var/log/messages
May 13 11:39:40 sistemas kernel: [15263.660817] scsi 21:0:0:0: Direct-Access     Kingston DataTraveler 2.0 1.00 PQ: 0 ANSI: 2
May 13 11:39:40 sistemas kernel: [15263.661497] sd 21:0:0:0: Attached scsi generic sg2 type 0
May 13 11:39:40 sistemas kernel: [15263.668097] sd 21:0:0:0: [sdb] 15753216 512-byte logical blocks: (8.06 GB/7.51 GiB)
May 13 11:39:40 sistemas kernel: [15263.669426] sd 21:0:0:0: [sdb] Write Protect is off
May 13 11:39:40 sistemas kernel: [15263.673113]  sdb: sdb1
May 13 11:39:40 sistemas kernel: [15263.831397] sd 21:0:0:0: [sdb] Attached SCSI removable disk
May 13 11:39:43 sistemas pulseaudio[2571]: ratelimit.c: 97 events suppressed
May 13 11:40:13 sistemas nautilus: Nautilus-Actions Tracker 2.29.4 initializing...
May 13 11:40:14 sistemas nautilus: Nautilus-Actions Menu Extender 2.29.4 initializing...
May 13 11:42:15 sistemas kernel: [15419.164054] usb 1-5: USB disconnect, address 24
May 13 11:42:52 sistemas kernel: [15456.016022] usb 1-5: new high speed USB device using ehci_hcd and address 25
May 13 11:42:52 sistemas kernel: [15456.155344] usb 1-5: configuration #1 chosen from 1 choice
May 13 11:42:52 sistemas kernel: [15456.161931] scsi22 : SCSI emulation for USB Mass Storage devices
May 13 11:42:57 sistemas kernel: [15461.176977] scsi 22:0:0:0: Direct-Access     Kingston DataTraveler 2.0 1.00 PQ: 0 ANSI: 2
May 13 11:42:57 sistemas kernel: [15461.177644] sd 22:0:0:0: Attached scsi generic sg2 type 0
May 13 11:42:57 sistemas kernel: [15461.184749] sd 22:0:0:0: [sdb] 15753216 512-byte logical blocks: (8.06 GB/7.51 GiB)
May 13 11:42:57 sistemas kernel: [15461.185522] sd 22:0:0:0: [sdb] Write Protect is off
May 13 11:42:58 sistemas kernel: [15461.189514]  sdb: sdb1
May 13 11:42:58 sistemas kernel: [15461.411200] sd 22:0:0:0: [sdb] Attached SCSI removable disk
May 13 11:46:04 sistemas kernel: [15647.608136] usb 1-5: USB disconnect, address 25
May 13 11:46:08 sistemas kernel: [15652.192025] usb 1-5: new high speed USB device using ehci_hcd and address 26
May 13 11:46:08 sistemas kernel: [15652.330658] usb 1-5: configuration #1 chosen from 1 choice
May 13 11:46:08 sistemas kernel: [15652.337094] scsi23 : SCSI emulation for USB Mass Storage devices
May 13 11:46:14 sistemas kernel: [15657.336847] scsi 23:0:0:0: Direct-Access     Kingston DataTraveler 2.0 1.00 PQ: 0 ANSI: 2
May 13 11:46:14 sistemas kernel: [15657.337520] sd 23:0:0:0: Attached scsi generic sg2 type 0
May 13 11:46:14 sistemas kernel: [15657.338134] sd 23:0:0:0: [sdb] 15753216 512-byte logical blocks: (8.06 GB/7.51 GiB)
May 13 11:46:14 sistemas kernel: [15657.340757] sd 23:0:0:0: [sdb] Write Protect is off
May 13 11:46:14 sistemas kernel: [15657.344896]  sdb: sdb1
May 13 11:46:14 sistemas kernel: [15657.580003] sd 23:0:0:0: [sdb] Attached SCSI removable disk
**********************************************************

Para reparar el sistema de archivos, primero vamos a determinar el nombre de la partición donde se encuentra alojado (abrimos otra terminal):
**********************************************************
# mount | grep vfat

que nos muestra:

/dev/sdb1 on /media/KINGSTON type vfat (rw,nosuid,nodev,uhelper=udisks,uid=500,gid=500,shortname=mixed,dmask=0077,utf8=1,flush)
**********************************************************

Por lo tanto desmontamos el dispositivo /dev/sdb1:
**********************************************************
# umount /dev/sdb1
**********************************************************

IMPORTANTE!!! Es necesario asegurarse que el sistema de archivos esté desmontado antes de intentar repararlo.

Para verificar y reparar el filesystem utilizamos la herramienta fsck.msdos ya que se trata de un sistema de archivos VFAT.

Si el sistema de archivos es NTFS se debe utilizar fsck.ntfs:
**********************************************************
Nota al respecto:
ntfsfix que es una utilidad del paquete ntfsprogs  que ya está disponible con una instalación estándar de Ubuntu.

Usted puede hacer un enlace simbólico entre fsck.ntfs y ntfsfix :

sudo ln -s /usr/bin/ntfsfix /sbin/fsck.ntfs
sudo ln -s /usr/bin/ntfsfix /sbin/fsck.ntfs-3g

Usted puede contar más en las herramientas basadas en Linux para recuperar su instalación y datos que las herramientas basadas en Windows de Windows.
También he experimentado que Linux te permite hacer cosas como poner signos de interrogación en sus nombres de archivo; esto está oficialmente permitido por las normas de NTFS, pero aquí está la broma: el controlador de Windows no lo soporta!

Me gustaría apuntar a otras utilidades "Linux-based Rescue" / "Repair Live-CDs" (o USB)"
Fin de Nota al respecto
**********************************************************


dosfsck - comprobar y reparar sistemas de archivos MS-DOS
**********************************************************
fsck.msdos -awvV /dev/sd1b
**********************************************************

Explicación de los parámetros utiliazados:

-a: Reparar automáticamente el sistema de archivos. Sin la intervención del usuario es necesario.
Cada vez que hay más de un método para resolver un problema,Se utiliza el método menos destructivo.

-w: Escribir cambios en disco inmediatamente.

-v: modo detallado. Genera un poco más de salida.

-V: Realizar un pase de verificación. La comprobación del sistema de archivos se repite después de la primera ejecución. El segundo paso nunca debería reportar algún error corregibles.
Puede tomar mucho más tiempo que la primera pasada, porque la primera pasada puede haber generado larga lista de modificaciones que tienen que ser escaneada para cada lectura de disco.


La salida del comando muestra lo siguiente, dependiendo de cuan dañado esté el sistema de archivos:

**********************************************************
dosfsck 3.0.9 (31 Jan 2010)
dosfsck 3.0.9, 31 Jan 2010, FAT32, LFN
Checking we can access the last sector of the filesystem
There are differences between boot sector and its backup.
Differences: (offset:original/backup)
  65:01/00
  Not automatically fixing this.
Boot sector contents:
System ID "THREES  "
Media byte 0xf8 (hard disk)
       512 bytes per logical sector
      8192 bytes per cluster
        32 reserved sectors
First FAT starts at byte 16384 (sector 32)
         2 FATs, 32 bit entries
   7570432 bytes per FAT (= 14786 sectors)
Root directory start at cluster 2 (arbitrary size)
Data area starts at byte 15157248 (sector 29604)
   1891673 data clusters (15496585216 bytes)
63 sectors/track, 32 heads
        63 hidden sectors
  30296385 sectors total
Starting check/repair pass.
Cluster 1470591 out of range (228497476 > 1891674). Setting to EOF.
Cluster 1470593 out of range (15148248 > 1891674). Setting to EOF.
Cluster 1470595 out of range (33642170 > 1891674). Setting to EOF.
Cluster 1470597 out of range (50061838 > 1891674). Setting to EOF.
Cluster 1470599 out of range (5006860 > 1891674). Setting to EOF.
Cluster 1470601 out of range (5849983 > 1891674). Setting to EOF.
Cluster 1470603 out of range (213087397 > 1891674). Setting to EOF.
Cluster 1470605 out of range (112942055 > 1891674). Setting to EOF.
Cluster 1470607 out of range (183090718 > 1891674). Setting to EOF.
Cluster 1470609 out of range (34862787 > 1891674). Setting to EOF.
Cluster 1470611 out of range (133720333 > 1891674). Setting to EOF.
Cluster 1470613 out of range (50845958 > 1891674). Setting to EOF.
Cluster 1470615 out of range (90824247 > 1891674). Setting to EOF.

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

Al finalizar, la herramienta fsck.msdos ha reparado el sistema de archivos y es posible desconectar y reconectar el dispositivo para asegurarse de que sea montado, como corresponde.

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

Por otro lado... si queremos formatear de manera total nuestro pendrive:

**********************************************************
sudo mkfs.vfat -F 32 -n Mi_Memoria /dev/sdc1
**********************************************************

Con la opción -F 32 le decimos que será formateada como Fat32, y con la opción -n le ponemos una etiqueta o nombre al dispositivo.
¿Sencillo verdad?

Edito: Se me olvidaba decir que para ejecutar esta operación, el dispositivo tiene que estar desmontado.






miércoles, 25 de diciembre de 2013

Como configurar alsa desde cero con Debian Wheezy

Por alguna razón que desconozco, Debian Wheezy perdió el sonido. Luego de varios días de investigar, finalmente lo solucioné así:

Desinstalar alsa:

apt-get purge alsa-base alsa-firmware-loaders alsa-utils bluez-alsa gstreamer0.10-alsa

Instalar las herramientas de compilación y los fuentes del kernel, en mi caso la versión 3.2.0-4 (verifique la versión del kernel mediante uname -a):

apt-get install build-essential linux-headers-3.2.0-4-amd64


Bajar los fuentes de alsa-driver y compilar:

wget http://dl.ambiweb.de/mirrors/ftp.alsa-project.org/driver/alsa-driver-1.0.25.tar.bz2

tar -xvfz alsa-driver-1.0.25

cd alsa-driver-1.0.25

./configure

make
sudo make install
sudo ./snddevices



Luego reinstalamos las utilidades de alsa:


apt-get install alsa-base alsa-utils alsamixergui gstreamer0.10-alsa 


Notas a tener en cuenta:
Las versiones de linux-headers y las de alsa-driver son las que yo he utilizado y que están actualmente disponibles en Internet. Respecto a ALSA, hay que visitar su web para descargarse las últimas versiones de los paquetes. Y en cuanto a linux-headers, hago referencia a la versión que tengo instalada en este momento, así que cada uno debe averiguar qué tiene instalado.
    Es importante ejecutar el script ./snddevices, porque crea los dispositivos de sonido en /dev.
    Finalmente hay que reiniciar. Es obligatorio, pues si no, no reconoce el hardware nuevo.
    Aunque es algo que no solemos leer, al terminar de realizar estos pasos, se nos advierte que por defecto el sonido está en 0. ¡No asustarse! Hay que ejecutar alsamixer desde la consola y poner los controles al máximo, o ejecutar nuestro icono de control de sonido para subir el volumen.

miércoles, 4 de diciembre de 2013

Compilación de Mame en Debian Wheezy con el parche Hi Score (para que grabe máximos puntajes)

En primer lugar, hay que bajar los fuentes de mame desde:

http://www.mamedev.org/release.html

(v0.151 es la ultima que yo encontré al momento de bajarla)

luego descomprimimos el zip y nos paramos en el directorio donde se ha extraído que en mi caso es:

/home/system/src/mame/

Instale todo lo necesario para poder compilarlo con:

sudo apt-get install build-essential libgtk2.0-dev libgnome2-dev 
libsdl1.2-dev qt4-qmake qt4-default libsdl-ttf2.0-dev

Ahora hay obtener el parche de puntuación alta para su versión mame (en mi caso era v0.151)

El Patch se puede encontrar aquí:
http://forum.arcadecontrols.com/index.php?topic=64298.0

Guardamos el parche hi_151.txt como hi_151.diff en:

/home/system/src/mame/

El parche se aplica de la siguinte manera:

patch -b -p0 --binary < hi_151.diff

Esto se debería realizar sin errores si se tiene la versión correcta del parche para la versión de mame que hayamos bajado.

Ahora podemos comenzar a compilar mame haciendo:

make

Esto tomará algún tiempo.

cuando termine de compilar nos generará el binario "mame64" (yo tengo instalada la versión de 64bit de Debian Wheezy,
asumo que para la versióm de 32 bits no necesariamente será ese el nombre, sino simplemente "mame")

luego creamos la estructura para los archivos de configuración, roms, etc

en mi caso yo cree la siguiente:

mkdir /home/system/mame
mkdir /home/system/mame/hi
mkdir /home/system/mame/roms

copiamos el binario que obtuvimos:

cp /home/system/src/mame/mame64 /home/system/mame/mame

Ahora se necesita un archivo hiscore.dat para que la versión modificada de MAME que compilamos recién pueda leer y saber qué direcciones de memoria contienen las altas puntuaciones de los juegos compatibles que bajemos.

Lo bajamos desde la página hiscore.dat no oficial en:

http://mameworld.info/highscore/

el archivo hiscore.dat lo copiamos en el raíz de la estructura de mame que creamos previamente en:

/home/system/mame/

parados en /home/system/mame/ damos la siguiente orden para crear el archivo mame.ini

./mame -createconfig

ahora nos bajamos un rom para probarlo (en mi caso, soy un fanático del pac-man) lo bajé desde:

http://www.romnation.net/srv/roms/56950/mame103/Ms-Pac-Man.html

el archivo mspacman.zip lo copiamos en:

/home/system/mame/roms

ahora a jugar!

arrancamos el emulador parados en /home/system/mame/ haciendo:

./mame

Si todo salió bien quedarán registrado las puntuaciones que obtengamos al jugar en:

/home/system/mame/hi/mspacman.hi

¡que lo disfruten tanto como yo!

martes, 11 de septiembre de 2012

Cedar PRO [Radeon HD 5450] con Debian Linux Mint (LMDE)

Me he comprado una placa ATI Radeon HD 5450 (bastante económica para lograr aceleración con las gráficas en Linux) y como AMD ha lanzado el driver (propietario) catalyst para Linux aqui la manera de configurarla con LMDE:

Lo primero, ir a la web de AMD y descargar el driver de la tarjeta gráfica que tengamos, elegir modelo y arquitectura, 32 o 64-bit.

En mi caso el driver es la versión de 64 bits. Al momento de descargarlo la versión del driver era: amd-driver-installer-12-8-x86.x86_64.zip

Descargaremos un fichero .zip y lo guardaremos en alguna carpeta (Recordar cual, ya que lo usaremos posteriormente).

Necesitamos instalar antes las dependencias necesarias. En Debian se tiene que ejecutar todo como root:

Abre la consola como root y escribe estos comandos:
apt-get install build-essential fakeroot dh-make debhelper debconf libstdc++6 dkms cdbs libqtgui4 libelfg0

Si tenemos el sistema en 64-bit ademas necesitaremos instalar este paquete:
apt-get install ia32-libs

Ahora que ya tenemos la base procedemos a instalar el driver que bajamos del sitio de AMD:

Abrimos el terminal como root:

ponemos permisos de ejecución:

#chmod +x amd-driver-installer-12-8-x86.x86_64.zip

luego:


#sh amd-driver-installer-12-8-x86.x86_64.zip


Se abre una ventana gráfica donde hay que hacer click en Continue, seguir todos los pasos y si todo es correcto cerrar el terminal.
Después de la instalación viene el post-precesamiento
Abrir una terminal y ejecutar:

#aticonfig –initial -f

Reiniciar el sistema:

#shutdown -r now

y a disfrutar el nuevo juguete: para ello nada mejor que probarlo con un juego arcade que aproveche las características de aceleración gráfica de la nueva placa:

Así que instalamos el :

#aptitude install chromium-bsu 

y a matar marcianos como condenado, ojo, que es muy adictivo (están avisados)

aquí les dejo una muestra del panel de control de ATI y el juego:


 

lunes, 27 de agosto de 2012

Conky-HTC v1.2

Conky es un monitor del sistema altamente configurable y liviano, Incluye El Estado de el CPU ,memoria, espacio de intercambio, de almacenamiento en disco, temperaturas, procesos, interfaces de red, energía de la batería, mensajes del sistema, buzones de correo electrónico,reproductores de musica y mucho más. 

Aquí una captura del escritorio de trabajo de mi computador. En este caso me baje una versión "tuneada" para mostrar el clima que hace cuando salgo a pedalear del grupo Conky en Deviantart.



Acá los archivos de configuracion (2): .conkyrc y .conkyForecast.config






.conkyrc
 # -- Conky settings -- #
    background no
    update_interval 1

    cpu_avg_samples 2
    net_avg_samples 2

    override_utf8_locale yes

    double_buffer yes
    no_buffers yes

    text_buffer_size 2048
    imlib_cache_size 0

    # -- Window specifications -- #

    own_window yes
    own_window_type desktop
    own_window_transparent yes
    own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below

    border_inner_margin 0
    border_outer_margin 0

    minimum_size 310 310
    maximum_width 310
    

    alignment tr
    gap_x -20
    gap_y 10

    # -- Graphics settings -- #
    draw_shades no
    draw_outline no
    draw_borders no
    draw_graph_borders yes

    # -- Text settings -- #
    use_xft yes
    xftfont MaiandraGD:size=24
    xftalpha 0.4

    uppercase no

    default_color 8b8b8b

         TEXT
${voffset 30}${font Helvetica LT Std :style=Condensed:size=60}${color 434343}${goto 40}${time %H}${goto 140}${color 434343}${time %M}${font Helvetica LT Std :size=15:style=condensed}${color 808080}${goto 225}${time %S}
${voffset 55}${color whitesmoke}${font Helvetica LT Std :size=8}${alignr 115}${time %A},${time %e} de ${time %B} de ${time %G}
${voffset -45}${goto 22}${font Helvetica LT Std :size=8}${color 909090}${execi 600 conkyForecast --location=ARSC0074 --datatype=CN --refetch}
#${voffset 8}${font Helvetica LT Std :size=10}${color 707070}${goto 24}Бургас
${font Helvetica LT Std :size=8}${color whitesmoke}${goto 24}${execi 1800 conkyForecast --location=ARSC0074 --datatype=CT}${voffset -10}${goto 200}${font Helvetica LT Std :size=25}${color d4d4d4}${execi 1800 conkyForecast --location=ARSC0074 -u --datatype=HT}
${voffset 35}${font Helvetica LT Std :size=8}${color white}${goto 25}${execi 600 conkyForecast --location=ARSC0074 --datatype=HT -u --startday=1}/${color 707070}${execi 600 conkyForecast --location=ARSC0074 --datatype=LT -u --startday=1}${font Helvetica LT Std :size=8}${color white}${goto 70}${execi 600 conkyForecast --location=ARSC0074 --datatype=HT -u --startday=2}/${color 707070}${execi 600 conkyForecast --location=ARSC0074 --datatype=LT -u --startday=2}${font Helvetica LT Std :size=8}${color white}${goto 115}${execi 600 conkyForecast --location=ARSC0074 --datatype=HT -u --startday=3}/${color 707070}${execi 600 conkyForecast --location=ARSC0074 --datatype=LT -u --startday=3}${font Helvetica LT Std :size=8}${color white}${goto 160}${execi 600 conkyForecast --location=ARSC0074 --datatype=HT -u --startday=4}/${color 707070}${execi 600 conkyForecast --location=ARSC0074 --datatype=LT -u --startday=4}
${font Helvetica LT Std :size=8}${color 707070}${goto 25}${execi 600 conkyForecast --location=ARSC0074 --datatype=DW --shortweekday --startday=1}${font Helvetica LT Std :size=8}${color 707070}${goto 70}${execi 600 conkyForecast --location=ARSC0074 --datatype=DW --shortweekday --startday=2}${font Helvetica LT Std :size=8}${color 707070}${goto 115}${execi 600 conkyForecast --location=ARSC0074 --datatype=DW --shortweekday --startday=3}${font Helvetica LT Std :size=8}${color 707070}${goto 160}${execi 600 conkyForecast --location=ARSC0074 --datatype=DW --shortweekday --startday=4}
${voffset -10}${font Helvetica LT Std :size=8}${color 707070}${goto 205}${execi 600 conkyForecast --location=ARSC0074 --datatype=DW --shortweekday --startday=5}
${voffset -23}${font Helvetica LT Std :size=8}${color white}${goto 205}${execi 600 conkyForecast --location=ARSC0074 --datatype=HT -u --startday=5}/${color 707070}${execi 600 conkyForecast --location=ARSC0074 --datatype=LT -u --startday=5}

${image ~/.images/base.png -p 12,30 -s 238x140}
${image ~/.images/base.png -p 12,190 -s 238x40}
${image ~/.images/flip_bg.png -p 30,10 -s 100x110}
${image ~/.images/flip_bg.png -p 130,10 -s 100x110}
${execpi 600 conkyForecast --location=ARSC0074 --template=~/.vreme.template}


.conkyForecast.config:
CACHE_FOLDERPATH = /tmp/
CONNECTION_TIMEOUT = 5
EXPIRY_MINUTES = 30
TIME_FORMAT = %H:%M
DATE_FORMAT = %d/%m/%Y
LOCALE =es
XOAP_PARTNER_ID =
XOAP_LICENCE_KEY =
MAXIMUM_DAYS_FORECAST = 7
PROXY_HOST = 192.168.0.227
PROXY_PORT = 3128
PROXY_USERNAME = julio
PROXY_PASSWORD = linux
BASE_XOAP_URL = http://xml.weather.com/weather/local/ARSC0074?cc=*&dayf=10&link=xoap&prod=xoap&par=&key=&unit=m

Importante: Para que sea transparente, agregar la siguiente línea al archivo .conkyrc :


own_window_argb_visual yes