Large number of missing files after upgrade to NC 11.0.1

Just when you think you’ve got it finished…

Here’s the deal:

I upgraded my shared hosting NC install to 11.0.1. It was a pain, I ended up clearing out the wwwroot/nextcloud/ directory and installing from scratch using the shared hosting installer, and then copying in the old config.php and data/ directories.

Even then the automatic update (from 11.0.0 to 11.0.1) half-failed, requiring me to manually rm -rf a lot of directories because it wasn’t able to do so itself. Still, it completed successfully, after a lot of “rm-rf nextcloud/random/directory … ok now retry update … ok now rm-rf /nextcloud/some/other/random/directory … retry update” back and forth.

Now there’s a somewhat bigger problem… having gotten it all seemingly working, it says the integrity check failed and there are a VERY LARGE number of missing files… obviously I am not particularly interested in moving these in by hand…

Any ideas?

Technical information

The following list covers which files have failed the integrity check. Please read
the previous linked documentation to learn more about the errors and how to fix
them.

Results

  • core
    • FILE_MISSING
      • 3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/DatabaseListError.php
      • 3rdparty/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ServiceException.php
      • core/doc/admin/_images/antivirus-logging.png
      • core/doc/admin/_images/code-integrity-notification.png
      • core/doc/admin/_images/dropbox-1.png
      • core/doc/admin/_images/encryption14.png
      • core/doc/admin/_images/google-drive12.png
      • core/doc/admin/_images/ldap-fetched-avatar.png
      • core/doc/admin/_images/ldap-wizard-1-server.png
      • core/doc/admin/_images/smb.png
      • core/doc/admin/_images/smtp-config-php-sendmail.png
      • core/doc/admin/_images/users-config.png
  • files_trashbin
    • FILE_MISSING
      • l10n/eu.json
      • l10n/id.js
      • l10n/id.json
      • l10n/ko.json
      • l10n/zh_TW.json
  • files_pdfviewer
    • FILE_MISSING
      • vendor/pdfjs/web/cmaps/78-RKSJ-H.bcmap
      • vendor/pdfjs/web/cmaps/78-RKSJ-V.bcmap
      • vendor/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap
      • vendor/pdfjs/web/cmaps/Add-H.bcmap
      • vendor/pdfjs/web/cmaps/Add-RKSJ-H.bcmap
      • vendor/pdfjs/web/cmaps/Adobe-GB1-2.bcmap
      • vendor/pdfjs/web/cmaps/Adobe-GB1-3.bcmap
      • vendor/pdfjs/web/cmaps/Adobe-GB1-4.bcmap

(list continues for about 400 more items)

I’m not sure what exactly went wrong during your update. It’s likely that some of the processes didn’t finish properly. Not sure if we can implement some checks for that @LukasReschke @nickvergessen

You can download the code of the current version from https://nextcloud.com/changelog/#latest11, there you will find all the files of code that are missing. You have to place them manually (via FTP).

For larger setups, the lack of control in shared hosting environments becomes a real problem. If you plan to use Nextcloud on such a scale it is often better to move to a vserver.

Where it was running into problems, it couldn’t be due to permissions, could it?

That’s an interesting question. It definitely SEEMED to be running into problems with permissions during the upgrade process … I had to go in manually and delete files/folders that the updater couldn’t delete.

HOWEVER… this is a shared hosting provider. I have SSH access to the server but not root access. So if there is a permissions issue, I guess it would have been that certain files were writable by me but not by the Webserver-Daemon-User, which is running the update application?

That in turn begs the question… how did the files get that way, given that I installed everything via the (web-based) installer… how could files end up not writeable for the webserver-daemon-user when they were created by that user in the first place?

And, looking at it more practically… how would I go about fixing these permissions manually?

@tflidd OK. Regarding placing the files manually, can I just download the current version and replace-in-place the whole install, then copy in the config.php and data directories?

I really, really don’t want to manually select out and copy in 400 different files and directories, I simply don’t have time.

Yes you can just replace all of them, you don’t have to pick them by hand.