Mac OS X上でのEmacs 24設定(主にoptionキー周り)
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ビット用プログラムを動かす
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
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を延命させる
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
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を作成してしまうとマウントできなくなる模様。