2011年5月30日月曜日

UbuntuでDVDをバックアップ

環境
・Ubuntu 10.10 Desktop 64bit


Medibuntuのリポジトリを追加
$ sudo wget --output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list && sudo apt-get --quiet update && sudo apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring && sudo apt-get --quiet update


dvdbackupのインストール
$ sudo apt-get install libdvdcss2
$ sudo apt-get install dvdbackup


使い方
dvdbackup -M -i /dev/sr0 -n hoge -o /home/fuga
オプションは下記のとおりです。
-M・・・DVD全体をバックアップするときに使うオプション
-i・・・ターゲット(DVDドライブ)のディレクトリ
-n・・・保存するときに作成されるフォルダの名前
-o・・・保存先のディレクトリ


しばらくまてば、/home/fuga/hogeにVIDEO_TSフォルダが出来上がっているはずです。
あまり細かい設定は出来ませんが、シンプルで使い勝手は良いです。


以上。

2011年4月11日月曜日

Ubuntu 10.10にBlender 2.5をインストール

環境
・Ubuntu 10.10 Desktop 64bit


$ sudo add-apt-repository ppa:cheleb/blender-svn
$ sudo apt-get update
$ sudo apt-get install blender


以上。

2011年1月5日水曜日

RubyからGoogleスプレッドシートのデータを取得

環境
・Ubuntu 10.10 Desktop 64bit
・Ruby 1.9.2
・gdata 1.1.1


RailsからGoogleスプレッドシートのデータを取得して、DBにインサートするという機能を、今から作ろうと思っています。


Googleスプレッドシートのデータを操作するには、gdataというライブラリを使用します。
Ruby 1.9.2でgdataをrequireすると、下記のようなエラーが出てしまいます。
`require': no such file to load -- jcode (LoadError)


これを解消するためには、
$HOME/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9/gems/gdata-1.1.1/lib

require 'jcode'
$KCODE = 'UTF8'
この箇所を、
if RUBY_VERSION < '1.9'
  require 'jcode'
  $KCODE = 'UTF8'
end
という風に書き換えます。


あとは、
rubyからGoogle Data APIでGoogleDocsのSpreadSheetを参照してみた - 三並慶佐 - hi-fi-Net Blog
を参考に、セルの値を読み出してみます。


require "rubygems"
require "gdata"

client = GData::Client::Spreadsheets.new
client.clientlogin('******@gmail.com', 'enteryourpassword')

key = "****************************************"
sheet = 1
feed = client.get("https://spreadsheets.google.com/feeds/cells/#{key}/#{sheet}/private/full").to_xml

row_count = feed.elements['gs:rowCount'].text.to_i
col_count = feed.elements['gs:colCount'].text.to_i
puts "row_count=#{row_count}"
puts "col_count=#{col_count}"

sheet_data = []
feed.elements.each('entry') do |entry|
gs_cell_el = entry.elements['gs:cell']
col = gs_cell_el.attribute('col').value.to_i
row = gs_cell_el.attribute('row').value.to_i
text = gs_cell_el.text
puts "#{col} #{row} #{text}"
end


シートインデックスは、0ではなく、1から始まることに注意しましょう。

2010年12月18日土曜日

Ubuntuでディスクを完全消去する方法

HDDやUSBメモリを破棄したり、譲渡したりする場合は、データを完全に消去しなければなりません。
Linuxには、そのためのshredというコマンドが用意されています。


環境
・Ubuntu 10.10 Desktop 64bit


まずは、fdiskで、消去したいデバイスを調べます。
$ sudo fdisk -l

ディスク /dev/sda: 128.0 GB, 128035676160 バイト
ヘッド 255, セクタ 63, シリンダ 15566
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0x00031378

デバイス ブート     始点        終点    ブロック   Id システム
/dev/sda1   *           1       14928   119909128+  83  Linux
/dev/sda2           14929       15566     5124735    5  拡張領域
/dev/sda5           14929       15566     5124703+  82  Linux スワップ / Solaris

ディスク /dev/sdf: 32 MB, 32768000 バイト
ヘッド 2, セクタ 32, シリンダ 1000
Units = シリンダ数 of 64 * 512 = 32768 バイト
Disk identifier: 0xe4cb8593

デバイス ブート     始点        終点    ブロック   Id システム
/dev/sdf1   *           1         999       31952    4  FAT16 <32M


今回は、32MBのUSBメモリを消去してみます。


下記のコマンドで、ランダムデータの書き込みを4回行います。
$ sudo shred -n 4 -v /dev/sdf1


万全を期す場合は、-zオプションを使います。ただし、すごく時間かかります。
$ sudo shred -z -v /dev/sdf1

今回使ったオプション
-n・・・ランダム書き込みを行う回数
-v・・・進捗状況の表示
-z・・・ランダム書き込みを25回行い、最後に0を書き込む

2010年12月15日水曜日

Ubuntu 10.10 64bitにOpenNIをインストール

ようやくkinectに触れる時間ができたので、話題のOpenNIを入れてみました。



環境
・Ubuntu 10.10 Desktop 64bit


ほとんどの手順は、下記ページの通り。
TK's HP - Linux Ubuntu 10.04でOpenNIを使ってKinectを動かしてみる
NITEは、64bit用のものをインストール。


OpenNI/Samples/Bin/Releaseと、NITE/Samples/Binに入っているサンプルを実行して、動作確認を行います。




















OpenNIのサンプルは動作するものの、NITEのサンプルは、ほとんど動きません・・・Ubuntuだから?64bitだから?
正式版が出たら、もう一度トライしてみたいと思います。

2010年11月15日月曜日

VirtualBoxのゲストでWindows7入れたときに、オーディオデバイスが認識しない

VirtualBoxで、ゲストOSとしてWindows 7を入れたときに、オーディオデバイスが認識しないというトラブルがあったので、その解決法をメモしておきます。


環境
・Ubuntu 10.04 Desktop 64bit
・VirtualBox 3.2.10


解決法といっても、下記のサイトから、AC97のドライバをダウンロードしてインストールするだけ。
AC'97 Audio Codecs
Chromeだと、ページの挙動がおかしいので、IEでダウンロードしましょう。

2010年10月21日木曜日

HerokuでSassを使う

Herokuのファイルシステムは、read onlyになってて、Sassが動きません。
ググってみたら、解決法はいろいろ出てきますが、ソースが古くて、Rails3環境では役に立ちません。
数時間かけて、ようやく解決法を見出すことができたので、ここにやり方を公開します。


環境
・Ruby 1.9.2
・Rails 3.0


まず、Gemfileに、hassleを追加します。
最新版がほしいので、gitリポジトリから直接取ってきます。
$ vi Gemfile

gem 'hassle', :git => 'git://github.com/koppen/hassle.git'

あとは、"bundle install"するだけ。
$ bundle install


以上おわり。
えっ、あっけなすぎるって?シンプルイズベストです。