GIGABYTE Brix Core i7搭載モデル(DIMM8GBx2, SSD128GB, WIFI)にUbuntu 14.04 LTSをインストールした際のメモ。
インストール
パーティション設定
Partition | File System | Mount Point | Size | Flags |
---|---|---|---|---|
/dev/sda1 | fat32 | /boot/efi | 256 MiB | boot |
/dev/sda2 | ext3 | /boot | 256 MiB | msftdata |
/dev/sda3 | linux-swap | (swap) | 16.00 GiB | |
/dev/sda4 | 119.00 GiB | lvm | ||
/dev/vg01/root | ext4 | / | 20.00 GiB | |
/dev/vg01/data | ext4 | /srv | 82.74 GiB |
パーティションツールを起動する。
$ sudo parted
パーティション(システム領域)を作成する。
# ディスク0選択
(parted) select /dev/sda
# パーティション種別設定(GPT)
(parted) mklabel gpt
# パティション作成
(parted) unit MiB
(parted) mkpart efi 0% 257
(parted) mkpart boot 257 513
(parted) mkpart swap 513 16897
(parted) mkpart volume 16897 100%
# フラグ設定変更
(parted) set 1 boot on
(parted) set 4 lvm on
# 結果確認
(parted) print
Model: ATA PLEXTOR PX-128M5 (scsi)
Disk /dev/sda: 119GiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 0.00GiB 0.25GiB 0.25GiB fat16 efi boot
2 0.25GiB 0.50GiB 0.25GiB ext3 boot msftdata
3 0.50GiB 16.5GiB 16.0GiB linux-swap(v1) swap
4 16.5GiB 119GiB 103GiB volume lvm
# パーティションツール終了
(parted) quit
LVMボリュームを作成する。
# パーティションをLVM用に初期化
$ sudo pvcreate /dev/sda4
# ボリュームグループ作成
$ sudo vgcreate vg01 /dev/sda4
# 論理ボリューム作成
$ sudo lvcreate -L 20GiB -n root vg01
$ sudo lvcreate -l 100%FREE -n data vg01
# 確認
$ sudo lvdisplay
ボリュームをフォーマットする。
$ sudo mkfs.vfat /dev/sda1
$ sudo mkfs.ext3 /dev/sda2
$ sudo mkswap /dev/sda3
$ sudo mkfs.ext4 /dev/vg01/root
$ sudo mkfs.ext4 /dev/vg01/data
OSインストール
- インストール用USBを本体に挿入して電源をONにし、F12を押して表示されるメニューから「UEFI:~」を選択し、インストーラをUEFIブートする。
- 「Install Ubuntu Server」を実行する。
- [!!] Select a language ⇒ 「Japanese - 日本語」を選択する。
- [!] Select a language ⇒ 「はい」を選択する。
- [!] 場所の選択 ⇒ 「日本」を選択する。
- [!] キーボードの設定(キーボード配列を検出しますか?) ⇒ 「いいえ」を選択する。
- [!] キーボードの設定 ⇒ 「日本語」>「日本語」を選択する。
- [!!] ネットワークの設定(プライマリネットワークインターフェイス) ⇒ 「p1p1」を選択する。
- DHCPでネットワークを設定しています ⇒ 「キャンセル」を選択する。
- [!!] ネットワークの設定 ⇒ 「続ける」を選択する。
- [!!] ネットワークの設定 ⇒ 「手動で設定」を選択する。
IPアドレス:192.168.0.200/24
ゲートウェイ:192.168.0.1
ネームサーバアドレス:192.168.0.1 - [!] ネットワークの設定
ホスト名:brix
ドメイン名:home.local - [!!] ユーザとパスワードのセットアップ
新しいユーザの本名(フルネーム):
あなたのアカウントのユーザ名:
新しいユーザのパスワードを選んでください:
確認のため、再度パスワードを入力してください: - [!] ユーザとパスワードのセットアップ ⇒ 「いいえ」を選択する。
- [!!] ディスクのパーティショニング ⇒ 「手動」を選択する。
LVM VG vg01, LV data - 88.8 GB Linux device-mapper (linear)
1. 88.8 GB F ext4 /srv
LVM VG vg01, LV root - 21.5 GB Linux device-mapper (linear)
1. 21.5 GB F ext4 /
SCSI1 (0,0,0) (sda) - 128.0 GB ATA PLEXTOR PX-128M5
1.0 MB 空き領域
1. 268.4 MB B K EFIboot efi
2. 268.4 MB F ext3 boot /boot
3. 17.2 GB F スワップ swap スワップ
4. 110.3 GB K lvm volume
335.4 kB 空き領域
- [!!] ディスクのパーティショニング ⇒ 「パーティショニングの終了とディスクへの変更の書き込み」を選択する。
- [!!] ディスクのパーティショニング ⇒ 「はい」を選択する。
- [!] taskselを設定しています ⇒ 「セキュリティアップデートを自動的にインストールする」を選択する。
- [!] ソフトウェアの選択 ⇒ 「OpenSSH server」を選択する。
- [!] ハードディスクへのGRUBブートローダのインストール ⇒ 「はい」を選択する。
- [!!] インストールの完了 ⇒ 「続ける」を選択する。
セットアップ
ネットワーク設定
IPアドレスを設定する。
$ sudo vi /etc/network/interface
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto p1p1
iface p1p1 inet static
address 192.168.0.200
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 202.216.224.67 202.216.224.66
dns-search home.local
IPv6を無効化する。
$ sudo vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
ファイアウォール設定
ファイアウォールのルールを追加する。
$ sudo ufw default DENY
$ sudo ufw allow OpenSSH
$ sudo ufw allow Apache
ファイアウォールを有効にする。
$ sudo ufw enable
SSHサーバ設定
$ sudo vi /etc/ssh/sshd_config
# rootのSSHログインは公開鍵認証のみ許可する
PermitRootLogin without-password
# RSA公開鍵認証を有効にする
RSAAuthentication yes
PubkeyAuthentication yes
# rhosts認証を無効にする
RhostsRSAAuthentication no
# パスワードなしを禁止する
PermitEmptyPasswords no
# チャレンジ/レスポンス認証を無効にする
ChallengeResponseAuthentication no
# パスワード認証を無効にする
PasswordAuthentication no
# クライアントIPアドレスに対するDNS逆引きを行わない
UseDNS no
その他OS設定
パッケージを更新する。
$ sudo aptitude update
$ sudo aptitude safe-upgrade
$ sudo apt-get autoremove
etc変更管理のためetckeeperをインストールする。
$ sudo aptitude install git etckeeper
$ sudo vi /etc/etckeeper/etckeeper.conf
# VCS="git"
VCS="bzr"
↓
VCS="git"
# VCS="bzr"
$ sudo git config --global --add user.name 'Takamatsu Makoto'
$ sudo git config --global --add user.email 'tkmtmkt@gmail.com'
$ sudo git config --global --add http.sslVerify false
$ sudo etckeeper init
時刻同期のためntpをインストールする。
$ sudo aptitude install ntp
$ sudo vi /etc/ntp.conf
server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org
↓
server 0.jp.pool.ntp.org
server 1.jp.pool.ntp.org
server 2.jp.pool.ntp.org
server ntp.ubuntu.com
↓
server ntp.nict.jp
$ sudo service ntp stop
$ sudo ntpdate ntp.nict.jp
$ sudo service ntp start
デフォルトのエディタ設定をviに変更する。
$ sudo update-alternatives --config editor
alternative editor (/usr/bin/editor を提供) には 5 個の選択肢があります。
選択肢 パス 優先度 状態
------------------------------------------------------------
* 0 /bin/nano 40 自動モード
1 /bin/ed -100 手動モード
2 /bin/nano 40 手動モード
3 /usr/bin/emacs24 0 手動モード
4 /usr/bin/vim.basic 30 手動モード
5 /usr/bin/vim.tiny 10 手動モード
現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください: 4
日本語環境設定
日本語パッケージをインストールする。
$ sudo aptitude install language-pack-ja
$ sudo aptitude install ubuntu-extras-keyring
- 日本語ロケール生成
sudo localedef -f SHIFT_JIS -i ja_JP ja_JP.SJIS
sudo vi /var/lib/locales/supported.d/ja
ja_JP.UTF-8 UTF-8
ja_JP.EUC-JP EUC-JP
ja_JP.SJIS SJIS
$ sudo locale-gen
日本語フォントをインストールする。
$ sudo aptitude install fonts-ipafont-gothic
アカウント設定
アカウントを追加する。
$ sudo useradd -u 20000 -c 'Takamatsu Makoto' -m -s /bin/bash takamatu
$ sudo passwd takamatu
新しい UNIX パスワードを入力してください:
新しい UNIX パスワードを再入力してください:
passwd: password updated successfully
管理者権限を付与する。
$ sudo gpasswd -a takamatu sudo
Adding user takamatu to group sudo
パッケージインストール
環境用
$ sudo aptitude install p7zip p7zip-full
$ sudo aptitude install vim tmux
管理用
- パッケージファイル検索
$ sudo aptitude install apt-file
$ sudo apt-file update
- システム状態確認
$ sudo aptitude install sysstat
$ sudo vi /etc/default/sysstat
ENABLED="false"
↓
ENABLED="true"
- サーバ構成管理ツール
$ sudo aptitude install ansible
開発用
- バージョン管理ツール
$ sudo aptitude install git-all gitstats tig
$ sudo aptitude install mercurial
$ sudo aptitude install subversion cvs2svn statsvn
$ sudo aptitude install cvs statcvs
$ sudo aptitude install fossil sqlite3
ユーザ環境設定
SSH接続設定
SSH鍵ペアを作成する。
$ ssh-keygen
接続先情報を作成する。
$ cat <<EOS | tee ~/.ssh/config
Host sakura
Hostname www11234ui.sakura.ne.jp
User takamatu
EOS
$ chmod go-w ~/.ssh/config
SSH公開鍵を転送する
$ ssh-copy-id sakura
コンソール環境設定
dotfilesを取得する。
$ mkdir ~/git
$ cd ~/git
$ git clone https://github.com/tkmtmkt/dotfiles.git
$ cd ~/git/dotfiles
$ git submodule init
$ git submodule update
dotfilesを配置する。(シンボリックリンク作成)
$ cd ~/git/dotfiles
$ mv ~/.basharc ~/.bashrc.org
$ ansible-playbook mklink.yml -i hosts
コンソール起動スクリプト
既存のtmuxセッションがあればattachし、なければ新しいtmuxセッションを作成するスクリプト。
サーバにssh接続してconと叩いてセッションを開始し、作業中断時にCtrl+t、Ctrl+dでセッションを抜ければ、次にconと叩いたときに作業中のコンソールを再開する。
$ mkdir ~/bin
$ cat <<EOS | ~/bin/con
# !/bin/bash
if [ -z "\$(tmux list-session 2> /dev/null)" ] ; then
TMUXCMD="tmux new-session"
else
TMUXCMD="tmux attach-session"
fi
echo "\$TMUXCMD \; set set-titles on \; set set-titles-string \$HOSTNAME"
\$TMUXCMD \; set set-titles on \; set set-titles-string \$HOSTNAME
# vim: set ts=2 sw=2 et:
EOS
$ chmod +x ~/bin/con