本人从事Java后端开发,由于比较喜欢使用Linux当开发环境,但日常办公有部分软件只能在Windows环境下运行,所以采用了虚拟机安装Ubuntu的折中做法。以下分享一些Ubuntu20.04配置、搭建环境时遇到的坑,以及安装必备工具的步骤,希望能帮助有需要的小伙伴快速搭建开发环境,也当为自己留个笔记。
个人比较喜欢vim, 由于系统没有预装vim,又用不惯自带的vi。
输入安装vim命令:apt install vim
修改/etc/sudoers文件的最后一行:
%sudo ALL=(ALL:ALL) ALL 修改为 %sudo ALL=(ALL:ALL) NOPASSWD:ALL
vim /etc/apt/source.list
# 注释掉原来的内容,换成以下内容,注意根据Ubuntu版本匹配,以下内容适用于Ubuntu20.04
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
# 更新软件包
apt update
apt upgrade
非root用户下,执行以下命令
gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize-or-previews'
按照提示,解压tar 安装即可
ps: 重新安装vm-tools后若还是不能复制粘贴
sudo apt install open-vm-tools-desktop -y
# 自定义命令行gnome-terminal的位置、大小
1.打开terminal,拖动窗口调整到适合的大小,并拉到屏幕中间位。输入xwininfo,鼠标变成+形状后,点击窗口内任意位置。关注最后一行返回的信息。-geometry 220x68+731+224,表示窗口大小(220x68)+相对位置。
2.设置页面里,按Backspace禁用原来Launch Terminal的快捷键
3.自定义快捷键 gnome-terminal --geometry 220x68+731+224
# 安装ibus
sudo apt install ibus ibus-rime
然后需要先注销或重启下系统,然后进入输入法配置
1. [设置] - [区域与语言] - [输入源] - [+]
2. 选择 中文(Rime)
3. 然后删掉其他不需要的输入法
4. [管理已安装的语言] - [键盘输入法系统]
5. 选择ibus
这里先开个文本编辑器试下中文能不能输入,不行就注销再次登录
只要能输入就行,后续再优化配置文件
# 优化配置
# 修改候选词数量
cd ~/.config/ibus/rime
新建 vim default.custom.yaml
# 粘贴以下代码并保存
patch:
menu:
page_size: 9 # 候选词数量
# 候选词横排显示
cd ~/.config/ibus/rime/build/
新建 vim ibus_rime.yaml
# 粘贴以下代码并保存
style:
horizontal: true # 横排候选词
# 简体中文移到第一行,左右shift键切换中英文
cd ~/.config/ibus/rime/build/
vim default.yaml
# 修改以下配置并保存
patch:
schema_list:
- schema: luna_pinyin_simp # 简体中文移到第一行
ascii_composer:
switch_key:
Shift_L: commit_code # 中英文切换
Shift_R: commit_code # 中英文切换
# 默认英文
vim /home/lhb/.config/ibus/rime/build/luna_pinyin_simp.schema.yaml
# 修改以下设置
switches:
- name: ascii_mode
reset:1 # 设置为1
states: ["中文", "西文"]
使用idea,webstorm的小伙伴一定会经常使用这个快速返回的快捷键,但ubuntu系统设定了该快捷键为切屏,故两者冲突,需要禁用系统快捷键。
参考:https://blog.csdn.net/hcksust/article/details/88950656
非root用户下
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-left "[]"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-right "[]"
# 更新软件包列表
apt update
# 安装openjdk8
apt install openjdk-8-jdk
# 查看java版本,确定是否安装成功
java -version
参考docker官方教程:https://docs.docker.com/engine/install/ubuntu/
或本人根据官方教程总结的步骤:https://blog.csdn.net/lhaobin/article/details/119217255
参考:https://segmentfault.com/a/1190000020140461
# docker安装es
docker pull elasticsearch:6.4.2
docker run --name elasticsearch-6.4.2 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:6.4.2
#docker安装kibana,注意要对应es版本
docker pull kibana:6.4.2
docker run --name kibane-6.4.2 -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://192.168.119.128:9200" -d kibana:6.4.2
若连接es失败,进入容器
修改config/kibana.yml 配置文件中 es连接地址
参考:https://juejin.cn/post/6844903829624848398
# 下载镜像
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
# 启动zookeeper容器
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
# 启动kafka容器
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.119.128:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.119.128:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka
# 测试kafka
# 进入kafka容器
docker exec -it kafka /bin/bash
# 进入kafka目录
cd /opt/kafka_2.13-2.7.0/bin
# 启动消息发送方
kafka-console-producer.sh --broker-list 192.168.73.66:9092 --topic mykafka
#克隆会话,启动消息消费方
kafka-console-consumer.sh --bootstrap-server 192.168.73.66:9092 --topic mykafka --from-beginning
参考consul官方链接:https://www.consul.io/downloads
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
# 更新软件包列表,下载consul
sudo apt-get update && sudo apt-get install consul
# 查看service存放位置
systemctl status consul
# 进入service配置文件,修改启动命令为
ExecStart=/usr/bin/consul agent -config-dir=/etc/consul.d/ -dev -client=0.0.0.0
# 刷新配置
systemctl daemon-reload
# 重启consul
systemctl start consul
## docker安装mysql
docker pull mysql
docker run -itd --name mysql -v /data/docker-mysql/etc:/var/lib/mysql -p 3308:3306 --restart=always -e MYSQL_ROOT_PASSWORD=joeleong@1376 mysql:latest
参考:https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-20-04
cluster集群模式参考:https://blog.csdn.net/lhaobin/article/details/120435230
单节点模式参考:https://linuxize.com/post/how-to-install-and-configure-redis-on-ubuntu-20-04/
以下为单节点模式搭建步骤:
sudo apt update
sudo apt install redis-server
sudo systemctl status redis-server
修改redis配置文件,允许远程连接及设置密码
vim /etc/redis/redis.conf
注释此处 # bind 0.0.0.0 ::1
设置密码 requirepass your_redis_password
参考链接:https://computingforgeeks.com/how-to-install-latest-rabbitmq-server-on-ubuntu-linux/
# 安装node
1.安装npm
apt install npm
2.安装node管理工具n
npm install -g n
3.卸载原来apt下载的npm
apt remove npm
4.使用n下载node以及npm
列出最新版 n --lts
n install 12.19.0
下载最新版 n lts
node管理工具n换阿里源
export NODE_MIRROR=https://npm.taobao.org/dist/
npm换淘宝镜像源
个人用户和root用户都要设置:
npm config get registry npm config set registry https://registry.npm.taobao.org
安装cnpm
npm install cnpm -g --registry=https://registry.npm.taobao.org
推荐通过JetBrains Toolbox安装,升级省心。
JetBrains Toolbox安装步骤:
官网下载tar包
tar -zxvf ... 解压
双击运行文件
ps: 千万不要在命令行里root身份下直接执行,不然打开后permission denied(大坑!!)