2013年1月6日日曜日

[epgrec]ICカード周りのdebがダウンロード出来ない



Ubuntuの最近のバージョンではICカード周りに以下の古いパッケージが必要だが、
ダウンロードできなくなっていた。



以下のサイトからそれぞれのパッケージがダウンロードができた。
https://launchpad.net/ubuntu/maverick

Munin を Ubuntu にインストール


サーバ監視用にMuninをインストールした。
最初アクセスしたらYou don't have permission to accessと出た。
調べたら初期設定では、localhostからしかアクセス出来ないようになっているようで。
 /etc/munin/apache.confで
Allow from localhost 127.0.0.0/8 ::1 を
Allow from localhost all
に変更したらアクセスできた。

以下インストール時のhistory
sudo apt-get install -y munin munin-node
sudo nano /etc/munin/apache.conf
sudo /etc/init.d/apache2 restart


Munin を Ubuntu にインストールする
muninをインストールしてApache設定の考え方の違いに気づく
UbuntuでApacheを再起動する方法・コマンド

[epgrec]初期設定ページが表示されない

config.phpで地デジのチャンネルを設定した際に
全角スペースがいつの間にか入っていたため、エラーになっていた。

/var/log/apache2/error.logを見てようやくわかった。

Apache2のエラーログの場所
T_CONSTANT_ENCAPSED_STRINGのエラー

[epgrec]epgrecでmysqlに接続できない

epgrecのmysqlの設定を間違っていただけ

ホスト名をlocalhostにしたら接続できた。

2012年5月13日日曜日

foltiaがしょぼいカレンダーからデータを取得しない

foltiaをUbuntu12.04にインストールしようとやったのだが、
しょぼいカレンダーからデータを取って来てくれなかった。

どうもgetxml2db.plが正常に動いていないようだったので、
デバッグしてみると、以下の重複起動をチェックしていると思われるところで
なぜか1つしか起動していないのに重複起動していると判定して終了していた。
32 $processes =  &processfind("getxml2db.pl");
33 if ($processes > 1 ){
34 #print "process  found:$processes\n";
35 &writelog("getxml2db   processes exist. exit:");
36 exit;
37 }else{
38 #print "process NOT found:$processes\n";
39 &writelog("getxml2db  Normal launch.");
40 }
そこで、この重複起動チェックの部分をコメントアウトすると
すんなり、しょぼいカレンダーからデータを取得できた。


原因を探すために
32行目のfoltialib.plから呼び出す”processfind”という関数の中を見てみる。
210 sub processfind{
211 my $findprocess = $_[0];
212 
213 my @processes ;
214 @processes = `ps ax | grep -i $findprocess `;
215 my $chkflag = 0;
216 
217 foreach (@processes ){
218 if (/$findprocess/i){
219         unless (/grep/){
220                 #print "process found:$_\n";
221                 $chkflag++ ;
222                 }else{
223                 #print "process NOT found:$_\n";
224                 }
225         }
226 
227 }
228 return ($chkflag);
229 }#endsub
この関数を呼び出したgetxml2db.pl自身のプロセスと
"getxml2db.pl"を検索するgrepコマンドのプロセスの
2つをカウントして2を返していたよう。
このため、重複起動チェックでいつも終了して動いてなかった。


なので、とりあえずの対処法としてはgetxml2db.plの上であげた32行目から40行目をコメントアウトすればいい(と思う)。
ただし、重複起動チェックを切ることになるので他の部分で不具合が起きるかもしれない。




2012年4月8日日曜日

NFSの設定

Ubuntu11.10でNFSの設定をした時のメモ

音楽のフォルダを共有したかったので、まずはホームフォルダを英語化する。

今まではネットに転がってるコマンドでいけたが、今回はなぜかできなかった。
Ubuntu 11.10ではコマンドが変わってるらしく、以下のコマンドで設定ができた。
#ホームフォルダ英語化
LANGUAGE=C LC_MESSAGES=C xdg-user-dirs-gtk-update
あとはネットを見つつNFSを設定
#NFS設定
#--サーバ側---
sudo apt-get install -y nfs-kernel-server portmap
# 設定追記
sudo sh -c "echo '/home 192.168.1.0/24(rw,fsid=0,sync,all_squash,no_subtree_check)' >> /etc/exports"
# 設定反映
sudo  exportfs -ra

#--クライアント側---
sudo apt-get install -y nfs-common portmap
#以下のコマンドで[username]は適時変更する
# fstab設定追記
sudo sh -c "echo '#NFS\n''192.168.11.254:/[username]/Music /home/[username]/Music nfs  rw,nosuid,_netdev,hard,intr  0' >> /etc/fstab"
これで起動時から自動でマウントされるが、マウントされるまでしばらく時間がかかった。

2011年6月25日土曜日

テキストファイルから指定した行範囲を抜き出すコマンド

テキストファイルである行からある行までを抜きだしたかった。
さらに、毎回コマンド打つのも面倒なので、ついでにシェルスクリプトを書くと便利。


やりたいことは、

  • #begin を含む行から #endを含む行までを抜き出したい

以下がそのコマンドになる。


input.dat から output.dat  #begin から #end までをコピーするコマンド
sed -n "/#begin/,/#end/p" input.dat output.dat
また、#begin を含む行から #N 行抜き出すと分かってるなら
grep -A#N '#begin' input.dat > output.dat
で抜き出せるはず。