Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

Debian package management

If none of the specific sub-forums seem right for your thread, ask here.
Post Reply
Message
Author
sahko
Posts: 8
Joined: 2011-02-11 08:20

Debian package management

#1 Post by sahko »

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.

User avatar
mslinux
Posts: 942
Joined: 2010-12-24 05:14

Re: Debian package management

#2 Post by mslinux »

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
║▌║│█║▌│█│║▌║█║▌│█│║▌║│

sahko
Posts: 8
Joined: 2011-02-11 08:20

Re: Debian package management

#3 Post by sahko »

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?"

User avatar
craigevil
Posts: 5391
Joined: 2006-09-17 03:17
Location: heaven
Has thanked: 28 times
Been thanked: 39 times

Re: Debian package management

#4 Post by craigevil »

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.
Raspberry PI 400 Distro: Raspberry Pi OS Base: Debian Sid Kernel: 5.15.69-v8+ aarch64 DE: MATE Ram 4GB
Debian - "If you can't apt install something, it isn't useful or doesn't exist"
My Giant Sources.list

User avatar
dilberts_left_nut
Administrator
Administrator
Posts: 5346
Joined: 2009-10-05 07:54
Location: enzed
Has thanked: 12 times
Been thanked: 66 times

Re: Debian package management

#5 Post by dilberts_left_nut »

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...

sahko
Posts: 8
Joined: 2011-02-11 08:20

Re: Debian package management

#6 Post by sahko »

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.

smallchange
Posts: 1740
Joined: 2009-05-04 15:56
Been thanked: 1 time

Re: Debian package management

#7 Post by smallchange »

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.

sahko
Posts: 8
Joined: 2011-02-11 08:20

Re: Debian package management

#8 Post by sahko »

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?

User avatar
bugsbunny
Posts: 5354
Joined: 2008-07-06 17:04
Been thanked: 1 time

Re: Debian package management

#9 Post by bugsbunny »

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).

sahko
Posts: 8
Joined: 2011-02-11 08:20

Re: Debian package management

#10 Post by sahko »

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.

smallchange
Posts: 1740
Joined: 2009-05-04 15:56
Been thanked: 1 time

Re: Debian package management

#11 Post by smallchange »

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.

User avatar
bugsbunny
Posts: 5354
Joined: 2008-07-06 17:04
Been thanked: 1 time

Re: Debian package management

#12 Post by bugsbunny »

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      

emariz
Posts: 2901
Joined: 2008-10-17 07:59

Re: Debian package management

#13 Post by emariz »

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.

smallchange
Posts: 1740
Joined: 2009-05-04 15:56
Been thanked: 1 time

Re: Debian package management

#14 Post by smallchange »

I stand corrected.

Post Reply