Tengo un archivo RPM. Tengo que hacer algunos cambios en ese RPM, volver a embalarlo y probarlo. ¿Alguien puede ayudarme?Desempaquetar un archivo RPM y volver a empaquetarlo
Respuesta
Creo que es un concepto llamado parche. Empecé a parchear el primer srpm usando este link. Pero la idea básica es que, obtenga el srpm, instale srpm, cree su parche dentro del directorio del área de compilación y especifique el archivo de revisión% patch0 -p1 en el archivo de especificación. Entonces haz la construcción de rpm. ¡Feliz parche!
La mejor manera de modificar un RPM que no tiene la fuente de es seguir estos pasos:
- desempaquetar las rpm en un directorio con el comando rpm2cpio
- hacer los cambios necesarios en el interior ese subdirectorio
- Haga un archivo de especificación "ficticio" y compárelo.
Ese archivo spec maniquí podría tener este aspecto:
Name: blah
Version: 1.0
Release: 1
Summary: blah
License: blah
Distribution: blah
Group: blah
Packager: me
BuildRoot: /path/to/dir/with/mods
%description
blah
%files
/path/to/dir/with/mods/*
reemplazar cada "bla" aquí con el valor real (rpm -qpi rpm file
utilizar para obtener los valores). Reemplace BuildRoot en el directorio donde tiene las rpm modificadas sin envolver. Luego ejecute rpmbuild -bb dummy.spec
.
Dado que no hay pasos de preparación/instalación/construcción/instalación definidos, solo tomará lo que está en la raíz de construcción y hará un RPM.
Si el paquete de rpm tiene archivos de script, también tendrá que ponerlos en este archivo de especificaciones ficticias. Para ver si el paquete tiene scripts, ejecute: rpm -qp --scripts rpm file
. Lo mismo ocurre con las dependencias, prerrequisitos, etc.
Puede haber otros detalles que me faltan, pero esto debería ser suficiente para comenzar.
ACTUALIZACIÓN: Por lo que vale la pena, también http://rpmrebuild.sourceforge.net/
- 1. ¿Cómo "volver a empaquetar" un archivo RPM, por ejemplo, cpio2rpm, sin instalar el RPM?
- 2. ¿Cómo volver a instalar el paquete rpm?
- 3. ¿Cómo fuerzo un Eclipse a desempaquetar?
- 4. Empaquetando un solo archivo JAR como un RPM correctamente
- 5. Desempaquetar varargin a variables individuales
- 6. La actualización RPM desinstala el RPM
- 7. ¿Cómo forzar a un script a volver a cargar y volver a ejecutar?
- 8. Desempaquetar en un tipo desconocido
- 9. Volver a vincular un archivo anónimo (no vinculado pero abierto)
- 10. Cómo volver a abrir un descriptor de archivo cerrado
- 11. Instalación de un directorio vacío con RPM
- 12. ¿Cómo volver a combinar un archivo en el git?
- 13. ¿Puedo volver a imprimir un archivo de cola?
- 14. Lisp común - ¿Desempaquetar lista? (Similar a Python)
- 15. Copia de rpm de un sistema operativo a otro
- 16. SSIS y volver a usar C#
- 17. Cuál es la diferencia entre maven-rpm-plugin y rpm-maven-plugin
- 18. Volver StreamReader a Inicio
- 19. Rpmbuild - configuración del nombre del archivo .rpm creado
- 20. comando chkconfig en el archivo de especificaciones rpm
- 21. Serializar objeto javascript a json y volver
- 22. Instalando java - ¿Debería usar el archivo .rpm o .tar.gz?
- 23. ¿Puedo cerrar y volver a abrir un socket?
- 24. RESTeasy y Volver a una página JSP con un modelo
- 25. Actualizar un paquete y evitar que volver a la original
- 26. Quitar y volver a aplicar el widget en un elemento
- 27. ¿Cómo distribuir módulos kernel usando un RPM?
- 28. .net chart clear y volver a agregar
- 29. Convertir lat/lon a píxeles y volver
- 30. extraer el archivo de especificación del paquete rpm
es el principal problema que estoy enfrentando es que no tengo una fuente RPM. Solo tengo la construcción de RPM. – Monojeet
@Monojeet, luego averigua las rpm de origen? Es lógico por qué srpm está ahí porque cuando aplicamos parches, necesitamos las * fuentes * rpm y no las rpm incorporadas. – Jasonw
Entonces, ¿no hay forma de que pueda editar un RPM sin SRPM correcto? – Monojeet