dijous, gener 26, 2012
Subversion: Com ignorar tots els arxius excepte els que ens interessa.
dilluns, desembre 05, 2011
Opera per fi suportarà peticions CORS
http://my.opera.com/core/blog/2011/10/28/cors-goes-mainline
dilluns, agost 01, 2011
Freqüència i Temperatura de la CPU, i apagat del sistema des de la línia de comandes
Comandes per obtenir la temperatura dels cores de la CPU:
# sensors | grep 'Core 0' | cut -c15-16
# sensors | grep 'Core 2' | cut -c15-16
Comanda per canviar la política de l'escalat de la freqüencia de la CPU (previ un # sudo apt-get install hal)
# dbus-send --print-reply --system --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.CPUFreq.SetCPUFreqGovernor string:powersave
Comanda per suspendre l'ordinador a RAM
# dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
dilluns, juliol 18, 2011
Establir el monitor primari en Gnome
https://bugs.launchpad.net/ubuntu/+source/x11-xserver-utils/+bug/206528
No hi ha una manera visual directe d'establir quin ha de ser el monitor principal... Per sort la solució és senzilla:
xrandr --output VGA1 --primaryon VGA1 és el nom del monitor que ha de ser el primari.
Per llistar els monitor detectats es pot executar xrand sense cap paràmetre. Addicionalment, l'arxiu monitors.xml (situat a en els Ubuntus recents "~/.conf")
No hi ha manera de seleccionar quin monitor ha de ser el primari:
dilluns, maig 02, 2011
Configuració d'ESMP, un senzill MTA re-enviador de correu sortint.
Moltes vegades es vol poder enviar tot el correu sortint d'una màquina de manera senzilla a través d'un altre servidor, el que es coneix com a relay host. Una possibilitat, en comptes de tenir instal·lat un MTA complet (sendmail, postfix, qmail,... per anomenar-ne alguns) es pot usar esmtp. Aquest paquet ens proporciona aquesta funcionalitat de manera ràpida i efectiva. A tall d'exemple per posar-lo en marxa en un sistema Debian només calen 3 passos:
Pas 1: Instal·lar-lo (en Debian aquesta instrucció també desintal·la exim4, l'MTA per defecte), executar:
# sudo apt-get install esmtp esmtp-run libesmtp5
Pas 2: Editar la configuració tot informant les dades del host a través del que es volen enviar els issatges:
# sudo nano /etc/esmtprc
Concretament cal informar aquestes 3 dades:
hostname = XXXXXXXXXXX:25
username = YYYYYYYY
password = ZZZZZZZZ
Pas 3: Fer una prova de que efectivament funciona:
# echo "Prova" | sendmail adreça@de_correu.vàlida
dimecres, desembre 22, 2010
Permetre crides AJAX des d'un domini diferent (Peticions "Cross-site")
dissabte, desembre 04, 2010
Ús del Subversion, pas a pas
INSTAL·LACIÓ:
Instal·lar els paquets
# sudo apt-get install subversion libapache2-svn
Configurar un repositori: crear-lo
# mkdir /home/usuari/repositori
# svnadmin create /home/usuari/repositori/projecteX
Configurar un repositori: servir-lo via apache
# sudo chown -R www-data:www-data /home/usuari/repositori/
# sudo nano /etc/apache2/sites-available/default
I afegir-hi :
DAV svn
SVNParentPath /home/usuari/repositori
SVNListParentPath On
AuthType Basic
AuthName "Repositori de Control de Versions"
AuthUserFile /etc/subversion/passwd
Require valid-user
# sudo htpasswd -c /etc/subversion/passwd usuari_http
# sudo apache2ctl restart
Configurar una acció automàtica al servidor després de cada “commit”
# vi /home/usuari/repositori/projecteX/hooks/post-commit
I afegir-hi les accions que volguem, per exemple, actualitzar una carpeta amb els contiguts:
/usr/bin/svn update /var/www/test >> /var/log/svn/deploy.log 2>&1En aquest exemple, caldrà que “/var/log/svn” existeixi i tingui permisos per l'usuari “www- data”
ÚS:
Importar els continguts el primer cop al repositori
# svn import /home/usuari/prjX_backup file:///home/usuari/repositori/projecteX
Descarregar els continguts del repositori a una carpeta "publica_projecte", el primer cop
# svn co file:///home/usuari/repositori/projecteX /var/www/publica_projecte
Actualitzar la carpeta amb els canvis que hi hagi al repositori
# svn update /var/www/publica_projecte/
Afegir nous continguts a la carpeta i “pujar-los” al repositori
# mkdir /var/www/publica_projecte/nova_carpeta
hi copiem o hi creem els continguts que calgui amb “cp” o com ens sembli...
cd /var/www/publica_projecte
# svn add nova_carpeta
# svn commit
Enviar els canvis fets al repositori
En general qualsevol canvi o modificaió als continguts que es vulguin “pujar” al servidor.
# cd /var/www/publica_projecte
# svn commit
dimarts, novembre 23, 2010
SSH invers.
Escenari: Volem connectar-nos a un equip a
mb connexió a internet però que no té cap port “accessible” i que només port sortir pels ports 53, 80 i 443 Disposem d'un servidor a Internet amb IP pública i que controlem (anomenem-la IP_PÚB_NOSTRE_SERVER)
2. Per seguretat, i si ens interessa que aquest compte "tmp" que hem creat, i que serà usat al client no pugui obtenir una un cónsola de comandes al servidor, editem l'arxiu /etc/passwd al servidor ihi canviem el "/bin/bash" del final de la linea de l'usuari "tmp" per /usr/sbin/nologin (o la localització d'aquest nologin... si tenim dubtes, ens assegurem que existeix amb un “locate nologin“)
3. Al servidor editem l'arxiu de configuració del servei ssh a “/etc/ssh/sshd_config” i hi afegim que escolti per algun dels ports que el client pot usar per sortir.. per exemple el 53 (nota: ha de ser un port que estigui “lliure”, és a dir que si tenim per exemple l'apache escoltant pel port 80, no el podrem usar). Cal afegir a sota del Port 22 que hi ha per defecte:
4. Reiniciem el servei sshd i anem al client. (p.e. /etc/init.d/ssh restart)
5. Al client fem la comanda del ssh invers pròpiament dit:
El primer cop ens demanarà...
The authenticity of host ' IP_PÚB_NOSTRE_SERVER (IP_PÚB_NOSTRE_SERVER)' can't be established. RSA key fingerprint is xx:xx:xx:a1:5f:1a:89:78:90:7b:2e:22:9a:xx:xx:xx. Are you sure you want to continue connecting (yes/no)?
escrivim que sí, i ens demanarà el password de l'usuari “tmp” que hem creat més amunt al server amb l'”adduser” i s'hauria de quedar a l'espera...
En aquest exemple, USUARI_CLIENT és un usuari vàlid per fer una connexió ssh al client, i IP_PÚB_NOSTRE_SERVER és la IP pública del nostre servidor, i el port és el 4430 però podria ser qualsevol no tallat.
dijous, juny 03, 2010
A Google ho tenen clar, la culpa és de Microsoft.
dimarts, març 02, 2010
Checking for corrupt, not cleanly closed and upgrade needing tables..
debian:~# /etc/init.d/mysql restart
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
En un primer moment em vaig pensar que potser calia executar a mà l'actualitzador de les dades entre versions de mysql. Però no, la seva execució deia que les dades ja estaven actualitzades:
debian:~# mysql_upgrade -p
Enter password:
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
This installation of MySQL is already upgraded to 5.1.44, use --force if you still need to run mysql_upgrade
Total, que després d'una cerca a internet vaig trobar el resultat... El missatge està mal triat amb ganes. A continuació us mostro entre [ ] la part del missatge que es dóna per sobre-entesa...
"[I am now] Checking for corrupt [tables]"
"[I am now checking for ], not cleanly closed [tables] and "
"[I am now checking for ] upgrade needing tables"
És a dir, que mysql simplement va dient què és el que està fent: 1. Comprovar si hi ha taules corruptes, 2. [Comprovar si] hi ha taules tancades inesperadament i, finalment, [Comprovar si alguna taula] necessita ser actualitzada...
divendres, novembre 13, 2009
Missatges d'error poc amigables
Aquest missatge me'l donava després d'intentar tancar el procés d'actualització de la distribució... jo m'he quedat pensant "Millor que no triï Quit, però... si tanco, no estaré també cancel·lant? Aleshores millor cancel·lo, però.... no m'està dient que no puc cancel.lar? per tant.... mmmm....." :)
divendres, octubre 02, 2009
WAP54G en mode client
Amb el nou firmware instal·lat i des de l'interfície web d'administració del router es pot acitvar el telnet, de manera que s'hi pugAixò permet fer la configuració del dispositiu sense haver de passar per la limitada interfície web.
El problema és que no me n'he ensortit amb el Freya i he hagut d'instal·lar una versió modificada del OpenWRT, el Freifunk. L'aventura, resumida ha anat així...
El passos fins on l'he aconseguit fer anar amb el Freya, són:
1.- wp ap 0
Canviem el mode de l'acces point per fer de client.
2.- wl scan
Que faci una llista de les xarxes que “veu”
3.- wl scanresults
Per que ens mostri el resultat de l'scan anterior
4.- wl join XarxaWifiOnVolemConectarnos
Que es connecti a la xarxa “XarxaWifiOnVolemConectarnos”. Sense cap més paràmetre ja que és tracta d'una xarxa sense seguretat WEP ni WPA ni res.
5.- wl status
Mostra l'estat de la wifi, per assegurar-nos que efectivament s'ha associat amb la xarxa que volem
Fins aquí bé. El problema l'he tingut al moment de fer funcionar l'enrutament ip...
D'una banda les targetes venen en un “bridge” o pont (el br0) entre elles que resultava amb la impossibilitat de configurar l'eth1 (la wifi) independentment.
6.- brctl delif br0 eth1
Treiem l'eth1 del pont de tarjetes.
7.- ifconfig eth1 X.X.X.X netmask Y.Y.Y.Y
Configurem l'adaptador inalàmbric amb l'IP i màscara que toqui.
Arribat aquest punt, em semblava que la cosa estava feta ja que amb un ping es veien hosts de la xarxa wifi.
El problema és que no he trobat cap manera de fer NAT de sortida pels meus hosts... la solució amb iptables ( algo com iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o eth1 -j MASQUERADE) per emmascarar els hosts de la meva xarxa no es pot usar ja que no hi ha iptables.
Després de buscar debades per Internet, he decidit canviar d'estratègia... buscar un firmware diferent.
La versió 2 del WAP54G és un dispositiu força limitat i per això finalment m'he decantat per una versió específica pel WAP54G del Freifunk (en Català!), que és una versió especial reduïda del OpenWrt: http://wiki.freifunk.net/Freifunk_Firmware_(English)#WAP54G
Per instal·lar-lo des d'on ho havia deixat amb el Freya, m'han calgut 2 coses:
8.- nvram set boot_wait=on;nvram commit
Per activar que el dispositiu esperi uns segons després de cada reiniciada, temps durant el qual es pot transferir mitjançant el protocol “tftp” un nou firmware.
I, finalment, transferir-lo tal i com expliquen al web de Freifunk.
La configuració amb el nou firmware l'he feta mitjançant la interfície web i el manual del lloc web i m'ha funcionat a la primera :-)
Finalment, tot i que no té gaire relació amb l'entrada (una mica sí), deixo un enllaç a molta documentació super completa sobre la tecnologies de les xarxes inalàmbriques que he trobat mentre resolia el que explico en aquest post: http://www.wilac.net/index_pdf.html
