Category: Networking and Internet

Ubuntu Adding Startup Daemon/Process

Reading time: 8 – 14 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í.

Com funciona un switch segons Cisco (LAN SWITCH)

Reading time: < 1 minute

La gent de Cisco ha elavorat un document tècnic per les masses. O sigui, s’explica detalls del funcionament intern d’un switch de xarxa local ethernet (LAN) però a través de metàfores i d’altres recursos que simplifiquen moltíssim els detalls tècnics. És un document ideal per quan s’ha d’explicar el concepte a gent no tècnica. A més també inclou una animació en flash sobre el tema que és molt gràfica i senzilla d’entendre.

kvpnc: client universal d’VPN per kde

Reading time: 1 – 2 minutes

GUI per clients d’VPN universal, suporta openVPN, cisco VPN client, FreeS/WAN (Linux 2.4.x), ipsec-tools support (Linux 2.6.x/BSD native), PPTP support (pptpclient). A més s’encarrega de fer la gestió de certificats i perfils dins d’un mateix tipus d’VPN. Realment molt útil si com jo heu de tenir a mà múltiples sistemes de connexió remots per diferents empreses i entorns de xarxa molt canviants.

screenshot-kvpnc.png

Val la pena que hi doneu un cop d’ull a la infinitat de funcionalitats que ofereix el programa. A més de ben segur que el podeu fer correr amb l’idioma que més us agradi i, com no, esta suportat al portage de gentoo. Així que ja només queda que proveu l’kvpnc i a veure si us agrada tan com a mi.

alock: bloquejant el teclat i el ratolí

Reading time: 1 – 2 minutes

Per fi ho he trobat. Feia dies que buscava una petita eina molt tonta però que no aconseguia trobar enlloc de lo senzilla que la volia. El tema és tan simple com que quan desde les X’s llenço aquest aplicatiu vull que el teclat i el ratolí deixin de funcionar, però sense perdre el que tinc a la pantalla. A més sense possibilitat de tornar al sistema desde la consola. O sigui, per exemple, que hagim de connectar per ssh o qualsevol altre protocol de xarxa per tal de matar el procés que ens ha bloquejat la consola.

De moment la finalitat de perquè vull això la deixaré a l’aire i d’aquí unes setmanes ja ho situareu vosaltres mateixos. Ara mateix només us informo que l’eina que m’ha permès fer algo tan senzill com això es diu alock (codi font local). Perquè fassi el que us comento només cal llençar-lo així ./alock -auth none. Llestos i només amb 58Kb.

Aprofito per donar les gràcies a la gent de TheList per la seva ajuda en la busqueda.

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.

Gtalk-to-VoIP

Reading time: 2 – 2 minutes

gtalk-to-voip.png

GTalk2VoIP és un servei que permet connectar la nostre compte de Gtalk o de MSN a les xarxes PSTN, per fer i rebre trucades de VoIP, a telèfons fixes i mòbils convencionals.

Serveis disponibles:

  • Outgoing calls from Google Talk or Windows Live Messenger to any telephone number (PSTN) around the world in a very cheap manner.
  • Incoming calls from PSTN to Google Talk or Windows Live Messenger users (phone number lease service).
  • Free voice mail service for Google Talk or Windows Live Messenger users.
  • Free voice conference chat service for Google Talk or Windows Live Messenger users.
  • Ranking (by voting and real-time ASR monitoring) of VoIP service providers used for your calls routing.
  • Free off-line messaging for Google Talk users.
  • Call from the Web service allows you to receive phone calls from your potencial customers right from your web site.
  • Free outgoing calls to SIP phones.
  • Free incoming calls from SIP phones.
  • Free access to Google Talk and Windows Live Messenger from PSTN via SIPBroker (large number of PSTN gateway phone numbers).

El millor és que no hem d’instal·lar cap programa nou ni res de res, realment interessant sobretot per usar-ho des del nokia 770, tot i que encara no ho he fet però ja me’n moro de ganes de provar-ho.

Sistemes de fitxers diversos, per tots els gustos

Reading time: 1 – 2 minutes

A través del wiki de FUSE he trobat un llistat de sistemes de fitxers molt originals soportats per Linux a través del propi FUSE. Pels que no ús soni el FUSE, diré que amb FUSE és possible implementar un sistema de fitxers usant funcions d’espai d’usuari, o sigui, independents del kernel. Assegurant així l’estavilitat del sistema malgrat esta incorporant coses de tan baix nivell com els sistems de fitxers dins del kernel.

Per exemple, es poden fer coses tan interessants com usar com a disc dur virtual una compte de gmail, montar un FTP al nostre sistema de fitxers com si fos local, montar una compte de flickr dins dels nostres directoris, etc. Realment val la pena perdre 10min en mirar-se el llistat a fons ja que ens dona mil i una idees només llegint-lo.

tagfs: Music library file system

Reading time: < 1 minute

Sistema de fitxers que combiana la potència d’una bbdd (sqlite) per tal d’oferir un tagged filesystem. O sigui, que els nostres arxius d’audio (.mp3 i .ogg) s’organitzen al sistema de fitxers no només com a fitxers sinó també amb els atributs de les etiquetes ID3, o sigui, autor, nom album, nom cançó, etc. Malgrat crec que és una idea excel·lent, que ja hi ha grans empreses que fan coses semblants (MS amb el WinFS) li falta una mica de potència. Ja que només suporta dos tipus de fitxers i només de música.

Per si li voleu donar un cop d’ull ho podeu trobar a TagFS project page.

Screen tips: més d’un usuari en una sessió

Reading time: 8 – 13 minutes

Quan vaig descobrir la comanda screen la vaig trobar potentíssima. Ben aviat me’n vaig enamorar, el que no m’hagués pensat mai és que es podrien fer coses tan interessants com les que explica l’article: Using screen for remote interaction (local). Per exemple, podem deixar una sessió oberta d’screen i accedir-hi des de més d’un client de forma simultanea. Tan en mode lectura, només veure el que hi ha, com escriptura, poder modificar en temps real el que conté el terminal virtual d’screen simultaneament des de més d’un lloc. Com us podeu imaginar això és ideal, per exemple, per poder ensenyar-li a algú com es fa alguna cosa.

Resum de comandes per tal de llençar una sessió d’screen i connectar-la en remot en mode lectura i escriptura:

1. Sessió principal: Cal que el binari <em>/usr/bin/screen</em> estigui <em>setuid root</em>.
2. Sessió principal: llencem <em>screen</em>: screen -S nom_sessio
3. Sessió secundària: connectem al PC de la 'sessió principal' amb SSH.
4. Sessió principal: Crt-a :multiuser on
5. Sessió principal: Crt-a :acladd loginID
6. Sessió secundària: screen -x usuari/nom_sessio

A més per si això fos poc, també podem grabar la sessió amb tots els moviments de cursor a través del propi screen sense haver d’usar comandes, com ara script.

Resum de comandes per grabar una sessió amb screen:

screen -S nom_sessio -L
o bé quan estem en una sessió:
Crt-a H

Cal recordar que igual que passa amb la comanda script, screen tampoc suporta els caràcters d’escapament ANSI que permeten mostrar colors a la pantalla. Per tant, si el nostre ls és amb colorets no funcionarà, cal que fem això per solucionar-ho: alias ls=’ls –color=none’.

Gentoo: portage 2.1 funció elog

Reading time: 4 – 6 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"
Scroll to Top