Submitted by Locutus on Tue, 06/24/2014 - 03:40
Hello!
Playing around with "apt-show-versions" I found an odd discrepancy. Some of my Virtualmin servers show, after doing "apt-get clean" and "apt-get update" :
root@deimos:~# apt-show-versions | grep virtualmin-base virtualmin-base/virtualmin-precise uptodate 1.0-32ubuntu
and some show
root@taurus:~# apt-show-versions | grep virtualmin-base virtualmin-base/virtualmin-precise *manually* upgradeable from 1.0-32ubuntu to 1.0-33vm
Aptitude and Webmin itself though does not show any available updates for Virtualmin.
What's up with that? ;) I'm wondering, is there an update, or isn't there, and why do only some systems show the update?
Status:
Active
Comments
Submitted by andreychek on Tue, 06/24/2014 - 09:13 Comment #1
Howdy -- which Virtualmin version are those servers running, is it Pro or GPL?
Also, if you run "uname -a", do they each show the same kernel architecture? Or is one 64 bit and the other 32 bit?
Submitted by Locutus on Tue, 06/24/2014 - 09:32 Comment #2
I was wondering too if it's a Pro vs. GPL thing. But it doesn't seem to be.
One Pro installation is showing the "upgradeable to 1.0-33vm" line, while another Pro shows "uptodate 1.0-32ubuntu".
Conversely, one GPL shows "uptodate", while another GPL shows "upgradeable".
All of the installations are 64 bit, and show the exact same architecture:
Linux *** 3.2.0-64-generic #97-Ubuntu SMP Wed Jun 4 22:04:21 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
I'm stumped... Why would the alleged update be called "vm" and the other "ubuntu"? Maybe some misdetection of the OS?
Submitted by andreychek on Tue, 06/24/2014 - 09:44 Comment #3
Well, one thing of note is that virtualmin-base version 1.0-33 should actually only be available on Ubuntu 14.04.
I just verified that for Ubuntu 12.04 64 bit, only version 1.0-32 appears in that repository.
Is it possible version 1.0-33 was manually downloaded and installed onto your one server there?
Note that there's nothing necessary within virtualmin-base -- that's just a tool used to assist during the installation process. So you aren't actually missing out on anything.
The only difference between 1.0-32 and 1.0-33 are some changes added to support Ubuntu 14.04.
Submitted by Locutus on Tue, 06/24/2014 - 09:45 Comment #4
More info. I played a bit more with apt-show-versions. Here's an output from an installation which says "uptodate":
Here's one from an "upgradeable" installation:
I found the 1.0-33vm version in the file
/var/lib/apt/lists/software.virtualmin.com_ubuntu_dists_virtualmin-precise_main_binary-i386_Packages
.So it would seem that on that installation, apt-show-versions thinks that it's a 32-bit system and lists the packages from the wrong architecture file? Hmm, why would it do that...
Submitted by andreychek on Tue, 06/24/2014 - 09:53 Comment #5
Ah, actually, it's 1.0.35 that contains the changes for Ubuntu 14.04.
I'm not sure what's changed within 1.0.33, though I do see that it's in the 32 bit repository.
It might mean that you're using a 32 bit distro, with a 64 bit kernel.
What output does this show:
file /bin/ls
I suspect that'll say "ELF 32-bit" on your system containing virtualmin-base 1.0.33.
It's no problem to run a 64 bit kernel on a 32 bit system though.
Submitted by Locutus on Tue, 06/24/2014 - 10:21 Comment #6
I'm 100% positive that I'm only using 64-bit systems. As in, full systems, not just kernel. :) This is on an Ubuntu that I installed a few days ago:
Could this be a bug in apt-show-versions? Because neither apt-get nor aptitude or Webmin show the 1.0-33 version.
Submitted by Locutus on Tue, 06/24/2014 - 11:35 Comment #7
I just upgraded apt-show-versions to the latest available package. Even there the odd behaviour still occurs.
But I noticed something:
Is it correct that in Virtualmin's package files under
/var/lib/apt/lists
, the "Architecture:" lines for all the "virtualmin-base" packages in BOTH the i386 and amd64 files are given as "All"?Example:
Shouldn't that be "Architecture: i386" if that file is NOT supposed to be for amd64? I compared this against the regular Ubuntu package files, and they have "Architecture: i386" or "Architecture: amd64" in the respective files, when the files indeed are individual.
For a test, I changed the mentioned line in Virtualmin's i386 package to "Architecture: i386", and lo and behold, apt-show-versions behaves correctly.
See, I changed the entry like so:
and then apt-show-versions does this, on a system which had the issue before:
Submitted by Locutus on Mon, 06/30/2014 - 10:55 Comment #8
Heya! Any news about this? Could Joe maybe take a look at his package files, if my theory with the "Architecture: All" is correct?
I actually don't understand dpkg/apt well enought to know!
I believe this package should be Architecture: All, as it has no compiled code and I don't think any reliance on specific architecture features. It runs a postinstall script to configure a bunch of stuff, and that's pretty much all it does...so, I doubt it needs to be architecture specific.
So, the question remains why it's behaving oddly with the Architecture: All setting.
Also, it's rare that an update the virtualmin-base will do anything on an already installed system. We occasionally (like every two or three years) use it to make a change after install, but most of the time, the stuff that happens in virtualmin-base is only safe to do at fresh install time, so we don't run the postinstall script again on upgrades. So, it almost certainly doesn't matter whether you have the latest version...though it does matter if the latest version gets installed during a fresh OS install.
But, I would like to get the package right; whatever that means. I'll do some more readin on what Architecture: All does and what it's for. I assumed it was similar to noarch packages on RHEL/Fedora.