Algo de Linux

jueves, 30 de junio de 2016

Iso de Clonezilla + DRBL + Rescatux para montar en pendrive/disco duro USB

En un post de mayo de 2016 compartí con vosotros una imagen iso de Clonezilla, DRBL y Boot Repair Disk para montar en un disco duro USB o un pendrive. He decidido modificarla, cambiando Boot Repair Disk por Rescatux.

El motivo es muy sencillo. Rescatux es un rescue cd que incorpora la herramienta Boot Repair Disk junto con otras muchas herramientas y un asistente para realizar diferentes tareas de recuperación y reparación:
  • Solucionar problemas de GRUB
  • Restablecer contraseñas de Windows 
  • Restablecer contraseñas de usuario de Linux 
  • Chequear y reparar archivos de sistema 
  • Restaurar el MBR de Windows
  • Getionar particiones con GParted
  • Recuperar archivos eliminados con Photorec 
  • Regenerar el archivo sudoers
En el siguiente enlace dejo colgada la nueva versión, muy interesante, sobre todo para los administradores de centros, en la que he montado Clonezilla, DRBL y Rescatux:
https://mega.nz/#!xoUDiSCY!oE3Vut1kOIv6S7a5JuP65Z_FnGvHUZzK7ZjFwaGZRJg


Al igual que ya comenté en su día, monto clonezilla y drbl en el mismo dispositivo por una razón muy sencilla: Habitualmente uso clonezilla para crear y restaurar imágenes con entradas de menú directas o inicio sesión en un terminal de clonezilla para hacer algún diagnóstico, o cualquier modificación, pero, además, cuando tengo que clonar de forma masiva, utilizo DRBL para restaurar imágenes en modo multicast.

Los ajustes que llevan tanto clonezilla como DRBL son los mismos que en la versión anterior:
  • El filesystem.squashfs de DRBL se aloja en el directorio live y el filesystem.squashfs de Clonezilla se encuentra ubicado en el directorio live-clonezilla. De este modo, es posible tener ambas herramientas en el mismo dispositivo.
  • Se establece por defecto el idioma español tanto para la interfaz como para el teclado. Con ésto evitamos tener que seleccionar el idioma en el asistente de clonación cada vez que lo usemos.
  • Se fija como directorio de imágenes el /home/partimag del dispositivo para ambas herramientas y se monta en modo lectura/escritura con el fin de que se use tanto para salvar/restaurar imágenes desde ambas herramientas.
En cuanto al menú de opciones, he seguido dejando syslinux para equipos sin UEFI y modificado el grub.cfg para equipos UEFI. 

Una vez que lo montéis en vuestro disco duro/pendrive USB, podéis editar las entradas y adaptarlas a vuestras necesidades. He dejado oculta alguna opción de restauración de syslinux para que sirva de ejemplo a la hora de personalizar el menú.

Para montar la ISO en el pendrive podéis usar tuxboot, o hacer el dispositivo arrancable de forma manual y copiar el contenido.
Publicado por primera vez en http://enavas.blogspot.com.es

Paquete linex-ubuntu-puppet 1.7

Por lo que me comentó Ismael, se ha creado en desarrollo una rama bajo un repositorio Git para tener las fuentes de los paquetes que realizan en la sección y así poder trabajar todos con esa fuente de manera colaborativa:
http://desarrollo.educarex.es/redmine/projects/fuentes-de-paquetes

La verdad es que está fenomenal, pero como seguimos sin estar organizados para trabajar en equipo y tengo prisa por poner en marcha el sistema de mi centro, he modificado nuevamente a mano el paquete linex-ubuntu-puppet para que haga lo que yo necesito. Básicamente lo siguiente:
  • Que la instalación del paquete no reemplace automáticamente el fichero /etc/escuela2.0 si ya existe.
  • Que añada una entrada con el tipo de ordenador al fichero /etc/escuela2.0: tipo=infolab, tipo=siatic, etc... Para seguir una norma me he basado en la tarea puppet xubuntu-tipo creada por el compañero José Miguel Medina, de manera que he utilizado los tipos creados por él más alguno específico de mi centro.
https://mega.nz/#!slcGybSI!VBma5TMPYahPaBuKx_wgLYFVy_uq16K4nrFplSBeswU
 
Publicado por primera vez en http://enavas.blogspot.com.es

miércoles, 29 de junio de 2016

Reemplazar el valor de una variable en un fichero si existe y si no existe, añadirlo

A veces queremos reemplazar el valor de una definición de variable en un fichero, si existe. Y si no existe, que añada la definición de la variable. Ésto es algo realmente sencillo de hacer si usamos una combinación de comandos. Por ejemplo:
# grep -q '^tipo=' /etc/escuela2.0 && sed -i 's/^tipo=.*/tipo=siatic/' /etc/escuela2.0 || echo 'tipo=siatic' >> /etc/escuela2.0
Publicado por primera vez en http://enavas.blogspot.com.es

Ubuntu After Install

Ubuntu After Install (https://www.thefanclub.co.za/how-to/ubuntu-after-install) es un pequeño programa python que nos va a facilitar la tarea de instalar una gran cantidad de software después de instalar Ubuntu. Es interesante contar con esta herramienta porque nos añadirá los ppa necesarios para mantener nuestro software actualizado.
sudo add-apt-repository ppa:thefanclub/ubuntu-after-install
sudo apt-get update
sudo apt-get install ubuntu-after-install
Publicado por primera vez en http://enavas.blogspot.com.es

Instalar Virtualbox en Ubuntu desde la línea de comandos

Vamos a ver cómo instalar VirtualBox en Ubuntu desde un terminal:
Para instalar VirtualBox en Ubuntu, lo más cómodo es hacerlo desde los repositorios oficiales. Así que, lo primero será añadir los repositorios a nuestra lista:
# echo "deb http://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" > /etc/apt/sources.list.d/virtualbox.list
Una vez añadido el repositorio, descargamos la clave pública y la añadimos al anillo de claves:
# wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
A continuación, actualizamos los índices de los repositorios:
# apt-get update
E instalamos el paquete VirtualBox. La última versión disponible a día de hoy es la 5.0:
# apt-get install virtualbox-5.0
Por último, descargamos el VirtualBox Extension Pack correspondiente a la versión que estamos instalando desde https://www.virtualbox.org/wiki/Downloads:
# wget http://download.virtualbox.org/virtualbox/5.0.24/Oracle_VM_VirtualBox_Extension_Pack-5.0.24-108355.vbox-extpack
Este paquete nos proporciona soporte para dispositivos USB 2.0, RDP y PXE para tarjetas de red intel. Cuando lo hayamos descargado, no tenemos más que instalarlo:
# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.0.24-108355.vbox-extpack --replace
Si todo ha ido bien, veréis el progreso de la instalación:
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully installed "Oracle VM VirtualBox Extension Pack".
Publicado por primera vez en http://enavas.blogspot.com.es

Montar Super Grub2 Disk en un pendrive y dejar una partición FAT32 para almacenar archivos

La semana pasada vimos cómo montar Super Grub2 Disk en un pendrive. Yo lo monté en un viejo pendrive de 128Mb que conservaba desde hace tiempo. El problema de este montaje es que perdemos la posibilidad de almacenar archivos en él.

En el wiki de Super Grub2 Disk nos muestran otro método con el que montarlo y crear una partición FAT32 para poder almacenar archivos posteriormente.

Lo primero que tenemos que hacer es formatear el pendrive como FAT32. Para ello podemos utilizar gparted.


Lo formatearemos dejando un espacio sin asignar de 3Mb al principio:


Una vez hecho ésto, nos quedará más o menos así:


Bien. Pues una vez formateado, podemos cerrar gparted.

A continuación, desconectamos el pendrive y volvemos a conectarlo para que se monte. Una vez conectado, ejecutamos el comando mount para identificar el nombre del dispositivo y la partición:
# mount

Si os fijáis en la imagen anterior, veréis que en mi caso ha montado la partición /dev/sdc1 en /media/enam0000/ISOIMAGE. Con ésto, sabemos que el pendrive ha sido identificado como sdc y la partición sdc1.

Así que desmontamos la partición:
# umount /dev/sdc1
Una vez desmontada, guardamos la tabla de particiones del dispositivo:
# dd if=/dev/sdc of=/tmp/partition_table.bin bs=1 count=66 skip=446
A continuación descargamos la ISO de Super Grub2 Disk:
# wget --trust-server-name https://sourceforge.net/projects/supergrub2/files/2.02s4/super_grub2_disk_hybrid_2.02s4.iso/download
Y la "grabamos" en nuestro pendrive (Es importante destacar que perderemos el contenido del pendrive):
# dd if=/home/enam0000/Descargas/super_grub2_disk_hybrid_2.02s4.iso of=/dev/sdc
Una vez grabada, guardamos el boot code de Super Grub2 Disk:
# dd if=/dev/sdc of=/tmp/sg2d_boot_code.bin bs=446 count=1
El siguiente paso será crear un nuevo fichero en el que combinemos el boot code de sg2d y el backup de la tabla de particiones que creamos en un principio:
# cat /tmp/sg2d_boot_code.bin /tmp/partition_table.bin > /tmp/newmbr.bin
Cuando lo tengamos, lo "grabamos" en el dispositivo:
# dd if=/tmp/newmbr.bin of=/dev/sdc
Hacemos un sync:
# sync
Por último, volvemos a abrir gparted y creamos la partición FAT32 en el espacio que veremos sin asignar.
Publicado por primera vez en http://enavas.blogspot.com.es

martes, 28 de junio de 2016

Autologin con lightdm

Para hacer autologin con lightdm no tenemos más que crear un fichero de configuración en /etc/lighdm/lightdm.conf.d/ o incluir la configuración de autologin en alguno de los ficheros de configuración de este directorio que haya creados:

/etc/lightdm/lightdm.conf.d/12-autologin.conf
[SeatDefaults]
autologin-user=nombre_usuario
autologin-user-timeout=0
Publicado por primera vez en http://enavas.blogspot.com.es

cups: Establecer impresora predeterminada desde la línea de comandos

Utilizando el comando lpoptions, es muy sencillo establecer la impresora predeterminada en CUPS:
# lpoptions -d nombre-impresora
Por ejemplo:
# lpoptions -d EPSON_EPL-5900
Publicado por primera vez en http://enavas.blogspot.com.es

domingo, 26 de junio de 2016

NetworkManager: Permitir modificar conexiones de sistema en xUbuntu

Al igual que hacía en Debian, mi intención es seguir utilizando un script que establezca la conexión wifi automáticamente antes de que el usuario inicie sesión en el sistema.

Preparando la imagen xUbuntu 14.04 de los miniportátiles, observé que en el centro se establecía la conexión sin ningún problema, pero si lo hacía en casa, no funcionaba. La diferencia entre establecer la conexión en el centro o fuera de él está en que:
  • El el centro se realiza la conexión al punto de acceso abierto con mayor señal (Uso pfsense con un portal cautivo y freeradius).
  • Fuera del centro se establece conexión con el punto de acceso con mayor señal que tenga configurado el usuario.
Analizando un poco el tema, me di cuenta de que el problema estaba en que network-manager almancenaba las conexiones en el directorio de conexiones de sistema /etc/NetworkManager/system-connections, pero guardaba las contraseñas en el anillo de claves del usuario. Como consecuencia, por alguna razón, al tratar de establecer la conexión (creada por el usuario) como root, daba un error y no se realizaba.

Para solucionar el problema, he definido una política que permite modificar las conexiones de sistema a los usuarios del grupo students (unix-group:students) y a los usuarios del grupo teachers (unix-group:teachers).

/etc/polkit-1/localauthority/50-local.d/50-network-manager.pkla
[Network Manager Permissions]
Identity=unix-group:students;unix-group:teachers
Action=org.freedesktop.NetworkManager.settings.modify.system
ResultAny=yes
ResultActive=yes
ResultInactive=no 
De este modo, cuando el usuario establece una conexión con una red por primera vez, se almacena en el directorio /etc/NetworkManager/system-connections y la contraseña se almacena dentro del archivo de la conexión.
Publicado por primera vez en http://enavas.blogspot.com.es

sábado, 25 de junio de 2016

Ajustes para Plymouth y KMS en miniportátiles xUbuntu con i915

Plymouth es una aplicación que se inicia al principio del proceso de arranque para proporcionar una animación gráfica de inicio mientras se realiza el inicio del sistema.

La idea es configurar tan pronto como sea posible el modesetting y mantenerlo durante todo el proceso de arranque para evitar parpadeos.

Si echáis un vistazo al fichero /etc/default/grub, podéis observar los valores que he aplicado para establecer el modesetting soportado por los miniportátiles con chipset i915:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash $vt_handoff"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
# GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=1024x600x24

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
#GRUB_GFXPAYLOAD_LINUX=text
GRUB_GFXPAYLOAD_LINUX=1024x600x24
Por otra parte, para reducir el tiempo que tarda en mostrarse la animación, he creado un fichero /etc/initramfs-tools/conf.d/splash para activar el FRAMEBUFFER:
FRAMEBUFFER=y
Una vez creado el fichero, actualizamos el initramfs:
update-initramfs -u

Publicado por primera vez en http://enavas.blogspot.com.es