Virtualboxのvmをvagrantに移行する

VirtualboxのGUI操作やSyncedFolderがめんどうだったので、
Virtualboxのvmをvagrantへ移行してみました

vmのOSはCentos 6.5です

基本的にマニュアル見ればできます
https://docs.vagrantup.com/v2/virtualbox/boxes.html
(みないでやって、めっちゃはまりました..)

まず、vagrantへ移行できるVirtualboxのvmには条件があり

  • 最初のネットワークはNAT
  • VIRTUALBOX GUEST ADDITIONSをいれておく

でなければできません(ほんとにまったくネットワークつながりませんでした..)

NATにしておいて、VIRTUALBOX GUEST ADDITIONSをいれておきます

参考)
Virtualboxの環境をコピーしたときのネットワーク設定
VirtualboxのCentosにGuest Additionsをコマンドでいれる

vagrant用のユーザーを追加して、sshでつながるようにします

$ visudo
TTYなしで実行できるように

#Defaults    requiretty

をのようにコメントアウト

sudoコマンドをパスワードなしで実行できるように

vagrant ALL=(ALL)       NOPASSWD: ALL

vagrantユーザー追加
$ useradd vagrant
$ passwd vagrant
パスワードは vagrant と入力
$ usermod -G wheel vagrant

vagrant ssh用のキーをセット
$ mkdir /home/vagrant/.ssh
$ chmod 700 /home/vagrant/.ssh
$ cd /home/vagrant/.ssh
$ curl -k -L -o authorized_keys https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub
$ chmod 600 /home/vagrant/.ssh/authorized_keys
$ chown -R vagrant.vagrant /home/vagrant/.ssh

vagrant用のディレクトリを用意
$ mkdir -p /vagrant/
$ chown vagrant.vagrant /vagrant

ファイアーウォールを止めておいて
$ service iptables stop
$ chkconfig iptables off

ここまでで下準備終了
こっから移行します

vagrant packageを作ります
$ vagrant package –base (ここにはVirtualboxでつけてたVMの名前を)
$ vagrant package –base sample –output sample.box
とすると、sample.boxができます

これをvagrantで取り込みます
$ vagrant add sample sample.box
$ vagrant box list
で出てくるのを確認して、用意したいディレクトリへ移動
$ vagrant init sample
$ vagrant up
で起動できたらOKです

CakephpでDIRECTORY_SEPARATORはDSでいい

CakephpではDIRECTORY_SEPARATORはDSでいいです

$ define(‘DS’, DIRECTORY_SEPARATOR);

してあるだけなんですが

[code lang=php:php]
$filePath = $directory . DS . 'some.txt';
[/code]

みたいな使い方です

定数のおさらいをしておきました
知らない定数もありました
http://book.cakephp.org/2.0/ja/core-libraries/global-constants-and-functions.html

Ubuntu 14.04へGoogle Chromeをインストールする

Thinkpad X240を手に入れたのでUbuntu14.04を入れてみました
Google Chromeが入ってる?ので起動しようとするとエラー..
入れなおそうといったん消して
$ sudo apt-get purge google-chrome-stable

Google Chromeのパッケージインストーラーをダウンロードします
OSにあったものを選びます
https://www.google.co.jp/chrome/browser/desktop/index.html

$ sudo dpkg -i google-chrome-stable_current_amd64.deb
(データベースを読み込んでいます … 現在 196072 個のファイルとディレクトリがインストールされています。)
Preparing to unpack google-chrome-stable_current_amd64.deb …
Unpacking google-chrome-stable (39.0.2171.95-1) over (39.0.2171.95-1) …
dpkg: 依存関係の問題により google-chrome-stable の設定ができません:
google-chrome-stable は以下に依存 (depends) します: libappindicator1 …しかし:
パッケージ libappindicator1 はまだインストールされていません。

dpkg: error processing package google-chrome-stable (–install):
依存関係の問題 – 設定を見送ります
Processing triggers for man-db (2.6.7.1-1ubuntu1) …
Processing triggers for gnome-menus (3.10.1-0ubuntu2) …
Processing triggers for desktop-file-utils (0.22-1ubuntu1) …
Processing triggers for bamfdaemon (0.5.1+14.04.20140409-0ubuntu1) …
Rebuilding /usr/share/applications/bamf-2.index…
Processing triggers for mime-support (3.54ubuntu1) …
処理中にエラーが発生しました:

とエラーが
libappindicator1が足りないので

$ sudo apt-get install libappindicator1
としてもlibindicator7がないとかでエラー

$ sudo apt-get install libindicator7
とするとlibappindicator1がないとかエラー

あれ、ループする..
Chromeが半端に入ってたのでもう一度削除
$ sudo apt-get purge google-chrome-stable

足りないものをまず入れます
$ sudo apt-get install libappindicator1
これでlibindicator7も入りました

再チャレンジ
$ sudo dpkg -i google-chrome-stable_current_amd64.deb

で、うまくはいりました

コマンドで画像のサイズを調べる

画像ファイルのサイズを調べるのにいちいち何かのソフトを立ち上げるのがめんどうなのでコマンドで調べてみました
(マシンが非力なので..)
Ubuntu 14.04を使っています

imagemagickを入れます
$ sudo apt-get install imagemagick
$ identify sample.jpg
sample.jpg JPEG 1024×576 1024×576+0+0 8-bit DirectClass 223KB 0.000u 0:00.009

素早く確認ができるようになりました