Skip to content

tail --follow=name accepts symlink replacements #10328

@sylvestre

Description

@sylvestre

Component

tail

Description

When using --follow=name, uutils tail accepts a file that has been replaced with a symlink and continues tailing the symlink target. GNU tail refuses to follow a path that becomes a symlink, printing "has been replaced with an untailable symbolic link".

Test / Reproduction Steps

cd /tmp && rm -rf tail_test && mkdir tail_test && cd tail_test
echo "original" > testfile

# GNU tail
timeout 2 tail --follow=name testfile &
sleep 0.3
rm testfile && ln -s /etc/passwd testfile
sleep 0.3
# Output: "has been replaced with an untailable symbolic link"

# uutils tail
rm -f testfile && echo "original" > testfile
timeout 2 tail --follow=name testfile &
sleep 0.3
rm testfile && ln -s /etc/passwd testfile
sleep 0.3
# Output: "'testfile' has appeared;  following new file" + contents of /etc/passwd

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions