Hi, I admit i'm a little confused as to what the use is of dselect when we have tools like aptitude and apt-get. Off course, if you like dselect, stop reading ;) I don't like it so i try to use other tools to accomplish the same stuff you can do with dselect. To try to figure this out,i looked at dselect, dpkg, apt-get and aptitude. According to the manpages of the aformentioned packages, the tools match up like this:
Package Manager: dpkg Backend Tool: apt-get Frontend Tools: dselect, aptitude, synaptic, etc By looking at the manpages, i first looked at what files the tools use: 1) Dpkg /var/lib/dpkg/status: status of packages /var/lib/dpkg/available: available packages 2) Apt /var/lib/apt/lists: available packages /var/cache/apt/archives: saved/cached packages 3) Dselect /var/lib/dpkg/available 4) Aptitude /var/lib/aptitude/pkgstatus status of packages 1. Now, the manpage of apt-get says this about /var/lib/apt/lists "/var/lib/apt/lists/ Storage area for state information for each package resource specified in sources.list(5) Configuration Item: Dir::State::Lists. " This seems to be incorrect as the files in that dir seem to be about what packages are available on what location and not what the status of the package is on the system. 2. /var/lib/dpkg/available seems the same as /var/lib/apt/lists. But to get the same in both files, you also need to do a dselect update (as opposed to a apt-get update) 3. Something that wasn't clear for me: where does an "apt-cache policy" command gets it's info? 4. If you do an "apt-get update", then i think aptitude knows about the updated lists. So as to what is the use of dselect: For the common daily use, apt-get and aptitude seem to do the job. The only situation i can think of where you'll need dselect is after a dpkg --set-selections < myselection. Because this changes the status of the packages and thus the /var/lib/dpkg/status file. "apt-get dselect-upgrade" is the command you should run to update the system and not "apt-get dist-upgrade". Why can't use apt-get in this situation (well according to me)? Because apt-get doesn't use the file /var/lib/dpkg/status. So it will probably just upgrade the system and not install for instance the new packages that where set by dpkg --set-selections. But, in order to do this correctly, you'll have to make sure that your sources.list matches the one from the source system (to have the same packages available) and that you've done a dselect update. That will make sure /var/lib/dpkg/available is in working order. apt-get dselect-upgrade then calls dselect to install the packages. So the versions of the available packages need to be known before we can change their status with dpkg --set-selections. So if the above is true, wouldn't it make sense for apt-get to do like dselect and use /var/lib/dpkg/available or would that typically be more of a job for a frontend tool like aptitude? If so, is there a similar command in aptitude for "apt-get dselect-upgrade" ? Or does it also use dselect to do this? It wouldn't make sense that if those tools are ment to replace dselect that they would still use dselect for some stuff. And frankly i find it confusing :) Any comments are appreciated. Benedict -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]