"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
생성을 건너 뛰고 시스템 바이너리 및 매뉴얼 페이지를 숨 깁니다.python
install
'programing' 카테고리의 다른 글
shared_mutex 향상에 해당하는 C ++ 11 (0) | 2021.01.14 |
---|---|
Vim에서 b와 B의 차이점은 무엇입니까? (0) | 2021.01.14 |
Xcode 5 오류 CertUIFramework.axbundle (0) | 2021.01.14 |
고유 한 장치 식별 (0) | 2021.01.14 |
WebSocket 서버는 여러 수신 연결 요청을 어떻게 처리합니까? (0) | 2021.01.14 |