Ubuntuの新規インストールと、個人環境を整えるためにやったことを覚え書きする
今回は Windows10 x64マシン(ディスク2TB,メモリ24GB,CPU i7)上に仮想マシンを作成してインストールした。
仮想マシンを作成する
- VMware workstation 12 player を起動する
- 「新規仮想マシンの作成」を選択する
- 事前にダウンロードしておいた、Ubuntu日本語Remixのisoイメージファイルを指定する
- ユーザ名、パスワード、仮想マシン名と場所などをお好みで指定する
- パフォーマンスを優先し、「仮想ディスクを単一ファイルとして格納」に変更する
- カスタマイズを選択し、パフォーマンス優先で、メモリを1GB→4GB、プロセッサコアを1→4 に変更する。インストール後にも再調整できるので適当に設定して良い
- インストール開始。全ておまかせで進み、10~30分程でUbuntuが起動する。
VMware Tools をインストールする
- VMwareのメニュー:Player(P)→ファイル(F)→環境設定(P)を選択し、「今すぐすべてのコンポーネントをダウンロード」ボタンをクリックする
- Ubuntu仮想マシンを起動した状態で、VMwareのメニュー:Player(P)→管理(M)→VMwareToolのアップデート(T)を選択する。または、VMwareウィンドウ下部に下記メッセージが出たら、「Toolsの更新」ボタンをクリックする(更新後も何度も同じメッセージが出ることがあり邪魔なので、その場合は「通知しない」をクリックする)
- VMwareTools仮想ディスクがマウントされて、内容が表示される
- VMwareTools-*.tar.gz を右クリックし、メニューから「展開...」を選ぶ
- 展開ウィンドウ左サイドバーにて展開先にホームを選び、右下の展開ボタンを押す
- ホームフォルダ下に展開されたvmware-tools-distribフォルダを右クリックし、メニューから「端末を開く」を選ぶ
- 端末にて
sudo ./vmware-install.pl
- 上記ではインストール項目を細かく問い合わせてくるので、すべてデフォルトで良い場合は
sudo ./vmware-install.pl -d
Ubuntu16.04の環境設定
- ログインして、右上の歯車をクリックし、メニューからシステム設定を選ぶ
- 「時刻と日付」にて場所を「Tokyo」に設定する
- 「ディスプレイ」にて解像度を各自のモニタサイズにあわせる
- 「言語サポート」にて地域フォーマットを「日本語」に設定する
- デスクトップを右クリックし、メニューから「端末を開く」を選ぶ
- ホームディレクトリにある「ドキュメント、ダウンロード、ピクチャ、ビデオ」などの日本語フォルダ名を英語にするため、端末にて
LANG=C xdg-user-dirs-gtk-update
- ポップアップしたダイアログに対し、"Don't ask me this again" をチェックし、"Update Names" ボタンをクリックする。
- このとき日本語フォルダ中にファイルが1つでもあると日本語フォルダが残ってしまうので、デスクトップやダウンロードフォルダに何かファイルを置いていたら、ホームフォルダに移動しておくこと。
- 続いて、初期ファイル保存フォルダを作成し、ホーム直下とetcの設定ファイルの初期状態を保存しておくとよい。
mkdir orig ; sudo cp -p .* /etc/* orig/
- Ubuntu標準パッケージのgitは古いので、最新バージョンが取れるようにパッケージリポジトリを追加する。
sudo add-apt-repository ppa:git-core/ppa
- パッケージを最新に更新する。二度手間を避けるため、追加パッケージを入れる前にやっておくべき
sudo apt update ;
sudo apt upgrade
- アップグレード後のディストリビューションのバージョンを確認する。
lsb_release -d
- 各自が欲しい追加パッケージをインストールする
- 端末用エディタ(vim,emacsなど)とnkfとgitは最低限欲しい. tigはsshでGUIが使えないときのgit操作に便利だ
sudo apt -y install vim git tig nkf jless lv zip p7zip-full xsel
- ビルド環境が欲しい場合はさらに
sudo apt -y install build-essential libtool automake autoconf pkg-config
- GUIパッケージは、画面左端のランチャーからUbuntuSoftwareを起動してインストールする。端末上の
sudo apt install
でも可能だが、ランチャー登録やインストール済みの削除などの管理が楽である。meld,gitg,geany
などお好みで入れる。
- この時点で初期選択済みパッケージの一覧を保存しておくとよい。
dpkg --get-selections > orig/pkg-selections
- bash、vim、gitの設定をカスタマイズする
# vimを、お好みに設定にする. emacs派はここでemacs設定をする.
vim ~/.vimrc
# aliasを、お好みに設定する
vim ~/.bash_aliases
source ~/.bash_aliases
# ヒストリ無視パターンを設定する.
# cd とか ls とか ps とか top など3文字までのコマンド入力や exit はヒストリに残す価値なし.
echo "export HISTIGNORE='?:??:???:exit'" >> .bashrc
# bash設定を確認する.
# Ubuntuの.bashrcはデフォルトで良い感じに設定されているので
# ざっと眺めるだけで良い. 気に入らない箇所があれば直す.
vim ~/.bashrc
# git無視パターンファイルを作成して、登録する
# 1. core.excludesfile の初期値は $XDG_CONFIG_HOME/git/ignore なので、その場所に作る方法と、
vim ~/.config/git/ignore
# 2. 任意の場所にファイルを作成し、そのパスを core.excludesfile に設定する方法がある.
vim ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore_global
# gitパッケージに含まれている diff-highlight を起動可能にする.
cd /usr/share/doc/git/contrib/diff-highlight
sudo make && sudo install diff-highlight /usr/local/bin
# Ubuntuでは、git標準エディタがnanoに設定されているのでvimやemacsに切り替える.
# gitで賢く差分が出せるオプションを指定する.
# 残りのgit設定は、切り替えたエディタを起動して、お好みで記入する.
# 最低限 user.name, user.email, push.default は記入しておくべき.
git config --global core.editor vim
git config --global diff.compactionHeuristic true
git config --global -e
alias設定ファイル
.bash_aliases
alias ..='pushd ..'
alias ...='pushd ../..'
alias ....='pushd ../../..'
alias a='alias'
#alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias aw='aliaswhich'
alias cp='cp -i'
alias df='df -h'
alias du='du -h'
#alias egrep='egrep --color=auto'
alias f='find . -iname'
#alias fgrep='fgrep --color=auto'
#alias grep='grep --color=auto'
alias h='history'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
#alias ls='ls --color=auto'
alias lt='ll -t'
alias mg='make -f GNUmakefile'
alias mv='mv -i'
alias rm='rm -i'
vim設定ファイル
.vimrc
"=== encoding
set enc=utf-8
set fencs=ucs-bom,iso-2022-jp,euc-jp,sjis,cp932,utf-8
set fileformats=unix,dos,mac
" FROM <http://www.kawaz.jp/pukiwiki/?vim>
" if fenc is iso-2022-jp and buffer is ascii only then change fenc as enc
" if this failed, do :e ++enc=utf-8
if has('autocmd')
function! AU_ReCheck_FENC()
if &fileencoding =~# 'iso-2022-jp' && search("[^\x01-\x7e]", 'n') == 0
let &fileencoding=&encoding
endif
endfunction
autocmd BufReadPost * call AU_ReCheck_FENC()
endif
"=== status line
set laststatus=2
set statusline=%<%F%h%m%r\ [%Y][%{&ff}][%{&fenc!=''?&fenc:&enc}:0x\%02.6B]%=%l,%c%V\ %P
"=== syntax
" check /usr/share/vim/vim74/filetype.vim
au BufNewFile,BufRead *.ssi setf perl
syntax on
filetype on
autocmd FileType c,cpp,perl,javascript set cindent tabstop=4 shiftwidth=4
"=== cursor
" FORM <http://qiita.com/usamik26/items/f733add9ca910f6c5784>
let &t_ti.="\e[1 q"
let &t_SI.="\e[5 q"
let &t_EI.="\e[1 q"
let &t_te.="\e[0 q"
"set cursorline
"=== mouse
set mouse=a
set ttymouse=sgr
"=== color
"colorscheme elflord
"set t_Co=256
"=== highlight
set hlsearch
"=== visible tab,space,eol
set list
set listchars=tab:»-,trail:-,nbsp:%,eol:↓
" NonText:eol, SpecialKey:tab,trail
highlight NonText ctermfg=DarkGreen guifg=DarkGreen
highlight SpecialKey ctermfg=DarkGreen guifg=DarkGreen
git設定ファイル
.gitconfig
[user]
name = YOUR NAME
email = YOUR@mail.address.com
[core]
editor = vim
excludesfile = /home/hkuno/.gitignore_global
quotepath = false
autocrlf = input
[push]
default = simple
[pull]
ff = only
[credential]
helper = cache
[rebase]
autosquash = true
[pager]
log = diff-highlight | less
diff = diff-highlight | less
show = diff-highlight | less
[tig]
tab-size = 4
mouse = yes
[diff]
compactionHeuristic = true
tool = meld
[merge]
tool = meld
[alias]
utf8 = !LANG=ja_JP.UTF-8 LESSCHARSET=utf-8 git
sjis = !LANG=ja_JP.SJIS LESSCHARSET=dos git
st = status
co = checkout
ci = commit
cia = commit --amend
cif = commit --fixup
cis = commit --squash
uncommit = reset --soft
rollback = reset --hard
pullr = pull --rebase
pullri = pull --rebase=interactive
br = branch
bl = branch -avv
tl = tag -l -n
al = config --get-regexp alias.*
ul = config --show-origin --get-regexp user.*
crlf = config --show-origin --get-all core.autocrlf
confg = config --global
diffc = diff --cached
difftoolc = difftool --cached
diffs = diff --stat
diffn = diff --no-index
logff = log --format=fuller
logd = log --decorate
logs = log --decorate --oneline -5
logv = log --decorate --graph --stat
ignore = !vim $(git config --get core.excludesfile)
git無視パターンファイル
.gitignore_global
#{{{ my add
# sytem folders
vssver.scc
.svn/
Debug/
Release/
# work folders
wk/
fix/
old/
tmp/
temp/
save/
orig/
,*/
wk.*/
fix.*/
old.*/
# backup files
*.bak
*.tmp
*.swp
*.TMP
*.old
*.orig
*~
\#*#
.#*
*.rej
*.decomment
*.$
$*
~$*
# OS cache
Thumbs.db
ehthumbs.db
Desktop.ini
.DS_Store
# unix work files
*.o
*.lo
*.la
*.al
.libs
*.so
*.so.[0-9]*
*.a
*.pyc
*.pyo
*.out
# windows work files
*.exp
*.manifest
*.cod
*.map
*.res
*.lnk
*.idb
# archive files
*.atc
*.zip
*.7z
#}}}
# original gitignore_global.txt by SourceTree for Windows
#ignore thumbnails created by windows
Thumbs.db
#Ignore files build by Visual Studio
*.obj
*.exe
*.pdb
*.user
*.aps
*.pch
*.vspscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.cache
*.ilk
##*.log
*.dll
*.lib
*.sbr
参考記事
- Ubuntu仮想マシンにVMware Toolsをインストールする
- http://ginka.hatenadiary.jp/entry/2015/05/06/151110
- https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2078905
- VMware Tools をインストールして使いやすくする
- ゲストOSがUbuntuでVMWareToolsをインストールする手順
- ubuntu 16.04 へアップグレードした際の備忘録
-http://iamidleness.blogspot.jp/2016/05/ubuntu-1604.html - Ubuntuのgitを最新版にアップデートする
- 「デスクトップ」等のディレクトリ名を英語にする
- Git2.9のキレイなdiffを出すためのconfig
- vim: 文字コードの自動認識
- mintty ターミナル上の vim で、モードに応じてカーソル形状を変える
- 日本語109キーボードのIMEオンオフ設定とCapsLock/左CtrlキーをMacキーボード風に変更する