Linux学习之 软件包管理-源码包管理-源码包与RPM包的区别

本文探讨了Linux中源码包和RPM包的区别,包括安装前后的不同,安装位置及其对服务管理的影响。源码包提供安装自由度但过程复杂,RPM包安装快速但位置固定。源码包安装的服务需通过绝对路径管理,而RPM包可使用service命令。此外,还介绍了源码包安装的基本步骤和注意事项。
摘要由CSDN通过智能技术生成

Linux源码安装:

一、源码包和RPM包的区别

1、源码包和RPM包安装前的区别:

安装之前的区别:概念上的区别

源码包开源 安装自由 效率更高  安装慢 容易出错

rpm 安装更快,不容易报错,

安装之后的区别:安装位置不同,带来管理上的区别

rpm 安装在默认位置

源码包自定义位置

2、RPM包安装位置

是安装在默认位置中

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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值