JDK下载
链接:https://pan.baidu.com/s/1jiYMcG5pWiWobQfMqO8__w
提取码:scer
JDK上传至虚拟机
- 远程连接软件使用的是Xshell6,可以使用Xftp6进行文件传输
- 放在自己存放的位置,这里我是防在的/opt/myapps,安装路径时/opt/apps
JDK的安装(二进制安装)
-
首先是文件的解压
[root@hadoop01 ~]# tar -zxvf /opt/myapps/jdk-8u152-linux-x64.tar.gz -C /opt/apps/
-
配置全局变量
-
进入profile文件进行环境变量设置
[root@hadoop01 ~]# vi /etc/profile
-
这里可以去安装路径去把文件夹的名字改成自己想要的,添加如下设置
#JAVA export JAVA_HOME=/opt/apps/jdk1.8 export PATH=.:$PATH:$JAVA_HOME/bin:$JAVA_HOME/lib
-
使更改后的profie文件立即生效
[root@hadoop01 ~]# source /etc/profile
-
使用命令,查看是否配置成功
[root@hadoop01 ~]# java -version
-
补充知识:软件管理
软件安装
Linux下软件的安装⼤概可以分为如下⼏种:
- ⼆进制程序的安装(最简单安装)
- rpm程序安装(后缀名为*.rpm)
- yum源安装(本质也是rpm安装,它只是rpm的⼀种安装⽅式⽽已)
- 源码安装
二进制安装
-
Linux下⼆进制格式的软件是指事先已经在各种平台编译安装好相关软件,然后压缩打包,在安装时只需解压或者执⾏安装可执⾏⽂件即可。这种软件发⾏格式类似与windows系统,这样做的原因是保护源代码程序不对外泄露,保护知识产权。⼆进制软件包的优点是安装简单、容易,缺点是缺乏灵活性,相应的软件包执⾏在对应平台下安装,离开这个环境软件就⽆法运⾏。
-
⼆进制软件包提供了很多类型的打包⽅式,最常⻅的就是我们RPM格式的包,还有以“.tar.gz、.tgz、*.bz2“等形式的⼆进制软件包,最后还有⼀个就是提供安装程序进⾏安装的⼆进制软件包。下⾯分别介绍:
-
这种格式的软件包,安装其实就是简单的解压过程,根据不同的软件打包格式,我们⽤相应的解压命令解压即可。对于*.tar.gz软件格式解压:tar –zxvf xxxxxx.tar.gz 对于*.bz2软件格式解压: tar -
jxvf xxxxxx.tar.gz这类软件的卸载,对于解压后只有单⼀⽬录的软件,可以直接删除对应软件⽬录即可,如果解压后⽂件分散在⼏个⽬录中,需要⼀⼀⼿动删除⽬录。例如:我们常⽤的应⽤服务器容器tomcat软件就是基于这种打包压缩格式发⾏的。我们只需下载后解压即可完成安装,如果需要卸载,直接删除对应的tomcat⽬录即可。
-
这种软件包都提供了安装脚本或者安装向导程序,只需在下载此类软件包后解压,然后进⼊安装⽬录,找到类似的setup、install、install.sh之类的可执⾏⽂件运⾏即可,然后根据提示(⽐如安装路径,参数设置等等)进⾏相应的设置,接着安装就⾃动完成。
这类软件的卸载也提供了相应的卸载脚本或者卸载向导,根据提示即可完成软件卸载。
例如:经常使⽤的sun jdk就是这种安装⽅式,从⽹络下载下来的jdk是个⼆进制可执⾏⽂件,⾸先设置⽂件的可执⾏权限(例如chmod 755 jdk1.6.0_07.bin,权限操作本书后⾯会有详细讲述) ,然后运⾏软件(也即是./ jdk1.6.0_07.bin)即可完成安装。安装完成会在当前⽬录产⽣⼀个对应的jdk程序⽬录。
rpm安装 – RPM软件包管理
-
RPM是RedHat Package Manager(RedHat软件包管理⼯具)的缩写,这⼀⽂件格
式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括
RedHat、CentOS、SUSE等Linux的发⾏版本都有采⽤,可以算是公认的⾏业标准
了。RPM⽂件在Linux系统中的安装最为简便 -
RPM命令使⽤ rpm的常⽤参数
i:安装应⽤程序(install) vh:显示安装进度(verbose hash) U:升级软件包(update) qa: 显示所有已安装软件包(query all) e:卸载应⽤程序(erase) 注意:如果其它软件包有依赖关系,卸载时会产⽣提示信息,可使⽤--nodeps强⾏卸载。 查询所有安装的rpm包: [root@qianfeng01 ~]# rpm –qa 查询mysql相关的包: [root@qianfeng01 ~]# rpm –qa | grep mysql 安装:[root@qianfeng01 ~]# rpm -ivh jdk.rpm 卸载: [root@qianfeng01 ~]# rpm –e mysql* 强⾏卸载:[root@qianfeng01 ~]# rpm –e mysql* --nodeps
yum安装
-
yum,是Yellowdog Updater Modified的缩写,是Linux⼀种软件包管理⼯具。yum则完美的解决了这样的问题。使⽤yum安装,不需要关⼼这个软件包依赖什么程序,yum会⾃动的帮你安装依赖的组件。
-
yum的本质其实还是RPM的安装,yum只是对其进⾏了⾃动的管理,不需要我们再⼿动的管理依赖。
-
yum的基本操作
-
查询
yum list # 查询所有可⽤软件包列表 yum search 关键字 # 搜索服务器上所有和关键字相关的包 yum info 关键字 # 来查找包名
-
安装
yum -y install 包名 # -y ⾃动回答yes
-
升级
yum -y update 包名 # 注意:如果不加包名,就升级所有的,包括内核。必须加包名升级单个软件包,慎用升级所有的 # 检测升级 yum check-update
-
卸载
yum -y remove 包名
-
其他操作
yum --help、man yum # 帮助 yum clean all # 清除缓存和旧的包 yum repolist # 查看当前可⽤的yum源 yum deplist httpd # 列出⼀个包所有依赖的包
-
软件安装之源码安装
-
源码编译安装
由于linux操作系统开放源代码,因⽽在其上安装的软件⼤部分也都是开源软件,例如apache、tomcat、php等软件。开源软件基本都提供源码下载,源码安装的⽅式;
-
源码编译安装的优点
1 ⽤户可以⾃⼰定制软件功能,安装需要的模块,不需要的功能可以不⽤安装。 2 ⽤户还可以⾃⼰选择安装路径,⽅便管理。 3 卸载软件也很⽅便,只需删除对应的安装⽬录即可。 4 能最⼤程度和服务器平台融合,效率稍微⽐其他⽅式⾼。 5 没有windows所谓的注册表之说。
-
源码编译安装的缺点
1 安装较为繁琐,需要⾃⼰配置 2 安装较为耗时,需要⾃⼰编译源码 3 安装较为容易出错,出错也难以解决
-
安装步骤
源码安装软件⼀般有以下⼏个步骤组成:下载解压源码、分析安装平台环境(ifconfigure)、编译安装软件(make,make install)。下⾯我们分别介绍。
-
下载解压源码
linux下软件的源码⼀般都是C或者C++语⾔编写的,并且都会在软件的官⽅⽹站上提供源码包下载,例如apache开源项⽬的官⽅⽹站为 http://www.apache.org,此外在⽹上的很多开源社区⼀般也提供⼀些常⽤软件的源码下载,源码都打包成压缩⽂件,常⻅的源码打包压缩格式有“.tar.gz”、“.tar.baz2”等。我们可以从⽹站上⾸先下载源码⽂件,然后在传到所在的linux系统下,如果你的linux系统处于联⽹状态下,也可以直接在系统内通过wget之类的下载命令将源码包直接下载到linux系统下。 下载完成,把相应的软件解包即可,针对下载软件包的不同,使⽤不同的⽅法进⾏解压,解压完毕后进⼊解压⽣成的⽬录中,在这个⽬录下,⼀般都存在⼀个REDAME⽂件,这个⽂本⽂件⾮常重要,它详细的介绍了这个软件所能完成的功能、授权许可、安装需求、安装注意事项、安装⽅式等等,由于linux各个版本的差异,以及安装环境的不同,软件的安装⽅式也不尽相同,所以在安装软件前,⼀定要事先阅读这个README⽂件,确保安装的正确性。
-
分析安装平台环境
在软件包解压完毕之后,我们进⼊源码⽬录,⼀般都会存在configure和README这么两个⽂件,README就是上⾯我们讲到的,是对软件的介绍和安装说明;linux下软件的安装受到操作系统安装环境的影响,⽐如某些软件在安装或者运⾏过程中需要调⽤操作系统本身的库⽂件,或者需要运⾏系统的某个⼯具等等,但是系统中不存在这个库⽂件或者这个⼯具没有安装,那么安装或者运⾏软件就会失败。为了避免这个问题的出现,在安装软件的时候就需要分析操作系统环境,检测当前系统是否拥有安装软件所需的所有⽂件和⼯具,如果系统缺少某个⽂件,就给出提示,直到满⾜软件的所有需求为⽌。这个就是configure⽂件的功能,configure⽂件⼀般是个可执⾏⽂件,可以在当前⽬录下直接输⼊“./configure”进⾏软件安装的环境测试,如果提示缺少某些安装包,就需要进⾏安装,直到测试通过。通常的,源码安装都需要GCC或者CC编译器,这些编译器⼀般在安装系统时定制安装包中的开发⼯具选项下,其实这也是我们在第⼆章安装linux系统中要求选择开发⼯具包的原因所在。 此外,在执⾏configure分析软件需求时,还可以在“./configure”后⾯加上软 件的安装路径以及安装所需的模块等等⼀些选项,来定制⽤户需要的软件功能。
-
编译安装软件
在验证软件安装环境后,正式进⼊软件的编译步骤,在进⾏编译前,⾸先了解下关于编译的⼀些基础知识。 在linux系统下,make是我们经常⽤到的编译命令,⽆论是安装软件还是项⽬开发,都会经常⽤到编译安装命令,也就是make和make install,对于⼀个包含很多源⽂件的应⽤程序,使⽤make和makefile⼯具可以简单快速的解决各个源⽂件之间复杂的依赖关系,同时,make⼯具还可以⾃动完成所有源码⽂件的编译⼯作,并且可以只对上次编译后修改过的⽂件进⾏增量编译,因此,熟练掌握了make和makefile⼯具之后,源码安装软件就变的像windows下安装软件⼀样简单。
-
Makefile⽂件介绍
make⼯具最主要的功能就是通过makefile⽂件来实现的,makefile⽂件是按照某种语法来进⾏编写的,⽂件中定义了各个源⽂件之间的依赖关系,并说明了如何编译源⽂件并⽣成可执⾏⽂件,它通过描述各个源程序之间的关系让make⼯具⾃动完成编译⼯作。 在linux系统下,习惯⽤Makefile替代makefile⽂件,我们在执⾏configure通过后,就会在当前⽬录下⽣成这个⽂件,⼀般情况下在命令⾏输⼊make时,make命令会默认去寻找当前⽬录下的Makefile⽂件,如果我们⽤其它⽂件作为makefile,就要在make命令选项后指定makefile⽂件,例如我们设定编译规则⽂件为make_file,就需要使⽤以下命令指定:[root@hadoop01 ~]#make -f make_file
-
Makefile举例
下⾯我们通过举例了解下Makefile的编写原则和内容。 例如有⼀个test程序,有三个源⽂件file1.c、file2.c、file3.c以及库⽂件LS编译⽣成,这三个源⽂件还分别包含了⾃⼰的头⽂件1.h、2.h、3.h。通常,C编译器将会输出三个⽬标⽂件file1.o、file2.o、file3.o。假定file1.c和file3.c都要声明⽤到⼀个apcs的⽂件,但是file2.c不⽤,也就是在file1.c和file3.c⽂件中都有类似“#include “apcs””的声明。 下⾯这段代码就是对test程序的描述: 1 #It is a example for describing makefile 2 test: file1.o file2.o file3.o 3 cc file1.o file2.o file3.o -LS -o test 4 file1.o: file1.c 1.h apcs 5 gcc -c file1.c 6 file3.o: file3.c 3.h apcs 7 gcc -c file3.c 8 file2.o: file2.c c.h 9 gcc -c file2.c 这个描述⽂档其实就是⼀个makefile⽂件,第⼀⾏为注释⾏,第⼆⾏指定test程序有file1.o、file2.o、file3.o链接⽣成,第三⾏描述了如何从test所依赖的⽂件建⽴可执⾏⽂件,接下来的第四、六、⼋⾏定义了三个⽬标⽂件和它们依赖的“.c”、“.h”和“apcs”⽂件。剩下的第五、七、九⾏定义了如何从⽬标依赖的⽂件⽣成可执⾏⽂件。 在了解Makefile⽂件结构后,我们就可以控制编译的选项,定制⾃⼰所需的软件功能。 接下来,我们只需在命令⾏输⼊make命令,即可进⼊编译阶段,根据软件源程序的⼤⼩和系统的硬件配置,编译时间不定,编译完毕,会在当前⽬录以及⼦⽬录下⽣成相应的可执⾏⽂件,接下来就进⼊最后的安装软件阶段,在命令⾏输⼊makeinstall命令,开始安装软件,安装进程会⾸先创建安装⽬录,如果我们没有指定安装的⽬录,安装程序默认会安装在系统的/usr/local⽬录下创建安装⽬录,然后将相应的⽂件和可执⾏程序从源码⽬录拷⻉到安装⽬录下,这样安装就完毕了。
-