jueves, 9 de agosto de 2012

#9 Arranque dual con Grub2

Visto que de ahora en adelante usaremos Grub2, apuntaré cómo configurarlo para que podamos arrancar Windows 7.

Lo primero es anotar en qué partición está el Loader de Windows, para esto se puede usar gparted, que al verlo gráficamente nos sudarán menos las manos, en mi caso, el Loader está en /dev/sda2:


Montamos la partición:

$ sudo mount /dev/sda2 /mnt


Obtenemos el uuid (un identificador), este comando devolverá el identificador:

$ sudo grub-probe --target=fs_uuid /mnt
2CE4997AE49946CC


Editamos éste archivo en el que podemos poner nuestras configuraciones personalizadas y serán incluidas en el grub.cfg:

$ sudo nano /etc/grub.d/40_custom 


Añadimos, sin eliminar la primera línea, el texto siguiente con el uuid obtenido anteriormente:

menuentry "Microsoft Windows 7" {
    insmod part_msdos
    insmod ntfs
    insmod search_fs_uuid
    insmod ntldr
    search --fs-uuid --no-floppy --set=root 2CE4997AE49946CC
    ntldr /bootmgr
}


Generamos el grub.cfg:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Desmontamos el Loader:

sudo umount /mnt 


That's all folks!

PD: Sí, no tengo partición SWAP, vivo al límite.

martes, 31 de julio de 2012

#8 Cómo conectarse por terminal a una red WiFi

Esto es muy importante al instalar el sistema desde 0, ya que si de normal nos conectamos por WiFi es mucho más cómodo seguir haciéndolo, y el problema está en que si la seguridad de nuestra red es WPA no es trivial, no lo era hasta ahora. De todas formas pondré la WEP también, y de la WPA sólo en el caso más simple, es decir, sin claves personales.

  · WEP:
# iwconfig wlan0 essid "Nombre de la red" key s:contraseñaenascii

Nótese que si la red no tiene espacios, no hacen falta las comillas, y que si la contraseña no es una cadena (string) no es necesario poner s:.

Por último, para obtener automáticamente la IP y no tener que configurar IP/Máscara, Puerta de enlace y DNS:

# dhcpcd


  · WPA:
Este es el método más rápido que sé me ha ocurrido. Primero hacemos una copia del archivo de configuración a una ruta sencilla:

# cp /etc/wpa_supplicant/wpa_supplicant.conf/w.conf

Ahora editamos la copia, si es con nano recomiendo pasar páginas con [Ctrl] + [v] hasta que lleguemos a la primera definición de una red:
network={
ssid="simple" 
psk="very secret passphrase" 
priority=5 
}

La editamos cambiando los parámetros por los de nuestra red:
network={
ssid="Mi Red"
psk="Póngase la contraseña"
priority=5 
}

Bajamos el curso abajo, debajo de la llave que cierra la definición de esta red y con la opción de cortar lineas de nano [Ctrl] + [k] borramos el resto del archivo, que contiene ejemplos más complejos para otro tipo de redes. Cerramos [Ctrl] + [x], y guardamos los cambios [y].

Ahora ejecutamos el siguiente comando, proporcionado por Aetsu (he aquí su blog, muy recomendado):

# wpa_supplicant -Dwext -i wlan0 -c/w.conf -K -B

Nótese que: -D es el driver, -i la interfaz a usar, entre -c y /w.conf no hay espacio alguno, y -B es que se ejecute en el fondo.

Y por último ejecutamos el dhcpcd:

# dhcpcd

Después de acabar todas las tropelías, es muy recomendable borrar /w.conf, ya que ahí tendremos nuestra contraseña de la red sin cifrar (o ¡sin encriptar, wey! (sic)) en texto plano:

# rm -f /w.conf

¡Saludos, Ar-chapuceros!

jueves, 9 de febrero de 2012

#7 Configurar el idioma del teclado

Otra cosa que es bastante molesta es que el teclado no esté configurado por defecto (en mi caso en español). Sobretodo si tu contraseña no es 12345. O que un usuario sí que lo tenga en español, pero al pasar en una consola a otro usuario, a root, por ejemplo, coja su configuración y andemos perdidos. Lo mejor y más cómodo es tocar las entrañas de nuestro SO para que esto se quede fijo por defecto en todos los usuarios.
Para esto hacemos:
  • sudo $EDITOR /etc/X11/xorg.conf.d/10-evdev.conf
Y la sección del teclado la dejamos como sigue, añadiendo la opción que configura el teclado como "es":
  • Section "InputClass"
  •         Identifier "evdev keyboard catchall"
  •         MatchIsKeyboard "on"
  •         MatchDevicePath "/dev/input/event*"
  •         Driver "evdev"
  •         Option "XkbLayout" "es"
  • EndSection
That's all folks!

miércoles, 8 de febrero de 2012

#6 Iniciar sesión gráfica remota con SSH

La entrada de hoy no es sólo válida para Arch. Hoy hablaré de cómo controlar gráfica y remotamente un equipo. Podemos usar VNC o SSH.
Para poder usar SSH como cliente (quizás otro día ponga la configuración de mi server SSH y así no la pierdo) recomiendo añadir el siguiente alias, ya que no es un comando fácil de recordar:

  • alias xcmd='sudo xinit -- :1 vt12'
    • Dónde 12 es la vtty que queremos gastar. 7 es la que estás usando ahora, y hasta el 12 están todas vacías.
Ahora al poner este comando se iniciará en vt12 una terminal de xinit. Ahora bastaría con hacer por ejemplo: ssh -Y usuario@servidor.dominio -p puerto y después de conectarnos podemos lanzar desde aplicaciones hasta el escritorio entero con un startx.

Nota: Para cambiar entre escritorios [Ctrl] + [Alt] + [FX] dónde X € [8..12].

martes, 7 de febrero de 2012

#5 Arreglar el desajuste del reloj con doble arranque

Este es un problema que se da muy frecuentemente desde hace un tiempo a esta parte. Si tienes Windows y Arch el reloj ponía la hora que le daba la gana. Hay varias soluciones, como poner que cada vez que Arch tenga Internet se sincronice y lo arregle, pero no es elegante, aunque otro es probable que lo apunte como obligar a que sincronice el reloj. Bien, en este caso la configuración que mejor me ha  funcionado es:

  • ArchLinux:
    • En el archivo /etc/rc.conf  hardawareclock tiene que valer "", es decir: HARDWARECLOCK=""
    • Como explica arriba: using "" makes hwclock fall back to the value in /var/lib/hwclock/adjfile



  • Windows:
    • En el regedit ir a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
    • Crear un nuevo valor DWORD llamado RealTimeIsUniversal, y evaluarlo a 1.

lunes, 6 de febrero de 2012

#4 Servidor más rápido

Otro comando que recomiendo tener como alias y sacado (como casi todo lo que pongo) de la inmensa wiki de Arch. Este alias selecciona el servidor espejo más rápido empíricamente hablando y luego actualiza la base de datos de Pacman.

En este caso hace falta tener instalado el programa reflector. Obviamente esto va en el .bashrc o .zshrc y le puedes cambiar el nombre:

alias speedserv='sudo reflector -l 5 --sort rate --save /etc/pacman.d/mirrorlist && sudo pacman -Syy'

Y para que podáis/podamos seguir usando el portapapeles:

sudo pacman -S reflector


domingo, 5 de febrero de 2012

#3 Cambiar el tamaño asignado a /tmp

En ArchLinux se otorga por defecto a /tmp la mitad de la RAM del sistema. Si usamos yaourt para compilar el Kernel, o algo pesado, como un escritorio -todo esto se compila en /tmp - y si tenemos un equipo con poca RAM, el tamaño de /tmp será el doble de pequeño, muchas veces insuficiente por lo que dará error en la compilación ya que no ha tenido bastante espacio (y más si ya habían archivos ahí dentro).
Con este comando se cambia temporalmente la asignación de espacio a /tmp:
sudo mount -o remount,size=4G /tmp
En este caso le he dado 4GB a /tmp. Recomiendo tenerlo como alias:
alias tmp='sudo mount -o remount,size=2G /tmp'