Ubuntu常用配置指南

前言

Ubuntu是我非常喜欢的一款开源操作系统。自从在大学学习安装Ubuntu 8.04后,从此一发不可收拾,喜欢上了这个有着朋友圈图标的Linux发行版。工作多年,几乎都是在Linux/Unix 环境下工作。每次到了一个新环境都会遇到安装新系统的需求,基本上会把工作的电脑换成自己喜欢的Ubuntu系统。写这篇文章是为了记录自己经常会用到的配置。

系统安装

Ubuntu发行版每半年会发布一个新的版本,并且会为了系统取一个名字,大多数以动物的名称为代号。比如最新的18.04 长期支持版本的代号是Beaver,河狸是一种啮齿动物。你可以从官网下载到最新的镜像。建议安装选择Long Term Support的版本,比如18.04,有5年的支持周期,足够满足你的日常工作需求。下面是我的日常开发常用的配置。

常用配置

SSH

工作中经常会有登录跳板机的需求。但每次都需要输入密码的话,使用起来,不是很方便。我们需要想要一些办法来自动化这个过程。我们期望的是,只需要输入一次密码,后续直接登录,不用每次都需要输入密码。

下面通过ssh的config配置,自定义主机登录实现这个操作。

cat ~/.ssh/config
host m
    User matt
    Hostname ssh.domain.com
    Port 22
    ControlMaster auto
    ControlPath /tmp/%r@%h:%p
    ServerAliveInterval 30
    ServerAliveCountMax 60

这段配置通过ControlMaster来开启共享Session,主要应用在复用同一个网络连接的socket,而不需要每次建立新的连接。ControlPath为socket的唯一路径标识,尽量保持每一个主机是唯一的,这里我们是以%r 远程登录用户名+%h 远程主机名+%p 远程主机端口 保持唯一的。

实际应用场景是这样子的:开发或者运维通过跳板机或者堡垒机,作为跳板登录目标机器,执行相关的操作。每次跳板机都是重新输入密码的,并且通常情况下都是不支持ssh key登录的。采用上面方式,只需要第一次登录后,后续新建终端登录跳板机是不需要再次输入密码的。

那么正确的使用方式如下:

  1. 首先打开你的终端,新建2个标签页面
  2. 在第一个标签页面,输入ssh m
  3. 第一次会要求你输入密码,输入正确的密码登录。
  4. 然后在第二个标签页面,直接ssh m,这时候你就不需要输入密码了。
  5. 这样就达到了免输入密码的操作。

Git

设置常用的git配置,当前使用的用户以及常用命令别名等。

#配置用户名和邮箱
git config --global user.name "username"
git config --global user.email "email"

git config --global core.editor "vim"
git config --global core.filemode false
git config --global core.quotepath false
git config --global color.ui true

git config --global gui.spellingdictionary none

#alias 创建命令别名
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.cp cherry-pick
git config --global alias.st status
git config --global alias.br branch
git config --global alias.r rebase
git config --global alias.ri rebase -i
git config --global alias.l '!git --no-pager log --graph --pretty=format:"%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit --date=relative'
git config --global alias.lg 'log --graph --pretty=format:"%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit --date=relative'

我觉得几个比较重要配置 :

core.editor vim

命令行经常使用的编辑器是vim

core.filemode false

不记录文件的属性变更

core.quotepath false

对中文名的文件或路径不进行转义

color.ui true

对git diff 进行颜色显示

gui.spellingdictionary none

不对提交进行拼写检查,主要用于解决Git GUI的错误提示”Spell checking is unavable”。

另外对一些常用的命令进行别名,这样就可以少输入几个字符了。

Sublime Text

我最喜欢的编辑器是Sublime Text 3,下面是我的日常工作设置:

{
  "default_line_ending": "unix",
  "draw_white_space": "all",
  "ensure_newline_at_eof_on_save": true,
  "font_face": "Ubuntu Mono",
  "font_size": 14,
  "rulers":[80],
  "show_encoding": true,
  "show_line_endings": true,
  "translate_tabs_to_spaces": true,
  "trim_trailing_white_space_on_save": true,
  "word_wrap": true
}

编辑器是日常工作用得最多的工具。

default_line_ending unix

设置默认为unix的回车符LF only。

draw_white_space all

显示所有不可见的字符

ensure_newline_at_eof_on_save true

保证每一个文件最后一行有一个空行

show_encoding true

显示文件的编码

translate_tabs_to_spaces true

转换tab键为空格

trim_trailing_white_space_on_save true

保存时删除行尾的空格

word_wrap true

自动换行

常用软件安装

#!/bin/bash
# Program:
#   从0开始,一键安装常用开发软件
# History:
# 2019-05-27 geekwho First release.
sudo apt install build-essential

sudo apt install curl zsh

sudo apt install vim

sudo apt install git
sudo apt install gitk
sudo apt install git-gui
sudo apt install git-svn

# svn
sudo apt install subversion

# php
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php
sudo apt install php-xml
sudo apt install php-mbstring
sudo apt install php-xdebug
sudo apt install php-curl

# php-cs-fixer
curl -L https://cs.symfony.com/download/php-cs-fixer-v2.phar -o php-cs-fixer
sudo chmod a+x php-cs-fixer
sudo mv php-cs-fixer /usr/local/bin/php-cs-fixer

# composer
wget https://raw.githubusercontent.com/composer/getcomposer.org/76a7060ccb93902cd7576b67264ad91c8a2700e2/web/installer -O - -q | php -- --quiet
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer

sudo apt install gnome-tweak-tool

#typora
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt-get update
sudo apt-get install typora

#sublime text
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
sudo apt-get update
sudo apt install sublime-text

总结

每次配置新的开发环境,通常是耗时较长的步骤。为此,我将日常开发的常用配置建立了一个单独版本库进行记录,避免自己下一次用到时花费更多时间去查找相关的信息。另外一方面,我把常用的软件安装SHELL命令,优化为一键安装的脚本,方便下次直接运行。这样,下次如果初始化环境的话,会帮助我节约部分时间,不过,有可能这个脚本很久都不会用到了,但提前做些准备总是好的。所谓,万事都是可以提前准备的。

Ubuntu常用配置指南

发表评论

电子邮件地址不会被公开。 必填项已用*标注