programing

"make install"과 "make altinstall"의 세부 사항 차이

procenter 2021. 1. 14. 23:19
반응형

"make install"과 "make altinstall"의 세부 사항 차이


제 경우는 다음과 같습니다.

내가 사용하고 우분투 10.04 (맑은 살쾡이를). 시스템의 기본 Python은 v2.6.5이지만 Python v2.7이 필요합니다. 그래서 python.org에서 소스를 다운로드하여 설치하려고했습니다.

처음 설치했을 때 다음을 실행했습니다.

cd Python2.7.4
./configure --prefix=/usr
make
su root
make install

이것은 내 시스템에 Python 2.7을 설치합니다. 이 글은 다음 링크, "파이썬"을 만듭니다 /usr/bin에 링크 python2.7로도 /usr/bin. 그래서 내가 타자했을 때 >python, 시스템은 내가 타자했을 때처럼 나를 위해 파이썬 2.7.4를 시작할 것 >python2.7입니다.

하지만 이렇게 설치하면 :

cd Python2.7.4
./configure --prefix=/usr
make
su root
make altinstall

"python"링크는 /usr/bin여전히 존재하며 python2.6기본 시스템 버전으로 연결됩니다 . 물론이를 제거하고에 연결되는 새 소프트 링크를 만들 수 있습니다 python2.7.

"make install"과 "make altinstall"명령의 차이점은 무엇입니까 /usr/bin?


생성 된 Makefile을 살펴 보겠습니다!

먼저 설치 대상 :

install:         altinstall bininstall maninstall

그것은 모든 것을 않습니다 altinstall와 함께 수행 bininstall하고maninstall

여기 있습니다 bininstall; python및 기타 심볼릭 링크 만 생성합니다 .

# 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)

그리고 여기 maninstall에 파이썬 매뉴얼 페이지에 대한 "버전이없는"링크가 생성됩니다.

# 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)

TLDR : 링크 및 매뉴얼 페이지 링크 altinstall생성을 건너 뛰고 시스템 바이너리 및 매뉴얼 페이지를 숨 깁니다.pythoninstall

참조 URL : https://stackoverflow.com/questions/16018463/difference-in-details-between-make-install-and-make-altinstall

반응형