/ chkconfig

摆脱yum、apt,从此不怕编译安装

刚从windows转linux的时候,总会把一些windows的使用习惯带到linux中去,例如安装软件管理,所以新手都会比较喜欢apt和yum这些自动化软件安装的工具,我也不例外。

在百度几个月的实习生活,让我对linux更加熟悉,自然也包括了编译安装这东西,所以今天就把一些心得记一下。

1.编译安装之后,软件到底装哪去了?

在windows下安装软件,可视化界面会一步步提示你配置各种安装选项,最常见的就是软件安装路径,让用户知道这软件到底装到了磁盘的哪个文件夹。

但网上大多数的linux教程,都只是给了两行命令

./configure make && make install

新手完全不知道这是在干什么,也不知道为什么这么干。

人总是有对未知的恐惧,这软件装哪了都不知道,以后还怎么用?

其实第一行的./configure就是配置的意思,没有带任何参数,说明使用的是默认设置,也就等同于windows下全部点击“下一步”的方式。

以apache2.2.2为例,在源码文件夹下,输入以下命令

./configure --help

就可以看到各个安装选项,其中的prefix就是安装的目标文件夹

–prefix=PREFIX install architecture-independent files in PREFIX [/usr/local/apache2]

后面的/usr/local/apache2是默认安装路径,如果我们在./configure的时候没有指定prefix的值,那么apache就会被安装到/usr/local/apache2目录下。

Optional Features和Optional Packages则是一些可选组件,就类似windows安装软件中的用户自定义。

当然不同的软件的配置项都是不一样的,但通过./configure –help命令就可以看到具体如何配置了。

编译过程中也会经常出现各种问题,一般都是依赖关系处理不正确或者是配置不正确导致的,这时候就要上搜索引擎找答案了,有时候会折腾挺久,但是往往乐在其中:)

2.我想让软件开机自启动,或者注册为服务。

linux下的服务都是以文件的形式存在的,存放在/etc/init.d目录下,具体可以参考这篇文章http://www.linuxidc.com/Linux/2012-05/59674.htm

同样是拿apache为例,编译安装成功之后,在/etc/init.d/目录下会自动生成一个httpd的文件,这个就是apache的服务了,实际上在apache安装目录下的bin文件夹中也有一个httpd的文件,二者是一样的。

虽然apache已经被默认添加为服务了,但是并不会开机启动,可以用chkconfig命令来查看

chkconfig --list httpd

显示的结果是

httpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off

具体含义可以参考http://baike.baidu.com/view/2098380.htm

同样是用chkconfig命令来设置开机启动

chkconfig httpd on

然后再次

chkconfig --list httpd

显示

httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

有on即可。

3.如何删除编译安装的软件

很简单啦,找到安装目录直接rm掉就行了,但确实可能会有一些文件残留在其他地方,有洁癖的人会有点难过了,例如我:(

摆脱yum、apt,从此不怕编译安装
Share this