Debian package management

If none of the more specific forums is the right place to ask

Debian package management

Postby sahko » 2011-02-19 20:23

Hello, this is my first post on this forum.
I have been using Linux for quite a while, but i just have recently decided to start using Debian.
I had never used Debian or a Debian based distribution until now and the reason is pretty simple. The reason is APT.
While APT is advanced it is also very complex and takes a while to get used to and learn how to work with it. So until now i did my best to stay away from it.
I will describe the situation i ran into hoping someone can explain why it happened because i can not.
FWIW, even though i think its irrelevant, this is on a Debian testing installation and all package management has been done using aptitude in its interactive command line interface.

Here's the deal:
I installed the "awesome" window manager invoking the command "aptitude install awesome".
Code: Select all
Will install 24 packages, and remove 0 packages.                                                                               
17.0 MB of disk space will be used                                                                                             
===============================================================================                                               
[INSTALL, DEPENDENCIES] cpp                                                                                                   
[INSTALL, DEPENDENCIES] cpp-4.4                                                                                               
[INSTALL, DEPENDENCIES] dbus-x11                                                                                               
[INSTALL, DEPENDENCIES] libev3                                                                                                 
[INSTALL, DEPENDENCIES] libgmp3c2                                                                                             
[INSTALL, DEPENDENCIES] libmpfr4                                                                                               
[INSTALL, DEPENDENCIES] libstartup-notification0                                                                               
[INSTALL, DEPENDENCIES] libxcb-atom1                                                                                           
[INSTALL, DEPENDENCIES] libxcb-event1                                                                                         
[INSTALL, DEPENDENCIES] libxcb-icccm1                                                                                         
[INSTALL, DEPENDENCIES] libxcb-image0                                                                                         
[INSTALL, DEPENDENCIES] libxcb-keysyms1                                                                                       
[INSTALL, DEPENDENCIES] libxcb-property1                                                                                       
[INSTALL, DEPENDENCIES] libxcb-randr0                                                                                         
[INSTALL, DEPENDENCIES] libxcb-shape0                                                                                         
[INSTALL, DEPENDENCIES] libxcb-shm0                                                                                           
[INSTALL, DEPENDENCIES] libxcb-xinerama0                                                                                       
[INSTALL, DEPENDENCIES] libxcb-xtest0                                                                                         
[INSTALL, DEPENDENCIES] libxdg-basedir1                                                                                       
[INSTALL, DEPENDENCIES] libxxf86vm1                                                                                           
[INSTALL, DEPENDENCIES] menu                                                                                                   
[INSTALL, DEPENDENCIES] rlwrap                                                                                                 
[INSTALL, DEPENDENCIES] x11-xserver-utils                                                                                     
[INSTALL] awesome                                                                                                             
===============================================================================


Today i decided i didnt want to use it and that i wanted to stick to ratpoison. So i invoked "aptitude purge awesome" which did the following:
Code: Select all
Will install 0 packages, and remove 1 packages.                                                                               
2,785 kB of disk space will be freed                                                                                           
===============================================================================                                               
[REMOVE] awesome                                                                                                               
===============================================================================


As its obvious from the log, the dependencies dragged along with awesome when i installed the application werent removed along with it, even though many of the dependencies of "awesome" arent needed by any other packages.
As it turns out that ALL the dependencies of "awesome" are not marked as automatically installed. I dont know if they were when i installed them, since i installed them with "aptitude install awesome" they shouldnt, but today they werent.
From the time i installed "awesome", until today that i removed it, i have only installed and removed some packages and run "aptitude update" and "aptitude safe-upgrade" once per day keeping my testing installation up to date.
Also i have edited my sources.list once, adding a deb-src entry for the main contrib and non-free official testing repositories.

The only command i could have run that could have changed the installed status of "awesome's" dependencies, that i know of, is one with aptitude using "<package>+M or <package>&M or <package>&m" but i havent done so. It would be weird doing it on only on all of "awesome's" dependencies anyway.
Probably irrelevant as well, but in the meantime i had installed other packages providing 'x-window-manager' as well.

I would *really* like to know if anyone has any ideas of how that could have been happened. Thank you.
sahko
 
Posts: 8
Joined: 2011-02-11 08:20

Re: Debian package management

Postby mslinux » 2011-02-19 21:07

aptitude --> Options (CTRL-T for the menu) --> Preferences, and check "Remove unused packages automatically"

or

Code: Select all
# apt-get autoremove


EDIT:
typo
MsLinux-

forums.debian.net - where facepalm is the default answer :D

© 2012
║▌║│█║▌│█│║▌║█║▌│█│║▌║│
User avatar
mslinux
 
Posts: 942
Joined: 2010-12-24 05:14

Re: Debian package management

Postby sahko » 2011-02-19 21:15

That doesnt help cause the dependencies arent marked as automatically installed (read relevant paragraph above).
Thanks for trying though :)

edit: The question simplified is "How can packages change from automatically to non automatically installed without the user explicitly doing so?"
sahko
 
Posts: 8
Joined: 2011-02-11 08:20

Re: Debian package management

Postby craigevil » 2011-02-19 22:12

deborphan | xargs apt-get -y remove --purge

aptitude has better dependency resolution than apt-get. I find it better to disable Suggests and Recommends that way you end up with a leaner system.

You might also want to take a look at either cruft or bleachbit.

Cruft
Description: Find any cruft built up on your system
cruft is a program to look over your system for anything that shouldn't
be there, but is; or for anything that should be there, but isn't.
.
It bases most of its results on dpkg's database, as well as a list of
`extra files' that can appear during the lifetime of various packages.
.
cruft is still in pre-release; your assistance in improving its accuracy
and performance is appreciated.
Homepage: http://alioth.debian.org/projects/cruft/

bleachbit
Description: delete unnecessary files from the system
BleachBit deletes unnecessary files to free valuable disk space, maintain
privacy, and remove junk. It removes cache, Internet history, temporary files,
cookies, and broken shortcuts.
.
It handles cleaning of Adobe Reader, Bash, Beagle, Epiphany, Firefox, Flash,
GIMP, Google Earth, Java, KDE, OpenOffice.org, Opera, RealPlayer, rpmbuild,
Second Life Viewer, VIM, XChat, and more.
.
Beyond simply erasing junk files, BleachBit wipes free disk space (to hide
previously deleted files for privacy and to improve compression of images),
vacuums Firefox databases (to improve performance without deleting data), and
securely shreds arbitrary files.
Homepage: http://bleachbit.sourceforge.net

deborphan and debfoster will also become good friends if you stick with Debian.
Debian Sid KDE 4.8 Kernel 3.7 Thinkpad R40 Intel M 1.3 CPU 2GB RAM Radeon Mobility 7500
Debian - "If you can't apt-get something, it isn't useful or doesn't exist"
Giant Debian sources.list | Debian upgrade script smxi | sysinfo script inxi
User avatar
craigevil
 
Posts: 5149
Joined: 2006-09-17 03:17
Location: down the rabbit hole

Re: Debian package management

Postby dilberts_left_nut » 2011-02-19 22:16

In the aptitude interface find (/) one of the packages in question.
The info pane at the bottom shows info about the selected package.
Press 'i' to cycle the info display.
One of the info's shows what other packages require the selected package.
The help menu item is quite comprehensive in describing the functions of the interface.

This info can also be shown with some command line foo as well, see 'man aptitude'
AdrianTM wrote:There's no hacker in my grandma...
User avatar
dilberts_left_nut
 
Posts: 3054
Joined: 2009-10-05 07:54
Location: enzed

Re: Debian package management

Postby sahko » 2011-02-19 22:28

dilberts_left_nut wrote:In the aptitude interface find (/) one of the packages in question.
The info pane at the bottom shows info about the selected package.
Press 'i' to cycle the info display.
One of the info's shows what other packages require the selected package.
The help menu item is quite comprehensive in describing the functions of the interface.

This info can also be shown with some command line foo as well, see 'man aptitude'


Again i should point that the packages are now marked as NOT automatically installed.
aptitude why libev3 says:
Code: Select all
i   xinit Recommends xterm | x-session-manager | x-window-manager | x-terminal-emulator
p   i3-wm Provides   x-window-manager                                                 
p   i3-wm Depends    libev3 (>= 3.0)


(which incidentally is the same piece of the text it outputs when libev3 isnt even installed)
go figure.

craigevil wrote:deborphan | xargs apt-get -y remove --purge

aptitude has better dependency resolution than apt-get. I find it better to disable Suggests and Recommends that way you end up with a leaner system.

You might also want to take a look at either cruft or bleachbit.

Cruft
bleachbit

deborphan and debfoster will also become good friends if you stick with Debian.


Thanks for the suggestions. I already knew about those and deborphan does indeed find the left over dependencies.
But i am only interested in finding out why were the packages left behind in the first place, marked as explicitly installed cause its inconsistent to what i did (at least to the best of my knowledge)
Last edited by sahko on 2011-02-19 22:51, edited 1 time in total.
sahko
 
Posts: 8
Joined: 2011-02-11 08:20

Re: Debian package management

Postby smallchange » 2011-02-19 22:47

Almost certainly the key here is "to the best of my knowledge" because what you are expecting is what should happen. It is next to impossible (actually it is probably impossible) that aptitude did what you think it did. Much more likely is that at some point you ran "aptitude install" on the packages. That would explicitly install them and they would no longer be marked as automatically installed.
smallchange
 
Posts: 1740
Joined: 2009-05-04 15:56

Re: Debian package management

Postby sahko » 2011-02-19 22:54

smallchange wrote:Much more likely is that at some point you ran "aptitude install" on the packages.


I would be willing to accept that only if we were talking about one package. I might have by mistake done it. But we are talking about 10 packages. So its impossible.
Also wouldnt the reinstallation be mentioned in the aptitude log?
sahko
 
Posts: 8
Joined: 2011-02-11 08:20

Re: Debian package management

Postby bugsbunny » 2011-02-20 04:07

1) "aptitude install package" will not automatically change an autoinstalled package to one that's manually installed. It should leave the autoinstall flag u8nchanged (for example if updating one package you would use the install command)

2) I just tested what happens here. Here's what I got.

Before installing awesome the following dependencies were already installed:
Code: Select all
i A dbus-x11                        - simple interprocess messaging system (X11
i   libc6                           - Embedded GNU C Library: Shared libraries 
i A libcairo2                       - The Cairo 2D vector graphics library     
i A libdbus-1-3                     - simple interprocess messaging system     
i A libglib2.0-0                    - The GLib library of C routines           
i A libimlib2                       - powerful image loading and rendering libra
i A liblua5.1-0                     - Simple, extensible, embeddable programming
i A libpango1.0-0                   - Layout and rendering of internationalized
i A libstartup-notification0        - library for program launch feedback (share
i A libx11-6                        - X11 client-side library                   
i A libxcb-atom1                    - utility libraries for X C Binding -- atom
i A libxcb-aux0                     - utility libraries for X C Binding -- aux 
i A libxcb-event1                   - utility libraries for X C Binding -- event
i A libxcb-keysyms1                 - utility libraries for X C Binding -- keysy
i A libxcb-randr0                   - X C Binding, randr extension             
i A libxcb-render0                  - X C Binding, render extension             
i A libxcb-shape0                   - X C Binding, shape extension             
i A libxcb-shm0                     - X C Binding, shm extension               
i A libxcb1                         - X C Binding                               
i A menu                            - generates programs menu for all menu-aware


The following were not:
Code: Select all
p   libev3                          - high-performance event loop library modell
p   libxcb-icccm1                   - utility libraries for X C Binding -- icccm
p   libxcb-image0                   - utility libraries for X C Binding -- image
p   libxcb-property1                - utility libraries for X C Binding -- prope
p   libxcb-render-util0             - utility libraries for X C Binding -- rende
p   libxcb-xinerama0                - X C Binding, xinerama extension           
p   libxcb-xtest0                   - X C Binding, xtest extension             
p   libxdg-basedir1                 - Implementation of the XDG Base Directory S


Install awesome:
Code: Select all
The following NEW packages will be installed:
  awesome [3.4.9-1] <+2,785 kB> 
  libev3{a} [1:3.9-1] <+111 kB> (D: awesome) 
  libxcb-icccm1{a} [0.3.6-1] <+69.6 kB> (D: awesome) 
  libxcb-image0{a} [0.3.6-1] <+69.6 kB> (D: awesome) 
  libxcb-property1{a} [0.3.6-1] <+61.4 kB> (D: awesome, D: libxcb-icccm1) 
  libxcb-render-util0{a} [0.3.6-1] <+65.5 kB> (D: awesome) 
  libxcb-xinerama0{a} [1.7-2] <+61.4 kB> (D: awesome) 
  libxcb-xtest0{a} [1.7-2] <+61.4 kB> (D: awesome) 
  libxdg-basedir1{a} [1.1.1-1] <+61.4 kB> (D: awesome) 
The following packages are RECOMMENDED but will NOT be installed:
  rlwrap (R: awesome) 
0 packages upgraded, 9 newly installed, 0 to remove and 1 not upgraded.
Need to get 918 kB of archives. After unpacking 3,346 kB will be used.
Do you want to continue? [Y/n/?]


After installation:
Code: Select all
i A dbus-x11                        - simple interprocess messaging system (X11
i   libc6                           - Embedded GNU C Library: Shared libraries 
i A libcairo2                       - The Cairo 2D vector graphics library     
i A libdbus-1-3                     - simple interprocess messaging system     
i A libglib2.0-0                    - The GLib library of C routines           
i A libimlib2                       - powerful image loading and rendering libra
i A liblua5.1-0                     - Simple, extensible, embeddable programming
i A libpango1.0-0                   - Layout and rendering of internationalized
i A libstartup-notification0        - library for program launch feedback (share
i A libx11-6                        - X11 client-side library                   
i A libxcb-atom1                    - utility libraries for X C Binding -- atom
i A libxcb-aux0                     - utility libraries for X C Binding -- aux 
i A libxcb-event1                   - utility libraries for X C Binding -- event
i A libxcb-keysyms1                 - utility libraries for X C Binding -- keysy
i A libxcb-randr0                   - X C Binding, randr extension             
i A libxcb-render0                  - X C Binding, render extension             
i A libxcb-shape0                   - X C Binding, shape extension             
i A libxcb-shm0                     - X C Binding, shm extension               
i A libxcb1                         - X C Binding                               
i A menu                            - generates programs menu for all menu-aware

i A libev3                          - high-performance event loop library modell
i A libxcb-icccm1                   - utility libraries for X C Binding -- icccm
i A libxcb-image0                   - utility libraries for X C Binding -- image
i A libxcb-property1                - utility libraries for X C Binding -- prope
i A libxcb-render-util0             - utility libraries for X C Binding -- rende
i A libxcb-xinerama0                - X C Binding, xinerama extension           
i A libxcb-xtest0                   - X C Binding, xtest extension             
i A libxdg-basedir1                 - Implementation of the XDG Base Directory S


Purge awesome
Code: Select all
# aptitude purge awesome
The following packages will be REMOVED: 
  awesome{p} [3.4.9-1] <-2,785 kB> 
0 packages upgraded, 0 newly installed, 1 to remove and 1 not upgraded.
Need to get 0 B of archives. After unpacking 2,785 kB will be freed.
Do you want to continue? [Y/n/?]
(Reading database ... 277235 files and directories currently installed.)
Removing awesome ...
Purging configuration files for awesome ...


After purging awesome:
Code: Select all
i A dbus-x11                        - simple interprocess messaging system (X11
i   libc6                           - Embedded GNU C Library: Shared libraries 
i A libcairo2                       - The Cairo 2D vector graphics library     
i A libdbus-1-3                     - simple interprocess messaging system     
i A libglib2.0-0                    - The GLib library of C routines           
i A libimlib2                       - powerful image loading and rendering libra
i A liblua5.1-0                     - Simple, extensible, embeddable programming
i A libpango1.0-0                   - Layout and rendering of internationalized
i A libstartup-notification0        - library for program launch feedback (share
i A libx11-6                        - X11 client-side library                   
i A libxcb-atom1                    - utility libraries for X C Binding -- atom
i A libxcb-aux0                     - utility libraries for X C Binding -- aux 
i A libxcb-event1                   - utility libraries for X C Binding -- event
i A libxcb-keysyms1                 - utility libraries for X C Binding -- keysy
i A libxcb-randr0                   - X C Binding, randr extension             
i A libxcb-render0                  - X C Binding, render extension             
i A libxcb-shape0                   - X C Binding, shape extension             
i A libxcb-shm0                     - X C Binding, shm extension               
i A libxcb1                         - X C Binding                               
i A menu                            - generates programs menu for all menu-aware

ip  libev3                          - high-performance event loop library modell
ip  libxcb-icccm1                   - utility libraries for X C Binding -- icccm
ip  libxcb-image0                   - utility libraries for X C Binding -- image
ip  libxcb-property1                - utility libraries for X C Binding -- prope
ip  libxcb-render-util0             - utility libraries for X C Binding -- rende
ip  libxcb-xinerama0                - X C Binding, xinerama extension           
ip  libxcb-xtest0                   - X C Binding, xtest extension             
ip  libxdg-basedir1                 - Implementation of the XDG Base Directory S


Note that all the new dependencies are now marked for deletion, but have not yet been deleted. The auto-install flag has already been removed though. Running
Code: Select all
aptitude keep-all
at this stage would remove the pending purge, and leave them marked as manually installed. To trigger the actual purge you would need to run
Code: Select all
aptitude install
(with no package).
User avatar
bugsbunny
 
Posts: 5355
Joined: 2008-07-06 17:04

Re: Debian package management

Postby sahko » 2011-02-20 05:33

bugsbunny wrote:1) "aptitude install package" will not automatically change an autoinstalled package to one that's manually installed. It should leave the autoinstall flag u8nchanged (for example if updating one package you would use the install command)

2) I just tested what happens here. Here's what I got.

...

Note that all the new dependencies are now marked for deletion, but have not yet been deleted. The auto-install flag has already been removed though. Running
Code: Select all
aptitude keep-all
at this stage would remove the pending purge, and leave them marked as manually installed. To trigger the actual purge you would need to run
Code: Select all
aptitude install
(with no package).


Thanks for the detailed post. Your answer is enlightening and this is probably close or similar to what happened.
Although i havent used keep-all another command must've changed the flag.
sahko
 
Posts: 8
Joined: 2011-02-11 08:20

Re: Debian package management

Postby smallchange » 2011-02-20 13:50

bugsbunny wrote:1) "aptitude install package" will not automatically change an autoinstalled package to one that's manually installed. It should leave the autoinstall flag u8nchanged (for example if updating one package you would use the install command)

2) I just tested what happens here. Here's what I got.

Before installing awesome the following dependencies were already installed:
Code: Select all
i A dbus-x11                        - simple interprocess messaging system (X11
i   libc6                           - Embedded GNU C Library: Shared libraries 
i A libcairo2                       - The Cairo 2D vector graphics library     
i A libdbus-1-3                     - simple interprocess messaging system     
i A libglib2.0-0                    - The GLib library of C routines           
i A libimlib2                       - powerful image loading and rendering libra
i A liblua5.1-0                     - Simple, extensible, embeddable programming
i A libpango1.0-0                   - Layout and rendering of internationalized
i A libstartup-notification0        - library for program launch feedback (share
i A libx11-6                        - X11 client-side library                   
i A libxcb-atom1                    - utility libraries for X C Binding -- atom
i A libxcb-aux0                     - utility libraries for X C Binding -- aux 
i A libxcb-event1                   - utility libraries for X C Binding -- event
i A libxcb-keysyms1                 - utility libraries for X C Binding -- keysy
i A libxcb-randr0                   - X C Binding, randr extension             
i A libxcb-render0                  - X C Binding, render extension             
i A libxcb-shape0                   - X C Binding, shape extension             
i A libxcb-shm0                     - X C Binding, shm extension               
i A libxcb1                         - X C Binding                               
i A menu                            - generates programs menu for all menu-aware


The following were not:
Code: Select all
p   libev3                          - high-performance event loop library modell
p   libxcb-icccm1                   - utility libraries for X C Binding -- icccm
p   libxcb-image0                   - utility libraries for X C Binding -- image
p   libxcb-property1                - utility libraries for X C Binding -- prope
p   libxcb-render-util0             - utility libraries for X C Binding -- rende
p   libxcb-xinerama0                - X C Binding, xinerama extension           
p   libxcb-xtest0                   - X C Binding, xtest extension             
p   libxdg-basedir1                 - Implementation of the XDG Base Directory S


Install awesome:
Code: Select all
The following NEW packages will be installed:
  awesome [3.4.9-1] <+2,785 kB> 
  libev3{a} [1:3.9-1] <+111 kB> (D: awesome) 
  libxcb-icccm1{a} [0.3.6-1] <+69.6 kB> (D: awesome) 
  libxcb-image0{a} [0.3.6-1] <+69.6 kB> (D: awesome) 
  libxcb-property1{a} [0.3.6-1] <+61.4 kB> (D: awesome, D: libxcb-icccm1) 
  libxcb-render-util0{a} [0.3.6-1] <+65.5 kB> (D: awesome) 
  libxcb-xinerama0{a} [1.7-2] <+61.4 kB> (D: awesome) 
  libxcb-xtest0{a} [1.7-2] <+61.4 kB> (D: awesome) 
  libxdg-basedir1{a} [1.1.1-1] <+61.4 kB> (D: awesome) 
The following packages are RECOMMENDED but will NOT be installed:
  rlwrap (R: awesome) 
0 packages upgraded, 9 newly installed, 0 to remove and 1 not upgraded.
Need to get 918 kB of archives. After unpacking 3,346 kB will be used.
Do you want to continue? [Y/n/?]


After installation:
Code: Select all
i A dbus-x11                        - simple interprocess messaging system (X11
i   libc6                           - Embedded GNU C Library: Shared libraries 
i A libcairo2                       - The Cairo 2D vector graphics library     
i A libdbus-1-3                     - simple interprocess messaging system     
i A libglib2.0-0                    - The GLib library of C routines           
i A libimlib2                       - powerful image loading and rendering libra
i A liblua5.1-0                     - Simple, extensible, embeddable programming
i A libpango1.0-0                   - Layout and rendering of internationalized
i A libstartup-notification0        - library for program launch feedback (share
i A libx11-6                        - X11 client-side library                   
i A libxcb-atom1                    - utility libraries for X C Binding -- atom
i A libxcb-aux0                     - utility libraries for X C Binding -- aux 
i A libxcb-event1                   - utility libraries for X C Binding -- event
i A libxcb-keysyms1                 - utility libraries for X C Binding -- keysy
i A libxcb-randr0                   - X C Binding, randr extension             
i A libxcb-render0                  - X C Binding, render extension             
i A libxcb-shape0                   - X C Binding, shape extension             
i A libxcb-shm0                     - X C Binding, shm extension               
i A libxcb1                         - X C Binding                               
i A menu                            - generates programs menu for all menu-aware

i A libev3                          - high-performance event loop library modell
i A libxcb-icccm1                   - utility libraries for X C Binding -- icccm
i A libxcb-image0                   - utility libraries for X C Binding -- image
i A libxcb-property1                - utility libraries for X C Binding -- prope
i A libxcb-render-util0             - utility libraries for X C Binding -- rende
i A libxcb-xinerama0                - X C Binding, xinerama extension           
i A libxcb-xtest0                   - X C Binding, xtest extension             
i A libxdg-basedir1                 - Implementation of the XDG Base Directory S


Purge awesome
Code: Select all
# aptitude purge awesome
The following packages will be REMOVED: 
  awesome{p} [3.4.9-1] <-2,785 kB> 
0 packages upgraded, 0 newly installed, 1 to remove and 1 not upgraded.
Need to get 0 B of archives. After unpacking 2,785 kB will be freed.
Do you want to continue? [Y/n/?]
(Reading database ... 277235 files and directories currently installed.)
Removing awesome ...
Purging configuration files for awesome ...


After purging awesome:
Code: Select all
i A dbus-x11                        - simple interprocess messaging system (X11
i   libc6                           - Embedded GNU C Library: Shared libraries 
i A libcairo2                       - The Cairo 2D vector graphics library     
i A libdbus-1-3                     - simple interprocess messaging system     
i A libglib2.0-0                    - The GLib library of C routines           
i A libimlib2                       - powerful image loading and rendering libra
i A liblua5.1-0                     - Simple, extensible, embeddable programming
i A libpango1.0-0                   - Layout and rendering of internationalized
i A libstartup-notification0        - library for program launch feedback (share
i A libx11-6                        - X11 client-side library                   
i A libxcb-atom1                    - utility libraries for X C Binding -- atom
i A libxcb-aux0                     - utility libraries for X C Binding -- aux 
i A libxcb-event1                   - utility libraries for X C Binding -- event
i A libxcb-keysyms1                 - utility libraries for X C Binding -- keysy
i A libxcb-randr0                   - X C Binding, randr extension             
i A libxcb-render0                  - X C Binding, render extension             
i A libxcb-shape0                   - X C Binding, shape extension             
i A libxcb-shm0                     - X C Binding, shm extension               
i A libxcb1                         - X C Binding                               
i A menu                            - generates programs menu for all menu-aware

ip  libev3                          - high-performance event loop library modell
ip  libxcb-icccm1                   - utility libraries for X C Binding -- icccm
ip  libxcb-image0                   - utility libraries for X C Binding -- image
ip  libxcb-property1                - utility libraries for X C Binding -- prope
ip  libxcb-render-util0             - utility libraries for X C Binding -- rende
ip  libxcb-xinerama0                - X C Binding, xinerama extension           
ip  libxcb-xtest0                   - X C Binding, xtest extension             
ip  libxdg-basedir1                 - Implementation of the XDG Base Directory S


Note that all the new dependencies are now marked for deletion, but have not yet been deleted. The auto-install flag has already been removed though. Running
Code: Select all
aptitude keep-all
at this stage would remove the pending purge, and leave them marked as manually installed. To trigger the actual purge you would need to run
Code: Select all
aptitude install
(with no package).


You ran "aptitude install awesome" but never looked to see if awesome was marked as auto installed. Of course the dependencies that are automatically installed are not marked as manually installed. Those that are installed with "aptitude install package" are marked as manually installed. If you run "aptitude install libcairo2" libcairo2 will no longer be marked auto.
smallchange
 
Posts: 1740
Joined: 2009-05-04 15:56

Re: Debian package management

Postby bugsbunny » 2011-02-20 14:17

Those that are installed with "aptitude install package" are marked as manually installed. If you run "aptitude install libcairo2" libcairo2 will no longer be marked auto.


That is incorrect. Running a simple install will not change the autoinstall flag. Proof follows:
Code: Select all
apt-show-versions -a libcairo2
libcairo2 1.10.2-1.1 install ok installed
libcairo2 1.8.10-6   testing      debian.lcs.mit.edu
libcairo2 1.10.2-1.1 experimental mozilla.debian.net
libcairo2 1.10.2-2   unstable     debian.lcs.mit.edu
libcairo2 1.10.2-2.1 unstable     hadret.rootnode.net
libcairo2/experimental uptodate 1.10.2-1.1

Code: Select all
aptitude search ^libcairo2$
i A libcairo2                       - The Cairo 2D vector graphics library     

Code: Select all
# aptitude install libcairo2=1.10.2-2.1
The following NEW packages will be installed:
  libegl1-mesa{a} [7.10-4] <+3,068 kB> (D: libcairo2, R: libegl1-mesa) 
  libxcb-dri2-0{a} [1.7-2] <+65.5 kB> (D: libegl1-mesa) 
  libxcb-xfixes0{a} [1.7-2] <+73.7 kB> (D: libegl1-mesa) 
The following packages will be upgraded:
  libcairo2 [1.10.2-1.1 -> 1.10.2-2.1] <+225 kB> 
The following packages are RECOMMENDED but will NOT be installed:
  libegl1-mesa-drivers (R: libegl1-mesa) 
1 packages upgraded, 3 newly installed, 0 to remove and 1 not upgraded.

Code: Select all
apt-show-versions -a libcairo2
libcairo2 1.10.2-2.1 install ok installed
libcairo2 1.8.10-6   testing      debian.lcs.mit.edu
libcairo2 1.10.2-1.1 experimental mozilla.debian.net
libcairo2 1.10.2-2   unstable     debian.lcs.mit.edu
libcairo2 1.10.2-2.1 unstable     hadret.rootnode.net
libcairo2/unstable uptodate 1.10.2-2.1

Code: Select all
aptitude search ^libcairo2$
i A libcairo2                       - The Cairo 2D vector graphics library     

Running install with &m or +M suffixes changes the flag
(aptitude markauto/unmarkauto will also work, of course)
Code: Select all
# aptitude install "libcairo2&m"
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.
Do you want to continue? [Y/n/?]
localepurge: Disk space freed in /usr/share/locale: 0 KiB
localepurge: Disk space freed in /usr/share/man: 0 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 0 KiB
localepurge: Disk space freed in /usr/share/omf: 0 KiB

Total disk space freed by localepurge: 0 KiB

Code: Select all
aptitude search ^libcairo2$
i   libcairo2                       - The Cairo 2D vector graphics library     

Code: Select all
# aptitude install "libcairo2+M"
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.
Do you want to continue? [Y/n/?]
localepurge: Disk space freed in /usr/share/locale: 0 KiB
localepurge: Disk space freed in /usr/share/man: 0 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 0 KiB
localepurge: Disk space freed in /usr/share/omf: 0 KiB

Total disk space freed by localepurge: 0 KiB

Code: Select all
aptitude search ^libcairo2$
i A libcairo2                       - The Cairo 2D vector graphics library     


Running install by itself does nothing
Code: Select all
# aptitude install libcairo2
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.
Do you want to continue? [Y/n/?]
localepurge: Disk space freed in /usr/share/locale: 0 KiB
localepurge: Disk space freed in /usr/share/man: 0 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 0 KiB
localepurge: Disk space freed in /usr/share/omf: 0 KiB

Total disk space freed by localepurge: 0 KiB

Code: Select all
aptitude search ^libcairo2$
i A libcairo2                       - The Cairo 2D vector graphics library     
User avatar
bugsbunny
 
Posts: 5355
Joined: 2008-07-06 17:04

Re: Debian package management

Postby emariz » 2011-02-20 16:12

I use Aptitude exclusively and I had never run Apt-Get in this system, literally. I thought that you, by mistake, had installed Awesome with Apt-Get and then started working with Aptitude. Thus Aptitude ignored the dependency chain (which was not set by Apt-Get). However, I did a test and the dependencies installed by Apt-Get are indeed identified as such by Aptitude.
I think that bugsbunny's explanation is the most plausible.
emariz
 
Posts: 2637
Joined: 2008-10-17 07:59

Re: Debian package management

Postby smallchange » 2011-02-20 16:36

I stand corrected.
smallchange
 
Posts: 1740
Joined: 2009-05-04 15:56


Return to General Questions

Who is online

Users browsing this forum: No registered users and 8 guests

fashionable