alternatives(etc alternatives)
一、sudo update-alternatives选项怎么清楚
看已有的JAVA版本
1
首先查看下本地java版本,使用java-version
mec@mac:~$ java-version
java version"1.6.0_45"Java(TM) SE Runtime Environment(build 1.6.0_45-b06)Java HotSpot(TM) 64-Bit Server VM(build 20.45-b01, mixed mode)
2
mec@mac:~$ which java#which java命令查看java命令使用的可执行文件位置
/usr/bin/javamec@mac:~$ ll/usr/bin/java
#查看命令的链接位置
lrwxrwxrwx 1 root root 22 3月 1 22:36/usr/bin/java->/etc/alternatives/java
3
mec@mac:~$ ll/etc/alternatives/java#最后查看到java命令可执行文件的实际位置
lrwxrwxrwx 1 root root 39 4月 23 16:21/etc/alternatives/java->/usr/lib/jvm/java-6-oracle/jre/bin/java*
4
update-alternatives正如名字表达的意思一样,是可选择的更新
查看,这个命令会建立很软链接,当切换版本的时候,只需要更改软链接的指向。
sudo update-alternatives--display java
可以看出当前java命令只有一个软链接,指向/usr/lib/jvm/java-6-oracle/jre/bin/java,命令的模式是自动auto,这时候会根据优先级匹配,priority 1既是优先级。
5
列出使用java命令的列表,现在只有一个,指出了命令的所在位置
mec@mac:~$ sudo update-alternatives--list
java/usr/lib/jvm/java-6-oracle/jre/bin/java
END
配置JAVA版本
1
现在开始配置,我下载的JDK8在/home/mec/Android/jdk1.8.0_73。下载这个在这里就不细讲了,你也可以配置~/.bashrc或是/etc/profile中的环境变量。
2
由sudo update-alternatives--list java我们上面查看只有
/usr/lib/jvm/java-6-oracle/jre/bin/java
现在使用
/usr/lib/jvm/java-6-oracle/jre/bin/java
sudo update-alternatives--install/usr/bin/java java/home/mec/Android/jdk1.8.0_73/bin/java 300
update-alternatives--install link name path priority其中link为系统中功能相同软件的公共链接目录,比如/usr/bin/java(需绝对目录);name为命令链接符名称,如java path为你所要使用新命令、新软件的所在目录 priority为优先级,当命令链接已存在时,需高于当前值,因为当alternative为自动模式时,系统默认启用priority高的链接;#整数根据版本号设置的优先级(更改的优先级需要大于当前的)
3
现在使用sudo update-alternatives--list java查看下
发现多了一项
/home/mec/Android/jdk1.8.0_73/bin/java
/usr/lib/jvm/java-6-oracle/jre/bin/java
4
sudo update-alternatives--config java
There are 2 choices for the alternative java(providing/usr/bin/java).
*号代表我们正在使用的。选择1后查看Java版本
5
mec@mac:~/Android/jdk1.8.0_73$ sudo update-alternatives--remove java
/home/mec/Android/jdk1.8.0_73/bin/java移除刚来配置的
mec@mac:~/Android/jdk1.8.0_73$ java-version测试下版本,发现又切换回来了1.6
二、sudo update-alternatives 命令失效
系统原先安装有java8,手动安装了java7后将其安装到update-alternatives里,
java8的 priority为 1081
sudo update-alternatives--install/usr/bin/java java/opt/jdk1.7.0_79/bin/java 1082
使用如下命令不生效
sudo update-alternatives--config java
从网上找的该当说是把JAVA_HOME等相关环境变量注释,找到如下两个文件有定义JAVA环境变量,里面的内容全注释
/etc/profile.d/jdk.csh
/etc/profile.d/jdk.sh
重新打开Terminal后JAVA_HOME已经是空的了,但java-version命令依然还是java8,可以看到alternatives里的文件已经改变。
把能设置的都设置了,不过没用
找到一个关于android-studio里jre的环境变量配置,这个方法可以,需要重启电脑
三、Ubuntu linux下卸载mysql后装不上
因为以前有过安装、所以先解决如何完全卸载干净mysql、再进行安装。想看安装的步骤可以跳到下面。
使用的账户是root账户、如果是普通账户、可以在相应的命令前添加:sudo来获取root执行权限。
2、相关命令简介:
2.1 apt-get
apt——Advancedpackage tool;
高级包装工具是Debian及其衍生发行版(如:ubuntu)的软件包管理器。APT可以自动下载,配置,安装二进制或者源代码格式的软件包,因此简化了 Unix系统上管理软件的过程,apt-get命令一般需要root权限执行,所以一般跟着sudo命令。
在补充部分会补充此命令的详细使用方式。
2.2 dpkg
dpkg——Debian package manager
dpkg is a tool to install, build, removeand manage Debian packages.
在后面补充中会有详细点的介绍。
二:卸载
2.1手动卸载
mysql的两个相关文件需要手动删除、一个是/var/lib/mysql、一个是/etc/mysql。当你删除之后再重新装、如果/var/lib/mysql文件没有删除、则会保留上一个数据库创建的实例、这个一般不是我们想要的、根据需要删除。
apt-get-y autoremove--purgemysql-server-5.5
apt-get-y remove mysql-server
apt-get-y autoremove mysql-server
apt-get-y remove mysql-common