any shortcut to install all dev-related packages?

Tom H tomh0665 at gmail.com
Tue May 4 19:30:00 UTC 2010


On Tue, May 4, 2010 at 1:07 PM, Robert P. J. Day <rpjday at crashcourse.ca> wrote:
> Quoting Tom H <tomh0665 at gmail.com>:
>
>> On Tue, May 4, 2010 at 9:18 AM, Robert P. J. Day
>> <rpjday at crashcourse.ca> wrote:
>>>   i just found the task definition file
>>> /usr/share/tasksel/ubuntu-tasks.desc, but i'm disappointed that
>>> there's no "task" to turn my stock 10.04 laptop into a development
>>> workstation -- that is, installing the various compilers,
>>> interpreters, linkers, autotools packages, version control tools and
>>> so on.
>>>
>>> is there a meta-install incantation for that?  or do i have to pick
>>> and choose?  thanks.
>>
>> The closest that I know to RHEL's
>> yum groupinstall "Development Tools" "Development Libraries"
>> is
>> aptitude install build-essential
>> to which you might need to add some libraries.
>>
>> By the way, you can lists the tasksel tasks with
>> tasksel --list-tasks
>
> and now, i have more dumb questions.  first, what's the difference
> between a task and a meta-package?  i can see from the output of the
> above command that "ubuntu-desktop" is allegedly a task.  but if i
> read here:
>
>   https://help.ubuntu.com/community/MetaPackages
>
> i'm informed that "ubuntu-desktop" is actually a metapackage.  so what
> is "build-essential"?  if i want to know the packages in a task, i can:
>
>   $ tasksel --task-packages ubuntu-desktop
>
> what would tell me the packages that correspond to "build-essential?"
> and not just the ones remaining to be installed, but all of them?

A task can be installed and uninstalled whereas a metapackage can only
be installed; or, more accurately, if a metapackage is uninstalled, it
does not uninstall the packages that were installed when it was
installed.

The reason that uninstalling a metapackage does not uninstall the
packages that were installed when it was installed is that "all" that
a metapackage's .deb contains is a control file that has a list of
dependencies. So
aptitude install build-essential
installs
dpkg-dev, g++, libc6-dev, make
and you can list the above with
aptitude show build-essential
or
apt-cache show build-essential

ubuntu-desktop is both a tasksel task and a metapackage so
tasksel install ubuntu-desktop
and
aptitude install ubuntu-desktop
both install the packages that are listed by the tasksel and
aptitude/apt-cache commands above, whereas
aptitude remove ubuntu-desktop
uninstalls the ubuntu-desktop metapackage only and
tasksel remove ubuntu-desktop
uninstalls all the packages that constitute the ubuntu-desktop task and package.




More information about the ubuntu-users mailing list