该图片由chanwit whanset在Pixabay上发布
你好,我是看山。
去年 6 月份开始使用 Ubuntu 14.04 LTS,当时是在公司电脑上装的,因为是第一次搭建工作环境,很多东西不是很随心意。终于等到 16.04 LTS 版发布,就重装系统,公司的那个老爷本也不用了。
ubuntu desktop 是一个很简单的桌面系统,比较适合菜鸟级的使用,学习曲线比较平缓。本文主要是记录一下这次搭建工作环境的经过,留作备份,下一次再需要重装的时候可以有个依据。
1 系统语言
作为英语的半吊子,没办法直接使用英文环境,所以系统安装的是简体中文环境,但是系统创建的 home 路径中的文件夹都是中文的:桌面、文档、下载。作为一个懒人,不想在终端输命令的时候还要切换输入法,所以把这几个路径全部改为英文。
export LANG=en_US
xdg-user-dirs-gtk-update
会弹出一个对话框,问是否修改 home 下的文件夹名字,直接点击”Update Names”,问题解决,然后把系统语言改回简体中文。
export LANG=zh_CN.UTF-8
xdg-user-dirs-gtk-update
这次又弹出的对话框是询问是否把文件夹名字改为简体中文的,直接点否就行。为了以后不再询问,选中不要再次询问,以后就不会弹出了。
2 软件源
大家都知道,国内的网络环境不是很好,ubuntu 的镜像服务器在地球另一端,所以装完系统通常需要修改软件源,国内比较可靠的是阿里云的镜像,为阿里赞一个。需要使用 root 权限修改/etc/apt/sources.list 文件:sudo vi /etc/apt/sources.list
,我这里是需要把”cn.archive.ubuntu.com”和”security.ubuntu.com”改为”mirrors.aliyun.com”,根据自己的情况修改。这样 ubuntu 的系统更新、安全更新、软件更新都是走阿里云的镜像了,速度还是很快的。
下面是我的软件源文件(精简过的,原文件很多注释):
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
3 快捷初始化
ubuntu 使用可能会用到一些解码器之类的组件、插件、字体,一个个找实在麻烦,好在有一个 ubuntu-restricted-extras,可以直接帮忙安装这一堆繁琐的东西。命令行输入:sudo apt install ubuntu-restricted-extras
,然后等待安装完成即可。
4 常用软件
基础环境简单配置完成,接下来就开始安装常用的软件。
4.1 vim
因为开发使用的是 IDE,vi 工具只是用来编辑一些简单的文件,所以没装太多插件。作为一个 vi 的菜鸟,只会一些简单的快捷键,所以还是装上 vim 吧:
sudo apt install vim
4.2 Chromium & Chrome
ubuntu 自带的浏览器是 Firefox,一款非常优秀的浏览器,Chrome 中也有部分是 firefox 的代码,奈何已经熟悉 Chrome,还是装上 Chrome 浏览器。这里的 Chromium 相当于 Chrome 的先行军,开源项目,全球优秀的开发人员进行维护,增加功能,然后 Google 再把这些新功能加到 Chrome 中,ubuntu 的软件库中自带 Chromium,想装 Chrome 还得翻墙出去下,为了快 (tou) 捷 (lan),直接装 Chromium:
sudo apt-get install chromium-browser unity-chromium-extension chromium-codecs-ffmpeg-extra
Chromium 和 Firefox 一样,有很多扩展扩展程序(依赖浏览器)和应用(可以不启动浏览器独立运行):
- The QR Code Extension: 把地址栏地址转为二维码
- 有道云笔记网页剪报:用过有道云笔记的比较熟悉,抓取网页内容,保存到有道云笔记中
- cVim: 一个摆脱鼠标的扩展程序,键盘流的福音,好像还有很多类似的扩展,大同小异
- JSON Formatter: 可以把 json 响应内容格式化
- JSON Editor: 应用,用于编辑 json 数据
- Postman: 应用,http 的客户端
4.3 JDK
作为 Java 开发,最需要安装的就是 jdk 了,ubuntu 库中只有 Open JDK,但是工作环境中还是使用 Oracle JDK,其实可以在 Oracle 官网下载 tar.gz 包,解压,然后配置环境变量,但是安装 ant、maven 的时候还是会再次引入 open jdk,烦不胜烦,直接使用 webupd8 的源,省去乱七八糟的烦恼。
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java6-installer oracle-java7-installer oracle-java8-installer
这里把 jdk 6\7\8 几个版本都装上了,虽然自己的项目中使用 JDK 8,但是有时候需要把一个公共组件提供给其他组,就需要 jdk 6 来开发编译打包,这个时候需要切换下默认 jdk 的版本:
sudo apt-get install oracle-java6-set-default # 切换为 jdk6
sudo apt-get install oracle-java7-set-default # 切换为 jdk7
sudo apt-get install oracle-java8-set-default # 切换为 jdk8
修改 jdk 的环境变量,为了各用户统一,直接在系统环境变量中增加配置:
cd /etc/profile.d
sudo touch set_classpath.sh
sudo chmod +x set_classpath.sh
set_classpath.sh 文件的内容如下:
#!/bin/bash
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
可以通过source set_classpath.sh
使环境变量立即生效,也可以等下次重启之后生效。
4.4 Ant
工作中基本不用 Ant 了,一般 maven 就够用了。先装上,用不用再说:sudo apt-get install ant
,安装完之后配置环境变量:
cd /etc/profile.d
sudo touch ant_env.sh
sudo chmod +x ant_env.sh
ant_env.sh 内容如下:
#!/bin/bash
export ANT_HOME=/usr/share/ant
export PATH=$PATH:$ANT_HOME/bin
4.5 Maven
构建工具最常用 maven 了,基本不需要关心 jar 包之间的依赖,而且在 IDE 中,maven 的插件也比较完善了。
sudo apt-get install maven
# 安装完成后通过 mvn -n 查看 maven 版本
mvn -v
可以看到如下信息:
Apache Maven 3.3.3
Maven home: /usr/share/maven
Java version: 1.8.0_66, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-oracle/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "4.2.0-22-generic", arch: "amd64", family: "unix"
4.6 SVN
公司喜欢用 svn,不过也马上要换成 Git 了,还是把 svn 安装记录下,万一以后需要呢。
sudo apt-get install subversion
sudo apt-get install libsvn-java # 如果要用 Eclipse SVN 插件还得装下 libsvn-java
# 使用 ln 建立链接,不然插件还是会报错:
sudo mkdir -P /usr/java/packages/lib/amd64/
sudo ln -s /usr/lib/x86_64-linux-gnu/jni/libsvnjavahl-1.so.0.0.0 /usr/java/packages/lib/amd64/libsvnjavahl-1
sudo ln -s /usr/lib/x86_64-linux-gnu/jni/libsvnjavahl-1.so.0.0.0 /usr/java/packages/lib/amd64/libsvnjavahl-1.so
在 Linux 中可用的 svn 的 GUI 工具只有一个 rapidsvn,已经很久没有更新过了,不过也还凑合用,复杂操作可以使用命令,
sudo apt-get install rapidsvn
4.7 Git
直接安装
sudo apt-get install liberror-perl git-man git git-doc
git 的 GUI 工具就不装了,毕竟 git 的命令很简单,而且 IDE 中的插件效果也挺不错的。
4.8 其他工具
- unison: 一个同步工具,可以比较文件夹之间是否有修改,可以很直观的操作同步数据,相当于有 GUI 的 sync,
sudo apt-get install unison unison-gtk
- ssh: 这个不多说,
sudo apt-get install openssh-client openssh-server openssh-sftp-server
- openvpn: 在家办公的时候,需要通过 VPN 连接公司内网,
sudo apt-get install network-manager-openvpn
- FileZilla: 连接服务器的文件管理器,
sudo apt-get install filezilla
- Meld: 文件、文件夹对比工具,相当于带 GUI 的 diff,
sudo apt-get install meld
- mysql: 不多说,
sudo apt-get install mysql-client mysql-workbench
- nethogs: 各应用实时网速检查,需要 sudo 权限,
sudo apt-get install nethogs
- indicator-multiload: 综合负载指示器,可实时显示 CPU 使用率、内存占用、网速、负载、磁盘 IO、交换空间等,
sudo apt-get install indicator-multiload
- GIMP: 图像编辑,
sudo apt-get install gimp gimp-data-extras
- GParted: 分区管理器,需要 root 权限,
sudo apt-get install gparted
5 基本配置
5.1 ubuntu 终端
ubuntu 终端会显示当前位置的全路径,当目录比较深的时候,占用空间太大,所以直接进行优化:
export PS1='\[\e]0;\u@\h: \w\a\]\[\033[01;32m\]\u\[\033[01;33m\]@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]$ '
5.2 本地打开文件数限制解除
echo "fs.file-max = 819200" | sudo tee /etc/sysctl.d/60-fs-file-max.conf
echo "fs.inotify.max_user_watches = 524288" | sudo tee /etc/sysctl.d/60-fs-max-user-watches.conf
6 结束
到这里,这个 ubuntu 环境就基本配置完成了。
话说自从把系统换成 ubuntu 了,好像很久没有玩游戏了。舍友的系统是 windows,前一段时间,想玩了,就玩他的,后来媳妇抱怨说我总是跟他们混在一起,也就不怎么玩了,最近好像就想不起来玩。算是把游戏戒了。
然后使用 linux,为了图省事,经常会用到终端,几条简单命令就成,慢慢向键盘党靠拢,虽然不说能够提高效率,至少不会因为找鼠标打断思路。
你好,我是看山。游于码界,戏享人生。如果文章对您有帮助,请点赞、收藏、关注。我还整理了一些精品学习资料,关注公众号「看山的小屋」,回复“资料”即可获得。
个人主页:https://www.howardliu.cn
个人博文:初始化 Ubuntu 工作环境
CSDN 主页:http://blog.csdn.net/liuxinghao
CSDN 博文:初始化 Ubuntu 工作环境