日期:2014-05-16  浏览次数:20603 次

改变在linux下默认的jre

记得上次在linux上安装jdk已经是很久以前的事情了,早把当时怎么装的忘得一干二净。对于对linux都快忘却了的我,今天有安装了一次。步骤很简单。我用root用户登陆,直接用“./jdk-6u10-linux-i586.bin”在命令行下执行我从sun网站那down下来的jdk-6u10-linux-i586.bin进行安装。跟着命令行的提示,算是安装完成了。其实过程就是先让你同意java的版权协议,然后解压文件。当然这还不算完。因为这样做我很清楚是在手工做些事情。就犹如在window下设置环境变量一样。我在自己的宿主目录下找到.bash_profile文件。在最后追加两行

?

JAVA_HOME=...????????????????????????????????//就是刚才安装解压的目录

PATH=...??????????????????????????????????????????//就是在原有PATH基础上在加入jdk和jre的bin目录

?

???? *记住这样的设置只对当前用户有效

事毕。试着在命令行运行javac。 ok,可以出现一堆的说明,说明我们的jdk1.6安装成功。但是jre呢。当你键入java -version的时候,一个1.5.0的版本提示出现了。如果这样就满足的话,用现在安装的jdk编译的东西在1.5版本的运行环境上运行是一个很可笑而且行不通的事情。也就是说,java6现在还没算安装成功。而且让人不解的是自己的环境变量竟然没有覆盖掉系统的。于是想到了更改系统的。在网上看到有人在usr/bin目录下执行类似“ln -s -f ...java”就是在这个目录下添加指向java程序的链接文件。当然也可以这么链接javac。-f参数说明如果原来有同名的链接,则覆盖之。于是自己跑到usr/bin目录下看。果然系统默认的执行java命令的链接文件就在这里。我并没有像他们那样覆盖之,而是把这个文件删除了(当然做了备份),原因很简单,因为我已经把系统的PATH变量改变,PATH下包含java命令文件。然后再在命令行中执行“java -version” 1.6.0版本的提示信息出现了。安装这才真正的告一段落。

?

2010-04-22

今天试试Ubuntu9.10。安装很顺利。

但是桌面版基本上自带的软件很少。就连ssh也没有带。于是用它自有的工具安装了ssh。

接着以bin的方式安装jdk。发现不能用上述方法。所以执行安装需要sh jdk-6u20-linux-i586.bin这样的命令。安装完成当然还要设定一下环境变量,编辑宿主目录下的.profile文件

在其最后添加如下几行

JAVA_HOME=/home/ytzhang/programs/jdk1.6.0_20
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME
export PATH

然后设置该未见生效 source .profile。

然后用java -version测试,便出现预计的效果。

注意如果使环境变量为所用用户使用,需要用管理员身份登陆(用别的用户登陆切换是不行的,不需直接登陆才可以)修改/etc/profile文件才可以,否则环境变量对别的用户同样不是有效的。当然我这是用ubuntu的时候会这样,别的没试过

?

2010-04-24

我想让ubuntu启动后自动启动一段脚本代码。总之网上资料纷繁复杂,而且总是屡试都爽。于是下班回来在试试。修改的是rc.local文件。且不说n个目录下都有这个文件。凭经验教训。我直接改的/etc/init.d下的rc.local(Fedora在/etc/下)。在改之前我先大致浏览一下,该文件的开头竟然有环境变量PATH设定。那么,我的环境变量是需要带JAVA_HOME的。这样才能使tomcat启动脚本正常执行。不管profile设置的环境变量在这之前,还是之后(当然经过推理,是之后,因为机子启动后,PATH已经包含了JAVA_HOME)。rc.local设置的PATH都会被覆盖。所以干脆把java相关的环境变量也一起添加到rc.local文件尾

JAVA_HOME=/home/ytzhang/programs/jdk1.6.0_20
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME
export PATH
/home/ytzhang/programs/apache-tomcat-6.0.26/bin/startup.sh

?重启电脑,一切OK。tomcat便真的自动启动了。可见以前的抱怨不是unbuntu的错,而是自身的原因。另外我在尝试设置开机自启动过程中安装了chkconfig(红帽发明的的设置软件)。但看到那恼人的放在init.d下的shell脚本的写法,就放弃了用此方法。

?

?

2010-04-26

周末在家里,费劲了力气,想用解压包的方式安装mysql,但都事与愿违。今天在公司自己机器的虚拟机上,直接用一句

sudo apt-get install mysql-server

?搞定了一切(包括服务端和客户端)。ubuntu的这种方法简单。但需要联网,而且让作为程序员的我们感觉自己像白痴。(注意不要在没安装mysql时,用mysql或mysqld命令,系统返回信息提示软件未安装,要选安装包进行安装,那个提示中给的选项是错误的,按照提示安装后,并没完全安装好mysql.)

安装好后用 sudo netstat -anp|grep 3306 或者 sudo netstat -anp|grep mysql 查看mysql服务是不是在运行。

接下来发现,不能远程登录mysql。这是需要配置一下。步骤如下

???????????? 1.修改 /etc/mysql/my.cnf。如果找到“skip-network”则注释掉。找到“bind-address = 127.0.0.1”使其

??????????????? 变更为"bind-address = 0.0.0.0"

???????????? 2.登录mysql,赋予其在别的机子上访问权限

mysql -u root -p
......

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

??????????????? 当然也可以用修改表的方式,但并不推荐这样做

mysql -u root -p
......
use mysql;
update user set host = '%' where user = 'root';
select host, user from user;?

?这样就可以远程登录mysql了。

?

?

?

?