タグ

ブックマーク / naruhodius.hatenadiary.org (7)

  • svn+ssh は利用できるが対話的なログインはできないユーザーを作成する。 - D.

    svn+ssh は安全に svn を利用する方法のひとつとして広く知られている。このとき、対話的な ssh ログインを許可しておくと、そのユーザーアカウントの権限内でシステム内部を参照されてしまうことになる。単に svn サービスを他者に提供する場合、最小権限の法則に従い svn は利用できるが対話的なログインは不可能とするユーザーを作成するのが基である。そこで、この方法を説明する。 公開鍵の登録ファイル ~/.ssh/authroized_keys の内容を編集し、冒頭に以下の文字列を追加する。 command="/usr/bin/svnserve -t",from="xxx.xxx.xxx.xxx",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAA... (略)command="/

    svn+ssh は利用できるが対話的なログインはできないユーザーを作成する。 - D.
  • Ramdisk を使う。 - D.

    Mac で Ramdisk を利用することにした。手順をメモ。 起動時に Ramdisk を生成して初期化するシェルスクリプトを作る。 /Library/Ramdisk/ramdisk.sh を作成する。 # Ramdisk を作る RAMDISK="$(hdid -nomount ram://1048576)" # 1 ブロック = 512 バイト diskutil eraseDisk HFS+ ramdisk $RAMDISK mkdir /Volumes/ramdisk/tmp chmod 700 /Volumes/ramdisk/tmp mkdir /Volumes/ramdisk/Caches chmod 700 /Volumes/ramdisk/Caches # アクセス日時を記録しない mount -u -o noatime / 起動時に上記のシェルスクリプトが実行されるよう

    Ramdisk を使う。 - D.
    aereal
    aereal 2011/05/30
    SSD, Ramdisk
  • プラガブルに拡張可能な zshrc を書きたくなったので、書いた。 - D.

    zsh は zcompile コマンドにより中間バイトコードをあらかじめ生成し起動の高速化を図ることができる。だが一人で複数ユーザーを利用したりしていると、いちいち各ユーザーごとに zcompile するのがダルイし、どうせなら /etc/zsh あたりに共通のファイルを置きたい。また、ちょっとしたコード片を追加するときに plugins ディレクトリに放り込んでそのまま拡張できる仕組みが欲しい。 .zshrc を編集してもいいのだが、変更部分だけ独立していたほうが管理も楽になるだろう。このあたりの問題解決を目的としている。 目的 中間バイトコードをシェアして zsh の起動を高速化する。 プラガブルに .zshrc を拡張できる。 (コード片を plugins ディレクトリに放り込めば即反映) インストール先を指定できる。 (sudo が使えても使えなくても OK) ソースコード htt

    プラガブルに拡張可能な zshrc を書きたくなったので、書いた。 - D.
    aereal
    aereal 2011/05/25
  • git で複数のリモートリポジトリに一度に push したりする。 - D.

    git リポジトリの .git/config には remote origin となる URL がテキストで書かれている。 [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = ssh://user@host/~user/git-bare/repo.git [branch "master"] remote = origin merge = refs/heads/master なお、これらの値は git config -l で参照することもできる。このうち remote.origin.url を書き換えることで pull/push の対象

    git で複数のリモートリポジトリに一度に push したりする。 - D.
    aereal
    aereal 2011/04/18
  • Debian Squeeze (testing) へアップグレードする。 - D.

    Debian 6.0 Squeeze がフリーズされたので、さっそく仮想環境上で Lenny から Squeeze へのアップグレードを実施したのでメモ。 個人的に Squeeze の目玉だと思う点は以下の通り。 カーネル 2.6.32 を搭載 ext4 ファイルシステムが安定版として組み込まれている WiMAX ドライバが使える (と思う) Grub2 が標準 Linux カーネル以外にも FreeBSD カーネルが使える (amd64/i386) こうしてみると意外と大きな変更点は少ない。ext4 ファイルシステムが使えるのは大歓迎なのだが。 アップグレードをする まずはソースリストを編集して lenny を squeeze に置換する。 sudo vim /etc/apt/sources.list 次に apt を更新してから全体をフルアップグレードする。 sudo aptitude

    Debian Squeeze (testing) へアップグレードする。 - D.
  • Ubuntu 10.04 LTS で暗号化 LVM を利用し、さらにパーティションを細かく分割する。 - D.

    まずは Server CD を公式サイトよりダウンロードする。 Get Ubuntu Server Edition Download http://www.ubuntu.com/server/get-ubuntu/download なぜ Server 版かというと暗号化 LVM を利用するためである。 Ubuntu 10.04 LTS の Desktop CD ではホームディレクトリの暗号化のみサポートされている。 しかしシステム全体の暗号化はサポートされていない。 また LVM を利用してパーティションを柔軟に拡張することができない。 そこで、通常の Ubuntu デスクトップではなく暗号化 LVM に対応しているインストーラーを利用する必要がある。一応 Alternate CD でも対応しているのだが、どうせならサーバー環境も同時に作れる Server CD を利用する。 最初に CD

    Ubuntu 10.04 LTS で暗号化 LVM を利用し、さらにパーティションを細かく分割する。 - D.
  • 複数の Python, Ruby を併用する。 - D.

    python 3.x 系及び ruby 1.9.x 系を利用したい。 とはいっても、現行のバージョン (python 2.x 系及び ruby 1.8.x 系) も必要である。 そこで、これら両方が共存できる環境を構築した。 Mac OS X の場合は非常に簡単である。 あらかじめ MacPorts で複数入れておいて、port activate/deactivate すれば必要なバージョンに切り替えられる。 Ubuntu や Debian GNU/Linux では、基的には以下の手順で良い。 ビルド時の ./configure で --prefix=/opt/hoge のようにディレクトリを指定する。 update-alternatives にビルドしたパスを登録することで /usr/bin の下にシンボリックが作成され、複数のバージョンを切り替えられるようになる。 ただし、自分の場合

    複数の Python, Ruby を併用する。 - D.
  • 1