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

Archbang en la netbook

Instalé Archbang en mi Compaq CQ10-420LA sin problemas. Fue una agradable sorpresa ver que todo, incluido la red inalámbrica, funcionó.

USB
Puse el instalador en una memoria USB desde la PC que corre Arch.

1) Encontré el nombre de dispositivo de la memoria (en mi caso /dev/sdc):
Si inserto la memoria USB y la exploro con el navegador (thunar), veo en la barra de direcciones la ruta donde se ha montado, (/media/th3pr0ph3tusb)
Entonces, saqué el nombre del dispositivo con el comando:
mount | grep th3pr0ph3tusb

2) Desmonté la memoria haciendo clic en el botón expulsar que aparece junto a la memoria en el navegador thunar. (podría haber sido también con umount /media/th3pr0ph3tusb)

3) Desde un terminal de root, en la carpeta donde tengo la imagen iso de archbang
(http://archbang.org/download):
dd if=ArchBang-2011.02.04-i686.iso of=/dev/sdc
*El nombre del archivo .iso y la ruta del dispositivo (/dev/sdc) cambia de un caso a otro.


Arrancando del USB
Con la memoria USB conectada, reinicio la netbook y presiono Esc para acceder al menú de arranque y bootear desde la USB.
Archbang arranca sin problemas del "Live USB".


Instalando

La instalación fue casi normal, sólo que con problemas para hacer espacio para nuevas particiones (esta netbook viene con Windows XP y sin una licencia escrita ni instalador en usb, cd y ni siquiera una partición en el disco duro).
Lo que debí haber hecho aquí es iniciar con el live usb de ubuntu, correr gparted para achicar la partición de windows y volver a archbang.

En lugar de eso, usé archbang con ntfsresize y fdisk para encoger la partición: Windows XP siguió funcionando bien pero Archbang se congelaba.


Volví a instalar Archbang esta vez usando todo el disco y todo salió bien. --me pregunto si volveré a necesitar Windows XP algún día...

sábado, 12 de marzo de 2011

Bluetooth

No funciona.

Para más información: https://wiki.archlinux.org/index.php/Bluetooth

~/bin

Tengo mis scripts en la carpeta bin de mi carpeta personal.

Para poder ejecutarlos desde la línea de comandos o desde la ventana ejecutar, tuve que crear un archivo, ~/.profile con este contenido
if [ -d "$HOME/bin" ]; then {
    PATH="$HOME/bin:$PATH"
}
fi

viernes, 11 de marzo de 2011

ssh

ssh (secure shell) es esencial para acceder a la pc de lejos.

Mientras Ubuntu viene con el cliente ssh instalado y para el servidor basta instalar openssh-server, en Archbang es más complicado...

Primero instalar openssh:
pacman -S openssh

Con esto ya tenemos el cliente ssh listo para usar.
Para tener servidor ssh y poder acceder a esta máquina:

Permitir conexiones: Agregar la siguiente línea a /etc/hosts.allow :
sshd: ALL
o, en mi caso, en el que todas las conexiones vendrán de la red local:
sshd: 192.168.

Iniciar el demonio: agrega sshd a /etc/rc.conf modificando la línea que dice así:
DAEMONS=(dbus hal syslog-ng !network !dhcdbd !networkmanager @alsa @wicd @sshd)

Y reinicia.

***

Esto fue la versión corta de http://wiki.archlinux.org/index.php/SSH#OpenSSH

miércoles, 9 de marzo de 2011

configurar el teclado

Archbang está con traducciones a inglés y alemán nomás. Sin embargo, cuando presiono la ñ quiero que salga la ñ. Entonces, para configurar mi teclado con distribución españa (nótese que en latinoamérica se usa más la distribución española y no la latinoaméricana) hice lo siguiente:

En consola:
Editar /etc/rc.conf y cambiar KEYMAP a "es".
Esto hará que el teclado en español funcione en terminales en modo texto.

En X:
Editar ~/.config/openbox/autostart.sh y agregar:
(setxkbmap es && xmodmap) &
Esto pondrá el teclado en español (después de iniciar sesión, antes no habrá eñes ni tildes)
xmodmap carga el archivo ~/.xmodmaprc que tiene mi configuración personalizada de teclado, entre ellas, deshacerme de la cedilla y usar teclas de dirección de vim con alt-gr.
El & es para ejecutar comandos simultáneamente y && para comandos que se ejecutan uno detrás de otro.
Nótese que xmodmap va después de setxkbmap.

Mientras tanto, mi archivo .xmodmaprc dice así:
remove Lock = Caps_Lock
add mod5 = Caps_Lock

! vim keys
keycode 43 = h H h H Left Left
keycode 44 = j J j J Down Down
keycode 45 = k K k K Up Up
keycode 46 = l L l L Right Right

! pagedown/up/home
keycode 40 = d D d D Next Next
keycode 41 = f F f F Next Next
keycode 30 = u U u U Prior Prior
keycode 56 = b B b B Prior Prior
keycode 31 = i I i I Home Home
keycode 32 = o O o O End End

! cedilla out!
keycode 51 = Return Return Return Return braceright Escape
! brackets:
keycode 17 = 8 parenleft 8 parenleft bracketleft braceleft
keycode 18 = 9 parenright 9 parenright bracketright braceright
! ,
keycode 59 = comma semicolon horizconnector multiply Delete



Edit:
Últimamente la tecla Caps_Lock dejó de ser asignable: aunque le haga remove lock = Caps_Lock seguía funcionando.

Entonces reemplacé la segunda línea de xmodmap, que decía así:
add mod5 = Caps_Lock
por:
keycode 66 = ISO_Level3_Shift

Que hace que la tecla Caps_Lock sea igual al AltGr (en lugar de asignar el efecto de AltGr a Caps_Lock).

No entiendo por qué xmodmap funciona a veces sí - y a veces no de una distro a otra... quizá deba volver a crunchbang. :/


Atajos de teclado
Archbang tiene muchas combinaciones de teclas y muy pocas son útiles.
Para cambiar teclas como alt-f1 para mostrar el menú, ejecuta obkey o ve a
Menú principal/Preferences/Openbox config/Key editor
y cambiar lo que te plazca:

Mis combinaciones de tecla son:
C-A-Flechas: Cambiar de escritorio
C-A-S-Flechas: Mover ventana a otro escritorio
W-d: Mostrar escritorio
A-f4: Cerrar ventana
A-f2: Ejecutar
A-f3: gksu
W-f: Explorador
W-t: Terminal
S-A-w: Maximizar/desmaximizar

En obkey, el primer botón de la barra de botones es "Aplicar".
Recuerda aplicar después de editar los accesos directos. -.-'

instalar paquetes

  • Arch no tiene sudo: hay que usar su antes de usar comandos administrativos.
  • Actualizar el sistema: pacman -Syyu (o Windows+U)
  • Buscar un paquete: pacman -Ss paquete
  • Instalar un paquete: pacman -S paquete
  • Desinstalar un paquete: pacman -R paquete

Instalación

El CD de Archbang es un live CD (El sistema operativo carga desde el CD).

El menú principal aparece haciendo clic derecho en el escritorio.

Me gustó la opción de copiar a RAM - Todo el CD se copia a la memoria y puedes instalar con más confianza (no habrá errores de lectura).

La instalación es en modo texto, igual a la de Arch linux pero desde una ventana de terminal.

[screenshot]

Arch es un modelo para armar: no te oculta cosas y en lugar de un asistente te muestra un menú que debes seguir paso a paso, o saltar pasos. En mi caso, mis particiones quedaron así:

/dev/sda1 [boot] ext4 12GB (ubuntu), sin punto de montaje
/dev/sda2 swap 17MB
/dev/sda3 ext4 ext4 5GB, /tmp
/dev/sda4 extendida [
/dev/sda5 ext4 /home 204GB (home) /ubuntu (*)
/dev/sda6 ext4 / 8GB
(espacio libre para otras distros)
]


* La partición grande es /home desde ubuntu y será /ubuntu desde otras distros.
De esa forma podré acceder a mis documentos desde cualquier S.O.

Aquí:
  • Lo que hice fue es encoger /home para hacer espacio para otras distros.
    Esto lo hice con gparted desde el live CD de Ubuntu.
  • En el instalador de Archbang, al especificar puntos de montaje, asegúrate de no mandar a formatear particiones como swap o /tmp. Si lo haces, los UUIDs cambiarán y tendrás que editar /etc/fstab en las demás distros.
  • No instalar grub si ya tienes grub instalado. En mi caso, la versión de grub de Ubuntu sí reconoció a crunchbang y archbang, pero crunchbang no detectó a Ubuntu y me advirtió de esto -- lo que me dejó sin Ubuntu durante unos minutos.
  • Si no instalas grub, arranca en la distro principal (en mi caso Ubuntu) y ejecuta update-grub como root.
  • Fíjate en la sección de configuración: recuerda archivos como /etc/rc.conf... los necesitarás después!

Después de esto la instalación de Archbang está lista para usar... mejor dicho, lista para empezar a configurarla.

Para esto, en la carpeta home (~/) tienes un archivo llamado DOC que te dará tips sobre qué hacer para terminar la instalación del sistema...

Introducción

Ayer, después de probar Archbang (una distribución de linux) por unas horas pensé: "hubiera anotado todo esto que hice... :/" .

Si nunca has probado linux, empieza con Ubuntu (yo uso linux gracias a Ubuntu).

Si Ubuntu es un juguete terminado, Archbang es un modelo para armar.

Archbang es una distro basada en arch, pero que viene con openbox como gestor de ventanas. La configuración es más artesanal que en Ubuntu (no hay mucha gui, casi toda la configuración son archivos de texto).

Ahora, ¿por qué escribo esto en castellano si Archbang sólo está disponible en alemán e inglés? Primero, porque la documentación en inglés es más completa mientras que en castellano no hay casi nada. Segundo, porque estas notas las escribo para mí, para recordar cómo lo hice y con la esperanza de que a algún otro le sirva.

Que conste que no pienso dejar de usar Ubuntu.
Archbang es una aventura que, después de vivirla un tiempo, me ayudará a entender mejor a linux en su totalidad. Prefiero verlo como uno de esos RPGs en los que después de terminar una misión difícil (quest) has subido varios niveles.

Así que, aquí vamos... pero antes, un enlace muy importante: http://archbang.org/