Hello
I'm willing to change my dedicated server hosting provider, and transfer my existing server to the new one. I don't have kvm access, but both servers are centos5.2 I can boot a network image that is debian based and have access to the disk. Then I tried to rsync -a my first server to the destination host, but it was not reachable from the network (I modified /etc/fstab and /etc/sysconfig/network-scripts/ifcfg-eth0 for the destination server). I also copied /boot including grub configuration... (both are using grub) As I don't have a kvm, I don't know why it is not reachable from net.
So I would like to get the list of all rpms (rpm -qa) install them to the new server, then copy all files that were added/modifed
Most packages should be still in the yum cache, but I'm not sure. For the rpm -qa I think there should be some special flags to get an output that would be yum compatible?
But my real question is: How can I get a list of files in the whole filesystem that were added or modified compared to all the files that come from rpms? Is there a script for doing such a thing?
Thanks
Joe Barjo ha scritto:
Hello
[snip]
But my real question is: How can I get a list of files in the whole filesystem that were added or modified compared to all the files that come from rpms? Is there a script for doing such a thing?
I think that doing some scripting around rpm -Va (to find modified files from rpms) and a 'comm' between "rpm -qla" and something like "find /" (with some clean-up to get files not coming from rpms) will do the magic.
-- Regards Lorenzo Quatrini
Thanks for the suggestion. I did the rpm -Va but have quite a lot of prelink warnings. But filtering them out gives a good list of files to transfer.
I still wonder why the rsync method doesn't work, as I'm rsyncing from another server with the same distribution.
I also don't know how to re install grub from the debian. Under chroot, there are no devices. It seems that the root filesystem doesn't even get mounted, as I have no logs at all.
On Thu, Nov 20, 2008 at 5:04 PM, Lorenzo Quatrini lorenzo@gmk.it wrote:
Joe Barjo ha scritto:
Hello
[snip]
But my real question is: How can I get a list of files in the whole filesystem that were added or modified compared to all the files that come from rpms? Is there a script for doing such a thing?
I think that doing some scripting around rpm -Va (to find modified files from rpms) and a 'comm' between "rpm -qla" and something like "find /" (with some clean-up to get files not coming from rpms) will do the magic.
-- Regards Lorenzo Quatrini _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
Before you chroot, do "mount -bind..." of /sys, /dev, /proc and maybe /boot under the chroot dir to make chroot more useful.
Cheers,
Amos
On 11/22/08, Joe Barjo jobarjo78@yahoo.fr wrote:
Thanks for the suggestion. I did the rpm -Va but have quite a lot of prelink warnings. But filtering them out gives a good list of files to transfer.
I still wonder why the rsync method doesn't work, as I'm rsyncing from another server with the same distribution.
I also don't know how to re install grub from the debian. Under chroot, there are no devices. It seems that the root filesystem doesn't even get mounted, as I have no logs at all.
On Thu, Nov 20, 2008 at 5:04 PM, Lorenzo Quatrini lorenzo@gmk.it wrote:
Joe Barjo ha scritto:
Hello
[snip]
But my real question is: How can I get a list of files in the whole filesystem that were added or modified compared to all the files that come from rpms? Is there a script for doing such a thing?
I think that doing some scripting around rpm -Va (to find modified files from rpms) and a 'comm' between "rpm -qla" and something like "find /" (with some clean-up to get files not coming from rpms) will do the magic.
-- Regards Lorenzo Quatrini _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
Joe Barjo wrote on Thu, 20 Nov 2008 16:29:17 +0100:
As I don't have a kvm, I don't know why it is not reachable from net.
You still have the option of booting with that debian image and check the logs for obvious things. Might already help to find the problem. On another note your new machine might be missing an mbr or not having the correct mbr.
Kai
On Thu, 20 Nov 2008, Joe Barjo wrote:
But my real question is: How can I get a list of files in the whole filesystem that were added or modified compared to all the files that come from rpms? Is there a script for doing such a thing?
You may be interested in a tool I wrote some time ago that makes a hardware and software snapshot of a system, including the latent configuration in memory (like routing information or firewall rules).
It creates the snapshots in single compressed text files periodically (hourly, daily, weekly, monthly from cron) that can be diffed. And it allows to send out diffs to one or more email-addresses if configured to do so.
It was written with multiple use cases in mind:
- compare identical systems (eg. nodes in a cluster, or when migrating servers)
- mail changes to a group of co-maintaining sysadmins (so configuration changes are communicated and if needed acted upon)
- backing up a complete system's HW/SW configuration and making diffs with past configurations for troubleshooting problems
- taking system configurations with you (as a consultant or support organisation it is nice to follow-up on system changes made by the customer)
The tool is called dconf. You can find it in RPMforge.
The tool is as good as its configuration. The default configuration already contains a lot for RHEL/CentOS, but it could use more people defining more tools/configuration file. And I am open for improving the tool beyond what it does now.
Feedback appreciated,
Dag Wieers wrote:
But my real question is: How can I get a list of files in the whole filesystem that were added or modified compared to all the files that come from rpms? Is there a script for doing such a thing?
You may be interested in a tool I wrote some time ago that makes a hardware and software snapshot of a system, including the latent configuration in memory (like routing information or firewall rules).
It creates the snapshots in single compressed text files periodically (hourly, daily, weekly, monthly from cron) that can be diffed. And it allows to send out diffs to one or more email-addresses if configured to do so.
It was written with multiple use cases in mind:
compare identical systems (eg. nodes in a cluster, or when migrating servers)
mail changes to a group of co-maintaining sysadmins (so configuration changes are communicated and if needed acted upon)
backing up a complete system's HW/SW configuration and making diffs with past configurations for troubleshooting problems
taking system configurations with you (as a consultant or support organisation it is nice to follow-up on system changes made by the customer)
The tool is called dconf. You can find it in RPMforge.
The tool is as good as its configuration. The default configuration already contains a lot for RHEL/CentOS, but it could use more people defining more tools/configuration file. And I am open for improving the tool beyond what it does now.
Feedback appreciated,
What I've always wanted is a tool that would manage a group of machine configurations as branches in subversion so the tool itself wouldn't need any diffing capability and could be wrapped by viewvc for web browsing, mesh nicely with router and other text base config management, etc. By 'configurations', on RPM based machines, I'd want the package list exported in a form that yum or kickstart could use to re-create the set (and I suppose to get this right you also have to build a local repository containing all of them because rpm/yum are too dumb to know where they came from, given multiple repositories), and copies of all the files in /etc/ and other optional places that are not exactly as installed from an RPM.
Is such a thing feasible, and if you can get that far, can it become a 'configuration factory' where you'd copy the starting config close to what you want to a new branch, edit a few files for the needed changes to produce a new machine, commit them, and then have a tool build that machine or a disk image of it? What I'm after is something that will let me make on-the-fly changes to any running machine, but pull those changes back to a central management tool in a way that makes it easy to see differences across time or between similar machines, and to use the current setup of any machine as the starting point for a new one.
Most of the tools I've seen so far involve their own abstractions to describe configurations and require them to be made at the central management tool. That's not what I want. I want to do configurations using the native setup on one or more machines whether or not the management tool has an abstraction for it and have a way to use that going forward and to track differences without any intermediate abstractions. I suppose in a way the version control's branch/rev/tag mechanism becomes an abstraction for the whole machine state at a point in time.