makefile - instalar - Diferencia en los detalles entre "make install" y "make altinstall"
makefile ubuntu (1)
¡Echemos un vistazo al Makefile generado!
Primero, el objetivo de instalación:
install: altinstall bininstall maninstall
Hace todo altinstall
hace altinstall
, junto con bininstall
y maninstall
Aquí está bininstall
, simplemente crea el python
y otros enlaces simbólicos.
# Install the interpreter by creating a symlink chain:
# $(PYTHON) -> python2 -> python$(VERSION))
# Also create equivalent chains for other installed files
bininstall: altbininstall
-if test -f $(DESTDIR)$(BINDIR)/$(PYTHON) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON); /
then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); /
else true; /
fi
(cd $(DESTDIR)$(BINDIR); $(LN) -s python2$(EXE) $(PYTHON))
-rm -f $(DESTDIR)$(BINDIR)/python2$(EXE)
(cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python2$(EXE))
... (More links created)
Y aquí está maninstall
, solo crea enlaces "no versionados" a las páginas de manual de python.
# Install the unversioned manual pages
maninstall: altmaninstall
-rm -f $(DESTDIR)$(MANDIR)/man1/python2.1
(cd $(DESTDIR)$(MANDIR)/man1; $(LN) -s python$(VERSION).1 python2.1)
-rm -f $(DESTDIR)$(MANDIR)/man1/python.1
(cd $(DESTDIR)$(MANDIR)/man1; $(LN) -s python2.1 python.1)
Tl; dr: altinstall
omite la creación del enlace de python
y los enlaces a las páginas de manual, la install
ocultará los binarios del sistema y las páginas de manual.
Aquí está mi caso:
Estoy usando Ubuntu 10.04. El Python predeterminado del sistema es v2.6.5, pero necesito Python v2.7. Así que descargué la fuente de python.org y traté de instalarla.
La primera vez que lo instalé, ejecuté:
cd Python2.7.4
./configure --prefix=/usr
make
su root
make install
Esto instala Python 2.7 en mi sistema, creará un enlace "python" en /usr/bin
vinculándolo a python2.7
también en /usr/bin
. Entonces cuando >python2.7
>python
, el sistema arrancará Python 2.7.4 para mí al igual que cuando >python2.7
.
Pero cuando instalo de esta manera:
cd Python2.7.4
./configure --prefix=/usr
make
su root
make altinstall
El enlace "python" en /usr/bin
todavía existe y enlaza con python2.6
que es la versión predeterminada del sistema. Por supuesto, puedo eliminarlo y crear un nuevo enlace de software que enlace a python2.7
.
Mi pregunta es: ¿cuál es la diferencia entre el comando "make install" y "make altinstall", a excepción del enlace en /usr/bin
?
Gracias de antemano.