Getting zypper to prompt on each package for dist upgrade

Good afternoon everyone,

I have a borked SLES system (accidental incompatible repo additions broke it) that I want to roll back to its proper service pack through zypper dup, but I want to be able to pick and choose which packages it installs or modifies during the upgrade.

Is this possible? I’m basically looking for the opposite of zypper dup -y.

Also, what is the point of zypper upgrade --dry-run except to see what packages will be changed or installed? What does the system actually do or verify during a dry run upgrade?

Thanks!
Ted

Hi
If you add some verbosity eg -vvv to the zypper command, it will show what is happening. You could also change the repo priorities (this should work in SP3).

From the above command, you could just provide the list of packages to upgrade/downgrade with a -f option.

If you disable the repo that broke the system, disable that and a zypper dup should roll things back.

[QUOTE=malcolmlewis;34236]Hi
If you add some verbosity eg -vvv to the zypper command, it will show what is happening. You could also change the repo priorities (this should work in SP3).

From the above command, you could just provide the list of packages to upgrade/downgrade with a -f option.

If you disable the repo that broke the system, disable that and a zypper dup should roll things back.[/QUOTE]

Thanks! My problem though is that I actually tried the rollback before, and it broke the system further because glibc was one of the packages updated, and glibc is required for virtually all system functions, including package installation.

So, what I would like to do is perform the full zypper dup but exclude glibc and see if that successfully rolls back the system.

Is it possible to exclude a single package from an upgrade like that?

Thanks,
Ted

[QUOTE=teds;34237]Thanks! My problem though is that I actually tried the rollback before, and it broke the system further because glibc was one of the packages updated, and glibc is required for virtually all system functions, including package installation.

So, what I would like to do is perform the full zypper dup but exclude glibc and see if that successfully rolls back the system.

Is it possible to exclude a single package from an upgrade like that?

Thanks,
Ted[/QUOTE]
Hi Ted
Probably not, you could try no-recommends or no-deps?

Is it a big list from the -vvv option? Else the other one is to try using YaST software management and select the version tab and select the version/repo and slowly work through the conflicts it pops up…

[QUOTE=malcolmlewis;34238]Hi Ted
Probably not, you could try no-recommends or no-deps?

Is it a big list from the -vvv option? Else the other one is to try using YaST software management and select the version tab and select the version/repo and slowly work through the conflicts it pops up…[/QUOTE]

zypper -v told me that v wasn’t a valid option, so I just did zypper dup --dry-run >> zypper.txt. The contents of the log are below:

Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Refreshing service 'nu_novell_com'.
Loading repository data...
Reading installed packages...
Computing distribution upgrade...

The following NEW packages are going to be installed:
  libiniparser0 libiniparser0-32bit samba-krb-printing samba-winbind samba-winbind-32bit srvadmin-cm srvadmin-nvme zlib 

The following packages are going to be REMOVED:
  crda glib2-tools glibc-extra gsettings-backend-dconf gstreamer gstreamer-plugins-base gstreamer-plugins-base-lang libdb-4_8 libenca0 libgcrypt20 libgio-fam libgstapp-1_0-0 libgstaudio-1_0-0 libgstpbutils-1_0-0 libgstreamer-1_0-0 libgstriff-1_0-0 libgsttag-1_0-0 libgstvideo-1_0-0 libnl3-200 libntfs-3g84 libopenobex2 libz1 ntfs-3g obex-data-server python-smbios smbios-utils-python srvadmin-rnasoap yum-dellsysid 

The following packages are going to be upgraded:
  aaa_base acl apparmor-docs apparmor-parser apparmor-profiles apparmor-utils augeas-lenses autofs bind-libs-32bit binutils ConsoleKit ConsoleKit-32bit ConsoleKit-x11 coreutils coreutils-lang cpio cpio-lang crash crash-sial cron cups cups-client cups-libs cups-libs-32bit curl deltarpm device-mapper device-mapper-32bit dhcpcd e2fsprogs elfutils ethtool evolution-data-server evolution-data-server-32bit evolution-data-server-lang file file-32bit foomatic-filters freetype2 freetype2-32bit ft2demos fuse gconf2 gconf2-32bit gconf2-lang giflib giflib-32bit glib2 glib2-lang glibc-32bit glibc-i18ndata glibc-locale-32bit gnome-main-menu gnome-main-menu-lang gnome-packagekit gnome-packagekit-lang gpg2 gpg2-lang gtk2 gtk2-32bit gtk2-lang gvfs gvfs-backends gvfs-fuse gvfs-lang hal hal-32bit inst-source-utils ipmitool iproute2 iptables irqbalance kbd kdump kernel-default kernel-default-base kpartx krb5 krb5-32bit ksh less libacl libacl-32bit libapparmor1 libasm1 libaugeas0 libblkid1 libblkid1-32bit libcanberra0 libcanberra0-32bit libcanberra-gtk libcanberra-gtk0 libcanberra-gtk0-32bit libcanberra-gtk-32bit libcmpiCppImpl0 libcom_err2 libcom_err2-32bit libcurl4 libcurl4-32bit libdrm libdrm-32bit libdw1 libebl1 libelf1 libext2fs2 libFLAC8 libFLAC8-32bit libfprint0 libfreebl3 libfreebl3-32bit libfuse2 libgcc43 libgcc43-32bit libgcc46 libgcc46-32bit libgcc_s1 libgcc_s1-32bit libgcrypt11 libgcrypt11-32bit libgio-2_0-0 libgio-2_0-0-32bit libglib-2_0-0 libglib-2_0-0-32bit libgmodule-2_0-0 libgmodule-2_0-0-32bit libgnutls26 libgnutls26-32bit libgobject-2_0-0 libgobject-2_0-0-32bit libgomp1 libgthread-2_0-0 libgthread-2_0-0-32bit libgtop libgtop-2_0-7 libgtop-lang libgvfscommon0 libHX13 libHX13-32bit libicu libjasper libksba libldap-2_4-2 libldap-2_4-2-32bit libldb1 libMagickCore1 libmpfr1 libmspack0 libmysqlclient_r15 libnl libopenssl0_9_8 libopenssl0_9_8-32bit libpackagekit-glib10 libpng12-0 libpng12-0-32bit libpython2_6-1_0 libpython2_6-1_0-32bit libqt4 libqt4-32bit libqt4-qt3support libqt4-qt3support-32bit libqt4-sql libqt4-sql-32bit libqt4-sql-mysql libqt4-x11 libqt4-x11-32bit librsvg librsvg-32bit libslab0 libslab-lang libsmbclient0 libsmbclient0-32bit libsmbios2 libsndfile libsndfile-32bit libsnmp15 libsoftokn3 libsoftokn3-32bit libsoup-2_4-1 libsoup-2_4-1-32bit libssh2-1 libstdc++43 libstdc++43-32bit libstdc++46 libstdc++46-32bit libstdc++6 libstdc++6-32bit libtalloc2 libtalloc2-32bit libtasn1 libtasn1-3 libtasn1-3-32bit libtdb1 libtdb1-32bit libtevent0 libtevent0-32bit libtiff3 libtiff3-32bit libtirpc1 libudev0 libudev0-32bit libuuid1 libuuid1-32bit libwbclient0 libwbclient0-32bit libwsman1 libxml2 libxml2-32bit libxml2-python libzypp limal-ca-mgm limal-ca-mgm-perl logrotate lvm2 mailx makedumpfile man-pages Mesa Mesa-32bit metacity metacity-lang microcode_ctl mkinitrd MozillaFirefox MozillaFirefox-branding-SLED MozillaFirefox-translations mozilla-nspr mozilla-nspr-32bit mozilla-nss mozilla-nss-32bit multipath-tools mutt net-tools nfs-client nfs-doc nfsidmap ntp OpenIPMI openldap2-client openslp openslp-32bit openslp-server openssh openssh-askpass openssl openwsman-client openwsman-server PackageKit PackageKit-lang parted parted-32bit pciutils pciutils-32bit perl perl-32bit perl-apparmor perl-base perl-doc perl-Module-Build perl-Net-DNS perl-Net-SSLeay perl-satsolver perl-Test-Simple PolicyKit PolicyKit-32bit PolicyKit-doc popt popt-32bit postfix procinfo procps puppet python python-base python-satsolver python-xml release-notes-sles rpcbind rpm rpm-32bit rpm-python rsh rsync ruby samba samba-32bit samba-client samba-client-32bit satsolver-tools sax2 sax2-gui sax2-ident sax2-libsax sax2-libsax-perl sax2-tools sblim-sfcb sblim-sfcc sed sg3_utils sgml-skel shared-mime-info sles-admin_en-pdf sles-deployment_en-pdf sles-installquick_en-pdf sles-manuals_en sles-release sles-release-DVD sles-security_en-pdf sles-storage_en-pdf sles-tuning_en-pdf smbios-utils-bin snmp-mibs srvadmin-all srvadmin-argtable2 srvadmin-base srvadmin-deng srvadmin-deng-snmp srvadmin-hapi srvadmin-idrac srvadmin-idracadm srvadmin-idrac-ivmcli srvadmin-idrac-snmp srvadmin-idrac-vmcli srvadmin-isvc srvadmin-isvc-snmp srvadmin-itunnelprovider srvadmin-jre srvadmin-omacore srvadmin-omacs srvadmin-omcommon srvadmin-omilcore srvadmin-ominst srvadmin-oslog srvadmin-rac4 srvadmin-rac4-populator srvadmin-rac5 srvadmin-racadm4 srvadmin-racadm5 srvadmin-rac-components srvadmin-racdrsc srvadmin-racsvc srvadmin-realssd srvadmin-server-cli srvadmin-server-snmp srvadmin-smcommon srvadmin-smweb srvadmin-standardAgent srvadmin-storage srvadmin-storage-cli srvadmin-storageservices srvadmin-storageservices-cli srvadmin-storageservices-snmp srvadmin-storage-snmp srvadmin-storelib srvadmin-storelib-sysfs srvadmin-sysfsutils srvadmin-tomcat srvadmin-webserver srvadmin-xmlsup sudo supportutils SuSEfirewall2 suseRegister sysconfig syslog-ng tcpdump tcsh telnet tightvnc timezone udev unzip util-linux util-linux-lang uuid-runtime wget xfsprogs xorg-x11 xorg-x11-driver-input xorg-x11-driver-video xorg-x11-libs xorg-x11-libs-32bit xorg-x11-libX11 xorg-x11-libX11-32bit xorg-x11-server xorg-x11-server-extra xorg-x11-xauth xorg-x11-Xvnc xscreensaver yast2 yast2-audit-laf yast2-bootloader yast2-ca-management yast2-http-server yast2-iscsi-client yast2-kdump yast2-ldap-client yast2-network yast2-ntp-client yast2-packager yast2-pkg-bindings yast2-printer yast2-schema yast2-slp-server yast2-update yast2-users zlib-32bit zypper zypper-log 

The following product is going to be upgraded:
  SUSE Linux Enterprise Server 11 SP3 

The following packages are going to be downgraded:
  glibc glibc-devel glibc-locale 

The following packages are going to change vendor:
libwsman1       
  SUSE LINUX Products GmbH, Nuernberg, Germany -> Dell Inc
openwsman-client
  SUSE LINUX Products GmbH, Nuernberg, Germany -> Dell Inc
openwsman-server
  SUSE LINUX Products GmbH, Nuernberg, Germany -> Dell Inc
sblim-sfcc      
  SUSE LINUX Products GmbH, Nuernberg, Germany -> Dell Inc


The following package needs additional customer contract to get support:
  libmysqlclient_r15 

The following packages are not supported by their vendor:
  gconf2-32bit libgcrypt11-32bit librsvg-32bit libsmbios2 libtiff3-32bit libwsman1 openwsman-client openwsman-server sblim-sfcc smbios-utils-bin srvadmin-all srvadmin-argtable2 srvadmin-base srvadmin-cm srvadmin-deng srvadmin-deng-snmp srvadmin-hapi srvadmin-idrac srvadmin-idracadm srvadmin-idrac-ivmcli srvadmin-idrac-snmp srvadmin-idrac-vmcli srvadmin-isvc srvadmin-isvc-snmp srvadmin-itunnelprovider srvadmin-jre srvadmin-nvme srvadmin-omacore srvadmin-omacs srvadmin-omcommon srvadmin-omilcore srvadmin-ominst srvadmin-oslog srvadmin-rac4 srvadmin-rac4-populator srvadmin-rac5 srvadmin-racadm4 srvadmin-racadm5 srvadmin-rac-components srvadmin-racdrsc srvadmin-racsvc srvadmin-realssd srvadmin-server-cli srvadmin-server-snmp srvadmin-smcommon srvadmin-smweb srvadmin-standardAgent srvadmin-storage srvadmin-storage-cli srvadmin-storageservices srvadmin-storageservices-cli srvadmin-storageservices-snmp srvadmin-storage-snmp srvadmin-storelib srvadmin-storelib-sysfs srvadmin-sysfsutils srvadmin-tomcat srvadmin-webserver srvadmin-xmlsup 

408 packages to upgrade, 3 to downgrade, 8 new, 28 to remove, 4  to change vendor.
Overall download size: 663.1 MiB. After the operation, additional 838.3 MiB will be used.
Continue? [y/n/? shows all options] (y): 

Thanks,
Ted

Hi
Try 2 or three v’s (just check the output from zypper --help to see the debug option)

Try using the zypper al etc to lock the ones you don’t want upgraded and see how that goes.