首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >make install与make altinstall在细节上的区别

make install与make altinstall在细节上的区别
EN

Stack Overflow用户
提问于 2013-04-15 22:59:05
回答 2查看 81K关注 0票数 87

下面是我的案例:

我正在使用Ubuntu 10.04 (Lucid Lynx)。系统的默认Python是v2.6.5,但我需要PythonV2.7。所以我从python.org下载了源代码并尝试安装。

在我第一次安装它时,我运行:

代码语言:javascript
复制
cd Python2.7.4
./configure --prefix=/usr
make
su root
make install

这会将Python2.7安装到我的系统中。它将在/usr/bin中创建一个链接"python",也可以在/usr/bin中链接到python2.7。因此,当我输入>python时,系统将启动Python2.7.4,就像我输入>python2.7时一样。

但是当我以这种方式安装时:

代码语言:javascript
复制
cd Python2.7.4
./configure --prefix=/usr
make
su root
make altinstall

/usr/bin中的链接"python“仍然存在,并且链接到默认系统版本的python2.6。当然,我可以删除它并创建一个新的软链接链接到python2.7

除了/usr/bin中的链接,命令"make install“和"make altinstall”有什么区别

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-15 23:16:28

让我们来看看生成的Makefile!

首先,安装目标:

代码语言:javascript
复制
install:         altinstall bininstall maninstall

它与bininstallmaninstall一起完成altinstall所做的所有工作

下面是bininstall;它只创建python和其他符号链接。

代码语言:javascript
复制
# 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,它只是创建了指向Python手册页面的“未版本化”链接。

代码语言:javascript
复制
# 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)

altinstall跳过创建python链接和手册页链接,install将隐藏系统二进制文件和手册页。

票数 140
EN

Stack Overflow用户

发布于 2021-12-28 23:54:18

Altinstall将确保您机器上的默认python不会被触动。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16018463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档