Hi all
i'm new to anaconda. I'm trying to investigate if it's possible to track the installation process in order to distinguish between files written in the target volume that are generated depending on the configuration specified by the user and those that are extracted from RPM packages. What is the correct approach to do that?
Thanks in advance for replies.
i'm new to anaconda. I'm trying to investigate if it's possible to track the installation process in order to distinguish between files written in the target volume that are generated depending on the configuration specified by the user and those that are extracted from RPM packages.
The list of files that were extracted from .rpm packages can be generated after installation by something like: rpm -ql $( rpm -qa ) which lists all the installed packages (rpm -qa) then lists all the files (rpm -ql) in those packages. You may have to specify the format of package names produced by (rpm -qa) to include the $ARCH if there are both .i686 and .x86_64 packages.
The list of all files in a running system is something like: find $( ls -d /* | egrep -v '^/proc$|^/sys$' ) Then subtract the two lists, probably using 'sort' and 'comm'.
The list of all files created during installation can be captured via strace -p <PID-of-anaconda> -o strace.out -f -e trace=open which should be entered to the shell on VT2 when the splash screen appears on VT6. Do a "ps -ax" to figure out the process id (PID) of anaconda. Of course some of these may be temporary files for installation only, so use "-e trace=open,unlink" and then subtract.
Ok, thanks. What i need is a way to obtain some configuration files generated by anaconda like '/etc/sysconfig/iptables' or '/etc/sysconfig/clock' providing the kickstart file. I have loooked up at the anaconda's code to identify the points where those files are written and it seem's that they are located in the directory pyanaconda. There's a way to run anaconda so that the only task it does is to generated configuration files and to exit before installing packages?
On Monday 31 May 2010 19:24:43 John Reiser wrote:
i'm new to anaconda. I'm trying to investigate if it's possible to track the installation process in order to distinguish between files written in the target volume that are generated depending on the configuration specified by the user and those that are extracted from RPM packages.
The list of files that were extracted from .rpm packages can be generated after installation by something like: rpm -ql $( rpm -qa ) which lists all the installed packages (rpm -qa) then lists all the files (rpm -ql) in those packages. You may have to specify the format of package names produced by (rpm -qa) to include the $ARCH if there are both .i686 and .x86_64 packages.
The list of all files in a running system is something like: find $( ls -d /* | egrep -v '^/proc$|^/sys$' ) Then subtract the two lists, probably using 'sort' and 'comm'.
The list of all files created during installation can be captured via strace -p <PID-of-anaconda> -o strace.out -f -e trace=open which should be entered to the shell on VT2 when the splash screen appears on VT6. Do a "ps -ax" to figure out the process id (PID) of anaconda. Of course some of these may be temporary files for installation only, so use "-e trace=open,unlink" and then subtract.
I'm trying to investigate if it's possible to track the installation process in order to distinguish between files written in the target volume that are generated depending on the configuration specified by the user and those that are extracted from RPM packages.
rpm -ql $( rpm -qa ) find $( ls -d /* | egrep -v '^/proc$|^/sys$' )Then subtract the two lists, probably using 'sort' and 'comm'.
Ok, thanks. What i need is a way to obtain some configuration files generated by anaconda like '/etc/sysconfig/iptables' or '/etc/sysconfig/clock' providing the kickstart file. I have loooked up at the anaconda's code to identify the points where those files are written and it seem's that they are located in the directory pyanaconda. There's a way to run anaconda so that the only task it does is to generated configuration files and to exit before installing packages?
There's no builtin way to do that, but because you've looked at the code, then you can just delete the part that does package install. Because anaconda is interpreted, then it is easy to make and debug such a modification.
anaconda-devel@lists.fedoraproject.org