Clonar todo un disco duro consola linux

Listas las unidades conectadas al sistema

df -h

El método anterior nos servirá para clonar una partición. Si lo que queremos es clonar todo un disco duro, el disco de salida tiene que ser del mismo tamaño o más grande que el disco de entrada. Clonaremos el disco /sdb en /sdc con este comando:

dd if=/dev/sdb of=/dev/sdc

Si queremos comprobar el estado de los discos tras la clonación, usaremos este otro comando:

fdisk -l /dev/sdb /dev/sdc

Cambiar fecha y hora en Ubuntu

Visualizar la fecha y hora:
Comando:

date                                                                                 

Si queremos cambiar la fecha y hora de nuestro sistema usaremos el mismo comando pero con el parámetro “–set” de la siguiente forma, no olvides los “”.

Comando:

date --set "2017-10-17 01:16"

Donde en primer lugar especificamos el año, seguido del numero del mes, el día del mes la hora y los minutos que queremos establecer.

Visualizar zona horaria:

Si deseamos ver en que zona horaria tenemos configurado nuestro servidor ejecutaremos el siguiente comando:

Comando:

cat /etc/timezone

La salida obtenida corresponde a la franja horaria de “Madrid”.

Cambiar zona horaria:

Si queremos cambiar la zona horaria ejecutamos el comando y seleccionamos el continente y la ciudad a la franja horaria a la que corresponda nuestra ubicación.

dpkg-reconfigure tzdata

Solucionar error NO_PUBKEY Ubuntu

Cuando se ejecuta una actualización apt update, o cuando se intenta actualizar las fuentes de software, apt se quejará de no poder descargar todos los índices del repositorio, mostrando errores como este:

Las firmas siguientes no se pudieron verificar porque su clave pública no está disponible: NO_PUBKEY 3F01618A51312F3F

Solución: Importar por lotes todas las claves GPG que faltan

Cuando faltan varias claves OpenPGP públicas, puedes usar una simple línea para importarlas todas de una sola vez:

sudo apt update 2>&1 1>/dev/null | sed -ne 's/.*NO_PUBKEY //p' | while read key; do if ! [[ ${keys[*]} =~ "$key" ]]; then sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys "$key"; keys+=("$key"); fi; done

Ejemplo Cursor MySQL

Ejemplo Cursor MySQL

DELIMITER $$
CREATE PROCEDURE createEmailList (
    INOUT emailList varchar(4000)
)
BEGIN
    DECLARE finished INTEGER DEFAULT 0;
    DECLARE emailAddress varchar(100) DEFAULT "";

    -- declare cursor for employee email
    DEClARE curEmail 
        CURSOR FOR 
            SELECT email FROM employees;

    -- declare NOT FOUND handler
    DECLARE CONTINUE HANDLER 
        FOR NOT FOUND SET finished = 1;

    OPEN curEmail;

    getEmail: LOOP
        FETCH curEmail INTO emailAddress;
        IF finished = 1 THEN 
            LEAVE getEmail;
        END IF;
        -- build email list
        SET emailList = CONCAT(emailAddress,";",emailList);
    END LOOP getEmail;
    CLOSE curEmail;

END$$
DELIMITER ;

MySQL Server – Ajustar la autenticación y los privilegios del usuario

Para las instalaciones recientes, querrá ejecutar el script de seguridad que viene incluido. Esto cambia algunas de las opciones predeterminadas menos seguras para cosas como inicios de sesión root remotos y usuarios de ejemplo. Para las versiones antiguas de MySQL, también deberá inicializar el directorio de datos manualmente, pero ahora esto se hace automáticamente.

Sigue leyendo

Cómo conectarse en perl a una base de datos mysql

Supongamos que tenemos una base de datos mysql llamada ‘personas’ a la que podemos acceder con usuario ‘usudb’ y contraseña ‘clave’.

La base de datos contiene una tabla llamada ‘tabla’ con los siguientes campos:

  • nombre varchar(32)
  • edad integer
  • fecha_alta date

Podemos conectarnos a la base de datos, leer y escribir registros con el siguiente código en perl:

Como vemos, la librería DBI es la encargada de implementar la conectividad a mysql desde perl.

Como Detectar Errores y Comprobar el Estado de tu Disco Duro en Linux

Detecta Sectores Defectuosos en el Disco con badblocks

Otra utilidad muy interesante que no debes dejar de conocer es badblocks, que forma parte del proyecto e2fsprogs, un set de herramientas y utilidades de mantenimiento para GNU/Linux y enfocado a sistemas de archivos ext2, ext3 y ext4.

Con  badblocks podrás hacer un check completo de tu disco, y te indicará al finalizar el número de sectores defectuosos que encuentra. La sintaxis básica para su utilización la tienes aquí:

$ sudo badblocks [parámetros] [ruta de la partición]

Los parámetros generalmente son letras que indican diferentes modalidades de escaneo. La ruta del volumen generalmente será la ruta de una partición. Para conocer el nombre las diferentes particiones y volúmenes de tu disco, puedes utilizar esto:

$ sudo fdisk -l

Previamente a utilizar badblocks, es muy importante desmontar la partición o el volumen sobre el cual se pretende hacer el análisis. Para desmontar una unidad o partición concreta, y conociendo ya su nombre y su ruta, puedes valerte del siguiente comando:

$ sudo unmount [ruta de la partición]

Para hacer un escaneo de la partición del sistema, lo más recomendable sera hacera mediante un LiveCD con alguna distro Linux, y desmontando la partición del sistema operativo antes del análisis.

Visto todo esto, si te parece podemos ver algunos ejemplos de uso de badblocks con diferentes parámetros de escaneo.

Uso Básico

$ sudo badblocks /dev/sda1

Es la opción estándar y la más simple si no dominas mucho su sintaxis. Con esta opción, badblocks hace un check de solo lectura, y no muestra ninguna salida de pantalla mientras no se encuentren sectores defectuosos.

Uso Básico con Verbose

$ sudo badblocks -v /dev/sda1

Igual que la opción estándar, pero con la opción verbose habilitada [-v]. En este caso  badblocks nos informará por pantalla del progreso del análisis, así como del numero de bloques defectuosos que haya encontrado al final del análisis.

Lectura y Escritura – No Destructivo

$ sudo badblocks -nsv /dev/sda1

Básicamente hace un escaneo de lectura y escritura no destructivo [-n], mostrando una barra de progreso [-s] y con la opción verbose habilitada [-v] para mostrar información sobre los sectores detectados. La partición en este caso es la sda1.

Tienes mucha más información del uso y las diferentes opciones de badblocks en esta completa wiki de Arch Linux. Además, para un vistazo de todas las opciones, puedes acceder a la guía oficial tecleando man badblocks por la terminal.

Detecta Errores e Inconsistencias en el Sistema de Archivos con e2fsck

e2fsprogs, utilidad llamada e2fsck, que en este caso hará un análisis del sistema de archivos a nivel lógico, en busca de errores e inconsistencias. La sintaxis es muy similar a la de badblocks.

$ sudo e2fsck [parametros] [ruta de partición]

Al igual que con badblocks, es muy importante desmontar antes la partición que vayamos a analizar. A continuación, algunos ejemplos:

 Uso Básico

$ sudo e2fsck /dev/sda1

Esta es la opción más básica, y en este caso hará un análisis a nivel lógico del sistema de archivos de la partición sda1.

Uso Combinado con Badblocks

$ sudo e2fsck -c /dev/sda1

Esta opción es especialmente interesante, ya que al mismo tiempo de busca errores en el sistema de archivos, también utiliza badblocks, con un test de solo lectura, para buscar bloques defectuosos a nivel físico.

Esta opción permitirá que e2fsck marque cualquier sector defectuosos encontrado, y prevenga que sea utilizado por el sistema de archivos para almacenar archivos para almacenar información.