[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: multiarch - please do not force users to change a running system!



On Sat, Dec 08, 2012 at 02:17:55PM +0100, Hans-J. Ullrich wrote:
> Thanks for the answer, Andrei,
> but something is still not completely clear.
> > 
> > When you purge a package (any package) all its files should be removed
> > by dpkg, but sometimes packages generate files on install and don't
> > clean up on removal[1]. This is usually a bug which should be reported.
> > If it's severe enough it should be fixed before the release of wheezy.
> > 
> 
> Yes, I know that. But removing (and purge ia32-libs) before change to 
> multiarch will also remove all 32-bit-apps. But an upgrade will install a 
> newer package of ia32-libs + stay the 32-bit-apps + install 32-bit-libs from 
> i386. What happens to the old ones from the former ia32-libs? Will they be 
> overwritten? Newly linked? Purged? 

I went:

dpkg --add-architecture i386
apt-get update
apt-get -u dist-upgrade

Saw this:
The following NEW packages will be installed:
  acl esound-common freeglut3:i386 gcc-4.7-base:i386 gtk2-engines:i386 gtk2-engines-pixbuf:i386 ia32-libs-gtk-i386:i386 ia32-libs-i386:i386 lesstif2:i386 libacl1:i386 libaio1:i386 libart-2.0-2:i386 libasound2:i386
  libasyncns0:i386 libatk1.0-0:i386 libattr1:i386 libaudio2:i386 libaudiofile1:i386 libavahi-client3:i386 libavahi-common-data:i386 libavahi-common3:i386 libbsd0:i386 libc6:i386 libcaca0:i386 libcairo2:i386
  libcanberra-gtk-module:i386 libcanberra-gtk0:i386 libcanberra0:i386 libcap2:i386 libcomerr2:i386 libcups2:i386 libcurl3:i386 libdatrie1:i386 libdb5.1:i386 libdbus-1-3:i386 libdbus-glib-1-2:i386 libdirectfb-1.2-9:i386
  libdrm-intel1:i386 libdrm-nouveau1a:i386 libdrm-radeon1:i386 libdrm2:i386 libedit2:i386 libesd0:i386 libexif12:i386 libexpat1:i386 libffi5:i386 libflac8:i386 libfltk1.1:i386 libfontconfig1:i386 libfreetype6:i386
  libgail-common:i386 libgail18:i386 libgcc1:i386 libgconf-2-4:i386 libgconf2-4:i386 libgcrypt11:i386 libgd2-xpm:i386 libgdbm3:i386 libgdk-pixbuf2.0-0:i386 libgl1-mesa-dri:i386 libgl1-mesa-glx:i386 libglapi-mesa:i386
  libglib2.0-0:i386 libglu1-mesa:i386 libgnutls26:i386 libgpg-error0:i386 libgphoto2-2:i386 libgphoto2-port0:i386 libgssapi-krb5-2:i386 libgtk2.0-0:i386 libice6:i386 libidn11:i386 libieee1284-3:i386 libjack-jackd2-0:i386
  libjasper1:i386 libjbig0:i386 libjpeg62:i386 libjpeg8:i386 libjson0:i386 libk5crypto3:i386 libkeyutils1:i386 libkrb5-3:i386 libkrb5support0:i386 liblcms1:i386 libldap-2.4-2:i386 libltdl7:i386 liblua5.1-0:i386 liblzma5:i386
  liblzo2-2:i386 libmng1:i386 libmpg123-0:i386 libncursesw5:i386 libnspr4:i386 libnspr4-0d:i386 libnss3:i386 libnss3-1d:i386 libodbc1:i386 libogg0:i386 libopenal1:i386 libp11-kit0:i386 libpam0g:i386 libpango1.0-0:i386
  libpciaccess0:i386 libpcre3:i386 libpixman-1-0:i386 libpng12-0:i386 libpopt0:i386 libpulse0:i386 libqt4-dbus:i386 libqt4-network:i386 libqt4-script:i386 libqt4-test:i386 libqt4-xml:i386 libqtcore4:i386 libqtgui4:i386
  librtmp0:i386 libsamplerate0:i386 libsane:i386 libsane-common libsasl2-2:i386 libsdl1.2debian:i386 libselinux1:i386 libsigc++-2.0-0c2a:i386 libslang2:i386 libsm6:i386 libsndfile1:i386 libsqlite3-0:i386 libssh2-1:i386
  libssl1.0.0:i386 libstdc++5:i386 libstdc++6:i386 libsvga1:i386 libsysfs2:i386 libtasn1-3:i386 libtdb1:i386 libthai0:i386 libtiff4:i386 libtinfo5:i386 libts-0.0-0:i386 libusb-0.1-4:i386 libuuid1:i386 libv4l-0:i386
  libv4lconvert0:i386 libvorbis0a:i386 libvorbisenc2:i386 libvorbisfile3:i386 libwrap0:i386 libx11-6:i386 libx11-xcb1:i386 libx86-1:i386 libxau6:i386 libxaw7:i386 libxcb-glx0:i386 libxcb-render-util0:i386 libxcb-render0:i386
  libxcb-shm0:i386 libxcb1:i386 libxcomposite1:i386 libxcursor1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxft2:i386 libxi6:i386 libxinerama1:i386 libxml2:i386 libxmu6:i386 libxmuu1:i386 libxp6:i386
  libxpm4:i386 libxrandr2:i386 libxrender1:i386 libxslt1.1:i386 libxss1:i386 libxt6:i386 libxtst6:i386 libxv1:i386 libxxf86vm1:i386 odbcinst1debian2:i386 xaw3dg:i386 zlib1g:i386
The following packages will be upgraded:
  ia32-libs ia32-libs-gtk libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libglu1-mesa libxml2 libxml2-utils python-libxml2 unzip

Felt that was a bit too many packages (182 new i386 packages) to be installed so:

apt-get purge ia32-libs ia32-libs-gtk

For you this will get rid of more packages than you may want. Make a note.
For me skype is not installed as a deb so that's safe.

ldd `which skype`

Gives me a list of libs it uses, including missing, which led to:

apt-get install libqtgui4:i386 libc6-i686:i386
apt-get install libqt4-xml:i386
apt-get install libqt4-dbus:i386 libqt4-network:i386
apt-get install libxv1:i386
apt-get install libxss1:i386

This gives me 39 i386 packages. A -lot- less.

The thing with ia32-libs ia32-libs-gtk is that they contain lots of packages
within them and debian does not know which you /really/ need. Installing
the 182 just keeps things safe. Note the upgrade of ia32-libs ia32-libs-gtk. These
are 130 bytes in size installed. Down from 500MB (from memory). Effectively
the old libs get uninstalled.

It's a little bit of potential work if you want an optimised install but not
hard.

If you don't care you just upgrade and let Debian take care of it.

All in all, no biggie.

-- 
  "A search of his car uncovered pornography, a homemade sex aid, women's 
  stockings and a Jack Russell terrier."
    - http://www.dailytelegraph.com.au/news/wacky/indeed/story-e6frev20-1111118083480


Reply to: