Je veux que le serveur B ait exactement la même configuration que le serveur A. Les serveurs A et B ont le même Arch et le même matériel.
Mon plan est d'avoir une liste de toutes les choses installées sur le serveur A et de l'installer en utilisant la liste sur le serveur B quelque chose comme:
yum -y install $(cat installed.txt)
Dans le serveur A, devrais-je plutôt utiliser:
rpm -qa > installed.txt
ou:
yum list installed > installed.txt
Les listes semblent être différentes et je ne sais pas pourquoi.
yum list installed
compte 930 lignes et rpm -qa
895 lignes, quelle pourrait être la différence?
diff
édité les sorties (possible après tri)?rpm
list car il a la liste qui peut être utilisée dans layum
commande de votre serveur b .Réponses:
La raison principale du nombre différent de lignes est que la sortie produite par
yum
est formatée de sorte que chaque champ s'aligne verticalement (quelle que soit la longueur du nom du package et / ou du numéro de version). Pour ce faire, il utilise deux lignes pour répertorier ces packages et remplit la deuxième ligne avec des espaces pour aligner correctement les champs. La sortie suivante (à partir d'une boîte CentOS 6) montre que deux lignes sont utilisées pour répertorier ledevice-mapper-persistent-data.x86_64
package:Cependant, ce n'est pas la seule raison et cela peut être vu en massant la sortie des deux commandes avant de les comparer:
Pour la sortie de la
rpm
commande:Triez-le de sorte que les packages commençant par une lettre majuscule apparaissent avant ceux contenant une minuscule:
Utilisez une
sed
commande pour supprimer les numéros de version du package:Pour la sortie de la
yum
commande:Supprimez les deux premières lignes d'en-tête (
Loaded plugins
etInstalled Packages
):Nous pouvons utiliser
sed
pour cela:Nous pouvons également utiliser
sed
pour supprimer toutes les lignes qui sont des suites d'une liste de packages (ces lignes commencent par un certain nombre d'espaces afin que toutes les versions de packages s'alignent).Maintenant, nous pouvons utiliser la
diff
commande pour comparer la sortie des deux fichiers. Voici les résultats de la box CentOS 6:Conclusion
Cela montre que
rpm -qa
comprend également des listes de packages pour les clés publiques qui sont approuvées pour signer des packages tandis que layum
commande omet ces packages.la source
Il s'agit probablement de différences de formatage. yum list fera un tas d'emballages intelligents à la taille de votre terminal.
Ce que vous voulez probablement faire, c'est utiliser:
la source
Je ne sais pas vraiment pourquoi les listes sont différentes, mais je sais que
rpm -qa > installed.txt
c'est la bonne façon de trouver tous les packages installés. Il chercherayum installed
aussi bien querpm installed
.De plus, le format de
rpm -qa
sortie fonctionnera mieux avec layum install
commande que vous souhaitez exécuter.la source
yum list installed
me donne la sortie comme ci-dessous.Maintenant,
rpm -qa
a ce qui suit à dire.Les deux commandes me donnent le même nombre de lignes en sortie. J'irais avec la
rpm -qa
liste.De plus, à partir de cette réponse, je vois l'élément d'information ci-dessous.
Ainsi, la différence peut être
yum
résout les dépendances, maisrpm
a installé toutes les dépendances et fournit donc une liste plus complète.Je vois la différence réelle entre
yum
etrpm
comme ci-dessous.Le problème le plus important avec
rpm
est un état communément appelé par la plupart des gens l' enfer de la dépendance . Ce problème se produit avec les packages qui dépendent de nombreux autres packages, certains de ces packages dépendent également de nombreux autres packages. Il est de notoriété publique que vous devez installer toutes les dépendances pour que le programme fonctionne correctement.rpm
n'est pas en mesure de le faire automatiquement pour vous. Il peut uniquement vérifier si tous les packages requis sont installés avant d'installer le package requis. Le suivi et l'installation manuels de chaque dépendance est une corvée majeure pour la plupart des personnes qui ne souhaitent installer qu'un seul package au départ.yum
est capable de suivre les dépendances d'un package et de les installer avant d'installer le package que l'utilisateur souhaitait installer. Cela simplifie l'ensemble du processus car vous n'avez besoin que de connaître le nom du package que vous souhaitez installer et ne vous inquiétez pas si les packages requis ont été installés ou non. Les packages introuvables sur le système sont recherchés dans les référentiels disponibles pour le système.Références
http://www.differencebetween.net/technology/difference-between-yum-and-rpm/
la source
Yum
gère les dépendances et récupère les packages pour les remplir.Yum
exécute efficacement la même commande querpm
mais inclut également tous les packages nécessaires pour faire correspondre les dépendances.yum
est une aubaine pour la gestion des dépendances de packages, mais cela n'a pas d'importance lorsqu'il s'agit simplement de répertorier les packages installés sur un système. Voir James et ma réponse pour la raison de la différence.yum list installed
peut créer une sortie sur deux lignes, si le nom et la version du package sont longs.la source