On 9 Apr 1997, Graeme Stewart wrote: > The ideal situation, I think, would be for dselect to have an option > where by it can be told that certain directories are NFS mounted. > It should then do the installation as normal, but not copy files to > these directories (or attempt to delete them upon uninstalling). > Would that be hard to implement? I don't think so, though I never > got farther than thinking... If one wanted to be really clever, > one could get dselect on a client to download the server's list of > installed packages and issue a warning if the client tried to install > a different version of the package or a package that the server didn't > have. I think that with those sort of changes Debian could be made > very user friendly to NFS networks like ours.
that's a really good idea. what is needed is a dpkg --option or wrapper script which communicates with a specified NFS server ("ssh $SERVER dpkg --get-selections"?) and extracts it's list of installed packages. For packages installed on the server but not on the client, it should install ONLY the config files & package.{pre,post}{rm,inst} scripts, plus any files/directories NOT in NFS mounted directories (e.g. /bin, /sbin, /var, /etc) There should be a command line option or config file for specifying which directories are NFS, and an exclusion list for those which aren't (to allow for situations like /usr is NFS, /usr/local is not). Alternatively, dpkg can simply be told to ignore errors caused by a file or directory being read-only. The {pre,post}inst scripts should be run at install time on the client machine. For packages which are on the client but not on the server, it should run the {pre,post}rm scripts and delete files which are not on NFS mounted disks. this should be as automated as possible, so that when the server is upgraded or new packages are installed it should be possible to use a for loop wrapper around rsh or ssh or something to automatically update the clients....but that depends a lot on the scripts in the individual packages. craig