On 12/23/99, Egbert Bouwman addressed "Bad points for debian (was: resetting dpkg)": > In the dselect man page (dd 29th november 1995) in slink you can read: > The dselect package selection interface is confusing or even > alarming to the new user. > The debian group tries to remedy this by developing a new package, > apt etc, which is not yet finished. For years on end we have to work > now with the old interface. But I have never seen a clear, readable, > understandable etc story about the use of these packages. > > Yes, in many texts you see something like: experiment, read the help > pages, use the ... keys (they are your friend). > In the meantime numerous people, often very sophisticated linux users, > have been frustrated by dselect-dpkg. Many turned to another > distibution exactly for this reason.
I experienced the same frustration for a while. What ended it was a *careful* reading of the internal dselect help. This, combined with my experience produced a careful respect for all the things that dselect is showing me and is about to do at any given moment. For example, when you select a package and dselect enters the conflict resolution screen, and there are 50 or so packages there, some of which you recognize as being somewhat important for you, **now** is the time to "go back." If you hit Enter, the status of most of those packages will be different than when you began. The keys you can use to "Quit, Exit, Overwrite," according to the help screen, are: (note capitals!) " Return Confirm, quit (check dependencies) Q Confirm, quit (override dep.s) X, Esc eXit, abandoning any changes made R Revert to state before this list U set all to sUggested state D set all to Directly requested state " So the right thing to do is "R" - revert to state before this list. If you accept the list as-is, you can almost guarantee you won't be able to get that same package listing again. Note that the opposite of "Return" is "Q", and apparently "U" and "D" are opposites too, analogous to "Return" and "Q." "X" looks similar to "R", but some experimentation is in order to confirm that -- it may quit package selection altogether. So experiment carefully, have patience, and respect for the fact that there are thousands of packages managed by dselect, which manages their real-time status on an individual basis, accounting for a complex inter-dependency scheme. Whatever you change and accept (even unknowingly) is *real*, and is immediately reflected in the package status database. You may be able to create a kind of self-protection error recovery by using dpkg --get-selections > somefile before running dselect. Then if you want to revert from your dselect-ion, run dpkg --set-selections < somefile afterwards. YMMV. Happy Linuxing, Jesse