run zypper dup in X or not?

I’m upgrading from 11.2 RC1 to the final release.

I searched here, but didn’t find much in the way of tutorials. This page was the best I found: Upgrade – openSUSE

That page indicates that I only need to run

zypper dup

Very simple, but is it complete?

Thinking it is not that simple, I put together my own list of steps and I’d like some feedback on whether all this is necessary. In particular, is it necessary to run zypper dup outside X? Are my steps too complex?

sudo -s
zypper lr --export backups/repos/foo.repo
zypper ref
zypper in zypper libzypp (nothing to do)
zypper dup -d
leave X
log in as root
init 3
zypper dup
init 5 && exit

Please comment on my steps. Thanks.

Also, when I initially ran zypper dup -d I got an error.

Retrieving package yast2-packager-webpin-2.18.12-1.1.x86_64 (1/145), 75.0 KiB (43.0 KiB unpacked)
Failed to mount cd:/// on /var/adm/mount/AP_0x00000001: Mounting media failed (mount: no medium found on /dev/sr0)

Abort, retry, ignore? [a/r/i/?] (a):

I solved that by going into yast and disabling the CD-based repository. How do you do this in zypper when the error message doesn’t tell you the name of the offending repository? That error could be very confusing to someone who didn’t realize that a CD-based repository would be responsible for this.

I run zypper dup all the time in X. I have no issues with it.

Once you are done with upgrading to the final release, you will need to reboot. Other than that, your steps look Ok. Just make sure to have the openSUSE 11.2 GM repos

Index of /distribution/11.2/repo/oss
Index of /distribution/11.2/repo/non-oss
Index of /update/11.2
Index of /suse/11.2

Those are the 4 basic ones you need. See this page for more info. Additional Package Repositories - openSUSE


Remove or disable the CD/DVD in your repo list

Here is my list of repos:
zypper lr -d

| Alias | Name | Enabled | Refresh | Priority | Type | URI | Service

–±------------------------------------±----------------------------±--------±--------±---------±-------±----------------------------------------------------------------±-------
1 | Packman | Packman | Yes | Yes | 90 | rpm-md | Index of /suse/11.2 |
2 | Videolan_VLC | Videolan VLC | No | No | 99 | rpm-md | Index of /pub/vlc/SuSE/11.2/ |
3 | http-download.opensuse.org-bd864a79 | Updates for openSUSE 11.2-0 | Yes | Yes | 99 | rpm-md | Index of /update/11.2 |
4 | openSUSE 11.2-0 | openSUSE 11.2-0 | No | No | 99 | yast2 | cd:/// |
5 | repo-debug | openSUSE-11.2-Debug | No | Yes | 99 | NONE | Index of /debug/distribution/11.2/repo/oss |
6 | repo-non-oss | openSUSE-11.2-Non-Oss | Yes | Yes | 120 | yast2 | Index of /distribution/11.2/repo/non-oss |
7 | repo-oss | openSUSE-11.2-Oss | Yes | Yes | 120 | yast2 | Index of /distribution/11.2/repo/oss |
8 | repo-source | openSUSE-11.2-Source | No | Yes | 99 | NONE | Index of /source/distribution/11.2/repo/oss |

With my limited openSUSE experience, I do not know if those repositories are OK for this small upgrade step (from RC1 to final).

And just for fun, I ran this command:

rpm -qa --queryformat '%{NAME}	Distribution: %{distribution}	Vendor: %{vendor}
 ' > installed-software.list.formatted

Here is a sample of the output. I was really surprised to see Factory listed here. Maybe it doesn’t mean what I think it means…

libselinux1 Distribution: openSUSE Factory Vendor: openSUSE
libnuma1 Distribution: openSUSE Factory Vendor: openSUSE
libnscd Distribution: openSUSE Factory Vendor: openSUSE
libaugeas0 Distribution: openSUSE Factory Vendor: openSUSE
mingetty Distribution: openSUSE Factory Vendor: openSUSE
libpth20 Distribution: openSUSE Factory Vendor: openSUSE
ncurses-utils Distribution: openSUSE Factory Vendor: openSUSE
expat Distribution: openSUSE Factory Vendor: openSUSE
pptp Distribution: openSUSE Factory Vendor: openSUSE
lsof Distribution: openSUSE Factory Vendor: openSUSE
libmtp8 Distribution: openSUSE Factory Vendor: openSUSE
perl-Net-Daemon Distribution: openSUSE Factory Vendor: openSUSE
perl-gettext Distribution: openSUSE Factory Vendor: openSUSE
iproute2 Distribution: openSUSE Factory Vendor: openSUSE
libFLAC8 Distribution: openSUSE Factory Vendor: openSUSE
ifplugd Distribution: openSUSE Factory Vendor: openSUSE

My question is how to do that without using YaST? What’s the CLI way? Thanks

zypper lr
zypper rr <repo_number> (or repo_name)

For reference, here is the output from the dup command. In particular, I find the fact that 52 will be downgraded and 25 will change vendor to be a bit troubling/confusing. A quick search of the forums seems to indicate that this is normal.

However, the upgrade summary is different from when zypper dup -d is run. See bottom for details on the differences.

sudo zypper dup
Retrieving repository 'Packman' metadata [done]                               
Building repository 'Packman' cache [done]                                    
Loading repository data...                                                    
Reading installed packages...                                                 
Computing distribution upgrade...                                             

The following NEW packages are going to be installed:
  glitz gutenprint java-1_6_0-openjdk-plugin k3b-lang ktorrent-lang libblas3 
  libgfortran44 liblapack3 liblash1 libmtp-hal libtheoradec1 libtheoraenc1   
  libx264-79 preload preload-kmp-desktop                                     

The following package is going to be REMOVED:
  lash-libs                                  

The following packages are going to be upgraded:
[The text that you have entered is too long (21600 characters). Please shorten it to 15000 characters long.]

The following packages are going to be downgraded:
  bluez cifs-mount cpp44 gcc44 gcc44-gij kopete-protocol-facebook libbluetooth3 
  libcdda_interface0 libcdda_paranoia0 libdvdread4 libgcc44 libgcc44-32bit      
  libgcj44 libgcj44-jar libgomp44 libgomp44-32bit libmtp8 libsmbclient0         
  libstdc++44 libstdc++44-32bit libstorage libtalloc1 libtalloc1-32bit libtdb1  
  libtdb1-32bit libv4l libwbclient0 libwbclient0-32bit OpenOffice_org-math      
  OpenOffice_org-pyuno OpenOffice_org-ure OpenOffice_org-writer                 
  openSUSE-release perl-WWW-Curl python-numpy python-simplejson samba           
  samba-32bit samba-client samba-client-32bit splashy splashy-branding-openSUSE 
  update-test-affects-package-manager update-test-interactive                   
  update-test-optional update-test-reboot-needed update-test-security           
  yast2-control-center yast2-control-center-qt yast2-packager                   
  yast2-packager-webpin yast2-sound                                             

The following packages are going to be reinstalled:
  libgphoto2 OpenOffice_org-kde4 OpenOffice_org-libs-core
  OpenOffice_org-mailmerge

The following product is going to be reinstalled:
  openSUSE

The following packages are going to change vendor:
  cairo               openSUSE -> http://packman.links2linux.de
  ffmpeg              Packman -> http://packman.links2linux.de
  k3b                 openSUSE -> http://packman.links2linux.de
  ktorrent            openSUSE -> http://packman.links2linux.de
  liba52-0            Packman -> http://packman.links2linux.de
  libavcodec52        Packman -> http://packman.links2linux.de
  libavdevice52       Packman -> http://packman.links2linux.de
  libavformat52       Packman -> http://packman.links2linux.de
  libavutil50         Packman -> http://packman.links2linux.de
  libcdda_interface0  openSUSE -> http://packman.links2linux.de
  libcdda_paranoia0   openSUSE -> http://packman.links2linux.de
  libdvdread4         openSUSE -> http://packman.links2linux.de
  libenca0            openSUSE -> openSUSE-Education
  libffmpeg0          Packman -> http://packman.links2linux.de
  libgstapp-0_10-0    openSUSE -> http://packman.links2linux.de
  libmtp8             openSUSE -> http://packman.links2linux.de
  libpostproc51       Packman -> http://packman.links2linux.de
  libspeex1           Packman -> http://packman.links2linux.de
  libswscale0         Packman -> http://packman.links2linux.de
  libtheora0          openSUSE -> Packman
  libv4l              openSUSE -> http://packman.links2linux.de
  perl-WWW-Curl       openSUSE -> http://packman.links2linux.de
  python-numpy        openSUSE -> http://packman.links2linux.de
  python-simplejson   openSUSE -> http://packman.links2linux.de
  xine-ui             Packman -> http://packman.links2linux.de

1119 packages to upgrade, 52 to downgrade, 15 new, 4 to reinstall, 1 to remove,
25 to change vendor.

Overall download size: 807.1 MiB. After the operation, additional 52.4 MiB will
be used.
Continue? [y/n/?] (y):

Previously, I ran this. Notice the dramatically different report:

sudo zypper dup -d

88 packages to upgrade, 47 to downgrade, 7 new, 3 to reinstall, 1 to remove,
17 to change vendor.

I did it this way (in X), but I did have an issue. I had two text files open on an NFS share. Immediately after running zypper dup, KWrite told me the files had been deleted. I suspected the NFS share was no longer mounted, but when KWrite gave me the option to “save as”, the NFS path was available. So I saved there under a new name (the path showed no existing files, however).
After rebooting, the old files were back and the new file I saved last was missing. So there apparently was a problem with the NFS mount.

Furthermore, when I tried to close Firefox after running “dup”, the exit dialog was not readable. (It usually asks me if I want to save the tabs). The dialog was tiny, and when I expanded it, it was blank.

Those are minor issues, but since I had to reboot anyway, I think I may run zypper dup outside X next time I’m in a similar situation. (Although having a web browser available to ask questions during the process sure is handy…)

Looks good. Go for it.

One thing I’d do first though. Download the DVD iso and burn it.

From what I saw, It looks good. So have a lot of fun.


Just noticed one other weird thing. After restarting, the updater applets gives me this notification: p, li { white-space: pre-wrap; } DBus error : Unable to get transaction id from packagekit.

How do I resolve that?

I finished the upgrade, but I will go ahead and download/burn a DVD just so I have a Live version handy in case I have problems with my computer later.

Thanks!