Linux下软件的安装和管理


1 Linux下软件安装的四种方式介绍

Windows下的软件安装,通常都只是需要通过鼠标双击安装程序或者使用winrar等解压工具解压软件到指定的目录(绿色版)即可。
而Linux下软件安装的方式主要由四种,分别是源码安装,RPM安装,yum安装和二进制软件安装,可以根据不同的网络环境来选择合适的软件安装方式。

2 源码安装方式

由于Linux操作系统开放源代码,而在该系统上安装的绝大部分软件都是开源软件,例如JDK,Tomcat,Memcached,Redis,MongoDB….它们都提供了源码下载和安装的方式。源码安装的好处是用户可以定制软件功能,选择安装路径,方便管理,软件的卸载只需要删除对应的安装目录即可,没有Windows所谓的注册表之说。
源码安装软件通常都需要 下载解压源码,分析安装平台环境(configure),编译安装软件(make,make install)三个步骤。下面详细说明这几个步骤!

下载解压源码:Linux下软件的源码一般都是C/C++语言编写,并且都会在软件的官网上提供源码包下载,源码包的格式通常都是*.tar.gz(以最新版本的Nginx为例,nginx-1.9.12.tar.gz),如果你的Linux系统不能联网,需要通过SecureCRT上传至Linux,再进行解压安装,如果Linux系统可以联网,可以通过下载命令wget将源码包直接下载到Linux系统下。

分析平台安装环境:Linux系统安装软件时会受到操作系统的环境影响,比如某些软件在安装或者运行的过程中需要调用操作系统本身的库文件,如果该库文件不存在则软件会运行失败,configure文件的功能就是用来进行软件安装的环境测试,如果提示缺少某些安装包,就需要进行安装,直到测试通过。此外,在执行configure分析软件需求时,还可以在./configure后面加上软件安装的路径以及安装所需要的模块等选项,来定制软件的功能。

编译安装软件:在Linux系统下,make是经常用到的编译命令,而编译是通过makefile文件来描述各个源程序之间的依赖关系从而让make工具自动完成编译的工作。编译完成之后会在当前目录以及子目录下生成对应的可执行文件,之后就进入 最后的安装软件阶段,在命令行输入make install命令,开始安装软件,安装进程首先会创建目录,如果没有指定安装目录,安装程序默认会在/usr/local目录下创建安装目录,然后将相应的文件和可执行程序从源码目录复制到安装目录下,这样就安装完毕了!可参考源码安装MySQ L5.6链接点我!!!

3 RPM安装方式

RPM是Red Hat Package Manage的缩写,本意就是Red Hat软件包管理器,类似于Windows下的”添加/删除程序”,在Linux的系统安装光盘中有许多以”.rpm”结尾的软件包,这些包就是包含了已经编译好的二进制文件封装成了RPM文件,类似于Windows安装包的”.exe”文件,此外RPM文件中包含了运行可执行文件的其他文件。

RPM包管理方式的优点是:安装简单,方便,因为软件已经编译完成且打包完毕,安装的过程只是个验证环境和解压的过程,此外通过RPM方式安装的软件,RPM工具都会记录软件的安装信息,方便日后软件的查询,升级和卸载。
RPM包管理的缺点是:对操作系统环境的依赖大,它要求RPM包的安装环境和RPM包封装时的环境相当一致。还需要满足安装时与系统某些软件包的依赖关系。可参考 CentOS6.7 RPM安装JDK8

rpm工具使用的常用命令

[[email protected] jdk]# rpm -ivh jdk-8u73-linux-x64.rpm   #安装指定的rpm安装包(这里是安装的JDK8),需要将RPM安装包提前下载并上传至服务器

[[email protected] jdk]# rpm -qf /bin/bash #查询操作系统中的某个文件属于哪个对应的rpm软件包
bash-4.1.2-33.el6.x86_64

[[email protected] jdk]# rpm -qp jdk-8u73-linux-x64.rpm #查询以".rpm"为后缀的软件包安装后对应的包名称
jdk1.8.0_73-1.8.0_73-fcs.x86_64

[[email protected] jdk]# rpm -e jdk1.8.0_73-1.8.0_73-fcs.x86_64 #删除指定软件包

这里在谈到rpm安装软件时有个令人头疼的问题是没有演示到的,就是RPM安装软件时如果该软件以来的其他系统组件如果没有安装时会导致RPM安装失败,这时yum的优势就体现出来了。

4 yum安装方式

yum是进行Linux系统下软件安装和升级的一个常用工具,通过yum工具配合互联网即可实现软件的便捷安装和自动升级,例如输入yum update即可实现系统的自动升级,而通过yum安装或者更新软件,实际上是通过yum命令下载指定的远程互联网主机上的RPM软件包,然后进行自动升级安装,同事解决各个软件之间的依赖关系。

[[email protected] jdk]# rpm -qa|grep yum #查看当前系统是否已经安装过yum,如果没有任何提示则表示没有安装
yum-metadata-parser-1.1.2-16.el6.x86_64
yum-plugin-fastestmirror-1.1.30-30.el6.noarch
yum-utils-1.1.30-30.el6.noarch
yum-3.2.29-69.el6.centos.noarch
yum-plugin-security-1.1.30-30.el6.noarch

yum的基本用法

[[email protected] jdk]# yum install -y rpm name #安装rpm软件包
[[email protected] jdk]# yum check-update #检查可更新的rpm包
[[email protected] jdk]# yum remove -y rpm name #卸载rpm软件包
[[email protected] jdk]# yum update #更新所有的rpm包
[[email protected] jdk]# yum info #查看资源库中所有可以安装或者更新的rpm包信息

5 二进制软件安装

Linux下二进制格式的软件是指事先已经在各种平台编译好的相关软件,然后压缩打包,在安装时只需要解压或者执行安装可执行文件即可。二进制软件包提供了常见的打包方式包括rpm,targ.gz,bz2等形式。对于这种格式的软件包,安装其实就是解压的过程,根据不同的软件包格式,用相应的解压缩命令解压即可。

这里以Apache的apache-tomcat-8.0.32.tar.gz为例

[[email protected] guanglei]# cd soft/ 
[[email protected] soft]# rz #将从官网下载的apache-tomcat-8.0.32.tar.gz上传到soft目录

[[email protected] jdk]# cp /home/guanglei/soft/apache-tomcat-8.0.32.tar.gz  /usr/local/jdk/ #复制文件
[[email protected] jdk]#  chmod u+x apache-tomcat-8.0.32.tar.gz  #添加可执行权限
[[email protected] jdk]# tar -zxvf apache-tomcat-8.0.32.tar.gz #解压该文件
[[email protected] bin]# sh /usr/local/jdk/apache-tomcat-8.0.32/bin/startup.sh #调用脚本启动Tomcat
[[email protected] bin]# ps -ef|grep java #查看进程信息
root      22302      1 89 12:14 pts/0    00:00:04 /usr/java/jdk1.8.0_73/bin/java -Djava.util.logging.config.file=/usr/local/jdk/apache-tomcat-8.0.32/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/jdk/apache-tomcat-8.0.32/endorsed -classpath /usr/local/jdk/apache-tomcat-8.0.32/bin/bootstrap.jar:/usr/local/jdk/apache-tomcat-8.0.32/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/jdk/apache-tomcat-8.0.32 -Dcatalina.home=/usr/local/jdk/apache-tomcat-8.0.32 -Djava.io.tmpdir=/usr/local/jdk/apache-tomcat-8.0.32/temp org.apache.catalina.startup.Bootstrap start
root      22331   2914  0 12:14 pts/0    00:00:00 grep java
[[email protected] bin]# kill -9 22302 #关闭Tomcat进程

相关内容