En plus des astuces dpkg mentionnées par pjz, vous pouvez également consulter etckeeper ( tutoriel ) - une application qui place votre / etc / * sous contrôle de version, ce qui facilite la recherche des modifications que vous avez apportées et leur réplication sur d'autres les serveurs.
De plus, pour une liste plus courte que celle produite par la méthode de pjz, vous pouvez utiliser
$ deborphan -a --no-show-section > /tmp/mypackagelist
Cela vous donnera une liste de packages qui installeront tous les autres packages dont vous avez besoin en tant que dépendances. Peut être utile si vous souhaitez réellement parcourir la liste. (dpkg --get-selections produira une longue liste). De plus, la liste est suffisamment courte pour que vous puissiez ajouter des retours à la ligne et commenter les entrées avec '#'. Ensuite, lors de l'installation des packages supplémentaires, vous pouvez le faire
$ grep -v '#' /tmp/mypackagelist | xargs apt-get install -y
De cette façon, s'il y a des packages que vous souhaitez uniquement installer sur certaines machines, vous n'avez pas à les supprimer complètement de la liste des packages.
devrait faire l'affaire. Ensuite, après vous être assuré que votre /etc/apt/sources.list sur la nouvelle machine a le même ensemble d'entrées que sur l'ancienne, copiez mypackagelist sur la nouvelle machine et faites:
et vous devriez être prêt à partir.
Notez que la ligne dpkg --get-selections est également une bonne information à mettre dans votre / etc / dir occasionnellement - cela signifie que vous n'avez pas à vous soucier de sauvegarder / bin / et / usr / bin / et ainsi parce que vous savez quels packages sont sur le système.
la source
dd
ci - dessousLes forums Ubuntu ont une bonne réponse
Quelques liens supplémentaires issus de la discussion sur les forums:
la source
Les meilleures commandes de dpkg peuvent être [machine d'origine]
puis lors de l'installation [nouvelle machine; après avoir transféré la liste packages_]
la source
Si vous n'êtes pas un fan de CLI (bien que vous devriez vraiment l'être), vous pouvez utiliser le gestionnaire de packages Synaptic pour enregistrer l'image des packages installés et utiliser ce fichier (à nouveau via Synaptic) pour charger la nouvelle machine. Sous l'option fichier / enregistrer les marquages, il y a une case à cocher appelée "enregistrer l'état complet".
la source
Pourquoi ne connectez-vous pas simplement la machine à l'aide
dd
?la source
Il existe un outil appelé ReMasterSys qui peut le faire pour vous. voir http://geekconnection.org/remastersys/
J'espère que ce sera utile.
la source
L'utilisation de FSArchiver pour répliquer les machines est parfaitement acceptable. Sinon, voici des paires de commandes utiles, dont la première moitié peut également être ajoutée à votre cron de sauvegarde:
~
~
Les emplacements que vous devez répliquer sont / etc et / var. Les commandes ci-dessus manipulent directement quelques fichiers dans / var, et certains fichiers de configuration dans / etc indirectement via debconf. Vous obtiendrez le même effet en répliquant simplement ces sous-arbres et en exécutant aptitude.
la source
Je suppose que Docker serait le moyen de le faire maintenant - définir les exigences dans un Dockerfile - vous pouvez ensuite l'exécuter sur n'importe quel hôte Docker.
la source