You are not logged in.

#1 2015-01-23 13:27:10

yodermk
Member
Registered: 2012-07-17
Posts: 86

[SOLVED] "/var exists in filesystem", no packages upgraded

Hi,

Just ran into this error now on the latest update. I get it from both dbus and mongodb.

Probably important: I created /var as a symlink to /data/var.  /data is the mountpoint. Ever since I installed this system 2 1/2 years ago, this has worked. Maybe the latest pacman update changed something?

Any thoughts on the best way around this?

Thanks!

Last edited by yodermk (2015-01-24 00:09:22)

Offline

#2 2015-01-23 13:31:27

WorMzy
Administrator
From: Scotland
Registered: 2010-06-16
Posts: 13,548
Website

Re: [SOLVED] "/var exists in filesystem", no packages upgraded

http://allanmcrae.com/2014/12/pacman-4-2-released/
(see Directory Symlink Handling)

Like Allan suggests, look into replacing your symlink with a bind mount.


Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD

Making lemonade from lemons since 2015.

Online

#3 2015-01-23 13:34:46

clfarron4
Member
From: London, UK
Registered: 2013-06-28
Posts: 2,174
Website

Re: [SOLVED] "/var exists in filesystem", no packages upgraded

From this:

Allan's blog wrote:

Directory Symlink Handling: Example time! Arch Linux has a /lib -> /usr/lib symlink. Previously, if pacman was installing a package and it found files in /lib, it would follow the symlink and install it in /usr/lib. However the filelist for that package still recorded the file in /lib. This caused heaps of difficulty in conflict resolving – primarily the need to resolve every path of all package files to look for conflicts. That was a stupid idea! So now if pacman sees a /lib directory in a package, it will detect a conflict with the symlink on the filesystem. If you were using this feature to install files elsewhere, you probably need to look into what a bind mount is! Note that this change requires us to correct the local package file list for any package installed using this mis-feature, so we bumped the database version. Upgrade using pacman-db-upgrade. Thanks to Andrew!

By that logic, before pacman 4.2, pacman would see your files in /var even though they were actually in /data/var. I'd assume that dbus and mongodb want to install stuff in /var, which by the above logic causes the conflict now.

EDIT: What WorMzy is all this in a nice couple of sentences.

Last edited by clfarron4 (2015-01-23 13:35:55)


Claire is fine.
Problems? I have dysgraphia, so clear and concise please.
My public GPG key for package signing
My x86_64 package repository

Offline

#4 2015-01-24 00:08:58

yodermk
Member
Registered: 2012-07-17
Posts: 86

Re: [SOLVED] "/var exists in filesystem", no packages upgraded

Bind mount FTW!

After I posted this and went to work, it actually occurred to me to switch to a bind mount.

Indeed that solved it. Thanks!

Offline

Board footer

Powered by FluxBB