Mostrando entradas con la etiqueta ¿Cómo se hace?. Mostrar todas las entradas
Mostrando entradas con la etiqueta ¿Cómo se hace?. Mostrar todas las entradas

lunes, 6 de junio de 2022

Recuperar TV box Oranth Tanix TX3 mini e instalar armbian #TvBoxToPC #AmlogicARM64

 

tv box oranth tanix tx3 mini
Partamos de una explicación sencilla los tv box sin dispositivos que convierten o transforman un tv lcd o monitor antiguo o relativamente antiguo en un smart tv permitiendo ver videos de internet entre otras funcionalidades generalmente traen como software de fabrica alguna versión de android.

Pero ya de hace algunos años comenzaron algunos aficionados y hackers a provechar las capacidades de estos dispositivos que vienen siendo como un raspberry algunos con menos o iguales recursos de hardware a los de un raspberry pero con un precio inferior y con algo de almacenamiento interno.

Lo más interesante es permite instalar un sistema operativo sobre ellos la mayoría vienen con procesador Amlogic, RK, Allwiner u otro tipo de ARM64 esto permite que sea un excelente pc de inicio para personas de bajos recursos permitiendo tener un mini pc totalmente funcional para las tareas básicas necesarias en cualquier hogar.

La ventaja es que con esto se puede ensamblar un pc de bajo costo (low cost) para trabajos básicos o inclusive algunas tareas de programación, o edición gráfica aficionada que no suele requerir muchos recursos de hardware. 

En esta aventura partiremos del caso de un tv box que tiene su sistema operativo dañado y que casualmente es un tv box oranth tx3 mini.

  • Materiales necesarios.
  1. Un monitor o tv con entrada HDMI o si el mismo solo tiene VGA se necesitaría un adaptador HDMI a VGA.
  2. Un cable USB macho a USB mancho.
  3. Una memoria microSD o un pendrive con almenos 8gb de almacenamiento.
  4. Y por ultimo obviamente el TV Box con su adaptador de corriente.
  • Software necesario.
  1. Obviamente la reparación la haremos desde un PC con GNU/Linux debian con la paquetería build-essentials instalada.
  2. Luego la herramienta flash-tool el cual a continuación dejaré el enlace para descarga en la lista de descargas de más abajo.
  3. Una imagen de Android para TV Box especifica para realizar la reparación del dispositivo (ojo en cuanto a software).
  4. La imagen de Armbian GNU/Linux (Basada en ubuntu o debian).
  • Descargas del software necesario.
Nota: Los enlaces que adjunto le he agregado 1 acortador de enlace para generar algo de ganancia por estos trabajos de investigación que hago.
  1. Imagen para recuperar el firmware del tv box oranth tanix tx3 mini enlace MEGA: TX3Mini-20171220-Tanix_Box_Com.img.
  2. Imágenes de armbian este es un enlace al directorio MEGA que contiene Armbian (versión debian y versión ubuntu) y Balena Etcher: Armbian 20.10.
  3. Herramienta de instalación y recuperación de firmware Amlogic AML Flash Tool.
  • Pasos a seguir para el proceso de recuperación del firmware del tv box.
1 - Lo primero en una carpeta local descargar la herramienta AML Flash Tool y la imagen de del tv box TX3Mini-20171220-Tanix_Box_Com.img. 

2 - Entrar en la carpeta aml-flash-tool con:

 cd aml-flash-tool

3 - Luego conectar el cable USB-macho a USB-macho entre el tv box y la computadora y ejecutar el siguiente comando (ojo no conectar el tv box al adaptador de corriente el mismo se energizará con el puerto USB para este caso):

lsusb

 El mismo debe mostrar entre los resultados algo como:

Bus 001 Device 052: ID 1b8e:c003 Amlogic, Inc.

4 - Luego de esto solo debemos ejecutar el siguiente comando

./flash-tool.sh --img=../TX3Mini-20171220-Tanix_Box_Com.img --reset=y --parts=all --wipe --soc=gxl

5 - Terminado esto el tv box reiniciará automáticamente recuerde tenerlo conectado a la pantalla por hdmi para ver cuando reinicie si carga por completo el software android del tv box si el mismo carga el proceso de recuperación estará terminado.

Nota: Es posible que si no es detectado el tv bos en "lsusb" entonces debe desconectarlo del usb pulsar el botón de reset mantenerlo pulsado (por aproximadamente 30 segundos) y conectar el usb luego ejecutar el comando "lsusb" para observar si el mismo listado en "lsusb".

  • Pasos a seguir para instalar Armbian.
1 - Lo primero es tener descargada la imagen de Armbian y balena etcher de los enlaces anteriores en una carpeta para trabajar con ambos se aconceja descomprimir el archivo de balena etcher entrar en el directorio resultante abrir una terminal o consola y desplazarse a la ubicación del archivo ejecutable de balena etcher y ejecutarlo como administrador o root de la siguiente manera:

./balenaEtcher-1.7.9-x64.AppImage

2 - Una vez abierto el programa solo se deberán seguir los pasos de seleccionar la imagen comprimida de Armbian y seleccionar el medio a flashear en este casi una microsd pero igualmente se puede realizar en un pendrive usb donde solo habrá luego un cambio muy puntual para la configuración del pendrive o microsd que se explicará a continuación.

3 - Lo siguiente es modificar en el pendrive o microsd ya flasheado abrir la partición boot que se montará de forma automática terminado el proceso si esto no sucede solo se debe desconectar y conectar la microsd o el pendrive y modificar en la carpeta BOOT/extlinux/ el archivo extlinux.conf agregando las siguientes lineas y comentando el resto exceptuando las primeras tres lineas quedando algo como esto:

LABEL Armbian

LINUX /zImage

INITRD /uInitrd

# lineas comentadas

FDT /dtb/amlogic/meson-gxl-s905w-p281.dtb

APPEND root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0

4 - Luego de esto en la raiz se copia y pega el archivo de nombre u-boot-s905 a u-boot.ext (caso microsd) u-boot.usb (caso pendrive) en la misma ubicación del archivo original terminado este paso solo hay que extraer la microsd desmontandola y luego extrayendola físicamente de la ranura de lectura.

5 - Ya se tiene la microsd para bootearla en el tv box, lo primero es tener apagado el tv box conectar la memoria pulsar el botón de reset el cual esta por la parte inferior para este modelo puntual en un agujero de la carcasa solo se debe pulsar con un alambre de clip o trozo de alambre manteniendolo pulsado se enciende el tv box conectándolo a la energía hay que esperar aproximadamente 30 segundos o hasta que el tv box se reinicie o parpadee si no bootea inténtelo varias veces hasta lograrlo.

6 - Una vez inicia desde la memoria microsd o pendrive por usb el sistema armbian carga desde la unidad extraíble, solo se requerirá en un primer inicio la configuración del usuario y la clave del administrador root hecho esto termina el arranque por completo de armbian, luego para este caso se llevará un paso más adelante y es instalar armbian en la emmc del tv box ejecutando el siguiente comando:

sudo sh /root/install-aml.sh

7 - Terminado el proceso solo queda reiniciar el tv box y verificar que armbian ahora arranca desde la emmc del tv box oranth tanix tx3 mini.


Fuentes:


Si te gustan las entradas de este blog y quieres mayor actividad y mejores explicaciones y tutoriales no dudes entrar en la pagina de donaciones de este blog y realizar un donativo o patrocinar este en cualquiera de las opciones disponibles y que se hacen referencia allí.

miércoles, 23 de junio de 2021

Formateando disco USB o pendrive con NTFS en GNU/Linux


Bien en este caso para realizar la la tarea se usarán los programas o comandos:

  • fdisk, Es un programa de edición de la tabla de particiones de las unidades de almacenamiento.
  • mkfs, Es un programa que permite hacer el proceso de formateado de una partición de disco con un sistema de archivos especifico.

A continuación se ejecutarán una serie de pasos para lograr tal fin a manera de ejemplo para ello se usará un disco duro usb de 250gb algo antiguo.

1.- Lo primero es conectar el disco duro externo y verificar que identificador de unidad tiene con el siguiente comando (como super usuario root):

fdisk -l

El mismo mostrará una información como la siguiente:

Disco /dev/sda: 223,6 GiB, 240057409536 bytes, 468862128 sectores
Modelo de disco: KINGSTON SA400S3
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
Tipo de etiqueta de disco: dos
Identificador del disco: 0x94f8f291

Disposit.  Inicio Comienzo     Final  Sectores Tamaño Id Tipo
/dev/sda1             2048   7813119   7811072   3,7G 82 Linux swap / Solaris
/dev/sda2  *       7813120 468860927 461047808 219,9G 83 Linux


Disco /dev/sdb: 232,9 GiB, 250059350016 bytes, 488397168 sectores
Modelo de disco: 7AS              
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
Tipo de etiqueta de disco: dos
Identificador del disco: 0x4128309c

Disposit.  Inicio Comienzo     Final  Sectores Tamaño Id Tipo
/dev/sdb1             2048 488397167 488395120 232,9G  7 Linux EXT4


Como se puede observar el disco usb tiene tiene una partición de tipo ext4 la cual modificaremos la tabla de particiones para cambiar esto a NTFS la cual es posible de leer con windows/Linux/MacOS.

2.- Se procede a editar la tabla de particiones usando fdisk como super usuario o root con el siguiente comando:

fdisk /dev/sdb1

Mostrará la siguiente salida:

Bienvenido a fdisk (util-linux 2.33.1).

Los cambios solo permanecerán en la memoria, hasta que decida escribirlos.

Tenga cuidado antes de utilizar la orden de escritura.

Orden (m para obtener ayuda):

Se procede a pulsar la tecla "d" y enter la misma será auto seleccionada y eliminada y eliminada de la tabla de particiones cargada en fdisk, luego se pulsa "n" y se pulsa enter varias veces dejando los valores predeterminado al regresar a la pantalla inicial de fdisk solo se debe pulsar la tecla "t" para asignar el tipo de sistema de archivos a asignar a la misma si desconocemos los valores para ello si pulsamos la tecla "L" mayuscula nos listará todos los sistemas de archivos disponibles en fdisk la cual se puede mostrar la siguiente salida:

0  Vacía           24  DOS de NEC      81  Minix / Linux a bf  Solaris         
1  FAT12           27  NTFS de WinRE o 82  Linux swap / So c1  DRDOS/sec (FAT-
2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
3  XENIX usr       3c  PartitionMagic  84  OS/2 oculto o h c6  DRDOS/sec (FAT-
4  FAT16 <32M      40  Venix 80286     85  Linux extendida c7  Syrinx          
5  Extendida       41  PPC PReP Boot   86  Conjunto de vol da  Datos sin SF    
6  FAT16           42  SFS             87  Conjunto de vol db  CP/M / CTOS / .
7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Utilidad Dell   
8  AIX             4e  QNX4.x segunda  8e  Linux LVM       df  BootIt          
9  AIX arrancable  4f  QNX4.x tercera  93  Amoeba          e1  DOS access      
a  Gestor de arran 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O         
b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor       
c  W95 FAT32 (LBA) 52  CP/M            a0  Hibernación de  ea  alineamiento Ru
e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         eb  BeOS fs         
f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ee  GPT             
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        ef  EFI (FAT-12/16/
11  FAT12 oculta    56  Golden Bow      a8  UFS de Darwin   f0  inicio Linux/PA
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f1  SpeedStor       
14  FAT16 oculta <3 61  SpeedStor       ab  arranque de Dar f4  SpeedStor       
16  FAT16 oculta    63  GNU HURD o SysV af  HFS / HFS+      f2  DOS secondary   
17  HPFS/NTFS ocult 64  Novell Netware  b7  BSDI fs         fb  VMFS de VMware  
18  SmartSleep de A 65  Novell Netware  b8  BSDI swap       fc  VMKCORE de VMwa
1b  FAT32 de W95 oc 70  DiskSecure Mult bb  Boot Wizard hid fd  Linux raid auto
1c  FAT32 de W95 (L 75  PC/IX           bc  Acronis FAT32 L fe  LANstep         
1e  FAT16 de W95 (L 80  Minix antiguo   be  arranque de Sol ff  BBT

Como respuesta marcamos 7 (corresponde a NTFS) y se pulsa enter, y por ultimo se pulsa la tecla se especifica w y enter para que escriba los cambios en la tabla de particiones.

3.- Terminado esto solo falta formatear la particiones con el comando mkfs.ntfs y asignarle un nombre con el siguiente comando como super usuario root:

mkfs.ntfs -f -L DiscoUSB -v /dev/sdb1

Terminado el proceso se verá la siguiente impresión:

Cluster size has been automatically set to 4096 bytes.

Creating NTFS volume structures.

Creating root directory (mft record 5)

Creating $MFT (mft record 0)

Creating $MFTMirr (mft record 1)

Creating $LogFile (mft record 2)

Creating $AttrDef (mft record 4)

Creating $Bitmap (mft record 6)

Creating $Boot (mft record 7)

Creating backup boot sector.

Creating $Volume (mft record 3)

Creating $BadClus (mft record 8)

Creating $Secure (mft record 9)

Creating $UpCase (mft record 0xa)

Creating $Extend (mft record 11)

Creating system file (mft record 0xc)

Creating system file (mft record 0xd)

Creating system file (mft record 0xe)

Creating system file (mft record 0xf)

Creating $Quota (mft record 24)

Creating $ObjId (mft record 25)

Creating $Reparse (mft record 26)

Syncing root directory index record.

Syncing $Bitmap.

Syncing $MFT.

Updating $MFTMirr.

Syncing device.

mkntfs completed successfully. Have a nice day.

Solo sería montar dicha partición con:

mkdir -p DiscoUSB | mount /dev/sdb1 DiscoUSB/



Si te gustan las entradas de este blog y quieres mayor actividad y mejores explicaciones y tutoriales no dudes entrar en la pagina de donaciones de este blog y realizar un donativo o patrocinar este en cualquiera de las opciones disponibles y que se hacen referencia allí.



jueves, 10 de junio de 2021

Instalación, Configuración, Host virtuales (VirtualHost) y certificado ssl NGINX + PHP

 

NGINX

¿Qué es NGINX?.

Nginx, pronunciado como “engine-ex”, es un servidor web de código abierto que, desde su éxito inicial como servidor web, ahora también es usado como proxy inverso, cache de HTTP, y balanceador de carga.
Algunas compañías de alto perfil que utilizan Nginx incluyen Autodesk, Atlassian, Intuit, T-Mobile, GitLab, DuckDuckGo, Microsoft, IBM, Google, Adobe, Salesforce, VMWare, Xerox, LinkedIn, Cisco, Facebook, Target, Citrix Systems, Twitter, Apple , Intel, y muchos más. Fuente: kinsta.com

1.- Conociendo que es NGINX, lo primero a realizar es instalar el mismo junto con php y letsencrypt (este ultimo para crear certificados ssl)  con el siguiente comando en Debian GNU/Linux:

apt-get install nginx letsencrypt python3-certbot-nginx php7.3 php7.3-bcmath php7.3-bz2 php7.3-cgi php7.3-cli php7.3-common php7.3-curl php7.3-dba php7.3-dev php7.3-enchant php7.3-fpm php7.3-gd php7.3-gmp php7.3-imap php7.3-interbase php7.3-intl php7.3-json php7.3-ldap php7.3-mbstring php7.3-mysql php7.3-opcache php7.3-phpdbg php7.3-pspell php7.3-readline php7.3-recode php7.3-snmp php7.3-soap php7.3-sqlite3 php7.3-sybase php7.3-tidy php7.3-xml php7.3-xmlrpc php7.3-xsl php7.3-zip

Para instalar php7.4 se explicará como instalar el mismo en una próxima entrada o publicación.

2.- Una vez hecho hecho esto solo hay que copiar los archivos de los proyectos web en sus directorios correspondientes si no se dispone de un proyecto web se puede usar un index.php de prueba con un contenido como "<?php phpinfo();" a continuación se puede hacer lo siguientes comandos:

mkdir -p /var/www/html/proyecto1 /var/www/html/proyecto2
echo "<?php phpinfo();" >  /var/www/html/proyecto1/index.php > /var/www/html/proyecto2/index.php

3.- En el siguiente paso se tendría que crear los virtual host para cada ruta respectiva ejecutando lo siguiente:

nano /etc/nginx/sites-available/www.proyecto1.com

Agregando el siguiente contenido mediante nano:

server {
        root /var/www/html/proyecto1;
        access_log /var/log/nginx/proyecto1/admin.log;
        
        # Add index.php to the list if you are using PHP
        index index.php index.html index.htm index.nginx-debian.html;

        server_name www.proyecto1.com;

        charset utf-8;
    
        location / {
                try_files $uri $uri/ /index.php?$query_string;
                #add_header 'Access-Control-Allow-Origin' '*';
                #add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
                #add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
                #add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
        }
        #location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
        #        try_files $uri $uri/ =404;
        #}

        # pass PHP scripts to FastCGI server
        #
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        #       # With php-fpm (or other unix sockets):
                fastcgi_pass unix:/run/php/php7.3-fpm.sock;
        #       # With php-cgi (or other tcp sockets):
        #       fastcgi_pass 127.0.0.1:9000;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
               deny all;
        }
}

Luego de crear el archivo en sites-avaliable se debe crear la carpeta para los logs con el siguente comando:

mkdir -p  /var/log/nginx/proyecto1

Y luego crear el enlace simbólico del archivo de configuración del virtual host a la carpeta de activación del mismo la cual es sites-enabled con el siguiente comando:

ln -s /etc/nginx/sites-available/www.proyecto1.com /etc/nginx/sites-enable/www.proyecto1.com

El paso para el virtual host del proyecto 2 es muy parecido sería ejecutar los pasos anteriores pero colocando la referencia a "proyecto2" y "www.proyecto2.com" respectivamente.

4.- El siguiente paso sería verificar la sintaxis y reiniciar NGINX con los siguientes comandos como super usuario (root).

nginx -t

Si la salida observamos algo como "syntax ok" es que todo esta bien para iniciar nginx con el siguiente comando como super usuario (root):

/etc/init.d/nginx restart

5.- El siguiente paso es instalar los los certificados ssl con letsencrypt el cual se instala mediante la ejecución de los siguientes comandos como super usuario (root):

certbot --nginx -d www.proyecto1.com --post-hook "/usr/sbin/service nginx restart"
certbot --nginx -d www.proyecto2.com --post-hook "/usr/sbin/service nginx restart"

6.- El ultimo paso sería reiniciar NGINX como super usuario (root) y probar entrando al dominio del virtual host:

/etc/init.d/nginx start

Y acceder a las url de los dominios www.proyecto1.com y www.proyecto2.com


Si te gustan las entradas de este blog y quieres mayor actividad y mejores explicaciones y tutoriales no dudes entrar en la pagina de donaciones de este blog y realizar un donativo o patrocinar este en cualquiera de las opciones disponibles y que se hacen referencia allí.


jueves, 3 de junio de 2021

Ventoy la solución definitiva para USB multiboot en Debian GNU/Linux

 

ventoy

Debido a la reducción de tamaño físico de las unidades de almacenamiento masivo extraíble prendrives/SDCards/entre otros, surge la pregunta ¿Cómo servicio técnico como puedo tener una unidad que me permita tener instaladores múltiples en dicha unidad para y que solo tenga que seleccionar uno de estos instaladores desde imágenes booteables?, realizando una búsqueda en Internet algo profunda y probar varias opciones de utilidades que ofrecían hasta cierto punto una solución algo complicada se encontró a la utilidad Ventoy, una excelente utilidad sencilla de utilizar para crear dispositivos de almacenamiento masivo extraíble multiboot USB o SD.

Pero surge la siguiente interrogante:

¿Qué es Ventoy?.

Ventoy es una utilidad gratuita y de código abierto que se utiliza para escribir archivos de imagen como archivos .iso , .wim , .img , .vhd (x) y .efi en medios de almacenamiento para crear unidades flash USB de arranque . Una vez que Ventoy está instalado en una unidad USB, no es necesario volver a formatear el disco para actualizarlo con nuevos archivos de instalación; basta con copiar los archivos .iso, .wim, .img, .img (x) o .efi en la unidad USB y arrancar desde ellos directamente. Ventoy presentará al usuario un menú de arranque para seleccionar uno de estos archivos. Fuente: Wikipedia.

¿En que sistemas operativos se puede usar esta Herramienta o utilidad?.

  • Linux (en este caso probado en debian GNU/Linux).
  • Windows
  • Sistemas operativos tipo unix como: FreeBSD, Unix, entre otros.
Documentación.

Se puede consultar la documentación oficial en la siguiente url:

https://www.ventoy.net/en/doc_news.html

Contribuir.

Al ser un proyecto de software libre puedes entrar en su sección de donativos en la siguiente url:

https://www.ventoy.net/en/donation.html

Descargar ventoy.

Para descargar ventoy solo de se debe seleccionar la opción de acuerdo al sistema operativo que se use en la siguiente url para iniciar la descarga:

https://www.ventoy.net/en/download.html

Creando un pendrive/SDcard multiboot USB o SDcard con ventoy:

A continuación se realiza (en Debian GNU/Linux) en una serie de simples pasos:

1.- Descargar la herramienta disponible para linux como un archivo empaquetado .tar.gz:

wget https://github.com/ventoy/Ventoy/releases/download/v1.0.45/ventoy-1.0.45-linux.tar.gz

2.- Una vez teniendo el archivo empaquetado como .tar.gz solo hay que descomprimir el mismo.

tar -xvf ventoy-1.0.45-linux.tar.gz

3.- Luego de ejecutar dicho comando se creará un directorio "ventoy-1.0.45-linux" solo debe entrar en el mismo con:

cd ventoy-1.0.45

4.- Antes de ejecutar la herramienta de debe conectar el pendrive a la pc y en modo super usuario (root) ejecutar:

fdisk -l

5.- Observando la salida de fdisk debe aparecer una unidad /dev/sdbX se debe observar que la misma solo disponga de 1 partición y que la misma esta en el correcto formato FAT32 si esto es así solo se debrá continuar los pasos a continuación si en dado caso no es así de deberá usar fdisk /dev/sdb para editar la tabla de particiones y escribir los cambios luego formatear la partición con mkfs.vfat /dev/sdb1 (en este proceso se perderán datos en dicha unidad debe respaldar la información contenida en la misma).

El siguiente paso a continuación el cual es ejecutar como super usuario (root) sobre la unidad usd o sd el comando de instalación sobre la misma teniendo en cuenta que se perderán los datos en dicha unidad en esta acción: 

./Ventoy2Disk.sh -i /dev/sdb

Terminado el proceso el cual es apenas de unos pocos segundos para unidades de rápida lectura y escritura, el sistema operativo reconocerá de nuevo el dispositivo solo se monta y se copia alguna imagen .iso o algún archivo soportado por este que tenga un sistema arrancable y solo luego hay que desmontarlo una vez copiada la imagen y extraer la unidad.

El siguiente paso usa el programa de virtualización de qemu para verificar que todo el proceso fue exitoso asumiendo que se tiene qemu instalado se ejecuta como super usuario (root) teniendo el pendrive de nuevo conectado al computador el siguiente comando:

qemu-system-x86_64 -usb  /dev/sdb -m 1024

Se mostrará la siguiente pantalla si todo el proceso fue exitoso y la imagen iso se encuenta en buen estado y que tenga un sistema operativo booteable:


Mostrando que todo el proceso fue exitoso y ya se dispone de un USB / SD multiboot.


Si te gustan las entradas de este blog y quieres mayor actividad y mejores explicaciones y tutoriales no dudes entrar en la pagina de donaciones de este blog y realizar un donativo o patrocinar este en cualquiera de las opciones disponibles y que se hacen referencia allí.


lunes, 2 de noviembre de 2020

¿Cómo saber que hardware y versión de distribución GNU / Linux tengo? (Actualizado)

     Ante todo un cordial Saludo.

     Con esta lista de comandos podremos saber que hardware instalado instalado en nuestra pc, no solo eso también versión de GNU / Linux que usamos y la versión de distribución GNU / Linux.

  • Información del kernel linux instalado, nombre de host y la arquitetura del software.

Comando:
uname -a
Salida tras ejecución:
Linux equipo 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-1 (2016-03-06) x86_64 GNU/Linux

  • Información de la distribución GNU / Linux instalada y su versión.
 
Comando:
cat /etc/issue
Salida tras ejecución:
Debian GNU/Linux 8 \n \l

  • Información de la memoria RAM fisica instalada en el computador.

Comando:
cat /proc/meminfo
Salida tras ejecución:
MemTotal:        6124664 kB
MemFree:         3966872 kB
MemAvailable:    4902276 kB
Buffers:           60356 kB
Cached:          1029496 kB
SwapCached:            0 kB
Active:          1369520 kB
Inactive:         581148 kB
Active(anon):     861660 kB
Inactive(anon):    21868 kB
Active(file):     507860 kB
Inactive(file):   559280 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       2399228 kB
SwapFree:        2399228 kB
Dirty:                44 kB
Writeback:             0 kB
AnonPages:        860844 kB
Mapped:           307128 kB
Shmem:             22716 kB
Slab:             103664 kB
SReclaimable:      74380 kB
SUnreclaim:        29284 kB
KernelStack:        5776 kB
PageTables:        32908 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     5461560 kB                                                    
Committed_AS:    4496576 kB
VmallocTotal:34359738367 kB
VmallocUsed:      118688 kB
VmallocChunk:34359616508 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      134656 kB
DirectMap2M:     6156288 kB


  • Información del CPU instalado.
Comando:
cat /proc/cpuinfo
Nota: Tambien se puede ejecutar lscpu para obtener una información un poco más resumida
Salida tras ejecución:
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz
stepping        : 10
microcode       : 0xa07
cpu MHz         : 2003.000
cache size      : 2048 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dtherm tpr_shadow vnmi flexpriority
bogomips        : 5319.52
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz
stepping        : 10
microcode       : 0xa07
cpu MHz         : 2003.000
cache size      : 2048 KB
physical id     : 0
siblings        : 4
core id         : 1
cpu cores       : 4
apicid          : 1
initial apicid  : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dtherm tpr_shadow vnmi flexpriority
bogomips        : 5319.52
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 2
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz
stepping        : 10
microcode       : 0xa07
cpu MHz         : 2003.000
cache size      : 2048 KB
physical id     : 0
siblings        : 4
core id         : 2
cpu cores       : 4
apicid          : 2
initial apicid  : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dtherm tpr_shadow vnmi flexpriority
bogomips        : 5319.52
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 3
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz
stepping        : 10
microcode       : 0xa07
cpu MHz         : 2003.000
cache size      : 2048 KB
physical id     : 0
siblings        : 4
core id         : 3
cpu cores       : 4
apicid          : 3
initial apicid  : 3
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dtherm tpr_shadow vnmi flexpriority
bogomips        : 5319.52
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

  • Información de hardware conectado internamente sea por slot PCI o PCI-e.

Comando:
lspci
Salida tras ejecución:
00:00.0 Host bridge: Intel Corporation 4 Series Chipset DRAM Controller (rev 03)
00:01.0 PCI bridge: Intel Corporation 4 Series Chipset PCI Express Root Port (rev 03)
00:1b.0 Audio device: Intel Corporation NM10/ICH7 Family High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 1 (rev 01)
00:1c.1 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 2 (rev 01)
00:1d.0 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #1 (rev 01)
00:1d.1 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #2 (rev 01)
00:1d.2 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #3 (rev 01)
00:1d.3 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #4 (rev 01)
00:1d.7 USB controller: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)
00:1f.2 IDE interface: Intel Corporation NM10/ICH7 Family SATA Controller [IDE mode] (rev 01)
00:1f.3 SMBus: Intel Corporation NM10/ICH7 Family SMBus Controller (rev 01)
01:00.0 Ethernet controller: Qualcomm Atheros AR8152 v2.0 Fast Ethernet (rev c1)
04:00.0 VGA compatible controller: NVIDIA Corporation GF119 [GeForce GT 520] (rev a1)
04:00.1 Audio device: NVIDIA Corporation GF119 HDMI Audio Controller (rev a1)


  • Información de hardware conectado por puerto usb.

Comando:
lsusb
Salida tras ejecución:
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

  • También podemos una lista de hardware conectado incluyendo unidades de disco y sus particiones.

Comando:
ls /dev
Salida tras ejecución:
autofs           loop-control        sda5      tty22  tty47  uinput
block            lp0                 sda6      tty23  tty48  urandom
bsg              mapper              sg0       tty24  tty49  vcs
btrfs-control    mcelog              sg1       tty25  tty5   vcs1
bus              mem                 shm       tty26  tty50  vcs2
cdrom            mqueue              snapshot  tty27  tty51  vcs3
cdrw             net                 snd       tty28  tty52  vcs4
char             network_latency     sr0       tty29  tty53  vcs5
console          network_throughput  stderr    tty3   tty54  vcs6
core             null                stdin     tty30  tty55  vcs7
cpu              nvidia0             stdout    tty31  tty56  vcsa
cpu_dma_latency  nvidiactl           tty       tty32  tty57  vcsa1
cuse             parport0            tty0      tty33  tty58  vcsa2
disk             port                tty1      tty34  tty59  vcsa3
dri              ppp                 tty10     tty35  tty6   vcsa4
dvd              psaux               tty11     tty36  tty60  vcsa5
dvdrw            ptmx                tty12     tty37  tty61  vcsa6
fd               pts                 tty13     tty38  tty62  vcsa7
full             random              tty14     tty39  tty63  vfio
fuse             rfkill              tty15     tty4   tty7   vga_arbiter
hpet             rtc                 tty16     tty40  tty8   vhci
hugepages        rtc0                tty17     tty41  tty9   vhost-net
initctl          sda                 tty18     tty42  ttyS0  watchdog
input            sda1                tty19     tty43  ttyS1  watchdog0
kmsg             sda2                tty2      tty44  ttyS2  xconsole
kvm              sda3                tty20     tty45  ttyS3  zero
log              sda4                tty21     tty46  uhid


  • Infómación de las Unidades de disco conectadas y sus parciones ya sean internas o externas.

Comando:
fdisk -l
Nota: Este comando se ejecuta solo como root o con un usuario con privilegios de administrador o Super Usuario.
Salida tras ejecución:
Disco /dev/sda: 465,8 GiB, 500107862016 bytes, 976773168 sectores
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
Tipo de etiqueta de disco: dos
Identificador del disco: 0xb36d6313

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1            2048    206847    204800   100M  7 HPFS/NTFS/exFAT
/dev/sda2          206848 245762047 245555200 117,1G  7 HPFS/NTFS/exFAT
/dev/sda3       245762048 771971071 526209024 250,9G  7 HPFS/NTFS/exFAT
/dev/sda4       771973118 976771071 204797954  97,7G  5 Extended
/dev/sda5  *    771973120 971970559 199997440  95,4G 83 Linux
/dev/sda6       971972608 976771071   4798464   2,3G 82 Linux swap / Solaris


  • Información de la tarjeta madre instalada.

Comando:
dmidecode -t baseboard
Nota: ejecutarlo como root o super usuario.
Salida tras ejecución:

# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.

Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
       Manufacturer: Standard
       Product Name: Standard
       Version: To be filled by O.E.M.
       Serial Number: To be filled by O.E.M.
       Asset Tag: To be filled by O.E.M.
       Features:
               Board is a hosting board
               Board is replaceable
       Location In Chassis: To be filled by O.E.M.
       Chassis Handle: 0x0003
       Type: Motherboard
       Contained Object Handles: 0

Handle 0x0025, DMI type 10, 6 bytes
On Board Device Information
       Type: Video
       Status: Enabled
       Description:    To Be Filled By O.E.M.

Handle 0x0033, DMI type 41, 11 bytes
Onboard Device
       Reference Designation:  Onboard IGD
       Type: Video
       Status: Enabled
       Type Instance: 1
       Bus Address: 0000:00:02.0

Handle 0x0034, DMI type 41, 11 bytes
Onboard Device
       Reference Designation:  Onboard LAN
       Type: Ethernet
       Status: Enabled
       Type Instance: 1
       Bus Address: 0000:00:19.0

Handle 0x0035, DMI type 41, 11 bytes
Onboard Device
       Reference Designation:  Onboard 1394
       Type: Other
       Status: Enabled
       Type Instance: 1
       Bus Address: 0000:03:1c.2


     Espero que les guste, esperen mi próxima entrada.

viernes, 2 de agosto de 2019

Cambiar la clave de usuario root de MariaDB en debian 10


     Cuando instalamos mariaDB por defecto en debian 10 no tiene contraseña el usuario root esto es un problema si queremos tener phpmyadmin ya que no dará acceso a mariaDB de esta manera.

     A continuación muestro una serie de sencillos pasos que seguiremos para cambiar la clave del usuario root en mariaDB.

     Accedemos como super usuario (ROOT) a la terminal o consola con el comando:

su

ó

sudo -H -s

     Verificamos que mariaDB se esta ejecutando con:

systemctl is-active mariadb

     Si no esta el proceso iniciado procedemos a iniciarlo con:

systemctl start mariadb

     Luego entramos a mariaDB con el siguiente comando:

mysql -U root -p

     Estando en la interfaz de ejecución de ordenes sql de mariaDB ejecutamos los siguientes comandos:

USE mysql;

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('tucontraseña')

FLUSH PRIVILEGES;

     Donde esta el texto tucontraseña en minusculas se modifica y se coloca la contraseña que se quiere.

     Existe otra forma de hacerlo es la siguiente:

USE mysql;

UPDATE mysql.user SET Password=PASSWORD('tucontraseña') WHERE User='root' AND Host='localhost';

FLUSH PRIVILEGES;

     Luego solo se reinicia mariaDB con:

systemctl start mariadb

     Y listo contraseña cambiada

     Si te gusto esta entrada no dudes de realzar un donativo a la dirección de bitcoins:  1FkJqbNmjr2tca2jDRfAHYy53TMQei5yJw


jueves, 1 de agosto de 2019

Instalar driver realtek en debian 10



     Esta entrada hace referencia al caso de la instalación del driver realtek para tarjetas inalambricas las cuales tienen un chipset Realtek RTL8723BU (mi laptop o notebook es un VIT P1420) y que en nuestro caso el paquete firmware-realtek una vez instalado no funciona o no la maneja bien por defecto en debian 10 buster.

     Buscando en internet encontre la siguiente URL:


     La cual seguí al pie de la letra en sus pasos y agregue un paso extra para el caso de debian los cuales describo a continuación:

     Antes de comenzar entramos como super usuario (ROOT), en la terminal/consola/bash con:

su

     ó

sudo -H -s

     Lo primero es instalar mokutil con el siguiente comando:

mokutil

     Luego ejecutamos:

mokutil --sb-state

     Si tienes activo Secure Boot en el Bios reinicia entra al bios y desactivalo.

     A continuación instala los siguientes paquetes:

apt-get install git build-essential linux-headers-$(uname -r)

     Ahora se descarga el driver con git de la siguiente forma:

git clone https://github.com/lwfinger/rtl8723bu

     Traduciendo lo que dicen en la entrada que me guié: "Ahora va a deshabilitar una línea en el archivo MAKE del nuevo controlador, porque sin este truco, se mostrarán dos instancias del chipset inalámbrico en Network Manager (que por supuesto sería extraño e inútil). El siguiente comando es una línea enorme" según lo dicho aquí copiamos y pegamos en nuestra terminal/consola/bash y pulsamos enter con lo siguiente:

sed -i 's/EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE/#EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE/g' ~/rtl8723bu/Makefile

     Luego entramos en el directorio del driver:

cd rtl8723bu

     Compilamos con

make

     Instalamos con el siguiente comando:

make install

     Luego desactivamos el driver defectuoso editando ó creando el siguiente archivo:

nano /etc/modprobe.d/blacklist.conf

     En el archivo agregamos lo siguiente:

# The rtl8xxxu driver is flawed,
# so it needs to be prevented from loading.
# This should give the 8723au or the 8723bu driver
# the chance to load instead.
blacklist rtl8xxxu

     Y listo solo reiniciamos con el siguiente comando

init 6

     ó

reboot

     Al iniciar de nuevo el computador u ordenador debería estar ya funcionando nuestra tarjeta de red Wireless.


     Si te gusto esta entrada no dudes en dejar un donativo a mi dirección de bitcoins: 1FkJqbNmjr2tca2jDRfAHYy53TMQei5yJw

jueves, 21 de febrero de 2019

¿Cómo buscar archivos a traves de la consola en GNU/Linux?


     Lo primero que debemos saber es ¿Qué es find o comando find?

Find es un comando común en sistemas Unix que se utiliza para encontrar archivos en un determinado directorio a partir de diversas reglas de búsqueda, tales como nombre exacto de archivo, fecha de creación, tamaño, permisos, etc. llegando a ser muy flexible y una de las herramientas más útiles en la administración de sistemas cuando se sabe utilizar. En los sistemas GNU/Linux forma parte del paquete findutils.
Fuente: wikipedia

     Con el siguiente comando podremos buscar en todo nuestro sistema operativo algún archivo que no encontremos fácilmente a continuación el comando:

find / -name arch.txt

     Donde find es el comando el / es el directorio donde se buscara el archivo y donde -name le decimos a find que busque por nombre y arch.txt es el nombre del archivo a buscar.

     Búsquedas en múltiples directorios:

     Find es una herramienta que no se limita a la búsqueda en un solo directorio el mismo puede hacer búsquedas en múltiples directorios a continuación un ejemplo:

find /home/usuario/documentos /home/usuario/descargas -name arch.txt

     Búsquedas de acuerdo al tiempo de creación o modificación de los archivos.

     Se disponen aun de funciones más avanzadas para la realización de búsquedas a continuación una búsqueda de los archivos modificados los últimos 30 minutos:

find / -mmin -30 -type f

     Los modificados exactamente hace 30 minutos:

find / -mmin 30 -type f

     Si quieres buscar en un rango específico de minutos, con el siguiente ejemplo buscarías todos los directorios que hayan cambiado hace más de 10 minutos (+10) y menos de 30 (-30):


find / -mmin +10 -mmin -30 -type d

     Find ofrece varias opciones de búsqueda por tiempo, pero las principales son: -amin, -atime, -cmin, ctime, -mmin y -mtime. "min" es para periodos de minutos y "time" para periodos de 24 horas. Los que empiezan con "a" (access) indica el tiempo en que fue accedido (leido) por última vez un archivo. Los que empiezan con "c" (change) indica el tiempo que cambió por última vez el status de un archivo, por ejemplo sus permisos. Los que empiezan con "m" (modify) indica el tiempo en que fue modificado (escrito) por última vez un archivo. Una consideración a tener con las búsquedas -atime, -ctime y -mtime es que el tiempo se mide en periodos de 24 horas y estos son siempre truncados, con ejemplos es más claro:

find . -mtime 0  (busca archivos modificados entre ahora y hace un dia)
find . -mtime -1 (busca archivos modificados hace menos de un dia)
find . -atime 1  (busca archivos accedidos entre hace 24 y 48 horas)
find . -ctime +1 (busca archivos cuyo status haya cambiado hace más de 48 horas)

     Búsquedas de acuerdo al uso de almacenamiento en disco de los archivo.

Con find es muy fácil realizar búsquedas por tamaño, se indica con la opción -size, se aplican las mismas reglas para argumentos numéricos (+n -n n).

find /var/log -size +15000k -name "*.jpg" (busca archivos mayores a 15 megas del tipo jpg)

find $HOME -800c (busca en tu home todos los archivos menores a 800 bytes (799 realmente)

(archivos de tamaño comprendidos entre 1mb y 10mb)

find . -size +1000k -and -size -10000k

     Se admiten cuatro parámetros después del número en -size:

c = bytes
w = 2 byte words
k = kilobytes
b = 512-byte bloques

     Para buscar archivos vacíos puedes entonces hacer lo siguiente:

find . -size 0c

     (Aunque la opción -empty hace lo mismo más eficientemente)

find . -empty

     Cualquiera de los ejemplos anteriores dará un aburrido listado de los archivos y sus rutas. Si lo que quieres es realizar una acción (ejecutar un comando) sobre estos usa entonces la opción entonces -exec.

     Comparaciones -and, -or y -not.

     Find también incluye operadores booleanos que la hace una herramienta aun más últil:

find /home -name 'ventas*' -and -mmin 120

find /home -name 'reporte[_-]*' -not -user sergio

find /home -iname '*enero*' -or -group gerentes

     El primer ejemplo busca todos los archivos que comiencen con 'ventas' Y que hayan sido modificados o cambiados en las últimas dos horas (120 minutos).

     El segundo ejemplo busca todos los archivos que comiencen con 'reporte' y después siga un _ o un - y que NO pertenezcan al usuario sergio.

     El tercer ejemplo busca todos los archivos que contengan la palabra enero, Enero, ENERO, etc. (sin importar si lleva mayúsculas o minúsculas) O cualquier otro archivo que encuentre que pertenezca al grupo 'gerentes'.

     Estas opciones de booleanos tienen su correspondiente abreviatura: -and se puede indicar también como -a -or se puede indicar también como -o -not se puede indicar también como !

     Opción -exec para la ejecución de otros comandos.

     -exec permite ejecutar acciones sobre el resultado de cada línea o archivo devuelto por find, o en otras palabras permite incorporar comandos externos para ejecutar sobre cada resultado devuelto. Muy interesante.
     Asi por ejemplo, si queremos buscar todos los archivos mayores a 3 megas en /var y además mostrar su salida en formato ls, podemos hacer lo siguiente:

find /var -size +3000k -exec ls -lh {} \;

Después de ls -lh que nos devuelve una salida formateada de ls se indica la cadena '{}' que se sustituye por cada salida de find. No hay límite para lo que se puede lograr, asi por ejemplo, borrar todo lo mayor a un mega en /tmp.

find /tmp -size +1024k -exec rm -f {} \;

Por cierto si usas la versión GNU de find (y creo que todos los que usamos Linux la tenemos, compruébalo con find --version)), lo anterior también funciona directamente con la opción -delete:

find /tmp -size +3000k -delete (lo mismo que usar -exec con rm)


     Si te gustó esta entrada no dudes en realizar un donativo.


¿Cómo verificar y reparar sectores de disco dañados en linux? badblocks


Hay momentos en el cual ya despues de un largo tiempo de trabajo nuestro disco duro comienza a fallar o a generarse sectores dañados y necesitamos una aplicación que no ayude a encontrar esos sectores de disco dañados para alargar un poco la vida de nuestro disco en nuestro caso disponemos de una aplicación en linux muy util se llama badblocks.

Pero... ¿Qué es badblocks?.
Badblocks es una utilidad disponible para Linux que permite localizar y aislar los sectores defectuosos de una unidad de disco. Este programa genera una lista de los sectores dañados en el disco que puede ser leída por otros programas, como mkfs, a fin de evitar su uso y prevenir así problemas de corrupción y pérdida de datos. Es parte del proyecto e2fsprogs,​ y está disponible una versión portada a sistemas BSD.
Fuente: wikipedia
¿Cómo usarlo?.

Lo primero es la nomenclatura que usa linux para identificar nuestro disco duro la cual ejecutamos como administrador o root:

fdisk -l

     Luego sabiendo la nomenclatura o identificación de nuestro disco en este caso es /dev/sda, ejecutamos:

Forma no destructiva y recupera los sectores dañados en el que la información en el disco no será dañada:

badblocks -svnf /dev/sda

Donde le estamos indicando lo siguiente:
-s. Nos muestra el proceso de escaneo del disco, mostrándonos los sectores ya chequeados.
-v. Nos indica el modo de escritura utilizado.
-n. Nos pone en modo no destructivo, esto quiere decir que se recuperarán los sectores dañados y la información en el disco duro no será dañada o eliminada.
-f. Reparará los sectores dañados.

La opción f es para forzar la lectura y escritura en caso de que el disco este montado, el proceso es bastante lento y puedes durar inclusive varias horas dependiendo de la capacidad del disco duro.

Forma destructiva recupera los sectores dañados pero la información en el disco se pierde o es destruida:

badblocks -wvs /dev/sdb

– w: Modo escritura (destructivo).
-s. Nos muestra el proceso de escaneo del disco, mostrándonos los sectores ya chequeados.
-v. Nos indica el modo de escritura utilizado.

Es bueno verificar regularmente cada mes nuestro disco ejecutando.

badblock -s /dev/sda

Si te gusto esta entrada no dudes en realizar un donativo esto me permitirá dedicarle más tiempo al blog.

viernes, 30 de noviembre de 2018

Virtualización qemu con pendrives, cdrom e imágenes de cd y pendrive live



     Ya hace algún tiempo desde que realice una publicación que explicaba el uso de qemu pero veo que con las nuevas versiones de qemu hay nuevas funcionalidades, permite aprovechar mejor nuestro hardware y dispone ahora de nuevas opciones para su uso y hay poca documentación en español al respecto con esta entrada mostraré como trabajar con qemu y realizar virtualizaciones con el mismo usando periféricos disponibles en nuestro ordenador o computador con una serie de sencillos parámetros.

     Lo primero es ejecutar como usuario normal a través de la terminal o consola el siguiente comando:

     xhost +

     Este comando permite ejecutar interfaces gráficos como administrador o usuario root en linux más que todo en la interfaz gráfica de usuario KDE.

     Luego nos logueamos como administrador con el comando:

     su (caso debian)

     sudo -H -s (Caso ubuntu u otras distribuciones).

      Luego creamos el directorio y entramos en el con el siguiente comando:

     mkdir sistemasvirtualizados && cd sistemasvirtualizados

     Creamos ahora la imagen de disco donde se instalará el sistema a virtualizar:

     qemu-img create imagen_del_so.img 64G

     Ahora ya tenemos la imagen a ejecutar ahora ¿Cómo hacemos para comenzar la instalación si tenemos el sistema a instalar en un pendrive booteable? con el siguiente comando:

     qemu-system-x86_64 -hda imagen_del_so.img -usb -usbdevice disk:/dev/sdb -m 1024 -smp 4,sockets=4,cores=2,threads=2

     Este comando comenzará la virtualizanción pero vamos a explicarlo más a detalle el comando.

     ¿Por que el comando es qemu-system-x86_64?

     Es sencillo en nuevas versiones del mismo adapta mejor las virtualizaciones para emular las diferentes arquitecturas de hardware.

     Si ejecutamos ls /usr/bin | grep qemu-system veremos esto:

     qemu-system-aarch64
     qemu-system-alpha
     qemu-system-arm
     qemu-system-cris
     qemu-system-i386
     qemu-system-lm32
     qemu-system-m68k
     qemu-system-microblaze
     qemu-system-microblazeel
     qemu-system-mips
     qemu-system-mips64
     qemu-system-mips64el
     qemu-system-mipsel
     qemu-system-moxie
     qemu-system-or32
     qemu-system-ppc
     qemu-system-ppc64
     qemu-system-ppcemb
     qemu-system-s390x
     qemu-system-sh4
     qemu-system-sh4eb
     qemu-system-sparc
     qemu-system-sparc64
     qemu-system-unicore32
     qemu-system-x86_64
     qemu-system-xtensa
     qemu-system-xtensaeb

     Estas son algunas de las formas pre-establecidas para ejecutar qemu emulando cierto hardware especifico para virtualizar el sistema operativo.

     La opción -hda imagen_del_so.img permite usar la imagen que emula a un disco duro virtual que creamos.

     La opción -usb -usbdevice disk:/dev/sdb permite ejecutar nuestro pendrive booteable y comenzar la instalación hacia nuestro disco duro virtual.

     La opción -m 1024 nos permite asignar la memoria ram al sistema a virtualizar en MegaBytes.

     La opción -smp 4,sockets=4,cores=2,threads=2 esta opción nos permite asignar parametros y potencia de tiempo de trabajo de nuestro CPU trabajar esta opción con cuidado o no usarla.

     Pero que pasa si nuestro instalador no esta en un pendrive si no en un cd-rom/dvd-rom/br pues ejecutamos la virtualización de la siguiente manera.

     qemu-system-x86_64 -hda imagen_del_so.img -boot d -cdrom /media/cdrom -m 1024 -smp 4,sockets=4,cores=2,threads=2

     Donde -boot d -cdrom /media/cdrom nos permite ejecutar la instalación desde nuestra unidad física de cd-rom/dvd-rom/br.

     Pero viene otro caso no tenemos ningún cdrom o ningún pendrive booteable pero en nuestro disco tenemos la imagen de pendrive booteable o la imagen iso de nuestro sistema de instalación a continuación muestro como haríamos en cada caso:

     Caso Imagen iso de cdrom (nota tenerla en el mismo directorio donde estamos virtualizando nuestro sistema para mayor comodidad)

     qemu-system-x86_64 -hda imagen_del_so.img -boot d -cdrom debian9.iso -m 1024 -smp 4,sockets=4,cores=2,threads=2

     Caso pendrive imagen .img:

     qemu-system-x86_64 -hda imagen_del_so.img -usb -usbdevice disk:debian8liveusb.img -boot menu=on -m 1024 -smp 4,sockets=4,cores=2,threads=2

     Otras opciones que podemos usar:
  • -k idioma Con esto le estaríamos especificando el tipo de teclado que estaríamos utilizando. Si es un teclado español, colocamos -k es, si es un teclado ingles utilizamos -k en-us. El teclado por defecto es en-us
  • -full-screen Esto nos permite iniciar la máquina virtual en pantalla completa.
  • -net none Esta opción no nos configura los dispositivos de Red en el Sistema Operativo que vallamos a usar/instalar. Sería bueno activarla cuando no queramos utilizar la RED en dicha máquina virtual.
  • -nographic Qemu utiliza las librerías SDL para poder mostrar lo gráficos. Si el sistema operativo que vallamos a instalar no utiliza gráficos si no una línea de comandos podríamos utilizar este parámetro.
     Hay virtualizaciones más avanzadas que a futuro espero crear entradas explicando como se pueden realizar.


     Si te gustan mis publicaciones no dudes en realizar un donativo.