Capítulo 11. Conversión de datos

Tabla de contenidos

11.1. Herramientas para la conversión de información en formato texto
11.1.1. Convirtiendo un archivo de texto con iconv
11.1.2. Comprobando que un archivo es UTF-8 con iconv
11.1.3. Convirtiendo los nombres de archivos con iconv
11.1.4. Conversión EOL
11.1.5. Conversión de tabuladores
11.1.6. Editores con conversión automática
11.1.7. Extracción de texto plano
11.1.8. Resaltando y dándole formato a información en texto plano
11.2. datos XML
11.2.1. Conceptos básicos de XML
11.2.2. Procesamiento XML
11.2.3. La extracción de información XML
11.2.4. Análisis de datos XML
11.3. Configuración tipográfica
11.3.1. composición tipográfica roff
11.3.2. TeX/LaTeX
11.3.3. Impresión de una página de manual
11.3.4. Crear una página de man
11.4. Información imprimible
11.4.1. Ghostscript
11.4.2. Mezcla de dos archivos PS o PDF
11.4.3. Utilidades de impresión
11.4.4. Imprimiendo con CUPS
11.5. La conversión de los datos de correo
11.5.1. Fundamentos de información de correo
11.6. Herramientas para información gráfica
11.6.1. Herramientas gráficas de datos (meta paquete)
11.6.2. Herramientas de datos gráficos (GUI)
11.6.3. Herramientas de datos gráficos (CLI)
11.7. Conversiones de información variadas

Se describen herramientas y métodos para convertir formatos de datos en el sistema Debian.

Las herramientas para formatos estándar son muy buenas pero para formatos propietarios son limitadas.

Los siguientes paquetes para la conversión de información en formato texto llamaron mi atención.


[Sugerencia] Sugerencia

iconv(1) es parte del paquete libc6 y esta siempre disponible en prácticamente el cualquier sistema tipo Unix para la conversión de codificaciones de caracteres.

Puede convertir las codificaciones de los archivos de texto con iconv(1)como se muestra.

$ iconv -f encoding1 -t encoding2 input.txt >output.txt

Los valores de codificaciones para el encaje distinguen entre mayúsculas y minúsculas y pasan por alto «-» y «_». Puede obtener una relación de las codificaciones reconocidas mediante la orden «iconv -l».

Tabla 11.2. Relación de valores de codificación y su uso

valor de la codificación uso
ASCII Código Estándar Americano para el Intercambio de Información, código de 7 bits sin caracteres acentuados
UTF-8 estándar multilenguaje actual en los sistemas operativos modernos
ISO-8859-1 estándar antiguo de las lenguas occidentales, ASCII+ caracteres acentuados
ISO-8859-2 antiguo estándar de las lenguas occidentales, ASCII + caracteres acentuados
ISO-8859-15 antiguo estándar de las lenguas occidentales, ISO-8859-1 con el símbolo del euro
CP850 página de códigos 850, caracteres de Microsoft DOS con gráficos para los lenguajes de la Europa occidental, variante de ISO-8859-1
CP932 página de código 932, variante del japonés de Shift-JIS al estilo Microsoft Windows
CP936 página de códigos 936,GB2312, GBK o GB18030 variante para chino simplificado al estilo Microsoft Windows
CP949 página de código 949, EUC-KR o Código Unificado Hangul par coreano al estilo Microsoft Windows
CP950 código de página 950, Big5 variante par chino tradicional al estilo Microsoft Windows
CP1251 código de página 1251, codificación del alfabeto cirílico al estilo Microsoft Windows
CP1252 código de página 1252, ISO-8859-15 para las lenguas de Europa occidental al estilo Microsoft Windows
KOI8-R antiguo estándar ruso UNIX para el alfabeto cirílico
ISO-2022-JP estándar de codificación japones para el correo electrónico que solo utiliza códigos de 7 bit
eucJP código de 8 bit del antiguo estándar japonés de UNIX, completamente diferente de Shift-JIS
Shift-JIS Apéndice 1 para el japonés JIS X 0208 (consulte CP932)

[Nota] Nota

Algunas codificaciones son únicamente usadas para la conversión de información y no son usables como valores locales (Sección 8.1, “Configuración regional”).

Para los conjuntos de caracteres que caben en un único byte como ASCII y ISO-8859, la codificación de caracteres es casi lo mismo que el conjunto de caracteres.

Para los conjuntos de caracteres con muchos elementos como JIS X 0213 en el japonés o Conjunto de Caracteres Universal (UCS, Unicode, ISO-10646-1) en prácticamente cualquier lenguaje, existen muchos esquemas de codificación y encajan como secuencias de bytes de datos.

En este caso existe un diferenciación clara entre el conjunto de caracteres y la codificación de caracteres

Algunos proveedores en algunos casos utilizan la página de códigos como sinónimo de la tabla de codificación de caracteres.

[Nota] Nota

Tener en cuenta que la mayor parte de los sistemas de codificación comparten los mismos códigos con ASCII de 7 bits. Pero existen algunas excepciones. Si se convierten programas antiguos japoneses en C y datos URL de la codificación conocida como formato shift-JIS a formato UTF-8, usar «CP932» como nombre de la codificación en lugar de «shift-JIS» para obtener los resultados correctos: 0x5C → «\» y 0x7E → «~». De otro modo se convertirán a los caracteres incorrectos.

[Sugerencia] Sugerencia

recode(1) se puede también usar y aporta mayor funcionalidad que la combinación de iconv(1), fromdos(1), todos(1), frommac(1) y tomac(1). Para más información, ver «info recode».

Los editores modernos inteligentes como el programa vim son lo bastante inteligentes y trabajan bien con cualquier sistema de codificación y formato de archivo. Para mejorar la compatibilidad debería usar la configuración local UTF-8 en una consola con esta posibilidad.

Un antiguo archivo de texto Unix de Europa occidental «u-file.txt» almacenado con la codificación latin1 (iso-8859-1) se puede editar con vim como se muestra.

$ vim u-file.txt

Esto es debido al mecanismo de autodetección de la codificación del archivo en vim que asume por defecto UTF-8 y si falla asume que será latin1.

Un antiguo archivo de texto polaco en Unix, «pu-file.txt», almacenado en la codificación latin2 (iso-8859-2) se puede editar con vim como se muestra.

$ vim '+e ++enc=latin2 pu-file.txt'

Un antiguo fichero de texto Unix en japonés, «ju-file.txt», almacenado con la codificación eucJP se puede editar con vim como se muestra.

$ vim '+e ++enc=eucJP ju-file.txt'

Un archivo de texto MS-Windows antiguo en japonés, «jw-file.txt», almacenado con la codificación shift-JIS (concretamente: CP932) se puede editar con vim como se muestra.

$ vim '+e ++enc=CP932 ++ff=dos jw-file.txt'

Cuando se abre un archivo con las opciones «++enc» y «++ff» , la orden de Vim «:w» lo almacena en su formato original sobreescribiendo el archivo original. También puede guardarlo con un formato y nombre de archivo específico con la orden de Vim correspondiente, p. ej. , «:w ++enc=utf8 new.txt».

Por favor para más información sobre el «soporte de texto multibyte« consulte mbyte.txt en la ayuda de vim y Tabla 11.2, “Relación de valores de codificación y su uso” para los valores de configuraciones de la ubicación utilizados por «++enc».

En los programas de la familia de emacs existen funcionalidades equivalentes a las anteriormente descritas.

Puede resaltar y dar formato a información en texto plano como se muestra.


El Lenguaje de Marcado Extensible (XML) es un lenguaje de marcado para documentos que tengan la información estructurada.

Consulte la información introductoria en XML.COM.

El código XML tiene la apariencia de HTML. Nos permite obtener diferentes formatos de un documento. Un sistema sencillo de XML es el paquete docbook-xsl, que utilizamos aquí.

Todo archivo XML comienza con una declaración estándar XML como se muestra.

<?xml version="1.0" encoding="UTF-8"?>

La sintaxis fundamental de un elemento XML se marca como se muestra.

<name attribute="value">content</name>

Un elemento XML sin contenido se marca de forma resumida como se muestra.

<name attribute="value" />

El «atributo=«valor«» de los ejemplos anteriores son opcionales.

Un comentario en XML se marca como se muestra.

<!-- comment -->

Mientras que otros añaden marcas, XML necesita cambios menores al utilizar entidades predefinidas para los siguientes caracteres.


[Atención] Atención

«<» o «&» no se pueden utilizar en los atributos y elementos.

[Nota] Nota

Cuando se utilizan entidades definidas por el usuario, p. ej. «&alguna_etiqueta:», la primera definición prevalece sobre las demás. La definición de la entidad se realiza como «<!ENTITY alguna-etiqueta «valor de la entidad«>».

[Nota] Nota

Ya que las marcas XML se realizan de forma coherente con un cierto conjunto de etiquetas (y alguna información en su contenido y atributos), la conversión a otro XML es un procedimiento trivial utilizando Transformaciones del Lenguaje de Estilo Extensibles (XSLT, Extensible Stylesheet Language Transformations).

Existen muchas herramientas para procesar archivos XML como el Lenguaje de Estilos Extensible (XSL, the Extensible Stylesheet Language).

Principalmente, una vez que tenga un archivo XML bien formado, puede convertirlo en cualquier otro formato utilizando el Lenguaje de Transformación de Estilos Extensible (XSLT, Extensible Stylesheet Language Transformations .

El Lenguaje de Estilo Extensible para dar Formato a Objetos (XSL-FO, Extensible Stylesheet Language for Formatting Objects) se supone que es la solución en lo referente a dar formato. El paquete fop es nuevo en el archivo main de Debian debido a su dependencia del lenguaje de programación Java. Así que el código LaTeX se genera normalmente partiendo de XML y utilizando XSLT y el sistema LaTeX se utiliza para crear los formatos de archivo imprimibles como DVI, PostScript y PDF.


Ya que XML es un subconjunto del Lenguaje Estándar de Marcas Generalizado (SGML), puede ser procesado por cualquier herramienta para SGML, como Lenguaje de Especificación y Semántica de Documentos de Estilo (DSSSL, Document Style Semantics and Specification Language).


[Sugerencia] Sugerencia

Algunas veces es práctico leer directamente archivos XML DocBook con yelp de GNOME ya que tiene una representación de imágenes en X decente.

El programa Unix troff, creado por AT&T puede utilizarse para la composición tipográfica simple. Las páginas de man son generalmente creadas con él.

TeX fue creado por Donald Knuth y es una herramienta de composición tipográfica muy poderoso y el estándar de facto LaTeX fue creado por Leslie Lamport y permite un acceso a nivel alto a todas la potencia de TeX.


Tradicionalmente, roff es el sistema principal de Unix para la composición tipográfica. Consulte roff(7), groff(7), groff(1), grotty(1), troff(1), groff_mdoc(7), groff_man(7), groff_ms(7), groff_me(7), groff_mm(7) y «info groff».

Puede leer o imprimir un buen tutorial y referencia en "-me" macro en "/usr/share/doc/groff/" instalando el paquete groff.

[Sugerencia] Sugerencia

Con «groff -Tascii -me -» se obtiene una salida en texto plano con códigos de escape ANSI. Si lo que quiere son páginas man con muchos «^H« y «_«, utilice en su lugar«GROFF_NO_SGR=1 groff -Tascii -me -».

[Sugerencia] Sugerencia

Para eliminar los «^H« y «_« del archivo de texto que groff ha generado, fíltrelo con «col -b -x».

El software TeX Live contiene un sistema completo del sistema TeX. El metapaquete texlive aporta un selección apropiada de paquetes TeX Live que cumplirá decentemente la mayor parte de las tareas.

Hay disponibles numerosas referencias a TeX y LaTeX.

  • Cómo teTeX: La Guía Local de Linux-teTeX

  • tex(1)

  • latex(1)

  • texdoc(1)

  • texdoctk(1)

  • «El libro de TeX«, de Donald E. Knuth, (Addison-Wesley)

  • «LaTeX - Un Sistema para Preparar un Documento«, de Leslie Lamport, (Addison-Wesley)

  • «El Compendio de LaTeX», de Goossens, Mittelbach, Samarin, (Addison-Wesley)

Este es el entorno de composición tipográfica más potente. Muchos procesadores de SGML lo utilizan como motor para el procesamiento de texto. Lyx que está en el paquete lyx y GNU TeXmacs que se encuentra en el paquete texmacs ofrecen un entorno de edición LaTeX agradable WYSIWYG mientras que muchos utilizan Emacs y Vim como su preferencia como editor.

Existen multitud de recursos disponibles en la red.

Cuando los documentos se vuelven grandes, algunas veces TeX puede fallar. Debe incrementar el tamaño de los recursos compartidos en «/etc/texmf/texmf.cnf» (o más concretamente editar «/etc/texmf/texmf.d/95NonPath» y ejecutar update-texmf(8)) con el fin de solucionarlo.

[Nota] Nota

La fuente TeX de "The TeXbook" está disponible en www.ctan.org sitio tex-archivo para texbook.tex. Este archivo contiene la mayoría de las macros necesarias. He oído que puedes procesar este documento con tex(1) después de comentar las líneas 7 a 10 y añadir "input manmac \proofmodefalse". Se recomienda encarecidamente comprar este libro (y todos los demás libros de Donald E. Knuth) en lugar de usar la versión en línea, ¡pero la fuente es un gran ejemplo de entrada TeX!

En el sistema Debian la información imprimible se realizan en formato PostScript. El Sistema de Impresión Común de Unix (CUPS) utiliza Ghostscript como motor de representación para impresoras que no reconocen PostScript.

Los datos imprimibles también pueden expresarse en formato PDF en el reciente sistema Debian.

Los archivos PDF pueden visualizarse y las entradas de sus formularios pueden rellenarse utilizando herramientas de visualización GUI como Evince y Okular (ver Sección 7.4, “Aplicaciones GUI”); y navegadores modernos como Chromium.

Los archivos PDF pueden editarse con algunas herramientas gráficas como LibreOffice, Scribus y Inkscape (ver Sección 11.6, “Herramientas para información gráfica”).

[Sugerencia] Sugerencia

Puede leer un archivo PDF con GIMP y convertirlo a formato PNG utilizando una resolución superior a 300 ppp. Esto se puede utilizar como una imagen de fondo para LibreOffice para producir una impresión alterada deseable con el mínimo esfuerzo.

Puede mezclar dos archivos PostScript (PS) o Formato de Documentos Portable (PDF, Portable Document Format ) utilizando la orden gs(1) de Ghostscript.

$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=bla.ps -f foo1.ps foo2.ps
$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=bla.pdf -f foo1.pdf foo2.pdf
[Nota] Nota

El formato PDF, el cual se usa de forma habitual como un formato de impresión multiplatafoma, es en su esencia un formato PS comprimido con algunas funcionalidades y extensiones adicionales.

[Sugerencia] Sugerencia

Para la manipulación de documentos PostScript desde la línea de órdenes existen órdenes como psmerge(1) y otras que pertenecen al paquete psutils package. pdftk(1) del paquete pdftk se utiliza para la manipulación de documentos PDF.

Los siguientes paquetes contienen utilidades para la impresión que considero importantes.


Tanto las órdenes de lp(1) y lpr(1) existen en Sistema de Impresión Común de Unix (CUPS) que proporciona opciones personalizadas para la impresión.

Puede imprimir tres copias del archivo correspondiente utilizando las siguientes órdenes.

$ lp -n 3 -o Collate=True filename
$ lpr -#3 -o Collate=True filename

Puede personalizar las impresiones mediante opciones como «-o number-up=2», «-o page-set=even», «-o page-set=odd», «-o scaling=200», «-o natural-scaling=200», etc., según consta en Impresión con línea de órdenes y sus opciones.

Considero importantes los siguientes paquetes de conversión de datos de correo.


[Sugerencia] Sugerencia

Se puede utilizar un servidor del Protocolo de Acceso a Mensajes de Internet versión 4 (IMAP4) para obtener los correos de un sistema de correo propietario siempre que el cliente permita configurar el servidor de correo IMAP4.

La información de correo (SMTP) deben utilizar 7 bits. Así los datos binarios y los de texto de 8 bits se codifican en formato de 7 bits con Multipurpose Internet Mail Extensions (MIME) y la selección del juego de caracteres (ver Tabla 11.2, “Relación de valores de codificación y su uso”).

El formato de almacenamiento estándar de correo es mbox según RFC2822 (actualizado por el RFC822). Consulte mbox(5) (es proporcionado por el paquete mutt).

En las lenguas europeas normalmente se utiliza en el correo la «Content-Transfer-Encoding: quoted-printable» con el juego de caracteres ISO-8859-1 ya que no existen muchos de los caracteres de 8 bits. SI el texto europeo esta codificado en UTF-8, «Content-Transfer-Encoding: quoted-printable» se usa como la mayor parte de la información en 7 bits.

En japonés el tradicional «Content-Type: text/plain; charset=ISO-2022-JP» es normalmente utilizado en el correo ya que mantiene el texto en 7 bits. Pero los antiguos sistemas Microsoft puede enviar información en Shift-JIS sin la declaración correspondiente. Si el texto japonés esta codificado en UTF-8 Base64 es como utilizar información de 8 bits. Lo que ocurre en otros lenguajes asiáticos es parecido.

[Nota] Nota

Si su información de correo no Unix se accede desde un cliente que no es de Debian, con soporte de IMAP4, puede moverlo desplegando su propio servidor IMAP4.

[Nota] Nota

Si utiliza otros formatos de almacenamiento de correo, moverlos al formato mbox es un buen comienzo. Un cliente versátil como mutt(1) puede ser útil para ello.

Puede partir el contenido del buzón de correo en mensajes utilizando procmail(1) y formail(1).

Cada mensaje de correo se puede desempaquetar utilizando munpack(1) del paquete mpack (u otra herramienta especializada) para obtener el contenido codificado con MIME.

Aunque existen programas GUI muy potentes como gimp(1), las herramientas en línea de órdenes como imagemagick(1) son muy útiles para automatizar la manipulación de imágenes por medio de archivos de órdenes.

El formato de facto de los archivos de imágenes en cámaras digitales es Formato de Archivo de Imagen Intercambiable (EXIF, Exchangeable Image File Format) que se corresponde con el formato de archivo de imágenes JPEGcon etiquetas de metainformación adicionales. Puede contener información como la fecha, la hora y la configuración de la cámara.

La patente de compresión de datos sin pérdida Lempel-Ziv-Welch (LZW) ha expirado. Las utilidades del Formato de Intercambio de Gráficos (GIF, Graphics Interchange Format), que utiliza el método de compresión LZW, están ahora disponibles libremente en el sistema Debian.

[Sugerencia] Sugerencia

Cualquier cámara digital o escáner con un medio de grabación extraible interactua con Linux a través de lectores de almacenamiento USB ya que cumple con el las reglas del Sistema de archivos para Cámaras y utiliza el sistema de archivos FAT. Consulte Sección 10.1.7, “Dispositivos de almacenamiento extraíbles”.

Me llamaron la atención los siguientes paquetes para las herramientas de organización, edición y conversión de datos gráficos GUI.

Tabla 11.18. Lista de herramientas de datos gráficos (GUI)

paquete popularidad tamaño palabra clave descripción
gimp V:50, I:252 19304 imagen (bitmap) GNU GIMP Programa de Manipulación de Imágenes
xsane V:12, I:144 2339 imagen (bitmap) Interfaz GTKbasado en X11 para SANE (Acceso inmediato y fácil a escáner)
scribus V:1, I:16 31345 ps/pdf/SVG/… Scribus editor de documentos
libreoffice-draw V:72, I:430 10312 imagen (vector) LibreOffice office suite - dibujo
inkscape V:15, I:112 99800 imagen (vector) editor SVG (Scalable Vector Graphics)
dia V:2, I:22 3741 imagen (vector) editor de diagramas (Gtk)
xfig V:0, I:11 7849 imagen (vector) facilidad para la creación interactiva de figuras en X11
gocr V:0, I:7 540 imagen→texto software libre OCR
eog V:64, I:277 7770 imagen(Exif) programa visor de gráficos «Eye of GNOME«
gthumb V:3, I:16 5032 imagen(Exif) visor y navegador de imágenes (GNOME)
geeqie V:4, I:15 2522 imagen(Exif) visor de imágenes utilizando GTK
shotwell V:17, I:255 6263 imagen(Exif) organizador de fotos digital (GNOME)
gwenview V:33, I:106 11755 imagen(Exif) visor de imágenes (KDE)
kamera I:105 998 imagen(Exif) aplicaciones KDE para soporte de cámaras digitales
digikam V:1, I:9 293 imagen(Exif) aplicación para la gestión de fotos digitales para KDE
darktable V:4, I:13 30554 imagen(Exif) mesa de luz y cuarto oscuro virtuales para fotógrafos
hugin V:0, I:8 5208 imagen(Exif) agrupador de fotografías panorámicas
librecad V:1, I:15 8963 DXF, ... Editor de datos CAD en 2D
freecad I:18 36 DXF, ... Editor de datos CAD en 3D
blender V:3, I:28 84492 blend, TIFF, VRML, … editor de animaciones 3D etc
mm3d V:0, I:0 3881 ms3d, obj, dxf, … editor OpenGL de modelado 3D
fontforge V:0, I:6 3993 ttf, ps, … editor de tipos de letra PS, TrueType y OpenType
xgridfit V:0, I:0 806 ttf programas para la ajuste e interpolación (gridfitting y hinting) de tipos de letra TrueType

Me llamaron la atención los siguientes paquetes para las herramientas de conversión, edición y organización de datos gráficos CLI.

Tabla 11.19. Lista de herramientas de datos gráficos (CLI)

paquete popularidad tamaño palabra clave descripción
imagemagick I:317 74 imagen (bitmap) programa de manipulación de imágenes
graphicsmagick V:1, I:11 5565 imagen (bitmap) programas de manipulación de imágenes (bifurcaciones de imagemagick)
netpbm V:28, I:326 8526 imagen (bitmap) herramienta de conversión de gráficos
libheif-examples V:0, I:2 191 heif→jpeg(bitmap) convertir Formato de archivo de imagen de alta eficiencia (HEIF) a formatos JPEG, PNG o Y4M con el comando heif-convert(1)
icoutils V:7, I:50 221 png↔ico(bitmap) convierte iconos y cursores MS Windows a y desde formatos PNG (favicon.ico)
pstoedit V:2, I:52 1011 ps/pdf→image(vector) conversor de archivos PostScript y PDF a SVG
libwmf-bin V:7, I:119 151 Windows/imágen(vector) herramientas de conversión de archivos con formato metafile de Windows (formato de gráficos vectoriales)
fig2sxd V:0, I:0 151 fig→sxd(vector) convierte archivos XFig a formato Draw de OpenOffice.org
unpaper V:2, I:17 412 imagen→imagen herramienta para el procesado posterior de páginas escaneadas para OCR
tesseract-ocr V:7, I:33 2228 imagen→texto software libre OCR basado en el motor OCR comercial de HP
tesseract-ocr-eng V:7, I:34 4032 imagen→texto motor de información OCR: archivo en inglés tesseact-ocr para textos ingleses
ocrad V:0, I:3 587 imagen→texto software libre OCR
exif V:2, I:42 339 imagen(Exif) utilidad de línea de órdenes para mostrar información EXIF de archivos JPEG
exiv2 V:2, I:27 275 imagen(Exif) herramienta de manipulación de metainformación EXIF/IPTC
exiftran V:1, I:14 69 imagen(Exif) transforma imágenes de cámaras digitales jpeg
exiftags V:0, I:3 292 imagen(Exif) utilidad para leer etiquetas Exif de archivos JPEG de cámaras digitales
exifprobe V:0, I:3 499 imagen(Exif) lee metainformación de imágenes digitales
dcraw V:1, I:12 583 imagen (crudo)→ppm decodifica imágenes en crudo de cámaras digitales
findimagedupes V:0, I:1 77 imagen→huella busca imágenes duplicadas o parecidas visualmente
ale V:0, I:0 839 imagen→imagen fusiona imágenes para aumentar su integridad o crea mosaicos
imageindex V:0, I:1 145 imagen(Exif)→html genera galerías HTML estáticos partiendo un grupo de imágenes
outguess V:0, I:1 230 jpeg,png herramienta universal esteanográfica
jpegoptim V:0, I:7 59 jpeg optimizar los archivos JPEG
optipng V:3, I:43 213 png optimizar archivos PNG, compresión sin pérdidas
pngquant V:0, I:9 61 png optimizar los archivos PNG, compresión con pérdida

Existen otros programas para la conversión entre datos. Los siguientes paquetes llamaron mi atención al usar aptitude(8) con la expresión regular «~Guse::converting» (consulte Sección 2.2.6, “Opciones del método de búsqueda con aptitude”).


Puede extraer la información de formato RPM como se muestra.

$ rpm2cpio file.src.rpm | cpio --extract