如何在Amazon Linux AMI上安装使用"make"命令来进行EC2的相关操作?

7

我是Amazon EC2的新用户。

我想在EC2上编译pptpd软件包,但是收到以下错误:

[root@ip-10-112-xxx-xxx /]# /var/tmp/rpm-tmp.2eILT0: line 58: /usr/bin/make: No such file or directory

我搜索了整个根目录树,但是找不到make命令:

[root@ip-10-112-59-187 /]# find . -name "make"
./etc/mail/make

我想知道Amazon Linux AMI上是否预装了make?如果没有,怎样安装呢?


这与EC2无关 - 这是Linux问题。 - Roman Newaza
1
EC2最初应该包含“make”,为什么不呢?我认为这不是一个纯粹的Linux问题。 - ciphor
EC2只是一个服务,你可以自己运行任何东西。 - Roman Newaza
我们正在谈论其他编程语言。你用的是什么操作系统? - Roman Newaza
为什么要使用Amazon Linux?尝试一下不错的操作系统:Debian、Ubuntu、Gentoo、CentOS。例如访问http://alestic.com/。 - Roman Newaza
显示剩余2条评论
3个回答

11

前言

Amazon Linux AMI是基于CentOS开发的操作系统,非常适合在亚马逊云平台EC2上使用。实际上,它是由亚马逊专门为EC2定制的:

Amazon Linux AMI是由Amazon Web Services提供并受支持的Linux镜像,专为在Amazon EC2上运行的应用程序提供稳定、安全和高性能的执行环境。它还包括一些与AWS轻松集成的软件包[...]。Amazon Web Services 将向运行Amazon Linux AMI实例的所有用户提供持续的安全和维护更新。[...] [重点标注为我的]

然而,它并不像其他发行版那样被广泛使用,最受欢迎的可能是Ubuntu,因为它在一般和EC2上长期定制支持方面非常受欢迎(例如,请参见EC2StartersGuideUbuntu Cloud Images或方便地列出Ubuntu AMIs for Amazon EC2alestic上)。这带来了两个缺点:
  • 您会发现基于Ubuntu的EC2有更多的示例/教程/等,最终使事情变得更容易。
  • 您会发现 CentOS 可用的预编译包稍微少一些,需要自己编译(但请参见下文)。

解决方案

CentOS(以及相应的Amazon Linux AMI)使用Yum软件包管理器从CentOS(和第三方)仓库中安装和更新软件包(Debian/Ubuntu使用APT软件包管理器,但其内在概念非常相似),请参见Amazon Linux AMI Basics中的添加软件包部分:

除了Amazon Linux AMI中包含的软件包外,亚马逊还提供了一个yum仓库,其中包含常见的Linux应用程序,可在Amazon EC2内部使用。 Amazon Linux AMI默认配置为所有yum操作均指向此仓库。 可以通过发出yum命令来安装软件包。 例如:

# sudo yum install httpd

因此,您可以通过yum install make安装make(您可以通过yum list all获取所有可用软件包的列表)。
请注意,您实际上可能不需要这样做,因为Amazon Linux AMI已经构建为与CentOS系列发布版本二进制兼容,因此在CentOS上运行的软件包也应该可以在Amazon Linux AMI上运行。[我的强调]
所需的软件包pptpd也不是CentOS标准存储库的一部分,但它在第三方Extra Packages for Enterprise Linux (EPEL)存储库中可用(请参见Letter P)- 我无法评论使用此存储库与编译自己的存储库之间的可行性。
祝你好运!

1
只要确保获取了正确版本的软件和所有依赖项,我还没有发现任何无法工作的软件包。我相信Amazon Linux现在与CentOS 6兼容。 - bwight
@bwight:感谢您提供的额外信息,我确实不确定CentOS 6的兼容性(不幸的是,pptpd软件包似乎尚未适用于CentOS 6)。 - Steffen Opel
我在某处读到过这种情况,我需要四处查找并看看是否能找到任何证据。我知道大约6个月前的文档明确说明了CentOS 5.5。 - bwight
2
通过查看/etc/yum.repos.d/epel.repo文件,你可以看到它们正在加载EPEL6的URL,这让我觉得现在可能是CentOS 6而不是5.5。我可能错了。 - bwight
@bwight:听起来很合理,知道了-感谢你的发掘! - Steffen Opel

7

Amazon Linux AMI默认未安装make。但是,您可以使用yum轻松安装它。如果您选择仅安装make,则在编译过程中的其他软件包中可能会出现一些错误。如果您要编译软件,建议一次性安装所有开发工具。

sudo yum groupinstall "Development Tools"

1

1
Stackoverflow是一个英文问答网站。请根据此撰写您的帖子。我已编辑您的回答,将其翻译成英文并包含您提供的文档链接。 - geisterfurz007

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接