Apr 06

moblin: Per què uso Fedora Core 10?

Reading time: 2 – 4 minutes

Després d’estar molts anys sent un defensor aferrim de Gentoo, els meus companys/amics es fan creus que finalment m’hagi passat a Fedora. He dir que no renego pas de Gentoo, al contrari li reconeixo moltíssimes virtuts i considero que per developers i per gent que vulgui coneixer el sistema a fons i controlar-lo ell, no pas la distribució és el millor que hi ha.

Però per temes professionals m’he posat a treballar amb moblin, una distribució de Linux bàsicament subvencionada per intel. Doncs bé, la qüestió és que malgrat la v1 de moblin es basava en Ubuntu que ja tinc força per la mà, la v2 es basa en FC i d’això ja no en tenia ni idea. La qual cosa feia que no estigués familiaritzat amb l’entorn de desenvolupament i se’m feia molt feixuc avançar.

Per tant, vaig decidir aprofitar una posada de “pota” al disc dur del portàtil, per comprar-ne un de nou (ara en tinc un de 500Gb al Dell m1330) i instal·lar-hi una FC10. Per resumir-ho en una nota del 1 al 10, li posaria al voltant d’un 6. Escencialment el sistema funciona força bé i tot esta molt preparat perquè ràpidament es pugui instal·lar, mantenir i usar. Com podria ser amb Ubuntu, clar. Però té alguns tocs de professionalitat que el diferencien com el SELinux, o alguna altre eina que sorpren veure ben integrada que esta amb el sistema.

Tornant al moblin, pels que no sapigueu a què s’orienta el sistema a continuació en podeu veure un video de presentació:

Si voleu endinsar-vos més en les funcionalitats que ofereix i el seu estat de desenvolupament podeu fer-ho a:

  • Moblin v1: web de la versió 1.0 del sistema, on hi ha moltíssima informació molt professional ja que aquesta versió ja esta funcionant en alguns dispositius del mercat.
  • Moblin v2: versió encara en alpha, concretament en alpha2. Però que funciona molt bé i que malgrat esta verda promet moltíssim. Escencialment on jo estic involucrat és en aquesta versió.

Per cert, si algú es vol posar en el tema és important que no oblideu que la versió 2 trenca compatibilitat en moltíssimes coses amb la versió 1.

Arribats aquest punt de l’article només comentar-vos que jo ús ha de semblar extrany si a partir d’ara començo a publicar articles que parlin de FC i/o de moblin.

Jun 24

Microfon intern del Dell XPS m1330 funciona amb Linux

Reading time: < 1 minute

No m'havia posat a provar mai el microfon intern del portàtil ja que sempre havia llegit que no funcionava. Però ahir vaig actualitzar el kernel a la verisó 2.6.25-gentoo-r5 i hem vaig decidir a provar a veure què tal. Doncs bé la veritat és que oli en un llum. Ja que només he hagut de canviar la font d’entrada de gravacions i ha funcionat a la primera així és com l’he de deixar:

gnome volume manager

La veritat és que he tingut molta sort ;)

Apr 19

Podcast 1×04: problema coreutils, miroTV, animoto i Qik

Reading time: 2 – 2 minutes

La temàtica d’aquest podcast, al teniu resumida amb els enllaços:

  • quickpkg – generar paquets pre-compilats amb Gentoo des de paquets ja instal·lats
  • miroTV – programa per organitzar i miarar videocasts
  • animoto – montatges de fotografies i música, espectacular
  • Qik – video streaming des del mòbil i via internet

Un petit video que he fet amb animoto perquè ús feu una idea del que pot arribar a fer:

Perquè quedi ben clara la idea que intenta exportar Qik, adjunto una imatge/esquema de com funciona la idea:

qik schema

El podcast:

Apr 15

Podcast 1×02: Gentoo i futur dels servidors

Reading time: < 1 minute

Després de les mostres de suport del primer podcast, m'he animat avui mateix a fer el segon a veure com sortirà la cosa. Els temes dels que parlo són:

  • Gentoo: versió 2008.0, a petició del Sergi
  • Servidors virtualitzats i software appliances
  • Secció: Tabs, en aquesta secció parlaré de les webs que tinc obertes al meu navegador
  • Secció: Starred news, en aquesta secció parlaré de les notícies que he destacat al Google Reader

Finalment les seccions Tabs i Starred news han estat post-posades pel següent podcast.

Fe d’errades: l’extenció de firefox de la que parlo és diu Taboo i no Tatoo.

Feb 16

ARP Tools: arpdiscover buscant la IP dels dispositius de la xarxa

Reading time: 1 – 2 minutes

Sovint a les xarxes de les empreses hi tenim més connectades de les que recordem. O fins hi tot coses pitjors, hi ha algún dispositiu (p.exemple printserver) i no tenim ni idea de quina IP té per poder-hi connectar. Doncs amb les ARP Tools (paquet gentoo: net-analyzer/arptools) hi ha una eina que es diu arpdiscover que fa un enviament massiu de paquets ARP a la xarxa local per veure quines IPs ens contesten.

Per exemple:

$ sudo ./arpdiscover 10.19.83.1 5
using inteface eth0
our hw address is 00:11:D8:A9:D6:3B
our ip address is 10.19.83.5
bpf filter is 'ether dst 00:11:D8:A9:D6:3B && arp'
sniffer fork()ed into background with pid = 2535
request for hw address of ip address 10.19.83.1, 42 bytes to send, 42 bytes sent
received arp packet 60 bytes, hw address is 00:13:10:92:C2:E3, ip address is 10.19.83.1
request for hw address of ip address 10.19.83.2, 42 bytes to send, 42 bytes sent
request for hw address of ip address 10.19.83.3, 42 bytes to send, 42 bytes sent
request for hw address of ip address 10.19.83.4, 42 bytes to send, 42 bytes sent
request for hw address of ip address 10.19.83.5, 42 bytes to send, 42 bytes sent
waiting for sniffer terminate
sniffer terminated, exiting
scanner terminated
Dec 06

Actualitzant gentoo: emerge -uD world

Reading time: 2 – 3 minutes

gentoo.gifAls que usem Gentoo l’ordre del títol ens sona moltíssim, i encara més l’efecte típic que segueix a aquesta ordre quan tenim un munt de paquets per actualitzar i deixem l’ordinador tota la nit compilant, o no? perquè no… doncs perquè sovint en algún punt del procés ha sorgit un problema i s’ha parat la compilació. Un munt de temps perdut perquè el sistema esperava que corregíssim un problemilla que havia sorgit per poder continuar i els tropocientos paquets que hi havia per instal·lar s’han quedat a mitges.

Al Gentoo Weekly News d’aquesta setmana a l’apartat de Tips and Tricks ha sortit un script que de ben segur si el comenceu a usar no podreu viure sense ell. Realment útil, perquè s’encarrega just de solucionar el problema que he comentat. O sigui, que en cas de que fent una actualització un paquet doni un error ell seguirà compilant i al final deixarà dintre d’un fitxer un informe dels problemes que hagin sorgit durant l’upgrade del sistema.

Per instal·lar l’script:

# wget -O /usr/bin/update-world http://countzero.amidal.com/files/update-world
# chmod +x /usr/bin/update-world

Per preparar l’ugprade:

# update-world --prepare

Això crea una llista dels paquets que s’instal·laràn (equival a emerge -uD –newuse world). Si voleu també podeu generar una llista amb tots els paquets del sistema amb l’ordre update-world –empty, seria equivalent a emerge -e world). La llista de paquets a instal·lar la podeu trobar a ~/.update-world/emergelist, així que un cop generada la llista de paquets podeu modificar-la i després ja podeu llençar l’actualització:

# update-world --install

En cas de que falli un paquet durant el procés d’instal·lació/actualització de paquets (penseu que equival a emerge -uD world) a ~/.update-world/failedlist trobareu una llista amb els paquets que hagin fallat. A més també es crearà un enllaç a ~/.update-world/[date]/log/ cap al log amb l’error que ha donat aquest paquet.

Com podeu veure tot un gran enginy que simplificarà la feina d’administrar els sistemes Gentoo que tenim.

Oct 04

Ubuntu Adding Startup Daemon/Process

Reading time: 2 – 4 minutes

Aquest és un d’aquells articles que mai sé com titular en català. Així doncs s’ha quedat en anglès. Bàsicament es tracta de documentar una miqueta les suors que em va costar saber quin carai era l’equivalent al /etc/conf.d/local.start de Gentoo en Ubuntu. De fet, al final no el vaig trobar. El que he hagut de fer és crear un fitxer a /etc/init.d i llençar-lo com un dimoni d’arrancada en els runlevels que m’interessen. De fet, aquesta solució és més neta que la que jo volia aplicar inicialment però al final he perdut una bona estona per saber-ho fer i per això he decidit documentar-ho.

El problema concret que tenia és que volia llençar el Abyss Webserver al iniciar la màquina. Concretament l’ordre per llençar-lo és:

# su usuari /opt/abyssws/abyssws -d

Doncs bé per crear el fitxer que fes aquesta crida t’has de basar en el fitxer /etc/init.d/skeleton. Skeleton usa el mateix script que en Gentoo el start-stop-daemon per fer la crida del dimoni d’Abyss. Per saber més detalls sobre com funciona aquest complert script us recomano mirar el man de la comanda.

La comanda anterior per llençar l’Abyss basada en start-stop-daemon seria així:

start-stop-daemon --start --quiet --pidfile /var/run/abyssws.pid -u usuari --exec /opt/abyssws/abyssws -- -d

Pel que fa a l’script sencer també podeu usar un generador de fitxers d’inici de dimonis que he trobat a Robert Pectol’s Ubuntu Linux Projects Website – Startup Script Generator el problema és que aquest generador és molt bàsic i no suporta el pas de paràmetres contra el start-stop-daemon. O sigui, que no podriem definir quin és l’usuari que ha de llençar el dimoni.

Després de crear l’script que llençarà el dimoni només cal afegir-lo als runlevels que ens interessin. Per exemple, si volem que estigui disponible en qualsevol runlevel podem fer:

# update-rc.d script defaults

Si el que volem és iniciar-lo l’últim (posició 99) de la seqüència d’arrancada en els runlevels 2, 3, 4 i 5 la comanda seria així:

# update-rc.d -f script start 99 2 3 4 5

Si el que no sabeu és en quin runlevel esteu treballant és tan senzill com escriure runlevel i us informarà del runlevel actual. Una petita referència de quins són els runlevels existents la podeu trobar aquí.

Sep 22

Abeni – editor gràfic d’ebuils

Reading time: 2 – 2 minutes

Abeni és una IDE Per crear ebuilds (paquets de Gentoo). esta escrit en Python i usa wxPython per generar el seu aspecte GUI. Sembla una bona solució per tal de facilitar la vida als administrador o desenvolupadors que necessitin incorporar nous ebuils al portage.

Features

  • repoman CVS commits for Gentoo devs
  • Create patches with ease.
  • Create syntactically correct ebuilds
  • Access emerge and ebuild commands easily via Toolbar, Fkeys or menu.
  • Converts Source Forge URI’s to mirror:// format automatically
  • Scintilla editor with syntax highlighting of ebuild private portage functions or use your favortite external editor.
  • Function templates for creating live CVS ebuilds, games etc.
  • Toggle FEATURES=”noauto” with icon on toolbar
  • Icon on toolbar to open an xterm in ${WORKDIR}, CVS or ${D}
  • Shows which directories are unpacked – figure out ${S} automagically
  • After you unpack, configure and Makefile are displayed
  • View metadata.xml or edit it when committing to CVS with repoman.
  • Project management, interfaces with Bugzilla, submit ebuilds from Abeni.
  • Be lazy with DEPEND and let Abeni figure out the versions of packages installed
  • Ebuild Quick Reference
  • repoman scan
  • View diff of your ebuild vs version in PORTDIR
  • View eclasses or portage private functions with the built-in help system

Ara mateix encara esta marcat com a hard-masqued dintre del portage però espero que ben aviat pugui passar com a mínim a ~x86.

Aug 24

Gentoo: portage 2.1 funció elog

Reading time: 2 – 2 minutes

La versió 2.1 del portage de Gentoo que va entrar en mode estable fa uns mesos realment és un salt important en la gestió de paquets d’aquesta metadistribució. Així que si encara no us heu mirat les millores que incorpora us ho recomano moltíssim. La gent de linux.com han escrit un article que parla del ‘secrets’ d’aquesta nova versió del portage (local). De fet, la majora ja en sóc un asidu usuari, per exemple l’esearch o l’eix. Però hi ha una novetat que m’ha agradat moltíssim i que no coneixia. La podeu també trobada en l’article anterior. Però us en faré 5 centims.

Bàsciament es tracta de dues variables que es defineixen a make.conf. Amb aquestes variables podem definir quin és nivell de log que ens ha de mostrar la comanda emerge mentre compila un paquet i a més podem definir si volem que la sortida de missatges es guardi en un fitxer a /var/log/elog així quan compilem més d’un paquet de forma consecutiva podem veure si aquest ha tingut algún problema. De fet, on jo li veig més utilitat és en el típic paquet que dona problemes després d’instal·lar-se correctament. Doncs bé, podem comprobar si ha fallat alguna de les seves parts al compilar.

Les variables que s’han de definir al make.conf:

# This sets what to log
PORTAGE_ELOG_CLASSES="warn error log"
# And this is how to do it
PORTAGE_ELOG_SYSTEM="save"
Jul 04

Gentoo trick: eina quickpkg

Reading time: < 1 minute

Dins del paquet gentoolkit podem trobar una eina que fins fa una estoneta no coneixia i que per culpa d’això m’havia fet perdre molt de temps, l’eina és realment interessant s’anomena quickpkg i ens permet crear un paquet binari a partir d’un paquet ja existent en el sistema. Realment útil quan volem tenir la còpia de seguretat de la versió d’un paquet que ja funciona en la nostre màquina i volem provar una nova versió sense haver de perdre altre vegada tot el temps fins que es torna a fer la compilació del paquet. Així doncs amb aquest eina podem estalviar realment moltes hores perdudes, almenys en el meu cas les havia perdut fins ara tontament.

Els paquets que es crein amb quickpkg obviament quedaran a:

${PKGDIR}/All
${PKGDIR}/