Am I using 'zypper' correctly?

5,912

Solution 1

I've solved it.

Turns out I had removed the "Automatically Update" option in YAST for my repositories. Setting to update automatically solved the problem and I successfully ran "sudo zypper update"

Solution 2

This is all about repositories. When you update using zypper it looks at all your enabled repositories. But some software packages appear in more than one repository. Let's say for example you have both the "Suse update" and the "Packman" repositories active. Then zypper might find an update for say gstreamer in both of them. So what's it to do? Well, because it "knows" which repository your currently installed gstreamer came from (say Suse update), it will only install an update from that Suse repository. But before the update it will tell you that it also found a gstreamer update in the Packman repository, but won't be using it. This is why you get a list of things which "will not be installed".

So it's not really a problem, it's just that there are multiple versions of the same packages sitting in different repositories. In the above example, if you disabled the Packman repository you'd find the "will not be installed" message would disappear.

To keep everything tidy, you should keep the number of active repositories to the absolute minimum you need.

Share:
5,912

Related videos on Youtube

n0pe
Author by

n0pe

Updated on September 18, 2022

Comments

  • n0pe
    n0pe over 1 year

    I'm a relatively new OpenSuse user, coming from several years with Ubuntu. In Ubuntu, the update manager would pop up every now and then and let me know when I had stuff to install. If I manually wanted to check for updates I'd sudo apt-get update. In OpenSuse, I don't get a GUI updater, so whenever I remember, I do sudo zypper update and I never get much. However, today I get this:

    Loading repository data...
    Reading installed packages...
    
    The following package updates will NOT be installed:
      amarok choqok curl digikam digikam-lang DirectFB DirectFB-Mesa ecj ecj-bootstrap gstreamer-0_10 gstreamer-0_10-fluendo-mp3 
      jpackage-utils k3b kipi-plugins kipi-plugins-acquireimage ksshaskpass ktorrent ladspa lame libcurl4 libcurl4-32bit libdca0 
      libdvbpsi6 libfaac0 libfaad2 libgstreamer-0_10-0 libgstreamer-0_10-0-32bit libktorrent3 liblash1 libmad0 libmp3lame0 libmpeg2-0 
      libopencore-amrnb0 libopencore-amrwb0 libopencv2_2 libproxy1 libqjson0 libSDL-1_2-0 libSDL_image-1_2-0 libshout3 libtag-extras1 
      libtheora0 libtwolame0 libvlc5 libvlccore4 libxine1 libxine1-gnome-vfs libxine1-pulse libxvidcore4 oxygen-gtk python-numpy 
      shared-desktop-ontologies skanlite virtualbox-guest-kmp-desktop virtualbox-guest-tools virtualbox-guest-x11 vlc vlc-aout-pulse 
      vlc-gnome vlc-noX vlc-qt xalan-j2 xerces-j2 xerces-j2-xml-apis 
    
    Nothing to do.
    

    So do these packages need updating or no? Why would zypper even tell me about them if they didn't need my attention? I ask because I've tried building stuff from source and I get errors on gcc and stuff like that (when I know I have them installed -- this might be a whole other problem entirely).

    Also, is there a way to make updates semi-automatic like in Ubuntu?

    EDIT: I've looked in the software manager (through YAST) and I can't see any package updates.

    • n0pe
      n0pe about 13 years
      I've never manually done anything like that (so I'm assuming everything is like when it was originally installed). I'm using KDE.
    • bwDraco
      bwDraco about 13 years
      Under KDE, there should be an automatic update notifier, Kupdateapplet, enabled by default. I have never seen this behavior from zypper before. What version of openSUSE are you running?
    • n0pe
      n0pe about 13 years
      11.4 I believe, the most recent one.
  • Master of Celebration
    Master of Celebration over 9 years
    can one use a different update repository (e.g. packman) for packages originated from SuSE-Repos? How can I force updating them?