Linux

No space left on device

問題 gem ライブラリを幾つかまとめて update したところ No space left on deviceというメッセージが表示され、update は失敗した。 調査 メッセージの内容を見る限り HD の容量が足りなくなったのかと思い、df コマンドを打つも、特に異常なし。 % df -h F…

/dev/tty

先日 のエントリで「tty デバイスに...」と書いたのだが*1、tty とは何? たまに聞くことはあっても、よくわかっていないのだ。 tty について調べていると、次のようなことができるとわかった。 % tty # 自分の制御端末を調べる /dev/pts/0 % echo "hello wo…

リダイレクト

先日 リダイレクトとパイプについてちょろっと書いた。そのとき気になった部分を調べた。 気になったことは、リダイレクトを使った場合と、パイプを使った場合でプログラム内部で処理の違いが出てくるのか?ということ。とくに、ファイル位置の操作に関して…

リダイレクトでは入力できない、そんなふうに考えていた時期が俺にもありました

というか、忘れていただけなんだけど。 ファイルの内容をプログラムに渡そうとするときに、よく使うのがパイプ。個人的によく使う。 % cat input.txt | sort 今日、人の作業を見ていたらリダイレクトで入力していた。ああ、そういえばそんなのあったなー、な…

Vim + ctags

タグジャンプ。秀丸を使っていた頃はよく使っていたけれど、Vim を使うようになってからめっきり使わなくなっていた。だって知らなかったんだもの(この数年間)。 tags ファイルは ctags というコマンドで作成。 あと、.vimrc に次の設定を追加。 set tags+…

tty

sshを使ってリモートホストのコマンドを sudo で実行しようとしたときのこと。リモートホストが Ubuntu 9.10 の場合、コマンドを実行しようとしたが、エラーが発生し実行できなかった。tty が割り当てられていないし、askpass プログラムも指定されていない…

List comprehension

Learn Haskell in 10 minutes - HaskellWiki の続き、というか、10分以上かかるので飛ばしたところをやって行こうじゃないかと思うわけですよ。では、早速。 List comprehension リストの内包表記に関して。 1 Examples 複数のジェネレータを書く場合はカン…

fluxbox のメニューを日本語に戻す

fluxbox のメニューがいつの間にか日本語から英語に変わっていた。その際の手順を記録しておく。手順と言ってもコマンドを一つ実行するだけだけど。 # update-menusこれで日本語表示に戻った。 ちなみに、何が原因で英語表示になってしまったのかは不明。LANG…

ディスクレス環境がやっとできた

ディスクレス環境を構築しようとしてはや幾年。やっと、まともに使える状態にまでなった。以前は起動はするがログインできない状態にだった。 どこかで*1 SELinux を無効化した方がいいと読んだのが切っ掛けだった。はじめは今まで使っていた環境で SELinux …

ディスクレス?

この前 Mac + VirtualBox でディスクレスクライアントを作ろうとしたけど失敗した。原因が解らなかったので、NFS サーバを Mac ではなく Linux にすればいいのではないか、と山をはり試してみた。が、同じエラーが発生。ううむ。

VirtualBoxの仮想マシンをディスクレス化させる

必要に迫られたわけでもなかったのだけれど、DHCP サーバのことを調べてたらネットワークブートは DHCP が関係しているということがわかったので、興味本位でネットワークブート・ディスクレス環境を作ってみようと思ったわけで。 環境 サーバ(PXE Server) M…

プロセスとスレッドの差

問題 プロセスの生成とスレッドの生成ではスレッド生成の方が処理が軽い。プロセスは親プロセスとは別のメモリ空間で動作し、スレッドは同じメモリ空間で動作するので軽いのだ。というのはわかっているんだけど、実際どれくらい速度が違うのかは把握していな…

固定IPアドレス

Ubuntu で DHCP ではなく、固定で IP アドレスを設定させる方法のメモ。 固定って言ってもインターネットにサーバを公開するとかではなく、家庭内のネットワークでの話。ん、公開する場合も同じか?やったことないからワカリマセン。 /etc/network/interface…

grep -l

次のようなSQLが書かれたファイルがあって、その中から USERS テーブルに INSERT しているフィアルを検索する方法。 % cat sample01.sql -- USERS テーブルにインサートするよん INSERT INTO USERS (id, name, age) VALUES (:ID, :NAME, :AGE) % cat sample0…

/usr/local/bin

先日、Ruby 1.9.1 をソースコードからコンパイルしてインストールした。 configure で何も指定しないと、/usr/local/bin に実行ファイルがインストールされる。 インストール先が /usr/local/bin になっていることにはちゃんとした理由があるってことを初め…

sed or Perl?

文字列の置換に sed を使っていたけれど、sed よりも Perl の方がいいんじゃないかと思ったわけです。だって Perl の正規表現の方が強力だし、Perl の正規表現は大体覚えているので、sed の正規表現(Perl との差)を覚えなくても済むから。 でも、気になる…

find で空白を含んだパスに検索を実行し、結果を xargs に渡す

find で空白を含んだパスに対して検索を実行し、その結果を xargs に渡しても思うような結果が得られない。どうしてかというと、xargs は標準入力から空白または改行で区切られた文字列群を読み込むから。パスに含まれた空白が xargs に区切り文字として解釈…

Ubuntu のパッケージをコマンドラインから更新する

これは書かなくても覚えていられそうなんだけど、忘れたときの為に一応メモっておく。 # apt-get update # => パッケージ情報の更新 # apt-get upgrade # => パッケージの更新

ロードバランサを構築 (DSR編)

この前ロードバランサをNAT構成で構築したので、今度はDSR構成で構築してみる。 当初はリアルサーバの lo にWebサービスの IP をエイリアスとして割り当てて環境を構築しようとしたんだけど失敗。ロードバランサの環境の構築自体はうまくいったんだけど、ホ…

ホスト名の設定

OSをインストールした直後のホスト名はたいてい localhost.localdomain になっている。これはホスト名の変更方法のメモ。ちなみに、OS は CentOS 5.3。 手順 network ファイルの編集。 % sudo vim /etc/sysconfig/network ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~…

iptables の設定

以前、ロードバランサを構築する際に、iptables の設定が解からず機能をオフにしてやり過ごした。今回は、iptables の機能を有効にしたままでロードバランサが動作するように設定してみる。 LB 初期設定は以下のようになっていた。 % sudo iptables -L Chain…

RPMパッケージへ署名を付加する

rpm のパッケージを自分で作ったのはいいが、インストール時に署名がないよ、というメッセージが出たので、署名を付ける方法を調べてみた。 環境 OS CentOS 5.3 手順 gpg で自分の鍵を作成する。 % gpg --gen-key gpg (GnuPG) 1.4.5; Copyright (C) 2006 Fre…

ロードバランサを構築 (NAT編)

VirtualBox で作成した仮想マシンを使って、ロードバランサを作成してみる。環境はこんな感じ。 OS(LB, Web) Cent0S 5.3 keepalived 1.1.17 ipvsadm 1.2.1 apache 2.2.3 ネットワーク構成 | | 192.168.0.7/24 (eth0) +-----------+ | lbsrv01 | ロードバラン…

CentOS on VirtualBox 2

前回OSのインストールまで行ったので、その後のことについて。もう Virtual Box とは関係なかったりするけど。 アカウント作成 root でログインする アカウントを作成する # useradd -g wheel -m -d /home/yamamucho yamamucho # passwd yamamucho sudo権限…

CentOS on VirtualBox 1

VirtualBox を使って CentOS をインストールするメモ。 環境 Host Mac OS X 10.5.6 VirtualBox 2.1.4 CentOS 5.3 準備 VirtualBox のインストール。 インストーラを起動させ、サクッとインストール。 CentOS の .iso image をダウンロード 今回は CentOS-5.3…