centos7lamp源码编译
❶ CentOS 7 怎样安装或升级最新的内核
一、使用 elrepo 的rpm包升级
查看当前系统内核版本 uname -r
1. 导入key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2. 安装 elrepo 的yum源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
3. 安装内核
在yum的elrepo源中,有最新版本内核。直接yum安装即可。
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
5. 设置系统启动顺序
查看系统启动项:
cat /boot/grub2/grub.cfg |grep menuentry
可以发现有最新版本的内核,此时可以设置最新版本内核为默认启动:
grub2-set-default 'CentOS linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
此时,查看默认启动的系统版本grub2-editenv list:
显示为'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
6. reboot,重启之后再次查看 uname -r
二、使用源码编译安装升级
1 下载内核源码
下载网址为 https://www.kernel.org/
wget xxx
2 解压并进入源码目录
3 更新系统并安装依赖软件
#yum update
#yum upgrade
#yum groups install Development Tools
#yum install ncurses-devel qt-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
4 将当前内核配置文件拷贝到当前目录
本来是应该执行make menuconfig来自定义内核配置的,生成配置文件.config; 但是可以直接使用原来系统的内核配置,也就是拷贝/boot目录下的配置文件到当前目录。
cp /boot/config-2.6.32-431.11.2.el6.x86_64 .config
5 使用当前内核的配置
#sh -c 'yes "" | make oldconfig' #centos 6
#sh -c 'y "" | make oldconfig' #centos 7
6 编译安装
#make bzImage
#make moles
#make moles_install
#make install
7 设置系统启动顺序
查看系统启动项:
cat /boot/grub2/grub.cfg |grep menuentry
可以发现有最新版本的内核,此时可以设置最新版本内核为默认启动:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
此时,查看默认启动的系统版本grub2-editenv list:
显示为'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
8 reboot,重启之后再次查看 uname -r
❷ centos7系统源码编译安装php7.3.5版本
新增系统用户组和用户:
下载 PHP7.3.5
[root@localhost ~]# mkdir devdir
[root@localhost ~]# cd devdir/
[root@localhost devdir]# wget https://www.php.net/distributions/php-7.3.5.tar.gz
-bash: wget: 未找到命令
[root@localhost devdir]# rpm -qa|grep wget
[root@localhost devdir]# yum -y install wget
[root@localhost devdir]# rpm -qa|grep wget
wget-1.14-18.el7.x86_64
下载PHP7 解压 编译
wget -c https://downloads.php.net/~cmb/php-7.3.4.tar.gz
编译参数解释
--with-fpm-user=webu --with-fpm-group=webg 添加PHP运行用户和用户组
配置信息出错:
下载gcc软件编译器 yum install -y gcc
configure: error: libxml2 not found. Please check your libxml2 installation.
下载libzip-1.5.2.tar.gz
https://libzip.org/download/libzip-1.5.2.tar.gz
解决libzip 和cmake版本问题
重新配置PHP7编译环境参数
libzip-1.5.2 无法安装,已经取消了。
提示off_t类型没有定义 undefind,解决方法:
编译安装
测试PHP是否安装成功
转载自:https://my.oschina.net/u/4127346/blog/3047778
❸ centos7编译php出现问题 系统:CENTOS7 64位 PHP版本:7.1.0 APACHE版本:2.4.25 MYsql版
1、php的编译问题主要是依赖包没有提前安装
2、如果依赖mysql,就先安装mysql-devel或编译mysql
3、需要提前安装的有,不能写太细,太细会被度娘屏蔽:
yasm-1.3.0.tar.gz
libmcrypt-2.5.8.tar.gz
libvpx-v1.3.0.tar.bz2
tiff-4.0.3.tar.gz
libpng-1.6.16.tar
freetype-2.5.4.tar.gz
jpegsrc.v9a.tar.gz
libgd-2.2.3.tar.gz
t1lib-5.1.2.tar.gz
4、安装编译php
5、安装php后有一些优化包根据需要安装
❹ centos7怎么编译安装gcc-c++
下为最近升级gcc4.9.2的实际操作步骤
环境: CentOS-7.2 , 当前版本为gcc-4.8.5,用root进行安装
1、先要执行下面这一条命令,安装g++:
yum install gcc-c++
2、 gcc 编译需要三个额外库gmp、mpfr、mpc,下载并按照下面的顺序安装它们,如下:
wget ftp://ftp.gnu.org/gnu/gmp/gmp-5.1.3.tar.gz
wget ftp://ftp.gnu.org/gnu/mpfr/mpfr-3.1.2.tar.gz
wget http://www.multiprecision.org/mpc/download/mpc-1.0.tar.gz
tar -zxvf gmp-5.1.3.tar.gz
cd gmp-5.1.3
./configure
make && make install
cd ..
tar -zxvf mpfr-3.1.2.tar.gz
cd mpfr-3.1.2
./configure
make && make install
cd ..
tar -zxvf mpc-1.0.tar.gz
cd mpc-1.0
./configure
make && make install
cd ..
3、安装gcc:
wget http://ftp.gnu.org/gnu/gcc/gcc-4.9.2/gcc-4.9.2.tar.bz2
tar -jxvf gcc-4.9.2.tar.bz2
cd gcc-4.9.2
./contrib/download_prerequisites
cd ..
mkdir gcc-build-4.9.2
cd gcc-build-4.9.2
../gcc-4.9.2/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make
make install
4、修改/usr/bin/下gcc版本
执行/usr/bin/gcc --version查看版本:
gcc (GCC) 4.4.7-4
/usr/local/bin/gcc --version:
gcc (GCC) 4.8.2
发现多个版本的gcc。
此时执行以下操作:
mv /usr/bin/gcc /usr/bin/gcc4.4.7
ln -s /usr/local/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++4.4.7
ln -s /usr/local/bin/g++ /usr/bin/g++
mv /usr/bin/cc /usr/bin/cc4.4.7
ln -s /usr/local/bin/gcc /usr/bin/cc
mv /usr/bin/c++ /usr/bin/C++4.4.7
ln -s /usr/local/bin/c++ /usr/bin/c++
export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
5、检查动态库:
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
❺ 如何升级centos7内核并且编译
、使用 elrepo rpm包升级
查看前系统内核版本 uname -r
1. 导入key
rpm --import
2. 安装 elrepo yum源
rpm -Uvh
3. 安装内核
yumelrepo源新版本内核直接yum安装即
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
5. 设置系统启顺序
查看系统启项:
cat /boot/grub2/grub.cfg |grep menuentry
发现新版本内核设置新版本内核默认启:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
查看默认启系统版本grub2-editenv list:
显示'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
6. reboot重启再查看 uname -r
二、使用源码编译安装升级
1 载内核源码
载网址
wget xxx
2 解压并进入源码目录
3 更新系统并安装依赖软件
#yum update
#yum upgrade
#yum groups install Development Tools
#yum install ncurses-devel qt-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
4 前内核配置文件拷贝前目录
本应该执行make menuconfig自定义内核配置配置文件.config; 直接使用原系统内核配置拷贝/boot目录配置文件前目录
cp /boot/config-2.6.32-431.11.2.el6.x86_64 .config
5 使用前内核配置
#sh -c 'yes "" | make oldconfig' #centos 6
#sh -c 'y "" | make oldconfig' #centos 7
6 编译安装
#make bzImage
#make moles
#make moles_install
#make install
7 设置系统启顺序
查看系统启项:
cat /boot/grub2/grub.cfg |grep menuentry
发现新版本内核设置新版本内核默认启:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
查看默认启系统版本grub2-editenv list:
显示'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
8 reboot重启再查看 uname -r
-
❻ centos7怎么编译安装gcc-c++
方法/步骤
1
yum install glibc-static libstdc++-static -y
安装c和c++的静态库(据说如果系统中缺少libc.a和libstdc++.a编译时会出错,但是我没有那么多闲情逸致去试,实践过的朋友可以回复一下,分享一下经验,让大家都长长见识)
2
下载解压gcc,我的gcc目录是gcc-4.8.0
3
进入gcc目录,执行:
./contrib/download_prerequisites
这个神奇的脚本文件会帮我们下载、配置、安装那三个依赖的库。可以节约我们大量的时间和精力。
4
你以为这三个库自动下载了、自动make install了就没事了吗?错!
很多人在编译gcc的时候出现各种奇奇怪怪的错误就是这步没有做好。
它们还不在.so文件的搜索路径里面,需要加进去,最后切记切记一定要执行一下ldconfig。
大致做法为:
1,找到你的共享库文件被install到哪个目录了(updatedb+locate命令)。
2,如果你的库不是直接放在/lib或/usr/lib下,需要修改/etc/ld.so.conf文件,加入你的共享库的路径
3,如果在2中添加了共享库路径,切记要执行一下ldconfig,更新响应cache文件让系统能找到你的共享库。
5
建立临时目录,这个目录用以存放编译时的大量临时文件,是文档要求中必须的。
我是在gcc-4.8.0下建立了一个名为gcc-build-4.8.0的目录,进入它。
mkdir gcc-build-4.8.0
cd gcc-build-4.8.0
配置gcc编译选项
6
强烈建议阅读INSTALL目录下的说明文档,尤其是configure.html,以确定你的编译选项。
比较基本的选项有--enable-languages,说明你要让你的gcc支持那些语言,--disable-multilib不生成编译为其他平台可执行代码的交叉编译器。--disable-checking生成的编译器在编译过程中不做额外检查,也可以使用--enable-checking=xxx来增加一些检查。
网上还说了什么--with-gmp、--with-mpfr、--with-mpc这三个选项,但是如果你3,4步做好了,就不要配了,反之你还是老实点吧别抱侥幸心理了。
调用gcc-4.8.0目录下的configure文件:
例如:
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
7
执行
../make #不解释
执行编译命令(#在8核的虚拟机上进行编译,每个核分配2个编译任务)
make -j16
make install编译过程CPU 核基本100%占用,整个编译用时11分50秒。
检查gcc版本
#你就等吧少年,建议晚上睡觉前做
当然上面三步一定要在前一步顺利结束的情况下进行,如果哪一步出错了,结果都显示error了,就不要再做后面的了。在shell的输出里搜索"error"看具体的出错点是什么,、google一下为什么。
如果你求稳的话,可以在make install之前先make check一下。
❼ centos 7如何获取完整内核源码
1. 下载内核
内核官网获得了(不让加链接,搜索linux内核官网 )
tar.xz 是完整的内核包
pgp 是.tar.sign后缀的文件,用于校验类似于MD5
patch 是补丁包
2. 解压文件,现在一般采用 .tar.xz 的压缩格式(压缩率最高,但是压缩时间较长)。
/usr/src 一般而言、我们制做linux内核的时候源码一般放在这个路径下,
可以使用 # tar -Jxvf linux-3.13.2.tar.xz -C /usr/src/ 把文件解压到 /usr/src/ 中(在root用户下才有效)
3. 如果是第一次编译内核,并没有上次的残留文件可以可以跳过
# make mrproper
这个步骤
注意:make clean 删除大多数的编译生成文件, 但是会保留内核的配置文件.config, 还有足够的编译支持来建立扩展模块
make mrproper 删除所有的编译生成文件, 还有内核配置文件, 再加上各种备份文件
make distclean mrproper删除的文件, 加上编辑备份文件和一些补丁文件。
4. 接下来是 make config 。
具体参照 《make config 的几种类型》
一般采用 # make menuconfig 的方式
此处需要两个包,选择最简单的yum安装
# yum -y install gcc 和
# yum install ncurses ncurses-devel。
具体选项的作用参考 《Linux-3.10-x86_64 内核配置选项简介 》
对新的内核功能选择,并生成一个 .config 的文件
5. 编译内核
# make 和 # make moles_install (此处命令必须进入/usr/src/linux-x-x-x/才有效,否则会报错)
注意:2.6内核作了优化,不必显示的执行make dep 和make bzImage,只需要直接执行
make 就行,系统会自动完成make dep 和 make bzImage 所做的工作。
6. 安装内核
# make install
7. 修改默认启动的内核(把光标处的default值改成0,就为默认启动,编译成功后默认为1)
# vim /boot/grub/grub.conf
用 cat /boot/grub/grub.conf 验证并测试
# cat /boot/grub/grub.conf
看是否添加成功
8. 重启机器,查看效果
默认的内核就是刚才编译成功的。。。
❽ centos7怎么编译安装nginx1.95+mariadb10.1+php7
如果雹氏你nginx是rpm包安装的,直接用如下命令: nginx -V 如果你是源码包编译安装,假如你的安装路径是/usr/local/nginx,那么你可以使用: /usr/local/nginx/sbin/nginx -V 注意是大写的V,源皮散这握磨样你就可以看到nginx已经加载的模块了。
❾ CentOS 7下的C语言程序编程与执行
若要明明腔在CentOS7下执行C语言程序,首先得给系槐毕统安装gcc编译环境。
输入命令:which gcc 查看系统是否有安装gcc,
若系统没有安装gcc,输入命令:yum -y install gcc automake autoconf libtool make进行安装
安装完gcc后,让咱激衫们开始来编写第一个C语言程序吧,首先在桌面新建一个文件hello.c文件,
双击打开,
编写C语言程序
点击保存,退出
在终端输入命令:gcc hello.c -o hello回车,进行编译
生产可执行文件
然后输入./hello,执行可执行文件
看见,此时终端打印出hello world!,说明执行成功.
❿ CentOS7编译安装OpenSSL1.1.1f
通过 CPAN 工具安装 Perl 模块“Text::Template”,依次执行以下命令:
直接回车就好,完成后再次执行
在 cpan[1]> 命令行提示符后面输入命令 install Text::Template ,如下
然后一路回车,安装完成后输入 exit 退出
编译
测试,看是否能通过
通过后再安装
没有报错则是安型庆装成功搏昌了,可以运行卜银握测试下有没有问题