2013年12月01日

Virtualboxのアップグレード

普段ubuntuで暮らしていても、どうしてもWindowsが必要になることがあります。例えばiPhoneの管理にiTunesを使いたい場合。
そういう場合は、Virtualbox上のWindows8.1にお出まし頂いてるのですが、最近iPhoneが同期出来ない。途中でVirtualboxごとフリーズしてしまうことが頻発するようになり困ってました。

そこでubuntuパッケージのVirtualBoxから、VirtualBox謹製の最新パッケージを導入します。

1.先ずsources.listに以下を追加します。
deb http://download.virtualbox.org/virtualbox/debian saucy contrib

2.gpg鍵をゲットする。
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

3.aptでさくっとインストール。
sudo apt-get update
sudo apt-get install virtualbox-4.3

因みにフリーズの原因は、iPhoneが自動ロックするためのようです。自動ロックを「しない」にすればフリーズは回避出来ました。
posted by kurry at 22:42| Comment(0) | linux

2013年10月27日

VirtualBox上のWindows8(64bit)が8.1にアップグレードできない件

かねてより噂されてましたWindows8.1がリリースされましたね。Windows8ならWindowsストアから無料でアップグレードができます。
という訳で、ubuntu上のVirtualBoxにインストールしてあるWindows8を8.1にアップグレードしてみます。8を起動してWindowsストアにアクセス、「8.1へアップグレードをクリックすると‥
Screenshot_from_2013-10-27 14:10:23.png
「お使いのコンピューターのCPUでサポートされていないため、この更新をインストールする事ができません」
あれ?

Windowsストア経由を諦めて、ライセンス購入した際のメールのリンクからダウンロードサイトへ飛びアップグレードファイルをDL、実行すると、
Screenshot_from_2013-10-27 14:20:31.png
「CompareExchange128がサポートされていないため、インストールできません」だって。
どうも64bit版のWindows 8.1をインストールするには、CPUがCMPXCHG16bに対応している必要があり、VirtualBoxでこの機能を有効にするためには、設定が必要らしい。

ゼロからはじめる「Windows 8.1プレビュー」(マイナビニュース)

という訳で、実際にやってみました。VirtualBoxを終了してからターミナルを起動、そして以下のコマンドを実行。
$ vboxmanage setextradata [仮想マシンの名前] VBoxInternal/CPUM/CMPXCHG16B 1

この後VirtualBoxを立ち上げてWIndows8を起動、Windowsストア経由で無事8.1へアップグレードが完了しました。
posted by kurry at 14:37| Comment(0) | linux

2013年03月01日

ubuntu12.10 : 起動時「Checking battery state」でフリーズ

ubuntu12.10の起動時、ログイン画面が表示されず「Checking battery state [ OK ]」というメッセージを表示した状態で固まってしまう症状が現出。とにかくログインできません。そういえば前回起動したときにパッケージのアップデートを実行したっけ。その際何かが起こった?

これ、よくある症例らしく、ググッたら沢山の情報が見つかりました。その中で僕が試して治った方法です。

1) 先ず Control + Alt + F1 でコンソール表示してログイン。

2) $ sudo vi /etc/default/grub

3) "GRUB_CMDLINE_LINUX_DEFAULT" ラインを編集
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash console=tty1"(太字部分を加筆)

4) $ sudo update-grub

5) 再起動

参考にさせていただいたサイト:gingerbread
http://ktakeda47.blogspot.jp/2012/11/screen-freezed-at-checking-battery.html
posted by kurry at 23:43| Comment(0) | linux

2013年01月12日

SSDのための設定その3:Trimコマンドとrelatimeオプション

ハードディスクでは、削除したデータが残っている領域に新しいデータを直接上書きできますが、SSDの場合はいったん不要データを消去(ガベージコレクション)してから書き込まなければなりません。Trimコマンドは、削除したデータのブロックをSSDに通知してガベージコレクションを実行させるもので、書き込み可能なブロックを迅速に用意でき、書き込み速度の低下を防ぐ効果があります。

TrimコマンドはOSとドライブ双方が対応している必要があり,ubuntuとSSDN-3T120BどちらもTrimに対応しています。因みにWindowsは7から対応しているのかな?
という訳で、Trimコマンドを利用できるようにしましょう。ext4ファイルシステムをマウントする際に「discard」オプションを指定します。その為には /etc/fstabのSSDデバイスのマウントオプションに「discard」を追記します。
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 discard,errors=remount-ro 0 1

さらに「noatime」オプションを追記して、ファイルにアクセスした際にatimeの書き変えを停止して書き替え頻度を下げる・といったtipsをよく見かけますが、近頃のlinuxでは「ファイル・データの変更時刻」(mtime)または「ファイル状態の変更時刻」(ctime)のどちらかよりもatimeが古い場合にだけatimeを更新する「relatime」をサポートしており、こちらを推奨しているようです。

日経Linux_Linuxキーワード:atimeとは(http://itpro.nikkeibp.co.jp/article/Keyword/20090607/331455/

更に、最近のカーネルは最初から「relatime」が有効になっているようです。
因みに今使っている 12.04LTSのカーネル設定を見てみたのですが、

$ uname -r
3.2.0-35-generic
$ cat /boot/config-3.2.0-35-generic |grep CONFIG_DEFAULT_RELATIME
$(何も返してこない)

という訳で、コンパイルオプションにはありませんでした。これ本当に有効になっているのかなあ?
posted by kurry at 22:32| Comment(0) | TrackBack(0) | linux

2013年01月04日

SSDのための設定その2:RAMディスク(tmpfs)を使う


RAMディスクとは、メモリをストレージとして扱うもの。DRAMをストレージとして利用するのでアクセスは高速ですが、電源を落とすと内容はきれいさっぱり消えてしまいます。ここでは、搭載しているメモリの一部をRAMディスクとして /tmpをマウントし、一時ファイルのSSDへの書き込み減を狙います。
linuxで利用できるRAMディスクはいくつかありますが、仮想メモリベースのファイルシステムであるtmpfsが簡単便利、利用するには /etc/fstabに以下を追記すればOKです。ここではとりあえずサイズを512MBとしてマウントしています。
------------------------------------
# /tmpをtmpfsにマウント
tmpfs /tmp tmpfs defaults,size=512m 0 0
------------------------------------

では確認。

$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 39008132 3930848 33122468 11% /
udev 6140420 4 6140416 1% /dev
tmpfs 524288 28 524260 1% /tmp
tmpfs 2459692 864 2458828 1% /run
none 5120 0 5120 0% /run/lock
none 6149220 152 6149068 1% /run/shm
/dev/sdb1 967346296 392644016 526283584 43% /home

うむOK。容量は、使用状況を見つつ調整することにします。

続いて/var/run /var/lockもtmpfsに。この場合は /etc/default/rcSに以下を追記すればOK。
------------------------------------
# /var/run /var/lockをtmpfsに
RAMRUN=yes
RAMLOCK=yes
------------------------------------
これ、dfしても/etc/mtab見ても表示されないんだけどこれでいいのかな?

この調子で /var/tmpも tmpfsでマウントしようと思い、その為にメモリの増設(2GB+4GB=6G→B4GB+8GB=12GB)までしたのですが、どうやらこれはFHS非推奨のようです。起動の際 /var/tmpを見に行くようで、空だと何らかの不都合が発生するかもです。あーあせっかくメモリ買ったのに‥

Debian GNU/Linux スレッドテンプレ:/var/run や /var/lock を RAM disk (tmpfs) にしたい
posted by kurry at 16:33| Comment(0) | TrackBack(0) | linux