本新手是windows阵营的码农,服务端、客户端都用的都是windows的,近来在虚机上装了个Ubuntu16.04LTS,觉得玩不溜,先记录出来。本新手在学习新事物时比较喜欢做类比,用新的知识与先前把握的进行对比,有些比较具象、隐晦的概念,有可能通过对比,就理解了其意义。
此次是由于须要安装配置pycharm,所以,顺便把配置Ubuntu16.04LTS环境变量过程中的一些理解记录出来。第一步是要把jdk环境配置好,pycharm是jetbrains的其中一个产品,该公司的其他产品有webstorm、PHPStorm。在windows上安装布署jdk非常简单双击安装程序,之后配置环境变量,对无扩充名的Unix体系(确切来说是Unix以及类Unix的操作系统阵营,后称Unix阵营吧)的文件系统如何运行安装程序毫无概念,于是上网查找Ubuntu上jdk的安装方式,大约是有两种方式,用apt-get命令添加ppa源安装或则在官网下载linux平台的安装包,其中的一个博文推荐用apt-get命令安装,说是这样可以手动更新,我其实不明白哪些意思啦,于是就用这些方式装了,虽然可以手动更新嘛。这么,就去了解了一下apt-get与ppa源是哪些鬼?
apt-get可以理解为系统自带集成的一个工具,与windows的ping、telnet类似,它的作用就是拿来管理软件包。其实有没比它更好的工具,我没继续研究下去,相对其他同类工具的利弊之处,自然也就不清楚了,不过就这样用了。
至于ppa源linux修改用户环境变量,在Unix阵营的精神就是开源,其实是有个软件基金会存在,这儿我把他看成官方的软件库,而这个软件库是由官方维护的,这个官方就看作是Unix阵营。能在此软件库发布的软件都必须经过官方检验,简单的理解就是通过质量检测的新软件或新版本能够上,哪些alpha版、beta版的基本不能直接上,通常到了稳定即将版能够上。所以就有了ppa源这样的概念,ppa源虽然可以看作是民间的软件库,在此发布的软件门槛就没官方的这么高。里面会有好多软件的最新版本,但多数都是alpha、beta之类的。
晓得apt-get和ppa后,继续了jdk的安装,Ubuntu虽然早已自带了jdk,openjdk,而且经了解,还有个oraclejdk,大约就是米UI与原生Android的关系,不过还好有查openjdk与oraclejdk的区别,才不经意见到有些人建议不要移除Ubuntu自带的openjdk,缘由是Ubuntu的个别功能或组件是依赖openjdk,卸了可能会有意想不到的后果。至于,具体有哪些不良影响,没去深入了解,所以,愉快地不卸载,继续安装oraclejdk。
sudoadd-apt-repositoryppa:webupd8team/java#添加webupd8team/java软件库,这种后降低的软件库会添加到/etc/apt/sources.list.d这个路径里,运行这个命令后,在sources.list.d上面会生成webupd8team-ubuntu-java-xenial.list和webupd8team-ubuntu-java-xenial.list.save两个文件,删掉这两个文件就是移除该软件库
sudoapt-getupdate#相当于重新读取最新的更改
sudoapt-getinstalloracle-java8-installer#安装oraclejdk
到这就卡住了,不晓得是不是由于操作问题引起的还是哪些缘由,其实虽说仍然装不上这个oraclejdk,运行java就提示“有default-jdk、openjdk等等,尝试apt-getinstall安装”,而且列表里并没有oraclejava8等相关字样啊,于是在网上一翻搜救,忘了在哪见到的似乎说Ubuntu14之后就不支持ppa源安装了,没有验证真伪,并且自觉得这个oraclejdk一直没装上。于是果断舍弃用ppa源安装,改用自己下载安装包的方式。
上oracle官网,找到linux版本jdk,有个tar压缩包和一个rpm后缀的,没见过rpm的,就把它理解为须要自己编译的含源码的包,果断选择比较眼熟的tar压缩包,300多兆,下载,真是谁用谁晓得,等了半天都没下好,200m的专线啊,原先自带的firefox下载天生龟速。之后,没办法折腾了一翻,把uget+aria2给配置上了,并且期盼的鹈鹕般的速率并没有带来,最后弄明白可能的诱因就是uget+aria2并没有向迅雷那样天生适宜我们国人用的命(迅雷会手动在网上其他节点找寻资源,可能uget+aria2是长城以外的基因linux修改用户环境变量,所以无法带来迅雷的体验)。最后,就用宿主机下载,之后用U盘拷到虚机里,还好Unix阵营能支持ntfs、fat32格式的储存介质,相反windows就没这么友善了,windows本身并不支持ext2/ext3(还是我不晓得?)。
好不容易,把oraclejdk的安装包弄到手,开始安装,这些方式的安装非常简单,解压到指定目录即可,主要就是要清楚配置的机制,上面讲了一堆屁话,总算步入主题。
Unix阵营的文件系统与windows的不同,windows的是c、d、e、f盘等等不同的分区,而Unix阵营的就是跟Android的差不多,应当是Android是基于linux内核的,主要的有/home、/bin、/boot、/etc、/lib、/root、/usr、/var等,经过了解后,我把oraclejdk解压到了/usr/lib/jvm路径下,主要是由于这个路径下还有Ubuntu起初自带的各类jdk版本,包括上面提及的openjdk,所以也把oraclejdk也置于此。接出来须要更改环境变量了,Unix阵营有好几种配置环境变量的方式,这些说法虽然不严谨,由于ubuntu环境变量的原理与windows的没多大差异,都是分系统变量与用户变量,至于所说的几种方式linux shell,不过是每种方式配置在不同的文件里,而这种文件在不同阶段会被加载,如/etc/profile是所有用户的变量,会在每位次登陆或则每启动一个bash实例时就会加载;~/.bashrc则是当前用户变量,每次该用户登入或则启动一个bash实例时会加载;还有~/.bash_profile和~/.profile只在登陆时加载,区别是~/.bash_profile只提供给bash读取,而~/.profile提供给各类shell读取,如csh、tcsh、dash等。
这儿我把环境变量配置到了/etc/profile文件上,Ubuntu可以用自带的gedit编辑,其实也可以用vim和emacs,这种都相当于windows的记事本程序但比记事本功能强悍,用惯了记事本,多多少少会有点不习惯这种文本编辑器。
sudogedit/etc/profile#用gedit打开profile文件
#文件末尾添加以下内容
exportJAVA_HOME=/usr/lib/jvm/jdk1.8.0_121#里面提及的oraclejdk解压的路径
exportJRE_HOME=${JAVA_HOME}/jre#javaruntimeenvironment
exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib#classpath,这儿跟windows的一样,必须加一个点
exportPATH=${JAVA_HOME}/bin:$PATH#path
#这儿虽然与windows相差无几了,只是多个用:而不是;隔开
#重新读取环境变量
source/etc/profile
假如是windows,jdk的安装配置已然结束,dos运行java或则javac就不再是哪些“java不是内部命令”之类的,而Ubuntu的还没结束,假如还没配置默认jdk版本,在term上面输java可能还是会提示你“有default-jdk、openjdk等等,尝试apt-getinstall安装”。还须要继续配置,我把他理解成配置命令映射。
sudoupdate-alternatives–configjava#检测系统是否早已有安装过jdk
update-alternatives:错误:无java的候选项#输出倘若没安装过jdk,系统是不能辨识java命令的,即没配置过命令映射
#创建java、javac、jar、javah、javap命令映射
sudoupdate-alternatives–install/usr/bin/javajava/usr/lib/jvm/jdk1.7.0_60/bin/java1
sudoupdate-alternatives–install/usr/bin/javacjavac/usr/lib/jvm/jdk1.7.0_60/bin/javac1
sudoupdate-alternatives–install/usr/bin/jarjar/usr/lib/jvm/jdk1.7.0_60/bin/jar1
sudoupdate-alternatives–install/usr/bin/javahjavah/usr/lib/jvm/jdk1.7.0_60/bin/javah1
sudoupdate-alternatives–install/usr/bin/javapjavap/usr/lib/jvm/jdk1.7.0_60/bin/javap1
sudoupdate-alternatives–install/usr/bin/javajava/usr/lib/jvm/jdk1.8.0_121/bin/java2
sudoupdate-alternatives–install/usr/bin/javacjavac/usr/lib/jvm/jdk1.8.0_121/bin/javac2
sudoupdate-alternatives–install/usr/bin/jarjar/usr/lib/jvm/jdk1.8.0_121/bin/jar2
sudoupdate-alternatives–install/usr/bin/javahjavah/usr/lib/jvm/jdk1.8.0_121/bin/javah2
sudoupdate-alternatives–install/usr/bin/javapjavap/usr/lib/jvm/jdk1.8.0_121/bin/javap2
以上创建各命令的映射用的是update-alternatives命令,–install表示安装,install旁边的路径可以看作是windows里的一个快捷方法,linux里其实叫软链接,中间的java就是我们命令行用的时侯的java,java旁边的路径是快捷方法实际联接的源程序,这儿两个版本的快捷方法都指向了同一个,只是实际的源程序不同,最后的数字是优先权,值越大,越优先linux命令vi,我们在term上面运行java-version命令,bash会按照优先级选择响应的版本,可运行以下命令切换不同版本的响应源程序
sudoupdate-alternatives–configjava
有2个候选项可用于替换java(提供/usr/bin/java)。
选择路径优先级状态
————————————————————
0/usr/lib/jvm/jdk1.8.0_121/bin/java301手动模式
1/usr/lib/jvm/java-8-openjdk-i386/jre/bin/java300自动模式
*2/usr/lib/jvm/jdk1.8.0_121/bin/java301自动模式
要维持当前值[*]请按,或则键入选择的编号:1
update-alternatives:使用/usr/lib/jvm/java-8-openjdk-i386/jre/bin/java来在自动模式中提供/usr/bin/java(java)
按照提示输入不同编号即可切换,当然也可以通过更改环境变量的java_home实现切换
最后,还把python默认的编译器换成了anaconda2的,这样就不用自己麻烦地把各类科学估算包去下载出来
ty@Ubuntu:/$sudoupdate-alternatives–configpython
有3个候选项可用于替换python(提供/usr/bin/python)。
选择路径优先级状态
————————————————————
0/home/ty/anaconda2/bin/python2.7302手动模式
*1/home/ty/anaconda2/bin/python2.7302自动模式
2/usr/bin/python2.7301自动模式
3/usr/bin/python3.5300自动模式
要维持当前值[*]请按,或则键入选择的编号:1
在term里运行python命令,可以直接importnumpy了
python
Python2.7.13|Anaconda4.3.0(32-bit)|(default,Dec202016,23:08:16)
[GCC4.4.720120313(RedHat4.4.7-1)]onlinux2
以上就是apt-get与ppa源是什么鬼?与apt-get源的区别的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:木子,转转请注明出处:https://www.dingdanghao.com/article/215013.html