Linux源码安装:
一、源码包和RPM包的区别
1、源码包和RPM包安装前的区别:
安装之前的区别:概念上的区别
源码包开源 安装自由 效率更高 安装慢 容易出错
rpm 安装更快,不容易报错,
安装之后的区别:安装位置不同,带来管理上的区别
rpm 安装在默认位置
源码包自定义位置
2、RPM包安装位置
是安装在默认位置中
/etc/ |
配置文件安装目录 |
/usr/bin/ | 可执行的命令安装目录 |
/usr/lib/ | 程序所使用的函数保存位置 |
/usr/share/doc | 基本的软件使用手册保存位置 |
/usr/share/man/ | 帮助文件保存位置 |
示例:Apache的安装信息查询,如下命令可查看
[root@localhost ~]# rpm -q httpd
httpd-2.2.15-69.el6.centos.x86_64
[root@localhost ~]#
[root@localhost ~]# rpm -ql httpd
/etc/httpd
/etc/httpd/conf
/etc/httpd/conf.d
/etc/httpd/conf.d/README
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/httpd/logs
/etc/httpd/modules
/etc/httpd/run
/etc/logrotate.d/httpd
/etc/rc.d/init.d/htcacheclean
/etc/rc.d/init.d/httpd
/etc/sysconfig/htcacheclean
/etc/sysconfig/httpd
/usr/lib64/httpd
/usr/lib64/httpd/modules
/usr/lib64/httpd/modules/mod_actions.so
/usr/lib64/httpd/modules/mod_alias.so
/usr/lib64/httpd/modules/mod_asis.so
/usr/lib64/httpd/modules/mod_auth_basic.so
/usr/lib64/httpd/modules/mod_auth_digest.so
/usr/lib64/httpd/modules/mod_authn_alias.so
/usr/lib64/httpd/modules/mod_authn_anon.so
/usr/lib64/httpd/modules/mod_authn_dbd.so
/usr/lib64/httpd/modules/mod_authn_dbm.so
3)源码包安装位置
安装在指定位置当中,一般是
/usr/local/软件名/
比如源码包安装位置不同,Apache 源码包一般安装在/usr/local/httpd下
4)安装位置不同带来的影响
RPM 包安装的服务可以使用系统服务管理命令(service)来管理,例如
RPM包安装的Apache 的启动方法是:
方法一: /etc/rc.d/init.d/httpd start
方法二:/service httpd start
方法三: 快捷方式(后续shell命令中介绍)
所说的管理,主要的就是启动 停止 暂停等
[root@localhost init.d]# service httpd start
正在启动 httpd:httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
[确定]
[root@localhost init.d]#
以上bug后续解决
如下为rpm 安装的软件,可以通过service 命令执行的服务,比如
[root@localhost ~]# cd /etc/rc
rc rc1.d/ rc3.d/ rc5.d/ rc.d/ rc.sysinit
rc0.d/ rc2.d/ rc4.d/ rc6.d/ rc.local
[root@localhost ~]# cd /etc/rc.d/init.d/
[root@localhost init.d]# lls
-bash: lls: command not found
[root@localhost init.d]# ls
abrt-ccpp crond irqbalance nfs rdisc single
abrtd cups kdump nfslock rdma smartd
abrt-oops dnsmasq killall nfs-rdma restorecond spice-vdagentd
acpid firstboot lvm2-lvmetad ntpd rngd sshd
atd functions lvm2-monitor ntpdate rpcbind sssd
auditd haldaemon mdmonitor oddjobd rpcgssd sysstat
autofs halt messagebus portreserve rpcidmapd udev-post
blk-availability htcacheclean netconsole postfix rpcsvcgssd wdaemon
bluetooth httpd netfs pppoe-server rsyslog winbind
certmonger ip6tables network psacct sandbox wpa_supplicant
cpuspeed iptables NetworkManager quota_nld saslauthd ypbind
[root@localhost init.d]#
上方ls列出的服务都可以通过service 服务直接管理
示例:
[root@localhost init.d]# service httpd start
正在启动 httpd:httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
[确定]
[root@localhost init.d]#
以上bug后续解决
6)service 命令 Red Hat系列专有的,其他Linux可能没有
7)因为服务管理命令,比如service、config 命令等只会搜索固定的文件,无法搜索到用户源码包自定义安装的位置,所以服务找不到相应的管理命令,相应地也就无法管理源码包安装的文件
而源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。
所以只能用绝对路径进行服务的管理,如:
方法: /usr/local/apache2/bin/apache start
二、源码包安装过程
1、安装准备
1)安装C语言编辑器
[root@localhost init.d]# rpm -q gcc
gcc-4.4.7-23.el6.x86_64
2)下载源码包:http://mirrot.bit.edu.cn/apache/httpd/
查看当前是否已经安装httpd
[root@localhost init.d]# rpm -q httpd
httpd-2.2.15-69.el6.centos.x86_64
如此表示已经安装过,
那如果已经通过rpm包安装软件的方式安装过,是否可以再次安装,也就是是否可以同时安装两个httpd?
答案:是的。因为Linux中rpm安装包安装软件的位置和通过源码包安装的位置不同,不像Windows,所以,可以同时安装两个。
2、安装注意事项
1)源代码保存位置:/usr/local/src/
2)软件安装位置:/usr/local/ 类似于Windows的program files文件夹
3)如何确定安装过程报错:
》安装过程停止,必须是停止时的警告等提示,才算错误,一般一旦出错,很难解决
》并出现error、warning或no提示
3、源码包安装过程:
1)下载源码包,可以在Windows中下载好后,通过跨系统软件传输方式,传输到Linux软件中,比如Windows cp wcp
2)解压缩下载的源码包
进入Linux中刚下载的httpd源码包软件包所在目录
[root@localhost httpd-2.4.37]# cd /root/下载/
[root@localhost 下载]# ls
CentOS-6.10-x86_64-bin-DVD1 httpd-2.4.37.tar.bz2
[root@localhost 下载]#
解压
[root@localhost 下载]# tar -jxvf httpd-2.4.37.tar.bz2
httpd-2.4.37/docs/manual/urlmapping.html
httpd-2.4.37/buildconf
httpd-2.4.37/Makefile.in
httpd-2.4.37/srclib/
httpd-2.4.37/srclib/Makefile.in
查看当前目录
[root@localhost 下载]# ls
CentOS-6.10-x86_64-bin-DVD1 httpd-2.4.37 httpd-2.4.37.tar.bz2
3)进入解压缩目录
进入到解压后的目录中
[root@localhost 下载]# cd httpd-2.4.37
[root@localhost httpd-2.4.37]# cd ..
[root@localhost 下载]# do -sh httpd-2.4.37
-bash: syntax error near unexpected token `do'
[root@localhost 下载]# cd httpd-2.4.37
[root@localhost httpd-2.4.37]# ls
ABOUT_APACHE BuildBin.dsp emacs-style LAYOUT NOTICE srclib
acinclude.m4 buildconf httpd.dep libhttpd.dep NWGNUmakefile support
Apache-apr2.dsw CHANGES httpd.dsp libhttpd.dsp os test
Apache.dsw CMakeLists.txt httpd.mak libhttpd.mak README VERSIONING
apache_probes.d config.layout httpd.spec LICENSE README.cmake
ap.d configure include Makefile.in README.platforms
build configure.in INSTALL Makefile.win ROADMAP
BuildAll.dsp docs InstallBin.dsp modules server
4)如果遇到一个陌生的软件安装包,先查看软件安装信息,获取安装步骤等。如何获取,步骤如下:
[root@localhost 下载]# ls
CentOS-6.10-x86_64-bin-DVD1 httpd-2.4.37 httpd-2.4.37.tar.bz2
[root@localhost 下载]# cd httpd-2.4.37
[root@localhost httpd-2.4.37]# ls
ABOUT_APACHE BuildBin.dsp emacs-style LAYOUT NOTICE srclib
acinclude.m4 buildconf httpd.dep libhttpd.dep NWGNUmakefile support
Apache-apr2.dsw CHANGES httpd.dsp libhttpd.dsp os test
Apache.dsw CMakeLists.txt httpd.mak libhttpd.mak README VERSIONING
apach