Despues de instalar todas las bibliotecas de comptabilidad de 32bits (post aqui), ya se puede instalar software de 32, entre ellos wine, que se puede bajar desde Sourceforge
luego de instalar, se pueden instalar aplicaciones (como spotify, que han tenido la decencia de hacer un instalador para windows compatible con wine!)
bajar todos los paquetes desde: ftp://anorien.warwick.ac.uk/slamd64/slackware64-current y todos los paquetes desde: http://mirrors-sanfrancisco.hostgis.com/slamd64/slamd64-current/slamd64/c/
instalarlos y listo, ya tenemos compatibilidad con 32bits
lm-sensors nos permite obtener datos de monitorización de nuestro hardware si éste lo soporta. Como no tengo mucho tiempo, les mostraré como obtener datos rapidamente y que nos sirvan.
1 - tener el paquete lm-sensors instalado (viene en slack, supongo que vendrá en la mayoría de distros :D)
Instalar slackware de 64 bits fue como siempre desde la versión 8 que conozco de slack lo mismo en cuanto a pasos de instalación: seleccionar teclado, particionar, swap, /, /home paquetes y a instalar.
instalación - Me dejó POR PRIMERA VEZ escribir una "ñ" al probar el teclado seleccionado durante la instalación, algo que nunca me funcionó. - pude crear sin ningún problema un usb booteable que funciona correctamente, nada de sorpresas, es mas, es una tarjeta minisd conectada a un adaptador, conectada a un hub usb, conectada a otro hub usb, y la detectó perfectamente. - la posibilidad de indicar puntos de montaje para particiones windows, esta vez dejandome elegir en el setup montarlas con ntfs-3g con escritura para todos (bien!). - me detectó el usb wifi (conceptronic 54ru, driver atheros r73) porque se incluyó el driver en el kernel. pero no me dejó configurarlo, y tampoco se levantó solo (y no me lo esperaba siendo slack ;)
post-instalación - modifiqué /etc/inittab para que inicie por default el X server (tendría que venir por defecto). - un init 4 y el xserver y kde se levantaron sin ningún problema, y detectando la resolución correctamente (1680x1050). genial. - me detectó el scroll del mouse!, si se que los que usan otras distros hace años que lo tienen, pero Patrick se negaba a entrar en la locura tecnológica de la ruedita del mouse :)
idioma
- montar el dvde instalar con "installpkg *es* /media/dvd/slackware64/kdei/" para el idioma de interfaz, e "installpkg *es* "/media/dvd/extra/aspell-word-lists" para el diccionario en español (luego cambiar en las preferencias del sistema"
KDE y su mundo de red
Siempre lo entendí a Patrick, y veo normal que no quiera meter mano dentro de las configuraciones de los programas (como la mayoría de las distros), y además, si no le mete man al kernel, los demas programas no son dignos! En fin, para mi, KDE siempre ha manejado por defecto la configuración de las redes MAL, siempre hay que configurarlas por otro lado, o no tiene correspondencia l configurado con lo que kde ve, en fin, un desastre (repito, sin que le hayan metido mano..malpensad@s :P).... en fin, antes de conectar como siempre (por consola) le doy una oportunidad mas a kde4, y me encuentro en "Preferencias del sistema" -> "Preferencias de red" -> "parámetros de red" un precioso mensaje para auyentar a newbies en linux
"could not parse XML file ()". Biútiful, ahi se nos va el eye-candy de kde4 al inodoro. El bug (confirmado por KDE) ronda desde febrero, y tiene un par de fantasmas a finales del 2008. Todavía estamos a la espera de una solución. por ahora me las arreglo con iwconfig.
La distro en si me encanta, siempre me ha gustado, que esté en 64 bits es lo que tocaba en estos momentos, y aqui lo tenemos, la velocidad es excepcional en 32, y en 64 es brillante.
para bajar las currents de slack.
ftp.slackware.no
salu2!
update: flash 10pre para 64bits: http://labs.adobe.com/downloads/flashplayer10.html (copiar libflashplayer.so a /usr/lib64/firefox-3.5.2/plugins/)
Ernesto posteó hace casi 6 meses, un Slack64 llamado BlueWhite64. Con la salida de Slackware 12.2, muchos sonrieron de alegría, pero otros no tanto, ya que nuestro querido Patrick Volkering, solo compila en 32bits.
Bajé la versión 12.2 de BW64, y aqui les comento mi experiencia:
Instalación la instalación entera tardó alrededor de 10 minutos, esto teniendo en cuenta que no reparticione, ni me puse a personalizar fstab, y que ya me conozco el instalador.
Configuración de red: El firmware para mi Wifi (Conceptronic C54U - driver rt73) viene en la distro, por lo tanto ya estaba ejecutandose. Para configurar la conexión wifi, copie los dos scripts, wifi.sh y arreglar-wifi.sh que había hecho hace un tiempo, los modifique (contraseña) y listo, ejecutando wifi.sh ya estaba conectado a la Internesss y sus tubos!.
Compatibilidad con 32bits Montar el DVD de instalación, e instalar todos los paquetes que hay dentro de "extra/IA32-emulation"
#upgradepkg --install-new *.tgz
Driver NVIDIA Baje el driver para Nvidia de 64bits y al instalarlo, le tuve que indicar que NO quería compatibilidad con OpenGL en 32bits... no se que supondrá, pero si no no me arrancaba kde por conflictos de librerías. Actualización: como bien indicó anónimo en el comentario, al final no tendría compatibilidad con aplicaciones GL en 32bits (prey, quake4,etc...) y para instalarlo tuve que especificar las siguientes opciones, y seleccionar que SI quería compatibilidad con 32bits. sh NVIDIA-blablabla.sh --x-prefix=/usr --x-module-path=/usr/lib/xorg/modules --compat32-libdir=lib32
Configuración de Xserver:
una vez instalado el driver, modifiqué /etc/X11/xorg.conf con el script de Nvidia, y agregue en la sección del mouse, que reconozca la rueda del ratón (dios, cuando lo pondrán por defectooo!!) y los botones del costado.
Como ya tenía Xserver configurado, edite /etc/inittab para setear el Default runlevel en 4, y que se ejecute automaticamente al iniciar el sistema. un startx y ya estaba en KDE. Flash v10 para x64: Aqui está el .tar.gz para instalar. copiar libflashplayer.so a /usr/lib/mozilla/plugins Particiones
siguiendo lo que poste hace un tiempo sobre montar particiones por UUID, con un ls -l /dev/disk/by-uuid/ me las arreglé para que se monte todo como debe ser, y quedó asi:
Vmware Workstation 6.5.1 64bits se instaló sin ningún problema, ni siquiera tuve que crear los rc.0/rc.6 (ya estaban creados). en /etc/rc.local agregue /etc/rc.d/init.d/vmware start
salu2 gente (los dejo con Joe Satriani - Revelation)
Me regalan una impresora multifunción hp psc 1350, (impresora y scanner) y ete aquí, que cuando lo conecté, /var/log/messages me mostró lo siguiente:
Oct 27 22:18:40 bita kernel: usb 3-2: new full speed USB device using ohci_hcd and address 7Oct 27 22:18:40 bita kernel: usb 3-2: configuration #1 chosen
"configuration #1 chosen from 1 choice" me sonó de otras veces y si, es precioso que te nombre los dispositivos a tu gusto.... pero en udev hay reglas predefinidas, y hay veces que no se sabe "qué ha hecho" udev con nuestros dispositivos.
Luego de iniciar el daemon de sane (saned) indiqué que me encontrara los scanners (sane-find-scanner) y se me informó que no se había detectado nada.
Siendo linux un sistema operativo que es mas restrictivo que permisivo en su estandar, y siendo slackware uno de los linux mas estándares, pensé en falta de privilegios para acceder al scanner y efectivamente, como root detectó el scanner:
# sane-find-scannerfound USB scanner (vendor=0x03f0 [hp], product=0x3b11 [psc 1300 series]) at libusb:003:007
y xsane fue capaz de escanear perfectamente... Por ende recordé cuando para mi primer scanner, se me indicó: "at /dev/sg0" y dije, bueno, lo mismo, permisos para el dev y ya está!
pero, como se muestra, ésta vez me informó: "at libusb:003:007", y ahi se quedó mi experiencia aprendida....
busqué un poco en las reglas de udev y encontre un archivo (80-libsane.rules) que debe contener alrededor de 600 reglas de identificación, todas con el mismo patrón:
Ok, un idVendor XXXX y un idProduct YYYY, otorgan permisos (0664) de lectura/escritura para root y para el grupo "scanner" y lectura para todos los demás (los scanners necesitan acceso de escritura para poder funcionar) Habiendo alrededor de 600 dispositivos, en un principio dudé que no estuviese ésta impresora, asique verifique el id de fabricante y producto (pego solo una parte de la salida):
# lsusb -v Bus 003 Device 007: ID 03f0:3b11 Hewlett-Packard PSC 1300 series Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x03f0 Hewlett-Packard idProduct 0x3b11 PSC 1300 series bcdDevice 1.00 iManufacturer 1 hp iProduct 2 psc 1300 series iSerial 3 HU3AFBQ30M9F
Ok, ahi tengo los datos, ahora al buscarlos en el archivo de reglas udev por vendorId:
y como usuario, al preguntar por scanners, tuve la grata respuesta: $ sane-find-scanner found USB scanner (vendor=0x03f0 [hp], product=0x3b11 [psc 1300 series]) at libusb:003:007
con xsane pude escanear algo, en otro post explico como escanear desde gimp. Salu2!
Veo en el blog de desarrollo de Flash para Linux, Penguin.swf que está disponible desde ayer Adobe Flash 10 para Linux. Esta versión tiene dependencias.
Bueno, aqui va como instalé Flash 10 en mi slack 12.05 (entre el 0 y el 1, slackpkg).
2. Bajar el .tar.gz 3. descomprimirlo 4. En mi caso, no utilicé el script de instalación, busqué todos archivos "libflashplayer.so" con locate, y los reemplacé con la nueva versión.
para reemplazar todos los archivos libflashplayer.so del sistema, se puede hacer lo siguiente (firefox se cierra al reemplazar) como root en la consola (en este caso parado en el directorio donde está la nueva versión del archivo)
# for arch in `locate libflashplayer.so`;do cp -vf libflashplayer.so $arch; done
5. Comprobación: en firefox, poner como dirección "about:plugins" y mirar la versión, la mia es:
# This is a blacklist file. Any packages listed here won't be # upgraded, removed, or installed by slackpkg. # # The correct syntax is: # # to blacklist the package xfree86-devel-4.3.0-i386-1 the line will be: # xfree86-devel # # DON'T put any blank line(s) or any space(s) before or after the package name. # If you do this, the blacklist will NOT work. # # Automated upgrade of kernel packages aren't a good idea (and you need to # run "lilo" after upgrade). If you think the same, uncomment the lines # below # #kernel-ide #kernel-modules #kernel-source #kernel-headers
# # aaa_elflibs can't be updated. # aaa_elflibs
# # Now we can blacklist whole directories # The two versions of udev inside that dir conflicts with # Slackware 11.0's default udev (in /slackware). /extra/udev-alternate-versions
Bueno, mi driver (rt73) de mi wifi usb (Conceptronic54RU) de vez en cuando deja de enviar y recibir datos, por lo cual, me veo obligado a bajar la interfaz, quitar y agregar los módulos y configurar nuevamente la conexión wifi. Anteriormente hice un post para configurar cuando linux inicia la conexión (cargar los módulos, levantar la interfaz y asignar ip por dhcp). Luego, hice otro post para explicar como ejecutar scripts periodicamente con cron, especificamente cada 1 minuto.
Bueno, pues aquí posteo el script arreglar_wifi.sh, que hace un ping al router wifi, si no responde, baja la interfaz, descarga los módulos de la nic wifi, borra el lease dhcp y ejecuta el script para configurar wifi. Cuando detecta que está caida la conexión, envía una alerta general con logger, por lo tanto, kde muestra una ventana con el mensaje.
# arreglar mi wifi cuando se cuelga # comprueba si llega al Default gateway, si no llega, baja: # - la IF # - los módulos relacionados con la NIC wificdd # - el lease dhcp # luego levanta con /usr/local/bin/wifi.sh # # Jorge Mestre - LugSaJu
# archivo de log archLog="/var/log/arreglar_wifi.log"
# función para escribir en el log escLog(){ local fecha=`date +%d/%m/%y\ %H:%M:%S`#fecha con formato: dd/mm/aa hh:mm:ss" lotexto="$1"# argumento con el que se llamo a la funcion, el texto que se quiere loguear echo"$fecha: $texto">>$archLog# redirigido al log # echo "$fecha: $texto" | tee -a $archLog # redirigido al log }# fin funcion
# $? equivale al número de error que deja el último comando ejecutado # 0 es exitoso
/bin/ping -c1$gateway1> /dev/null
if [$?-ne0];then escLog "gateway no responde, enviando una alerta a todo el sistema." /usr/bin/logger -p emerg "La conexión wifi se ha caido, comienza la restauración..." escLog "alerta enviada, todo el mundo se ha enterado."
escLog "comienza la restauración." # baja de la IF escLog "dando de baja la interfaz $int" /sbin/ifconfig $int down
# baja de los modulos for m in${modulos[@]};do /sbin/rmmod $m escLog "modulo $m quitado" done # borrado del lease dhcp escLog "borrando lease dhcp" /bin/rm $archdhcp # llamar al script de configuracion para que vuelva a configurar todo escLog "llamar al script de configuracion para que vuelva a configurar todo" escLog "el log del script de configuracion es /var/log/conexion_wifi.log" /usr/local/bin/wifi.sh
#comprobar si se restauró correctamente. /bin/ping -c1$gateway1> /dev/null
echo"pinggg $?" if [$?-ne0];then escLog "no se ha restaurado la conexión wifi" /usr/bin/logger -p emerg "No se pudo restaurar la conexión wifi..." else escLog "conexión wifi restaurada!" /usr/bin/logger -p emerg "conexión wifi restaurada!" fi fi
Para ejecutar una tarea cada minuto, utilizaremos crond, el daemon que lee las tareas programadas con crontab por cada usuario. en Slackware, crond se inicia en modo multiusuario (/etc/rc.d/rc.M). También Slack utiliza (por convención, no obligatoriamente) el comando run-parts, que sirve para ejecutar todos los scripts que se encuentren dentro de un directorio. Por defecto, en slack existen:
o sea, un directorio para cada hora, cada día, cada semana y cada mes.
por defecto, el usuario root tiene el siguiente crontab (crontab -l)
# Run hourly cron jobs at 47 minutes after the hour: 47 * * * * /usr/bin/run-parts /etc/cron.hourly 1> /dev/null # # Run daily cron jobs at 4:40 every day: 40 4 * * * /usr/bin/run-parts /etc/cron.daily 1> /dev/null # # Run weekly cron jobs at 4:30 on the first day of the week: 30 4 * * 0 /usr/bin/run-parts /etc/cron.weekly 1> /dev/null # # Run monthly cron jobs at 4:20 on the first day of the month: 20 4 1 * * /usr/bin/run-parts /etc/cron.monthly 1> /dev/null
la clave de la organización está en utilizar el comando run-parts, ya que podemos tener por ejemplo 10 tareas que se ejecuten diariamente (10 scripts dentro de /etc/cron.daily), y en crontab con la entrada que se muestra, sería suficiente (run-parts ejecutaría los scripts que encuentre en /etc/cron.daily)
Por ejemplo, si quiero crear una tarea que se ejecute cada 1 minuto (la unidad mínima de tiempo), podria hacer lo siguiente: * * * * * /usr/local/bin/scriptPrueba 1> /dev/null
y si tuviese que ejecutar otro script también cada 1 minuto, tendria que agregar
esto lo podemos organizar moviendo ambos scripts (o creando enlaces simbólicos, según se necesite) a un directorio /etc/cron.cada1minuto, y reemplazar las lineas creadas en cron por la siguiente:
si te desaparecen los dev vmnet*, un "workaround" es crearlos cuando reinicia el sistema (udev los borra al comprobar qué dispositivos existen, como vmware no está arrancado, no los crea).
root@bita:/# cat /etc/rc.d/rc.local /usr/local/bin/wifi.sh for a in `seq 0 9`; do mknod /dev/vmnet$a c 119 $a; done /etc/rc.d/rc.vmware start
en mi rc.local, la primera linea ejecuta un script para conectar la wifi, la 2º crea los dispositivos con un for la 3º arranca vmware
como aclaratorio al for:
para la variable "a" en 0,1,2,3,4,5,6,7,8,9 (le indicamos que a va a valer la 1º vez "0", la 2º vez "1", etc. los tildes invertidos "`", indican que el comando debe ser ejecutado, de hecho, seq es un comando (prueben en su shell: seq 0 5)
entonces, cuando "a" valga 0, el comando mknod creará /dev/vmnet0 c 119 0; cuando "a" valga 1, el comando mknod creará /dev/vmnet1 c 119 1; .. cuando "a" valga9, el comando mknod creará /dev/vmnet9 c 119 9;
Recuerden que si tienen particiones NTFS para montar y desmontar como usuario, deben agregar el bit-SUID al binario de ntfs-3g, para hacerlo, 2 formas (como root):
# whereis is ntfs-3g (o tambien # which /bin/ntfs-3g)
en el resultado, miramos el dir binario, y luego: # chmod u+s /bin/ntfs-3g
o para ahorrarnos una linea (y parecer mas geek :) # chmod u+s $(which /bin/ntfs-3g)
con la estructura $(operaciones), indicamos que haga todas las operaciones, y nos devuelva el resultado, como which devuelvve exactamente el path hacia ntfs-3g, lo podemos utilizar.
Buenas, tras actualizarse mi kernel luego de hacer un slackpkg --upgrade-all (todo tiene su lado oscuro :P) tuve que reinstalar el driver de NVIDIA (sin problemas) y luego hacer un vmware-config.pl para recompliar el módulo (el cual falló :'( ). en el blog de Carlos Cordero encontre un excelente post que aplica a cualquier distro (mas estandar que Slack no creo :P....) asique, aquí solo posteo el mensaje de error por si lo buscan (como busqué yo) y luego se pueden pasar por el blog de Carlos. salu2!
---- include/asm/bitops_32.h:9:2: error: #error only can be included directly make[2]: *** [/tmp/vmware-config2/vmmon-only/common/cpuid.o] Error 1 make[1]: *** _module_/tmp/vmware-config2/vmmon-only Error 2 make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-12-generic’ make: *** http://vmmon.ko Error 2 make: Leaving directory `/tmp/vmware-config2/vmmon-only’ Unable to build the vmmon module. -----
La forma recomendada de instalar MPlayer es compilando desde el código fuente.
Asi que será lo que tratemos en este mini tutorial, en Slackware instalar “Mplayer + Todos los codecs existentes ” es muy comodo ya que no requiere de dependencias añadidas que no vengan de serie en el sistema operativo.
NOTA: Los codecs de mplayer son solo para mplayer, no tienen efecto sobre otros reproductores.
Compilar Mplayer
$ tar -xvjf MPlayer-1.0rc2.tar.bz2 $ cd MPlayer-1.0rc2 $ ./configure –-codecsdir=/usr/local/lib/codecs –-prefix=/usr –-enable-gui –-enable-largefiles $ make # make install
Instalar el GUI de mplayer (Ejemplo con dos skins):
Al usar el comando gmplayer mostrará el skin “Ater” escogido para que sea el usado por defecto. Luego una vez arrancado “gmplayer” podremos cambiar de skin a “productive” o a cualquier otro que tengamos en el directorio /usr/share/mplayer/skins/
Swaret (SlackWARE Tool) es un programa para la distribución GNU/LinuxSlackware que resuelve dependencias y complemente el Sistema de gestión de paquetes de Slackware añadiendo características como resolución verdadera de dependencia de librerías, soporte de repositorios de terceras personas, soporte para http, rsync y ftp (en vez de sólo sistemas de ficheros, aunque debe notarse que no necesariamente el sistema de ficheros debe ser local, ver NFS, por ejemplo), logeo, etc.
Swaret fue escrito inicialmente por Luc Cottyn y fue originalmente llamado autopkg, pero cambió de nombre al actual debido a un conflicto con un programa preexistente. Swaret llegó a formar parte oficial de Slackware 3.1 hasta que en la versión 10.0 fue sacado de la distribución e incluido como un paquete aparte. El desarrollo actual del programa está a cargo de Michael Manry, pues Cottyn tuvo que dejar el proyecto tras un problema con el creador y desarrollador principal de Slackware, Patrick Volkerding. (Fuente Wikipedia)
Los que tengan slackware 12, habran notado que cuando intentas montar un pen drive con hal o un cd/DVD, sale un error de permisos en los que no nos permite montarlo y acceder a los datos..
Leo en Slackware y demas GNU este articulo donde hace un repaso de una configuracion de Slackware 12, posterior a su instalacion, dice el autor:
"Después de instalar Slackware en una partición limpia, ya me doy cuenta del gran trabajo que ha llevado para llegar a ser lo que es hoy Slackware, y siguiendo con la misma filosofía, Patrick nos deja los archivos de configuración listos para que nosotros los editemos con nuestros gustos."
En este post les indicaba (erroneamente pero funciona :P), que agregando la opción "users" a la linea del dispositivo en /etc/fstab dejaba de aparecer el siguiente mensaje: "A security policy in place prevents this sender from sending this message to this recipient, see message bus configuration file (rejected message had interface "org.freedesktop.Hal.Device.Volume" member "Mount" error name "(unset)" destination "org.freedesktop.Hal") Me di cuenta que no iba porque por ejemplo, no pude montar dispositivos que NO están en fstab (ups!) asique buscando, me encontré con que hay que agregar los usuarios al grupo "plugdev" (inclusive root!.... si es que ya no se puede ser ni Dios :P), reiniciar sesión y ya está. Funciona perfecto.