其实Linux下安装源码包是最常用的。 在日常管理工作中,大多数软件都是通过源代码的方式安装的。 要安装源码包,我们需要自己将源码编译成二进制可执行文件。
如果你能阅读并理解这种源代码,那么你就可以改变那些源代码自定义函数,然后将其编译成你想要的。 使用源码包的好处不仅在于可以自定义和更改源代码,还可以自定义相关功能,因为源码包可以在编译时添加额外的选项。
源码包的编译使用linux系统中的编译器。 常见的源码包通常都是用C语言开发的,这也是因为C语言是linux上最标准的编程语言。 Linux上的C语言编译器称为gcc,它可以用来将C语言转换成可执行的二进制文件。
所以如果你的机器上没有安装gcc,就没有办法编译源代码。 您可以使用 yum install -y gcc 来完成安装。
安装源码包通常需要三个步骤:
1)./配置
在这一步中,您可以自定义功能并添加相应的选项。 您可以使用 ./configure --help 命令检查选项。 在这一步中,你将手动检查你的linux系统和相关包是否有编译源码包所需的库,因为没有某个库,编译就无法完成。
只有测量通过后才能生成Makefile。
其中--prefix指的是安装路径,--with指的是该文件的安装所依赖的库文件
2)使
使用此命令将根据Makefile中预设的参数进行编译,尽管gcc在这一步中工作。
3)进行安装
安装步骤,生成相关软件存放目录和配置文件的过程。
上述3个步骤对于所有源码包软件来说都不相同,安装步骤也不是这样的,也就是说源码包的安装没有一定的标准安装步骤。
这就需要你拿到源码包并解压,然后单步进入目录查找相关帮助文档,通常以INSTALL或README为文件名。 所以,你一定要检查一下。
Linux下config/configure/Configure、make、make test/make check、sudo make install的作用
配置/配置/配置
这是用来衡量你的安装平台的目标特性。例如,它会检查你是否有CC或GCC,它不需要CC或GCC,它是一个shell脚本
这一步通常用于生成Makefile,为下一步编译做准备。 您可以通过在configure后添加参数来控制安装,例如:
./configure --prefix=/usr
上面的意思是把软件安装在/usr下
可执行文件将安装在 /usr/bin 中(而不是默认的 /usr/local/bin)
资源文件将安装在 /usr/share 中(而不是默认的 /usr/local/share)
同时可以通过指定--sys-config=参数来设置一些软件的配置文件
还有诸如:--with、--enable、--without、--disable等参数来控制编译,可以通过./configure --help查看详细帮助
制作
这一步是用来编译的,它从Makefile中读取指令,然后编译
这一步就是编译,大部分源码包都是通过这一步编译的
当然,有些perl或python编译的软件需要调用perl或python来编译
如果make过程中出现错误,你得记下错误代码(不只是最后一行),然后你可以向开发者提交bugreport(一般INSTALL里有提交地址),或者你的系统有少依赖库等等,这些需要自己仔细研究错误码。
添加参数-j,优化多核多线程的编译过程
进行测试/进行检查
顾名思义,这一步是检查上一步的make,保证make没有错误,即这一步的测试和检查必须全部OK,错误为0
须藤进行安装/进行安装
这一步用于安装软件源码如何编译,它还会从Makefile中读取指令并安装到指定位置
这个命令是用来安装的,一般需要有root权限(因为需要向系统写入文件),所以上面使用了sudo。
在编译源码,或者执行命令而没有确认执行的命令是否执行成功的情况下,我们也会使用 echo $? 供测试用。
如果返回值为0,则执行成功; 如果返回值不为0,则失败。此方法适用于./configure make make install等命令
> # 回显 $?
源码包安装形式遵循的最基本原则:
configure(配置)make(编译)make install(安装)哪个链接错误,需要删除文件重新配置、编译、安装
每一步都用 echo $? 进行测试以确保它是正确的。
卸载软件
两种形式:
直接在安装目录删除
rm -rf 安装目录
在解压安装目录下执行(少数软件支持:如:pcre)
进行卸载
安装编译工具gcc
百胜安装海湾合作委员会
百胜安装 gcc-c++
重新编译需要清除之前编译的信息
使干净
示例:安装apache软件
1 下载源码包
下载链接:#apache24
下载源码包必须到官网下载。 不要在网上随意下载软件源码如何编译,这样很不安全。 因为你下载的源码包很可能已经被改变了。
[root@localhost src]# cd /usr/local/src/
[root@localhost src]# wget
2 解压源码包
[root@localhost src]# tar -jxvf httpd-2.2.24.tar.bz2
3 配置相关选项并生成Makefile
[root@localhost src]# cd httpd-2.2.24
[root@localhost httpd-2.2.24]# ./configure --help |less
使用 ./configure --help 命令查看可用选项。 常用的有 --prefix=PREFIX 这个选项的意思是定义软件包安装在哪里。
[root@localhost httpd-2.2.24]# ./configure --prefix=/usr/local/apache2
不幸的是,一开始安装就报错,因为没有gcc编译器,需要先安装。
[root@localhost httpd-2.2.24]# yum install -y gcc
由于gcc依赖的包较多,安装时间会较长。 安装完成后,继续前面的步骤。
[root@localhost httpd-2.2.24]# ./configure --prefix=/usr/local/apache2
验证此步骤是否成功的命令是:
[root@localhost httpd-2.2.24]# echo $?
如果返回值为“0”,则执行成功,否则不成功。 至此,Makefile就成功生成了。 如果有makefile就直接make,然后make install
[root@localhost httpd-2.2.24]# ls -l Makefile
-rw-r--r-- 1 root root 8954 五月 13 12:02 Makefile
4 编译
[root@localhost httpd-2.2.24]# make
-bash:make:找不到命令
又出错了,提示没有检测到“make”命令。 解决办法是安装make工具。
[root@localhost httpd-2.2.24]# yum install -y make
继续做
[root@localhost httpd-2.2.24]# make
编译时会出现很多乱七八糟的消息,编译时间比较长,CPU使用率会很高。 这是因为CPU估计是高速的。 编译后使用echo $? 验证是否正常、成功。
[root@localhost httpd-2.2.24]# echo $?
如果为0,则可以执行最后一步。
5 安装
[root@localhost httpd-2.2.24]# make install
当然,你也可以使用 echo $? 查看是否安装正确。 经过这一步,“/usr/local/apache2”目录下会减少很多目录。
[root@localhost httpd-2.2.24]# ls /usr/local/apache2/
bin cgi-bin 错误图标 lib man 模块
构建conf htdocs包括日志手册
启动阿帕奇服务
shell># /usr/local/apache2/bin/apachectl 启动/停止/重新启动
注意:apachectl(字母“l”)
至此,apache源码安装完成。 事实上,在日常的源码安装工作中,并不是每个人都能像这样顺利完成安装。 有很多情况会因为错误而无法完成安装。
一般是由于缺少某个库文件造成的。 这就需要你仔细思考错误信息或者检查当前目录下的“config.log”来获取相关信息。 另外,如果自己解决不了,就去网上google一下,通常都会得到你想要的答案。
安装apache2.4.2的问题
Apache2.4下载地址:
#./configure --prefix=/usr/local/apache2 检测编辑环境时出现:
检查年利率...没有
配置:错误:未找到 APR。 请阅读文档
阿帕奇2.4
APR、APR-Util、PCRE、gcc-c++等包必须安装,文档URL地址
解决方案:
1.下载所需软件包:
获取
获取
获取
2.编译安装:
yum 删除 apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-docs
具体步骤如下:
a: 解决apr未找到的问题
[root@xt测试]# tar -zxf apr-1.4.5.tar.gz
[root@xt测试]# cd apr-1.4.5
[root@xt apr-1.4.5]# ./configure --prefix=/usr/local/apr
[root@xt apr-1.4.5]# make && make install
b: 解决APR-util未找到的问题
[root@xt测试]# tar -zxf apr-util-1.3.12.tar.gz
[root@xt 测试]# cd apr-util-1.3.12
[root@xt apr-util-1.3.12]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config # 注意apr-1-config(编号 1)
[root@xt apr-util-1.3.12]# make && make install
c:解决PCR问题
[root@xt test]#unzip -o pcre-8.37.zip # -o 以压缩文件中修改时间最新的文件为标准,设置压缩文件的修改时间与文件相同。
[root@xt测试]#cd PCRE-8.37
[root@xt PCRE-8.10]#./configure --prefix=/usr/local/pcre
错误如下,说需要c++编辑器
配置:错误:您需要 C++ 编译器来支持 C++。
执行 yum install gcc gcc-c++ 安装编辑器
[root@xt PCRE-8.10]#yum install gcc gcc-c++
[root@xt PCRE-8.10]#./configure --prefix=/usr/local/pcre
[root@xt PCRE-8.10]#make && make install
4.最后在编译Apache时添加:
./configure --prefix=/usr/local/apache2
--with-apr=/usr/local/apr
--with-apr-util=/usr/local/apr-util/
--with-pcre=/usr/local/pcre
编译成功~
如何查看80端口是否被占用
netstat -tulnp | 网络统计 grep 80
杀死线程
杀死17071
注意:
主 Apache 进程以 root 用户身份运行,而子进程以权限较低的 apache 用户身份运行。 子进程的数量由配置决定。
示例:安装内存缓存
1、安装libevent(Memcache使用libevent库进行Socket处理,所以需要安装libevent)
下载链接:
tar zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure --prefix=/usr/local/libevent
制作 && 制作安装
# 建立libevent-2.0.so.5到/usr/lib的软连接,这样memcached运行时就会找到libevent库
cd /usr/lib
ln -s /usr/local/libevent/lib/libevent-2.0.so.5 libevent-2.0.so.5 (具体版本取决于你安装的版本)
2.安装memcached
下载链接:
tar zxvf memcached-1.4.20.tar.gz
cd memcached-1.4.20
./configure --prefix=/usr/local/memcached-1.4.20 --with-libevent=/usr/local/libevent
制作
进行安装
3.启动memcached
cd /usr/local/
ln -s memcached-1.4.20 memcached
/usr/local/memcached/bin/memcached -d -p 11211 -u root -c 1024 -m 1024 -l 192.168.112.128
4.安装PHP支持memcache扩展
cd /根/软
tar -zxvf memcache-3.0.6.tgz
cd memcache-3.0.6
/usr/local/php/bin/phpize
./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
制作 && 制作安装
成功后会生成PHP支持的扩展模块
ls /usr/local/php-5.4.17/lib/php/extensions/no-debug-non-zts-20100525/
将扩展添加到 php.ini
vim /usr/local/php/etc/php.ini
[内存缓存]
扩展名=memcache.so