No esta malament, no??? podriem dir que ja començo a tenir febre fins hi tot
apa ja em comentareu si algú de vosaltres s’ha animat a medir la seva obsessió pel tema també.
Archive for July 2007
Un altre d’aquests testos curiosos: com estic d’engaxat al blogging?
No comment - Post a comment
El gener passat vaig escriure sobre com arrencar un LiveCD d’Ubuntu en mode persistent, és a dir, guardant la configuració en un pendrive o disc dur de forma que els ajustos que fem a la configuració del CD no es perdin. Bé doncs, ara del que es tracta és que fem el mateix però sense el LiveCD. M’explico, l’objectiu és tenir una partició de només lectura al nostre disc dur, o en un altre disc dur on hi hagi el LiveCD copiat. Llavors usem una altre partició per guardar les modifiacions que fem sobre el CD, o sigui, la informació persistent. Això ens permet al propi GRUB tenir modes de recuperació sense haver de posar el CD. A més sempre podrem tornar enrera i tenir una configuració bàsica. I podrem treballar exactament igual que si tinguessim un LiveCD però sense tenir-lo físicament.
La solució és ben senzilla, potser el problema més greu esta en que s’ha de modificar un arxiu de configuració que es diu /scripts/casper i que es troba dintre del fitxer /boot-live/initrd.gz cosa que fa una mica entretingut modificar-lo. A continuació faig un petit cookbook de tots els passos a seguir.
- Arrenquem des del LiveCD.
- Creem una nova partició al disc de tipus vfat i la formategem.
- Montem la partició i hi creem el directori /casper.
- Copiem el contingut del directori /casper del LiveCD d’Ubuntu dins del nou directori que hem creat a la partició.
- Suposant que a la partició persistent hi tenim instal·lat el GRUB per arrancar des de LiveCD però cridant-lo des del disc dur la configuració seria semblant a aquesta:
default 0 timeout 30 hiddenmenu color cyan/blue white/blue # Calling LiveCD from hard drive title mpti root (hd0,0) kernel /boot-live/vmlinuz boot=casper initrd=new-initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash vga=791 -- persistent initrd /boot-live/new-initrd.gz boot # Calling LiveCD from hard drive in single user and persistent mode title mpti persistent (recovery mode) root (hd0,0) kernel /boot-live/vmlinuz boot=casper initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram ro single persistent initrd /boot-live/new-initrd.gz boot # Calling LiveCD from hard drive without persistent and single user mode title mpti w/o persistent (recovery mode) root (hd0,0) kernel /boot-live/vmlinuz boot=casper initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram ro single initrd /boot-live/new-initrd.gz boot
mkdir new-initrd cd new-initrd gzip -dc /boot-live/new-initrd.gz | cpio -id
is_usb_device() {
# sysfs_path="${1#/sys}"
# if /lib/udev/path_id "${sysfs_path}" | grep -E -q "ID_PATH=(usb|pci-[^-]*-usb)"; then
return 0
# fi
# return 1
}
# Fem una còpia l'antic new-initrd.gz per si les mosques cd /boot-live cp new-initrd.gz new-initrd.gz.old # Creem el nou new-initrd.gz cd new-initrd find . | cpio --quiet --dereference -o -H newc | gzip -9 > ../new-initrd.gz cd .. rm -rf new-initrd
Al fitxer casper és on es detecta si hi ha algún LiveCD posat a partir del qual es montarà el sistema de fitxers root. L’script busca a molts llocs si troba una unitat de CD, fins hi tot busca pendrives formatejats en vfat amb el contingut del CD, però abans d’intentar montar-los i buscar dintre seu el directori /casper i algún fitxer anomenat *.squashfs comproba que el dispositiu estigui connectat via USB.
Així doncs, la modificació que jo he fet només força que la comprobació d’USB sempre sigui certa, així també intentarà montar les pariticions dels possibles discs durs connectats o d’altres similars. Així doncs, després l’únic que faig és crear una partició vfat, crear-li el directori que busca i copiar el fitxer *.squashfs que és on hi ha el sistema de fitxers squashfs que conté l’arbre de directoris i fitxers del LiveCD.
Malgrat estic content en el resultat obtingut, m’hagués agradat aconseguir el mateix resultat sense haver de modificar els fitxers del initrd.gz ja que això fa que a l’actualitzar l’Ubuntu si hi ha modificacions en l’script casper hauré de mirar-me què ha canviat per actualitzar el meu sistema.
Coses curioses, no tan curioses, que he fet i que m’han passat els últims dies.
Ahir vaig configurar una pantalla de 17″ intgrada amb un tàctil 3M Microtouch amb Linux. Cosa que fins ara no m’havia funcionat mai bé i el millor és que va anar tot amb menys de 30min. Tot gràcies a aquest enllaç.
Quan vaig anar a agafar el tren per tornar cap a casa vaig trobar-me un mòbil fet pols a terra de l’estació de Cornellà, pantalla destrossada, suport del SIM robellat, etc. tot un suplici de mòbil.
Una de les pàgines eròtiques de pagament amb més renom a internet, de la que a més estic subscrit al pool de flickr és sucidegirls.com, doncs aquest matí anant a buscar al Manu davant de casa seva m’he trobat aquesta pintada en un banc, m’he quedat flipant… mai hagués imaginat veure això i pintat per Cornellà.
Després hem anat a montar un mpti a l’aeroport de Barcelona, concretament a una de les botigues Divers. Per si mpti ús ha sonat a xinès és un aplicatiu que hem desenvolupat a movilpoint i que serveix per connectar a internet previ pagament en un moneder connectat a un PC via port USB, tot en linux. Només faltaria.
Al arribar a l’oficina ja m’havia arribat la última ganga que m’he comprat, un IBM ThinkPat T41 per només 330. Esta quasi nou i no en puc aconseguir més. Un proveedor ens en va fer arribar uns quants per 4 duros d’aquests que provenen de fires i coses semblants, est nou nou… a més el teclat és de ves a saber on i ens han donat unes enganxines perquè les posem sobre les tecles. El més sorprenent és el ràpid que va el WinXP, mai l’havi vist correr tan. Llàstima que li durarà ben poc
Per cert, mira que sóc simple… té mil coses a destacar el portàtil i el que més gràcia m’ha fet és la llumeta integrada que té sobre el monitor i que quan ets a les fosques va genial per iluminar el teclat. Realment sempre ens fan gràcia les coses més tontes.
Finalment quan tornava cap a casa he passat pels nous jutjats de Cornellà i no he pogut evitar fer una foto a les banderes que hi onegen, on curiosament ja fa un parell de dies em vaig fixar que hi han retirat la bandera espanyola i només queda la catalana i la europea, si més no és un fenòmen curiós que dubto que duri massa.
Per cert, la qualitat de les fotos no és massa bona perquè totes les he reduit a 400×300 i a més les he tirat amb la Blackberry Pearl que tampoc té una camara que sigui res de l’altre món.
Avui he estat molta estona treballant amb el IAS de Windows, o com li diu la resta del món amb el servidor Radius de Windows. Doncs la gran deliveració de l’Albert ha estat: això quan peti si no ho tinc documentat les passarem negres per tornar-ho a configurar tot. Doncs per això sempre hi ha ens backups i com sempre acostuma a passar per les coses interessants s’ha de fer des de línia de comandes, així doncs aquí teniu la gràcia de tot:
# Fer còpia de seguretat del IAS (backup) netsh aaaa show config c:\IAS.txt # Restaurar còpia de seguretat del IAS (restore) netsh exec c:\IAS.txt
Això ho he trobat en el document: Windows 2000: Internet Authentication Service (IAS) and RADIUS on a més hi trobareu molta i molt bona informació conceptual de com funciona el IAS.
A finals de la setmana passada vaig dinar amb el Benja que em va regalar una targeta flash com les que veieu a la foto. En tenia dues una de 2Gb i una de 4Gb, després de preguntar-li d’on les havia tret em va regalar de 2Gb, així que ja tinc una targeta la mar de xula per posar a la cartera i poder-la treure en aquelles situacions on sempre resulta que no portes el pendrive. Si en voleu una les ha tret de Freecom.
Com es veu en la foto la mida és identica a la d’una targeta de crèdit, potser un pèl més gruixuda però molt i molt primeta també.
Alguns ISPs ens permeten tenir una compte que reculli tot el correu enviat a un domini, això per exemple es pot usar com a mail-backup del nostre domini. Doncs bé a través de fetchmail és molt senzill re-injectar el correu enmagatzemat a una compte POP3 a un servidor SMTP contra un usuari. El més complicat, és si el correu que hi ha a la compte POP3 pot anar a més d’un destí, com el que deia fa un moment en comptes POP3 tipus ‘recojetodo’ o cul de sac com diuen alguns.
Doncs bé, per això he fet un petit script en python que a partir d’un fitxer BSMTP modifica la companda RCPT TO en funció de la informació de l’etiqueta Envelope to que conté una llista de les comptes d’email destí a qui va dirigit el correu. Així doncs, bàsicament la tasca consisteix en buscar quines comptes d’email apareixen a l’etiqueta comentada i després borrem la comanda RCPT TO i creem tantes comandes d’aquest tipus com faci falta en el seu lloc per enviar copies del correu que volem enviar als seus destins. Aquest nou fitxer BSMTP modificat l’injectem al nostre MTA. Aquest MTA serà l’encarregat de processar aquest correus i entregar-los a les comptes destí.
En el meu cas he decidit fer un petit shell script que s’executa des del crontab cada 10min. Aquest script, Crida a fetchmail per obtenir el fitxer BSMTP amb el correu que hi havia a la compte POP3, després crida l’script de python per modificar el fitxer BSMTP d’entrada tal com he comentat i crea un nou fitxer BSMTP de sortida. Finalment aquest fitxer s’injecta via SMTP cridant un petit script que gràcies al NetCat envia per SMTP el contingut del fitxer BSMTP de sortida.
L’script amb l’estructura de directoris empaquetat en un fitxer: pop2smtp_r1.tar.gz.
Segur que hi ha formes més elegants de resoldre el problema, però la veritat no les he sabut trobar.
L’últim llibre que m’he llegit: La Pell Freda – Albert Sánchez Piñol
No comment - Post a comment

Ho he de reconeixer sóc un pel lent acabant llibres. Aquest llibre me’l van regalar l’Oriol i la Sara pel meu aniversari, o sigui, el 9 de maig i fins fa una setmana aproximadament no el vaig acabar. Així doncs, com ja és costum ús en faré 5 cèntims del que m’ha semblat. Pel que fa a la història la trobo súper original i diferent. Mai hagués imaginat que es podia escriure un llibre tan profund amb elements tan simples. He de reconeixer que és un llibre molt ben escrit i l’autor realment es mereix els meus respectes, ja que sap enganxar-te i explica els detalls d’una forma amena i realment precisa. Així doncs, diguem que les seves descripcions et saben transportar fins a l’illa on transcorre la història. Tan és així que alguna que altre vegada he arribat a somar amb els ‘granotots’, si no sabeu de què parlo i llegiu el llibre ja m’entendreu.
Així doncs, la meva valoració és molt positiva sobre el llibre malgrat el final m’ha deixat una mica fred i no ho dic pas per jugar amb el títol. Després de l’adicció que m’havia arribat a crear el llibre realment m’ha decebut una mica el final, potser esperava un cop d’efecte que no arriba. Si que el final és ben obert fins a l’última pàgina però no sé perquè esperava algún element que fes girar la història.
Apa doncs, aquí teniu una altre novel·la recomenada per mi… cosa ben poc habitual,eh!? ja que com sabeu no és un genere que em tiri gaire. Per cert, per si algú busca el llibre el seu ISBN-10: 8495616254 / ISBN-13: 978-8495616258.
Disposava d’un servidor en una màquina virtual d’VMWare que esta en producció i per tant, no era bona idea apagar-lo. La idea era montar una altre màquina física igual per posar-la en producció per quan la primera falli. Doncs bé, havia de montar una màquina igual que la de producció amb la mateixa configuració del servidor en producció. La cosa se m’ha allargat una mica malgrat els passos són simples. Bàsicament m’he trobat amb problemes tontos que per no estar habituat a usar Ubuntu m’han portat més temps del previst.
Per començar del host en producció aconseguim un llistat del paquets instal·lats, llencem la següent comanda des del directori i l’usari root:
dpkg --get-selections | grep -v deinstall > llista_paquets
A continuació ja podem fer tots els processos des de la màquina que anem a instal·lar. En la segona màquina he instal·lat una Ubuntu Server 6.06.1 LTS (Long Time Support) igual que en la primera, he fet una configuració de servidor normal (no LAMP) configurant el hardware adequat perquè tot funcioni. Un cop acabada la instal·lació:
# Copiem configuració del APT de producció al nou servidor rsync -cavz root@ip_produccio:/etc/apt/ /etc/apt/ # Actualitzem repositori apt-get update # Actualizem paquets bàsics de la distribució apt-get dist-upgrade # Copiem llistat de fitxers de producció rsync -cvz root@ip_produccio:/root/llista_paquets /root/ # Marquem paquets a instal·lar en local dpkg --set-selections < llista_paquets # Entrem al gestor de paquets dselect dselect # Ara premem la tecla 'I' i després 'intro' perquè comenci la # descarrega i instal·lació de paquets # Finalment premem la tecla 'Q' i 'intro'
En aquest punt ja tenim els mateixos paquets instal·lats en producció que en la nova màquina. Ara s’ha de copiar les configuracions de les aplicacions que tenim en marxa. La idea és copiar tot /etc i tot /var. Tot i que això s’ha de fer molt en compte i s’ha de depurar molt, per poder saber sempre si l’hem liat en algún moment. Ja que per exemple, no cal copiar tots els directoris de logs tot i que si estem en una LAN i no són molts megues tampoc passa res si ho copiem. El més crític, és no sobre-escriure fitxers com /etc/fstab que poden variar segons la arquitectura de les màquines. En el meu cas no calia tenir en compte gran cosa més, però penseu que hi ha aplicacions que tenen fitxers de configuració en llocs poc habituals i això també s’hauria de copiar. A més és vital que no oblideu que no només s’han de copiar els fitxers, sinó també els seus atributs, o sigui, permisos i propietaris.
Una bona idea per copiar el directori /etc és crear un fitxer amb la llista de fitxers i/o directoris que no volem copiar, en el meu cas: (exclude_list.txt)
/etc/fstab /etc/modprobe.d /etc/modutils
Després amb la següent comanda sincronitzem els fitxers i els seus permisos del servidor de producció al nou servidor:
rsync -cavz --delete --exclude-from=exclude_list.txt root@ip_publica:/etc/ /etc/
La resta de configuracions es poden copiar amb el mateix procés.
Molts ja coneixereu lsof, bàsicament aquesta eina fa una cosa tan senzilla i potent a la vegada com dir-nos quins fitxers estan sent usats en cada moment per un procés que esta corrent en el sistema. Això és realment útil per moltes situacions, per exemple, quan volem desmontar una unitat del sistema i no hi ha manera de fer-ho perquè algún procés té obert algún fitxer d’aquella unitat, doncs amb aquesta eina podriem saber quin procés és i prendre les mesures oportunes.
Doncs bé, només volia comentar que avui casuament he descobert el glsof que simplement és un entorn gràfic basat en GTK per usar la comanda lsof. Això en entorns d’escriptori ens simplifica moltíssim la feina d’aprenentatge dels molts paràmetres que suporta lsof.
Sovint quan montem un servidor FTP darrera d’un Firewall que fa DNAT per publicar els ports FTP (20, 21, tcp i udp) a internet ens deixa de funcionar l’FTP en mode Passive On. Llavors hem de fer allò tan molest i depenent del client tan difícil; o sigui, fer un Passive Off perquè la transmissió d’arxius, llistats de fitxers, etc. funcioni bé. Doncs avui cansat d’això en un servidor pure-ftpd que tinc montat a la feina i he posat solució ja que sinó tenia als tècnics molt limitats quan es trobaven a casa dels clients.
La cosa ha estat ben senzilla, només he hagut de llençar el pure-ftpd amb el paràmetre -p i especificar un rang de ports per on es faran les connexions passives. Jo he decidit que anessin entre el port 40000 i el 50000. Així doncs, el paràmetre ha quedat així: -p 40000:50000. Després al firewall he redirigit tot aquest rang de ports contra la IP interna del servidor i llestos (fent un DNAT). Ara ja funcionen perfectament els FTP passius.
Si tot això d’FTP passiu i no passiu, ús sona a xinès he trobat una petita web molt bona que explica la diferència entre un sistema i l’altre: Active FTP vs. Passive FTP, a Definitive Explanation (local).
Aquí podràs trobar moltíssima informació relacionada amb l'Oriol Rius. Des del blog, fins a moltes altres seccions. Les temàtiques que es tracten són tan de caire personal com de temàtiques tecnològiques. M'autodefineixo com un geek completament absorvit per la tecnologia i tot el que l'envolta. Bàsicament els aspectes tècnics que m'interessen són el Linux, networking, xarxes sense fils, veu sobre IP i molts d'altres temes relacionats. 





