Linuxの最近のブログ記事

 ThinkPad X31にFedora12を載せてメインマシンとして使ってます。

 サーバのメンテナンスや開発作業でFedoraターミナルからサーバにSSH接続する事があるけど、いつのまにかコネクションが切れている事がある(実際にはシェルが無反応になった後、更にしばらくして「コネクション切れたよ」みたいな)。

 色々と調べてみると、自宅で使用しているルータがコネクション切ってるよう。一定時間何もパケットが流れないコネクションに対して。
 自宅の環境(ルータ)では、約5分間何もパケットが流れないと切断(正確にはNATテーブルのクリア)となる。

 Windows時代に愛用していたTeraTermは、一定間隔で無害なパケットを送出する機能を持ち合わせていたので、この様な事態に困ることはなかった。

 本件はFedoraのSSHクライアント(OpenSSH)にも同様の仕事をさせる事で解決する。

 OpenSSHのコンフィグファイル(/etc/ssh/ssh_configまたは~/.ssh/config)に以下行を追加。

ServerAliveInterval 300

 これにより、300秒おきに無害なパケットを送出する。これで切られる事はなくなる。
 なお、古いバージョンのOpenSSHでは使用できないかもしれない(3.8以降?)。


小島 肇/坂井 順行/鹿田 幸治/園田 道夫/高橋 基信/根津 研介/宮本 久仁男
オライリー・ジャパン (2006/11/22)

関連記事

 Tokyo Cabinet。最近興味が沸いたので少し触ってみることに。ほんのお触り程度、で。

データベースマネージャ Tokyo Cabinet

 エントリタイトル、わざと『東京キャビネット』と書こうとしたのだけど、同名の企業が存在するので素直に書いた。しかも地元の企業だ。こっちの方が驚いた。

■インストール
 OSは手元のFedoraとCentOS。yumで入ります。

# yum install tokyocabinet

 Fedora12はインストールした記憶はないのだけど既に入っていた(?)。

 お触り程度なのでCLIでtchmgrコマンドを。'h'はハッシュ。
 tchmgrコマンドに-hパラメータを与えるとヘルプ出力。

■tchmgr version
 バージョン出力。2010年02月03日現在Officialでは1.4.42が最新だと言っているので少し古い感じ。

$ tchmgr version
Tokyo Cabinet version 1.4.33 (824:1.0) for Linux
Copyright (C) 2006-2009 Mikio Hirabayashi

■tchmgr create
 とりあえず、何かデータベースファイルを作ってみる。パラメータにファイル名を与える。
 500kb程度のファイルが出来上がる。

$ tchmgr create coffee.tch

■tchmgr inform
 さっそく生成したデータベースファイルの情報を出力してみる。
 パラメータには同じくデータベースファイル名を。

$ tchmgr inform coffee.tch
path: coffee.tch
database type: hash
additional flags:
bucket number: 131071
alignment: 16
free block pool: 1024
inode number: 2326537
modified time: 2010-02-03T00:07:31+09:00
options:
record number: 0
file size: 528704

■tchmgr put
 レコードを追加してみよう。パラメータは、データベースファイル名、Key、Valueの順。

$ tchmgr put coffee.tch espresso エスプレッソ

■tchmgr get
 まだ1レコードしか追加していないけれど、データを取り出してみる。

$ tchmgr get coffee.tch espresso
エスプレッソ

■tchmgr list
 更にレコードを追加してリスト表示させてみる。

$ tchmgr put coffee.tch caffellatte カフェラテ
$ tchmgr put coffee.tch cappuccino カプチーノ
$ tchmgr list coffee.tch 
espresso
caffellatte
cappuccino

 ここで再びデータベースの情報を出力。record numberが3となっている。

$ tchmgr inform coffee.tch
path: coffee.tch
database type: hash
additional flags:
bucket number: 131071
alignment: 16
free block pool: 1024
inode number: 2326537
modified time: 2010-02-03T00:26:54+09:00
options:
record number: 3
file size: 528848

■tchmgr out
 outによりレコードを削除する。削除するレコードのKeyを与える。

$ tchmgr out coffee.tch caffellatte

 リスト表示してみる。

$tchmgr list coffee.tch
espresso
cappuccino

 削除したレコードをgetしてみる。

$ tchmgr get coffee.tch caffellatte
tchmgr: coffee.tch: 22: no record found

 当然エラーとなる。

■tchmgr optimize
 optimizeは最適化だが、これまでのcoffee.tchに行っても効果は何もない。

$ tchmgr optimize coffee.tch

■tchmgr importtsv
 最後にimporttsv。tchmgrはあらかじめ用意したタブ区切りのファイルを読み込ませることで、データベースファイルを生成することができる。また、既存のデータベースファイルにレコードを追加することも可能だ。
 パラメータは、データベースファイル名、インポートするファイル名の順。

 以下内容のファイル(numero.txt)を用意した。
uno ウーノ
due ドゥーエ
tre トレ
quattro クアットロ
cinque チンクェ
sei セーイ
sette セッテ
otto オット
nove ノーヴェ
dieci ディエーチ

$ tchmgr importtsv numero.tch numero.txt
 (00000010)

 追加されたレコード数が出力される。

 リスト表示してみよう。

$ tchmgr list numero.tch
uno
due
tre
quattro
cinque
sei
sette
otto
nove
dieci

 とりあえずここまで。
 B+木などはまた別の機会に。

関連記事

ThinkPadVolume.png
 ThinkPad X31でFedora12を使っているのだけど、ハードウェアボタンによるボリュームコントロール自体は機能しているが、画面上に表示が行われない。

 実現するためには、TPB(ThinkPad Buttons)とXOSDが必要となる。
 どちらもリポジトリにパッケージ登録されいるので、yumでインストール。

# yum install tpb xosd

 インストールが済んだら、コンソール(端末)を開いて、以下を実行。

/usr/bin/tpb -daemon --osd=on --mixer=on

 ボリュームコントロールのボタンを押下してみて、画面に表示されればOK。ブライトネスも同様に表示されるようになる([Fn]キー+[Home]or[End])。

 とりあえず、コンソールの方は[Ctrl]+[C]で終了させ、常駐設定を行う。

 Fedoraのメニューより、[設定]→[自動機動するアプリ]で設定画面を表示し、[追加]ボタンを押下。

 名前は任意に設定(例えば、「TPB」とか、何でもよい)して、コマンドの部分に先ほど実行したものと同じものを設定する。

/usr/bin/tpb -daemon --osd=on --mixer=on

 次回以降は、デーモンとして常駐して機能するようになる。

 なお、ゲージが細かく表示されているが、実際には14段階となっている。

関連記事

 Google ChromeのWindows向け安定版がリリースされた。

 目玉はブックマーク同期機能と拡張機能の正式搭載なんだけど、Linux版のGoogle Chrome(BETA)は拡張機能のみ。

 さっそくVirtualBoxのWindowsXPにて、手動アップデート。同期には、Googleのサーバが仲介役となる。
 はやいところLinux版でもブックマーク同期を提供して欲しいところ。クロスプラットフォームでの同期を実現したい。

 それと、拡張機能、早速ためしてみた。

YouTube Auto Replay - Google Chrome 拡張機能ギャラリー

 名前のとおり、YouTube自動リプレイの拡張機能。
 インストールすると、再生画面の右上に小さなチェックボックスが現れるので、チェックONすれば自動的にリプレイされるようになる。

 また、チェックボックスの左側のプラス記号をクリックすると、リプレイ開始時刻と終了時刻を設定できるようになるので、任意の区間でのリプレイも可能。


「Google Chrome 4」の安定版リリース 拡張機能とブックマーク同期に対応

「Google Chrome 4」最新安定版公開、拡張機能など搭載

脆弱性に対処したGoogle Chromeの更新版、新しい拡張機能を提供

はてなブックマーク、Google Chrome向け拡張機能を正式公開

関連記事

 Fedora12上のVirtualBoxで、WindowsXPをGuest OSにしている。

 VirtualBoxの共有フォルダ機能で、Guest OS(つまり今回はWindows)からHost OSのフォルダを参照しようと思ったのだけどうまくいかない。「ネットワーク名が見つかりません」となってしまう。

 解決に至るまでの過程は以下。


 あらかじめ、Guest OSの設定画面でHost OS側で共有したいフォルダパスと共有名を設定しておく。

 次に、Guest OS(Win)のコマンドプロンプトから、

net use x: \\vboxsvr\さっき設定した共有名

を実行する。
 まず、ここでいくつか間違えていて、ドライブレター(上記でいうところのx)と設定パスとの間にスペースが必要なのだが、連続してタイプしていた事。もうひとつは、"vboxsvr"の部分にHost OSのホスト名を設定していたこと。"vboxsvr"は固定値なので、共有名だけ変えれば良かった。

 ただ、これだけではまだ共有機能が使えない。「ネットワーク名が見つかりません」となってしまう。

 改めて、VirtualBoxの共有フォルダの設定画面を見てみると、「Guest Additionsのインストールが必要」と書いてある。Guest Additionsをインストールすると、マウスの統合機能などが使えるようになるのだけど、共有機能の為にも必要らしい。

 まだインストールしていなかったので、yumでインストール。

# yum install VirtualBox-OSE-guest

 依存関係により、kmod-VirtualBox-OSEとkmod-VirtualBox-OSE(カーネルバージョン)がインストールされる。
 なお、yumでrpmfusionのリポジトリが使えないとインストールできないはず。rpmfusionを登録しておくこと。

 Guest Additionsをインストールしたら、Guest OSを起動して、メニューの『デバイス』→『Guest Additionsのインストール』を選択。すると、Windows上でインストールが実施されるので続行する。


 以上で設定準備完了となる。再びnetコマンドによりフォルダをマウントする。

net use x: \\vboxsvr\設定した共有名

 「コマンドは正常に終了しました」となればOKだ。
 一度設定してしまえば、Guest OSを再起動してもマウントし続ける。

関連記事

 1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  10  |  11  |  12  | All pages

書いている人

KUROSAKI Luka
プログラミングを生業としている群馬県高崎市在住の人間。

アーカイブ

あわせて読みたいブログパーツ