| |
About
Consultor orientado al sector TELCO (eTOM, SID), dirección de proyectos (scrum) y sistemas (Oracle, Weblogic, Jboss, Solaris, etc.). Un poco de todo, vamos.
Sindicación

Licencia

Validación


Sistemas





Varios

|
|
| Una de las cosas que más me maravillan de Linux es que cuando algo no logras que funcione puedes dejar que pase el tiempo y el problema se soluciona. Hace unos meses comentaba los mil problemas que tuve cuando actualicé el kernel a una versión más moderna aquí. Dejo de funcionarme el pcmcia y encima no logré lo que quería, el suspend2.
Bien, pués hoy se me dio por volver a intentarlo. Instalé las pcmcia-utils que ya andaban pululando oficialmente por las sources y se me dió por hacer un pccardctl insert , sustituto del ya mítico cardctl con el que ya peleé alguna vez. Bien, hago un 'dmesg' y tacáta... me reconoció la tarjeta WIFI al instante. Chupate esa.
Ante eso se me dió por probar una tarjeta Conceptronic Usb con chipset csp480c2 . Lo intenté hasta la saciedad desde hace dos años y acabé dándome por vencido. Bien, la pongo, hago un 'dmesg' y me la detecta. Eso ya lo hacía antes, la detectaba pero no la montaba ni jarta de grifa. Le enchufo un pendrive usb y me calco un 'tail -f /var/log/messages' . ¡Ahora hasta me aparece el pendrive!. Pero no me lo monta. Googleo un poco y detecto fallo... me falta un módulo llamado 'sd_mod' para reconocer discos duros scsi. Recompilo kernel, reinicio y.... pues sí. Un nuevo 'tail -f /var/log/messages' me dice que /dev/hda1 se encuentra mi flamante reproductor MP3.
¡Esto de linux tiene un color especial!
Unas capturas del asunto:
/var/log/messages
CODE:
-
-
y configuration source at position 4
-
Apr 26 19:59:20 debianx kernel: PCI: Enabling device 0000:02:00.0 (0000 -> 0002)
-
Apr 26 19:59:20 debianx kernel: ACPI: PCI Interrupt 0000:02:00.0[A] -> GSI 17 (level, low) -> IRQ 16
-
Apr 26 19:59:20 debianx kernel: ohci_hcd 0000:02:00.0: OHCI Host Controller
-
Apr 26 19:59:20 debianx kernel: ohci_hcd 0000:02:00.0: new USB bus registered, assigned bus number 5
-
Apr 26 19:59:20 debianx kernel: ohci_hcd 0000:02:00.0: irq 16, io mem 0x32000000
-
Apr 26 19:59:20 debianx kernel: hub 5-0:1.0: USB hub found
-
Apr 26 19:59:20 debianx kernel: hub 5-0:1.0: 2 ports detected
-
Apr 26 19:59:20 debianx kernel: PCI: Enabling device 0000:02:00.3 (0000 -> 0002)
-
Apr 26 19:59:20 debianx kernel: ACPI: PCI Interrupt 0000:02:00.3[A] -> GSI 17 (level, low) -> IRQ 16
-
Apr 26 19:59:20 debianx kernel: ehci_hcd 0000:02:00.3: EHCI Host Controller
-
Apr 26 19:59:20 debianx kernel: ehci_hcd 0000:02:00.3: debug port 1
-
Apr 26 19:59:20 debianx kernel: ehci_hcd 0000:02:00.3: new USB bus registered, assigned bus number 6
-
Apr 26 19:59:20 debianx kernel: ehci_hcd 0000:02:00.3: irq 16, io mem 0x32001000
-
Apr 26 19:59:20 debianx kernel: ehci_hcd 0000:02:00.3: USB 2.0 initialized, EHCI 1.00, driver 10 Dec 2004
-
Apr 26 19:59:20 debianx kernel: hub 6-0:1.0: USB hub found
-
Apr 26 19:59:20 debianx kernel: hub 6-0:1.0: 6 ports detected
-
Apr 26 19:59:39 debianx kernel: usb 5-1: new full speed USB device using ohci_hcd and address 2
-
Apr 26 19:59:39 debianx kernel: Initializing USB Mass Storage driver...
-
Apr 26 19:59:39 debianx kernel: scsi0 : SCSI emulation for USB Mass Storage devices
-
Apr 26 19:59:39 debianx kernel: usbcore: registered new driver usb-storage
-
Apr 26 19:59:39 debianx kernel: USB Mass Storage support registered.
-
Apr 26 19:59:44 debianx kernel: Vendor: Model: Rev:
-
Apr 26 19:59:44 debianx kernel: Type: Direct-Access ANSI SCSI revision: 02
-
Apr 26 19:59:44 debianx kernel: SCSI device sda: 510494 512-byte hdwr sectors (261 MB)
-
Apr 26 19:59:44 debianx kernel: sda: Write Protect is off
-
Apr 26 19:59:44 debianx kernel: SCSI device sda: 510494 512-byte hdwr sectors (261 MB)
-
Apr 26 19:59:44 debianx kernel: sda: Write Protect is off
-
Apr 26 19:59:44 debianx kernel: sda: sda1
-
Apr 26 19:59:44 debianx kernel: Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
-
Apr 26 20:00:05 debianx kernel: VFS: Can't find a valid FAT filesystem on dev sda.
-
Apr 26 20:00:17 debianx last message repeated 2 times
-
Apr 26 20:00:54 debianx kernel: VFS: Can't find a valid FAT filesystem on dev sda.
-
Apr 26 20:00:58 debianx kernel: NTFS driver 2.1.24 [Flags: R/O MODULE].
-
dmesg
CODE:
-
-
PCI: Enabling device 0000:02:00.0 (0000 -> 0002)
-
ACPI: PCI Interrupt 0000:02:00.0[A] -> GSI 17 (level, low) -> IRQ 16
-
ohci_hcd 0000:02:00.0: OHCI Host Controller
-
ohci_hcd 0000:02:00.0: new USB bus registered, assigned bus number 5
-
ohci_hcd 0000:02:00.0: irq 16, io mem 0x32000000
-
hub 5-0:1.0: USB hub found
-
hub 5-0:1.0: 2 ports detected
-
PCI: Enabling device 0000:02:00.3 (0000 -> 0002)
-
ACPI: PCI Interrupt 0000:02:00.3[A] -> GSI 17 (level, low) -> IRQ 16
-
ehci_hcd 0000:02:00.3: EHCI Host Controller
-
ehci_hcd 0000:02:00.3: debug port 1
-
ehci_hcd 0000:02:00.3: new USB bus registered, assigned bus number 6
-
ehci_hcd 0000:02:00.3: irq 16, io mem 0x32001000
-
PCI: cache line size of 128 is not supported by device 0000:02:00.3
-
ehci_hcd 0000:02:00.3: USB 2.0 initialized, EHCI 1.00, driver 10 Dec 2004
-
hub 6-0:1.0: USB hub found
-
hub 6-0:1.0: 6 ports detected
-
usb 5-1: new full speed USB device using ohci_hcd and address 2
-
Initializing USB Mass Storage driver...
-
scsi0 : SCSI emulation for USB Mass Storage devices
-
usb-storage: device found at 2
-
usb-storage: waiting for device to settle before scanning
-
usbcore: registered new driver usb-storage
-
USB Mass Storage support registered.
-
Vendor: Model: Rev:
-
Type: Direct-Access ANSI SCSI revision: 02
-
SCSI device sda: 510494 512-byte hdwr sectors (261 MB)
-
sda: Write Protect is off
-
sda: Mode Sense: 00 c0 00 00
-
sda: assuming drive cache: write through
-
SCSI device sda: 510494 512-byte hdwr sectors (261 MB)
-
sda: Write Protect is off
-
sda: Mode Sense: 00 c0 00 00
-
sda: assuming drive cache: write through
-
sda: sda1
-
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
-
usb-storage: device scan complete
-
|
| Mira que me turra el tema del error GPG. Esto no lo elimina pero al menos no da tanto la chapa. Editas ( o creas ) el archivo /etc/apt/apt.conf y pones esto:
APT::Get::AllowUnauthenticated 1 ;
Menos da una piedra. De bajarme las keys paso, que es un coñazo.
Más info aquí.
|
| Me bajé unos cuantos videos en formato flv. Un formato relacioando con flash y no sé que. El caso es que no se veían, así que upgradeé el mplayer y de paso todo el sistema. Ver post anterior. Una vez acabado se veían perfectamente pero no me convenció mucho y decidí cambiar el codec por si se los paso a alguien. Esto fue lo que hice:
CODE:
-
-
mencoder archivo.flv -o archivoconvertido.avi -oac mp3lame -lameopts cbr:br=128 -ovc xvid -xvidencopts bitrate=500
-
Fácil e indoloro.
|
| Hoy tuve que upgradear el sistema. 450 Megas en total. Una verdadera burrada, ¡la mayoría de paquetes que no uso nunca! Hace tiempo busqué una solución para este problema y lo más parecido que encontré fue 'deborphan' para eliminar las librerias que no se usan. Está bien pero insuficiente. De la mano este blog encontré lo que buscaba: debfoster . Te va preguntando de la forma más resumida posible que quieres y que no. Estupendo.
Ahora hago un:
dpkg -l | grep ii | more
y ya no me sale la burrada de paquetes que me salía antes.
Por cierto, vaya cambios con la actualización. Ahora tengo un tipo de fuente más elegante y pequeño y el driver 'nv' va como la seda. El mplayer mucho más estable y saber de que cosas aún no me he dado ni cuenta.
Un saludo a todos.
|
| Me he visto en la tesitura de necesitar ejecutar un proceso como si fuera otro usuario. Hice lo siguiente:
su adrian /home/adrian/edonkey/mlnet
Sin embargo, quería que el usuario en cuestión pudiera acceder luego a ese proceso ( en este caso quizá no sea necesario ya que solo puede matarlo y eso podría hacerlo con un kill ). Después de buscar un poco encontré la siguiente manera:
su adrian "screen -d -m /home/adrian/edonkey/mlnet"
Puf! Del comando 'screen' podría escribir maravillas y eso que todavía no alcanzo todo el potencial de este pedazo de comando. Para abrir boca os dejo esta introducción. Hace mucho que quiero escribir algo similar pero no hay manera de ponerse.
Un saludo.
|
| Estoy a vueltas con el mítico bucle infinito. Primeramente hay dos opciones de implementarlo:
1) Con un while(true) y un break para cuando queramos romper.
2) Con un while(bandera) siendo bandera un boolean inicializado a true.
Siempre preferí la primera, ya que te ahorras crear una variable para algo tan estúpido. El mayor problema es que si tenías varios bucles infinitos anidados la lectura de código se hace algo tortuosa (pega1), ya que nunca sabes a que se refiere cada bucle. Esto se puede arreglar comentando código, claro.
Además encontré la siguiente pega. ¿Que pasa si quiero reiniciar la ejecución del bucle en algún punto? . Obviamente se puede hacer con if-else pero nunca me gustó esta opción por qué enmaraña el código. Un 'break' a priorí tampoco nos vale por qué no reinicia el bucle si no que directamente sale de él ( pega2 ).
La respuesta a ambas pegas creo que podría ser la siguiente ( al menos en java ) : el break etiquetado. Como el código es autoexplicativo no doy más la lata, ahí os queda:
JAVA:
-
-
-
salida_bucle:
-
while(true) {
-
reinicio_bucle:
-
-
if (loquesea) {
-
break reinicio_bucle;
-
}
-
if (loquesea2) {
-
break salida_bucle;
-
}
-
-
-
}
-
-
Como veis, si loquesea es 'true' reiniciará el bucle, en cambio si loquesea2 es 'true' saldrá del mismo.
Por otro lado, esto se parece mucho al uso de etiquetas y el 'goto' del cual siempre han lanzado pestes los gurús de la programación, con lo cual haya cada uno el usarlo o no.
|
|
|