本文主要记录开发机环境搭建的流水。

创建用户

创建普通用户edward, 避免以root身份误操作。

1
2
useradd edward -d /data/home/edward -m
passwd edward

用户的home目录需要确保空间足够。

时区

调整时区为东8区。

1
2
# CentOS, ubuntu
ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

国内镜像源

更换软件镜像源为国内镜像源。
如果不能访问外网的话就使用公司内的镜像源。

阿里镜像源 为例,CentOS 7如下操作:

1
2
3
4
5
6
7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

sed -i 's#mirrors.*.com#mirrors.aliyun.com#g' /etc/yum.repos.d/CentOS-Base.repo
sed -i 's#mirrors.*.com#mirrors.aliyun.com#g' /etc/yum.repos.d/epel.repo

yum makecache

Ubuntu 18.04如下操作:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
cat > /etc/apt/sources.list << EOF
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
EOF

中文支持

安装系统语言支持包、输入法(fcitx, ibus皆可)。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# CentOS
yum groupinstall -y "Chinese support"
yum install -y fcitx-pinyin

# ubuntu
sudo apt-get install -y language-pack-zh-hans
# 配置默认语言,选择 zh_CN.utf8
sudo dpkg-reconfigure locales
# 桌面消失处理
rm -fr ~/.cache/sessions/

sudo apt-get install -y fcitx-googlepinyin

# fcitx没有自启动的话
cp /usr/share/applications/fcitx.desktop ~/.config/autostart/fcitx.desktop

设置XMODIFIERS,GTK_IM_MODULE,QT_IM_MODULE环境变量。

1
2
3
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

一般放到/etc/profile就生效,不行的话试一下~/.pam_environment,~/.xinitrc,~/.vnc/xstartup
还有问题可以通过fcitx-diagnose定位有问题的地方。

dot files

  • ~/.bash_profile
1
2
3
4
5
6
[[ -r ~/.bashrc ]] && . ~/.bashrc

alias ll='ls -hl --color'

export LC_ALL="zh_CN.utf8" 
export LANG="$LC_ALL"

字体

安装适合程序员的字体,比如说 Source Code Pro
偷懒一点可以通过yum安装:

1
yum install -y adobe-source-code-pro-fonts

如果想安装最新的 Source Code Pro 或者其他字体:

1
2
字体复制到 /usr/share/fonts/ 目录
fc-cache -v

推荐字体:

代理

有些公司需要通过设置代理才能访问外网。
可以在 /etc/profile 设置代理:

1
2
3
4
5
http_proxy=dev-proxy.oa.com:8080
https_proxy=dev-proxy.oa.com:8080
no_proxy="localhost,*.oa.com"

export http_proxy https_proxy no_proxy

基本开发工具

1
2
3
4
5
# CentOS
yum groupinstall -y "Development Tools"

# ubuntu
sudo apt-get install -y build-essential

git,cmake, golang, llvm, ccls, emacs, vscode, perf等按需(编译)安装。

vnc

具体可以参考 通过vnc控制linux开发机 的说明。
通过 noVNC 还可以在家通过浏览器远程控制开发机。

samba

samba主要作用是方便文件的同步。
具体可以参考 CentOS配置samba 的说明。

SSH免密登录

具体可以参考 SSH免密登录 的说明。
不过使用终端软件(xshell, PuTTY等)也是可以的。

IDE

主要使用vscode、spacemacs、vim,偶尔用用JetBrains系列。
先记录,后续有空再补充。

  • vscode
    主力写代码。
    通过 vscode remote 可以在家远程开发。
  • spacemacs
    目前主要用来写博文,具体可以参考 通用代码编辑器Spacemacs
  • vim
    主要用来看服务器的日志,按键还是比较简短、方便的。
  • JetBrains系列
    小项目还可以,比较耗内存、响应稍慢、要收费,不适合大项目。

docker

具体参考 Docker使用 的说明。