Installing meteor on Ubuntu live USB with persistence

I’m using ubuntu live from usb with persistence to see if its a viable development platform. I can install fonts, vscode, browsers/extensions, different desktop environments and persistence seems to work flawlessly for everything.

But installing meteor fails.


cookie@sl500:~$ curl https://install.meteor.com/ | sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7786    0  7786    0     0   6030      0 --:--:--  0:00:01 --:--:--  6026
Downloading Meteor distribution
######################################################################## 100.0%
tar: .meteor/packages/standard-minifier-css/.1.5.2.rssrie.trjqb++os+web.browser+web.browser.legacy+web.cordova/plugin.minifyStdCSS.os/npm/node_modules/meteor/babel-compiler/node_modules/@babel/core/node_modules/.bin: Directory renamed before its status could be extracted

then another 180~ lines of the same for every directory.

tar: .meteor/packages/babel-compiler: Directory renamed before its status could be extracted
tar: Exiting with failure status due to previous errors

Does anyone have any ideas what might be wrong?

Is there a .deb package?

What version of Ubuntu? Apparently this may be an issue with the OS using overlayfs instead of aufs, and Ubuntu has switched between them, so switching to newer version that uses aufs might fix your issue.


1 Like

Hey,
Ubuntu 18.10 is what I’m using. Yeah I did stumble onto a few things about docker failing to tar properly due to overlayfs. I mostly ignored them. I thought I would check to see what file system runs on this live usb and turns out casper does use overlay as well.

cookie@ubuntu:~$ df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs  1.9G  4.0K  1.9G   1% /dev
tmpfs          tmpfs     392M  2.0M  390M   1% /run
/dev/sdc1      fuseblk    60G   35G   26G  58% /isodevice
/dev/loop0     iso9660   1.9G  1.9G     0 100% /cdrom
/dev/loop1     squashfs  1.8G  1.8G     0 100% /rofs
/cow           overlay    32G  6.1G   24G  21% /
...etc etc

So the issue is with tar commands on the overlayfs storage driver that casper uses for persistence on Ubuntu live usb. It seems like there are some issues with permissions in overlayfs. For anyone following in my footsteps, here’s what I did to get past this.

Opened https://install.meteor.com and read through the script. It basically checks to see what operating system you have, downloads the appropriate tar file, copies “launch-meteor” script to “/usr/local/meteor” so you can use meteor command in terminal.

Operating system options are:
os.osx.x86_64
os.linux.x86_32
os.linux.x86_64

The last one is what you want for 64 bit linux.
And the current package version is 1.8.0.2 so replace the bits below if you have a different environment and download this:
https://static-meteor.netdna-ssl.com/packages-bootstrap/1.8.0.2/meteor-bootstrap-os.linux.x86_64.tar.gz

extract the .meteor directory to your home folder, mine is “/home/cookie”. For this i just used the default archive manager in ubuntu 18.10 which is “file roller” (renamed as archive manager in 18.10).

Next copy the script launch-meteor from:

/home/cookie/.meteor/packages/meteor-tool/.1.8.0_2.1om3lwx.sy8++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/scripts/admin/launch-meteor

your directory structure may be different but copy this to /usr/local/bin and rename it meteor, I had to open the directory as root using a gui file manager (I’m using Nemo) but using sudo cp “source” “destination” might work too.

Now running my project with meteor it threw some errors which apparently happen sometimes when you copy a meteor project from windows:

cookie@ubuntu:~/Documents/project$ meteor
/home/cookie/.meteor/packages/meteor-tool/.1.8.0_2.1om3lwx.sy8++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/meteor-promise/promise_server.js:218
      throw error;
      ^

Error: EISDIR: illegal operation on a directory, unlink '/home/cookie/Documents/project/.meteor/local/dev_bundle'
    at Object.fs.unlinkSync (fs.js:1061:18)
    at exports.makeLink (/tools/cli/dev-bundle-links.js:20:8)
    at exports.ReleaseFile.ensureDevBundleLink (/tools/project-context.js:1538:7)
    at exports.ReleaseFile._readFile (/tools/project-context.js:1472:10)
    at new exports.ReleaseFile (/tools/project-context.js:1422:8)
    at /tools/cli/main.js:932:22

Deleting the directories in .meteor in my project that start with dev_bundle seemed to allow me to run meteor commands. I then got some more errors about missing packages which told me I should run meteor npm install --save @babel/runtime or similar but before i could do that I had to run sudo apt install git -y. After installing them I could get my app to run using the meteor command.
I know this is a dirty workaround that could probably be solved some other way but its working for me.

1 Like