Problemas con claves públicas en mi Debian

Posted by on September 26, 2008

Autor: Salvador Osorio

Cuando queremos actualizar nuestros repositorios con el bien conocido

apt-get update

Y no tenemos las claves públicas de los repositorios beryl o debian-multimedia, por ejemplo, nos aparecerá el siguiente mensaje:

#Leyendo lista de paquetes… Hecho #W: GPG error: http://debian.beryl-project.org etch Release: Las firmas siguientes no se pudieron verificar porque su llave pública no está disponible: NO_PUBKEY 3FF0DB166A7476EA #W: GPG error: http://www.debian-multimedia.org stable Release: Las firmas siguientes no se pudieron verificar porque su llave pública no está disponible: NO_PUBKEY 07DC563D1F41B907 #W: Tal vez quiera ejecutar ‘apt-get update’ para corregir estos problemas

Los amigos de internet nos regalan un script y dan la siguiente solución, en una consola pegue el siguiente código:

cat > agregarclave << “FIN” #!/bin/bash until [ -z "$1" ] do gpg –keyserver pgpkeys.mit.edu –recv-key $1 gpg –keyserver wwwkeys.eu.pgp.net –recv-key $1 gpg -a –export $1 | sudo apt-key add - shift done FIN

lo que vera es

> #!/bin/bash > until [ -z "$1" ] > do > gpg –keyserver pgpkeys.mit.edu –recv-key $1 > gpg –keyserver wwwkeys.eu.pgp.net –recv-key $1 > gpg -a –export $1 | sudo apt-key add - > shift > done > FIN

presione {enter} para que vuelva al prompt nota: mi prompt es id01:/home/salvador#, id01 es el nombre de mi maquina y /home/salvador es el mi directorio de trabajo. para verificar, que se creo el archivo, escriba lo siguiente:

id01:/home/salvador# cat agregarclave

deberá aparecer lo siguiente:

#!/bin/bash until [ -z "$1" ] do gpg –keyserver pgpkeys.mit.edu –recv-key $1 gpg –keyserver wwwkeys.eu.pgp.net –recv-key $1 gpg -a –export $1 | sudo apt-key add - shift done id01:/home/salvador#

ahora le damos derechos de ejecución al archivo agregarclave

id01:/home/salvador# chmod +x agregarclave

con esto el script esta terminado solo tenemos que ejecutarlo con la clave que necesitamos de la siguiente manera

id01:/home/salvador# ./agregarclave 07DC563D1F41B907

NOTA: la clave 07DC563D1F41B907 es la que me pide a mi este dato cambiara para ustedes probablemente Y resolvemos el problema de las claves publicas, este es mi pequeño aporte, es bonito gnu/linux nos enseña a compartir el conocimiento, saludos

Comó instalar Java en Debian

Posted by on September 19, 2007

pues desde hace varios dias queria ponerme a hacer aplicaciones, pruebas y otras cosas en Java pero como a veces paso pajareando en otras cosas un dia si me propuse a hacer lo y con la ayuda del joven Xtecuan pude lograr echar a andar tomcat, por cierto ya tenia apache2 instalado en mi Debian Etch; aqui los pasos:

* de la pagina http://java.sun.com/javase/downloads/index.jsp bajar el JDK 6 Update 2, en mi caso baje el que dice “Linux self-extracting file (build 05) — jdk-6u2-linux-i586.bin”
* luego apt-get install libapache2-mod-jk y al final darle /etc/init.d/apache2 force-reload para habilitar el modulo.
* despues apt-get install tomcat5.5 libapache-mod-jk-doc y puede que luego de la instalacion de esos paquetes salga un mensaje como este; pero no es de preocuparse

Not creating home directory `/usr/share/tomcat5.5′.
Installing /var/lib/tomcat5.5/conf/tomcat-users.xml.
* Not starting Tomcat: no Java Development Kit found.
invoke-rc.d: initscript tomcat5.5, action “start” failed.
dpkg: error al procesar tomcat5.5 (–configure):
el subproceso post-installation script devolvió el código de salida de error 1
Se encontraron errores al procesar:
tomcat5.5
E: Sub-process /usr/bin/dpkg returned an error code (1)

* crear una carpeta de preferencia en /usr asi que mkdir /usr/java
* chown -R tomcat55:nogroup /usr/java
* copiar el .bin a /usr/java
* cd /usr/java
* chmod a+x *.bin
* ./jdk-6u2-linux-i586.bin
* despues de ese proceso darle chown -R tomcat55:nogroup /usr/java/jdk*
* editar el archivo /root/.bashrc y agregar estas lineas al final

export JAVA_HOME=/usr/java/jdk1.6.0_02
export JAVA_HOME=/usr/java/jdk1.6.0_02
export PATH=$JAVA_HOME/bin:$PATH

* desde la consola y como root digitar java -version

si todo va bien saldria algo como esto
java version “1.6.0_02″
Java(TM) SE Runtime Environment (build 1.6.0_02-b05)
Java HotSpot(TM) Client VM (build 1.6.0_02-b05, mixed mode, sharing)

* luego ejecutar apt-get -f install para ver si levanta Tomcat
* para saber en que puerto esta corriendo Tomcat ir a /etc/tomcat5.5 y editar o ver el archivo server.xml, buscar la parte donde dice Connector port; el numero que aparece ahi es el que esta asignado al puerto que se realizo en la instalacion, en teoria a estos momentos ya se puede accesar desde el navegador a http://localhost:8180, si solo se queda en blanco pues se va bien.
* para la administracion y unos ejemplos instalar esto; apt-get install tomcat5.5-admin tomcat5.5-webapps
* despues editar el archivo /var/lib/tomcat5.5/conf/tomcat-users.xml y agregar antes de esta linea
* luego /etc/init.d/tomcat5.5 restart
* crear un archivo llamado workers.properties en /etc/apache2/ y agregar estas lineas

workers.tomcat_home=/usr/share/tomcat5.5
workers.java_home=/usr/java/jdk1.6.0_02
ps=/
worker.list=worker1

worker.default.port=8009
worker.default.host=localhost
worker.default.type=ajp13
worker.default.lbfactor=1

* crear un archivo llamado mod_jk.conf en /etc/apache2/ y agregar estas lineas

#LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so

# Where to find workers.properties
JkWorkersFile /etc/apache2/workers.properties

# Where to put jk logs
JkLogFile /var/log/apache2/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the log format
JkLogStampFormat “[%a %b %d %H:%M:%S %Y] ”

# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format
JkRequestLogFormat “%w %V %T”

# Send servlet for context / jsp-examples to worker named worker1
JkMount /jsp-examples worker1
# Send JSPs for context /jsp-examples/* to worker named worker1
JkMount /jsp-examples/* worker1

* Editar el archivo /etc/apache2/apache2.conf y agregar esta linea al final

Include /etc/apache2/mod_jk.conf

* Para finalizar para apache /etc/init.d/apache2 stop y volverlo a levantar /etc/init.d/apache2 start; luego entrar a http://localhost/jsp-examples/ y la integracion ya esta hecha y funcionando

Filtrando contenido web por medio de proxy transparente

Posted by on July 18, 2007

Autor:  Carlos Torrento

Objetivo: Tener un servidor dhcp que filtre contenido web y que sirva como router para accesar a internet a través de el.
lo obtendrá al final seria un servidor dhcp con proxy transparente.

Nota: tengo eth0:192.168.0.3 # acceso a mi red con internet
eth1:192.168.2.1 # acceso de mi red
-> Que necesito.
1) acceso a internet (obvio), 2 tarjetas de red y debían por su puesto.

2) Instalar dhcp3-server, squid, dansguardian, iptables

como?

# apt-get install squid
# apt-get install dansguardian
# apt-get install iptables
# apt-get install dhcp3-server

y ahora?

Lo primero que hice y lo más fácil es configurar mi /etc/dhcp/dhcpd.conf
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;

subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.3 192.168.2.250;
option domain-name-servers 200.85.0.104;
option domain-name-servers 200.85.0.107;
option domain-name “tuxito.net”;
option routers 192.168.2.1;
option broadcast-address 192.168.2.255;
default-lease-time 600;
max-lease-time 7200;
}
Con esta configuración lo que estamos haciendo es que estamos asignando ip´s dinámicas desde la 192.168.0.3 hasta la 192.168.2.250 con netmask 255.255.255.0,
DNS 200.85.0.104 y 200.85.0.107, como puerta de enlace la 192.168.2.1 y un broadcast de 192.168.2.255.

3) Ahora procedemos a configurar el /etc/squid/squid.conf
visible_hostname proxy
http_port 3128 transparent
#We recommend you to use at least the following line.
hierarchy_stoplist cgi-bin ?
#We recommend you to use the following two lines.
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
# Apache to signal ETag correctly on such responses
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
#  To log the request via syslog specify a filepath of “syslog”
access_log /var/log/squid/access.log squid
#Default: hosts_file /etc/hosts
hosts_file /etc/hosts
#Suggested default:
refresh_pattern ^ftp:        1440    20%    10080
refresh_pattern ^gopher:    1440    0%    1440
refresh_pattern .        0    20%    4320
#Recommended minimum configuration:
acl mired src 192.168.0.0 192.168.2.0/255.255.255.0 #agregamos nuestras redes
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443        # https
acl SSL_ports port 563        # snews
acl SSL_ports port 873        # rsync
acl Safe_ports port 80        # http
acl Safe_ports port 21        # ftp
acl Safe_ports port 443    # https
acl Safe_ports port 70        # gopher
acl Safe_ports port 210    # wais
acl Safe_ports port 1025-65535    # unregistered ports
acl Safe_ports port 280        # http-mgmt
acl Safe_ports port 488        # gss-http
acl Safe_ports port 591        # filemaker
acl Safe_ports port 777        # multiling http
acl Safe_ports port 631        # cups
acl Safe_ports port 873        # rsync
acl Safe_ports port 901        # SWAT
acl purge method PURGE
acl CONNECT method CONNECT

# Only allow cachemgr access from localhost
http_access allow mired #damos acceso a nuestras redes
http_access allow localhost
http_access allow manager localhost
http_access deny manager
http_access deny all
# Only allow purge requests from localhost
http_access allow purge localhost
http_access deny purge
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
#http_access allow our_networks
http_access allow localhost
# And finally deny all other access to this proxy
http_access deny all
# and finally allow by default
http_reply_access allow all
#Allow ICP queries from everyone
icp_access allow all
#  TAG: cache_effective_group
#    If you want Squid to run with a specific GID regardless of
#    the group memberships of the effective user then set this
#    to the group (or GID) you want Squid to run as. When set
#    all other group privileges of the effective user is ignored
#    and only this GID is effective. If Squid is not started as
#    root the user starting Squid must be member of the specified
#    group.
#cache_effective_group proxy
# Nota: debo de crear un usuario squid y un grupo squid
#agregamos el usuario y el grupo con que va a trabajar
cache_effective_user squid
cache_effective_group squid
Con esto tendríamos configurado en dhcp y el squid

4) ahora vamos a configurar el dansguardian :)
Como son un montón de líneas solo mostrare las de configuración:
# DansGuardian config file for version 2.8.0 with Anti-Virus plug-in 6.4.3
# **NOTE** as of version 2.7.5 most of the list files are now in dansguardianf1.conf
#UNCONFIGURED - Please remove this line after configuration
reportinglevel = 3
languagedir = ‘/etc/dansguardian/languages’
language = ’spanish’
loglevel = 3
logexceptionhits = on
logfileformat = 1
loglocation = ‘/var/log/dansguardian/access.log’
filterip = 192.168.0.3
filterport = 8080
proxyip = 192.168.0.3
proxyport = 3128
accessdeniedaddress = ‘http://localhost/’
nonstandarddelimiter = on
usecustombannedimage = 1
custombannedimagefile = ‘/etc/dansguardian/transparent1×1.gif’
filtergroups = 1
filtergroupslist = ‘/etc/dansguardian/filtergroupslist’
bannediplist = ‘/etc/dansguardian/bannediplist’
exceptioniplist = ‘/etc/dansguardian/exceptioniplist’
banneduserlist = ‘/etc/dansguardian/banneduserlist’
exceptionuserlist = ‘/etc/dansguardian/exceptionuserlist’
bannedurllist = ‘/etc/dansguardian/bannedurllist’
exceptionurllist = ‘/etc/dansguardian/bannedurllist’
showweightedfound = on
weightedphrasemode = 2
urlcachenumber = 3000
urlcacheage = 900
phrasefiltermode = 2
preservecase = 0
hexdecodecontent = 0
forcequicksearch = 0
reverseaddresslookups = off
reverseclientiplookups = off
createlistcachefiles = on
maxuploadsize = -1
maxcontentfiltersize = 256
usernameidmethodproxyauth = on
usernameidmethodntlm = off # **NOT IMPLEMENTED**
usernameidmethodident = off
preemptivebanning = on
forwardedfor = off
usexforwardedfor = off
logconnectionhandlingerrors = on
maxchildren = 120
minchildren = 8
minsparechildren = 4
preforkchildren = 6
maxsparechildren = 32
maxagechildren = 500
ipcfilename = ‘/tmp/.dguardianipc’
urlipcfilename = ‘/tmp/.dguardianurlipc’
nodaemon = off
nologger = off
softrestart = off
# ANTIVIRUS SETTINGS
# ——————–
virusscan = on
virusengine = ‘clamav’
tricklelength = 32768
forkscanlength = 32768
firsttrickledelay = 10
followingtrickledelay = 10
maxcontentscansize = 41904304
virusscanexceptions = on
urlcachecleanonly = on
virusscannertimeout = 60
notify = 0
emaildomain = ‘your.domain.com’
postmaster = ‘postmaster@your.domain.com’
emailserver = ‘127.0.0.1:25′
downloaddir = ‘/tmp/dgvirus’
# CLAMAV SETTINGS
# ——————–
clmaxfiles = 1500
clmaxreclevel = 3
clmaxfilesize = 10485760
clblockencryptedarchives = off
cldetectbroken = off
# CLAMDSCAN SETTINGS
# ——————–
clamdsocket = ‘/tmp/clamd’
# KASPERSKY 5 SETTINGS
# ——————–
avesocket = ‘/var/run/aveserver’
# TROPHIE SETTINGS
# ——————–
trophiesocket = ‘/var/run/trophie’
# SOPHIE SETTINGS
# ——————–
sophiesocket = ‘/var/run/sophie’
# ICAP SETTINGS (experimental)
# —————————-
icapsocket = ‘localhost:1344′

# OPTION: icapservice
icapservice = ‘icap://localhost/avscan’
daemonuser = ’squid’
daemongroup = ’squid’
bueno ya con eso tendriamos el dansguardian configurado(nota:_ aquí le agregue el usuario y grupo que tuve que haber creado “squid”)
5) acontinuacion les muestro el script con iptables que funciona para bloquear puertos y redireccionar el trafico.
#!/bin/sh

# squid server IP
SQUID_SERVER=”192.168.0.3″

# Interface connected to Internet
INTERNET=”eth0″
# Interface connected to LAN
LAN_IN=”eth1″
# Squid port
SQUID_PORT=”3128″
# DO NOT MODIFY BELOW
# Clean old firewall
iptables –F
iptables –X
iptables -t nat –F
iptables -t nat –X
iptables -t mangle –F
iptables -t mangle –X
# Load IPTABLES modules for NAT and IP conntrack support
modprobe ip_conntrack
modprobe ip_conntrack_ftp
# For win xp ftp client
#modprobe ip_nat_ftp
echo 1 > /proc/sys/net/ipv4/ip_forward
# Setting default filter policy
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
# Unlimited access to loop back
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# Allow UDP, DNS and Passive FTP
iptables -A INPUT -i $INTERNET -m state –state ESTABLISHED,RELATED -j ACCEPT
# set this system as a router for Rest of LAN
iptables –table nat –append POSTROUTING –out-interface $INTERNET -j MASQUERADE
iptables –append FORWARD –in-interface $LAN_IN -j ACCEPT
# unlimited access to LAN
iptables -A INPUT -i $LAN_IN -j ACCEPT
iptables -A OUTPUT -o $LAN_IN -j ACCEPT
# DNAT port 80 request comming from LAN systems to squid 3128 ($SQUID_PORT) aka #transparent proxy
iptables -t nat -A PREROUTING -i $LAN_IN -p tcp –dport 80 -j DNAT –to $SQUID_SERVER:8080
# if it is same system
iptables -t nat -A PREROUTING -i $INTERNET -p tcp –dport 80 -j REDIRECT –to-port $SQUID_PORT
# DROP everything and Log it
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP
lo guardamos proxy.sh
y le asignamos permisos de ejecucion # chmod +x proxy.sh
para correrlo seria #sh proxy.sh

6) como ultimo paso para bloquear las urls o expresiones, nos descargarnos la blacklist de http://urlblacklist.com/ la descomprimimos en /etc/dansguardian/
Y eso seria todo ya tenemos un servidor dhcp con proxy transparente.
Espero que les sirva tanto como a mi.

Cualquier corrección hacérmela saber a cltorrento AT gmail.com o tuxito AT linuxmail.org

Filtrando contenido (squid+dansguardian+iptables)

Posted by on April 30, 2007

Después de un par de años de usar Squid+SquidGuard para filtrar contenido en una pequeña red, ahora por ciertas recomendaciones y algunos problemas, decidí instalar Dansguardian y a continuación expongo lo sucedido.

Para contextualizar el asunto, tengo que mencionar que tengo bajo mi responsabilidad 12 estaciones de trabajo a las que (por iniciativa propia) se les debe permitir el acceso a Internet. Considerando que trabajo en una institución educativa, estas estaciones serán utilizadas por alumnos que no deben tener acceso a cierta información y/o ciertas aplicaciones prohibidas por mi persona (y mis criterios arbitrarios :D).

Así que bueno, la cuestión consistía en:
1. Filtrar contenido
2. Prohibir aplicaciones de mensajería instantánea (MSN Messenger ante todo)
3. Poner a funcionar un Web Proxy Cache
4. Además el proxy debe ser transparente

Haciendo que las cosas sucedan…

Después de tener el sistema básico de mi Debian Etch funcionando y teniendo mis dos tarjetas de red configuradas con dos direcciones IP de clases distintas hacemos lo siguiente:

eth0 = 192.168.2.35 (parte de la red institucional)
eth1 = 172.16.1.1 (parte de mi pequeña red)

Instalamos lo necesario, Squid, Dansguardian y asumo que ya esta instalado Iptables :)

apt-get install squid dansguardian

Ahora editamos el /etc/squid.conf buscando las directivas minimas que deben ser configuradas:

http_port 3128 transparent
acl multinet src 172.16.1.0/24
http_access allow multinet
http_access deny all

Nos podemos percatar que la longitud de este archivo ronda las 4350 lineas asi que el tunning de Squid lo dejamos para después.

Ahora nos dedicamos al Dansguardian, /etc/dansguardian/dansguardian.conf y lo primero es comentar o borrar esta linea:

#UNCONFIGURED - Please remove this line after configuration :D

Luego continuamos…

reportinglevel = 0
language = ’spanish’
loglocation = ‘/var/log/dansguardian/access.log’
filterip = 172.16.1.1 #La IP de la interfaz en la que el Dansguardian escuchará
filterport = 8080 #El puerto en el que trabajara Dansguardian
proxyip = 172.16.1.1
proxyport = 3128 #El puerto en el que funciona Squid

Importante definir las listas de “cosas” prohibidas, como formatos de archivos, urls y demás, aunque estas opciones por defecto vienen activadas al igual que otras más.

bannedextensionslist = ‘/etc/dansguardian/bannedextensionslist’
bannediplist = ‘/etc/dansguardian/bannediplist’
banneduserlist = ‘/etc/dansguardian/banneduserlist’

Evito hacer mención de un montón de opciones mas que cada quien puede configurar a su gusto en dichos archivos de configuración al igual que la utilización de blacklists adicionales.

Ahora con iptables hacemos lo siguiente:

#Haciendo NAT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo “1″ > /proc/sys/net/ipv4/ip_forward

#Redireccionamos el tráfico al puerto 8080 del Dansguardian
iptables -t nat -A PREROUTING -i eth1 -s 172.16.1.0/24 -d ! 172.16.1.0/24 -p tcp –dport 80 -j REDIRECT –to-port 8080

#Bloqueando el puerto del MSN Messenger
iptables -t filter -A FORWARD -s 0.0.0.0/0 -p tcp –sport 1863 -j REJECT
iptables -t filter -A FORWARD -s 0.0.0.0/0 -p udp –sport 1863 -j REJECT

Luego podríamos guardar esas lineas en un archivo (digamos, nat), lo mandamos a /etc/init.d/, le asignamos permisos de ejecución (chmod 755 nat) y para ejecutarlo al iniciar el sistema hacemos un enlace simbólico en el /etc/rc2.d/ (o según el runlevel por defecto en nuestra distro).

ln -s /etc/init.d/nat /etc/rc2.d/S60nat

Ese numero que acompaña la letra S es aleatorio, pero obviamente tiene que ser superior al asignado a Squid y Dansguardian.

Ahora reiniciamos Squid para que las nuevas configuraciones hagan efecto

/etc/init.d/squid restart

Y lo mismo con Dansguardian (esto puede tardar un ratito)

/etc/init.d/dansguardian restart

Y por supuesto ejecutamos el archivo para hacer el NAT de no haberlo hecho antes

./etc/init.d/nat

Si todo va bien y no me he equivocado en algun paso, tendriamos un proxy transparente filtrando contenido con Dansguardian y Squid para el cache.

Configurar GRUB con una apariencia más amigable

Posted by on April 10, 2007

Un poco de historia

El Gestor de arranque Grub se ha convertido en el estándar luego de reemplazar a lilo, el cual se puede considerar como su padre.

Pero la apariencia de Grub (letras blancas sobre fondo negro) no es muy atractiva, por lo que un desarrollador de Conectiva (una distribución) se dio la tarea de crear un parche vga 16 para el grub.

El resultado de ese parche se muestra en la siguiente figura:

Grub grafico

Los requisitos para la imagen son los siguientes:

  • Archivo de tipo xpm.gz
  • Resolución 640×480
  • 14 colores

Manos a la obra

Primero debemos de conseguir un archivo con extensión *.xpm.gz , por ejemplo de los siguientes links:

O si somos valientes podemos utilizar el comando convert de ImageMagick para experimentar con nuestras propias imágenes:

convert -resize 640×480 -colors 14 image.png image.xpm && gzip image.xpm

Luego copiamos el archivo en el directorio que queramos, por ejemplo /boot/grub/imagenes

Por último agregamos la siguiente línea al archivo /boot/grub/menu.lst, en Debian esta línea esta comentariada así que la buscamos y modificamos con nuestro editor favorito dejandola como a continuación

splashimage=(hd0,3)/boot/grub/imagenes/Debian_Ent.xpm.gz

Hay que tomar nota que el hd0,3 debe de estar de acuerdo a donde reside /boot, y básicamente es el mismo hdx del kernel en ejecución.

Reiniciamos y voilà! tenemos un bonito grub

Utilizando Sony Walkman NW-E003F en Debian (Contribucion de Salvador Osorio)

Posted by on February 5, 2007

Bueno para empezar creo que ya se dieron cuenta que Sony no tiene soporte para Linux, pero gracias a la gente solidaria ya tenemos un software libre para solventar esta necesidad pueden descargar el .jar de la siguiente direccion:

http://sourceforge.net/projects/nwe00xmp3man/

Se supone que funciona para las series Sony NW-E00x en mi caso ha funcionado muy bien.

Coloque el mp3 player en el puerto usb de la pc.

Instalamos el ffmpeg que es el encoder de audio y video

produccion:/home/salvador# apt-get install ffmpeg

Un ls para asegurarse que la pc reconocio el mp3 player

produccion:/home/salvador# ls /media/usbdisk/
OMGAUDIO playersize.txt podcasts.txt
produccion:/home/salvador#

Nos pasamos al directorio donde esta montado el mp3 player y ejecutamos el jar que descargamos.

produccion:/home/salvador# cd /media/usbdisk/
produccion:/media/usbdisk# /opt/SDK/jdk/jre/bin/java -jar /home/salvador/sony/NW-E00X_MP3_File_Manager-0.12.jar &

Veran la siguiente ventana la parte de arriba es la ubicacion donde tienen su musica en la pc y en la parte de abajo veran la musica que tiene su mp3 player el resto es un poco mas intuitivo.

NW-E00x
Como ultimo paso despues de habernos salido de la aplicacion, desmontamos el mp3 player de la siguiente forma:

produccion:/home/salvador# cd /home/salvador/
produccion:/home/salvador# umount /media/usbdisk/

Saludos espero que les sirva.

Configurar Grub en debian Etch despues de haber cambiado el orden de las particiones (Contribución Salvador Osorio)

Posted by on February 5, 2007

Esta es la segunda vez que me sucede. Este problema me ha dado porque he
instalado windows (he instalado ese sistema operativo porque mi esposa
necesita utilizar la computadora y no le gusta utilizar el openoffice)
despues de haber instalado gnu/linux. Les recomiendo que cuando se vean en esta situacion hagan las respectivas copias de seguridad porque con windows no se sabe que pasara.

La situacion es la siguiente la laptop con la que estoy trabajando es una
Dell XPS m140 tenia instalado Debian Etch el orden de las particiones era el
siguiente:

/home/ ==> /dev/sda1
swap ==> /dev/sd2
/ ==> /dev/sda3

Y tenia un espacio en disco sin particionar es alli donde instale el otro
sistema operativo, cualquier persona se podria imaginar que para instalar
ese sistema operativo es necesario solo una particion, ¡Sorpresa! no es asi,
no se puede crear una particion en este caso, tube que eliminar mi particion
swap para poder crear la particion que necesita el sistema operativo ese, en
fin despues de eso lo instale.

Como pueden suponer para restaurar mi debian tenia que crear nuevamente mi swap, entoces entre con un disco de rescate y al revisar las particiones me di cuenta que el orden habia cambiado, cree mi swap y mi sistema quedo de la siguiente manera:

/home/ ==> /dev/sda1
/ ==> /dev/sda2
otro sistema ==> /dev/sd3
swap ==> /dev/sd4

Noten que mi / (root) cambio de /dev/sda3 hacia /dev/sda2 que es la
particion donde estaba el grub y la swap quedo en otra posicion tambien.

A continuacion escribo los pasos a seguir para modificar los archivos del
sistema para que cargue correctamente.

1. Ingresar a la maquina con el primer disco de instalacion de debian etch
en modo de rescate, para el caso de mi laptop utilizo una opcion mas porque
tengo un cd-rom un poco especial.

boot: recue libata.atapi_enabled=1

2. Levantar la particion donde esta el grub en este caso es /dev/sda. Nos pasamos a la consola que nos proporciona debian con la siguiente
combinacion de teclas [control]+[alt]+[f1]

Creamos un directorio para levantar la particion

mkdir /temp

Montamos la particion

mount /dev/discs/disc0/part2 /temp

NOTA: es importante utilizar el formato anterior para levantar la particion
porque lo intente /dev/sda2 y no me funciono si alguien puede hacerme la
aclaracion de este punto se lo agradecere

Hacemos un chroot a la particion montada en /temp

chroot /temp

Ingresamos al grub

#grub

Indicamos el disco y particion raiz del grub

grub> root (hd0,1)
Filesystem type is ext2fs, partition type 0×83

Para este caso el disco cero (hd0) corresponde /dev/sda y el numero 1
corresponde a la segunda particion /dev/sda2 (el grub cuenta desde cero).

Configuramos el grub con el siguiente comando, luego salimos del grub.

grub> setup (hd0)
Checking if “/boot/grub/stage1″ exists… yes
Checking if “/boot/grub/stage2″ exists… yes
Checking if “/boot/grub/e2fs_stage1_5″ exists… yes
Running “embed /boot/grub/e2fs_stage1_5 (hd0)”… 15 sectors are
embedded.
succeeded
Running “install /boot/grub/stage1 (hd0) (hd0)1+15 p
(hd0,0)/boot/grub/stage2
/boot/grub/menu.lst”… succeeded
Done.
grub> quit

Finalmente modificamos los archivos menu.lst y fstab de la siguiente manera

vi /boot/grub/menu.lst

title Debian GNU/Linux, kernel 2.6.18p01
root (hd0,1)
kernel /boot/vmlinuz-2.6.18p01 root=/dev/sda2 ro
initrd /boot/initrd.img-2.6.18p01
savedefault

title Debian GNU/Linux, kernel 2.6.18p01 (single-user mode)
root (hd0,1)
kernel /boot/vmlinuz-2.6.18p01 root=/dev/sda2 ro single
initrd /boot/initrd.img-2.6.18p01
savedefault

## Otro sistema operativo
title Otro OS
root (hd0,2)
makeactive
chainloader +1

Cambie el parametro root=/dev/sda2
por la particion adecuada

vi /etc/fstab

# /etc/fstab: static file system information.
#
#

proc /proc proc defaults 0 0
/dev/sda2 / ext3 defaults,errors=remount-ro 0 1
/dev/sda1 /home ext3 defaults,errors=remount-ro 0 1
/dev/sda4 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0

Gforce FX 5200x en Debian Etch (contribución Jorge Chavez)

Posted by on January 11, 2007

Atendiendo al modelo tradicional que si me ayudan a realizar una configuracion y para cuando lo vuelva hacer exista un antecedente histórico de como resolver el problema aquí queda el howto de como configurar una Nvidia gforce de 256 MB.

Paso 1: Verificar que distribucion y version del kernel se tiene, para lo cual usaremos el comando uname -r

$ uname -r

2.6.18-3-k7

en mi caso tengo el kernel 2.6.18-3-k7, es decir se necesitan las cabeceras para un linux de esa misma version.

Paso 2: Buscando las cabeceras ideales.

Para no escribir de nuevo el 2.6.18-3-k7 escribiremos el siguiente comando (aportado por msamour_ )

# apt-cache search linux-headers-$(uname -r)

linux-headers-2.6.18-3-k7 - Header files for Linux 2.6.18 on AMD K7

en la busqueda nos devuelve las cabeceras que necesitamos para lo cual las instalamos con : # apt-get install linux-headers-2.6.18-3-k7

Paso 3: Bajando el driver de la tarjeta de video.

Visitamos la pagina de nvidia, en la url:

http://us.download.nvidia.com/XFree86/Linux-x86/1.0-9746/

NVIDIA-Linux-x86-1.0-9746-pkg1.run

y bajamos el driver, no necesariamente tienen que bajar el driver de la tarjeta de video despues de bajar y instalar las cabeceras puede ser antes, esto era solo para definir un orden.

Paso 4: es importante tener las librerias o paquetes siguientes:

Las librerias libc-dev , las librerias xserver-xorg-dev, el paquete pkg-config,

para lo cual las pueden buscar con apt-cache search y luego instalarlas con

apt-get install

# apt-get install libc-dev

# apt-get install xserver-xorg-dev

# apt-get install pkg-config

si les dice que los paquetes o librerias ya tan instaladas, den gracias que no se van a matar por eso y continuamos con el siguiente paso.

Paso 5: Darle permisos de ejecucion al archivo NVIDIA-Linux-x86-1.0-9746-pkg1.run

# chmod +x NVIDIA-Linux-x86-1.0-9746-pkg1.run

luego

lo siguiente tiene que ser realizado desde modo consola y con el modo grafico parado para lo presionamoso control +alt + f1, para pasarnos a una consola y entrar como root

# /etc/init.d/gdm stop

luego

en el directorio donde se encuentra el driver de la tarjeta de video presionar
# CC=gcc-4.0
y despues
# export CC
# ./NVIDIA-Linux-x86-1.0-9746-pkg1.run

Aparecerá una pantalla donde carga el driver, y continuen con los pasos, y si tiene todo como se describe en hora buena tendras configurada tu tarjeta de video..

Agradecimientos a:

msamour_ (Mauricio Samour)

rmayorga (Rene Mayorga)

emonge (Enrique Monge)

elsimio (el mas vivo….)

18 Pasos para configurar la Intel PRO/Wireless 3945ABG Network Connection(contribución Jorge Chavez)

Posted by on January 2, 2007

Bueno, despues de muchos intentos y casi todos fallidos, mi buen amigo mau_sv, amanecio de buenas y me paso un howto de como configurar mi tarjeta inalambrica:

Paso 1. Verificar el tipo de tarjeta ilambrica que tenia escribiendo un lspci -v

detallando nada mas la tarjeta inalambrica mostro estos datos.

06:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)

Subsystem: Intel Corporation Unknown device 1050

Flags: bus master, fast devsel, latency 0, IRQ 185

Memory at cc000000 (32-bit, non-prefetchable) [size=4K]

Capabilities: [c8] Power Management version 2

Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-

Capabilities: [e0] Express Legacy Endpoint IRQ 0

Capabilities: [100] Advanced Error Reporting

Capabilities: [140] Device Serial Number 9d-0a-90-ff-ff-02-13-00

luego comence el tutorial que me habia pasado mau_sv.

Paso 2: Bajar las cabeceras y el paguete wireless-tools.

$ su

# apt-get install linux-headers-$(uname -r) wireless-tools

Paso 3: Descargamos la última versión de las fuentes del modulo ieee80211

de http://ieee80211.sourceforge.net/ y descomprimimos el fichero descargado.

su mv ieee80211-1.1.14.tgz /usr/src cd /usr/src tar xvfz ieee80211-1.1.14.tgz cd ieee80211-1.1.14

Paso: 4  Hay que comprobar que no tenemos varias versiones anteriores del modulo

que puedan ser cargadas por modprobe, para ello.

# find /lib/modules/$(uname -r)/ -name ieee80211*

Paso 5:  Si nos devuelve algo eliminamos dichos modulos.

. remove-old

Paso 6: Compilamos el modulo e instalamos.

# make

# make install

Paso 7: Descargamos el driver ipw3945 de http://ipw3945.sourceforge.net/

y descomprimimos el fichero descargado.

$ su

# mv ipw3945-1.0.12.tgz /usr/src

# cd /usr/src # tar xvfz ipw3945-1.0.12.tgz

# cd ipw3945-1.0.12

Paso 8: Compilamos el modulo.

# make

# cd ..

Paso 9: Descargamos el firmware y lo instalamos.

# wget http://bughost.org/ipw3945/ucode/ipw3945-ucode-1.13.tgz

# tar xvfz ipw3945-ucode-1.13.tgz

# cd ipw3945-ucode-1.13

# cp ipw3945.ucode /lib/firmware/

# cd ..

Paso 10: Descargamos el demonio de control y lo instalamos.

# wget http://bughost.org/ipw3945/daemon/ipw3945d-1.7.22.tgz

# tar xvfz ipw3945d-1.7.22.tgz

# cd ipw3945-1.7.22

Paso 11:      Para sistemas 32bits

# cp x86/ipw3945d /sbin

# cd ..

Para sistemas de 64 bits.

# cp x86_64/ipw3945d /sbin # cd ..

Paso 12: Cargamos el modulo y el demonio de control mediante el siguiente script.

# cd ipw3945-1.0.12

# ./load debug=0

Paso 13: Comprobamos el estado de la nueva interfaz de red.

# iwconfig eth1

en mi caso no me funciono con la eth1 si no que con la eth2,

trastiando le di un iwconfig y me mostraba cuales eran las interfaces algo similar a esto:

# iwconfig

lo no wireless extensions.

eth0 no wireless extensions.

eth1 no wireless extensions.

sit0 no wireless extensions.

eth2 IEEE 802.11g ESSID:”Turbo”

Mode:Managed Frequency:2.412 GHz Access Point: 00:11:F5:5D:70:CF

Bit Rate:54 Mb/s Tx-Power:15 dBm

Retry limit:15 RTS thr:off Fragment thr:off

Encryption key:7475-7262-6F Security mode:open

Power Management:off

Link Quality=89/100 Signal level=-43 dBm Noise level=-44 dBm

Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0

Tx excessive retries:0 Invalid misc:412 Missed beacon:0

Como se podran dar cuenta mi proveedor de servicios es Turbonett, entonces recomiendo probar este comando primero

para ver que eth es la que le reconoce si la eth1, eth2 o la que aparezca en su equipo. por lo cual al ejecutar el comando devolvio :

# iwconfig eth2

eth2 IEEE 802.11g ESSID:”Turbo”

Mode:Managed Frequency:2.412 GHz Access Point: 00:11:F5:5D:70:CF

Bit Rate:54 Mb/s Tx-Power:15 dBm

Retry limit:15 RTS thr:off Fragment thr:off

Encryption key:7475-7262-6F Security mode:open

Power Management:off

Link Quality=90/100 Signal level=-43 dBm Noise level=-44 dBm

Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0

Tx excessive retries:0 Invalid misc:417 Missed beacon:0

Paso 14: Para automatizar la carga del modulo.

# cp ipw3945.ko /lib/modules/$(uname -r)

# depmod -a

Paso 15: Para automatizar la carga del demonio podemos usar el siguiente script.

#!/bin/bash  DAEMON=/sbin/ipw3945d NAME=ipw3945d case “$1″ in         start)

echo “Starting $NAME …”                 $DAEMON –quiet                  ;;         stop)

echo “Stopping $NAME …”                 $DAEMON –kill                 ;;         restart)

echo “Stopping $NAME …”                 $DAEMON –kill                 sleep 5                 echo “Starting $NAME …”

$DAEMON –quiet                  ;;         *)                 echo “Usage $0 start|stop|restart”                 exit 1

;; esac  exit 0

Lo colocamos en /etc/init.d/ipw3945d

Paso 16: le damos permisos de ejecución y creamos los enlaces simbólicos para cada nivel de ejecución.

$ su

# chmod a+x /etc/init.d/ipw3945d

# ln -s /etc/init.d/ipw3945d /etc/rc1.d/K20ipw3945d

# ln -s /etc/init.d/ipw3945d /etc/rc2.d/S20ipw3945d

# ln -s /etc/init.d/ipw3945d /etc/rc3.d/S20ipw3945d

# ln -s /etc/init.d/ipw3945d /etc/rc5.d/S20ipw3945d

# ln -s /etc/init.d/ipw3945d /etc/rc6.d/K20ipw3945d

Paso 17: Con los pasos anteriores, la próxima vez que arranquemos el sistema

el módulo y el demonio se habrán cargado automáticamente, ahora podemos

conectarnos a nuestra red wireless.

iwlist eth1 scanning

iwconfig eth1 essid $ESSID channel $CHANNEL mode managed key $KEY

dhclient eth1

en mi caso fueron con la eth2, y como mi proveedor de servicios es turbonet usa claves wep, entonces la configuracion la hice desde modo grafico para la tarjeta inalambrica, le di click en

Escritorio > Administracion y Luego Red:

y cambie las preferencias del dispositivo de red inalambrica agregando la clave web y haciendo que esta tomare una ip mediante el dhcp.

Paso 18: comprabamos la disponibilidad de internet desde la tarjeta wireless

# ping www.yahoo.com

PING www.yahoo-ht2.akadns.net (209.73.186.238) 56(84) bytes of data.

64 bytes from f1.www.vip.re3.yahoo.com (209.73.186.238): icmp_seq=1 ttl=50 time=137 ms

Generando un “select” en HTML con BASH Script

Posted by on October 22, 2006

Con la necesidad de generar un trozo de código HTML para realizar una lista desplegable (select) que muestre un rango de años para la seleccion del año de nacimiento de determinado grupo de personas, me dispuse a hacer este sencillisimo script que nos ahorra el trabajo de digitar toda esa lista.

Por problemas con la visualizacion del codigo HTML bajo WordPress unicamente dejare el link de descarga.

Saludos