一、源码安装
什么是源码安装:源码安装是指从一个软件的源代码(原始、可读的程序代码)开始,通过编译(源代码->计算机可读的二进制代码)和安装(将编译好的程序放在合适的位置,设置相关环境变量等)的过程,最终在系统中安装并成功运行该软件。
源码安装的优点:1、可以使用最新版本,及时修复BUG;2、用户可以自己定制软件功能,安装需要的模块,不需要的功能可以不用安装;3、用户可以自己选择安装路径,方便管理,卸载软件也很方便,只需删除对应的安装目录即可。
源码安装的缺点:源码安装会依赖很多其他软件或库文件,这些依赖软件需要查阅官方文档才知道。
源码安装的基本过程:
1、下载解压源码:习惯性将源码压缩包释放到 /usr/local/src/[对应目录名] 下,解包源码文件
位置为 /usr/local/src/[软件名-版本号]。
2、分析平台安装环境:解压后的文件,“cd”切换到该目录下,会看到一个名为“configure”的可执行文件,在当前目录下直接输入“./configure”进行软件安装的环境测试(如果提示缺少某些安装包,就需要进行安装,直到测试通过。通常,源码安装都需要GCC或者CC编译器,可以通过“yum install gcc”进行安装编译器),常用配置命令:./configure --prefix=[软件安装位置目录,例如:/user/local/Python],注意如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share;如果使用--prefix选项可以将安装文件放到/usr/local/Python目录中,有利于查找、卸载软件或移植软件,当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净,移植软件只需拷贝整个目录到另外一个机器即可。
3、编译:将源代码变为二进制的可执行程序,它最主要的功能就是通过makefile文件来实现的,make过程比较消耗时间,也是源码安装最关键的一个步骤,用“make”指令。
4、安装:使用“make install”进行安装,此阶段就是将编译好的文件拷贝到安装目录下。
安装实例:
1、提前下载好Python源码压缩包,通过 tar -zxvf Python -3.12.3.tgz 对其进行解压。
2、通过 cd 指令进入解压好的文件中, 找到其中的执行文件 configure ,通过指令 ./configure --prefix=/usr/local/python 进行环境分析。
3、通过 make 指令进行解析。
4、通过 make install 指令进行安装。
5、安装完成。
二、rpm/yum安装
什么是rpm安装:RPM是Red Hat Package Manager的缩写,本意就是Redhat软件包管理,是最先由Redhat公司开发出来的linux下软件包管理工具。以“.rpm”结尾的软件包,就是RPM文件。每个RPM文件中包含了已经编译好的二进制可执行文件,其实就是将软件源码文件进行编译安装,然后进行封装,就成了RPM文件。
rpm安装的优点:安装简单方便,因为软件已经编译完成打包完毕,安装只是个验证环境和解压的过程。
rpm安装的缺点:1、对操作系统环境的依赖很大,它要求RPM包的安装环境必须与RPM包封装时的环境相一致或相当(比如你在centos7的RPM包拷贝到centos6就不能使用了)。2、需要满足安装时与系统某些软件包的依赖关系,例如需要安装A软件,但是A软件需要系统有B和C软件的支持,那么就必须先安装B和C软件,然后才能安装A软件。3、rpm软件包不一定有最新的版本,软件版本的更新有个过程。
rpm问格式解读(以下图为例):
安装常用命令:
1、一般安装:rpm -ivh xxx.rpm
2、升级安装:rpm -Uvh xxx.rpm
3、卸载:rpm -e xxx(包的名称)
注意:使用rpm包安装软件,需要有很多依赖去解决,安装起来很繁琐
什么是yum/dnf在线安装:为了克服rpm包安装软件的难度, yum/dnf 安装方式出现了。 yum/dnf是进行linux系统下软件安装和升级常用的一个工具,通过yum/dnf工具配合互联网即可实现软件的便捷安装和自动升级。
yum/dnf在线安装优点:1、yum/dnf安装的本质还是rpm文件安装,只不过rpm文件是yum自动通过互联网下载下来的。 2、yum/dnf安装的优势是可解决rpm安装的依赖问题,安装依赖yum/dnf会自己查找,并下载安装。
yum/dnf在线安装缺点:1、yum/dnf安装的缺点是服务器需要能连接上外网,不能联网的服务器无法使用yum/dnf安装软件。(若有光驱,当然也可以建立本地的yum源)
yum/dnf基本用法:
1、yum list #列出来有哪些可以安装的软件包;
2、yum install [软件包名称] #带提示安装某软件包;
3、yum -y install [软件包名称] #不提示直接安装某软件包;
4、yum remove [软件包名称]gettext-devel #删除某软件包以及依赖;
5、yum update #更新系统中所有安装过的rpm包
6、yum -y install --downloadonly --downloaddir=/tmp [httpd] # 只下载httpd软件包,不安装,将下载的rpm文件放到/tmp目录下;
说明:centos 7版本没有 dnf 这个命令,红帽8以后才有。
安装实例:
1、将zsc.x86_64软件包仅下载到创建好的/usr/test 目录下。
2、查看/usr/test ,安装包已经存在,若有依赖包会一起下载。
yum源介绍
1、yum源相关文件放在 /etc/yum.repos.d 目录下,重点是Centos-Base.repo这个文件,有时候下载和更新软件,由于yum源地址是国外的地址,会有点慢,这时我们可以更换一下系统默认的yum源为国内的yum源。
2、 这里以阿里云yum源为例,我们首先将原来的yum源做备份处理
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup。
3、下载阿里云的yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo。
4、清理缓存 yum clean all。
5、生成新的缓存 yum makecache。
另外说明:除了基础源,我们可以安装一些第三方yum源,这些不是系统默认的,但是其中包含了许多丰富的软件包,例如 EPEL附加软件包yum源,相关的EPEL软件包可以从EPEL官方网站下载到,目前有EL7、 EL8、 EL9三个版本,可根据不同centos版本下载不同的EPEL附加软件源。
Centos7下可以直接下载: yum install epel-release
三、二进制安装
什么是二进制安装:相当于已经把这个软件编译安装好,压缩打成了一个包,提供给我们使用。 在安装二进制软件包时,只需解压或者执行安装可执行文件即可。
二进制安装优点:所有的依赖已经全在这个压缩包里了,不需要担心依赖问题,安装简单
二进制安装缺点:1、缺乏灵活性,相应的软件包只能在对应平台下安装,离开这个环境,软件就无法运行。2、很多开源软件不一定都提供二进制安装包,java类的开源软件一般提供二进制安装包,mysql也提供有二进制安装包。
查询方式:
1、进入其官方网址,以apache-tomcat为例,找到tar.gz压缩包,查询其链接地址。
2、 输入 wget --no-check-certificate https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.100/bin/apache-tomcat-8.5.100.tar.gz,便可查询到此压缩包。
3、解压该包。
4、进入解压好的目录,bin目录下会有各种启动文件,我们只需要在bin目录下启动服务就行啦。
解压命令:
1、对于*.tar.gz、 *.tgz软件格式,解压命令如下: tar -zxvf xxxxxx.tar.gz、 tar -zxvf xxxxxx.tgz。
2、对于*.bz2软件格式,解压命令如下: tar -jxvf xxxxxx.tar.bz2。
3、对于*.tar.xz软件格式,解压命令如下: tar -xvf xxxxxx.tar.xz。