usar todos tienes repositorio qué que para paquetes los instalar desinstalar con comando archivos linux rpm rpmbuild rpm-spec

linux - paquetes - para instalar todos los archivos.rpm de un repositorio, ¿qué comando tienes que usar?



extraer el archivo de especificaciones del paquete rpm (6)

¿Hay alguna forma de extraer el archivo de especificaciones del paquete rpm (solo tengo el archivo RPM)

no por

rpm --scripts -qp my-great-app-1.1.2.rpm

(esta sintaxis no obtiene el archivo de especificaciones solo los scripts del rpm)


El archivo de especificación no se almacena en rpms binarios a menos que el empaquetador lo haya incluido específicamente por algún motivo (y realmente no hay motivo para hacerlo). La única información que puede obtener de un rpm binario es la información que rpm -qi <package> y los archivos que rpm -ql <package> enumera. Si necesita más que eso, debe encontrar el paquete fuente. Si Google / el sitio web del proveedor no puede proporcionar eso para usted, debe haber información de contacto proporcionada en el campo de empaquetamiento para cualquier cosa empaquetada por cualquier persona competente. Por ejemplo, aquí hay un paquete que se envía con RHEL y un paquete de un proveedor externo:

$ rpm --qf ''%{Packager}/n'' -q redhat-release Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla> $ rpm --qf ''%{Packager}/n'' -q cfengine-community CFEngine AS ([email protected])

Ahí tienes un sitio web y una dirección de correo electrónico, respectivamente, donde puedes preguntar sobre un archivo de especificación o un archivo srpm.


Instale rpmrebuild y extraiga el archivo de especificaciones de su archivo rpm o su paquete ya instalado .

Ejemplos:

rpmrebuild --package --notest-install -e oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm rpmrebuild -s hercules.spec hercules


Los archivos de especificaciones generalmente no están en rpm. Están en rpm de origen.


Por la respuesta de Per @ RumpleStiltskin, los archivos de especificaciones originales se encuentran en las fuentes rpms que se pueden extraer. Para obtener los rpms de origen, ejecute lo siguiente:

rpmrebuild -e -p <rpm_file>

Esto instalará el paquete en el directorio actual. Para extraerlo ejecute:

yum install yum-utils # Only required if yumdownloader is not installed yumdownloader --source <package name, like ''emacs-nox''>

El archivo .spec estará en su directorio actual.

Si no puede instalar yum-utils por alguna razón, mire los archivos en /etc/yum.repos.d/ y busque las secciones que hacen referencia a los repositorios de rpm de la fuente. Puede escribir los valores de baseurl en su navegador y buscar manualmente el paquete fuente. Extraer el .spec aún requiere rpm2cpio .


podrías usar

yumdownloader --source < something.rpm

entonces:

rpm2cpio packagename | cpio -ivd


rpmrebuild es tu amigo. Utilizar

rpm2cpio <package name>.src.rpm | cpio -civ ''*.spec''

A medida que abre el archivo de especificaciones en un editor, también puede hacer cambios a las especificaciones de rpm.