Quiero que el Servidor B tenga exactamente la misma configuración que el Servidor A. El Servidor A y B tienen el mismo Arch y el mismo hardware.
Mi plan es tener una lista de todas las cosas instaladas en el Servidor A e instalarla usando la lista en el Servidor B algo así como:
yum -y install $(cat installed.txt)
En el Servidor A, debería usar:
rpm -qa > installed.txt
o:
yum list installed > installed.txt
Las listas parecen ser diferentes y no tengo idea de por qué.
yum list installedtiene 930 líneas mientras que rpm -qatiene 895 líneas, ¿cuál podría ser la diferencia?

diffeditado las salidas (posible después de ordenar)?rpmlist ya que tiene la lista que se puede usar en elyumcomando de su servidor b .Respuestas:
La razón principal de la diferente cantidad de líneas es que la salida producida por
yumestá formateada para que cada campo se alinee verticalmente (independientemente de la longitud del nombre del paquete y / o número de versión). Para ello, utiliza dos líneas para enumerar dichos paquetes y rellena la segunda línea con caracteres de espacio para alinear los campos correctamente. El siguiente resultado (de un cuadro de CentOS 6) muestra que se usan dos líneas para enumerar eldevice-mapper-persistent-data.x86_64paquete:Sin embargo, esta no es la única razón y se puede ver al masajear la salida de los dos comandos antes de compararlos:
Para la salida del
rpmcomando:Ordénelo de modo que los paquetes que comiencen con una letra mayúscula aparezcan antes que aquellos con minúscula:
Use un
sedcomando para eliminar los números de versión del paquete:Para la salida del
yumcomando:Elimine las dos primeras líneas de encabezado (
Loaded pluginsyInstalled Packages):Podemos usar
sedpara esto:También podemos usar
sedpara eliminar todas las líneas que son continuación de una lista de paquetes (estas líneas comienzan con varios espacios para que todas las versiones del paquete se alineen).Ahora, podemos usar el
diffcomando para comparar la salida de los dos archivos. Aquí están los resultados del cuadro CentOS 6:Conclusión
Esto muestra que
rpm -qatambién incluye listados de paquetes para las claves públicas de confianza para firmar paquetes, mientras que elyumcomando omite estos paquetes.fuente
Esto es probable que solo formatee las diferencias. yum list hará un montón de ajustes inteligentes al tamaño de su terminal.
Lo que probablemente quieras hacer es usar:
fuente
No estoy completamente seguro de por qué las listas son diferentes, pero sé que esa
rpm -qa > installed.txtes la forma correcta de encontrar todos los paquetes instalados. Lo buscaráyum installedtan bien comorpm installed.Además, el formato de
rpm -qasalida funcionará mejor con elyum installcomando que desea ejecutar.fuente
yum list installedme da la salida de la siguiente manera.Ahora,
rpm -qatiene lo siguiente para decir.Ambos comandos me dan la misma cantidad de líneas que la salida. Yo iría con la
rpm -qalista.Además, de esta respuesta, veo la siguiente información.
Entonces, la diferencia podría ser
yumresolver las dependencias, perorpmha instalado todas las dependencias y, por lo tanto, proporciona una lista más completa.Veo la diferencia real entre
yumyrpmcomo a continuación.El problema más destacado
rpmes un estado comúnmente conocido por la mayoría de las personas como infierno de dependencia . Este problema ocurre con paquetes que dependen de muchos otros paquetes, algunos de esos paquetes también dependen de muchos otros paquetes. Es de conocimiento común que debe instalar todas las dependencias para que el programa funcione correctamente.rpmno puede hacer esto automáticamente por usted. Solo puede verificar si todos los paquetes necesarios están instalados antes de instalar el paquete necesario. El seguimiento e instalación manual de cada dependencia es una tarea importante para la mayoría de las personas que solo desean instalar un solo paquete inicialmente.yumes capaz de rastrear las dependencias de un paquete e instalarlas antes de instalar el paquete que el usuario quería instalar. Esto simplifica todo el proceso, ya que solo necesita saber el nombre del paquete que desea instalar y no preocuparse si los paquetes necesarios se han instalado o no. Los paquetes que no se pueden encontrar en el sistema se buscan en los repositorios disponibles para el sistema.Referencias
http://www.differencebetween.net/technology/difference-between-yum-and-rpm/
fuente
Yummaneja dependencias y busca paquetes para llenarlos.Yumejecuta efectivamente el mismo comandorpmpero también incluye todos los paquetes necesarios para hacer coincidir las dependencias.yumes un regalo del cielo para administrar dependencias de paquetes, pero eso es irrelevante cuando simplemente enumera los paquetes instalados en un sistema. Ver James y mi respuesta por la razón de la diferencia.yum list installedpuede crear una salida de dos líneas, si el nombre del paquete y la versión del paquete son largos.fuente