Ubuntu 20.04 系统及开发环境配置

1.背景

本人从事Java后端开发,由于比较喜欢使用Linux当开发环境,但日常办公有部分软件只能在Windows环境下运行,所以采用了虚拟机安装Ubuntu的折中做法。以下分享一些Ubuntu20.04配置、搭建环境时遇到的坑,以及安装必备工具的步骤,希望能帮助有需要的小伙伴快速搭建开发环境,也当为自己留个笔记。




2.配置修改及基础工具安装

一、虚拟机正确安装好Ubuntu 20.04(前提条件)

二、修改各种配置文件,需要一款适合自己的,好用的编辑器。

    个人比较喜欢vim, 由于系统没有预装vim,又用不惯自带的vi。
    输入安装vim命令:apt install vim

三、不想每次切换sudo都输入密码,设置sudo免密码

   修改/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'

六、安装vm-tools 以便全屏显示及宿主机与虚拟机之间复制粘贴

 按照提示,解压tar 安装即可
 ps: 重新安装vm-tools后若还是不能复制粘贴
 sudo apt install open-vm-tools-desktop -y

七、系统默认ctrl+alt+T呼出命令行,但窗口位置及大小不一定适合自己

# 自定义命令行gnome-terminal的位置、大小
1.打开terminal,拖动窗口调整到适合的大小,并拉到屏幕中间位。输入xwininfo,鼠标变成+形状后,点击窗口内任意位置。关注最后一行返回的信息。-geometry 220x68+731+224,表示窗口大小(220x68)+相对位置。
2.设置页面里,按Backspace禁用原来Launch Terminal的快捷键
3.自定义快捷键    gnome-terminal --geometry 220x68+731+224

八、安装中文输入法,个人推荐rime

# 安装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: ["中文", "西文"]

九、禁用系统快捷键Ctrl+Alt+Left/Right

使用idea,webstorm的小伙伴一定会经常使用这个快速返回的快捷键,但ubuntu系统设定了该快捷键为切屏,故两者冲突,需要禁用系统快捷键。
参考:https://blog.youkuaiyun.com/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 "[]"





3.开发工具安装

一、安装openjdk8

# 更新软件包列表
 apt update
 
 # 安装openjdk8
 apt install openjdk-8-jdk
 
 # 查看java版本,确定是否安装成功
 java -version

二、安装docker

参考docker官方教程:https://docs.docker.com/engine/install/ubuntu/
或本人根据官方教程总结的步骤:https://blog.youkuaiyun.com/lhaobin/article/details/119217255

三、安装elasticsearch

参考: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连接地址

四、安装kafka

参考: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

参考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

六、安装mysql

## 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

七、安装mariadb

参考:https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-20-04

八、安装redis

cluster集群模式参考:https://blog.youkuaiyun.com/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

九、安装rabbitmq

参考链接:https://computingforgeeks.com/how-to-install-latest-rabbitmq-server-on-ubuntu-linux/

十、安装npm、node、cnpm

# 安装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

十一、IDEA、Webstorm等Jetbrains旗下开发常用IDE

推荐通过JetBrains Toolbox安装,升级省心。
JetBrains Toolbox安装步骤:

官网下载tar包
tar -zxvf ... 解压
双击运行文件
ps: 千万不要在命令行里root身份下直接执行,不然打开后permission denied(大坑!!)
### 配置韦东山嵌入式Linux开发环境 #### 准备工作 为了确保在Ubuntu 20.04上成功配置韦东山的嵌入式Linux开发环境,建议先确认当前系统的内核版本以及所使用的硬件平台是否匹配。可以通过`uname -r`命令查看当前运行的内核版本[^1]。 对于特定于ROC-RK3399-PC-PLUS这样的开发板,在准备阶段应当获取官方推荐的操作系统映像文件以减少因版本差异带来的潜在问题[^2]。 #### 安装必要的软件包 通常情况下,构建一个完整的嵌入式Linux开发环境涉及到一系列依赖库和工具链的安装。以下是部分基础组件列表: ```bash sudo apt update && sudo apt upgrade -y sudo apt install build-essential git-core libncurses-dev bison flex \ libssl-dev libelf-dev libudev-dev zlib1g-dev device-tree-compiler \ wget curl cpio python unzip rsync bc gawk libc6-i386 gcc-multilib \ make cmake ninja-build pkg-config autoconf automake libtool ``` 这些工具涵盖了编译器、调试工具以及其他辅助程序,它们有助于后续交叉编译过程顺利进行。 #### 获取并初始化源码仓库 根据《嵌入式Linux应用开发完全手册_V2.8》,可以采用Git或其他版本控制系统克隆项目所需的全部资源到本地机器上。例如: ```bash git clone https://github.com/your-repo/path-to-source.git cd path-to-source ./init.sh # 如果存在初始化脚本的话 ``` 这一步骤会拉取所有必需的补丁集合、外部模块及其他关联资料。 #### 编写或调整Makefile与配置选项 针对目标平台特性定制化修改`.config`文件或是利用菜单配置方式(`make menuconfig`)来设定具体的编译参数。确保选择了适合RK3399处理器架构的相关选项。 #### 构建根文件系统 创建适用于ARM架构的目标设备的rootfs镜像可能是整个流程中最耗时的部分之一。可选用Buildroot、Yocto Project等自动化框架简化这一环节的工作量;也可以手动挑选所需的应用和服务打包成tarball形式供烧录使用。 #### 测试验证 最后,在实际物理板卡或者模拟环境中加载新制作好的固件映像,并通过串口连接等方式监控启动日志输出情况,以此检验整个部署工作的有效性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值