より長続きするブログ

続けていきたい気持ち。

Ubuntuではsudo-ext.elは動作しない?

Emacsルート権限で作業をしたい場合、sudoで開きなおすのが面倒なので楽な方法を探していた。そして見つけたのがこれ。
Emacsの中でsudoする方法 〜これでrootによる操作も楽々〜 - (rubikitch loves (Emacs Ruby CUI Books))

しかしsudo-ext.elを他のelファイルと同じフォルダに置き、init.elに

(server-start) ; sudoeditで使う
(require 'sudo-ext)

を書き足しても上手くいかない。M-x sudoeditを実行すると開きたいファイルを聞いてきて、[Enter]を押すとパスワードが入力できる。さらに[Enter]を押すのだが、何も起こらない。フリーズするでもなく、そのまま続けて使える状態。

なぜなのか簡単に調べたところ、"Ubuntuではデフォルトではsudoeditの利用が許可されたユーザーは存在しません。"とのこと。
引用: Ubuntu Weekly Topics:2010年3月5日号 “Light” テーマ・10.10のUDS・U1MSベータ・Plug Computerの新型・FCM#34・UWN#182・sudoのセキュリティアップデート|gihyo.jp … 技術評論社
ターミナルからsudoeditしてもエラーが出た。

Warning: unknown mime-type for "/etc/fstab" -- using "application/octet-stream"
Error: no "edit" mailcap rules found for type "application/octet-stream"

これのせいかなぁ。解決法を模索中。

3. 参考

Macでのマルチブートについては、以下のブログ等を参考にさせて頂きました。Mac素人な自分でもついていけました。

Newblerのインストールでは以下が参考になりました。

2. 失敗メモ

2.1 仮想化

最初はVirtualBoxで仮想化環境で、Linuxを入れようと思っていたが、それだとメモリをフルに使えないので取りやめ、デュアルブートにした。

2.2 CDブートの問題

UbuntuのCDを外付けCDドライブ(Mac miniなので)に入れてcを押しながら起動したり、Optionを押しながら起動してCDのアイコンを選んだりしても上手くブートしない。真っ黒な画面が表示されて終わり。OptionキーからのメニューではUSBもブートしない。rEFItのメニューからブートさせるしかなかった。PRAMクリアとPSUリセットも試したが変わらず。

2.3 Mac miniのOpen Firmwareが使えない

[Command]+[Option]+O+Fを押しながら起動しても、Open Firmwareが開かない。

2.4 Ubuntuでのインストール失敗

UbuntuをインストールからNewblerをインストールしようとすると、途中で失敗した(インストールフォルダには断片みたいなファイルができてしまった)。これは以下の原因が考えられる。

  • Ubuntuのインストール時、サードパーティ製のソフトのサポートのチェックを入れなかった。後からOpenJavaRuntimeを入れたが、他に何か関係するソフトが漏れたのかもしれない。
  • zlib.i386, libXi.i386, libXtst.i386, libXaw.i386というライブラリが足りないということで、これらを一つづつインストールしようとした("sudo apt-get libxi-dev" など)。この試みは失敗し、必要なライブラリが全てインストールされなかったが、あとから入れたものと競合したのかもしれない。

2.5 Newbler assemblerのバージョン依存

他のバージョンのNewblerとして、v2.6をダウンロードしインストールしようとしたが、これもすぐに2.5とは異なるエラーが出て失敗した。おそらくインストール不可能だと思われる。v2.5.3は未検討。v2.5のfix版だとしたらこちらを試すべきだったかもしれないが、今となってはやり直す気が起きない。v2.3以下は機能が足りないらしいのでまったく使わなかった。

2.6 他のLinuxディストーション

Ubuntuで失敗したのはDebian系OSのせいかもしれないと考え、CentOS6.0、Fedora16などのインストールを試みた。しかしCDドライブからのブートができないためにUSBブートしかないのは変わらなかったし、CentOSはUSBブートの方法があるかわからなかったため、FedoraはUSBからのブートしようとはするが、インストーラが立ち上がらないためそれぞれ中止になった。その後再びUbuntuをインストールし直してNewblerをインストールすることができた。

1. インストールメモ

1.1 UbuntuのLiveUSBを作成

特にディストーションの指定はなかったので、自分が一番使い慣れたUbuntuをインストールする。情報も多いしね。バージョンは11.10 Oneiric Ocelot。

まず、UbuntuのLiveUSBを作る。既にUbuntuが導入されたPCとインストールしたいバージョンのディスクイメージが必要らしい(たぶん)。Ubuntuでスタートアップ・ディスクの作成([アプリケーション一覧>カスタマイズ]にあるはず)を使い、画面の支持に従うだけ。

1.2 OS Xからの設定

アプリケーション>ユーティリティ>ディスクユーティリティからインストール用パーティションを作成(500GBのOS X領域から60GB程度を拝借した)。
さらにrEFItというブートローダをインストール。rEFItのサイトからダウンロードしたインストーラのファイル内から[efi]フォルダをMacintosh HDの最上位にコピーする。

1.3 Ubuntuをインストール

再起動するとrEFItが起動するはず。その中に[〜/refit.efi]というテキストのアイコンがあるはずなので、それを選択(この辺り経験則…)。するとLiveUSBがブートされる。メニューから"インストールして使う"という意味のやつを選ぶとインストール開始。基本的には画面の支持に従っていれば終わるはず。

インストール時の注意点と思われるのは、"サードパーティ・ソフトウェアをインストールする"にチェックを入れること(関係ないかも)と、ディスク領域の割り当てで"それ以外"を選び、先に作ったインストール用の領域にインストールすること(2〜4GBほどをスワップ領域にして、残りにext4で/を指定すればいいと思う)。あとブートローダは/を指定したパーティションにインストールする。

1.4 NewblerAssmeblerのインストール

再起動するとUbuntuが立ち上がるのでNewblerAssmeblerをインストールする。しかしそのままインストールしようとすると

One of the following libraries was not found : zlib.i386, libXi.i386, libXtst.i386, libXaw.i386

というエラーが出る。ライブラリが足りないということで、ターミナルから

sudo apt-get install ia32-libs

を実行してインストール。

Newbler本体はv2.5のインストールCDがあったのでそれを使って入れることにした(このバージョンより新しいと失敗するかも。詳細は下記)。
CD内のsetup.shをダブルクリックするとインストーラが立ち上がる。支持に従って次へとかOKとか押していくとインストールが終わるはず。デスクトップにショートカットが表示されるので、起動するとGUIなアプリケーションが立ち上がる。詳しい使い方などは管轄外なのでわからない。

1.5 起動時のデフォルトOSをOSXに戻す

最後にデフォルトではUbuntuが立ち上がるようになっているので、これをOS Xに戻す。Option押しで起動して、OS Xの入ったパーティションを選択して起動させる。システム環境設定>起動ディスクの変更からOS Xが入ったHDDを選んで再起動。OS XUbuntuが同じHDDに入っていても、これで起動の優先順位が変わるらしい。内部で何が起こっているかは不明。

Mac miniにLinuxを入れてNewbler assmeblerを動かす

OS Xのみが入っているMac miniLinuxでしか動かないNewbler assmeblerを入れて欲しいと同期に頼まれたので、Linux初心者かつMac素人だけど色々と試行錯誤することになった。僕の所属している研究室でLinuxを使っている人はいないので。

最終的にはアセンブラは動いたが、Mac miniでCDブートができないという問題が残った。しかしせっかくなので、動く状態になるまでの手順と失敗例を思い出せる限りメモしておこうと思う。誰かの参考になるかもしれないし(といってもNewblerは適当にやれば大体インストールできるらしいが)。

Accession No. のリストを作って実行するとfastaファイルを作ってくれるRubyスクリプト

欲しかったので作った。

メインになるサーバアクセスはbioRubyでやってもらって、取ってきたファイルを整形しているだけ。
作業自動化を色々やりたいのだけど、とりあえずその一歩。保存も兼ねて置いてみる。

require 'bio'

readfile = open("no.ini", "r")
while number = readfile.gets do
number.chomp!
txtfile = open("data/" << number << ".txt", "a+")
fasfile = open("data/" << number << ".fas", "a+")
serv = Bio::Fetch.new("http://www.ebi.ac.uk/Tools/dbfetch/dbfetch")
entry = serv.fetch("genbank", number)
txtfile.puts entry
txtfile.close

### txtfileから情報取得
txtfile = open("data/" << number << ".txt", "r")
while line = txtfile.gets do
if line.include?("ID ")
line.sub!("ID ", ">")
line.sub!(/;.*/, "")
fasfile.puts line

### その他大文字アルファベットから始まる行を削除
elsif /[A-Z][A-Z].*/ =~ line

### 最後の//を削除
elsif /.*\/\/.*/ =~ line
line.sub!(/.*\/\/.*/, "")
fasfile.puts line

### それ以外の行(atgc...)をアウトプット
else
line.sub!(/[0-9].*/, "")
line.strip!
fasfile.puts line

### if終わり
end

### 行抜き出しの繰り返し終わり
end
txtfile.close
fasfile.close

### 一つのアセッションナンバー終わり
end

readfile.close

Ubuntu 11.10を入れたメモ

今までもネットブックUbuntuを使っていたが、メインPCのHD容量が増えて、ディアルブートにしてもいいかなと思ったので導入することにした。
研究に有用なソフトも使えそうなのが多いしね。周りに使ってる人がいないので、使えるようになるまでがキツそうだけど。

ついでに防備録として作業をインストール後の作業をリストアップしようと思う。既に忘れていることもあるのでそれは仕方ないとする。



インストール後やったことリスト(随時更新)

1. Firefoxに拡張・プラグイン導入。

  • FireGesture, LastPass, Make Link, ツリー型タブ, ContextMenuPlusをそれぞれ公式のアドオン検索から導入。
  • GitHubからTombooを導入。

2. 日本語環境の充実。
Ubuntuの日本語環境 | Ubuntu Japanese Team
この通りにやった。要再起動っぽい。

3. Mozc導入。

4. AdobeAIR導入。

  • Archived Adobe AIR runtime, SDK versions Linuxはサポートがなくなったらしく、最新版は使用できないらしい。とりあえず、まだ2.6で事足りそうなのでアーカイブページからインストール。
  • Gwibberは個人的に好みでないのでWinでも使っているTwitamaを入れる。しかし、日本語入力が重い感じ。検討の必要あり。

chmod +x ./

このコマンドでbin, airファイルは実行可にできるようだ。

5. wine導入。
Ubuntuソフトウェアセンターから普通に入れた。どうせ動作不安なのでベータ版を選択。
.foobar2000でTAKファイルの再生に成功。ただしプレイリストが文字化けまくる。Last.fmへの送信などは正常に行われている。自分の使用用途なら、聞くだけに限れば実用可。


ついでに、今後やることリスト。
1. Firefox関係