Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

sudo zypper update

The following package updates will NOT be installed:
  amarok bluedevil choqok cln digikam digikam-lang GeoIP gstreamer-0_10 gstreamer-0_10-plugin-gnomevfs gstreamer-0_10-plugin-hal 
  gstreamer-0_10-plugins-base gstreamer-0_10-plugins-good gstreamer-0_10-plugins-good-lang k3b kaffeine kipi-plugins kipi-plugins-acquireimage 
  ksshaskpass ktorrent ktorrent-lang liba52-0 libavcodec52 libavformat52 libavutil50 libbluedevil1 libcares2 libGeoIP1 libgstapp-0_10-0 
  libgstinterfaces-0_10-0 libgstreamer-0_10-0 libgstreamer-0_10-0-32bit libidn libidn-32bit libktorrent3 libktorrent3-lang liblash1 liblzma5 libnetcdf4 
  libshout3 libssh2-1 libswscale0 libtag-extras1 libupnp6 libva1 libvlc5 libwavpack1 libx264-115 libxine1 libxine1-gnome-vfs libxine1-pulse linphone 
      mjpegtools netcdf NetworkManager-kde4-libs NetworkManager-openvpn-kde4 NetworkManager-pptp-kde4 NetworkManager-vpnc-kde4 openmpi oxygen-gtk 
  python-cairo python-gobject python-gobject-cairo python-gtk python-numpy python-qt4 python-simplejson python-sip shared-desktop-ontologies skanlite 
  sox taglib xz 

The following packages are going to be upgraded:
  dbus-1 dbus-1-32bit dbus-1-devel google-chrome-stable gstreamer-0_10-buzztard libgstapp-0_10-0-32bit libvlc5 libvlccore4 libx264-116 libxine1-codecs 
  python-virtualbox virtualbox virtualbox-devel virtualbox-host-kmp-default virtualbox-qt vlc vlc-aout-pulse vlc-gnome vlc-noX vlc-qt 

First off, why is zypper telling me about updates I need, then saying they won't be installed? Also, below it says ...packages will be UPGRADED. Is there a difference between those terms?

I ask because zypper accepts both update and upgrade flags.

share|improve this question

3 Answers 3

up vote 2 down vote accepted

I'm not familiar with Zypper, so take this answer with a grain of salt. I am familiar with APT, which Zypper draws some inspiration from; I may have missed important differences between the two.

As far as I can tell, zypper update tries to pull in the latest version of each package. But it does this in a relatively meek way: only more recent versions of already-installed packages from the same repository are considered for installation. zypper update doesn't install new packages, remove existing packages, or install a new package version from a different repository.

zypper dist-upgrade is more aggressive. It tries to bring your system in synch with what the repositories offer: after zypper dist-upgrade, you should have the same package versions as if you installed from scratch from the repositories as they are now.

share|improve this answer
    
Thanks for bringing up the dist-upgrade. It also removes all packages not in the repositories specified. –  MaxMackie Aug 12 '11 at 0:21
1  
@MaxMackie Yes, it sync yours installed packages with the enabled repos. This means it can update, remove, but also downgrade package. @Gilles You talk about dist-upgrade which is an another command than running update and this command return use the terms update and upgrade. –  Loïc GRENON Aug 12 '11 at 15:27

http://financialsoft.about.com/od/softwaretitle1/f/upgradevupdate.htm may answers to your question

For me, an upgrade is when the major version is incremented and an update when it's the minor version.

e.g. :

  • Gnome 2.32 -> Gnome 3.0 : Upgrade
  • Gnome 3.0 -> Gnome 3.2 : Update
share|improve this answer
    
Thanks this does make sense. However, do you know why zypper gives me packages that WON'T be installed? –  MaxMackie Aug 11 '11 at 20:18
    
I don't know zypper but it have many results on Google, like this or again this. Looks like you may have conflicting repositories. –  Loïc GRENON Aug 11 '11 at 22:32
1  
That is not a common distinction between “update” and “upgrade”. The two terms are often synonymous, but they may have different meanings in specific contexts. In the context of zypper, update and upgrade do have a different meaning, but that's not it. –  Gilles Aug 11 '11 at 23:38

If your repositories are compatible you can use zypper dup. Default repositories + community repositories (KDE 47, Tumbleweed, etc.) work ok with it. But as Gilles mentioned, it can make problems if latest version of packages in repositories are not compatible with latest version of their dependencies.

I noticed that with 11.4 repositories are quite compatible, which was not the case in previos verions when zypper dup could be painfull experiance.

My suggestion would be: zypper up for everyday updates. zypper dup weekly, or once in two weeks.

EDIT:

man pages for zypper up:

Update installed packages with newer versions, where possible. This command will not update packages which would require change of package vendor unless the vendor is specified in /etc/zypp/vendors.d, or which would require manual resolution of problems with dependencies. Such non-installable updates will then be listed in separate section of the summary as "The following package updates will NOT be installed:". To update individual packages, specify one or more package names. You can use the '*' and '?' wildcard characters in the package names to specify multiple packages matching the pattern.

man pages for zypper dup:

Perform a distribution upgrade. This command applies the state of (specified) repositories onto the system; upgrades (or even downgrades) installed packages to versions found in repositories, removes packages that are no longer in the repositories and pose a dependency problem for the upgrade, handles package splits and renames, etc. If no repositories are specified via --from or --repo options, zypper will do the upgrade with all defined repositories. This can be a problem if the system contains conflicting repositories, like repositories for two different distribution releases. This often happens if one forgets to remove older release repository after adding a new one, say openSUSE 11.1 and openSUSE 11.2. To avoid the above trouble, you can specify the repositories from which to do the upgrade using the --from or --repo options. The difference between these two is that when --repo is used, zypper acts as if it knew only the specified repositories, while with --from zypper can eventually use also the rest of enabled repositories to satisfy package dependencies.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.