このブログを検索

2011-10-15

Netwalkerセットアップ(3/5)

●Wicd
標準のネットワークマネージャよりも使いやすいらしいものに変更する。
Synaptecでwicdをインストールする。
その後、wicdを使ってネットワーク接続をやり直す。


●Windows共有フォルダアクセス
Netwalkerからwindowsの共有フォルダへアクセスする。
結論から言うとGUIから操作はできるが、マウントはNetwalker標準ではできない。
NetwalkerのUbuntuにはcifsというモジュールが無いらしく、
自分でarm用にビルドしてやる必要がありそう。(野良ビルドしてくれてる人もいるけど)
とりあえずGUIから操作できれば問題ないので今回は諦め。

まずはWindowsネットワークを参照するためにsmbclientを入れる
$ sudo aptitude install smbclient libsmbclient samba-common
※最初から入っているはず

workgroupを変更する
$ sudo gedit /etc/samba/smb.conf
workgroup = の WORKGROUP をWindowsにあわせて変更する。

[global]
workgroup = WORKGROUP

これで場所→ネットワークにLANのコンピュータが表示される
ちなみにコマンドで参照する場合はこちら
$ smbclient -L windowsホスト名orIP -U ユーザー
で共有フォルダ一覧を参照できる。

次に実際にアクセス
場所→サーバへ接続 を選択し、
サービスの種類をWindows共有に変更する。

情報を入力する
サーバー名:Windowsホスト名orIP
共有する場所:共有フォルダ名
フォルダ:サブフォルダ?空欄でOK
ユーザ名:ユーザー
ドメイン名:ワークグループ?
ブックマークを追加する:今後も使うならチェック
ブックマーク名:ブックマーク追加する場合は任意の名前

以上でGUIから共有フォルダにアクセス可能。
ブックマークを追加した場合は、以後はブックマークからアクセス可能。

参考:
http://itmst.blog71.fc2.com/blog-entry-27.html
http://linux.kororo.jp/cont/server/smbclient.php


●vim
コマンドラインでのテキスト編集用に。
ただのviより機能が上らしい。
Synapticでvimをインストールする。

viだとなんかキー配置がおかしいような・・・?


●Leafpad
gEditの代わりとして入れる。
gEditよりとにかく起動が速くて良い感じ。

.txtファイルのデフォルトアプリケーションに変更する。
適当な.txtファイルを右クリック→プロパティ→開き方→追加
コマンドを直接指定するにて、
leafpad
を指定して追加。
一覧に追加されたleafpadにチェックを入れてダイアログ閉じる。

ただし、windowsの共有フォルダからは認識できないみたいで、
そこから直接開く場合はgeditが開いてしまう。


●NoteCase
SynapticでNoteCaseをインストール。
メモを階層構造で保存できる。画像も挿入できる。
普段使いのメモとしてはちょうどいい感じ。


●Evernote
→ダメだった
クライアントは残念ながらarmでは使えなかった。
しょうがないのでWEB版を使い、普段は別アプリを使うことにする。
ちなみにLinux用だけなく、クローンのnevernoteはLinux用はあるけどarm用だけ無い感じ。


●KeePassX
パスワードマネージャとしてKeePassXというのを入れる。
ネット上でなかなか評判がよさそう。
SynapticでKeePassXをインストール。


●chromium-browser-nnc
高速ブラウザだという噂のchromiumを入れてみる。
ただし9.04にはインストール出来ないので野良ビルドを入れる。

ソフトウェアソースに次を追加してからアップデート
deb http://nnc.dyndns.biz/netwalker_rep/ ./
$ sudo aptitude update

そしてSynapticでchromium-browser-nncをインストールすればOK。
普段使いとしてはfirefoxと使い比べて決めます。

参考:
http://nnc.dyndns.biz/netwalker_rep/#toc_1.5.1


●Firefox5~
Firefoxは標準で入っているけどバージョンが相当古い。
そしてアップデートもないので野良ビルドを入れる。
アップデート版を提供してくれている人がいたのでダウンロードした。

http://www1.axfc.net/uploader/N/so/130793.zip
キーワード:firefox5

インストール方法
$ unzip firefox5-fix.zip
$ cd firefox5
$ ./install.sh
※一般ユーザーで実行

また、そのままだと自動更新ができないらしい。
それをできるようにするパッチ。
※たぶん個人のサーバーに繋ぎにいっている

ARM用Firefox自動更新機能
http://dl.dropbox.com/u/34541889/tools/setauto.tgz
インストール方法
まずはFirefox5を一旦起動して設定ファイルを作っておく。その後終了。
$ tar xfz setauto.tgz
$ cd setauto
$ ./setup.sh
※一般ユーザーで実行

※上記2つを同時にするスクリプト(未確認)
http://dl.dropbox.com/u/34541889/tools/install-firefox.zip
$ unzip install-firefox.zip
$ cd install-firefox
$ ./install-firefox.sh

ハマったのが、設定画面がWindowsのように
ツール→オプションじゃなく、編集→設定のところ。
2時間くらい調べまくってしまったw
Linux用Mozilla製品はすべてそうみたいだ。

普通に起動するとアップデート版が起動する。
まずはブックマークはSync機能で同期させた。
そして普段使うアドオンを入れておく
・2ペインブックマーク
・All-in-One Sidebar
・Configuration Mania
・Download Statusbar
・Video DownloadHelper
・Extended Statusbar
・Grab and Drag
・PDF Download
・Pearl Crescent Page Saver Basic
・RemoveTabs
・Speed Dial
・Tab Mix Plus
・Thumbnail Expander
・keyconfig
・セッションマネージャ
・テキストリンク
など

Windowsだと検索ワードボックスをクリックすると全選択状態になるのにLinux版はなぜかならない。
これを解決する。
アドレスバーに about:config と入力してEnter
browser.urlbar.clickSelectsAllの値をtrueにする
タブを閉じる。

Firefoxキャッシュをメモリに置いて高速化&SSDretain化する。
アドレスバーに about:config と入力してEnter
browser.cache.disk.enableをfalseにする
browser.cache.memory.enableをtrueにする
browser.cache.memory.capacity(整数値)を新規作成し、8192にする

再起動

参考:
http://2chnull.info/r/mobile/1298787437/1-1001
http://shiremono.com/?p=5256
http://mozilla-remix.seesaa.net/article/40026111.html


●Thunderbird5
ThunderbirdもFirefox同様にバージョンを上げる。

http://www1.axfc.net/uploader/N/so/130838.zip
キーワード:tb5

インストール方法
$ unzip thunderbird5.zip
$ cd thunderbird5
$ ./install.sh
※一般ユーザーで実行

ARM用Thunderbird自動更新機能
http://dl.dropbox.com/u/34541889/tools/setauto2.tgz

インストール方法
まずはThunderbird5を一旦起動して設定ファイルを作っておく。その後終了。
$ tar xfz setauto2.tgz
$ cd setauto2
$ ./setup.sh
※一般ユーザーで実行

※上記2つを同時にするスクリプト(未確認)
http://dl.dropbox.com/u/34541889/tools/install-thunderbird.zip
$ unzip install-thunderbird.zip
$ cd install-thunderbird
$ ./install-thunderbird.sh

普段使っているaddonをインストールする
・CompactHeader
・Extra Folder Columns
※Lightning、MinimizeToTrayは動かなかった
※LightningはARM用libstdc++5があれば動くかも・・・?ビルドしてみたけどエラーでた
libstdc++6はあるけどそれだとダメっぽい。

参考:
http://2chnull.info/r/mobile/1298787437/1-1001


●Sunbird
NetwalkerにはSunbirdが入っているけども
近況としてはSunbirdの開発は確か終わっていて
後継としてThunderbirdアドオンとしてのLightningがある。

しかしNetwalkerのThunderbirdにはLightningがインストールできない。
しょうがないのでPIMとしてはSunbirdを使うことにする。
Googleカレンダーとの同期アドオンは最初から入っている。

参考:
http://banokoten-ron.blogspot.com/2009/11/libstdc5-ubunutu-910.html
http://blog.livedoor.jp/navcom/archives/50888967.html


●Adobe Flash 10.1
公式配布されているのは3だけど
それだと動かない物が多いらしい?
10.1をインストールすることができるらしい。

Flash Lite 3はインストールしていない状態でしか試していません。

ダウンロード:
http://www1.axfc.net/uploader/Sc/so/270833
キーワード:flash

ダウンロードしたら、展開する
$ unzip installflash.zip
$ cd installflash

Flashのインストール
$ sudo ./installflash.sh

Youtubeやニコニコ動画が再生できたらOK
Youtubeの場合は右下のアイコンで240pを選ばないとまともに再生できない
ニコニコ動画はそれなりにスムースに再生できました。

※Flashの削除
$ sudo ./removeflash.sh

参考:
https://forums.ubuntulinux.jp/viewtopic.php?id=7796


●speedcrunch
電卓アプリ
プリインストールされていない?
起動が速いらしいspeedcrunchを入れる
Synapticからspeedcrunchをインストール


●totem
動画プレイヤー。プリインストールされているtotemを使う。
これだとCPUの補助が受けられるらしい?
ネット上を見ていてもこれ以外のプレイヤーは遅くて使い物になってないぽい。
今回はtotemを少しでも高速化する

・サウンドドライバを変更
システム→設定→サウンドの「楽曲と動画」
サウンドドライバの設定を「自動検出」→「ALSA」にする

・PulseAudioの手動ON/OFF
PulseAudioというのはローカルファイル再生には不要なものらしく、
その割にCPUリソースを食うらしい。
これを普段はOFFにできるようにする。

$ sudo mv /etc/rc2.d/S50pulseaudio /etc/rc2.d/K50pulseaudio
※50の部分は環境依存?
$ sudo mkdir /etc/X11/Xsession.d.bak
$ sudo mv /etc/X11/Xsession.d/70pulseaudio /etc/X11/Xsession.d.bak/.
※70の部分は環境依存?

$ sudo leafpad /etc/pulse/client.conf
下記項目がコメントアウトされているので解除&変更する
autospawn = no
daemon-binary = /bin/true

再起動

以上で自動起動&自動復活がされなくなる。

ネットワーク経由で見るときなど?手動で起動停止したい場合は
$ pulseaudio --start
$ pulseaudio --kill
とする。

とりあえずOFFにした状態でニコニコから拾ってきたmp4が動くことを確認しました。

参考:
http://kapper1224.sakura.ne.jp/PALM20.html#10
http://kapper1224.sakura.ne.jp/PALM20.html#No27
http://japan.internet.com/linuxtutorial/20100813/2.html


●audacious
音楽プレーヤーとして人気があるらしいアプリ
Synapticでaudaciousをインストールする

そのままだと起動でエラーが出るので対策する
$ sudo mv /usr/lib/audacious/Input/adplug.so /usr/lib/audacious/Input/adplug.so.bak

アプリケーション→サウンドとビデオ
でAudaciousを起動する
枠を右クリック→設定→オーディオ
現在の出力Plugin:ALSA Output Plugin
に変更する。
デフォルトのPulseAudioは停止させるため

参考:
http://plaza.rakuten.co.jp/tutumikun/diary/200910120000/
http://basewall.kuciv.kyoto-u.ac.jp/dokuwiki/doku.php?id=netwalker


●Codec
audaciousで音をならすため、totemで動画を再生するため(?)、Codecをインストール
$ sudo apt-get install gstreamer0.10-ffmpeg gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse

とやると先ほどtotemで再生できたmp4を再生できなくなりましたが再起動で治りました。
エラー:「gstreamer上で一般的なストリームエラーが発生しました」

Codecを入れることで最初は再生出来なかったm4v(詳細不明)は再生できるようになりました。

参考:
http://kapper1224.sakura.ne.jp/PALM20.html


●totemでflv再生
youtubeなんかで落としてきたファイルは
これまでの手順で再生できない場合がある。
その場合は次のコマンドで変換すると再生できた。

$ sudo aptitude install ffmpeg
$ cd ファイルのあるフォルダ
$ for  vdo  in  *.flv;  do  ffmpeg  -i  "$vdo"  -vcodec  copy  -acodec  copy  "${vdo%%.flv}.mp4";  done
それなりに速く変換できる。

これをスクリプト化しておくと使いやすい
$ cd
$ mkdir lib
$ mkdir ./lib/flv2mp4
$ cd ./lib/flv2mp4
$ touch flv2mp4
$ chmod 755 flv2mp4
$ vim flv2mp4
下記スクリプトを作る
#! /bin/sh
for vdo in *.flv; do ffmpeg -i "$vdo" -vcodec copy -acodec copy "${vdo%%.flv}.mp4"; done
ショートカットをbinに入れる
$ sudo ln -s /home/ユーザー/lib/flv2mp4/flv2mp4 /usr/local/bin/flv2mp4

参考:
https://sharp-usersnet.jp/ldisp.asp?cno=1&tbno=0&cmode=4;;;;;&pro=mebius&f=first#data_top6551


●日本語変換
プリインストールのAnthyだと普段使いのGoogle日本語入力と違って使いヅライです。
なのでGoogle日本語入力のオープンソース版、Mozcをインストールします。
通常インストール出来ないので野良ビルドされた方のを使います。
chromインストール時に使ったソフトウェアソースからインストールできる。


インストール後、
$ sudo aptitude install scim-mozc mozc-server mozc-utils-gui
※scimの場合

$ sudo aptitude install ibus libibus1 ibus-gtk python-ibus ibus-mozc mozc-server mozc-utils-gui
※ibusの場合

再起動

システム→設定→SCIM入力メソッドの設定
IMエンジン→全体設定
Anthyを無効にする
フロントエンド→全体設定
キーボード配列を日本語にする

日本語入力モードにしてから上部メニューのキーボードの位置のアイコンをクリックしてMozcを選択する
ログオフ

参考:
http://plaza.rakuten.co.jp/kapper1224/diary/201101300000/
http://kapper1224.sakura.ne.jp/PALM20.html#No75


●ユーザー辞書
システム→設定→SCIM入力メソッドの設定
IMエンジン→Mozc
Dictionaly toolを選択して辞書ファイルを読みこませる。

ただしただでさえ非力なのであまり入れないほうがよさそう。

一応いくつか紹介。

2ちゃんねる系顔文字
http://matsucon.net/material/dic/
普段なら@版を使うけどnetwalkerだと押しづらいから通常版のほうがいいかも

ニコニコ大百科IME辞書
http://tkido.com/blog/1019.html

Google日本語入力強化辞書
http://blog.goo.ne.jp/typer_k20a/e/e9956e8c4a2f519a3689700aef56761f
現時点で最新版のv5-1版を落とせばOK

個人的には上記3つで十分。
下記mozc_01はBuild失敗したってのもあるけど、面倒なら上記で十分・・・?

mozc_01
http://www.geocities.jp/ep3797/mozc_01.html
→Build失敗。一応ある程度のところまではいったので手順を残しておく

$ sudo aptitude install devscripts debhelper libibus-dev libcurl4-openssl-dev libprotobuf-dev protobuf-compiler libqt4-dev libscim-dev libzinnia-dev

http://packages.ubuntu.com/lucid/python-support
からpython-supportパッケージをダウンロードしてインストールする
$ dpkg -i python-support-1.0.4ubuntu1_all.deb

http://packages.ubuntu.com/lucid/python/gyp
からgypパッケージをダウンロードしてインストールする
$ dpkg -i gyp_0.1~svn840-0ubuntu0.10.04.1_all.deb

http://packages.debian.org/sid/libgtest-dev
からlibgtest-devパッケージをダウンロードしてインストールする
$ dpkg -i libgtest-dev_1.6.0-1_armel.deb
ビルドする
$ lzcat mozc-ut-1.2.809.102.20110822.tar.lzma | tar xf -
$ cd mozc-ut-1.2.809.102.20110822/
$ cd doc-ut/script/
$ ./generate-zipcode-dic.sh
$ cd -
$ debuild -b -uc -us

ここで
debuild: fatal error at line 1329
というエラーが出て失敗。検索しても同様のエラーは見つからず断念。

最後に不要なパッケージをUninstallする
$ sudo aptitude purge devscripts debhelper libibus-dev libcurl4-openssl-dev libprotobuf-dev protobuf-compiler libqt4-dev libscim-dev libzinnia-dev gyp libgtest-dev

参考:
http://www.geocities.jp/ep3797/mozc_01.html
https://forums.ubuntulinux.jp/viewtopic.php?pid=61538


●画像ビューワ
GPicView
デフォルトのeogの代わりに軽いビューワ

GImageView
多量の画像を閲覧するためのビューワ

それぞれSynapticでインストールする。


●システムモニタ
conkyが使いやすいので採用する
$ sudo aptitude install conky

設定ファイルを
/home/ユーザー名/.conkyrc
というファイル名で作成する
今回設定したconkyrcファイルはこちら
更新間隔は3秒にしている。1秒にすると結構負荷があった。

conky起動(英語フォントで曜日を英語にするためにen起動)
$ LANG=en conky &

あとは自動起動に加えて、以降はシステム起動時に起動するようにするだけだが、
どうしてもうまく起動されなかった。
スクリプトで対応すればいいらしい。
$ cd
$ mkdir lib
$ mkdir ./lib/conky_en
$ cd ./lib/conky_en
$ touch conky_en
$ chmod 755 conky_en
$ vim conky_en

下記内容でスクリプトを作る
#! /bin/sh
sleep 30
LANG=en /usr/bin/conky &

ショートカットをbinフォルダに入れる。
$ sudo ln -s /home/ユーザー/lib/conky_en/conky_en /usr/local/bin/conky

そしてこれを自動起動に加えるとよい。
/usr/local/bin/conky

※ちなみにオリジナルは/usr/bin/conky

参考:
http://yaga.blog.so-net.ne.jp/2009-12-27-1
http://conky.sourceforge.net/variables.html
http://conky.sourceforge.net/config_settings.html
http://incompleteness-theorems.at.webry.info/201006/article_10.html
http://d.hatena.ne.jp/tettou77-2/20090427/1240820805
http://viva-ubuntu.com/applications-2/conky.html
http://yaga.blog.so-net.ne.jp/2009-12-24


続く

Netwalkerセットアップ(2/5)

●タッチパネル補正

最初は明らかにタッチパネルの反応がおかしいので補正する。
システム→システム管理→タッチパネルの補正
説明通りに操作し、ログオフ→ログインすると適用される。
画面端、特に下端がうまくいかない・・・これが限界なのか。


●マウス操作改善

システム→設定→マウス→全般タブ
ポインタの速度を加速、感度とも一番左にするといい感じ。


●SSD負荷軽減(noatime)

netwalkerはSSDを利用していて、これは書き換え可能回数が少ないらしい。
消耗しきってしまうと交換が必要だそうで。
ファイルアクセス日を更新しないようにして少しでも本体SSDの消耗を抑える。
$ sudo gedit /etc/fstab
そして編集する。
ubi0_0 / ubifs defaults 0 0
ubi0_0 / ubifs defaults 0 0

ubi0_0 / ubifs defaults,noatime 0 0
ubi0_0 / ubifs defaults,noatime 0 0
に変更する
そして次のコマンドを実行する
$ sudo mount -a

参考:
http://chirijiri.blog17.fc2.com/blog-entry-172.html
http://plaza.rakuten.co.jp/kapper1224/diary/201005180000/


●SSD負荷軽減(WriteBackとSwap)

キャッシュを頻繁に書き戻すとCPUを使う、

Swapも。これらの頻度を下げる。
$ sudo gedit /etc/sysctl.conf

以下の値を変更する。なければ追記する。
vm.swappiness = 10
vm.dirty_writeback_centisecs = 1500
vm.dirty_background_ratio = 30
vm.dirty_ratio = 60
設定を反映する。
$ sudo /sbin/sysctl -p

各値を簡単に記述。詳細は別途調べましょう。
vm.swapiness : 値が大きいほどSwapを使おうとする。デフォルト60
vm.dirty_writeback_centisecs : pdflushの起動間隔。デフォルト500
vm.dirty_background_ratio :pdflushする基準となるページ割合。デフォルト10
vm.dirty_ratio : dirty_background_ratioと同じ意味合いだが、これを超えると優先度の高いプロセスでpdflushする。デフォルト40

参考:
http://kiyoeri.gotdns.com:8086/pukiwikiplus/index.php?pdflush%E3%81%A8%E3%81%AF%EF%BC%9F
http://plaza.rakuten.co.jp/kapper1224/diary/201005180000/
http://raymonmon.blog38.fc2.com/blog-entry-25.html
http://isoya7.blogspot.com/2011/01/linux-vmswappiness.html


●ネットワーク接続

ネットワークに接続しないと使い物になりません。
USB経由でLANケーブルを差してもよいのですが、今回は普通に無線LANでいきます。Netwalkerは2.4ghzのb/gに対応しています。
うちには2.4ghzのb/g/nと5ghzのa/nがあり、2.4ghzの方に繋ぎました。
最初全然繋がらなくてアクセスポイントを再起動したりしてたら繋がるようになりました。
それ以降は常につながっていますが、ネットを見るかぎり他の人も最初は苦労していたみたいです。


●リカバリディスク(MicroSDカード)の作成

Netwalkerでfirefoxを立ち上げるとsharpのサイトに繋がる。
そこからリカバリディスクの作り方のサイトにいって指示通りにすればよい。
MicroSDカードは2GB以上のが必要。作成にはそれなりに時間がかかる。
ちなみに、それでリカバリするとデスクトップのランチャー的アイコンが全て消えた・・・?他にそういう情報がないので自分だけかもしれないが。。。
とりあえずデスクトップのアイコンはショートカットリンクをデスクトップに貼りつけて、サイズを引き伸ばしただけのものらしいので気にしないでおく。


●システムアップデート

初期状態だとリポジトリが古かったりして何もできないのでシステムアップデートする。
システム→システム管理→アップデートマネージャ
終わったら再起動する。

確認方法:
システム→システム管理→ソフトウェアソース
サードパーティソースに
deb http://old-releases.ubuntu.com/ubuntu jaunty main universe multiverse restricted

が含まれていたらOK
ファイルから見るのであれば
/etc/apt/sources.list
を確認するとよい。

システム→システム管理→Synaptec パッケージ・マネージャ
再読込ボタンでエラーが出ないことを確認する。

ちなみにNetwalkerに入っているUbuntu(9.04:Jaunty)はサポート期限が2010/10/23で終わっていて、NetwalkerのUbuntuは10以降にアップグレードできない。なのでシステムアップデートでサポート期限切れのリポジトリを参照するように変更する必要がある。




●リモートデスクトップできるようにする

netwalkerを使ってのシステム管理はしづらいので、xrdpをインストールしてwindowsからリモートデスクトップできるようにする。
ただ、synapticからインストールするとバージョンが古くてwindows7から接続できないので自前でビルドする。
→微妙に失敗。これだとキーが一部おかしいです。

アプリケーション→アクセサリ→端末
$ sudo aptitude update
$ sudo aptitude install git-core autoconf libtool libssl-dev libpam0g-dev libx11-dev libxfixes-dev tightvncserver scim scim-anthy
$ cd
$ mkdir work
$ cd work
$ git clone git://xrdp.git.sourceforge.net/gitroot/xrdp/xrdp
$ cd xrdp
$ ./bootstrap
$ ./configure
$ make
$ sudo make install

エラーなく終了。
$ xrdp --version
で見てみると0.6.0がインストールされた。
次にキーマップを作成

$ cd /etc/xrdp/
$ sudo /usr/local/bin/xrdp-genkeymap /etc/xrdp/km-0411.ini
$ sudo cp km-0411.ini km-e0200411.ini
$ sudo cp km-0411.ini km-e0210411.ini
$ sudo cp km-0411.ini km-e0010411.ini
このままだとキー配列がむちゃくちゃになるため設定ファイル?を編集する。
$ sudo gedit /etc/xrdp/startwm.sh
適当なところに下記を追記する

export XKL_XMODMAP_DISABLE=1

if [ "$LANG" = "ja_JP.UTF-8" ]; then
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE=scim
scim -d &
fi
xrdp実行

$ sudo /etc/xrdp/xrdp.sh start

この状態でwindows7からリモートデスクトップ接続してみる。
sesman-Xvncとかいうダイアログがでて、そこでnetwalkerのアカウント情報を入力。
・・・繋がったー
フォルダ名をアップデートしろとか出たのでとりあえずアップデートしといた。
日本語名を英語名に変えたいらしい。
#たぶんこれ、先ほどのシステムアップデート絡み?
以降はリモートデスクトップでらくらく操作。
・・・と思ったけど、キー配置がおかしいな・・・。
あんまり使えねぇ・・・。

参考:
http://blog.loadlimits.info/2010/02/linux%E3%81%A7%E8%A4%87%E6%95%B0%E3%83%A6%E3%83%BC%E3%82%B6%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E7%92%B0/
http://fukushimaya2.blog103.fc2.com/?mode=m&no=23


●タッチパネルの改善

次の操作でタッチパネルが改善されるらしい?

$ sudo gedit /etc/hal/fdi/policy/preferences.fdi

最後のの直前に下記を追記する

<device>
 <match key=\"input.x11_driver\" string=\"evtouch\">
      <merge key=\"input.x11_options.movelimit\" type=\"string\">1</merge>
      <merge key=\"input.x11_options.longtouchtimer\" type=\"string\">1</merge>
 </match>
</device>
そして再起動


参考:
https://forums.ubuntulinux.jp/viewtopic.php?id=7342


●長押しで右クリック

タッチ長押しで右クリックができるように設定を変更する。
システム→設定→マウス
再ログインを促されるので従う。

参考:
http://ascii.jp/elem/000/000/463/463472/index-3.html



●コマンド打ち間違えのエラーを速くする

$ cd /usr/lib
$ sudo mv command-not-found command-not-found.bak

参考:
http://www.kokoro-navi.com/diary3/cat11/pc-1/cat67/netwalker/



●swap領域

普段使い用のMicroSDカードを用意し、そこにswap領域を作成します。
高速化はあまり望めないそうですが、単にメモリを補助するという意味ではあったほうがいいそうです。
また、本体におくとSSDの寿命を減らしてしまうので外部メモリに保存します。

ちなみに本来SDカードはfat形式じゃないとだめだそうで、
例えばカメラなんかはfat形式じゃないと読めないらしい。
また、windowsはextは(普通には)読めない。
fat32には1ファイルのサイズが4gbまで。

今回はSDHCの32gbを用意しました。
512mbをswapに、ついでに残りをデータ領域にします。
データ領域は2つにわけ、
アプリケーションやドキュメントなどを入れる用にext3を1gb、
辞書や動画・音楽などの大容量データ用としてfat32で残り。とします。
fat32で収まらない4gb超え辞書ファイルなどがある場合はext3を増やすなりしましょう。
ext3(ext2+)はシンボリックリンク機能などが使えるが低速、fat32は逆にシンボリックリンク機能などが使えないがext2より高速。だそうです。
ほんとはext4を使いたいところだがnetwalkerは対応していないらしい。
まずgparted入れる
$ sudo aptitude install gparted
次にsdカードのデバイス名をチェックする

$ df

/dev/mmcblk0がそれっぽい。
フォーマットする
$ sudo gparted /dev/mmcblk0 &


デバイス→パーティションテーブルの作成
未割り当てを選択して

パーティション→新規
前を0mibにして、512mibを確保。linux-swapを選択して作成。
ここで一旦適用ボタン。→/dev/mmcblk0p1として作成された。

残りの未割り当てを選択して
パーティション→新規
1024mibを確保。ext3を選択して作成。
ここで一旦適用ボタン。→/dev/mmcblk0p2として作成された。

残りの未割り当てを選択して
パーティション→新規
残りが全て選択されていることを確認。fat32を選択して作成。
もう一度適用ボタン。→/dev/mmcblk0p3として作成された。

gpartedは終了する。
swapをonにする
$ sudo swapon /dev/mmcblk0p1

確認
$ free

問題なければ起動時に自動マウントさせる
swap領域のuidを調べる
$ sudo blkid /dev/mmcblk0p1

fstabに追記する
$ sudo gedit /etc/fstab

UUID=○×△□ none swap sw 0 0

再起動して認識されていることを確認する。
ちなみに、SDカードを抜くときは一旦次のコマンドを実行する。
$ sudo swapoff -a
挿し直したあとは再度swapon

swapついでにデータ領域も自動マウントする
$ mkdir /mnt/ext3(任意)
$ mkdir /mnt/fat32(任意)
$ sudo blkid /dev/mmcblk0p2
$ sudo blkid /dev/mmcblk0p3
$ sudo leafpad /etc/fstab

UUID=○○○○ /mnt/ext3 defaults,noatime 0 0
UUID=○○○○ /mnt/fat32 defaults,noatime,uid=ユーザー名,gid=ユーザー名,umask=022,utf8 0 0

参考:
http://crystal-atmosphere.air-nifty.com/blog/2009/12/netwalkerswap-9.html


●メモリ領域確保

不要な自動起動アプリをやめる
システム→設定→自動起動するアプリ
例えば

Bluetooth Manager
視覚支援

など

参考:
https://forums.ubuntulinux.jp/viewtopic.php?id=5850


●時計を合わせる

$ sudo ntpdate ntp.nict.jp
$ sudo hwclock -w

参考:
http://webos-goodies.jp/archives/introduction_of_netwalker.html


●ホスト名の修正

$ sudo gedit /etc/hostname
最初はユーザー名になっているのでこれを変更する

$ sudo gedit /etc/hosts

最初は下のようになっています
127.0.0.1 localhsot
127.0.1.1 ユーザー名
・・・
次のように変更
127.0.0.1 localhost ホスト名
127.0.1.1 ユーザー名
・・・
(20120806追記)誤りのある設定と思われるので削除

再起動

参考:
http://webos-goodies.jp/archives/introduction_of_netwalker.html


●ターミナル

何かするたびに”端末”を立ち上げるのは面倒なので、
常駐型のターミナルを入れる。結構便利。

SynaptecでTildaをインストール
端末から
$ tilda -C &
でコンフィグ画面をだす
次のような感じで設定する

General
 Start Tilda hiddenをチェック
 Enable Double Bufferingをチェック
 Fontのサイズを10に

Appearrance
 Height/WidhtのPercentageを90
 PositionのCenterd Horizontally/Verticallyをチェック

Scrolling
 Scrollbar isをRightに

Keybinding
 Grab Keybindingを押してF5かF6あたりに変更する
 初期設定のF1だとヘルプとかぶって変になる

コンフィグをCloseで自動起動する。
設定は微妙に反映されなかったりするので、
その場合は1タブずつやったりするとうまくいく。
tildaが多重起動された場合はexitで全部閉じればOK。

以降、
$ tilda &
で起動する。

とりあえずは自動起動に入れておく
システム→設定→自動起動するアプリ
コマンド→tilda

参考:
https://translations.launchpad.net/tilda/trunk/+pots/tilda/ja


●update-apt-xapiを抑制する

cronで実行されるもののひとつにcpuを食いつぶすものがあるので抑制。
必要なときにはどうせ実行されるらしい
$ sudo chmod 644 /etc/cron.weekly/apt-xapian-index

参考:
http://www.kokoro-navi.com/diary3/cat11/pc-1/cat67/netwalker/


●壁紙変更

netwalkerの解像度は1024x600
それにあう好みの画像を手にいれて、デスクトップを右クリックして変更できる。
画像は↓に置くのが良さそう?
/usr/share/backgrounds

参考:
https://sharp-usersnet.jp/pcstudio/disp.asp?cno=8&tbno=0&dno=6


●スクリーンセーバー

/home/ユーザー/Pictureフォルダに画像をおいて
システム→システム設定→Gnomeスクリーンセーバー
で画像を選択するといい感じ。
その際、パワーマネジメント等で表示するタイミング・時間を設定する。

参考:
https://sharp-usersnet.jp/pcstudio/disp.asp?cno=8&tbno=0&dno=6



●バッテリー表示改善

標準の表示だとすぐに無くなって見えるが実際はそうではないらしい。
表示を%表示に変える。
ソフトウェアソースに次を追加してからアップデート
deb http://homepage3.nifty.com/moyashi/netwalker/ ./

$ sudo aptitude update

Synaptecでbattwalker.rbをインストール
システム→設定→自動起動するアプリで
「/usr/local/bin/battwalker.rb」を登録する
この状態だと標準のものも表示されてしまうので
システム→設定→電源の管理
全般タブの「バッテリー残量がほとんどない時だけアイコンを表示する」を選択する

参考:
http://moyashi.air-nifty.com/hitori/2009/09/netwalker-battm.html


続く

Netwalkerセットアップ(1/5)

Netwalkerというものを購入しました。


2009年頃のSHARPの製品でちょっと古いのですが自分の理想にあっていたので買ってみました。
もともとポメラが欲しかったのですが
 
競合製品を調べているうちに、Netwalkerを存在を知り、電子辞書も欲しかったのでそのセットを・・・と思いNetwalkerを購入。

NetwalkerはPDAの部類で、一般的なNotebookよりもさらに小型でLinuxであるUbuntuがインストールされています。
色々やろうと思ったら人を選ぶみたいですが、そこがまた魅力的なところでした。

Netwalkerは現在2タイプ+オプション付きモデルの3タイプありました。

1つ目はPC-Z1

Notebookタイプでスタイラスペンで画面をタッチ、もしくはオプティカルポイントというタッチパッドのようなデバイスで操作、キー入力は主にキーボードという製品。キーボードはローマ字はフルキーボードと同じですが記号が特殊配置になっています。また、ふにゃふにゃしててキーピッチが狭く、タッチタイプは期待できないという評価です。(ここだけがポメラが断トツ優位でした)

2つ目はその後出たPC-T1

PC-Z1とスペックはあまりかわらないと思いますが、不評だったキーボードが廃止され、全面ディスプレイになっています。

3つ目はPC-Z1に辞書データSDカードを付属したPC-Z1J
辞書としては
広辞苑第六版、新英和中辞典、新世紀ビジュアル大事典、ことば選び辞典、現代用語の基礎知識2009年版、新和英中辞典、新冠婚葬祭事典
が使えます。

今回はこのPC-Z1Jを買いましたよ。
ちょっとしたメモ帳&電子辞書という使い方であれば、
Linuxに詳しくない人でもPC-Z1Jは普通に使えると思います。

ただし今回は、この辞書SDカードを使わない方向でセットアップしました。
理由はいくつかあります。
・辞書SDカードを挿した状態でないと辞書が使えない(多分)
・自分で購入、入手した辞書が使いたい
・色々データを入れようと思ったらSDカードなしの本体HDD(2GB)では不安
・辞書SDカードのデータは専用ビューワでしか閲覧できず増やせない(多分)
といったところです。

今回の主なセットアップを書きます
・辞書ソフトとしてフリーのEBViewをインストール
・辞書データはフリーのものをダウンロードしたり購入する
・ブラウザはFirefoxでデスクトップとSyncさせる(chromの方が速いらしいが)
・メーラはThunderbird(普段使いと変えるのは面倒なので)
・スケジューラはSunbird
(本当はThunderbird+LightningにしたかったがNetwalkerではLightningがなぜか動かなかった)
・メモ帳はNoteCaseという、ファイルをツリー形式で管理できるもの
(本当はEvernoteクライアントを入れたかったがNetwalker用にはなかった)

というわけで、以降の投稿でセットアップの詳細を記します。


2011-09-27

Google日本語入力/mozc

Google日本語入力/mozcの辞書登録カテゴリをメモします

名詞
短縮よみ
サジェストのみ
固有名詞
人名


組織
地名
名詞サ変
名詞形動

アルファベット
記号
顔文字
副詞
連体詞
接続詞
感動詞
接頭語
助数詞
接尾一般
接尾人名
接尾地名
動詞ワ行五段
動詞カ行五段
動詞サ行五段
動詞タ行五段
動詞ナ行五段
動詞マ行五段
動詞ラ行五段
動詞ガ行五段
動詞バ行五段
動詞ハ行四段
動詞一段
動詞カ変
動詞サ変
動詞ザ変
動詞ラ変
形容詞
終助詞
句読点
独立語
抑制単語
 サジェストのみ:サジェスト機能の候補にのみ表示
抑制単語:これがあると同じ読みの他の候補を出さない?

2011-09-25

敷金返還

川崎で何度か引っ越していますが
今のところ毎回「石川商事」っていう不動産会社を使っています。
この辺では大手っぽくて物件も多くてよいのですがいろいろお金かかりますね・・・。
どの物件も
・ハウスクリーニング
・エアコンクリーニング
・(あれば)畳表替え
・(あれば)ふすま替え
・(あれば)障子替え
の特約がもれなくついてきます。
逆に石川商事以外で引っ越したことないのでわかんないんですけど
ネットで見る限りはこれらの特約は、特にハウスクリーニング・エアコンクリーニングなんかは判例的に、借りる側は払わなくてよいお金みたいですね。(もちろん自分で掃除はしてます)

ネットでレビューとかクチコミとか見かけないんで
とりあえず(記憶に基づいた怪しい)実例をアップしときます。

ケース1:新築1K
契約は1年ほどです
敷金は家賃2ヶ月分の16万円前後
ハウスクリーニング:3万
エアコンクリーニング:1万前後
16万-4万=12万の返還
きれいに使っていたので
もちろん特約以外の金額はかかっていません。
まぁ妥協の範囲でした。

ケース2:20年近くの2DK
契約は1.5年ほどです
敷金は家賃2ヶ月分の16万円前後
ハウスクリーニング:4万
エアコンクリーニング:1万前後
畳全部表替え:5000x6=3万
ふすま全部替え:3000x3=9000円
トイレのクロス損傷(突っ張り棒による):5000円(内訳不明だが、直径3cmほどの破れx2)
16万-9万5千円=6万5千円の返還
自分の部屋はきれいに使っていましたが
小さな傷とかは生活傷くらいにありました。
それでもまぁ明らかな損傷であるクロスの張り替え以外は特約通りです。
クロスの内訳はわかりませんが、損傷は最小単位(1m2)x2で、
最小単位の相場が多くても1500円くらいらしいので、やや割高ですね。
古い物件で畳ふすまが邪魔でした。これは痛い。。。
なんで新築のときよりも大幅に敷金ひかれるのか・・・

次も石川商事じゃなかったら妥協の範囲を超えています。
ハウスクリーニングや畳なんかも、ネットで見る相場よりやや高い感じなのかなぁ~
基本的に契約書に書いてある内容なので今のところ文句は言っていません。
まわりの人に話すと、「訴えるといえば払わなくていいよ」と言われますが、契約書にサインしたのは確かなので、あとでよほどの搾取がわかった、とかがない限り言いませんね。
じゃあ契約するなよって話もありますが、どの物件も一律特約なので、少なくとも石川商事の物件では選択の余地なしです。選択の余地があればそういう物件を 選ぶ自由も考えられますが・・・。近所だと空室のある物件たぶんすべてに「石川商事」の看板あがってるしなぁ・・・。契約の自由ないですよね。。。

というわけで、予想外のお金を取られたり、
言いがかりをつけられたりはしない分、ましですが、
畳ふすま障子のある物件を借りるときはあまりオススメできません。
他の川崎の不動産屋しだいですけどね。
共同で一律にハウスクリーニングとるとかで協定結んでるかもですw

ちなみ今また川崎で3件目の物件にすんでいまして
ここはケース2よりもさらに古く、1981年よりだいぶまえの建物で
かなりの確率で免震ではないところです。
古いので畳ふすまがあり、さらに障子まであり、ケース2よりも敷金ひかれそうです・・・。
こわいこわい。

ちなみに他にもおかしいところはあります
・入居前に鍵交換がデフォルト
結局交換するので文句つけたことはありませんが
あまりよろしくない制度ですね。
あと、こちらの負担で鍵交換したのに退去時に鍵を返せといわれます、謎w
まあ不要なので返しますが・・・。

・入居前に抗菌除菌がデフォルト
これは不要なので3回ちゅう2回は断りましたが、
実施は特に説明なく行われるため、正式契約日にはいつのまにか済んでいます。
物件を決めた日に、見積下書きを見せてもらった後、それが送付される前に言わないといけません。
忙しくて見積もり確認するのが遅れ、そのせいで1回は実施されてしまいました。。。
確か1万円位?

・ミスが多い
1.契約した住所に誤りがあり、すでに市役所とか公共料金系に引越し手続きしたあとに言われ、めちゃくちゃ時間を無駄にしました。
2.見積もりや契約書に誤記が多く、よく待たされます。
3.(これは不動産屋は関係ないと思いますが)部屋の図面(設備)と実際が異なり、つまり契約書に不備が現れます。異なることは下見の段階でわかるんですが、それが契約時の担当に伝わっていないと不備があって待たされることになります。

他に川崎でよい不動産屋があれば紹介してほしいです。
次、いつになるかわかりませんが、引っ越すことがあれば検討したいですね。

2011-09-23

Basket Note Pads のビルド

Basket Note Padsとは?
様々な用途に使えるメモツールらしい。
Tomboyなんかと並んでよく紹介されている。
使ってみようとおもってインストール。

古い通常版は普通にインストールできるが
最新版はビルドする必要があったり、
開発版は多少手を加える必要がある。

その方法をメモ

まず
cmake/libqt4-dev/kdelibs5-dev/libqimageblitz-dev/kdepimlibs5-dev
をインストールする。

cmakeのファイル?を多少変更する必要がある。
$ sudo gedit /usr/lib/gpgmepp/GpgmeppConfig.cmake

3行目
include( "/usr/lib/Gpgmepp/GpgmeppLibraryDepends.cmake" )

include( "/usr/lib/gpgmepp/GpgmeppLibraryDepends.cmake" )
に変更



最新版ビルド

http://basket.kde.org/
のDownloadから"Official sources of BasKet Note Pads"を選択してソースをダウンロード。

ソースを今回はホーム/workに置いて解凍。
それから
$ cd
$ cd work
$ cd basket-バージョン
$ sudo ./installer
でビルド&インストール完了。
$ basket
で起動できる。


開発版をビルド

gitでミラーしてmakeスクリプトを走らせる
$ cd
$ cd work
$ git clone git://github.com/kelvie/basket.git
$ cd basket
$ sudo ./installer
でビルド&インストール完了。
$ basket
で起動できる。

どちらもアンインストール方法は不明。。。

2011-09-16

アンテナケーブル加工

UbuntuでPT2(1/5)にて紹介したS-5C-FBアンテナケーブルとF型コネクタですが、
実際買ってみると素人には加工がなかなか難しかったのでコツをメモしておきます。
相当数失敗しました・・・。なれると確かに簡単なのですが。


作業の詳細な説明は、ネット上に動画や解説がたくさん転がっているので割愛。
ここでは、アサヒデンキで購入した
ケーブル"S5CFB(C)BK"とF型コネクタ"FP5E"
に特化したことをメモします。

1本作るのに30分以内といったところでしょうか?


2重シールド5C同軸ケーブル S5CFB(C)BK
2重シールド5C同軸ケーブル S5CFB(C)BK
価格:105円(税込、送料別)

まず準備物
  • ケーブル
  • F型コネクタx2 (両端子につける必要があるため)
  • カッターナイフ
  • できればラジオペンチ、なければハサミ
  • 作業台としてのダンボール紙など
  • タオル (端子をはめ込む際の滑り止め)

FP5Eは特殊な加工道具は不要なので、一般家庭にありそうなものだけで足ります。
一番重要なのは慣れ(力加減)でした。

まずはさらっと説明書を読みましょう。
楽天の商品ページにFP5Eの取付説明書というリンクがあるのでそれを確認します。

ではケーブルの構造をおさらい。
S5CFBケーブルは4層の膜と銅線で成り立っています。

1層 表面の黒い膜、柔らかい
2層 銀色の金属の線で編まれた膜、結構硬い
3層 アルミ箔の膜、紙の薄さ
4層 白色の絶縁体、柔らかい
そして銅線、それなりに硬いが曲がりやすいので注意

先端近くは銅線を残して除去、端子の胴部分はアルミ箔までを残して除去します。


では順を追ってポイント解説
1. 端から7mmのところと、そこから6mmのところにカッターナイフで切れ目を入れる
説明書通りのサイズです。7mmに関しては最後にカットで調整できるため、長い分には困らないと思います。

2. 7mmのところの黒い膜をカッターナイフで除去する
台にケーブルをおきカッターナイフを当てる、その状態で力を入れてケーブルを回転させるといい感じに黒い膜に切れ目を入れることができます。
この際、力を入れすぎると銀色の膜どころか銅線まで傷つけてしまいますが、銀色の膜は結構硬いのでそうそうそこまでいきません。
最後は回したりしながら引き抜くと良いです。多少切れ目が足りなくても綺麗に引きちぎれます。

3. 白い絶縁体を切らないように、銀色の膜をカッターナイフで除去する
黒い膜と同様の切り方で基本的にはOKです。但しそれなりに力を入れないと切れません。
切れるときはプツンプツンと感触があるので、切れた瞬間に力を弱めないと絶縁体まで逝ってしまいます。(絶縁体はいいけどその奥の銅線が傷ついてしまう)
多少銀色の線が残った状態で辞めるのが吉です。
それ以上やると銅線が傷つくおそれがあり、この先はラジオペンチで除去します。


4. 残った銀色の線をラジオペンチで除去する
一本残さずラジオペンチで根元から切り取ります。
銀色の線を摘む際、アルミ箔をうっかり剥がしたりしないように注意します。

5. 白い絶縁体をカッターナイフで除去する
やはり黒い膜と同じような方法で切れ目を入れます。
絶縁体はかなりヤワいので、ケーブルを手で持ちながらカッターナイフを動かして切ってもいいと思います。
銅線を切らないように注意。
黒い膜と同じように、多少切り残しがあっても回しながら引けば綺麗に引きちぎれます。

6. 7mmのあとの6mmのところの黒い膜をカッターナイフで除去する
7mm箇所の除去と同じです。
但し、銀色の線を傷つけてはいけないので力を加減します。


7. 銀色の線を折り返す
詳しくは各種サイトの絵や動画を参照です。
調べてみたのですが、なぜ折り返す必要があるかはどこでも触れられていませんでした。
ただ、すべてのサイトで折り返すように言われているので、折り返すのが無難でしょう。
この時、綺麗に折り返すのではなく、折り返した先の黒い膜との角度が45度くらい開いた状態で止めておくと成功率が高かったです。

8. FP5Eを先端にとりあえず装着する
内部の枠を通す時にアルミ箔を折らないように、ちょっとずつ慎重に穴を通します。
通す前にアルミ箔が剥がれかけていた場合は指でペタペタ貼りつけておきます。
通すとき、上から見ながらゆっくり通せばまず折れません。
とにかく確実に通すことが重要です。
軽く引っかかって、手を離しても落ちないくらいまで挿したら一旦力を緩めます。

9. FP5Eを注意深く、深く装着する
こっから成否が分かれます。正念場です。
軽く刺した状態の端子を、ゆっくり力強くハメていきます。
ケーブルの絶縁体が、端子の表側の中の縁まで刺されば成功です。
失敗した場合は、軽く刺した状態のところからそれ以上刺さりません。
これでも一応テレビはみられるようですが、個人的には失敗扱いとしました。
また、力をいれる際に銅線を曲げないように注意です。
どうしても入らないとき、タオルを使って力いっぱいさしてみるのもいいかもしれません。


10. FP5Eの外側を上にずらした状態で、銅線が1mm出た状態までラジオペンチで切断する
この時、銅線の切り口が斜めになるのがよいそうです。
あまり短いと失敗したときにどうにもならないきがするので、
短いよりかは長いほうが調整がきいて良いと思います。

以上です。
1mで200円くらいなのはお得でした。
ついでに、端子をL型に曲げる端子もいくつか持っておくと便利でした。
S5CFBのケーブルは太くて取り回しがしづらいですからね。





次に失敗したときに端子を外す方法について。
レビューを見ている限りは一度つけたら外せなかったようなコメントがありましたが、
頑張れば外せたのでその記録もメモしておきます。
まぁかなり力と根気。

準備物
  • 失敗ケーブルF型端子付き
  • 精密ドライバ (マイナスが良さそう)、まぁ細ければ良いです
  • ラジオペンチ
  • カッターナイフ
  • タオル (端子をはめ込む際の滑り止め) 
 1 ラジオペンチで端子から出ているケーブルの長さを2~3cmくらいまで切る
長いと次の工程で力が必要です。逆に短すぎるとその先の工程で力と時間が必要です。

2. 端子の先から精密ドライバを銅線沿いに刺し、銅線+絶縁体+アルミ箔だけをケーブルから抜く
ドライバを先から刺すと、いい感じに絶縁体が抜けます。端子には銀色の膜から上が残った状態になります。
うまく抜けないときはケーブルの切った側を短くしたり引っ張ったりして、なんとか抜きます。
(5本くらいやりましたが、つまり10回くらいは困難はあってもすべて成功しています)

3. ケーブルの切った側の黒い膜をカッターナイフで縦に長く割く
端子のギリギリから一直線に割きます


4. 割いた切れ目から精密ドライバを銀色の網目に刺し、銀色の網目を引っ張り出す
こっからは殆ど力作業です。網目の間にドライバを引っ掛けて、力で端子とケーブルを離します。
方向を調整したり、ドライバを引っ掛ける位置などを変えていくと、いい感じに網目が抜けます。たいていは黒い幕の筒が残りますので、最後にその筒を端子からスポッと抜きます。


以上が、失敗したケーブルから端子を除去し、再度使えるようにするための手順です。


この方法で作ったケーブルですが、全く問題ありませんでした。
信号強度も、数千円で買ったケーブルと遜色ありません。
ただ一本だけ、角度によっては信号が途絶えてしまうモノができてしまいました。失敗原因は不明です。

注意:本来ケーブルを自作する場合は、テスター(数万円?)でケーブルがショートしていないかなど調べる必要があるそうです。火事を気にする方は大人しく加工済みのケーブルを購入したほうが良いかもしれません。





2重シールド5C同軸ケーブル S5CFB(C)BK
2重シールド5C同軸ケーブル S5CFB(C)BK
価格:105円(税込、送料別)

2011-09-10

UbuntuでPT2(携帯用)

PT2のIF、epgrecを外部公開する際、普通にやるとiモード携帯からはうまく録画できないようです。
スタイルシートが使えない・・・?他のキャリアのは不明。

で、iモード携帯からも使えるようにした入り口を作った方がいました
http://sarami.pv.s-labo.com/blog/zatta.php?itemid=104&catid=24

ここにある「iモード用のepgrec」をインストールするシミュレーションをしてみます。

Downloadからモジュールをダウンロードする
iepgrec_20101001.tar.gz

$ tar -xvzpf epgrec-20100322.tar.gz
中にあるファイルを.../epgrec/直下に置く。
./epgrec/に3ファイル、./epgrec/templates/に2ファイル入ります。

そのままだとphpにエラーが出ている?ようなので少し修正します。
$ sudo vi /var/www/epgrec/iprogramTable.php
下の方の153行目くらい?にある
$ch_options .= "where skiop!='1' ORDER BY id"
という行の上に1行挿入して
$ch_options = ""
$ch_options .= "where skiop!='1' ORDER BY id"
このようにします。
どうやら初期化されてないのに.を使っているのがだめなよう・・・?
もしかしたら対処しなくても動くかもしれないけど念のため。


あとは携帯からiprogramTable.phpに接続すればOK。
これで外部公開していれば、外出先から携帯を使って録画もできますね。
ただ、前回紹介した外部公開用セキュリティを施していると、
携帯からだと毎回パスワードをきかれてやっかいかもです。
定型文にパスワード入れるなりして対応するしかないかなぁ。






2重シールド5C同軸ケーブル S5CFB(C)BK

2重シールド5C同軸ケーブル S5CFB(C)BK
価格:105円(税込、送料別)

UbuntuでPT2(5/5)

おまけ
間違えている可能性が高いので参考程度に・・・

キーワードのバックアップ・リストア
$ sudo mysqldump -u root -p epg Recorder_keywordTbl > Recorder_keywordTbl_`date +%Y%m%d-%H%M%S`.sql
$ sudo mysql -u root -p epg < ダンプファイル名
 
局の追加
$ sudo /etc/init.d/apache2 stop
$ sudo /etc/init.d/cron stop
$ sudo vi /var/www/epgrec/config.php
ここでちゃんねるを開放する
逆にちゃんねるをコメントアウトするのはまずいかも?
$ /var/www/epgrec/getepg.php
$ sudo /etc/init.d/apache2 start
$ sudo /etc/init.d/cron start



epgrec番組表が壊れたとき
$ mysql -u root -p
mysql>use epg;
mysql>delete from Recorder_channelTbl;
mysql>delete from Recorder_programTbl;
mysql>delete from Recorder_reserveTbl;
mysql>exit;
↓を実行
http://ホスト名/epgrec/install/step1.php

epgrecのDBが壊れたとき
$ mysql -u -root -p
mysql>drop database epg;
mysql>create database epg;
mysql>grant all privileges on *.* to [username]@localhost identified by '[Password]';
mysql>exit;
↓を実行
http://ホスト名/epgrec/install/step1.php

epgrec再インストール
$ cd
$ sudo rm -r /var/www/epgrec/settings
$ mkdir /var/www/epgrec/settings
$ chmod 777 /var/www/epgrec/settings
↓を実行
http://ホスト名/epgrec/

epgrec完全再インストール
$ cd
$ sudo rm -r /var/www/epgrec/
$ sudo tar -xvzpf epgrec-20100322.tar.gz -C /var/www/
→インストール手順へ戻る

(以下、2012/1/21追記)
Ubuntuを10.10以上に上げると、使われるドライバが変わってしまう
(→動かない?)
"/etc/modprobe.d/blacklist.conf"に
blacklist earth-pt1
を追記すればDVB版ドライバはロードされなくなり、問題なくなる。(?)
その後再起動が必要だが、うまくいかない場合は電源OFF→ONすると良いらしい。
参考:http://team2ch.org/blog/?p=1103


Ubuntuを11.10に上げるとスマートカード周りのバグで動作しない
よくわからないがこの辺参照
※うちはまだ10.04
参考:http://team2ch.org/blog/?p=1103


予約済み番組の予約モード変更
$ mysql -u root -p
> use epg;
> select id,keyword,autorec_mode from Recorder_keywordTbl;
ここで該当するキーワードのidを調べて
> update Recorder_keywordTbl set autorec_mode=1 where id='調べたID';
> update Recorder_reserveTbl set mode=1 where title like "%キーワード%";


録画予約一覧に古い予約が残った場合の削除
まず録画予約一覧で古い予約のidを調べる。
$ mysql -u root -p
> use epg;
> update Recorder_reserveTbl set complete=1 where id='調べたID';





2重シールド5C同軸ケーブル S5CFB(C)BK
2重シールド5C同軸ケーブル S5CFB(C)BK
価格:105円(税込、送料別)


2011-09-09

UbuntuでPT2(4/5)

UbuntuでPT2たぶんラスト
最後に、保存領域を外付けUSBに変更します。
epgrecの保存領域はapacheで公開している範囲に限られるそうなので、
シンボリックリンクで対応したいと思います。

まずデバイスの認識から

$ sudo parted -l
モデル: ST310005 20AS (scsi)
ディスク /dev/sdc: 1000GB
というのが外付けHDDです

$ sudo parted /dev/sdc
(parted) mklabel gpt
(parted) print
→サイズを知る、1000GBだった
(parted) unit GB
(parted) mkpart video ext4 0 1000GB
(parted) unit MiB
(parted) mkpart video xfs 1 -1
(parted) quit
第一引数(video)はラベルなので何でもいい
3つ目の1は、MiBなら1から始めたほうが良いらしい?
最後の-1は終端の意味


$ sudo apt-get install xfsprogs
$ sudo mkfs.xfs /dev/sdc -f
$ sudo mkfs.xfs -f -b size=4k -i size=512 -l size=128m,version=2 /dev/sdc1


meta-data=/dev/sdc isize=512 agcount=4, agsize=7630917 blks
= sectsz=512 attr=2
data = bsize=65536 blocks=30523665, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=65536 ascii-ci=0
log =internal log bsize=65536 blocks=2048, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=65536 blocks=0, rtextents=0

デバイスにはパーティションを指定するので注意-> sdc1
-b sizeはブロックサイズでデフォルト4kだけどわかりやすいように明示的にした
本当は64kくらいは指定できたはずだけど、4kを超えるとなぜかマウントできなかった
-iと-lの指定は速くなるらしいので一応つけてみた(ファイルコピー試してみても差はわからなかった)


マウントポイント作成
$ sudo mkdir /home/media/pt2
$ sudo chown www-data:www-data /home/media/pt2
$ sudo chmod 777 /home/media/pt2
試しにマウント
$ sudo mount -t xfs /dev/sdc1 /home/media/pt2
再起動時にマウントするようにする
$ sudo vi /etc/fstab
/dev/sdc1        /home/media/pt2 xfs defaults 0 0

シンボリックリンク作成
$ sudo ln -s /home/media/pt2 /var/www/epgrec/video
$ sudo mkdir /home/media/pt2/thumbs
$ sudo chmod 777 /home/media/pt2/thumbs
$ sudo chown www-data:www-data /home/media/pt2/thumbs
$ sudo ln -s /home/media/pt2/thumbs /var/www/epgrec/thumbs


※今回はまっさらの状態でやったけど
もし録画データがあったらだめかも。
その場合はデータベースを再作成して再セットアップか?



次にクオータを設定します。
epgrecはディスク残量を管理しないので自分でやる必要があります。
今回はソフトリミットを超えたらメール通知されるようにしてみます。

メールアドレスの設定
$ sudo vi /etc/aliases
$ sudo postalias /etc/aliases
www-data: メールアドレス
を記述する

quotaをONにする
$ sudo vi /etc/fstab
/dev/sdcの
defaults

defaults,usrquota
に変更する
※pt2の録画先

$ sudo umount /dev/sdc1
$ sudo mount /dev/sdc1
$ cat /proc/mounts | grep pt2
/dev/sdc1にusrquotaがついていればOK
※remountではダメだった
※xfsファイルシステムの場合はquotacheck不要らしい

$ quotaon -v /home/media/pt2
quotaon: Enable XFS group quota accounting during mount
quotaon: Enforcing user quota already on /dev/sdc1
こんな感じで出ればOK

xfs用quotaコマンド"xfs_quota"を管理モード(-x)で起動
$ sudo xfs_quota -x

とりあえずレポートを見てみる
xfs_quota>report -u -h /dev/sdc1

quota対象のファイルシステム一覧を表示 xfs_quota>path

対象となるファイルシステムをカレントにセット xfs_quota>path 000
www-dataユーザにソフトリミット750GB, ハードリミット800GBを設定
xfs_quota> limit bsoft=750g bhard=800g www-data
解除する場合は0に指定すればよいようだ。ちゃんとコマンドありそうだが未確認。
抜ける
xfs_quota> q


リミットが来ているユーザにメールを送信する仕組み
"warnquota"の準備をする。

デバイス情報を記述する
$ sudo vi /etc/quotatab
/dev/sdc: Your home directory
/dev/sdc1: Your home directory


以上で設定完了。
対象のファイルシステムにソフトリミットを超えたユーザファイルをおいてみる。

そして下記コマンドでメール送信。
$ sudo warnquota -s
※ちなみにメールは/etc/aliasesで設定する

メールが通知されたら、あとはwarnquotaをcronで実行するようにする。
$ sudo vi /etc/cron.daily/do-warnquota.cron
#!/bin/sh
warnquota -s


以上でquotaつき録画領域の完成です!


参考:
http://hinode.nao.ac.jp/~tonooka/SBSC/open/parted_howto.html http://ameblo.jp/kupok/entry-10792760992.html http://xoops.fens.net/modules/wiki/?Linux%2FMemo%2Fxfs%2F%E6%93%8D%E4%BD%9C%E6%96%B9%E6%B3%95 http://www.ftnk.jp/~fumi/cl/2005-11-18-8.html http://blog.stud.vg/2008/12/xfs-2tb.html http://sea-mew.jp/nox/modules/xpwiki/587.html

(追記2012/8/2) mkpartの引数間違い修正
(追記2012/8/2) mkfs.xfsコマンドの引数を変更
(追記2012/8/2) xfs_quota limitでコメントと引数が不一致だったのを修正
(追記2012/8/2)
デバイス名を/dev/sdc1ではなく/dev/sdcと記載していたのを全体的に修正
今までそれで問題なかったけど恐らく良くない状態だった
今回HDDを入れ替えるにあたりミスに気づいた



2重シールド5C同軸ケーブル S5CFB(C)BK
2重シールド5C同軸ケーブル S5CFB(C)BK
価格:105円(税込、送料別)

apache2のデータディレクトリ変更

apache2のルートディレクトリを変更
通常/var/wwwがルートディレクトリですが
今回は/home/wwwに変更してみます。

defaultファイルを変更する
$ sudo /etc/init.d/apache2 stop
$ sudo cp -p /etc/apache2/sites-available/default /etc/apache2/sites-available/default.org
$ sudo vi /etc/apache2/sites-available/default
DocumentRoot /var/www

DocumentRoot /home/www
に変更

$ sudo cp -r -p /var/www /home/www
$ sudo /etc/init.d/apache2 start

参考
http://www.linux.net-japan.info/install08.html

mysqlのデータディレクトリ変更

mysqlのデータディレクトリは通常/var/lib/mysql
です。しかしこれだと、うちの環境のような、
homeディレクトリにだけ大容量ディスクをマウントしている環境だと困ります。
そこでこのデータディレクトリを/home以下に移してみます。

通常、confファイルのデータディレクトリを変更等すればよいだけなのですが、
うちの環境だとエラーがでて進みませんでした。
調べたところ、datadirを変更するとSELinuxという機能のために動かなくなるようです。
http://oksoft.blogspot.com/2009/12/issues-with-selinux-firewall.html

今回はそれをシンボリックリンクで解決します。

mysqlデータディレクトリを移動
$ sudo service mysql stop
$ sudo mv /var/lib/mysql /home/mysql

シンボリックリンク作成
$ sudo ln -s /home/mysql /var/lib/mysql

アクセス制御?を変更
$ sudo vi /etc/apparmor.d/usr.sbin.mysqld
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,

/home/mysql/ r,
/home/mysql/** rwk,
に変更。

mysql再起動
$ sudo /etc/init.d/mysql start



参考:
http://tobysoft.net/wiki/index.php?Ubuntu%2Fmysql
http://gentoo.reichsarchiv.jp/item/28

mysql再インストール

mysqlが起動しなくなってしまいました。
ある日、PCを再起動するとmysqlに繋がらなくなって、
サービスを起動することもできない。
mysqld_safeも無理。

↓こんな感じになります。
$ sudo service mysql start
start: Job failed to start


で、再インストールを試みたのですが、通常、
$ sudo apt-get remove php5-mysql mysql-server*
でアンインストールすれば問題なく次にインストールできるらしいんですけど、
それじゃ何度やっても解消されない。

この辺の問題?
https://bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.1/+bug/573318


超いろいろ思考錯誤した結果解決しましたので
記録を残しておきます。

結論としては、mysql-commonを再インストール。が必要でした。


影響が大きいのでまずはシミュレーション
$ sudo apt-get -s remove --purge php5-mysql mysql-server* mysql-common
削除候補にmediatombが含まれてしまうTT


設定ファイルを退避させます
$ sudo cp -r -p /etc/mysql /etc/mysql.bak
$ sudo cp -r -p /etc/mediatomb /etc/mediatomb.bak

アンインストール
$ sudo apt-get remove --purge php5-mysql mysql-server* mysql-common
未使用パッケージがあったので一応削除
$ sudo apt-get autoremove --purge
フォルダが残っているので削除
$ sudo rm -r /etc/mysql
$ sudo rm -r /var/lib/mysql

インストール
$ sudo apt-get install php5-mysql mysql-server
起動確認
$ ps ax | grep mysql
5456 ? Ssl 0:00 /usr/sbin/mysqld
mysqldが起動していたら成功

設定ファイル戻す
$ sudo cp -p /etc/mysql.bak/my.cnf /etc/mysql/.
$ sudo service mysql restart

ここまでくるのに10時間はかかったような・・・
なんにせよ解決してよかったよかった。

あとは削除されてしまったmediatomb再インストール
$ sudo apt-get install mediatomb
起動確認
$ sudo ps ax | grep meditabom
5983 ? Ssl 0:00 /usr/bin/mediatomb -c /etc/mediatomb/config.xml -d -u mediatomb -g mediatomb -P /var/run/mediatomb.pid -l /var/log/mediatomb.log
mediatombが起動していたら成功

設定ファイル戻す
$ sudo cp -p /etc/mediatomb.bak/config.xml /etc/mediatomb/.
$ sudo /etc/init.d/mediatomb restart


めでたしめでたしでした。

2011-09-07

UbuntuでPT2(3/5)

さて前回でひと通りのセットアップが終わりましたが
epgrecはhttpサーバーなので外部公開も一応可能だそうです。
ローカル用に作られているのでセキュリティについては?ですが、
やるなら次の3つのことくらいをやっておくとよさそうです。
やらないとapacheが乗っ取られたりするそうです。

参考:
http://dambo.no-ip.org/pwiki/index
http://zeonic.ath.cx/jitaku/


一、認証をかける
パスワードファイルを暗号形式で作成する
$ sudo htpasswd -c /etc/apache2/.htpasswd ユーザー名

パスワードを設定する(公開フォルダでなければどこでもいい)
$ sudo vi /etc/apache2/apache2.conf

confファイルに次の記述を追記する

AuthType Basic
AuthName "Enter Password"
AuthUserFile /etc/apache2/.htpasswd
Require user ユーザー名


apache再起動
$ sudo /etc/init.d/apache2 restart

http://ホスト名/epgrecにアクセスしてパスワードを求められたら成功




二、クローラーを弾く
「.htaccessでクローラーIPを弾く」といった意味合いで各種紹介されている設定をapache2.confファイルに記述する。
例:

order allow,deny
allow from all
deny from env=○○○


○○○にはapache2.conf内で定義した定数が入り、定数にはフィルタリングルールが入る。



三、firewallの設定
Linuxのfirewallであるiptablesにてフィルタリングを行う

参考:
http://centossrv.com/iptables.shtmlhttp://www.najankai.com/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%82%A2%E3%82%A6%E3%82%A9%E3%83%BC%E3%83%AB%E3%81%AE%E6%A7%8B%E7%AF%89%28ubuntu%29
http://semiblackharp.blogspot.com/2010/01/iptables.html
http://d.hatena.ne.jp/Ubuntu/20080128/1201462048

まず現在の設定を確認してみる
$ sudo iptables -L -n

Ubuntuはデフォルトで、インストールされているソフトで必要なポートが自動的に開くようになっているらしい?

今回は手動でルールを決めて、なおかつ危険国からのアクセスを禁止するようにする。

まず参考サイトを見ながらまず設定用のスクリプトを用意する。
$ sudo vi /home/root/iptables_register/iptables.sh
$ sudo chmod 700 /home/root/iptables_register/iptables.sh
※参考サイトそのままだとUbuntu(?)の環境と合わないので
 いろいろ微修正が必要

いろんなサイトを統合してUbuntu用にデバッグしたところ↓な感じで落ち着いた
※全くわかってない上に適当なので間違えていたら教えて下さい
#!/bin/sh

# インタフェース名定義
#LAN=eth0

# 内部ネットワークのネットマスク取得
#LOCALNET_MASK=`ifconfig $LAN|sed -e 's/^.*Mask:\([^ ]*\)$/\1/p' -e d`

# 内部ネットワークアドレス取得
#LOCALNET_ADDR=`netstat -rn|grep $LAN|grep $LOCALNET_MASK|cut -f1 -d' '`
#LOCALNET=$LOCALNET_ADDR/$LOCALNET_MASK
LOCALNET=192.168.1.0/255.255.255.0

# ファイアウォール停止(すべてのルールをクリア)
#/etc/rc.d/init.d/iptables stop
iptables -F

# デフォルトルール(以降のルールにマッチしなかった場合に適用するルール)設定
iptables -P INPUT DROP # 受信はすべて破棄
iptables -P OUTPUT ACCEPT # 送信はすべて許可
iptables -P FORWARD DROP # 通過はすべて破棄

# 自ホストからのアクセスをすべて許可
iptables -A INPUT -i lo -j ACCEPT

# 内部からのアクセスをすべて許可
iptables -A INPUT -s $LOCALNET -j ACCEPT

# 内部から行ったアクセスに対する外部からの返答アクセスを許可
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# SYN Cookiesを有効にする
# ※TCP SYN Flood攻撃対策
sysctl -w net.ipv4.tcp_syncookies=1 > /dev/null
sed -i '/net.ipv4.tcp_syncookies/d' /etc/sysctl.conf
echo "net.ipv4.tcp_syncookies=1" >> /etc/sysctl.conf

# ブロードキャストアドレス宛pingには応答しない
# ※Smurf攻撃対策
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 > /dev/null
sed -i '/net.ipv4.icmp_echo_ignore_broadcasts/d' /etc/sysctl.conf
echo "net.ipv4.icmp_echo_ignore_broadcasts=1" >> /etc/sysctl.conf

# ICMP Redirectパケットは拒否
sed -i '/net.ipv4.conf.*.accept_redirects/d' /etc/sysctl.conf
for dev in `ls /proc/sys/net/ipv4/conf/`
do
sysctl -w net.ipv4.conf.$dev.accept_redirects=0 > /dev/null
echo "net.ipv4.conf.$dev.accept_redirects=0" >> /etc/sysctl.conf
done

# Source Routedパケットは拒否
sed -i '/net.ipv4.conf.*.accept_source_route/d' /etc/sysctl.conf
for dev in `ls /proc/sys/net/ipv4/conf/`
do
sysctl -w net.ipv4.conf.$dev.accept_source_route=0 > /dev/null
echo "net.ipv4.conf.$dev.accept_source_route=0" >> /etc/sysctl.conf
done

# フラグメント化されたパケットはログを記録して破棄
iptables -A INPUT -f -j LOG --log-prefix '[IPTABLES FRAGMENT] : '
iptables -A INPUT -f -j DROP

# 外部とのNetBIOS関連のアクセスはログを記録せずに破棄
# ※不要ログ記録防止
iptables -A INPUT ! -s $LOCALNET -p tcp -m multiport --dports 135,137,138,139,445 -j DROP
iptables -A INPUT ! -s $LOCALNET -p udp -m multiport --dports 135,137,138,139,445 -j DROP
iptables -A OUTPUT ! -d $LOCALNET -p tcp -m multiport --sports 135,137,138,139,445 -j DROP
iptables -A OUTPUT ! -d $LOCALNET -p udp -m multiport --sports 135,137,138,139,445 -j DROP

# 1秒間に4回を超えるpingはログを記録して破棄
# ※Ping of Death攻撃対策
iptables -N LOG_PINGDEATH
iptables -A LOG_PINGDEATH -m limit --limit 1/s --limit-burst 4 -j ACCEPT
iptables -A LOG_PINGDEATH -j LOG --log-prefix '[IPTABLES PINGDEATH] : '
iptables -A LOG_PINGDEATH -j DROP
iptables -A INPUT -p icmp --icmp-type echo-request -j LOG_PINGDEATH

# 全ホスト(ブロードキャストアドレス、マルチキャストアドレス)宛パケットはログを記録せずに破棄
# ※不要ログ記録防止
iptables -A INPUT -d 255.255.255.255 -j DROP
iptables -A INPUT -d 224.0.0.1 -j DROP

# 113番ポート(IDENT)へのアクセスには拒否応答
# ※メールサーバ等のレスポンス低下防止
iptables -A INPUT -p tcp --dport 113 -j REJECT --reject-with tcp-reset

# ACCEPT_COUNTRY_MAKE関数定義
# 指定された国のIPアドレスからのアクセスを許可するユーザ定義チェイン作成
ACCEPT_COUNTRY_MAKE(){
for addr in `cat /tmp/cidr.txt|grep ^$1|awk '{print $2}'`
do
iptables -A ACCEPT_COUNTRY -s $addr -j ACCEPT
done
}

# DROP_COUNTRY_MAKE関数定義
# 指定された国のIPアドレスからのアクセスを破棄するユーザ定義チェイン作成
DROP_COUNTRY_MAKE(){
for addr in `cat /tmp/cidr.txt|grep ^$1|awk '{print $2}'`
do
iptables -A DROP_COUNTRY -s $addr -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES DENY_COUNTRY] : '
iptables -A DROP_COUNTRY -s $addr -j DROP
done
}


# IPアドレスリスト取得
. /home/root/iptables_register/iptables_functions
IPLISTGET

# 日本からのアクセスを許可するユーザ定義チェインACCEPT_COUNTRY作成
iptables -N ACCEPT_COUNTRY
ACCEPT_COUNTRY_MAKE JP
# 以降,日本からのみアクセスを許可したい場合はACCEPTのかわりにACCEPT_COUNTRYを指定する

# 中国・韓国・台湾※からのアクセスをログを記録して破棄
# ※全国警察施設への攻撃元上位3カ国(日本・アメリカを除く)
# http://www.cyberpolice.go.jp/detect/observation.htmlより
iptables -N DROP_COUNTRY
#中国
DROP_COUNTRY_MAKE CN
#韓国
DROP_COUNTRY_MAKE KR
#台湾
DROP_COUNTRY_MAKE TW
#追加:北朝鮮
DROP_COUNTRY_MAKE KP
iptables -A INPUT -j DROP_COUNTRY

#----------------------------------------------------------#
# 各種サービスを公開する場合の設定(ここから) #
#----------------------------------------------------------#

# 外部からのTCP22番ポート(SSH)へのアクセスを日本からのみ許可
# ※SSHサーバーを公開する場合のみ
#iptables -A INPUT -p tcp --dport 22 -j ACCEPT_COUNTRY

# 外部からのTCP/UDP53番ポート(DNS)へのアクセスを許可
# ※外部向けDNSサーバーを運用する場合のみ
#iptables -A INPUT -p tcp --dport 53 -j ACCEPT
#iptables -A INPUT -p udp --dport 53 -j ACCEPT

# 外部からのTCP80番ポート(HTTP)へのアクセスを許可
# ※Webサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# 外部からのTCP443番ポート(HTTPS)へのアクセスを許可
# ※Webサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 外部からのTCP21番ポート(FTP)へのアクセスを日本からのみ許可
# ※FTPサーバーを公開する場合のみ
#iptables -A INPUT -p tcp --dport 21 -j ACCEPT_COUNTRY

# 外部からのPASV用ポート(FTP-DATA)へのアクセスを日本からのみ許可
# ※FTPサーバーを公開する場合のみ
# ※PASV用ポート60000:60030は当サイトの設定例
#iptables -A INPUT -p tcp --dport 60000:60030 -j ACCEPT_COUNTRY

# 外部からのTCP25番ポート(SMTP)へのアクセスを許可
# ※SMTPサーバーを公開する場合のみ
#iptables -A INPUT -p tcp --dport 25 -j ACCEPT

# 外部からのTCP465番ポート(SMTPS)へのアクセスを日本からのみ許可
# ※SMTPSサーバーを公開する場合のみ
#iptables -A INPUT -p tcp --dport 465 -j ACCEPT_COUNTRY

# 外部からのTCP110番ポート(POP3)へのアクセスを日本からのみ許可
# ※POP3サーバーを公開する場合のみ
#iptables -A INPUT -p tcp --dport 110 -j ACCEPT_COUNTRY

# 外部からのTCP995番ポート(POP3S)へのアクセスを日本からのみ許可
# ※POP3Sサーバーを公開する場合のみ
#iptables -A INPUT -p tcp --dport 995 -j ACCEPT_COUNTRY

# 外部からのTCP143番ポート(IMAP)へのアクセスを日本からのみ許可
# ※IMAPサーバーを公開する場合のみ
#iptables -A INPUT -p tcp --dport 143 -j ACCEPT_COUNTRY

# 外部からのTCP993番ポート(IMAPS)へのアクセスを日本からのみ許可
# ※IMAPSサーバーを公開する場合のみ
#iptables -A INPUT -p tcp --dport 993 -j ACCEPT_COUNTRY

# 外部からのUDP1194番ポート(OpenVPN)へのアクセスを日本からのみ許可
# ※OpenVPNサーバーを公開する場合のみ
#iptables -A INPUT -p udp --dport 1194 -j ACCEPT_COUNTRY

# VPNインタフェース用ファイアウォール設定
# ※OpenVPNサーバーを公開する場合のみ
#[ -f /etc/openvpn/openvpn-startup ] && /etc/openvpn/openvpn-startup

#追加
# 外部からのTCP123番ポート(NTP)へのアクセスを許可
# ※NTPサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 123 -j ACCEPT_COUNTRY


#----------------------------------------------------------#
# 各種サービスを公開する場合の設定(ここまで) #
#----------------------------------------------------------#

# 拒否IPアドレスからのアクセスはログを記録せずに破棄
# ※拒否IPアドレスは/root/deny_ipに1行ごとに記述しておくこと
# (/root/deny_ipがなければなにもしない)
if [ -s /root/deny_ip ]; then
for ip in `cat /root/deny_ip`
do
iptables -I INPUT -s $ip -j DROP
done
fi

# 上記のルールにマッチしなかったアクセスはログを記録して破棄
iptables -A INPUT -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES INPUT] : '
iptables -A INPUT -j DROP
iptables -A FORWARD -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES FORWARD] : '
iptables -A FORWARD -j DROP

# サーバー再起動時にも上記設定が有効となるようにルールを保存
#/etc/rc.d/init.d/iptables save
iptables-save > /etc/network/iptables

# ファイアウォール起動
#/etc/rc.d/init.d/iptables start


次に内部で使用する関数を作る
$ sudo vi /home/root/iptables_register/iptables_functions
$ sudo chmod 700 /home/root/iptables_register/iptables_functions
mailの設定をしておかないと固まるので注意

# IPアドレスリスト取得関数定義
IPLISTGET(){
# http://nami.jp/ipv4bycc/から最新版IPアドレスリストを取得する
wget http://nami.jp/ipv4bycc/cidr.txt.gz
gunzip cidr.txt.gz
# 最新版IPアドレスリストが取得できなかった場合
if [ ! -f cidr.txt ]; then
if [ -f /tmp/cidr.txt ]; then
# バックアップがある場合はその旨をroot宛にメール通知して処理を打ち切る
echo cidr.txt was read from the backup! | mail -s $0 root
return
else
# バックアップがない場合はその旨をroot宛にメール通知して処理を打ち切る
echo cidr.txt not found!|mail -s $0 root
exit 1
fi
fi
# 最新版IPアドレスリストを /tmpへバックアップする
/bin/mv cidr.txt /tmp/cidr.txt
}
※mail行のrootは予め/etc/aliasesで定義しておかないといけないと思う
 よくわからなければコメントアウトでいいかも


さらに、cron用のスクリプトを作る
$ sudo vi /home/root/iptables_register/iplist_check.sh
$ chmod 700 /home/root/iptables_register/iplist_check.sh
$ sudo cp -p /home/root/iptables_register/iplist_check.sh /etc/cron.daily/iplist_check.sh
パスをあわせないといけない

#!/bin/bash

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# 新旧IPLIST差分チェック件数(0を指定するとチェックしない)
# ※新旧IPLIST差分がSABUN_CHKで指定した件数を越える場合はiptables設定スクリプトを実行しない
# ※新旧IPLIST差分チェック理由はhttp://centossrv.com/bbshtml/webpatio/1592.shtmlを参照
SABUN_CHK=100
[ $# -ne 0 ] && SABUN_CHK=${1}

# チェック国コード
COUNTRY_CODE='JP CN KR TW KP'

# iptables設定スクリプトパス
IPTABLES=/home/root/iptables_register/iptables.sh

# iptables設定スクリプト外部関数取り込み
. /home/root/iptables_register/iptables_functions

# IPアドレスリスト最新化
rm -f IPLIST.new
IPLISTGET
for country in $COUNTRY_CODE
do
if [ -f /tmp/cidr.txt ]; then
grep ^$country /tmp/cidr.txt >> IPLIST.new
else
grep ^$country /tmp/IPLIST >> IPLIST.new
fi
done
[ ! -f /tmp/IPLIST ] && cp IPLIST.new /tmp/IPLIST

# IPアドレスリスト更新チェック
diff -q /tmp/IPLIST IPLIST.new > /dev/null 2>&1
if [ $? -ne 0 ]; then
if [ ${SABUN_CHK} -ne 0 ]; then
if [ $(diff /tmp/IPLIST IPLIST.new | egrep -c '<|>') -gt ${SABUN_CHK} ]; then
(
diff /tmp/IPLIST IPLIST.new
echo
echo "$IPTABLES not executed."
) | mail -s 'IPLIST UPDATE' root
rm -f IPLIST.new
exit
fi
fi
/bin/mv IPLIST.new /tmp/IPLIST
sh $IPTABLES > /dev/null
else
rm -f IPLIST.new
fi


これでOK

まずは手動で実行する
$ sudo sh iptables.sh
※数分かかる

再度
$ sudo iptables -L -n
で状況を確認し、IPがたくさん登録されていたりしたらOK



このままでは再起動後に消えてしまうので
起動のたびに適用されるように?する
参考:
http://shiro9211.jugem.jp/?eid=449

sudoだとうまくいかなかったのでrootになる
$ sudo su

iptablesの設定をエクスポート
$ iptables-save > /etc/network/iptables

iptablesを起動毎に設定するスクリプトを作成
$ vi /etc/network/if-pre-up.d/iptables
--
#!/bin/sh
iptables-restore < /etc/network/iptables







--

$ chmod 700 iptables




以上の3つで、外部公開しても多少マシ?


おまけ
設定クリア(全ポート閉じる?)
$sudo iptables -F


(20110910追記)
チェック国コード(COUNTRY_CODE)に韓国(KP)が抜けていたので修正
(20110910追記)
iptables_functionsのgunzipには-fつけた方がいいか・・?







2重シールド5C同軸ケーブル S5CFB(C)BK

2重シールド5C同軸ケーブル S5CFB(C)BK
価格:105円(税込、送料別)

2011-09-03

UbuntuでIP固定

ubuntuでIP固定する場合、次のファイルを操作する必要があるようです。

/etc/network/interfaces
/etc/resolv.conf
/etc/hosts

これらの編集を簡易化するresolvconfというソフトもありますが
動作が不安定らしいので手動で変更します

$ sudo vi /etc/network/interfaces
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.1.123
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

eth0のdhcpをやめてstaticに変更
その下に設定を記述する

$ sudo vi /etc/resolv.conf
nameserver 192.168.1.1
search ubuntud.com

※これでいいのか?よくわからん

$ sudo vi /etc/hosts
2行目が127.0.1.1・・・となっていた場合は、固定したいIPに変更する。
192.168.1.123 ・・・・・


サービス再起動
$sudo /etc/init.d/networking restart




設定がうまくいかない場合、マシン再起動後、LANのみつながってインターネットに繋がらないという症状が発生した。
その時はネットでよく紹介されているresolvconfをインストール&networkという記述をしていた。
それらを解除したところ症状が改善された。
(20110913追記)
ルーターの設定が悪かったようだ。RV-S340HIという機種で、「Webサーバを外部に公開する」という機能があるんだけど、そこで指定したIPからはルーターにアクセスできなくなるらしい。→LANしかつながらない。
networkという記述は書いておくほうがよさそう。

(20110913追記)
interfacesファイルの説明
auto : マシン起動時に立ち上げるアダプタ、通常必須
address : 固定IP
netmask : 固定IPのクラスっていうんだっけ?同じネットワーク内で割り当てる領域を指定
       うちは192.168.1.2~192.168.1.254が自由なIPだからこの設定。
       24bitとも表すようだ
network : サブネット?netmaskと似たような感じで、自由な箇所を0にすればよい?
broadcast : これもnetmaskと似たような感じで、自由な箇所を255にすればよい?
         綴り間違えていたので本文修正しました。
gateway : ルーターのIPを指定すればOK

(20110913追記)
resolv.confファイルの指定を結構間違えていたので修正しました。
nameserver : うちはルーターのIPを指定。ルーターがプロバイダから自動でDNS情報を
          取得していて、端末はルーターからDNS情報を得ればよいらしい。
          ちなみに複数指定する場合は、nameserver行をその分追加するそうです。
search : 必要なければ指定しない方がよいらしい?LAN内でメールが送れなくなる・・・?

(20120725追記)
どうやらhostsファイルも編集したほうが良いみたいです。
必須ではないようですし紹介しているサイトも少ないですけど。
ちなみに127.0.1.1というのはOS側の仕様で、DHCPにした場合に設定される値のようです。