
Siguiendo consejos a mi otrapreguntaConfiguré mi repositorio RPM local en Red Hat 8
la máquina, coloqué mis paquetes privados allí y ahora puedo instalarlos, actualizarlos, etc.
Sin embargo, hay un problema: un paquete que agregué en mi repositorio privado es en realidad una versión modificada del paquete disponible en los repositorios oficiales de RedHat y tiene el mismo nombre. Entonces yum search
o yum install
sacaría el paquete del espejo oficial, no del mío. Intenté resolver esto yum --repo=my_private_repo ...
pero esto también intentaría extraer todas las dependencias demi_repo_privadoen lugar de los oficiales.
¿Cuál podría ser la forma correcta de resolver esto? ¿Quizás la mejor opción sería cambiar el nombre del paquete (el que modifiqué y agregué en mi repositorio), para que no entre en conflicto con el oficial?
¡Agradecería cualquier consejo!
Respuesta1
Reemplazar paquetes de EL baseos o repositorios de appstream es complicado. Pueden ocurrir problemas de dependencia de pesadilla cuando reemplazas lo que la distribución esperaba con otra cosa. Esta es una de las razones por las que a la comunidad EL no le gustan ciertosrepositorios de terceros.
Encuentre un repositorio que haga cosas sensatas y examine lo que hacen con sus paquetes.SIUes un ejemplo. Todo esto debe ser cierto para estar seguro:
La mayoría de los paquetes de SIU son paquetes de reemplazo seguros. Este es un término que utilizamos para describir paquetes con las siguientes propiedades.
- Reemplaza la funcionalidad de un paquete estándar.
- Utiliza un nombre diferente al del paquete original para evitar actualizaciones no deseadas.
- Proporcione el nombre del paquete estándar para satisfacer las dependencias de otros paquetes.
- Conflicto con el paquete de acciones.
- No debe quedar obsoleto ningún paquete de stock.
Entonces, por ejemplo, en lugar de simplemente "haproxy", podrías instalar"haproxy22". Que es un nombre que solo proporciona IUS, pero reemplaza al de appstream:
Name: haproxy22
Provides: haproxy = %{version}-%{release}
Provides: haproxy%{?_isa} = %{version}-%{release}
Conflicts: haproxy < %{version}-%{release}
nota ustedhacerquiero rpm Entra en conflicto con el paquete de stock, por lo que dnf no lo considerará.
Este esquema requiere un número de lanzamiento de versión mayor que el original. Considere aumentar mucho el número de lanzamientos.
Ver tambiénPautas de embalaje de Fedorapara recursos.