5

我是 Amazon EC2 的新用户。

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

[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

我想知道make最初是否实际安装在 Amazon Linux AMI 上?如果没有,我该如何安装它?

4

3 回答 3

10

前言

Amazon Linux AMI(松散地)基于CentOS和一个完美的EC2 操作系统,实际上它是由 Amazon 专门为 EC2 量身定制的:

Amazon Linux AMI 是Amazon Web Services 提供的受支持和维护的 Linux 映像,可在 Amazon Elastic Compute Cloud (Amazon EC2) 上使用。它旨在为在 Amazon EC2 上运行的应用程序提供稳定、安全和高性能的执行环境。它还包括能够轻松与 AWS 集成的软件包,[...]。Amazon Web Services为所有运行 Amazon Linux AMI 的实例提供持续的安全和维护更新。[...] [强调我的]

然而,它确实没有像其他一些发行版那样被广泛使用,最流行的可能是 Ubuntu,因为它普遍受欢迎,特别是它对 EC2 的长期定制支持(参见例如EC2StartersGuideUbuntu Cloud Imagesalestic用于 Amazon EC2的 Ubuntu AMI 的便捷列表)。这产生了两个缺点:

  • 你会发现更多的例子/教程/等。对于基于 Ubuntu 的 EC2,最终使事情变得更容易。
  • 您会发现可用于 CentOS 的预编译包略少,最终需要自己编译(但见下文)。

解决方案

也就是说,CentOS(以及反过来的 Amazon Linux AMI)使用Yum包管理器来安装和更新来自 CentOS(和第 3 方)存储库的包(Debian/Ubuntu 使用APT包管理器来代替 - 虽然内在概念非常相似) ,请参阅例如在Amazon Linux AMI 基础中添加软件包部分:

除了 Amazon Linux AMI 中包含的软件包之外,Amazon 还提供了一个 yum 存储库,其中包含用于在 Amazon EC2 内部使用的常见 Linux 应用程序。默认情况下,Amazon Linux AMI 配置为针对所有 yum 操作指向此存储库。可以通过发出 yum 命令来安装这些软件包。例如:

# sudo yum install httpd

因此,您可以通过 make 安装yum install make(您可以通过 获取所有现成软件包的列表yum list all)。

但请注意,您实际上可能不需要这样做,因为Amazon Linux AMI 已构建为与 CentOS 系列版本二进制兼容,因此为在 CentOS 上运行而构建的软件包也应在 Amazon Linux AMI 上运行. [强调我的]

所需的软件包pptpd也不是 CentOS 上标准存储库的一部分,但它可以在 3rd party Extra Packages for Enterprise Linux (EPEL)存储库中找到(参见字母 P)——我无法评论使用这个的可行性与编译你自己的相比。

祝你好运!

于 2012-03-03T13:35:33.270 回答
5

默认情况下,Amazon Linux AMI 上未安装 Make。但是,您可以使用 yum 轻松安装它。如果您选择只安装 make,您稍后可能会在编译过程中遇到其他包的一些错误。如果您要编译软件,您可能只想一次安装所有的开发工具。

sudo yum groupinstall "Development Tools"
于 2013-09-20T22:58:58.467 回答
1
sudo yum groupinstall "Development Tools"

根据文档:https ://docs.aws.amazon.com/AWSEC2/latest/UserGuide/compile-software.html

于 2018-07-19T15:50:12.243 回答