[vox-tech] Apt-get vs. Dselect

Karsten M. Self kmself at ix.netcom.com
Sun Mar 13 20:21:45 PST 2005


on Fri, Mar 11, 2005 at 10:52:05AM -0800, Rick Moen (rick at linuxmafia.com) wrote:
> Quoting Bob Scofield (rscofield at afes.com):
> 
> > I'm trying to do a little reading about apt-get when I have the
> > time.  Every once and awhile I see a reference to dselect.
> > Sometimes I get the impression that apt-get has superceded dselect,
> > and sometimes I get the impression that dselect does things that
> > apt-get doesn't.  My question is this:  is there a good reason for
> > an apt-get user to use dselect?

There's also the APT HOWTO:

    http://www.debian.org/doc/manuals/apt-howto/index.en.html

...and Osmau Aoki's "Debian Reference" which is in some ways more
current and complete:

    http://www.debian.org/doc/manuals/reference/reference.en.html

 
> Here's a logical "stack" diagram that I made a long time ago, for my
> "Debian Tips" collection:
> 
>     gnome-apt     ---------
>     aptitude              |    Package selection
>     Corel Update          |
>     Storm Package Manager or
>     dselect*              |
>     console-apt   ------- |
>        |
>        | calls
>        v
>     apt-get          Dependency-resolution,
>        |             package-retrieval
>        |
>        | calls
>        v
>      dpkg       Package installation & removal,
>                 configuration


Good general overview.  I'm not entirely sure that apt-get is a class by
itself.
 
> *dselect _can_ use apt-get as a "method" as indicated here, but by
> default does not, bypassing that layer and calling dpkg directly.

dselect is also a much earlier tool.  apt-get dates to 1998, dselect to
1994.  First release of aptitude was 2000.

I'd also classify things a bit differently, with some context to
RPM-based systems:

  - Package and package-file manipulation:  dpkg

    Roughly equivalent to rpm.

  - Package *system* operation and manipulation:  dselect, apt-get &
    aptitude

    Operates on packages _logically_; doesn't interact with package
    _files_ directly, in that package files aren't arguments to actions.
    Each offers varying levels and sophistication of dependency and
    conflict detection and resolution.

    Interfaces:

    - CLI only:  apt-get 
    - interactive full-screen (ncurses) only:  dselect 
    - *Both* CLI and full-screen (ncurses): aptitude 
    
    Caution, see bug#299009 WRT aptitude's inconsistent results when
    used in different modes.

        http://bugs.debian.org/299009

  - synaptic, gnome-apt, Corel Update, Storm Package Manager, etc.: GUI
    front ends.  Most offer the features of aptitude/synaptic with
    various desktop or distro integration.

There are a number of other tools falling into a few different
categories:

    dpkg tools:

        dpkg                 dpkg-distaddfile     dpkg-ruby
        dpkg-architecture    dpkg-genchanges      dpkg-scanpackages
        dpkg-awk             dpkg-gencontrol      dpkg-scansources
        dpkg-buildpackage    dpkg-name            dpkg-shlibdeps
        dpkg-checkbuilddeps  dpkg-parsechangelog  dpkg-source
        dpkg-checkdeps.rb    dpkg-query           dpkg-split
        dpkg-deb             dpkg.rb

    apt tools

        apt-cache             apt-file              aptitude
        apt-cdrom             apt-ftparchive        apt-listchanges
        apt-config            apt-get               apt-sortpkgs
        apt-extracttemplates  apt-howto             apt-setup             
        apt-listbugs        

    Others:

        synaptic
        wajig
 

I'll note wajig as a little-known tool that does a lot, it's becoming
sort of YAST-like in its capabilities.  I *really* haven't messed with
it much, though I've met its author on a trip to AU a few years back.

In addition to package management, wajig and gijig provide wrappers for
other functionality, including, e.g.:  /etc/init.d/

More info at:

    http://www.togaware.com/wajig/
    http://www.togaware.com/linux/survivor/wajig.shtml


> (Alternatively, skip the first category, package selection, and just
> use apt-get et al. directly from the command line.  Many of us do this
> by preference.)

/me raises hand.
 

> My point is that apt-get and dselect are tools at different levels of
> abstraction.  Comparing them is like comparing carburetors with
> Chevrolets -- except that carburetors by themselves aren't much use,
> whereas apt-get (and aptitude's command-line mode) are.

Um.  apt-get and dselect, or apt-get and dpkg? 



Back to aptitude, the basic advantages are outlined by Joey Hess:

   Nine reasons why you should be using aptitude instead of apt-get or
   dselect.
   http://lists.debian.org/debian-user/2004/04/msg11344.html

1. aptitude can look just like apt-get -- in CLI mode.

2. aptitude tracks automatically installed packages -- no need for
   debfoster, et al.

3. aptitude sanely handles recommends -- apt-get doesn't.

4. use aptitude as a normal user and avoid hosing your system -- for
   package browsing (but not install).

5. aptitude has a powerful UI and searching capabilities -- both
   search  '/<regex>' and filter 'l <regex>' to quickly scan for
   packages of interest.  Familiar to mutt users.

6. aptitude makes it easy to keep track of obsolete software

7. aptitude has an interface to the Debian task system

8. aptitude supports multiple sources -- you can select the specific
   version of a package to install.

9. aptitude logs its actions -- this is IMO its greatest single feature.



The filtering (limiting) feature is one I just realized today.  Very
cool.


Peace.

-- 
Karsten M. Self <kmself at ix.netcom.com>        http://kmself.home.netcom.com/
 What Part of "Gestalt" don't you understand?
    Light come, light go.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://ns1.livepenguin.com/pipermail/vox-tech/attachments/20050313/7776283c/attachment.bin


More information about the vox-tech mailing list