Skip to content

Linux install fails when $HOME is a root-owned symlink under /home (activation transaction I/O failed) #2306

Description

@BumaldaOverTheWater94

Summary

install fails on Linux when $HOME is a root-owned symlink under /home (for example /home/alice -> /local/home/alice, common on corporate/managed dev hosts):

error: failed to stage install candidate: activation transaction I/O failed

Cause

activation_posix_walk_path() only resolves trusted aliases when /tmp, /var or /home is itself a symlink (the #2175 fix). When /home is a real directory and the per-user entry /home/<user> is the root-owned symlink, the O_NOFOLLOW walk in activation_directory_secure() rejects it and reports the generic I/O error.

Repro

  • /home is a real root-owned dir, /home/alice is a root-owned symlink to /local/home/alice
  • HOME=/home/alice, v0.11.0
  • curl -fsSL .../install.sh | bash

Workaround

bash -s -- --dir "$(realpath ~/.local/bin)"

Suggested fix

On Linux, also resolve a root-owned symlink at /home/<name> when its target is a root- or user-owned directory. Arbitrary user-owned symlinks stay rejected.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions