Wasn't linux (also) all about acomplishing one task in many different ways?
Leo Custodio [EMAIL PROTECTED] http://members.rogers.com/aliensprite/ -----BEGIN PGP PUBLIC KEY BLOCK----- Version: 2.6.2 mQCNAz/nyswAAAEEAM1Jl14YqNlrUGmr4vh5OKGbDg5qiFnY/Ioqa5j5j9jlTsiH 7EJNlhIvu5OV223D0REUmWbFaKBQlnZAaDRRROb52YPuZ8NQfyu/C5zvTz8qubEx jWn+nYryqKZxQsDwjntkNIMxx5n+QB7WhDltenCFE/VxYhsTa59EWqUqkz/RAAUR tC5MZW9uYXJkbyBDLiBDdXN0b2RpbyA8YWxpZW5zcHJpdGVAaG90bWFpbC5jb20+ =xAh5 -----END PGP PUBLIC KEY BLOCK----- ----- Original Message ----- From: "Benedict Verheyen" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, February 19, 2004 6:13 PM Subject: what's the use of dselect > 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] > -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]