Search code examples
ubuntumagentoddevecryptfs

ecryptfs: DDev Magento linux quick start setup failing on "file name too long"


Ubuntu details:

DISTRIB_ID=Ubuntu

DISTRIB_RELEASE=20.04

DISTRIB_CODENAME=focal

DISTRIB_DESCRIPTION="Ubuntu 20.04.6 LTS"

I am trying to install magento on my linux machine. I am using ddev quick start for magento . https://ddev.readthedocs.io/en/stable/users/quickstart/#magento-2

I am getting the following error for this command:

ZipArchive::extractTo(/var/www/html/vendor/composer/90d2dd07/dev/tests/acce
ptance/tests/_data/adobe-base-image-long-name-image-long-name-image-long-na
me-image-long-name-image-long-name-image-long-name-image-long-name-image-lo
ng-name-image-long-name.jpg): Failed to open stream: File name too long

Error

I think it is due to char limitation in linux. Is there any way i can bypass it? I cant run the command in the root folder, as we cant run ddev with sudo.


Solution

  • As @rfay has pointed out, this was due to my home folder being encrypted using ecryptfs, leading to filename encryption hitting the limit. As a workaround, I have-

    created a separate directory outside of my home directory and set the appropriate permissions to allow ddev to access it. Here's a step-by-step guide:

    Create a new directory: Choose a location outside your home directory, for example, /opt/magento.

    sudo mkdir /opt/magento
    

    Set ownership and permissions: Assign ownership of the directory to my user account and set the appropriate permissions.

    sudo chown -R yourusername:yourusername /opt/magento
    sudo chmod -R 755 /opt/magento
    

    Then i just used this folder for magento.