2015年04月26日

CentOS6にawstatsをインストールする

Apacheのログを解析するため、awstatsをサクッと入れる。
環境は、CentOS6 + Apache 2.4 での例。

1. epelからawstatsをインストール

EPELが入ってない場合は適宜いれる。過去記事などを参照。
# yum install --enablerepo=epel awstats
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
:
(略)
:
Installed:
awstats.noarch 0:7.0-3.el6
Complete!


2.awstatsのconfigを書き換える

デフォルトでは、/etc/awstats 以下に、awstats.(ホスト名).conf ができている。
解析するサーバーが1つで、ホスト名とWebサーバー名が同一ならこのままのファイル名でいいが、バーチャルホストを切っていたりして複数の設定にしたい時は、awstats.(設定名).conf という名前でファイルを作成する。(設定名)は、後でアクセスするときに使う。
例えば、設定名www、設定名virtualの2つを使うときはこんな感じにする。
# cp awstats.model.conf awstats.www.conf
# cp awstats.model.conf awstats.virtual.conf
# ls -l
total 320
-rw-r--r-- 1 root root 61665 Feb 21 2013 awstats.model.conf
-rw-r--r-- 1 root root 61665 Apr 26 08:39 awstats.virtual.conf
-rw-r--r-- 1 root root 61665 Apr 26 08:37 awstats.www.conf
それぞれのconfを書き換える。
最低限書き換える箇所は# vi awstats.XXXX.conf
---
LogFile="(ログファイルのパス)"
LogFormat=(ログファイルの形式:1-4)
---
LogFileは、ログファイルのパスを、解析したいログの場所に変更する。複数のログファイルを結合して解析したい時は、
LogFile="/usr/share/awstats/tools/logresolvemerge.pl (ログファイル1) (ログファイル2) (...) |"こんな風にlogresolvemerge.plを使うと、複数ファイルを時系列で並べ替えて結合してくれる。

LogFormatは、ログファイルの形式を指定する。commonの時は4にするが、combinedの方が取れるデータが多いのでオススメ。変更するときはApacheの設定ファイルのCustomLogを書き換える。
# vi (http.confあるいはVirtualHostの中)
---
CustomLog (ログファイルのパス) common

CustomLog (ログファイルのパス) combined
---
古いログをよけてから、apacheをリスタートする。

3.Webからawstatsを見えるように設定。

設定を直接httpd.confかVirtualHostの中に書いても良いし、conf/extra/awstats.conf などに分けてincludeしてもいい。必要なら認証もかける。
例・awstats.confを作る
# vi (apacheのconfディレクトリ)/extra/awstats.conf
---
Alias /awstatsclasses "/usr/share/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/share/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/share/awstats/wwwroot/icon/"
ScriptAlias /awstats/ "/usr/share/awstats/wwwroot/cgi-bin/"

<Directory "/usr/share/awstats/wwwroot/cgi-bin">
DirectoryIndex awstats.pl
Options ExecCGI
</Directory>

<Directory "/usr/share/awstats/wwwroot">
AuthUserFile (パスワードファイルの配置ディレクトリ)/passwd.awstats
AuthName "AWSTATS"
AuthType Basic
Require valid-user
Require all denied
Require ip 127.0.0.1
</Directory>
---

例・httpd.confから設定ファイルをincludeする
# vi httpd.conf
---
:
(任意の場所に追加)
Include conf/extra/awstats.conf
---

例・BASIC認証を設定
# htpasswd -c (パスワードファイルの配置ディレクトリ)/passwd.awstats
New password:
Re-type new password:
Adding password for user XXXX
#

4.初回の解析データ生成

まだ解析データはないので、初回だけ手動でデータを生成する。
ログサイズによっては、初回の生成は時間がかかるかも。
# /usr/share/awstats/tools/awstats_updateall.pl now \
-configdir="/etc/awstats" \
-awstatsprog="/usr/share/awstats/wwwroot/cgi-bin/awstats.pl"

Running '"/usr/share/awstats/wwwroot/cgi-bin/awstats.pl" -update -config=XXXXXX -configdir="/etc/awstats"' to update config XXXXXX
Create/Update database for config "/etc/awstats/awstats.XXXXXX.conf" by AWStats version 7.0 (build 1.971)
From data in log file "/usr/local/apache2/logs/access_XXXXXX_log"...
Phase 1 : First bypass old records, searching new record...
:
(略)
:
Found 1 new qualified records.
#

5.アクセスできるか試してみる

2. で、設定名とサーバー名が同じで1つしかないなら、http://(インストールしたサーバー名)/awstats/ にアクセスしてみる。
設定が複数あったり、設定名がサーバー名と違うなら、http://(インストールしたサーバー名)/awstats/awstats.pl?config=(設定名) にアクセスしてみる。

awstat-example-150426.png


うまくできていれば、解析された結果が表示される。
データの更新は、標準では1時間に1回で、起動のためのスクリプトは /etc/cron.hourly/awstats に配置されている。1日1回に変えたい、あるいは任意の頻度に変えたい場合は、このスクリプトを適当な場所に移したりすると良い。
タグ:Linux Apache awstats
posted by usoinfo at 10:32 | Comment(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2015年04月12日

METARのデータを取得して整形する

前回に引き続き。
気象庁以外で気温などの現在値が取れるものはないか、ということで、世界各国の空港の気象情報であるMETARからデータを取るPHP関数も作ってみた。
これ metar.phps

適当な場所に置いて include して使用する。
例:metar_sample.php

#!/usr/local/bin/php
<?php
include 'metar.phps';

$data = METAR_get('RJAA');

foreach($data['info'] as $i => $v){
echo $v['name'].' '.$data['data'][ $i ].' '.$v['unit']."\n";
}
?>

空港のコードには、ICAOの4レターコードをくべる。
例えば、成田空港のデータを引っ張ってきて表示。こんな結果。

$ ./metar_sample.php
時刻 2015/04/12 08:30:00
気温 12 ℃
湿度 71 %
気圧 1030 hPa
風向 NNE
風速 10 kt

空港によっては30分刻みでデータが来るので、気象庁よりいいかも知れない。気温の値の小数点以下が丸まってしまうのが欠点。
posted by usoinfo at 09:11 | Comment(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2015年04月11日

気象庁のアメダス、今日のデータを取得して整形する

気象庁のアメダスのデータは、昨日より前のものはcsvで取得できるが、今日の分は取れない。Webページで見られるだけである。
このページを取得して、不要な部分を削除してデータだけ抜き出したかったので、ちょっとPHPで関数を書いてみた。
これ jma.phps

適当な場所に置いて include して使用する。
例:jma_sample.php

#!/usr/local/bin/php
<?php
include 'jma.phps';
$data = JMA_get('44132');
foreach($data['data'] as $h)
{
foreach($data['info'] as $key => $i){
echo $i['title'].$h[ $key ].$i['unit']." ";
}
echo "\n";
}
?>

場所のコードには、アメダスのURLの http://www.jma.go.jp/jp/amedas_h/today-XXXXX.html の XXXXX(数字5桁) をくべる。
例えば、東京(44132)のデータを引っ張ってきて表示。こんな結果。

$ ./jma_sample.php
時刻1時 気温8.5℃ 降水量0.5mm 風向北北西16方位 風速3.3m/s 日照時間0h 積雪深96cm 湿度1020.7% 気圧hPa
時刻2時 気温8.8℃ 降水量0.5mm 風向北北西16方位 風速3.8m/s 日照時間0h 積雪深97cm 湿度1019.6% 気圧hPa
時刻3時 気温8.8℃ 降水量2.0mm 風向北北西16方位 風速3.4m/s 日照時間0h 積雪深97cm 湿度1019.0% 気圧hPa
時刻4時 気温8.8℃ 降水量0.5mm 風向北西16方位 風速3.2m/s 日照時間0.0h 積雪深0cm 湿度97% 気圧1018.7hPa
時刻5時 気温8.9℃ 降水量0.5mm 風向北西16方位 風速3.5m/s 日照時間0.0h 積雪深0cm 湿度97% 気圧1018.8hPa
時刻6時 気温9.1℃ 降水量1.0mm 風向北北西16方位 風速3.5m/s 日照時間0.0h 積雪深0cm 湿度97% 気圧1019.3hPa
時刻7時 気温9.4℃ 降水量1.0mm 風向北北西16方位 風速3.2m/s 日照時間0.0h 積雪深0cm 湿度97% 気圧1019.6hPa
時刻8時 気温9.9℃ 降水量0.5mm 風向北北西16方位 風速4.0m/s 日照時間0.0h 積雪深0cm 湿度97% 気圧1019.7hPa
時刻9時 気温10.4℃ 降水量0.0mm 風向北北西16方位 風速3.1m/s 日照時間0.0h 積雪深0cm 湿度96% 気圧1020.4hPa
時刻10時 気温11.4℃ 降水量0.5mm 風向北北西16方位 風速2.8m/s 日照時間0.0h 積雪深0cm 湿度94% 気圧1020.6hPa
時刻11時 気温11.9℃ 降水量0.0mm 風向北北西16方位 風速1.3m/s 日照時間0.0h 積雪深0cm 湿度92% 気圧1020.3hPa
時刻12時 気温13.1℃ 降水量0.5mm 風向北北西16方位 風速2.1m/s 日照時間0.0h 積雪深0cm 湿度90% 気圧1019.9hPa
時刻13時 気温14.0℃ 降水量0.0mm 風向北16方位 風速1.5m/s 日照時間0.0h 積雪深0cm 湿度83% 気圧1020.1hPa
時刻14時 気温14.9℃ 降水量0.0mm 風向北東16方位 風速2.9m/s 日照時間0.0h 積雪深0cm 湿度70% 気圧1019.8hPa
時刻15時 気温15.9℃ 降水量0.0mm 風向東北東16方位 風速3.2m/s 日照時間0.0h 積雪深0cm 湿度69% 気圧1019.8hPa
時刻16時 気温15.2℃ 降水量0.0mm 風向東16方位 風速2.9m/s 日照時間0.0h 積雪深0cm 湿度72% 気圧1020.4hPa

自己責任でどうぞ。
(※気象庁のホームページには、自動収集を遠慮せよとの旨記載があるので注意)
posted by usoinfo at 17:22 | Comment(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2015年01月30日

ffmpegでmp3やらm4aやらmp4やらを結合する

端的に言うと
  1. -i で繋げたい元ファイルをひとつずつ列挙
  2. -filter_complex "concat=n=(ファイル数):v=(ビデオなら1それ以外は0):a=1"
  3. 出力ビットレートを指定する場合は後ろに付ける
  4. 最後に出力ファイル名
例:
#part?.mp3 をビットレート160kで繋いで partall.mp3 に出力。
ffmpeg -i part1.mp3 -i part2.mp3 -i part3.mp3 \
-filter_complex "concat=n=3:v=0:a=1" \
-b:a 160k partall.mp3
で繋がるようだ。
mp3でもm4aでも繋がるし、mp4も繋がる。意外に便利かもしれん。
posted by usoinfo at 16:29 | Comment(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2014年11月22日

Android/Nexus7(2012)にiOS向け物理キーボード

長期外出するときは、緊急時のためにノートパソコンを持って出ていたが、やることと言えば、Webを見て、メールを読んで、sshでサーバーに繋ぐの3つ。これならAndroidでも出来るので、Androidタブレットだけ持っていけばいいかな、と思う。だが、タッチ画面でsshを使うのは骨が折れるので、外付けBluetoothキーボードを買うことにした。

主に緊急用なので使用頻度も低いから安い奴にしようと、アマゾンで買った。型番もないキーボード(ASIN B00GMYEN60)である。
届いたので繋いでみたんだが、どうもこれiOS向けのキーボードらしくて変なキーがあるし、使ってみると、=や[]が、Fnキー+通常キーの同時押しに割り当てられているのだが、これが入力できない。
こんなキーボードなのだが↓
612PsAuXEYL._SL1024_y.jpg

キーボードイベントを見てると、スキャンコードもキーコードも送られているんだけど、入力に現れない。キーボードのせいかIMEのせいか、わからない。
しかし、ターミナルで、=や~が入力できないのは困るので、ナントカ使えるように、レイアウトとキーマップを突っ込んでみた。

これB00GMYEN60.zip

(ベンダーコード、プロダクトコードは、adb shell dumpsys input とかやって調べてね。作業内容は このへんを参考に。)

rootを取った端末で、PCからadbで繋いで、
adb push Vendor_05ac_Product_022c.kl /sdcard/
adb push Vendor_05ac_Product_022c.kcm /sdcard/
などしてファイルを送り込みadb shell
$ su
# mount -o rw,remount /dev/block/platform/sdhci-tegra.3/by-name/APP /system
# cp /sdcard/Vendor_05ac_Product_022c.kl /system/usr/keylayout/
# chmod 644 /system/usr/keylayout/Vendor_05ac_Product_022c.kl
# cp /sdcard/Vendor_05ac_Product_022c.kcm /system/usr/keychars/
# chmod 644 /system/usr/keychars/Vendor_05ac_Product_022c.kcm
# mount -o ro,remount /dev/block/platform/sdhci-tegra.3/by-name/APP /system
# exit
(※これはNexus7(2012)の例。/systemのremountは、mountコマンドなどで調べてね。)
キーボードを外して付けると適用される。

変更した割り当ては、
左上の□ = ESCキー
Command = 半角/全角キー
: と ; を入れ替え (単押しは:、Shift押しながらで;)
右シフト押しながら O で `
右シフト押しながら P で ~
右シフト押しながら L で =
右シフト押しながら : で +
右シフト押しながら V で [
右シフト押しながら B で ]
右シフト押しながら N で {
右シフト押しながら M で }

Fnキー同時押しの記号シリーズは、右のShift同時押しで代用するようにした。
これで、キーボードをUSにして、Android英語キーボードにしたら、なんとかsshには実用できそうだ。

しかしだ。
このキーボード、日本語の刻印があるので、カナタイプできるかと思ってやってみたら、重大な欠陥があることが分かった。濁点゛、半濁点゜のキーがない!「ぺ」とか「べ」とかが入れられない!なんじゃこりゃあ!
タグ:android NEXUS7
posted by usoinfo at 18:46 | Comment(0) | Android | このブログの読者になる | 更新情報をチェックする

2014年10月12日

方向幕メーカーを作ってみた。

国鉄方向幕書体というフォントがあることを知ったので、昨日いろいろ作って遊んでいたら、楽しくなってしまった。
cssでサイズを調整したり位置を合わせたりするのがだんだん面倒になり、結局、方向幕っぽい画像を作成するツールを作ってみた。

方向幕メーカー - http://houkoumaku.usoinfo.info/

ノーサポートですので自己責任でどうぞ。

usost-loop-line.png
posted by usoinfo at 12:30 | Comment(2) | 開発 | このブログの読者になる | 更新情報をチェックする

2014年05月08日

GooglePlayの発禁はどういう仕組みでやっているのだろうか……

今朝、GooglePlayからメールが来たんだ。曰く、
アプリ 電源連動スクリーンロック(パッケージ ID jp.net.usost.eisl.free)が Google Play ストアから削除されましたのでお知らせいたします。

削除の理由: コンテンツ ポリシーの露骨な性表現を含むコンテンツ条項への違反
なんでじゃーい!
そのアプリは、画面表示と言えばプレファレンス画面が一つあるだけだし、広告もつけてない。露骨な性表現が出る余地がどこにもない。
修正すべき箇所がわからない(こちらは、ないと思っている)ので、不当な削除であるという申請と共に、Googleに説明を求める文言を送付した。
本アプリケーションには性表現は存在しません。画像を表示しませんし、広告もありません。画面表示はプレファレンス画面があるだけです。「削除の理由: コンテンツ ポリシーの露骨な性表現を含むコンテンツ条項への違反」とは、本アプリケーションのどの部分を指しているのか、ご説明頂きたいと考えます。

しばらくして、GooglePlayから返事が来た。
Hi,

We appreciate the opportunity to review your app's removal. Upon further
review, we've accepted your appeal and have reinstated your app.

こうなった理由の説明なしかーい!
どうなってんでしょうね、Google。
posted by usoinfo at 09:59 | Comment(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2014年04月06日

ATOKのユーザー辞書をAnthyに変換する

XPのサポート終了まであと3日。
というわけで手近なXPを撲滅するための活動を遂行している。その一環として、従来XPで動いていた大したことしてない(動画観賞用の)ノートPCは、Debianに切り替えてみることにした。
どうせ最小限のことしかしないのでそんなにいじらないのだが、日本語入力は標準の辞書だけだとやはり不便なので、XPで使っていたATOKのユーザー辞書を、Anthy用に変換して使用することにした。

ATOKの辞書ツールでユーザー辞書をテキストファイルに出力してUTF-8・改行コードLFに変換し、以下のスクリプトで変換した。#!/usr/bin/perl

#
# Usage: atok2anthy.pl atoc-dic.txt > ~/.anthy/private_words_default
# 変換後、kasumiを開いて保存。
#
# 入力ファイルはこのファイルと同一文字コード、改行はLFであること。
# オリジナルソース: http://d.hatena.ne.jp/kim_upsilon/20100103/1262515249
# 参考1: http://www.tanu.org/~sakane/doc/public/howto-canna.html
# 参考2: http://www.justsystems.com/jp/tech/atok/text_02.html
# Modified by usoinfo.info. 2014/04/06 http://blog.usoinfo.info/

my %dictionary = ();
my %hinshi = (
"独立語" => "KJ",
"単漢字" => "KJ",
"名詞サ変" => "T30",
"名詞ザ変" => "T30",
"固有人名" => "JNM",
"固有人他" => "JNM",
"固有人姓" => "JNM",
"固有地名" => "CN",
"固有一般" => "KK",
"固有商品" => "KK",
"名詞" => "T35",
"感動詞" => "CK",
"一段動詞" => "KS",
"形容詞" => "KY",
"接頭語" => "PRE",
"接尾語" => "SUC",
"カ行五段" => "K5",
"ガ行五段" => "G5",
"サ行五段" => "S5",
"タ行五段" => "T5",
"ナ行五段" => "N5",
"バ行五段" => "B5",
"マ行五段" => "M5",
"ラ行五段" => "R5",
"ワ行五段" => "W5",
"カ変動詞" => "KX",
"サ変動詞" => "SX",
"ザ変動詞" => "ZX",
"名詞形動" => "T00",
"形容動詞" => "T05",
"名サ形動" => "F00",
"連体詞" => "RT",
"数詞" => "NN",
"助数詞" => "JS",
"副詞" => "F04",
"接続詞" => "CJ",
"冠数詞" => "NNPRE",
);
open( INPUT, "<$ARGV[0]" );

while ( )
{
# ATOK辞書ユーティリティで出力した辞書ファイルは「読み、単語、品詞」の
# 順番に並んでいて、区切り文字としてタブ文字が間に入る
#
# 例: しゃんはいありすげんがくだん[\t]上海アリス幻樂団[\t]固有名詞*
if ( $_ =~ /([^\t]+)\t([^\t]+)\t([^\t]+)(\*|\$)$/ ) {
my $reading = $1; # 読み
my $word = $2; # 単語
my $class = $3; # 品詞

# 読みがひらがなだけではないものは出力しない
if( $reading !~ /^(?:\xE3\x81[\x81-\xBF]|\xE3\x82[\x80-\x93]|ー|゛)+$/ ){
# print STDERR "unsupported yomi '$reading' - $word\n";
next;
}

# Anthyの品詞に相当する品詞に置き換え、辞書に追加する
if ( exists( $hinshi{$class} ) ) {
print "$reading #$hinshi{$class}*500 $word\n";
}
else {
# その他の品詞は(対応させるのが面倒なので)変換しない
print STDERR "unsupported class '$class' - $word ($reading)\n";
}
}
else {
# コメント行・空行などは無視する
print STDERR "not match '$line'\n";
}
}

close( INPUT );
変換後のファイルを~/.anthy/private_words_defaultに配置して、霞を起動して「保存」。ユーザー辞書の単語も変換できるようになった。品詞の対応がこれで合っているかイマイチ自信がないが。。。
タグ:Anthy ATOK
posted by usoinfo at 08:55 | Comment(0) | Linux | このブログの読者になる | 更新情報をチェックする

2014年03月09日

HDL-GXRに最新の2.6系カーネル(2.6.39.4)を入れる

2.6.28用のカーネルパッチ(「HDL-GXR 対応 linux カーネルパッチの使い方」)を、2.6.39.4 に適用できるように書き換えてみた。
完全に理解してやっているわけではないので、間違いがあるかも知れず、ちゃんと動くかどうかも検証してない。
使ってみようという人は、無保証・自己責任でお願いします。

hdl-gxr-kernel-2.6.39.4.patch カーネルパッチ2.6.39.4用
hdl-gxr-config-2.6.39.4.txt .configサンプル

2.6.28の時に施したカーネルオプションを強制的に埋め込みオプションにする改変は、CONFIG_CMDLINE_FORCE ができたので、やめにしてこっちを使用する。
2.6.28の.configを使う場合には、CONFIG_SYSFS_DEPRECATED をオフにする。
# cd (どこか)
# tar xvfj linux-2.6.39.4.tar.bz2
# cd linux-2.6.39.4/
# patch -p1 < ../hdl_gxr_kernel_2.6.39.4.patch
patching file arch/arm/boot/compressed/head.S
patching file arch/arm/kernel/head.S
patching file arch/arm/mach-orion5x/Kconfig
patching file arch/arm/mach-orion5x/Makefile
patching file arch/arm/mach-orion5x/hdl_gxr-setup.c
patching file arch/arm/tools/mach-types
# ARCH=arm make oldconfig
(ENTER連打)
# ARCH=arm make menuconfig
# ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make uImage modules
ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- INSTALL_MOD_PATH=(どこか) make modules_install
:

簡単なまとめはこちら。一応、コンパイル済みのカーネルとモジュールも作った。

hdl-gxr-2-6-39-4usoinfo.png
これでUSB無線LANも使えるようになったし、省電力サーバになりそうだ。
posted by usoinfo at 08:24 | Comment(0) | Linux | このブログの読者になる | 更新情報をチェックする

2014年03月08日

HDL-GXRをSqueeze化する

Lenny化し、カーネルも2.6.28になったHDL-GXR。これでSqueezeにできる用意が調ったわけである。いざアップグレードしようとしたが、aptでアップグレードできないので、debootstrap でrootfsを作り、入れ替えることでSqueeze化することにした。

1. 用意する物
  1. カーネルを2.6.28にしたHDL-GXR
  2. Linuxが動いているPC
  3. USB-SATA接続キット


2. HDL-GXRでSqueeze用のrootfsを作成
HDDの空き容量が結構ないとダメなので、ディスク容量が足りない時は、外付けディスクなどを使用。
以下の例では、/opt/landisk 以下に作成する。/opt/landisk/debootstrapにdebootstrapを置き、rootfsは/opt/landisk/squeezeに作成。

# mkdir -p /opt/landisk/debootstrap
# cd /opt/landisk/debootstrap
# wget http://ftp.jp.debian.org/debian/pool/main/d/debootstrap/debootstrap-udeb_1.0.26+squeeze1_all.udeb
# ar -x debootstrap-udeb_1.0.26+squeeze1_all.udeb
# tar zxvfp data.tar.gz
# export DEBOOTSTRAP_DIR=`pwd`/usr/share/debootstrap
# export PATH=$PATH:`pwd`/usr/sbin
# mkdir -p /opt/landisk/squeeze
# debootstrap --arch=armel squeeze /opt/landisk/squeeze http://ftp.jp.debian.org/debian
(略)
I: Base system installed successfully.
#

結構時間が掛かるので、しばらく待つ。終わったら、
# mount -t proc proc /opt/landisk/squeeze/proc
# chroot /opt/landisk/squeeze

最低限の設定をここでする。
# dpkg-reconfigure tzdata
(タイムゾーンをAsia/Tokyoに設定)

# passwd
(rootのパスワードを設定)

# vi /etc/apt/sources.list
(Squeezeのsources.listを設定)
--
deb http://ftp.jp.debian.org/debian squeeze main contrib non-free
deb-src http://ftp.jp.debian.org/debian squeeze main contrib non-free
deb http://security.debian.org squeeze/updates main contrib non-free]
--

# apt-get update
# apt-get upgrade
# apt-get install udev openssh-server
(システムに必要なudev、ログインに必要なsshdをインストール)

# vi /etc/network/interfaces
(ネットワーク設定、DHCPでアドレスを取るようにしておく)
--
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp
--

# vi /etc/fstab
(マウントポイントを設定しておく)
--
proc /proc proc defaults,nosuid,noexec 0 0
/dev/sda1 /boot ext3 defaults,rw 0 0
/dev/sda2 swap swap defaults 0 0
/dev/sda3 / ext3 defaults,rw 1 1
--

# apt-get clean
# exit

設定したらchrootを抜け、カーネルモジュールを配置する。
今走ってる/lib/modules/2.6.28 をコピーしてもいいし、前作ったtgzが残っていればそれを展開してもいい。
# mkdir -p /opt/landisk/squeeze/lib/modules
# cp -arp /lib/modules/2.6.28 /opt/landisk/squeeze/lib/modules
あるいは前回のlib.tgzを使って
# tar xvfz lib.tgz -C /opt/landisk/squeeze

最後に、tarで固めて、ファイルをどこかに取っておく。
# umount /opt/landisk/squeeze/proc
# tar cjvf /opt/landisk/squeeze-rootfs.tar.bz2 .
(squeeze-rootfs.tar.bz2 このファイルはどこかに取っておく)


3. HDDを取り外して別マシンでマウント、作ったtarを展開
HDL-GXRをシャットダウンしてストレージを取り外し、別のPCに接続(ここでは取り付けたHDDがsdbの前提)。
バックアップを取っておくなら
# mount /dev/sdb3 /mnt
# cd /mnt
# tar cjvf /export/landisk/lenny-rootfs-backup.tar.bz2 .
# cd /
# umount /mnt

こんな感じ。
しかる後、sdb3 を新しいものに入れ替える。
# mkfs.ext3 /dev/sdb3
# mount /dev/sdb3 /mnt
# tar xvfj /export/landisk/squeeze-rootfs.tar.bz2 -C /mnt
# umount /mnt


4. HDL-GXRに繋いでブート
うまくいけば、めでたくHDL-GXRがSqueezeになっているはずである。

作ったカーネルとrootfsを一応置いておく。簡単なまとめはこちら
カーネルとモジュールは、iptables関係・ipv6・USBウェブカム・USB無線LANなど、ごちゃごちゃと要らない物も入っているので、作り直した方がいいかも。

kernel hdl-gxr-kernel-2.6.28-20140308.tar.bz2
rootfs hdl-gxr-squeeze-rootfs-20140308.tar.bz2
これをディスクに放り込めば、とりあえずSqueezeが動く。はず。
posted by usoinfo at 17:32 | Comment(0) | 開発 | このブログの読者になる | 更新情報をチェックする