7 de desembre del 2014

Trobar els fitxers modificats en l'ultim dia (o hora)

Ubuntu, o Linux en general, disposa de petites joies en forma de comandes del terminal que ens poden fer la vida molt fàcil. O no us heu trobat mai amb la necessitat de saber quins fitxers heu modificat fa un parell d'hores? O fa un parell de dies?
La comanda següent:
$ find . -mtime -1 -ls
ens permet localitzar tots els fitxers modificats durant l'últim dia. Canvieu el 1 pel número de dies que vulgueu...

I si voleu menys d'un dia? No patiu, també hi ha la possibilitat de buscar per minuts. Així:
$ find . -mmin -60 -ls
ens permet trobar els fitxers modificats en la darrera hora.

Fàcil i útil, veritat?

4 d’octubre del 2014

Emulant un Commodore 64 (C-64) a Ubuntu

Als que ja tenim una edat, de tant en tant ens agafa un rampell de nostàlgia. Deu ser per això que avui m'ha donat per instal·lar un emulador del que va ser el meu primer ordinador, el Commodoe 64.

Hi ha diverses opcions, però m'he decidit pel VICE, que ja el tenim present en la distribució:
$ sudo apt-get install vice
L'executem des del terminal per veure si genera algun error:


I efectivament, tenim un error. Si ens fixem en el que ens diu, podem veure que no ha trobat les ROMs per poder emular el C-64. Un tema de llicències.

Ho podem solucionar baixant el paquet amb el codi font, que sí que les inclou. Desempaquetem i copiem els fitxers necessaris:
$ sudo cp -vR vice-2.4/data/* /usr/lib/vice
I a recordar els bons vells temps:

28 de setembre del 2014

XML: identat correcte a Geany

Geany és un excel·lent editor de programació que utilitzo habitualment si no necessito treballar amb un entorn específic. Fins ara, una de les poques pegues que hi havia trobat era que no indentava automàticament els fitxers XML:



Però es pot solucionar fàcilment gràcies a l'execució de comandes externes i el programa xmlindent. En primer lloc, instal·lem aquesta darrera eina:
$ sudo apt-get install xmlindent

I llavors afegim la comanda al Geany, a Edita ->Formata -> Envia la Selecció a... -> Indica Ordre Pròpia i afegim:
xmlindent -i 4 -f

Amb això, ja ens l'haurà afegit. Ara la podem invocar des del menú, o amb l'abreviació de teclat corresponent (Ctrl+1 si és la primera ordre). Seleccionem tot el text, invoquem l'ordre, i el resultat:




Evidentment, podem jugar amb les opcions de xmlindent, o fins i tot utilitzar altres eines amb la mateixa tècnica per a obtenir el resultat desitjat.

Ja comentareu si us ha servit o utilitzeu altres eines o programes !

21 de setembre del 2014

ERROR: Ubuntu es queda esperant una tecla per arrencar [SOLUCIONAT]

Aquesta setmana he tingut un problema amb un servidor que no va arrencar. Vaig haver d'accedir-hi físicament, armat amb teclat i pantalla, per comprovar que simplement estava en el menú del GRUB, esperant una tecla per continuar!!!

Però si hi tinc posat un timeout! Havia d'arrencar sol al cap de tres segons. Cercant sobre el tema, de seguida vaig trobar un bug relacionat que em va portar a un altre bug on es descriu la font del problema: bàsicament, que s'ha afegit l'espera (infinita per defecte) d'una tecla quan el sistema no es va tancar correctament.

En resum, em va recordar allò de "no és una errada, és una prestació".

Per sort, conegut el problema, la solució és ben fàcil, ja que també es va introduir un opció per canviar el temps d'espera, o eliminar-lo completament. Vaja, una altra opció del GRUB que per desgràcia no ve en les configuracions per defecte.

Per solucionar-ho, editem el fitxer de configuració del GRUB a /etc/default/grub i afegim la línia (posant el timeout que vulgueu):
GRUB_RECORDFAIL_TIMEOUT=10
Tot seguit actualitzem amb les noves opcions:
$ sudo update-grub
I ja ho tenim solucionat!

25 de juliol del 2014

ERROR: VirtualBox, xarxa no disponible (SOLUCIONAT)

El VirtualBox és un sistema de virtualització que ens permet mantenir servidors amb versions antigues de certes aplicacions, o bé provar diferents configuracions o sistemes operatius. Molt útil en desenvolupament multi-plataforma, també.

Sovint és convenient crear una màquina virtual "base" en el VirtualBox, ja preparada amb la versió correcta de les nostres aplicacions preferides. Desprès només cal clonar-la i canviar allò que sigui específic de cada servidor particular.

Aquesta estratègia requereix:
  • Clonar la màquina virtual amb l'adreça MAC canvida.
  • Canviar el hostname allà on toqui: /etc/hostname i /etc/hosts.
Però això pot no ser suficient, i en podem trobar en que la màquina arrenca perfectament, però no té accés a la xarxa. Ens apareix un error tipus "connect: Network is unreachable".

El problema sol ser degut a que el canvi de MAC ha estat considerat com si s'hagués afegit una nova targeta de xarxa (és a dir, ja no tenim eth0). Per solucionar-lo, el més senzill és obligar a recrear la configuració de xarxa amb:
$ sudo rm /etc/udev/rules.d/70-persistent-net.rules
$ sudo reboot

Amb això es recrea eth0 i la màquina virtual ja té accés a la xarxa !!!

15 de juliol del 2014

ERROR: It is not safe to rely on the system's timezone settings (SOLUCIONAT)

En actualitzar la versió del PHP en un dels servidors Apache, em vaig trobar amb l'error: "Warning: date(): It is not safe to rely on the system's timezone settings.".

Sortosament, el problema és fàcil de solucionar. Només cal definir la zona horària en el fitxer php.ini:
$ gksudo gedit /etc/php5/apache2/php.ini


Tot seguit, reiniciem el servidor Apache:
$ sudo service apache2 restart
I problema solucionat !

10 de juliol del 2014

Cercar text directament en fitxers comprimits (*.gz)

En Ubuntu, o en Linux en general, de vegades trobem petites utilitats que ens fan la vida més fàcil. És el cas de zgrep, que ens permet buscar cadenes de text a l'estil de la comanda grep, però directament en fitxers comprimits amb gzip, però sense haver-los de descomprimir prèviament.

Per exemple, amb la comanda:
$ zgrep "BOOT_IMAGE" /var/log/dmesg*
Podem veure la línia de comanda amb la qual ha arrencat el nostre sistema Ubuntu les darreres vegades, tal com es mostra en la imatge.



Fixeu-vos com obtenim els resultats tant dels fitxers comprimits (*.gz) com dels que no ho estan.

Això resulta especialment útil per buscar informació en fitxers de registre del sistema. No trobeu?

4 de juliol del 2014

Llançadora local (només per a l'usuari)

Fa un temps vaig comentar com afegir una llançadora d'aplicacions per a Unity. En l'article es comentava com posar-lo al directori del sistema, per tal que estigui disponible per tots els usuaris.

Però de vegades pot convenir que només el vegi el nostre usuari (per exemple, jo ho he necessitat per a un script de compilació). El procés seria el mateix, però canviant el darrer pas per:

$ mkdir -p ~/.local/share/applications/
$ cp Web_Build.desktop ~/.local/share/applications/

I ja ho tenim:


D'acord. Admeto que podria haver escollit una icona millor. Però la idea ja la veieu, no?

7 de maig del 2014

SSH sense password (també a Gargoyle/Openwrt)

Si tot sovint us heu de connectar a servidors per SSH, segur que agraireu poder-ho fer sense haver d'entrar la clau de pas (password) cada vegada.

El procés és senzill. En la màquina des d'on us voleu connectar i amb el vostre compte d'usuari, obriu un terminal i feu:
$ ssh-keygen -t dsa
$ ssh-copy-id -i ~/.ssh/id_dsa nom_usuari@IP_Servidor

La primera comanda genera una clau que us identifica (només cal fer-ho si no la teniu generada d'abans). El millor és deixar la frase de pas buida, per poder connectar directament. El resultat és una clau que s'ens mostra en hexadecimal i també amb una curiosa imatge ASCII.

Tot seguit, amb la segona comanda copieu aquesta clau al servidor. Heu d'indicar la IP (o nom) i també el compte amb el qual voldreu accedir.

El procés el podeu veure en la imatge de sota. I si el que voleu és accedir a un ordinador, amb això ja en tindreu ben bé prou.


Ara bé, per poder accedir a un encaminador (router) amb Gargoyle o Openwrt, el procés encara no ha acabat. Si hi accediu per SSH podreu comprovar que us segueix demanant el password. Això és degut a que utilitza el dropbear, i li hem d'indicar on pot localitzar les claus.

Per això, en l'encaminador, feu:
# mv /root/.ssh/authorized_keys /etc/dropbear/
# ls -l /etc/dropbear/

La primera comanda copia la clau al lloc adequat pel dropbear, mentre que la segona permet verificar que els permisos del fitxer són els correctes, per un tema de seguretat.

Ara sí, si sortiu de l'encaminador i proveu de tornar a connectar-hi amb SSH, comprovareu que ja no us demana la clau de pas, tal com es pot comprovar en la imatge de sota.


Còmode, veritat?

6 d’abril del 2014

Canonical tanca Ubuntu One

Aquesta setmana Canonical, l'empresa que dona suporta a Ubuntu, ha anunciat en el seu blog que tanca Ubuntu One, el seu servei de sincronització de fitxers al núvol. Són males notícies pels usuaris d'Ubuntu.



És cert que hi ha molta i bona competència, com ara Dropbox, però què voleu que us digui, a mi m'agradava Ubuntu One.

23 de març del 2014

Actualitzar l'hora des d'internet des de la línia de comandes

Fa poc em vaig trobar que un dels meus servidors no estava en hora. Com que està corrent en una màquina virtual, no hi tinc cap escriptori instal·lat, i, per tant, vaig haver d'actualitzar l'hora des de la línia de comandes.

Crec que val la pena anotar-ho per una altra vegada. La comanda és:
$ sudo ntpdate time.nist.gov 
I el resultat:
Amb això actualitzem l'hora des d'internet, amb un rellotge de precisió.

21 de febrer del 2014

Nautilus crash a Saucy (nautilus:3414): GdkPixbuf-CRITICAL

Després d'una actualització rutinària de l'Ubuntu Saucy (13.10), m'he trobat que el navegador de fitxers, Nautilus, peta només d'engegar-lo. Per tant, impossible treballar.

Si us trobeu en un cas similar, el primer que cal fer és engegar-lo des del terminal, per veure quin error ens pot estar donat:

Violació de segment. Tal com em pensava.

A més, veig que algunes de les extensions s'han carregat correctament. Però segur que alguna altra no. El primer que cal fer és treure les extensions sospitoses:
$ cd /usr/share/nautilus-python
$ sudo mv extensions/ extensions_old 

Fet això, tornem a provar d'engegar el nautilus. Sense problemes aquest cop. Perfecte.

Ja només queda anar provant les extensions una a una, fins a detectar la que fa petar el navegador. I a treballar de nou com si res !

2 de febrer del 2014

Afegir una nova llançadora d'aplicacions a Ubuntu (Unity)

Tot i que el repositori d'Ubuntu és força extens, de vegades ens trobem amb aplicacions que s'han de baixar i instal·lar "a mà". Si tenim sort, s'integraran en l'entorn sense problemes, però també podem acabar amb un executable situat en un directori determinat. M'hi he trobat amb l'Aptana Studio 3, un bon editor si desenvolupeu en PHP.

Aleshores, com podem crear un llançadora per executar l'aplicació des del Dash?

Primer, necessitem editar un fitxer de text amb extensió .desktop, per exemple, Aptana.desktop, amb un contingut similar a:
[Desktop Entry]
Name=Aptana Studio 3
Comment=Editor PHP
Exec=/usr/local/Aptana_Studio_3/AptanaStudio3
Icon=/usr/local/Aptana_Studio_3/icon_48.xpm
Terminal=false
Type=Application
Categories=Development;IDE;

Tot seguit, l'hem de fer executable:
$ chmod +x Aptana.desktop

Abans d'afegir-lo a les llançadores d'Unity (Dash), pot ser convenient verificar que no hem comès cap errada amb:
$ desktop-file-validate Aptana.desktop

I si tot està bé, el copiem al directori de sistema:
$ sudo desktop-file-install Aptana.desktop

Ara, ja el podem executar des del Dash, com volíem:

El contingut del fitxer .desktop no necessita gaires esplicacions, excepte potser l'apartat de categories, que les podeu trobar en aquest enllaç.

I d'aquesta manera tant senzilla podem afegir al Dash aplicacions i scripts per utilitzar-los còmodament. Molt millor que haver-los d'anar a buscar en el seu directori, no us sembla?

7 de gener del 2014

Regal de Reis: Android 4.3 al Sansung S3

Després de gairebé un any des de la darrera actualització, el Samsung Galaxy S3 ha rebut un inesperat regal de Reis en forma d'actualització de la seva versió d'Android:


Més de 440MB (imatge de l'esquerra), així que baixeu-la preferiblement per xarxa sense fils i no amb el vostre pla de dades. I, saltant-se la 4.2, ha passat directament al Android 4.3 (imatge central).

Una de les primeres coses que de seguida crida l'atenció és el nou aspecte gràfic, més polit, i la reorganització dels menús. M'agrada especialment el nou tauler de notificacions (imatge de la dreta), que podem personalitzar al nostre gust, i on hi trobarem tot el que habitualment volem activar/desactivar en el dia a dia.

En resum, una actualització molt recomanable.