jueves, 31 de marzo de 2011

Riesgos de dd (para hacer discos de arranque)

La última imagen de dvd que copié a mi memoria usb usando # dd if=archivo of=/dev/sdX fue Archbang.

Recientemente acabo de ver el sistema de archivos de mi memoria USB es UDF y es de solo lectura, al punto que no puedo formatearla.
Hice otras bestialidades en mi desesperación, como intentar borrar el MBR, reemplazarlo por otra, dd if=/dev/zero of=/dev/sdX, gparted, parted, fdisk, cfdisk, testdisk y la peor de todas...
confundir /dev/sdb con /dev/sdc: eso significa que cuando creí que por fin había podido reparticionar la USB, había borrado la partición de uno de mis discos duros (chao películas).

Así que hoy estoy enojado con esas distros mediocres y vuelvo a Ubuntu xD

martes, 29 de marzo de 2011

Plantillas

Desde el explorador thunar, puedes hacer clic derecho en un espacio en blanco de la lista de archivos y escoger Create document, donde se desplegará una lista con las plantillas que pongas en tu carpeta de plantillas.

Es necesario especificar la carpeta de plantillas en el archivo ~/.config/user-dirs.dirs, por ejemplo:
XDG_DOWNLOAD_DIR="$HOME/download"
XDG_TEMPLATES_DIR="/home/th3pr0ph3t/templates"
XDG_PUBLICSHARE_DIR="$HOME/pub"
XDG_DOCUMENTS_DIR="$HOME/docs"
XDG_MUSIC_DIR="$HOME/music"
XDG_PICTURES_DIR="$HOME/img"
XDG_VIDEOS_DIR="$HOME/video"
XDG_DESKTOP_DIR="$HOME/desktop"


Si no funciona, prueba:

Asegurarte de que la ruta es real y no tiene enlaces simbólicos. En mi caso ~/templates era un enlace simbólico a otra partición y no funcionaba; lo cambié a la ruta absoluta (el destino del enlace simbólico) y funcionó.

Usar ruta absoluta en lugar $HOME.

viernes, 25 de marzo de 2011

Montar automáticamente dispositivos de almacenamiento

Una de las cosas que extrañaba de Ubuntu era que, al insertar una memoria USB o un CD, estén disponibles desde el explorador y montados en /media .

Para tener esto en Archbang basta:

instalar thunar-volman:
# pacman -S thunar-volman

abrir el explorador thunar, ir a Edit/Preferences, Advanced, Volume Manager, Configure

Nota: Ésto sólo funciona cuando hay una instancia de thunar, así esté en segundo plano.

Particiones y memorias flash con particiones

Cuando necesito hacer cambios a las particiones, prefiero GUI's.
Las herramientas de línea de comando no funcionan, los tutoriales tampoco (en mi caso).

La solución sencilla es usar palimpsest para formatear, encriptar y gparted para crear, borrar y redimensionar particiones.

En Archbang sólo tuve que instalar gparted:
# pacman -S gparted

palimpsest siempre estuvo ahí, aunque no aparece en el menú del sistema.


Lo que hice fue agregar una partición encriptada a la memoria Micro SD del blackberry.
Ahora tengo mis datos protegidos y ocultos, y puedo acceder a ellos desde computadoras con linux que tengan instalado cryptsetup, mientras que sistemas windows ni siquiera se dan cuenta de que hay datos ocultos, todo a través del cable USB del Blackberry ;)

domingo, 13 de marzo de 2011

LAMP (Linux+Apache+Mysql+PHP)

Teniendo MySQL instalado (http://th3pr0ph3t-archbang.blogspot.com/2011/03/mysql.html), falta Apache, PHP y MySQL para tener mi entorno de trabajo listo.

Las rutas en arch son totalmente diferentes a las de ubuntu, y herramientas como a2ensite y a2dissite no existen.

Usando la guía que está en la wiki de arch,
https://wiki.archlinux.org/index.php/Apache,
El resumen de instalación es este:

Instalar paquetes:
# pacman -S apache php php-apache

Editar /etc/httpd/conf/httpd.conf:
Cargar el módulo php: agregar una directiva LoadModule:
LoadModule php5_module modules/libphp5.so
Agregar handlers para php:
Include conf/extra/php5_module.conf
Y por supuesto agregar un Include con la configuración del servidor.

Revisar /etc/php/php.ini:
open_basedir
Revisar short_open_tag
Descomentar extension=mysql.so y extension=mysqli.so
Revisar date.timezone

Editar /etc/rc.conf y agregar @httpd a la lista de DAEMONS.

Reiniciar el servidor:
/etc/rc.d/httpd restart


Aplicaciones en castellano


Con Ubuntu en español, esto no es problema, pero en archbang en inglés, verás caracteres basura en lugar de eñes y tildes.

Es necesario mantener coherencia entre los conjuntos de caracteres que usan la base de datos y la aplicación web.

Por ejemplo, al crear la base de datos:
CREATE DATABASE basededatos
DEFAULT CHARACTER SET=latin1
COLLATE=latin1_swedish_ci;


Y al conectarse, desde php:

$conn = new mysqli(NULL, $usuario, $password, 'basededatos');
$conn->set_charset('latin1');

*La línea de set_charset no era necesaria en Ubuntu :/
Por una parte estoy contento de descubrir esto en casa y no al desplegar la aplicación a un servidor -- que sin duda NO usará ubuntu.

*Otra molestia que me dio mysql en archbang es que el motor de tablas predeterminado es InnoDB y no MyISAM.


Si httpd no arranca al inicio


En mi caso, el servidor apache no arrancaba en mi netbook, y /var/log/httpd/error_log decía:
...(EAI 3)Temporary failure in name resolution: mod_unique_id: unable to find IPv4 address of...
Esto ocurría porque sólo tenía la wireless y al momento de arrancar, no tenía una dirección ip.
Esto se arregló quitando el módulo que causaba el error, después de todo este servidor es para pruebas en localhost. Entonces, comenté en /etc/httpd/conf/httpd.conf la línea que decía:
#LoadModule unique_id_module modules/mod_unique_id.so

MySQL

https://wiki.archlinux.org/index.php/MySQL_(Español)

Instalación


Instalar el paquete; desde root:
pacman -S mysql

Iniciar el demonio (sólo esta vez):
/etc/rc.d/mysqld start

Configurar el servidor:
/usr/bin/mysql_secure_installation

Hacer que el demonio arranque siempre:
Agregar @mysqld a la lista DAEMONS en /etc/rc.conf

Escritorio remoto (modo fácil)

En el servidor


Instalar x11vnc. Desde un terminal de root:
pacman -S x11vnc

Configurar el usuario. Desde un terminal de usuario (no root):
x11vnc -storepasswd
El asistente guardará la contraseña en ~/.vnc/passwd

En mi caso, prefiero tenerlo en un script y correr el script sólo cuando quiero entrar de lejos a la pc. En ese caso, creo un script en ~/bin/ que dice así:
#!/bin/sh
# crea un servidor vnc con acceso al escritorio local
x11vnc -rfbauth .vnc/passwd -display :0 -forever -ncache_cr


En el cliente (archbang)


Necesito el programa vncviewer Desde un terminal de root, instalo tightvnc:
pacman -S tightvnc

Siempre desde un terminal (que no sea de root):
vncviewer ipdelaotrapc

Y listo.

Problemas conocidos

Las teclas como Alt-F2 para ejecutar y Alt-F4 para cerrar ventana no serán enviadas al escritorio remoto. Si necesito eso uso vinagre, otro cliente vnc que funciona mejor pero es más lento (menos fps).