El viernes pasado comento un lector, que seria interesante crear un post acerca de como formatear una USB y crear un USB booteable por el comando dd así que en este post tratare esos temas
Administración de unidades por medio de la terminal.
Fdisk
El primer comando necesario es fdisk, este permite manipular y/o mostrar la tabla de particiones de cualquier unidad, y su uso es tan simple como su definición…
# fdisk -l
Muestra el listado de unidades y su tabla de particiones
# fdisk /dev/sdx #sdx es un ejemplo
Entra a el menú interactivo de manipulación de particiones.
mount/umount
Cuando comencé hace años en GNU/Linux me preguntaba, ¿Sera posible montar una USB por la terminal? Mi instinto me decía que si, pero… ¿Como? Poco a poco comencé a usar mas la consola y de pronto la respuesta llego sola con mount y umount.
Para montar una USB desde la terminal necesitamos crear un directorio de montaje, por tradición será en /mnt hahaha
# mkdir /mnt/USB
En este directorio se montaran todos los datos de la USB. Ahora conectamos la USB el kernel hace toda la magia al detectar el controlador, y decirle al sistema que el dispositivo esta listo para ser utilizado, podemos ver esto con:
$ dmesg | tail
Mostrara las ultimas 10 lineas que hace el buffer del kernel pero para nosotros sera imperceptible hasta que usemos fdisk para ver que detecta una unidad nueva y nos mostrara información respecto a ella; supongamos que la USB es /dev/sdb y queremos sacar la información de ella. Para montarla basta
# mount /dev/sdb /mnt/USB
Ahora al ir al directorio /mnt/USB encontraremos que tiene toda la información de la USB y es posibl
Es posible crear una USB bootealble
# dd if=~/imagen.iso of=/dev/sdb
Y solo queda esperar hasta que el cursor de la terminal vuelva a aparecer.
Es posible hacer una copia de unidad a unidad
# dd if=/dev/sdx1 of=/dev/sdx2 bs=4096
Eliminar los datos de toda la unidad
# dd if=/dev/null of=/dev/sdx
Hacer un texto horizontal
$ echo -n "Wada" | bb cbs=1 conv=unblock 2> /dev/null
Convertir un texto a minúsculas
$ echo "wada" | bb conv=ucase 2> /dev/null
Entre otros.
Bueno gente es todo por hoy esto es lo básico que se debe conocer de manejo de sistemas de archivos y unidades Nos leemos gente, hasta el próximo viernes.
Yo no se por que pero nunca pude preparar un liveusb con el comando dd usando una iso. Si pude con una imagen .usb. Habra que probar de nuevo.
Buen post.
Saludos.
A mi también me ha pasado eso en algunas raras ocasiones, especialmente con los CD de viejas distros (Ubuntu 6.04, Fedora 8), creo que se debe a mas que todo la estructura de los datos de la iso y de como se graban estos en el USB usando el comando dd. Del resto, dd me ha funcionado de maravillas con ISOs como las de Arch, Debian, Slackware o Gentoo.
Conviene hacer un post sobre particione, como particionar y temas relacionados con la instalacion de distros. Cuando se puede cambiar el tama;o de la particion y cuando no.
Gracias por tu comentario 😀 lo he pensado desde el viernes, pero creo que se sale del concepto. Igual si cuando tenga tiempo armo un post normal sobre este tema :).
Buen tutorial, siguiendo tal cual como dice el autor…dará el mismo resultado a todos?, al menos a mi desde el comando dmesg | tail ,da otro resultado y parece estar el dispositivos USB protegido contra escritura; se monta como solo lectura, así dice en la terminal y no puedo seguir.
@demo, el dmesg | tail será diferente para todos, no todos tenemos el mismo hardware, kernel y distro. En cuanto a tu unidad USB protegida contra escritura , eso es algo raro, por lo general cuando he visto eso, es porque las unidades USB tienen un pequeño botón físico para eso, o tienen daños en su firmware.
A mi me sale esto:
# fdisk -l
Disco /dev/sda: 100.0 GB, 100030242816 bytes
255 cabezas, 63 sectores/pista, 12161 cilindros, 195371568 sectores en total
Unidades = sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador del disco: 0x0008451b
Dispositivo Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 2048 191197183 95597568 83 Linux
/dev/sda2 191199230 195371007 2085889 5 Extendida
/dev/sda5 191199232 195371007 2085888 82 Linux swap / Solaris
Disco /dev/sdb: 7862 MB, 7862353920 bytes
242 cabezas, 62 sectores/pista, 1023 cilindros, 15356160 sectores en total
Unidades = sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador del disco: 0x00000000
El disco /dev/sdb no contiene una tabla de particiones válida
#
Con el comando sudo fdisk -l /dev/sda ,da esto:
$ sudo fdisk -l /dev/sda
Disco /dev/sda: 100.0 GB, 100030242816 bytes
255 cabezas, 63 sectores/pista, 12161 cilindros, 195371568 sectores en total
Unidades = sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador del disco: 0x0008451b
Dispositivo Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 2048 191197183 95597568 83 Linux
/dev/sda2 191199230 195371007 2085889 5 Extendida
/dev/sda5 191199232 195371007 2085888 82 Linux swap / Solaris
$
Luego de crear la carpeta para montar la USB y al ejecutar el comando dmesg | tail ,sale esto:
$ dmesg | tail
[ 340.659042] sd 3:0:0:0: [sdb] No Caching mode page found
[ 340.659051] sd 3:0:0:0: [sdb] Assuming drive cache: write through
[ 340.665044] sd 3:0:0:0: [sdb] No Caching mode page found
[ 340.665056] sd 3:0:0:0: [sdb] Assuming drive cache: write through
[ 340.686186] sdb: unknown partition table
[ 340.688919] sd 3:0:0:0: [sdb] No Caching mode page found
[ 340.688929] sd 3:0:0:0: [sdb] Assuming drive cache: write through
[ 340.688937] sd 3:0:0:0: [sdb] Attached SCSI removable disk
[ 340.936773] ISO 9660 Extensions: Microsoft Joliet Level 3
[ 340.938020] ISO 9660 Extensions: RRIP_1991A
$
Ahí es donde me pierdo y no puedo continuar con los demás comando, ejemplo:
# mount /dev/sdb /mnt/USB
mount: dispositivo de bloques /dev/sdb está protegido contra escritura; se monta como sólo lectura
Y este otro comando:
# dd if=~/imagen.iso of=/dev/sdb
dd: No se puede abrir «/root/imagen.iso»: No existe el archivo o el directorio
#
@demo ¿Estás poniendo bien la dirección de la imagen .iso? Según el mensaje que colocaste, la imagen la tienes en «/root/imagen.iso», lo que es curioso. También me llama la atención que el archivo se llame «imagen.iso».
Si quieres hacer el dispositivo booteable tienes que poner la dirección y el nombre del archivo. Supongamos que está en «Descargas» y el archivo se llama «Fedora20.iso». Entonces tendrías que teclearlo así:
dd if=/home/user/Descargas/Fedora20.iso of=/dev/sdb
Que tal José R.
Si fijaras lo que expone el autor no coincide con el resultado que muestra la terminal pese a seguir paso a paso sus indicaciones , en el comando dmesg | tail ,da otro resultado , y de ahí para abajo comienzan otros resultados, que la USB este protegido contra escritura , y mas abajo que no existe al archivo o directorio. En algunas USB pese a grabar la imagen iso DVD en una mamoria USB con algún programa -no logra rebotear en la bios de la PC pese que la bios esta programada para que la USB inicie en primer lugar.
@demo Lo que pasa es que el autor del artículo pone los comandos, pero el usuario tiene que modificarlos de acuerdo a sus necesidades. Por ejemplo, desde el primer comando de «fdisk» el resultado será distinto porque posiblemente tienes una denominación diferente asignada a tus particiones o discos duros que la del autor. Ese comando es para que veas cuál es la de tu memoria usb y, a partir de eso, introducir los otros datos.
Los siguientes comandos que pone son «mount» y «umount». En crear la carpeta con «mkdir» supongo que no te dio problema. Quizá el problema fue al montarlo porque a lo mejor no tienen la misma designación de las unidades. Ahí tendrías que encontrar cuál es y escribirla. El autor pone que es «sdx» como ejemplo, pero en tu memoria usb podría ser «sda1», «sda2», etc.
El comando «dmesg | tail» no te saldrá igual que el autor, ya que como indica solamente las últimas diez líneas que hacer el búfer del kernel, y eso en todas las computadoras varía, dado que tienen diferentes actividades. Ese comando nadamás es para corroborar que el sistema ha detectado la memoria. De hecho el paso del montaje puedes omitirlo: casi en todas las distros se monta automáticamente.
De ahí en adelante tienes que seguir las misma indicaciones con las respectivas modificaciones a los comandos, modificaciones que tiene que ver con tus dispositivos y con tu imagen .iso.
Saludos.
@José R. Entendiste a la perfección el concepto 😀 gracias por pasar.
@demo Jamas te saldrá lo mismo que a mi, porque tenemos hardware diferente, software diferente, configuraciones diferentes… La intención es señalar el lugar, no decirte que camino seguir.
Sobre lo de dmesg | tail solo mostrara los mensajes del kernel; De hecho no es necesario este paso para montar una USB esta ahí para que los nuevos conozcan donde se muestran todos los mensajes del kernel desde.
Buen Tutorial!
Me sumo al pedido de tutorial sobre las particiones ya que me ha ocurrido que NO HUBO CASO con el dd y creo que viene por el lado del particionamiento de la unidad.
No me queda claro, cuando el of es a sdb (unidad) o a sdb1 (particion)
Saludos y excelente viernes!
Edureg
Cuando usas sdb sin especificar partición usas toda la unidad, entonces, si tienes una memoria de 8 GB y le pones una imagen de 4 GB, los otros 4 te quedan inutilizables (no permanentemente).
Gracias por la respuesta!
El sabado quise poner «puppy linux» en un usb con dd y no hubo caso… tuve que levantarlo en una vm de virtualbox y desde ahi ir a la opcion «instalar en usb» (o algo parecido), y ahi si anduvo sin problemas.
Es raro… no pasa con TODAS las iso, como dije antes, tomando una de Win 8, pude armarme el instalador desde USB.
Saludos!
Me encanta el «Viernes de Terminal»
Lo único malo del dd es que no tiene una barra porcentaje o algo parecido.
Pero pueden probar algo como esto que lo vi por algún lado y lo anote para no perderlo. (Al menos en Distros Debian funciona)
pgrep -l '^dd'
watch -n 10 kill -USR1 11132
o instalando el comando «pv»
pv -tpreb /dev/sda | dd of=/dev/sdb bs=4096 conv=notrunc,noerror
(pv -n /dev/sda | dd of=/dev/sdb bs=128M conv=notrunc,noerror) 2>&1 | dialog --gauge "Running dd command (cloning), please wait..." 10 70 0
Seguramente hay mas combinaciones, pero bueno les dejo la que tenia por si a alguien le sirve.
Saludos
Soy un Gil, acabo de ver:
https://blog.desdelinux.net/tip-comando-dd-con-barra-de-progreso/
Que ya estaba todo lo necesario y mejor explicado, pero como nose o no puedo eliminar el comment lo aclaro acá. En todo caso el que pueda borrelos.
Gracias por tu comentario, me siento alagado que te encanten mis post 😀 tienes razón dd es un comando muy silencioso, muchas gracias por la recomendación. 🙂
Yo lo eh usado varias veces para crear USB booteables, y me fue realmente de utilidad para instalar Arch en mi notebook con la lectora de DVD rota 😀
Hahaha verdad que es de gran ayuda 😀 hubo un tiempo que tenia unos 50 CD’s con diferentes ditros hasta que conocí dd 🙂 aunque aun lo uso tengo una pc viejita (2005) que no soporta USB-boot :D.
Una pregunta bastante offtopic con la que espero no molestar a nadie… Alguien sabe el nombre de esa fuente en las imágenes de la terminal? Gracias…
Quien mejor que yo para contestar esto 🙂 La font es Terminus. Gracias por pasar por acá 🙂
Muchas gracias por la respuesta! Ya la busco! 🙂
Siempre leo la mayoría de los posts del blog ya que en general todos son muy interesantes. Sigan así!
Otra pregunta offtopic pero que me causa curiosidad, por qué cuando comento aparece que es desde GNU/Linux pero algunos otros les aparece exactamente desde cual distribución?
Algunos ejemplos de dd usan un comando bb por error. Al parecer bb existe pero es para otra cosa, me sugiere instalarlo. Con dd funciona bien
Tienes razón perdón fue error de usuario hahaha es dd no bb estoy jodido; ¿Algún editor por favor puede corregir ese horror?
¿Qué es lo que hay que corregir? Wada, sería bueno que te nos unas en Trello (si es que no estás unido ya).. 😉
Las ultimas dos etiquetas code en lugar de «dd» use «bb» hahaha y claro me pasare por allá en un rato me registro 🙂
yo nunca he podido mentar una usb con # mount mnt/USB, siempre em ha tocado con # sudo mount /dev/sdb1 y me toca ingresar por usr/share/media/nombrededispositivo :/
Escritor: de casualidad sabes si existen ofimaticas para linea de mados que funcionen en abrir textos .odt, y/o .docx ?
Sabes si FBCMD ya funciona para entrar a facebook, lo he intentado todo y no he podido (con la versión 3.0, la 1.0 si fuciona pero ya no se deja instalar), ahora cuanto mas he logrado ingresar al chat de fb por medio de finch.
Que raro tu caso, ¿Que distro usas?
La verdad no conozco nada parecido con ya que los odt es texto con formato y en la terminal, seria difícil para su edición y/o lectura aunque existen aplicaciones que emulan un editor de texto, pero para eso tenemos Vim 😀
Respeto a tu tercera pregunta te puedo decir que no uso facebook 🙁 así que lo desconozco por completo.