domingo, 30 de diciembre de 2012

Linux: Saber el UUID de una partició

Definició de UUID (extret de http://blog.desdelinux.net/2-formas-de-saber-uuid-de-hdd/):


UUID son las siglas en inglés del Identificador Universalmente Único. Esto es un código identificador estándar que se utiliza en el proceso de construcción de software.
Su intención es la de habilitar un código de información único sin que tenga que haber una coordinación central para su generación, esto quiere decir que cualquiera debe poder generar un UUIDcon cierta información desde cualquier lugar sin tener que estar conectados a un dispositivo central que asigne los códigos. El archivo resultante se podrá mezclar en bases de datos sin tener conflictos de duplicados.
En el nosre cas ens interessa les UUID que identifiquen particions.
Hi ha 2 maneres senzilles de fer-ho:

root@debian:~# blkid
Sortirà algo tipus això:

/dev/sda2: UUID=”066652f1-aee6-4a2a-932a-106cf1174142” TYPE=”ext2″
/dev/sda3: UUID=”222fcc49-0fa1-431e-9210-5233f3bf889b” TYPE=”ext4″
/dev/sda5: UUID=”c7b2785c-6da0-4b8c-a780-cadb01b7227a” TYPE=”ext4″
/dev/sda6: UUID=”f3e50492-204f-4e52-9dfb-4f6bf44a711e” TYPE=”swap”


on en negreta és l'UUID de cada partició.

o també:

root@debian:~# ls -l /dev/disk/by-uuid/
I sortirà algo tipus això:
lrwxrwxrwx 1 root root 10 nov 14 11:35 222fcc49-0fa1-431e-9210-5233f3bf889b -> ../../sda3
lrwxrwxrwx 1 root root 10 nov 14 11:35 c7b2785c-6da0-4b8c-a780-cadb01b7227a -> ../../sda5
lrwxrwxrwx 1 root root 10 nov 14 11:35 f3e50492-204f-4e52-9dfb-4f6bf44a711e -> ../../sda6

on en negreta és l'UUID de cada partició. 

Linux: Saber si tenim activa la partició d'intercanvi (SWAP)

Al executar el VMWare em deia que la maquina virtual necessitava 128MB (crec recordar) de memòria swap i que en tenia 0MB. Així doncs per saber si tenim la partició swap activa:


xddxdd@debian:~$ cat /proc/swaps 

I hauria de sortir alguna cosa tipus això:

Filename                                Type            Size    Used    Priority
/dev/sda4                               partition       2051068 465124  -1

Linux: Referent a Zend Studio ...

Zend Server

A l'instal·lar Zend Studio em manca tenir el servidor. Per fer-ho l'empresa de Zend Studio ofereix 2 paquets: Un de pagament i un gratuit (evidentment amb menys característiques que el de pagament). Per instalar-ho a Debian amb PHP 5.3:

root@debian:/home/buga# apt-get install zend-server-ce-php-5.3

Per cert el repositori a afegir a sources.list es:


deb http://repos.zend.com/zend-server/deb server non-free

I per afegir la GPG Public Key:

root@debian:/home/buga# curl http://repos.zend.com/zend.key | apt-key add -

----------------------------------------------------------------------------------------------------------------------------------

Fallades a l'arrancar Zend Studio

Si a l'arrancar Zend Studio ens trobem el següent missatge d'error:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f5ae6d4fc21, pid=16755, tid=140029838595840
#
# JRE version: OpenJDK Runtime Environment (7.0_51-b31) (build 1.7.0_51-b31)
# Java VM: OpenJDK 64-Bit Server VM (24.51-b03 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libsoup-2.4.so.1+0x71c21]  soup_session_feature_detach+0x11
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/buga/programas/ZendStudio/hs_err_pid16755.log
#
# If you would like to submit a bug report, please include
# instructions on how to reproduce the bug and visit:
#   http://icedtea.classpath.org/bugzilla
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

La solució (després de preguntar a Sant Google unes MOLTES vegades) fou editar l'arxiu ZendStudio.ini i afegir-hi la següent línia:

-Dorg.eclipse.swt.browser.DefaultType=mozilla


sábado, 29 de diciembre de 2012

Linux: Borrar tots els caracters innecessaris del /var/log/apt/history.log per instal·lar els paquets que ens interessen

A vegades hem de manipular (instal·lar o borrar) paquets que ja estan a l'historial del APT (no entraré en detalls del perque ens pot interessar manipular aquests paquets) però tenim un inconvenient: que ens surten caràcters no acceptats per la comanda apt-get (la que permet instal·lar i/o borrar paquets).

Per exemple suposem que volem instal·lar aquests paquets:

Install: libmono-addins-gui0.2-cil:i386 (0.6.2-2, automatic), libkasten1controllers1:i386 (4.8.4-2, automatic), libmono-system-data4.0-cil:i386 (2.10.8.1-5, automatic), libmetacity-private0a:i386 (2.34.3-3, automatic), libgladeui-2-0:i386 (3.12.1-1, automatic), codeblocks:i386 (10.05-2.1), libmono-system-design4.0-cil:i386 (2.10.8.1-5, automatic), monodoc-base:i386 (2.10.8.1-5, automatic), libmono-web4.0-cil:i386 (2.10.8.1-5, automatic), libmono2.0-cil:i386 (2.10.8.1-5, automatic), libcanberra-gtk-module:i386 (0.28-5, automatic), libyelp0:i386 (3.4.2-1+b1, automatic), libmono-system-servicemodel4.0-cil:i386 (2.10.8.1-5, automatic), libmono-data-tds2.0-cil:i386 (2.10.8.1-5, automatic), libglade2.0-cil:i386 (2.12.10-5, automatic), libmono-system-data2.0-cil:i386 (2.10.8.1-5, automatic), libgtksourceview-3.0-0:i386 (3.4.2-1, automatic), bluefish:i386 (2.2.3-4), kdevelop:i386 (4.3.1-3+b1), libdevhelp-3-0:i386 (3.4.1-1, automatic), libgconf2.0-cil:i386 (2.24.2-2, automatic), libmono-system-runtime4.0-cil:i386 (2.10.8.1-5, automatic), libopts25:i386 (5.12-0.1, automatic)

Per fer-ho hauríem de fer un apt-get install i copiar NOMÉS el nom de cada paquet sense el que ve després. Però quan es tracta de molts paquets és una tasca pesada. Per sol·lucionar-ho:

1. Obrim un editor que permeti "Buscar y reemplazar" text (Kate, KWrite)
2. Copiem el tros de text del fitxer que estigui a /var/log/apt/ (generalment history.log) al editor.
3. Cliquem a "Editar" / "Reemplazar" i hi posem el següent text que ens borrara tots els caràcters que no ens interessen i només hi deixarà els noms dels paquets:

:[a-z]+[0-9]+\s+[(]+(([0-9]|[a-z])+([.]|[~]|[a-z]|[0-9]|[-]|[+])*)*([)]|[)]+[,]|[,]+\s+[a-z]+([)]|[)]+[,]))

Cliquem a "Reemplazar todo".

4. La cosa quedarà així en l'exemple:

Install: libmono-addins-gui0.2-cil libkasten1controllers1 libmono-system-data4.0-cil libmetacity-private0a libgladeui-2-0 codeblocks libmono-system-design4.0-cil monodoc-base libmono-web4.0-cil libmono2.0-cil libcanberra-gtk-module libyelp0 libmono-system-servicemodel4.0-cil libmono-data-tds2.0-cil libglade2.0-cil libmono-system-data2.0-cil libgtksourceview-3.0-0 bluefish kdevelop libdevhelp-3-0 libgconf2.0-cil libmono-system-runtime4.0-cil libopts25

5. Ara ja podem sel·leccionar aquest text i posar-lo a un apt-get install o un apt-get remove, aptitude install etc 

apt-get install libmono-addins-gui0.2-cil libkasten1controllers1 libmono-system-data4.0-cil libmetacity-private0a libgladeui-2-0 codeblocks libmono-system-design4.0-cil monodoc-base libmono-web4.0-cil libmono2.0-cil libcanberra-gtk-module libyelp0 libmono-system-servicemodel4.0-cil libmono-data-tds2.0-cil libglade2.0-cil libmono-system-data2.0-cil libgtksourceview-3.0-0 bluefish kdevelop libdevhelp-3-0 libgconf2.0-cil libmono-system-runtime4.0-cil libopts25