Es mostren els missatges amb l'etiqueta de comentaris trucs. Mostrar tots els missatges
Es mostren els missatges amb l'etiqueta de comentaris trucs. Mostrar tots els missatges

14 de març del 2018

Múltiples espais de treball (escriptoris) a Ubuntu

Fa temps que m'he acostumat a treballar amb múltiples espais de treball (escriptoris). En concret, jo utilitzo una configuració de 2x4.

Normalment, ho configuro amb alguna aplicació, però sempre em costa trobar el lloc concret on es defineix. Així que he buscat com fer-ho usant la línia de comanda i aquí teniu la solució:
 $ gsettings set \
   org.compiz.core:/org/compiz/profiles/unity/plugins/core/ vsize 2
 $ gsettings set \
   org.compiz.core:/org/compiz/profiles/unity/plugins/core/ hsize 4

I el resultat:

Observeu al centre l'intercanviador d'escriptoris de 2x4 !!

Fàcil i ràpid, eh?

28 de març del 2015

ERROR: Ubuntu es queda esperant per reparar el sistema de fitxers [SOLUCIONAT]

Fa uns mesos em vaig trobar amb un problema en un servidor, que es quedava en el GRUB esperant una tecla per arrencar. Això ja va quedar resolt, però aquesta setmana m'ha passat una cosa molt similar: un servidor s'ha quedat aturat esperant una tecla abans de provar de reparar el sistema de fitxers en arrencar, després d'apagar-se per una fallada elèctrica.

Sembla que Ubuntu fa que s'aturi la comprovació i es demani la intervenció de l'usuari (que normalment consisteix en prémer la tecla per provar de fer la reparació automàtica).

En fi, per evitar que això torni a passar, cal editar un fitxer de configuració i posar l'opció FSCKFIX=yes:
$ sudo nano /etc/default/rcS

Amb això ja arrencarà sense problemes la propera vegada que passi. A menys que hi hagi un problema gros de veritat, es clar !

21 de febrer del 2015

Veure la versió d'Ubuntu des de la línia de comandes

Tot  sovint convé saber la versió d'Ubuntu en la que ens trobem, sobretot si treballem amb múltiples servidors al llarg del temps. Pot ser necessari per temes de compatibilitats, etc...

Si disposem d'entorn gràfic, n'hi ha prou d'anar a l'opció de "Quant aquest ordinador" dins del menú de sessions (la rodeta de dreta del tot de la barra d'eines):


Però en un servidor no disposem d'aquesta possibilitat. Per sort, tenim la comanda que en dirà la versió:
$ lsb_release -a
I també la que ens pot dir si estem treballant amb 32 o 64 bits:
$ getconf LONG_BIT
Senzill i molt útil !

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?

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 !!!

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?

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ó.

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 novembre del 2013

Actualitzant el microcodi del processador (CPU Intel)

Si teniu un processador Intel, podeu millorar-ne el rendiment o corregir petites errades actualitzant el seu microcodi (fent una analogia, seria quelcom similar a actualitzar la BIOS del PC, però en la CPU o processador).

Aquesta tasca normalment la fa la BIOS de la placa base, però sovint no l'actualitzem prou, o bé el fabricant ja no ens en proporciona noves versions. Sigui com sigui, podem fer-ho fàcilment des del nostre Ubuntu:
$ sudo apt-get install microcode.ctl intel-microcode

Reiniciem l'ordinador i podem comprovar si s'ha aplicat correctament el nou microcodi amb:
$ dmesg | grep microcode

El resultat es pot veure en la imatge següent:


Tal com es pot comprovar, s'ha aplicat el darrer microcodi (juny del 2013) sense problemes. També es pot veure que el PEBS, que inicialment estava deshabilitat degut a una errada, ara ja s'ha activat correctament.

Tot en ordre !

Font: Easy Linux tips project

28 d’octubre del 2013

Ubuntu Saucy 13.10 i els servidors web virtuals (VirtualHost)

Amb l'actualització a Ubuntu Saucy 13.10 m'he trobat que no em funcionaven els diferents projectes web que tenia en el servidor local.

El problema té fàcil solució. Resulta que Ubuntu ha actualitzat la versió del servidor Apache, tal com es pot veure amb la comanda:
$ apache2 -v
Server version: Apache/2.4.6 (Ubuntu)
Server built:   Aug  9 2013 14:28:56

En resum, simplement hem de fer que el fitxer que conté les declaracions del servidors virtuals acabi en .conf i reiniciar Apache:
$ cd /etc/apache2/sites-available
$ sudo mv vhosts vhosts.conf
$ sudo service apache2 restart

I ja ho tenim.

25 d’octubre del 2013

Recuperar la Paperera en una partició enllaçada (o en un altre disc dur)

Un disc dur SSD és una gran compra, ja us ho asseguro (per dades de rendiment més concretes, em remeto a l'article anterior).

Segurament, l'únic problema és que té l'espai limitat, sobretot comparat amb els discs mecànics, que fàcilment poden tenir diversos TB. Per aquest motiu, algunes carpetes del directori d'usuari, les més pesades, les he mogut cap a un disc mecànic.

Però m'he trobat que ara ja no puc enviar res del que es troba en aquest disc enllaçat a la paperera. O ho suprimeixo definitivament, o no ho puc esborrar. Això passa perquè, si Ubuntu ho enviés a la paperera, en realitat s'hauria de copiar sobre el disc SSD (que és on tinc la carpeta d'usuari).

Però no patiu, que hi ha solució: es tracta de crear una nova paperera per al nostre usuari en el directori arrel del disc dur mecànic:
$ cd /home/HDD
$ sudo mkdir .Trash-1000
$ sudo chown usuari:usuari .Trash-1000/
$ nautilus -q

  1. En primer lloc anem a la carpeta arrel on tenim muntat el disc dur mecànic o la partició (enlloc de /home/HDD utilitzeu el vostre directori arrel). 
  2. En segon lloc creem una carpeta que servirà de paperera pel nostre usuari (1000 és l'identificador d'usuari quan només en tenim un de creat). 
  3. Tot seguit, canviem la propietat d'aquesta carpeta (enlloc d'usuari, utilitzeu el nom que us correspongui).
  4. Finalment, tanquem el navegador de fitxers, nautilus.
Ara ja podem tornar a obrir el navegador de fitxers i utilitzar la paperera normalment, també en el disc mecànic. Fàcil, no?

11 d’octubre del 2013

Fent espai al disc de sistema: esborrant els fitxers d'actualitzacions antigues

Habitualment utilitzo una partició separada pel sistema operatiu. No cal que sigui molt gran, així que ara mateix hi tinc uns 25GB dedicats.

Però l'altre dia em vaig adonar que m'estava quedant sense espai, cosa que podia ser un problema de cara a generar fitxers temporals per gravar un DVD de doble capa. Però això és una altra història. No ens emboliquem.

El cas és que ja fa més de dos anys que vaig fer la primera instal·lació d'Ubuntu en aquesta màquina, i l'he anat actualitzant a cada nova versió que ha sortit. Això són dos cos per any. Tot plegat, fa un munt de paquets i actualitzacions...

Efectivament, vaig poder comprovar que el directori que guarda els paquets i actualitzacions descarregades (/var/cache/apt) ocupava força més de 10GB. Per netejar-lo, no el podem esborrar directament, ja que no li agradaria gaire al sistema d'actualitzacions apt-get. Cal fer-ho així:
sudo apt-get clean
I ja està. Torno a tenir espai per treballar.

I ara, a esperar la propera sortida d'Ubuntu 13.10 Saucy Salamander !!

20 de setembre del 2013

Càrrega dels recursos de l'ordinador a la barra d'Ubuntu

De vegades, la millor manera de veure què li passa a un ordinador que "va lent" o que "triga molt en arrencar" consisteix en veure el seu comportament amb l'ajuda d'alguna eina senzilla. A mi m'agrada una aplicació que mostra l'estat dels recursos del sistema (memòria, CPU, disc dur, etc) en la barra superior. Es tracta del indicator-multiload.

L'instal·lem des de la línia de comandes amb:
sudo apt-get install indicator-multiload 
I la cridem des del Dash:


Immediatament ens apareix una gràfica que monitoritza l'ús de la CPU. Si ens hi situem a sobre, podem obrir el menú amb el botó de la dreta. Anem a preferències i el configurem al nostre gust. Jo el tinc com segueix:

I aquí el teniu, configurat i integrat a la barra:

Ara n'hi ha prou de donar un cop d'ull a la pantalla per saber on està el coll d'ampolla de l'ordinador, quan vagi lent. A mi m'ha servit, sobretot, per detectar problemes de memòria en certes aplicacions. I a vosaltres, us convenç?

27 de juliol del 2013

Comprar a Amazon al millor preu amb Keepa

Si com a mi us agrada anar tafanejant per Amazon i seguir l'evolució de preus d'algun article per tal de comprar al millor preu possible, no us podeu perdre l'extensió Keepa del Firefox (disponible també pel Chrome).

Amb Firefox, descarreguem l'extensió Keepa, instal·lem i reiniciem el navegador:



I ja ho tenim, realment. Ara, simplement anem a Amazon per xafardejar com sempre, i quan estiguem en la fitxa d'un producte tenim una nova gràfica amb indicacions de l'evolució de preus del producte al llarg del temps:


I us podeu trobar amb alguna sorpresa. En la imatge de l'exemple, aquest Xperia T va passa de poc més de 300€ a més de 415€ durant uns dies. Com per comprar-lo en el moment equivocat, no creieu?

Amb Keepa podem:
  • Visualitzar ràpidament l'evolució de preus d'un producte.
  • Comparar el preu entre els diferents Amazons (.es .de .uk .com ...).
  • Fixar preus objectius per un producte i deixar que ens avisi quan s'hi arribi.
En fi, si us decidiu a provar-la, segur que li traureu rendiment. Ja m'ho direu!

11 de juny del 2013

Dropbox: Excloure carpetes .svn del Subversion

Ja fa temps que vaig parlar del Dropbox. Per cert, que si algú s'hi vol apuntar i utilitza aquest enllaç, els dos tindrem 500MB extres ;-)

Jo l'utilitzo per sincronitzar entre diferents PCs algunes aplicacions que també tinc al Subversion. Per què no ho faig directament amb el Subversion? L'ordinador remot no sempre té accés al servidor i, a més, m'agrada que el Dropbox faci la sincronització de forma immediata, sense haver d'esperar un update manual.

El cas és que es sincronitzen també les carpetes ocultes .svn, que contenen els fitxers de control del Subversion, i que poden ocupar una bona colla de MB. Però si les traiem del Dropbox amb l'eina gràfica, o si les esborrem directament, el Subversion deixa de funcionar (lògicament).

La solució és una mica enrevessada, ja us ho dic ara. L'explicació bàsica la podem trobar en l'ajuda del propi Dropbox sobre com escollir les carpetes a sincronitzar en Linux.

En primer lloc, em de baixar un script python per executar comandes Dropbox des de línia de comandes, i el fem executable:



Tot seguit, eliminem la carpeta .svn amb la utilitat que acabem de descarregar:
$ dropbox.py exclude add .svn

Ara ja no es sincronitzarà més, però el Dropbox ens l'ha esborrat i ja no funcionaria el Subversion. El que hem de fer és tornar a fer un Checkout del directori arrel del projecte. La carpeta .svn es tornarà a crear, però marcada com a carpeta ignorada i el Dropbox continuarà sense sincronitzar-la.

No és un procediment gaire intuïtiu, però funciona !

7 de juny del 2013

Subversion: afegir fitxers ignorats globalment

El Subversion és un sistema de control de versions molt utilitzat en programació, tot i que recentment el git li va traient protagonisme.

Sigui com sigui, fa uns dies em vaig trobar que m'estava ignorant unes llibreries, cosa que en general ja està bé, però que vaig trobar a faltar força en provar de compilar en un altre ordinador :-(

Per tal que no torni a passar, i sempre que vulgueu saber quins fitxers s'estan ignorant pel Subversion, us pot ser d'utilitat la comanda:
$ svn status --no-ignore | grep "I  "

L'executem en l'arrel del directori que volem verificar i ens llista els fitxers que s'estan ignorant en aquell directori. Si n'hi ha algun que hauria d'estar sota el control de versions, el podem afegir manualment amb:
$ svn add nom_del_fitxer
A veure si no se m'oblida ;-)