在设置我的虚拟服务器实例期间,我需要使用make. 安装后是否存在任何安全风险make?或者我应该在部署实例之前清理它?
我还在gcc服务器上安装了编译器,用于在部署前构建应用程序。
我们正在尝试构建一个需要内核源代码的软件,而不仅仅是头文件。所以我们通过centos src rpm 下载了内核源码。
但是缺少 autoconf.h。
我们尝试了
将 .config 放在适当的位置(从 /boot 复制)。
跑 make oldconfig
那么什么是创建 autoconf.h 文件呢?我们真的必须构建内核吗?
我正在尝试像这样运行 macports:
port install php5
Run Code Online (Sandbox Code Playgroud)
但是,当我这样做时,我收到此错误:
Error: Unable to open port: can't read "build.cmd": Failed to locate 'make' in path: '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin' or at its MacPorts configuration time location, did you move it?
Run Code Online (Sandbox Code Playgroud)
所以我看了一下我的路径:
declare -x PATH="/Developer/usr/bin:/opt/subversion/bin:/opt/local/bin:/opt/local/sbin:/usr/local/php5/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin"
Run Code Online (Sandbox Code Playgroud)
然后查看以确保 make 位于其中一个目录中:
ls -l /Developer/usr/bin/make
$ lrwxr-xr-x 1 root admin 7 Aug 7 16:47 /Developer/usr/bin/make -> gnumake
Run Code Online (Sandbox Code Playgroud)
并键入:
make
Run Code Online (Sandbox Code Playgroud)
产生:
make: *** No targets specified and no makefile found. Stop.
Run Code Online (Sandbox Code Playgroud)
所以我知道它就在那里。
但是macports找不到它。有任何想法吗?
G-Man
我使用多阶段构建将构建环境与最终的 docker 镜像分开:
FROM ubuntu:bionic AS build
RUN apt-get update && apt-get install -y \
build-essential \
[...]
RUN wget https://someserver.com/somefile.tar.gz && \
tar xvzf somefile.tar.gz && \
./configure && \
make && make install && \
[missing part]
FROM ubuntu:bionic
COPY --from=build /tmp/fakeroot/ /
[...]
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法来收集make install在运行时创建/复制的所有文件?
目前我正在使用ldd和单个文件副本的组合来获取它们:
cp /etc/xyz/* /tmp/fakeroot/xyz
cp --parents $(ldd /usr/sbin/nginx | grep -o '/.\+\.so[^ ]*' | sort | uniq) /tmp/fakeroot
Run Code Online (Sandbox Code Playgroud)
但是由于 make install 已经有了将哪个文件复制到哪个目录的信息,我问自己是否没有任何方法可以使用这种机制。
感谢您的任何想法!
我正在一台新的 Ubuntu 服务器上安装 Bugzilla,并且 ./checksetup.pl 找到了另一个我需要安装的库。
所以它告诉我运行这个命令:
/usr/bin/perl install-module.pl Math::Random::Secure
Run Code Online (Sandbox Code Playgroud)
当我运行它时,出现以下错误:
ERROR: Using install-module.pl requires that you install "make".
Run Code Online (Sandbox Code Playgroud)
Make 已安装(apt-get install make),我知道它在我的 $PATH(在 /usr/bin/ 中)中,但我仍然从 install-module.pl 中得到该错误。
我是否必须做一些特殊的事情来确保它有正确的路径,还是应该使用我的 shell 中的路径?“make”是指我安装的 make 还是可以指代某个 perl 模块?
谢谢!
我有这台机器,它没有安装“make”实用程序,我需要它来安装其他实用程序,你们以前在 Solaris 10 机器上做过吗?
这是我使用“uname -a”命令得到的输出:SunOS qsunx02 5.10 Generic_141445-09 i86pc i386 i86pc。
那里有一些信息,但我找不到任何有用的帖子。
这是错误消息:
cc: internal compiler error: Killed (program cc1)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.
make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1
Run Code Online (Sandbox Code Playgroud)
make 处理的最后一件事是 apprentice.lo,它似乎是图像处理库的一部分(也许?)。我正在使用 Ansible 来配置我的实例。它是一个 Digital Ocean 单核 512MB 虚拟机。
我一直在使用 vagrant / ansible 在本地为 dev 使用相同的配置,并且编译良好,这是我尝试配置的第一个云 VM。唯一的区别是我的 DO 服务器的基本映像来自 DO,对于我的本地开发人员,我通过 VirtualBox 从一个库存的 CentOS 基本服务器安装构建了我自己的 Vagrant 框。我把它从我的 DropBox 中拉下来。
该问题已被其他人遇到并报告为php错误报告
我的 php ansible 角色直到错误:
---
- name: Download php source
get_url: url={{ php_source_url }} dest=/tmp
register: get_url_result
- name: untar the …Run Code Online (Sandbox Code Playgroud) 我注意到在制作 Linux 内核时,我的处理器总共只有大约 50% 的时间在使用。
我通常先制作内核,然后制作模块。
我刚刚在一个终端中启动了一个 make bzImage 并在另一个终端中启动了一个 make 模块,并且看到我的两个处理器都得到了充分利用。我希望总编译时间会快很多,因为我是并行编译而不是串行编译。
是否有任何“gotya's”使这不安全?
当我从源代码 (CentOS) 构建程序时,如何将其更新到新版本?我可以使用相同的配置选项再次运行 make && make install 吗?
Centos 7 上的 VPS 附带了非常旧版本的 openssl。我构建并安装了较新版本的 openssl。(详细信息如下)安装这个较新的 openssl 只是为了升级到更新版本的curl。其目的是按位置专门调用此curl,而不是将其集成到任何其他程序中。
显然,安装导致了 exim 的问题(谁知道还有什么问题)。现在,由于找不到 libssl.so.1.1,更新 exim 失败。
openssl 二进制文件可以对系统/usr/local/openssl/bin/openssl隐藏吗?(以便 exim 会更新)我不太确定 exim 构建中发生了什么,但当然它之前有效。
我想有两种解决方案是将 openssl 安装移动到 /opt 或将 openssl 重命名为其他名称。不过,我想了解是否有更简单的解决方案。
欢迎所有想法。感谢您考虑这一点。
一些系统信息:
[root@vps ~]# which openssl
/usr/bin/openssl
[root@vps ~]# whereis openssl
openssl: /usr/bin/openssl /usr/lib64/openssl /usr/include/openssl /usr/local/openssl /usr/share/man/man1/openssl.1ssl.gz /usr/share/man/man1/openssl.1
[root@vps ~]# /usr/bin/openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
[root@vps ~]# /usr/lib64/openssl version
-bash: /usr/lib64/openssl: Is a directory
[root@vps ~]# /usr/include/openssl version
-bash: /usr/include/openssl: Is a directory
[root@vps ~]# /usr/local/openssl/bin/openssl …Run Code Online (Sandbox Code Playgroud)