openSUSE Leap 15 Update Error

When i performed an update today, 12 updates were available. One of them failed.

Briefly a message appeared saying something like: Cannot upack file, directory already exists of the same name…

Or some such wordage as the message displayed very briefly.

Where do i find this error message again so that i can give readers more informative information about the error and therefore seek help to correct the problem?

It will probably be in either “/var/log/zypp/history” or “/var/log/zypper.log”

Try journalctl. If not having already rebooted since the failure occurred. I’d start with

journalctl -b | grep ailed

If you have rebooted one time, append -1 following -b. If twice, append -2, etc. Or, just do journalctl -b, but you might see a flood of old errors if you do. Using the -A and -B grep switches, results will include the designated number of preceding and following lines for each instance of the search string.

The Update procedure uses the file “/var/log/zypp/history” to log all the messages (Informational, Warning, Error) which occur while the Updates are being executed.

Thank you,

Using the command journalctl -b | grep ailed gave me what i needed.

Heres the error message:

Apr 05 07:24:49 devilsbackbone [RPM][18409]: 1 elements failed, 0 scripts failed
Apr 05 07:24:49 devilsbackbone plasmashell[1861]: PK error: "Subprocess failed. Error: RPM failed: error: unpacking of archive failed on file /usr/lib/python3.6/site-packages/configobj-5.0.6-py3.6.egg-info: cpio: File from package already exists as a directory in system
error: python3-configobj-5.0.6-lp150.1.3.noarch: install failed
" type: “package-failed-to-install”
Apr 05 07:24:50 devilsbackbone PackageKit[17585]: update-packages transaction /4_daeecbde from uid 0 finished with failed after 12414ms
Apr 05 07:24:50 devilsbackbone plasmashell[1861]: plasma-pk-updates: Transaction “/4_daeecbde” finished with status “failed” in 12 seconds
Apr 05 07:25:11 devilsbackbone [RPM][19007]: 1 elements failed, 0 scripts failed

Can someone please help me resolve this failure… if of course it requires resolving.

@akwe-xavante:

The package “python3-configobj” isn’t installed on this system and, therefore, I can’t check the issue you’ve raised – you can however, confirm that the file “/usr/lib/python3.6/site-packages/configobj-5.0.6-py3.6.egg-info” is part of that package by means of the following RPM query:

rpm --query --whatprovides /usr/lib/python3.6/site-packages/configobj-5.0.6-py3.6.egg-info

Once you’ve confirmed that the file “/usr/lib/python3.6/site-packages/configobj-5.0.6-py3.6.egg-info” is provided by the package “python3-configobj”, you could try, with the user “root”, the following CLI command:

zypper install --force python3-configobj

The Command:
rpm --query --whatprovides /usr/lib/python3.6/site-packages/configobj-5.0.6-py3.6.egg-info

Returns the line:

file /usr/lib/python3.6/site-packages/configobj-5.0.6-py3.6.egg-info is not owned by any package

A have just had a thought… Could this be a problem caused by my manual installation of certbot a few weeks ago, i think it installed a package called python at the same time?

The file: /usr/lib/python3.6/site-packages/configobj-5.0.6-py3.6.egg-info does exist and has a date of 28th Jan 2019 which is when i manually installed certbot

Will forcing the update break certbot?

If it does break certbot can i assume that i could download the current version of certbot and then install it and carry on?

On Fri, 05 Apr 2019 10:46:03 +0000, akwe-xavante wrote:

> The file:
> /usr/lib/python3.6/site-packages/configobj-5.0.6-py3.6.egg-info does
> exist and has a date of 28th Jan 2019 which is when i manually installed
> certbot
>
> Will forcing the update break certbot?

It shouldn’t - I use certbot here, and it works fine.

Jim


Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

On Fri, 05 Apr 2019 12:36:03 +0000, akwe-xavante wrote:

> If it does break certbot can i assume that i could download the current
> version of certbot and then install it and carry on?

Yes, that should work fine.


Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

Please take a look at the Leap 15.0 Python 3 package “python3-certbot” (ACME client): <https://software.opensuse.org/package/python3-certbot&gt;.

  • The current Leap 15.0 version is 0.30.2 but, there’s the 0.32.0 version in the OpenStack Master repository and the Python Backports repository.

[HR][/HR]Strange: a search for “certbot” from the openSUSE Download web-interface only reveals the Python packages – a CLI Zypper search however, also reveals:


 > zypper search certbot
Loading repository data...
Reading installed packages...

S | Name                             | Summary                                        | Type
--+----------------------------------+------------------------------------------------+-----------
  | certbot                          | Let's Encrypt client                           | package
  | certbot                          | Let's Encrypt client                           | srcpackage
  | certbot-doc                      | Documentation for Certbot                      | package
  | letshelp-certbot                 | Simple help script for Let's Encrypt Project   | package
.
.
.
 > 
 > zypper info --requires certbot
Loading repository data...
Reading installed packages...


Information for package certbot:
--------------------------------
Repository     : Haupt-Repository (OSS)
Name           : certbot
Version        : 0.24.0-lp150.1.4
Arch           : noarch
Vendor         : openSUSE
Installed Size : 112.7 KiB
Installed      : No
Status         : not installed
Source package : certbot-0.24.0-lp150.1.4.src
Summary        : Let's Encrypt client
Description    :
    Certbot (previously, the Let's Encrypt client) is a client that
    fetches and deploys SSL/TLS certificates for webservers.
    Certbot was developed by EFF and others as a client for Let's Encrypt
    and was previously known as “the official Let's Encrypt client” or
    “the Let's Encrypt Python client”. Certbot will also work with any
    other CAs that support the ACME protocol.

    Certbot can automatically configure a webserver to start serving
    over HTTPS immediately. For Apache, it can also optionally automate
    security tasks such as tuning ciphersuites and enabling important
    security features such as HTTP-to-HTTPS redirects, OCSP stapling,
    HSTS, and upgrade-insecure-requests.
Requires       : [20]
    /usr/bin/python
    python-six
    cron
    ca-certificates
    python-mock
    python-pytz
    python-configobj
    python-zope.interface
    python-parsedatetime
    python-zope.component
    python2-pyRFC3339
    python-configargparse
    python2-requests >= 2.10
    python-acme > 0.22.1
    python-certbot = 0.24.0
    python-cryptography >= 0.8
    python-dialog >= 3.2.2rc1
    python-psutil >= 2.2.1
    python-pyOpenSSL >= 17.0
    python-setuptools >= 1.0

 > 
 > python --version
Python 2.7.14
 > 

Meaning: Python 2 is the standard version for Leap 15.0 but, “/etc/alternatives/” doesn’t list any Python alternatives …
And:


 > zypper info python python2 python3 
Loading repository data...
Reading installed packages...


Information for package python:
-------------------------------
Repository     : Hauptaktualisierungs-Repository
Name           : python
Version        : 2.7.14-lp150.6.6.1
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 1.4 MiB
Installed      : Yes
Status         : up-to-date
Source package : python-2.7.14-lp150.6.6.1.src
Summary        : Python Interpreter
Description    :
    Python is an interpreted, object-oriented programming language, and is
    often compared to Tcl, Perl, Scheme, or Java.  You can find an overview
    of Python in the documentation and tutorials included in the python-doc
    (HTML) or python-doc-pdf (PDF) packages.

    If you want to install third party modules using distutils, you need to
    install python-devel package.


package 'python2' not found.

Information for package python3:
--------------------------------
Repository     : Hauptaktualisierungs-Repository
Name           : python3
Version        : 3.6.5-lp150.2.6.1
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 125.9 KiB
Installed      : Yes
Status         : up-to-date
Source package : python3-3.6.5-lp150.2.6.1.src
Summary        : Python 3 Interpreter
Description    :
    Python 3 is modern interpreted, object-oriented programming language,
    often compared to Tcl, Perl, Scheme, or Java.  You can find an overview
    of Python in the documentation and tutorials included in the python3-doc
    package.

    This package supplies rich command line features provided by readline,
    and sqlite3 support for the interpreter core, thus forming a so called
    "extended" runtime.
    Installing "python3" is sufficient for the vast majority of usecases.
    In addition, recommended packages provide UI toolkit support (python3-curses,
    python3-tk), legacy UNIX database bindings (python3-dbm), and the IDLE
    development environment (python3-idle).

 > 
 > which -a python python2 python3
/usr/bin/python
/usr/bin/python2
/usr/bin/python3
 > 
 > l /usr/bin/python /usr/bin/python2 /usr/bin/python3
lrwxrwxrwx 1 root root 9  6. Feb 19:04 /usr/bin/python -> python2.7*
lrwxrwxrwx 1 root root 9  6. Feb 19:04 /usr/bin/python2 -> python2.7*
lrwxrwxrwx 1 root root 9 31. Jan 17:36 /usr/bin/python3 -> python3.6*
 > 

Meaning that, “Python 3” is also, usually, installed on Leap 15.0 systems …


 > rpm --query --whatprovides /usr/bin/python3.6
python3-base-3.6.5-lp150.2.6.1.x86_64
 > 
 > rpm --query --whatrequires /usr/bin/python3.6
python3-base-3.6.5-lp150.2.6.1.x86_64
 > 
 > rpm --query --whatrequires python3-base
gdb-8.2-lp150.2.6.1.x86_64
python3-3.6.5-lp150.2.6.1.x86_64
python3-pyparsing-2.2.0-lp150.1.12.noarch
python3-zypp-plugin-0.6.3-lp150.1.2.noarch
apparmor-utils-2.12.2-lp150.6.11.2.noarch
cmake-3.10.2-lp150.2.3.1.x86_64
 > 

Please work out what’s installed on your system and, check which version of Certbot you need.

I’m continually amazed by the number of useful packages available in the openSUSE repositories.

  • Meaning, also, I’m convinced that, there’s, usually, absolutely no need whatsoever to attempt to install a “needed package” from anywhere else …

I had to update certbot to continue with “Let’s Encrypt” SSL certification of a number of websites. It isn’t possible “At the Moment” to upgrade certbot using yast. OpenSUSE Leap 15’s latest certbot version is 24 and i had to upgrade to version 30.2 as a minimum. There are now other versions of certbot avialable too, all of which are not available via yast.

An attempt to force the installation of Python has failed with the following response:

devilsbackbone:~ # zypper install --force python3-configobj
Loading repository data…
Reading installed packages…
Forcing installation of ‘python3-configobj-5.0.6-lp150.1.3.noarch’ from repository ‘openSUSE-Leap-15.0-Oss’.
Resolving package dependencies…

The following NEW package is going to be installed:
python3-configobj

1 new package to install.
Overall download size: 0 B. Already cached: 61.5 KiB. After the operation, additional 339.1 KiB will be used.
Continue? [y/n/…? shows all options] (y): y
In cache python3-configobj-5.0.6-lp150.1.3.noarch.rpm (1/1), 61.5 KiB (339.1 KiB unpacked)
Checking for file conflicts: …[done]
(1/1) Installing: python3-configobj-5.0.6-lp150.1.3.noarch …[error]
Installation of python3-configobj-5.0.6-lp150.1.3.noarch failed:
Error: Subprocess failed. Error: RPM failed: error: unpacking of archive failed on file /usr/lib/python3.6/site-packages/configobj-5.0.6-py3.6.egg-info: cpio: File from package already exists as a directory in system
error: python3-configobj-5.0.6-lp150.1.3.noarch: install failed

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

Should i rename this directory and try again?

I have tried the one click install here: <https://software.opensuse.org/package/python3-certbot>. and this flags up a whole list of issues to overcome to choose from before i can continue. No idea which of the several choices presented would be the correct ones to select.

May have to ignore the failed installation via yast and update/upgrade certbot and python as required manually as needed unless someone can sugest another way forward?

Thank you to those that have contributed thus far.

Finally found it in the openSUSE repositories: <https://software.opensuse.org/package/certbot&gt;.
Yes, taking a look at the Leap 15.0 official release <Welcome - openSUSE Build Service; and then, at the EFF source <https://certbot.eff.org/&gt;, it seems that, we’re “quite a bit behind the times” …

There are however, some private community packages for more recent versions.

  • Please contact the owners of these private builds before you attempt to use one of them.

Exactly: you have to take a look at the directory ‘/usr/lib/python3.6/site-packages/’, paying particular attention to the protections and ownerships, to work out why there’s an “egg-info” directory with the same name as the “egg-info” file which needs to be installed …