[Python-Dev] hard linking executables (original) (raw)

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