linux:二进制包安装与源码包安装详解

一. 软件包安装

       Linux中软件包分为 源码包 和二进制包

1. 源码包


(1) 概述
       源码包就是作者直接将源程序发布在网上,我们直接下载源文件,自己编译成二进制程序使用。


(2) 优点
       开源,可修改源代码;

       可自由选择所需要的功能;

       编译安装,更加适合自己的系统,更加稳定效率更高;

       卸载方便也更加干净;


(3) 缺点
       安装步骤过多,容易出现错误;

       编译过程较长,安装比二进制包安装时间长;

2. 二进制包


(1) 分类
       DPKG包:由 Debian Linux开发出的包管理机制,主要应用于Debian和Ubuntu中;

       RPM包:由Ret Hat开发的包管理系统,安装,升级,卸载非常方便。主要应用于Centos, Fedora等等。


(2) 优点
       包管理系统简单,只需要几个命令即可实现安装,卸载等等;

安装速度比源码包安装快很多;


(3) 缺点
       不是开源的,看不到源代码;

       功能选择不如源代码灵活;

       安装软件包需要依赖于其他的软件包;

3. 软件包选择

       如果安装的服务是给大量客户端使用的,建议使用源码包安装,效率更高;

       如果安装的服务是给少量用户使用的,或者本地使用的,建议RPM包安装,因为包管理方便;

(二) RPM安装

1、RPM包手动安装


       手动安装非常地麻烦,需要自己找依赖的包与库函数,艹。

rpm -ivh 包全名

       -i: install安装

       -v: 显示更详细的信息(verbose)

       -h: 打印#显示安装进度(hash)

       包全名后面还可以接设置参数,如下所示:

       --nodeps: 不检测依赖性安装,这样安装的软件基本上无法使用,不建议;

       --force: 直接强制安装,当该服务的某些文件找不到时,此命令可以重新安装找回;

       --test: 测试安装,不会实际安装,仅仅检测依赖性;

2、RPM包默认安装位置


       /etc/ 配置文件安装目录

       /usr/bin: 可执行的命令安装目录

       /usr/lib: 程序使用的函数库保存位置

       /usr/share/doc: 软件使用手册位置

       /usr/share/man/ 帮助文件位置

       RPM包建议安装在默认路径中,因为系统中的其他服务会根据默认的路径查找安装的服务,且RPM包管理系统是由卸载命令的,可以根据数据库记录的安装位置来卸载。而源码包安装时必须指定安装路径,因为当要卸载源码包安装的目录时直接删除即可,如果不指定安装目录,服务会安装在系统的各个位置,没有卸载命令,需要一个个地手动删除,非常麻烦。

  3、服务启动命令

service 服务名  start|stop|restart|status 

systemctl restart 服务名

4、RPM包升级

rpm -Uvh 包全名
  • 1

       -U:升级安装,如果没有安装过,则直接安装;如果安装的版本太旧,则升级;

5、RPM包卸载

rpm -e 包名

       -e 卸载

       注意,RPM包在卸载时也是有依赖性的,安装时是从下往上依赖,卸载时就是从上往下依赖了。卸载某个包,那么其上的那些包都会被卸载掉。

 6、RPM包查询

1. 查询软件包是否安装
rpm -q 包名

 2、查询软件包的文件列表

rpm -ql 包名

RPM包安装不建议自己指定安装位置,建议安装在默认的位置,因为RPM包有标准的卸载命令,即使各个文件安装在系统的不同位置,也能够卸载干净:

如 安装httpd,各个文件的位置:

       配置文件: /etc/httpd/conf/httpd.conf

       网页位置: /var/www/html/

       日志位置: /var/log/httpd/

       启动方法: service httpd restart 或是 /etc/rc.d/init.d/httpd restart ,其实第一个命令就是到第二个命令的目录下找执行脚本的。

       源码包安装必须指定安装位置,因为没有安装数据库,没有卸载命令,很难卸载干净。当指定了安装目录后,很容易找到安装的文件。

同样的安装httpd:
       配置文件: /usr/local/apache2/conf/httpd/conf

       网页文件: /usr/local/apache2/htdocs

       日志位置: /usr/local/apache2/logs

       启动方法: /usr/local/apache2/bin/apache2ctl start

 三、源码包安装

 源码包安装必须指定安装位置,因为没有安装数据库,没有卸载命令,很难卸载干净。当指定了安装目录后,很容易找到安装的文件。

同样的安装httpd:
       配置文件: /usr/local/apache2/conf/httpd/conf

       网页文件: /usr/local/apache2/htdocs

       日志位置: /usr/local/apache2/logs

       启动方法: /usr/local/apache2/bin/apache2ctl start

安装过程


1.下载源码包解压缩

wget 源码下载地址

2.进入解压目录

tar xf 源码包文件名

3、安装依赖

yum install -y pcre-devel gcc gcc-c++ make zlib-devel openssl-devel

4.编译前准备 ./configure脚本(生成配置信息和Makefile文件)

这个命令有三个作用:

(1) 检测系统环境是否符合要求

(2) 定义需要的功能选项

(3) 将系统环境的检测结果和定义好的功能选项写入Makefile文件中,后续的编译和安装需要依赖这个文件的内容。

一般通过如下参数来指定安装路径:

./configure --prefix=路径名(一般是/usr/local/文件名)

5.make 编译(执行makefile文件并生成软件)


       make会调用gcc编译器,读取Makefile文件中的信息进行系统软件编译,编译就是为了将源码程序转变为能被Linux识别的可执行文件,保存在当前目录下。


6.make clean 清空编译内容


       若在./configure 或 make 命令后报错,则需要清空生成的Makefile文件或编译生成的.o文件。


7.make install 编译安装(将软件安装到指定目录)


       真正的安装过程,需要写清楚程序的安装位置,便于删除。如果在这一步报错,需要将整个文件夹删除,重新走一遍安装流程。因为编译安装这一步有写入操作,之前的./configure和 make 都只是生成临时文件,用make clean 删除即可。


8、 删除


       源码包没有删除命令,直接删除安装目录即可。

9、启动软件

以nginx为例,nginx会安装到/usr/local/nginx下

nginx下的文件目录为:

conf:配置文件

html:静态文件

logs:nginx软件的启动日志

sbin:启动文件

我们进入sbin目录下,会有一个绿色的nginx的文件,绿色代表可执行文件

我们执行./nginx就启动了nginx软件或服务

(首先去配置文件中,将端口号修改一下),我们在浏览器中输入服务器地址和端口,就可以看到nginx的html

nginx命令

1、nginx:启动

2、nginx-s reload :重新加载,修改配置文件

3、nginx -s restart :重启

4、nginx -s stop:停止

在任意目录下敲nginx就可以执行,需要配置软链接

1)ln -s /usr/local/nginx/sbin/nginx /sbin/nginx

2)把/usr/local/nginx/sbin/nginx 放到环境变量中

3)制作成systemctl系统服务

  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值