Experiencia con magento

He estado trasteando ultimamente con magento y la verdad que está bastante interesante y con muchas posibilidades. Parece muy estable y potente, bastantes plugins y una comunidad de usuarios muy activa.
El origen de este post es que tuve unos problemillas a la hora de actualizar la versión ( un favor a un conocido ). Los mensajes de error no aparecían y luego resulta que era un problema con la versión de la base de datos.

Me ha solucionado baste la vida esta ayuda ayuda magento.

Es un blog con bastante ayuda para plesk y hosting, os recomiendo que lo echeis un vistazo.

Más informacion en http://hostingaldescubierto.com

sed: cannot rename .//sedDtwt6w: Invalid cross-device link

Error curioso al hacer un

[shell]
sed -i ‘s/foofoo/blabla/g’ *conf
[/shell]

Me lanza ester error, no me realiza el cambio y se para en el primer fichero que encuentra con *conf
[shell]
sed: cannot rename .//sedDtwt6w: Invalid cross-device link
[/shell]

Este error aparece por que el sistema de ficheros es distinto al que estamos lanzando el sed. En mi caso los ficheros son enlaces simbólicos a ficheros de otro punto de montaje.

Instalar 3com usb 3cp4218 con Linux

Instalar 3com usb 3cp4218 con Linux

/* version del doc: 1.0 25 de noviembre de 2002 */
/* autor : jorge senin */

*Como Instalar mi modem 3Com ADSL USB cp4218:

1.- Mi sistema a la hora de realizar la instalación:

Procesador AMD K6-2 450 Mhz :
uname -p
i586

Kernel :
uname -r
2.4.19-16mdk

Chip USB :
lspci -v | grep USB
USB Controller: Acer Laboratories Inc. [ALi] USB 1.1 Controller (rev 03) (prog-if 10 [OHCI])
( es una placa IWILL XA 100+ PLUS)

Version del compilador GCC :
gcc –version
gcc (GCC) 3.2 (Mandrake Linux 9.0 3.2-1mdk)

Proveedor : Retevision ( PPPoATM ) / splitter

Sistema opertivo : Mandrake 9.0

2.- Ficheros necesarios :

driver : www.soureforge.net/projects/cp4218
el ultimo es :
3cp4218-2002-09-16-src.tgz -> codigo fuente
3cp4218-2002-09-16-bin.tgz -> plataformas i686
3cp4218-2002-09-16-bin-586.tgz -> plataformas i586 (k6 y pentium viejos )

linux-atm :
www.sourceforge.net/linux-atm

el ultimo es :
linux-atm-2.4.0-1.i386.rpm

y por ultimo el ppp:
Si quieres de la misma pagina del driver lo puedes bajar el :
ppp-2.4.1.pppoe2-pppoatm.tar.gz

y si no de algun mirror de plf Pinguin Liberation Front.
te bajas el ppp-2.4.1 y vale solo hay que modificar el nombre del directorio
por que lo ponen como /usr/lib/pppd/2.4.1/ en vez de /usr/lib/pppd/plugins.

Luego es optativo el fichero options.
Lo puedes encontrar en la pagina de davidlazaro.eresmas.net
O lo puedes crear a mano leyendo la documentación que acompaña al driver.

3.- Pasos a seguir :

Copiamos los ficheros necesarios en nuestro caso los correspondientes a las fuentes ppp y
al driver :

cp 3cp4218-2002-09-16-src.tgz /usr
cp options.ppp /usr
cp ppp-2.4.1.pppoe2-pppoatm.tar.gz /usr

descomprimimos

cd /usr
tar zxvf 3cp4218-2002-09-16-src.tgz
tar ppp-2.4.1.pppoe2-pppoatm.tar.gz
( el options.ppp luego lo usaremos )

deberemos haber ejecutado al menos una vez el menu de configuración
del kernel para poder compilar bien el driver.
Basta con:

cd /usr/src/linux
make menuconfig

darle a guardar y salir

ahora compilamos el driver
cd /usr/3cp428
make
make install

Aqui si no tenemos instaladas las librerias libglade0-devel y sus
correspondientes paquetes necesarios nos dara
un monton de errores de gtk eso es por que construlle un panel
de configuracion y otro de monitor de estado.

No pasa nada si falla este punto por que si llega hasta aqui nos
habró compilado el driver.

Vale ya tenemos el driver instalado ahora el ppp.

Deinstalamos el ppp que tengamos
rpm –erase –nodeps ppp-2.4.1
esto en mi caso

Hacemos lo mismo con el ppp.

cd /usr/ppp-2.4.1.pppoe2-pppoatm
./configure
make
make install

Si aparece un error como este :

gcc -o pppoatm.so -shared -g -O2 -I.. -I../../include -D_linux_=1 -fPIC pppoatm.c
pppoatm.c:33:17: atm.h: No such file or directory
In file included from /usr/include/linux/atmdev.h:12,
from pppoatm.c:34:
/usr/include/linux/atm.h:211: parse error before «uint32_t»
/usr/include/linux/atm.h:213: parse error before ‘}’ token
/usr/include/linux/atm.h:217: parameter `addr’ has incomplete type
pppoatm.c: In function `setdevname_pppoatm’:
pppoatm.c:196: `T2A_PVC’ undeclared (first use in this function)
pppoatm.c:196: (Each undeclared identifier is reported only once
pppoatm.c:196: for each function it appears in.)
pppoatm.c:196: `T2A_NAME’ undeclared (first use in this function)
make: *** [pppoatm.so] Error 1

Es por que falta instalar el linux-atm.
Lo podemos obtener de :

http://sourceforge.net/project/showfiles.phpógroup_id=7812

cp linux-atm-2.4.0-1.i386.rpm /usr
cd /usr
rpm –install linux-atm-2.4.0-1.i386.rpm

y volvemos a hacer el make

cd /usr/ppp-2.4.1.pppoe2-pppoatm
make

Si queremos instalar esto en Mandrake 8.2 ver otro post del foro
del driver en el cual se comenta como instalarlo con Mandrake 8.2 ( ppp-2.4.1)

Ya tenemos instalado el ppp ahora lo configuramosEditamos el fichero options
vi /usr/options
en donde pone user ponemos el usuario
que tenemos nostros sin comillas ni nada
y si no tenemos usuario ponemos any.

Lo copiamos a su ubicación
cp /usr/ppp/options /etc/ppp/options

Solo falta por ahora el fichero donde pondremos
la password de la conexion.

vamos y editamos el chap, y el pap si considera necesario
para mi caso solo es necesario el chap:

cd /etc/ppp
vi chap-secrets

ponemos dentro
rtXXXXXXX * contraseña *
donde rtXXXXXXX el usuario que tengamos y si no hay poner any.
y contraseóa la contraseóa, si tampoco tenemos poner any.

Si hemos compilado el panel pondremos:
3cconfig
y aparecera un panel facilmente configurable.
Si no debermos editar el fichero /etc/cp4218
y seleccionar las opciones correctas.

Las dns hay que introducirlas si no es con el 3cconfig
las pondremos a mano introduciendo en el fichero /etc/resolv.conf
lo siguiente:

nameserver 62.81.16.129
nameserver 62.81.0.33

que son las dns primaria y secundaria de Retevisión (ojo).

a continuacion y como root escribimos
3cstart.sh y cargaró todo.
Se puede cargar tambien con 3cload.sh y luego 3cnet2up.sh

Si al cargar te sale algo como esto :

Nov 24 13:39:10 localhost pppd[1383]: Couldn’t load plugin /usr/lib/pppd/2.4.1/pppoatm.so
Nov 24 13:39:26 localhost pppd[1386]: Plugin /usr/lib/pppd/2.4.1/pppoatm.so loaded.

Es por que no esta cargando bien la libreria ppp.
Para solucionarlo :

editar el /etc/ld.so.conf
aóadir la linea /usr/local/lib
y dentro del directorio /etc
ejecutar : ldconfig

y funciona.

Si no todo estó cargado correctamente y no funciona lo imprescidible son dos cosas:
– poner el driver en modo debug
– poner en /etc/ppp/options una lina al principio que ponga debug

Con estas dos cosas luego hay que mirar el /var/log/messages y /var/log/syslog
póstead eso en el foro del driver junto con los pasos que habeis seguido.

Si todo esta bien y no funciona ningón ping
hacer un ifconfig y si aparece algo como esto :

ppp0 Link encap:Point-to-Point Protocol
inet addr:80.224.97.232 P-t-P:62.81.124.194 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:406 errors:0 dropped:0 overruns:0 frame:0
TX packets:353 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:199887 (195.2 Kb) TX bytes:39881 (38.9 Kb)

Donde ppp0 puede ser ppp1,ppp2….
y no funciona poned :
route add default ppp0
( o el ppp que salga en ifconfig)

Si apararece en /var/log/syslog habiendo puesto debug en /etc/ppp/options :

Nov 25 03:12:12 senin pppd[2234]: Plugin /usr/lib/pppd/2.4.1/pppoatm.so loaded.
Nov 25 03:12:12 senin pppd[2234]: PPPoATM plugin_init
Nov 25 03:12:12 senin pppd[2234]: PPPoATM setdevname – remove unwanted options
Nov 25 03:12:12 senin pppd[2234]: PPPoATM setdevname_pppoatm – SUCCESS:8.35
Nov 25 03:12:13 senin pppd[2235]: pppd 2.4.1 started by root, uid 0
Nov 25 03:12:13 senin pppd[2235]: using channel 4
Nov 25 03:12:13 senin kernel: atm_connect (TX: cl 1,bw 0-0,sdu 16386; RX: cl 1,bw 0-0,sdu 1502,AAL 5)
Nov 25 03:12:13 senin pppd[2235]: Using interface ppp0
Nov 25 03:12:13 senin pppd[2235]: Connect: ppp0 <–> 8.35
Nov 25 03:12:13 senin pppd[2235]: sent [LCP ConfReq id=0x1 ]
Nov 25 03:12:13 senin pppd[2235]: rcvd [LCP ConfReq id=0xf1 ]
Nov 25 03:12:13 senin pppd[2235]: sent [LCP ConfRej id=0xf1 ]
Nov 25 03:12:13 senin pppd[2235]: rcvd [LCP ConfAck id=0x1 ]
Nov 25 03:12:13 senin pppd[2235]: rcvd [LCP ConfReq id=0xf2 ]
Nov 25 03:12:13 senin pppd[2235]: sent [LCP ConfRej id=0xf2 ]
Nov 25 03:12:13 senin /etc/hotplug/net.agent: assuming ppp0 is already up
Nov 25 03:12:13 senin pppd[2235]: rcvd [LCP ConfReq id=0xf3 ]
Nov 25 03:12:13 senin pppd[2235]: sent [LCP ConfRej id=0xf3 ]
Nov 25 03:12:13 senin pppd[2235]: rcvd [LCP ConfReq id=0xf4 ]
Nov 25 03:12:13 senin pppd[2235]: sent [LCP ConfRej id=0xf4 ]
Nov 25 03:12:13 senin pppd[2235]: rcvd [LCP ConfReq id=0xf5 ]
Nov 25 03:12:13 senin pppd[2235]: sent [LCP ConfRej id=0xf5 ]
Nov 25 03:12:13 senin pppd[2235]: rcvd [LCP ConfReq id=0xf6 ]
Nov 25 03:12:13 senin pppd[2235]: sent [LCP ConfRej id=0xf6 ]
Nov 25 03:12:13 senin pppd[2235]: rcvd [LCP ConfReq id=0xf7 ]
Nov 25 03:12:13 senin pppd[2235]: sent [LCP ConfRej id=0xf7 ]
Nov 25 03:12:13 senin pppd[2235]: rcvd [LCP ConfReq id=0xf8 ]
Nov 25 03:12:13 senin pppd[2235]: sent [LCP ConfRej id=0xf8 ]
Nov 25 03:12:13 senin pppd[2235]: rcvd [LCP ConfReq id=0xf9 ]
Nov 25 03:12:13 senin pppd[2235]: sent [LCP ConfRej id=0xf9 ]
Nov 25 03:12:13 senin pppd[2235]: rcvd [LCP ConfReq id=0xfa ]
Nov 25 03:12:13 senin pppd[2235]: sent [LCP ConfRej id=0xfa ]
Nov 25 03:12:13 senin pppd[2235]: rcvd [LCP TermReq id=0xfb]
Nov 25 03:12:13 senin pppd[2235]: sent [LCP TermAck id=0xfb]

Todo esto y se repite hasta el fin….
Es debido a que en el fichero options no has puesto bien el nombre de usuario
en el apartado user o name , recuerda que estos dos apartados va el nombre
de usuario y no usuario y contraseóa.
La contraseóa la busca en /etc/ppp/chap-secrets o /etc/ppp/pap-secrets.
En mi caso es el primero y recuerda que debe de ser
usuario * contraseóa *

Como nota explico este fallo del ppp.
El ppp intenta conectarse como no encuentra usuario en el /etc/options o no
encuentra correspondencia en los ficheros secrets, intenta identificarse
con otro protocolo que no sea ni pap ni chap por lo cual esta rechazando
la conexion todo el rato y a la vez pidiendo conexion.

Un error de core dumped es debido a que los ficheros bin que has intalado
no son compatibles con tu procesador, por lo cual deberas bajarte los fuentes u otros
compilados con tu mismo tipo de procesador.

El error de ioctl -1 es debido a que no carga el modem o el driver
con las ultimas versiones del driver no deberóa de dar problemas al instalarlo.

Al cargar el driver da un ‘tainted kernel’ da igual no pasa nada, solo te
esta avisando de que estó compilado con una versión diferente a la de tu kernel
pero carga igual y funciona.

Creo que hasta aquó esta comentado todo lo que me ha sucedido.

/* un saludo */

error resolving source: libnet_get_ipaddr4(): ioctl(): Cannot assign requested address

Traceando protocolo aparece este error :

[shell]
traceproto -p tcp 192.168.1.1
error resolving source: libnet_get_ipaddr4(): ioctl(): Cannot assign requested address
[/shell]

Es debido a que no hay ip o que no hemos especificado el interface que debe tracear. Por defecto elige el primer interface disponible.

En mi caso saliendo por wifi habría que definir el trace por ‘wlan0’
[shell]
# traceproto -p tcp -F wlan0 192.168.1.1
traceproto: trace to 192.168.1.1 (192.168.1.1), port 80
using interface wlan0
ttl 1: TCP Syn Ack from 192.168.1.1 (192.168.1.1)
8.3820 ms 0.95900 ms 0.72100 ms

hop : min / ave / max : # packets : # lost
——————————————————-
1 : 0.72100 / 3.3540 / 8.3820 : 3 packets : 0 lost
————————Total————————–
total 0.72100 / 2.5155 / 8.3820 : 3 packets : 0 lost
[/shell]

install: cannot stat `nls/af.gmo’: No such file or directory

Estoy generando un rpm para sysstats desde el codigo fuente en http://pagesperso-orange.fr/sebastien.godard/sysstat-9.0.6.tar.gz . El caso es que CentOS no dispone de ‘pidstat'( muy útil para analizar post-morten o in-morten que proceso nos está molestando).

El caso es que he seguido estos pasos:
[shell]
yum install gcc make rpm-build
cd /usr/src
wget http://pagesperso-orange.fr/sebastien.godard/sysstat-9.0.6.tar.gz
tar zxvf sysstat-9.0.6.tar.gz sysstat-9.0.6/sysstat-9.0.6.spec
cp sysstat-9.0.6.tar.gz /usr/src/redhat/SOURCES/sysstat-9.0.6.tar.gz
rpmbuild -bb sysstat-9.0.6/sysstat-9.0.6.spec
[/shell]

y la compilación fallaba con estas últimas lineas:
[shell]
install -m 644 nls/af.gmo /var/tmp/sysstat-9.0.6-root-root/usr/share/locale/af/LC_MESSAGES/sysstat.mo
install: cannot stat `nls/af.gmo’: No such file or directory
make: *** [install_nls] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.94933 (%install)
[/shell]

Algo fallaba, y algo me faltaba por instalar… asi echando un vistazo al log del configure encontré esto:

[shell]
WARNING: msgfmt command not found!
WARNING: xgettext command not found!
WARNING: msgmerge command not found!
[/shell]

Pues ahí lo llevas primo, eso va a ser, vamos a ver en que paquete está:
[shell]
# yum provides */msgfmt
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: ftp.cica.es
* base: ftp.cica.es
* updates: ftp.cica.es
Excluding Packages from CentOS-Plesk – Base
Finished
gettext-0.14.6-4.el5.i386 : GNU libraries and utilities for producing multi-lingual messages.
Repo : base
Matched from:
Filename : /usr/bin/msgfmt

gettext-0.14.6-4.el5.x86_64 : GNU libraries and utilities for producing multi-lingual messages.
Repo : base
Matched from:
Filename : /usr/bin/msgfmt

gettext-0.14.6-4.el5.x86_64 : GNU libraries and utilities for producing multi-lingual messages.
Repo : installed
Matched from:
Filename : /usr/bin/msgfmt

gettext-0.14.6-4.el5.i386 : GNU libraries and utilities for producing multi-lingual messages.
Repo : installed
Matched from:
Filename : /usr/bin/msgfmt
[/shell]

Pues nada, vamos a instalarlo
[shell]
yum install gettext
[/shell]

Le damos otra vez a generar el rpm
[shell]
rpmbuild -bb sysstat-9.0.6/sysstat-9.0.6.spec
[/shell]

y ahora si tenemos ya nuestro rpm listo para instalar
[shell]
rpm -ivh /usr/src/redhat/RPMS/x86_64/sysstat-9.0.6-1.x86_64.rpm
[/shell]

Marujeo: error en linux.com

Intentando cargar esta noticia en linux.com me he topado con este error :S

[shell]
jtablesession::Store Failed
DB function failed with error number 1062
Duplicate entry ‘fb1f64a95499bd844e6c8807a9e07dbe’ for key 1 SQL=INSERT INTO `jos_session` ( `session_id`,`time`,`username`,`gid`,`guest`,`client_id` ) VALUES ( ‘fb1f64a95499bd844e6c8807a9e07dbe’,’1248073844′,»,’0′,’1′,’0′ )
[/shell]

Aquí no se libra nadie !

aplicando cambios…

Estoy revisando los logs mi usuario y de sistema… con el cambio a la nueva versión de Debian, siempre quedan cositas sueltas:

[shell]
Warn: Inotify watches may be too low (8192) for some users! Increase it to at least 65535 by setting fs.inotify.max_user_watches in /etc/sysctl.conf
[/shell]

Linux mola

Ayer día 15 de Marzo de 2009 se cerró el plazo para participar en el concurso «We’re Linux» de la Fundacion Linux. El ganador tendrá viaje y hospedaje para el «Linux Foundation Japan Symposium» en Octubre de 2009.

La mayoría de los videos no valen nada, parece que l@s chic@s linux están más centrados en tareas más tecnicas que en artes creativas jejejeje

No obstante no hay que dejar pasar este video:

Más videos aquí

Instalando BCM4310 en Linux

Uno de los puntos negros de linux, es el soporte para hardware nuevo o hardware que tarda en ser soportado de forma estable.

Esta semana me he encontrado con la necesidad de usar una wifi en un portatil HP Pavillion dv6000 con tarjeta wifi BCM 4310. La instalación de sistema operativo, ubuntu.

Tras verificar en linuxwireless que no hay soporte para esta tarjeta y que la unica forma es via ndiswrapper.

BCM 4310 – This device has an LP PHY. We think that means low power. In any case, previous code does not work. The reverse engineers have translated a great deal of the code and are currently generating specs for the code writers.

Seguimos estos pasos:

[shell]
cd /tmp
wget ftp://ftp.us.dell.com/network/R151517.EXE
unzip R151517.EXE
cd DRIVER
ndiswrapper -i bcmwl5.inf
ndiswrapper -ma

# quitamos estos modulos que pueden dar conflicto
echo blacklist ssb >> /etc/modprobe.d/ndiswrapper
echo blacklist b43 >> /etc/modprobe.d/ndiswrapper

# cargamos el modulo de ndiswrapper
modprobe ndiswrapper
[/shell]

yaird error: bad device link in /sys/class/input/event2/device (fatal)

Al actualizar el kernel a 2.6.24 aparece este error

yaird error: bad device link in /sys/class/input/event2/device (fatal)

He realizado un yaird –test según leo en http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=465391 y se detecta que el error es del propio paquete yaird. Para solucionar el problema he tenido que instalar el generador initrd recomendado initramfs-tools ya que yaird está fuera de testing según se puede leer en la nota de http://packages.qa.debian.org/y/yaird/news/20071228T233922Z.html