Mac OS X上でのEmacs 24設定(主にoptionキー周り)

2012年8月8日 23:02

 Mac OS XでATOKを使っていると、通常「¥」キーでは¥が入力される。しかし、Mac OS X(というかUTF-8)では¥と\は違う物として扱われる。そのため、色々と面倒くさいことが発生する。ことえりでは「¥」キーで\を入力する設定があるのだが、ATOKにはない。キーマップを書き換えて対応する、という方法もあるのだが、そういった方法は個人的に嫌いなので、Emacs側の設定で何とかすることにする。

 設定は以下の3点。

(setq mac-option-modifier nil)
(setq mac-command-modifier 'meta)
(global-set-key (kbd "C-M-¥") 'indent-region)

1行目でoptionキーをoptionキーとして認識させ、2行目でcommandキーをmetaキーとして認識させる。最後に、なぜかcontrol+command+option+¥がC-M-\として認識されないので、代わりにC-M-¥にindent-regionを割り当てる。

とりあえず、これでしばらくはしのげるかなと。

64ビット版CentOSで32ビット用プログラムを動かす

2012年7月26日 18:17

 64ビットのLinux環境で32ビットのプログラムを動かそうとする場合、32ビット版のライブラリが不足していて実行できない場合がある。

/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

 と出た場合、次のように32ビット版のlibstdc++をインストールすればOK。

$ sudo yum install libstdc++.i686

CentOS 6の初期設定メモ1

[] [] []
2012年7月24日 18:25

 CentOS 6の初期設定メモその1。ユーザーを作成してSSHの設定を行うまで。

ユーザーの作成

# groupadd hylom
# useradd -d /home/hylom -g hylom -m hylom
# chsh -s /bin/bash hylom
# passwd hylom

sudoの設定

 sudoersファイルを編集する。

# yum install sudo
# visudo

 sudoersファイルに次のようにhylomを追加。

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
hylom   ALL=(ALL)       ALL

SSH関連の設定

 SSH公開鍵を作成する。

# su hylom
$ ssh-keygen
$ cd ~/.ssh
$ vi authorized_keys 
$ chmod 600 authorized_keys

 authorized_keysにはログインに使用する公開鍵をコピー&ペーストしておく。

 SSHサーバーの設定。

# vi /etc/ssh/sshd_config

 sshd_configファイルでPermitRootLoginをnoに、PasswordAuthenticationをnoに設定し、rootでのログインを禁止&認証に公開鍵必須とする。

#PermitRootLogin yes
PermitRootLogin no
#PasswordAuthentication yes
PasswordAuthentication no

ホスト名の設定

# vi /etc/sysconfig/network
# hostname <hostname>

CentOS 5を延命させる

2012年4月17日 14:14

 CentOS 5を使っていると、含まれているソフトウェアのバージョンが古かったり、そもぞもリポジトリにそのソフトウェアがなかったりして困ることがある。さっさとCentOS 6にアップデートすればいい話なのだが、面倒くさいとか、そもそもフルバックアップしないと行けないとか色々と大変だったりするので(CentOS 5からCentOS 6へのアップデートは再インストールが推奨されている)、なんとかまだCentOS 5をこのまま使いたい、そんな時に役立つのがEPEL。

 EPELは「Extra Packages for Enterprise Linux」の略で、Fedora Projectが運営しているRed Hat Enterprise Linuxおよびその互換OS向けのパッケージリポジトリ。同種のものにrpmforgeがあるわけですが、Fedora Projectが運営しているということでEPELのほうがやや信頼感が(個人的には)高いということでこちらを使うことに。

 導入方法は簡単。以下を実行するだけ。

$ sudo rpm -Uvh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/5/i386/epel-release-5-4.noarch.rpm

 これでgitとかpython26とかをyumでインストールできるようになります。

Windows Azureメモその2:Azure Drive

2012年3月16日 22:17

 Azure Driveを利用するコード例がいくつかWebにあるのだが、「Windows Azure アプリケーション開発入門: 第 5 回 Azure ストレージ & Storage Client API を極める」は間違っているので注意。これで1日潰れた。

 全体としては内容はほぼ正しいのだが、最後に紹介されているドライブを作成するコードは現状(Azure SDK 1.6)では正しく動かない。問題の個所は、PageBlobを作成している部分。CloudDrive

  //PageBlobの作成
   pgAzure.Create(nDriveSize * 1024 * 1024);

Windows Azure 実環境上で CloudDrive の Mount メソッドが Unknown Error を発生させる」で述べられているが、CloudDriveのCreateメソッドを呼ぶ前に利用するBlobを作成していてはダメ。CloudDriveのCreateメソッドではBlobのフォーマット(VHD作成)も行っているため、CloudPageBlobのCreateメソッドでBlobを作成してしまうとマウントできなくなる模様。