summary: my questions are about + using Debian packaging and its tools (notably apt-*, aptitude) + fixing problems with same
*not* - fixing broken functionality - LMDE - LMDE repositories If there is a better place to ask end-user-level questions about Debian packaging and its tools (vs dev- or builder-level), please point me to it. Meanwhile, I'm interested in ways to make `aptitude` see as unbroken packages that appear (notably, to `apt-get`) to be in fact unbroken. One such way is proposed below (purging and re-installing `aptitude`), but it appears problematic (more below). details: First, thanks to Darac Marjal for his detailed explanation of how to use the ncurses-based `aptitude` TUI to fix the following: original post @ http://lists.debian.org/debian-user/2011/08/msg01104.html Tom Roche Thu, 18 Aug 2011 23:20:43 -0400 > me@it:~$ aptitude search ?broken > > iB acl - Access control list utilities > > iB coreutils - GNU core utilities > > iB cups - Common UNIX Printing System(tm) - server > > iB libacl1-dev - Access control list static libraries and headers > > iB libarchive1 - Single library to read/write tar, cpio, pax, zip, > > iso9660, etc. > > iB libgnomevfs2-0 - GNOME Virtual File System (runtime libraries) > > iB libisofs6 - library to create ISO9660 images > > iB ntfs-3g - read-write NTFS driver for FUSE > > iB rsync - fast remote file copy program (like rcp) > > iB samba - SMB/CIFS file, print, and login server for Unix However, given the 5 facts below, ISTM the problem is with `aptitude`, not the packages. Scott Ferguson Fri, 19 Aug 2011 14:28:44 +1000 >> I understand that you're trying to illustrate what you think is not >> working (ie. shown by Aptitude as broken.... but what is it that *is >> not* working? *Aptitude* appears (to me--ICBW) to be not working properly, based on the following 5 facts: F1 My LMDE box is not broken functionally (aside from last.fm audio, which I'm assuming is unrelated to the above): only some packages are, and only in aptitude (more on that below). Specifically, none of the functionality that I would expect to be broken from the above appears to be broken. Not that I've done exhaustive testing, but certainly all the coreutils that I've used appear to work. F2 I appreciate that, at some fundamental level, LMDE != Debian. However, Marc Shapiro Thu, 18 Aug 2011 23:00:40 -0700 > Linux Mint Debian Edition is based directly on Testing, with a rolling > release. [LMDE is *not* the same as Mint's] regular version which is > based on Ubuntu with discrete releases. So LMDE does not use Ubuntu's > 'instant potato mix', but it does mash its own. They *claim* to be > 100% compatible with Debian and NOT compatible with Ubuntu. See also http://blog.linuxmint.com/?p=1527 (but note that LMDE 64-bit, which I'm using, has arrived since then). In order of increasing Debianosity, Ubuntu < LMDE < Debian. F3 LMDE has its own repositories. > where is your /etc/apt/sources.list is pointing to? me@it:~$ sudo cat /etc/apt/sources.list > deb http://packages.linuxmint.com/ debian main upstream import > deb http://debian.linuxmint.com/latest testing main contrib non-free > deb http://security.debian.org/ testing/updates main contrib non-free > deb http://www.debian-multimedia.org testing main non-free > If it is pointing to Debian repositories LMDE may not be as 100% > compatible as they say. That's entirely possible, and if my package-breakage problem appears to be due to problems with one or more of these repositories I will certainly raise that issue with the LMDE folks. However, at this point, the problem appears to be limited to my `aptitude`: * There is no functional correlate to the aptitude package breakage (see fact 1). * The packages appear OK in `apt-get` (see next fact). F4 My `apt-get` shows no breakage, but my `aptitude` does: me@it:~$ sudo apt-get check | wc -l > 3 me@it:~$ sudo apt-get check > Reading package lists... Done > Building dependency tree > Reading state information... Done me@it:~$ aptitude search ?broken > iB acl - Access control list utilities > iB coreutils - GNU core utilities > iB cups - Common UNIX Printing System(tm) - server > iB libacl1-dev - Access control list static libraries and headers > iB libarchive1 - Single library to read/write tar, cpio, pax, zip, > iso9660, etc. > iB libgnomevfs2-0 - GNOME Virtual File System (runtime libraries) > iB libisofs6 - library to create ISO9660 images > iB ntfs-3g - read-write NTFS driver for FUSE > iB rsync - fast remote file copy program (like rcp) > iB samba - SMB/CIFS file, print, and login server for Unix F5 While setting up this box, I first used `apt-get` then `aptitude`. FWIW I've been doing this since I started using Ubuntu (few years/ releases), based on my reading of http://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_literal_apt_get_literal_literal_apt_cache_literal_vs_literal_aptitude_literal > The apt-get and apt-cache commands are the most basic package management tool. ... > * apt-get is most suitable for the major system upgrade between releases, etc. ... > The aptitude command is the most versatile package management tool. > * aptitude offers the fullscreen interactive text user interface. > * aptitude offers the commandline user interface, too. > * aptitude is most suitable for the daily interactive package > management such as inspecting installed packages and searching > available packages. So what I do is * Immediately before install, copy my sources.list and sources.list.d/ to some ${PACKAGE_BACKUP_DIR}, and `dpkg --get-selections > ${PACKAGE_BACKUP_FILE}` (in that dir). * Immediately after install, use apt-get for the initial `update` and `dist-upgrade`. * Try to restore my previous packages with (while sudo) dpkg --set-selections < ${PACKAGE_BACKUP_FILE} apt-get install -y dselect dselect update apt-get dselect-upgrade After that's cleaned up, * `aptitude update` * Until the next upgrade (using LMDE, I'm hoping will be awhile :-) "for the daily interactive package management," I use aptitude. This approach has worked well for me ... until, I suspect, now. >From those 5 facts, I'm drawing 2 conclusions: C1 My `aptitude` db is corrupt, while my `apt-get` db is not. This seems pretty clear from F4, no? C2 This was caused by my using `aptitude` and `apt-get` "together." I'm less sure of this conclusion, since I've used the approach detailed in F5 several times without difficulty. However, I've read in several places that one should not use `aptitude` and `apt-get` together. Am I missing something? If not, my main question is, Q1 How to fix my `aptitude`? Because I still prefer to use it for "daily interactive package management." My initial impulse was Q2 Can I fix it by purging and re-installing `aptitude`? I'm guessing that would remove its currently-bad database and re-generate it. Am I missing something? Presuming Q2 is correct (and feel free to deny that, and to propose better alternatives), and presuming one doesn't want to try that with `aptitude` itself, I tried me@it:~$ sudo apt-get -s purge aptitude ... > The following packages will be REMOVED: > aptitude* mintsystem* tasksel* tasksel-data* wajig* > 0 upgraded, 0 newly installed, 5 to remove and 1 not upgraded. > Purg wajig [2.2] > Purg tasksel [2.89] [tasksel-data:amd64 ] > Purg tasksel-data [2.89] > Purg mintsystem [7.7.9] > Purg aptitude [0.6.3-4] me@it:~$ aptitude -F "%p" search "?depends(aptitude)" > aptitude-dbg > aptitude-gtk > mintsystem > pkgsync > tasksel > wajig raises a third question: Q3 How to purge and re-install only `aptitude`? TIA, Tom Roche <tom_ro...@pobox.com> -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87r54e7olk....@pobox.com