[Python-Dev] hard linking executables

Guido van Rossum guido at python.org
Wed Jul 27 22:06:09 CEST 2011


On Tue, Jul 26, 2011 at 3:32 PM, Barry Warsaw <barry at python.org> wrote:
> On Jul 27, 2011, at 12:19 AM, Antoine Pitrou wrote:
>
>>Ok, apparently the decision to make hard links for executables dates at
>>least back to:
>
> That still doesn't explain *why* hardlinks were originally chosen instead of
> symlinks.  In the absence of any other compelling argument against it, I think
> they should all consistently be symlinks.  I don't see any Ubuntu or Debian
> (where /usr/bin/python3 -> python3.2) bug reports indicating any problems, and
> I haven't experienced any issues with it personally.

I ought to remember why because I remember I was involved. (And I have
a feeling that the change Antoine dug up was just a refactoring,
moving an existing hard-link target to a different file. Because in my
memory the hard link was my idea and I implemented it. But that change
is Neil Schemenauer's.)

But I can't. :-(

The best I can come up with is that when it's a hard link, you can
replace either "python" or "python2.1" with another version without
disturbing the other. And I think it has something to do with
altinstall vs. install. So it would mean that after first installing
2.1 (so python and python2.1 are the same file), and then
alt-installing 2.1.1, the original 2.1 binary is still accessible as
"python". But I don't know why you'd want that.

-- 
--Guido van Rossum (python.org/~guido)


More information about the Python-Dev mailing list