centos编译环境 centos7

各位老铁们,大家好,今天由我来为大家分享centos编译环境,以及centos7的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

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"看具体的出错点是什么,baidu、google一下为什么。

如果你求稳的话,可以在make install之前先make check一下。

CentOS 6.2系统安装和基本软件环境配置

一、安装CentOS6.2系统

1、选择Desktop进行安装

注:如果修改了主机名,则需要在/etc/hosts文件中增加设置的主机名

2、ssh安全设置(配置文件:/etc/ssh/sshd_config):

1)更改默认22端口:去掉 Port的注释,改成如:22123

2)禁止root账号登录:去掉PermitRootLogin yes注释,改成:PermitRootLogin no

3)新增SSH登录用户,登录成功后再su到root:

复制代码

   

代码如下:

# useradd xiaoma

   # passwd xiaoma

然后修改ssh配置文件,最后加入:AllowUsers xiaoma

4)重启SSH服务:service sshd restart

5)更改防火墙配置,允许22123端口,加入:-A INPUT-m state–state NEW-m tcp-p tcp–dport 22123-j ACCEPT,并重启防火墙生效:service iptables restart

二、软件环境配置

1、安装编译环境:

复制代码

   

代码如下:

# yum install gcc gcc-c++

注:代理上网,命令行:export http_proxy=

2、安装一些必备的库

复制代码

   

代码如下:

# yum install ncurses-devel zlib-devel libjpeg* libpng* freetype*

注:ncurses-devel–编译安装mysql5.5时需要

zlib-devel–编译安装httpd需要

libjpeg*、libpng*、freetype*–编译安装php需要

3、安装clamAV杀毒软件

复制代码

   

代码如下:

# tar xzf clamav-0.97.4.tar.gz

   # cd clamav-0.97.4

   #./configure--prefix=/usr/local/clamav--disable-clamav

   # make

   # make install

# groupadd clamav

   # useradd-g clamav clamav

   # chown-R clamav.clamav/usr/local/clamav

操作示例:

1)更新病毒库:bin/freshclam(需要修改etc/freshclam.conf文件把Example行注释掉)

2)扫描指定的目录:bin/clamscan–bell-i-r/usr/local

4、安装JDK

复制代码

   

代码如下:

# chmod+x jdk-6u33-linux-i586.bin

   #./jdk-6u33-linux-i586.bin

   # mv jdk1.6.0_33//usr/local

设置JDK环境变量,/etc/profile文件中最后加入如下配置:

复制代码

   

代码如下:

JAVA_HOME=/usr/local/jdk1.6.0_33

   export JAVA_HOME

   export PATH=/usr/local/mysql5/bin:$JAVA_HOME/bin:$PATH

然后更新环境变量使之生效:

复制代码

   

代码如下:

# source/etc/profile

查看安装的java版本:

复制代码

   

代码如下:

# java-version

5、安装Mysql5.5(mysql5.5需要cmake编译,需要先安装cmake)

复制代码

   

代码如下:

# tar xzf cmake-2.8.7.tar.gz

   # cd cmake-2.8.7

   #./configure

   # make make install

# mkdir-p/usr/local/mysql5

   # groupadd mysql

   # useradd-g mysql mysql

   # chown mysql.mysql-R/usr/local/mysql5

# tar xzf mysql-5.5.19.tar.gz

   # cd mysql-5.5.19/

   # cmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql5-DMYSQL_UNIX_ADDR=/usr/local/mysql5/mysql.sock-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS=all-DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1-DWITH_READLINE=1-DENABLED_LOCAL_INFILE=1-DMYSQL_DATADIR=/usr/local/mysql5/data-DMYSQL_USER=mysql-DMYSQL_TCP_PORT=3306

   # make

   # make install

配置Mysql,进行如下操作:

复制代码

   

代码如下:

# cp support-files/my-medium.cnf/etc/my.cnf

   # chmod 755 scripts/mysql_install_db

   # scripts/mysql_install_db--user=mysql--basedir=/usr/local/mysql5--datadir=/usr/local/mysql5/data

# cp support-files/mysql.server/etc/init.d/mysql

   # chmod 755/etc/init.d/mysql

   # chkconfig mysql on

启动mysql并设置root账号密码:

复制代码

   

代码如下:

#/etc/init.d/mysql start或 service mysql start

   #/usr/local/mysql5/bin/mysqladmin-uroot password'root'

加入环境变量,在/etc/profile文件中最后加入:

复制代码

   

代码如下:

export PATH=/usr/local/mysql5/bin:$PATH

修改默认的mysql最大连接数(默认只有151),打开/etc/my.cnf文件,在[mysqld]的下面加入:max_connections=1000,然后重启mysql即可生效,查看最大连接数:

复制代码

   

代码如下:

mysqlshow VARIABLES LIKE'%conn%';

6、安装httpd

复制代码

   

代码如下:

# tar xzf httpd-2.2.21.tar.gz

   # cd httpd-2.2.21/

   # cd srclib/apr

   #./configure--prefix=/usr/local/apr

   # make

   # make install

# cd../apr-util

   #./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr

   # make

   # make install

# cd../..

   #./configure--prefix=/usr/local/apache2--enable-so--enable-mods-shared=all--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util--enable-dav--enable-proxy--enable-proxy-ajp

   # make

   # make install

启动httpd并访问进行测试(注意iptables需要打开80端口):

复制代码

   

代码如下:

#/usr/local/apache2/bin/apachectl start

如果需要禁止对某个目录的访问,可以在该目录下新建.htaccess文件,并输入如下内容:

复制代码

   

代码如下:

order allow,deny

   deny from all

7、安装php

复制代码

   

代码如下:

# tar xzf libxml2-2.7.5.tar.gz

   # cd libxml2-2.7.5

   #./configure--prefix=/usr/local/libxml2

   # make

   # make install

# cd..

   # rpm-qa php

   # rpm-e--nodeps--allmatches php-5.1.6-27.el5

   # tar xzf php-5.3.1.tar.gz

   # cd php-5.3.1

   #./configure--prefix=/usr/local/php5--with-libxml-dir=/usr/local/libxml2/--with-mysql=/usr/local/mysql5/--with-apxs2=/usr/local/apache2/bin/apxs--with-mbstring--enable-mbstring=all--with-gd

   # make

   # make install

   # cp php.ini-production/usr/local/php5/lib/php.ini

修改httpd.conf文件:

1)在AddType application/x-gzip.gz.tgz之后加一行:AddType application/x-httpd-php .php

2)在DirectoryIndex index.html后加入index.php

重启httpd后即可使php生效!

8、安装Tomcat7

复制代码

   

代码如下:

# unzip-q apache-tomcat-7.0.23.zip

   # mv apache-tomcat-7.0.23 tomcat-7

配置tomcat的虚拟主机,打开conf/server.xml配置文件,加入如下段(多个则加入多个如下段即可):

复制代码

   

代码如下:

Host name="www." appBase="webapps"

   unpackWARs="true" autoDeploy="true"

   Aliaschinapis.com/Alias

   Context path="" docBase="/webapps/www."/

   /Host

配置完tomcat后,还需要配置apache的虚拟主机文件(conf/extra/httpd-vhosts.conf):

复制代码

   

代码如下:

VirtualHost*:80

   DocumentRoot"/kington/webapps/chinapis"

   ServerName www.

   ServerAlias

ErrorLog"|/usr/local/apache2/bin/rotatelogs/usr/local/apache2/logs/_%Y-%m-%d_error_log 86400 480"

   CustomLog"|/usr/local/apache2/bin/rotatelogs/usr/local/apache2/logs/_%Y-%m-%d_access_log 86400 480" common

ProxyPass/images/!

   ProxyPass/styles/!

ProxyPreserveHost On

   ProxyPass/ ajp://localhost:8009/

   ProxyPassReverse/ ajp://localhost:8009/

   /VirtualHost

上述配置中的说明如下:

1)ErrorLog和CustomLog配置了日志文件的轮询时间(86400表示秒是一天,480是时区的偏移)

三、常见问题

1、编译安装php时遇到:configure: error: libpng.(a|so) not found,首先安装各个依赖组件(libjpeg、libpng、freetype),然后做如下处理:

复制代码

   

代码如下:

# ln-s/usr/lib64/libjpeg.so/usr/lib/

   # ln-s/usr/lib64/libpng.so/usr/lib/

2、解压bin格式的jdk时候报错:/lib/ld-linux.so.2: bad ELF interpreter,需要安装一些缺少的文件:

复制代码

   

代码如下:

# yum install ld-linux.so.2

概述一下,centos与redhat的区别和优缺点

CentOS是一种基于Red Hat企业级操作系统代码(RHEL)构建的操作系统,因此它与Red Hat具有许多共同之处。但是,它们之间有一些主要区别:

1.支持:Red Hat是一种商业操作系统,需要订阅才能获得支持和更新。CentOS则是一个社区版的发行版,完全免费,并不需要购买订阅或付费支持计划。

2.更新:Red Hat一般会在发布后的数年内提供更新和支持,而CentOS的重要更新则可能要比相应的RHEL版本稍晚一些。

3.品质保证:Red Hat是一种经过广泛测试和验证的操作系统,而CentOS则更加注重稳定性和可靠性。

4.应用场景:Red Hat更适合高性能、高安全性和商业关键任务。CentOS则更适合个人使用、中小型企业、组织以及一些开发人员等用户群体。

5.社区: CentOS是一个社区驱动的项目,社区用户可以对代码进行修改和分发。Red Hat则更多的是企业驱动,用户只能使用其已发布的产品。

以下是他们各自的优缺点:

Red Hat的优点:

-专业的技术支持和服务

-更长的支持周期

-一流的安全性和稳定性

-适合企业关键任务使用

Red Hat缺点:

-需要购买订阅才能获得支持和更新

-软件更新速度可能较慢

-价格相对较高

CentOS的优点:

-免费使用和更新

-非常稳定和可靠

-社区活跃,有更多的社区支持和帮助

-拥有与RHEL相似的功能和性能

CentOS的缺点:

-不提供商业支持

-更新可能比RHEL版本稍慢

-对于一些生产环境来说,不如Red Hat稳定

阅读剩余
THE END