Ubuntu 14.04 デスクトップ開発環境構築手順 [Unity, Rails, Ramdisk, SSD]
OS:Ubuntu 14.04 LTS 日本語 Remix 64bit
ホームディレクトリ以下の日本語ディレクトリを英語名へ変更する
env LANGUAGE=C LC_MESSAGES=C xdg-user-dirs-gtk-update
インストールするパッケージ
sudo apt-get -y install curl tree libreadline-dev autoconf bison build-essential libssl-dev libyaml-dev zlib1g-dev libncurses5-dev git xclip mysql-server libffi-dev libmysqlclient-dev unrar p7zip-full vim-gtk
特に必須ではないパッケージ
sudo apt-get -y install comix smplayer
標準のエディタを vim へ変更する
sudo update-alternatives --config editor
sudo のパスワード入力を省略
以下コマンドを実行し
sudo visudo
開いたテキスト内に以下を追記します。
username ALL=(ALL) NOPASSWD:ALL
ssh-agent を設定する
~/.ssh ディレクトリ以下に秘密鍵を配置する。
設定した鍵の内容が出力されること。
$ ssh-add -l 2048 xx:xx:xx...
登録された鍵の確認をする
ssh-add ~/.ssh/private_key
使用するフォントをインストールする
プログラミング用フォントの Ricty を使用する。
作成した .ttf ファイルを fonts ディレクトリに配置します。
/usr/share/fonts/truetype/ 以下に ricty ディレクトリを作成します。
fc-cache コマンドは fonts ディレクトリを再スキャンします。
mkdir /usr/share/fonts/truetype/ricty cp ./*.ttf /usr/share/fonts/truetype/ricty sudo fc-cache -fv
Vimの設定
AppArmorを無効化
AppArmorとは以下のようなものです。
AppArmor - openSUSE
Linuxキーワード - AppArmor:ITpro
セキュリティを上げるために存在するものだが
自分環境上非常にハマる要因となるため、無効にして運用する。
grubの設定を開きます。
sudo vi /etc/default/grub
以下の GRUB_CMDLINE_LINUX を変更します。
GRUB_CMDLINE_LINUX="apparmor=0"
編集後、Grubの設定を更新し再起動します。
sudo update-grub sudo reboot
Unity の設定を変更する。
unity-tweak-tool をインストールし、各設定を変更する。
sudo apt-get install unity-tweak-tool unity-tweak-tool
基本的には演出をすべて切る。
特に Window snapping は嫌なので切る。
スクロールバーの表示を変更
スクロールバーの仕様がオンマウスして表示されるようなもので
使いづらいので以前のようなスタイルに以下のコマンドで変更する。
gsettings set com.canonical.desktop.interface scrollbar-mode normal
その他の設定
Ubuntu 上で MySQL の tmpdir, datadir を別ストレージ(SSD)、 Ramdisk へ変更する。
Ubuntu 14.04 LTS を使用しています。
SSDにOSが入っており、
HDD及びRamdiskにアクセスを逃がす意味で設定を行います。
以下のようなディレクトリに各デバイスをマウントします。
HDD = /storage (注:/mnt/XXX に対するシンボリックリンク)
SSD = /ramdisk
各設定とディレクトリは以下のようにつながります。
tmpdir: /ramdisk
datadir: /storage/mysql
tmpdir の変更
my.cnf を開き
sudo vi /etc/mysql/my.cnf
tmpdir 項目を変更する。
tmpdir = /ramdisk
注意すべきはこの設定を適用した場合に
MySQL を起動すると /ramdisk のパーミッションが
777 の場合だとしても権限がないと以下のように怒られてしまう。
/usr/sbin/mysqld: Can't create/write to file '/ramdisk/ib4pRsqd' (Errcode: 13)
結論としては AppArmor がアクセス制御している為で、
今回は MySQL を AppArmor の制御外とすることで対処します。
sudo apt-get install apparmor-utils
aa-disable /usr/sbin/mysqld
これで tmpdir の変更が出来たと思います。
datadir の変更
HDDのマウント
fstab を開き
sudo vi /etc/fstab
以下のような内容を書き込みます。
今回は権限が 777 となるよう umask=000 を指定しています。
/dev/disk/by-uuid/XXXX-ZZZZ /mnt/XXXX-ZZZZ auto nosuid,nodev,nofail,users,rw,umask=000 0 0
my.cnf の設定
my.cnf を開き
sudo vi /etc/mysql/my.cnf
user, datadir 項目を変更する。
今回は user を root に変えているのは
storage を root にてマウントしているためです。
user = root datadir = /storage/mysql
上記を設定したら以下コマンドを実行しデータベースを作成します。
今回は初期状態として扱っていますが、既存のデータがある場合には
対象のディレクトリに元のデータをコピーしておけば良いと思います。
mysql_install_db
ここまでやった後に、通常通り MySQL が起動をします。
起動しない場合、 /var/log/mysql/error.log などを確認ください。
# service mysql start mysql start/running, process 6298 # mysql -uroot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.5.38-0ubuntu0.14.04.1 (Ubuntu) ... ..