ラベル FreeBSD の投稿を表示しています。 すべての投稿を表示
ラベル FreeBSD の投稿を表示しています。 すべての投稿を表示

2023年4月9日日曜日

久し振りのFreeBSDで四苦八苦(続き)

gnomeは依存ファイルが多いので、無意識に強制upgradeすると他の所で問題を起こしてしまいます。 今回もまたやってしまった!

py39-CommonMark-0.9.1とcmark-0.30.2が衝突するというエラーが出ているのは分かっていましたが、gnomeを優先したので、cmark-0.30.2を入れていました。 これが、仇になって、今朝外気温を見ようと自分のHP見たらアクセスできず! 色々調べてpostgresqlが起動できなくなっていました。  pgsql/data/PG_VERSIONを見たら、15とあったので、少々違和感を感じながら、postgresql15-serverをportsからcompile/install。(この前にcmark-0.30.2はpkg delete。依存調べるとevolution-3.44.4-2でしか使っていないみたいなので)

これで、立ち上がるようにはなりましたが、どうも昨年の5月にupgradeしたpostgresqlが15b2だったらしく、データが読めない!とつれない回答。 バックアップは当然とってありませんが、昨年の5月中旬(前回のpostgresqlのupgrade。これはバックアップ有)には戻れそうなので、postgresql initdb; psql template1 < 20220519.dumpで昨年の5月まで戻ることで諦め。

色々なアプリを動かして、規模が大きくなってくるとバージョンアップは酷く神経を使う作業になりますね。 これで何度失敗しているんだろう!!

2023年1月5日木曜日

FreeBSD 備忘録

 久しぶりにFreeBSDのサーバーにアクセスしようとしたら、手順もUnix コマンドも忘れてしまっていて、大そう時間が掛かったので、手順を備忘録として、、、。

  • Windows上でXmingを起動しておく。
  • TeraTermでFreeBSDにリモートアクセス
  • 立ち上がったTeraTermから xterm -display (WinマシンのIP):0.0 で、xtermを起動 - Xmingが動いているので、xtermはWindos上の窓として表示される。
  • xterm上から必要なだけ gnome-terminal を起動して、windows上の窓のgnome-terminalから作業を行う。

事前にFreeBSD上でWindowsマシンのIPからのアクセスを受け付けるように設定しておく事

ついでに、portsのupgradeしようとしたら、カーネルのバージョンでgnomeのサポートが終わっている旨の表示。 カーネルのバージョンを調べると、13.0R -> 13.1Rへのマイナーアップグレードだったので、ココを参照し、13.1Rへのアップグレードをすることにした。 以下手順;

  1.   /usr/sbin/freebsd-update -r 13.1R upgrade
  2.   reboot
  3.   /usr/sbin/freebsd-update install

また、portsもアップデートしようとしたら、dfs上に/usr/portsがあってうまく行かないので、

git clone https://git.FreeBSD.org/ports.git /usr/ports2

として/usr/ports2にportsをインストール。

 

 

2022年5月14日土曜日

サーバーの復帰

昨晩の突然の停電で、サーバーが停止、立ち上がらなくなってしまいました。 2年近く弄っていないので、ディレクトリ構成とかZFSがどうなっているのかすっか忘れてしまっていて、このブログの過去記事をたどって復活させました。 

まず、起動ディスクは?  

  •  過去ログ見るとluaか何かの原因でZFSから起動しないために、HDDから起動させたのちにzpool importでファイルをマウントしているようなので、まづ、起動ディスクを探す。  
    • 立ち上がる時に<DEL>キーで、biosから見えるDiskを探い、取り敢えず片っ端から起動させてみる。  
    • ー>一つだけFreeBSDが起動するディスクが見つかる。 
  • FreeBSDを起動させて、dfしてみると、当然/以外はなにもないので、zpool importで認識されるzfsを表示させてみる。  
    •  ー>zrootという名前のzfsファイルシステムが見つかった これをimportする  
    •  ー>zpool import zroot こうすると、元々のhdd上の/以下にzrootのファイルシステムがマウントされる。 

被るファイルの内容が出てくると思われるが、取り敢えず動いて復帰できたので良しとする。

ブート領域を含めて修復して、再起動の手間を省くようにしないと、、、、。 

久し振りの*nixはコマンド名とか思い出すのに時間が掛かり、なかなか大変。 時々は*nixしてリハビリしていないと、あきませんな~。

 

2021年5月10日月曜日

ZFS に救われた! FreeBSD data server

 久しぶりに写真の整理をしていて、DataServer(FreeBSD)に放り込んでいた写真を、撮影した年代日付毎のフォルダに入れてゆく作業をしていました。 

Windows10からFreeBSDの共有フォルダが見えるようにしてある(Samba3)ので、操作はWindows上のexplorerから行っていました。 で、2020,2019,2018と降りて行った際に、間違って整理し終えた2018年のフォルダをうっかり消してしまって、真っ青! これは、ゴミ箱からの復帰は有り得ませんし、クラウドにもこのファイルは上げていないし、、、。 

あ、ひょっとして、ZFSファイルなので、定期的にsnapshotを取っていたのではなかっただろうか? と、サーバーにアクセスして;

Crontabの内容(一部)
zfs list -r -t snapshot -o name,creation zroot/home (Windowsとの共有は/usr/homeの下にあるので)としたらやったね! 在りました。 月単位、週単位、日単位、時間単位の4段階でsnapshotを自動作成していました。 cronに設定したら、後は自動なので忘れちゃうのが問題かな?

# zfs list -r -t snapshot -o name,creation zroot/usr/home
NAME                                                    CREATION
zroot/usr/home@zfs-auto-snap_monthly-2020-06-01-00h28   月  6月  1  0:28 2020
zroot/usr/home@zfs-auto-snap_monthly-2020-07-01-00h28   水  7月  1  0:28 2020
zroot/usr/home@zfs-auto-snap_monthly-2020-08-01-00h28   土  8月  1  0:28 2020
zroot/usr/home@zfs-auto-snap_monthly-2020-09-01-00h28   火  9月  1  0:28 2020
zroot/usr/home@zfs-auto-snap_monthly-2020-10-01-00h28   木 10月  1  0:28 2020
zroot/usr/home@zfs-auto-snap_monthly-2020-11-01-00h28   日 11月  1  0:28 2020
zroot/usr/home@zfs-auto-snap_monthly-2020-12-01-00h28   火 12月  1  0:28 2020
zroot/usr/home@zfs-auto-snap_monthly-2021-01-01-00h28   金  1月  1  0:28 2021
zroot/usr/home@zfs-auto-snap_monthly-2021-02-01-00h28   月  2月  1  0:28 2021
zroot/usr/home@zfs-auto-snap_monthly-2021-03-01-00h28   月  3月  1  0:28 2021
zroot/usr/home@zfs-auto-snap_monthly-2021-04-01-00h28   木  4月  1  0:28 2021
zroot/usr/home@zfs-auto-snap_weekly-2021-04-18-00h14    日  4月 18  0:14 2021
zroot/usr/home@zfs-auto-snap_weekly-2021-04-25-00h14    日  4月 25  0:14 2021
zroot/usr/home@zfs-auto-snap_monthly-2021-05-01-00h28   土  5月  1  0:29 2021
zroot/usr/home@zfs-auto-snap_weekly-2021-05-02-00h14    日  5月  2  0:14 2021
zroot/usr/home@zfs-auto-snap_daily-2021-05-04-00h07     火  5月  4  0:07 2021
zroot/usr/home@zfs-auto-snap_daily-2021-05-05-00h07     水  5月  5  0:07 2021
zroot/usr/home@zfs-auto-snap_daily-2021-05-06-00h07     木  5月  6  0:07 2021
zroot/usr/home@zfs-auto-snap_daily-2021-05-07-00h07     金  5月  7  0:07 2021
zroot/usr/home@zfs-auto-snap_daily-2021-05-08-00h07     土  5月  8  0:07 2021
zroot/usr/home@zfs-auto-snap_daily-2021-05-09-00h07     日  5月  9  0:07 2021
zroot/usr/home@zfs-auto-snap_weekly-2021-05-09-00h14    日  5月  9  0:14 2021
zroot/usr/home@zfs-auto-snap_hourly-2021-05-09-14h00    日  5月  9 14:00 2021
zroot/usr/home@zfs-auto-snap_hourly-2021-05-09-15h00    日  5月  9 15:00 2021
zroot/usr/home@zfs-auto-snap_hourly-2021-05-09-16h00    日  5月  9 16:00 2021
zroot/usr/home@zfs-auto-snap_hourly-2021-05-09-17h00    日  5月  9 17:00 2021
zroot/usr/home@zfs-auto-snap_hourly-2021-05-09-18h00    日  5月  9 18:00 2021
zroot/usr/home@zfs-auto-snap_hourly-2021-05-09-19h00    日  5月  9 19:00 2021
zroot/usr/home@zfs-auto-snap_hourly-2021-05-09-20h00    日  5月  9 20:00 2021
zroot/usr/home@zfs-auto-snap_hourly-2021-05-09-21h00    日  5月  9 21:00 2021
zroot/usr/home@zfs-auto-snap_hourly-2021-05-09-22h00    日  5月  9 22:00 2021
zroot/usr/home@zfs-auto-snap_hourly-2021-05-09-23h00    日  5月  9 23:00 2021
zroot/usr/home@zfs-auto-snap_hourly-2021-05-10-00h00    月  5月 10  0:00 2021

で、早速作業を始める前の時間のsnapshotを適用

# zfs rollback -r zroot/usr/home@zfs-auto-snap_hourly-2021-05-10-09h00 

数分で終了したので、Windowsのexplorerで確認すると、在りました! 

あー、良かった。 二時間ほどの作業は無駄になりましたが、無くならなくてよかった。何の気なしに、cron に設定しておいたsnapshotに救われました。

ZFS様様です。 今度HDDからSSDに替えてスピード上げてやろう! 


 

2020年3月27日金曜日

JpGraphを久しぶりに弄って 一部問題解決。

室内と庭の温度、湿度のpostgreSQL DBが動くようになったので、今まで使っていた、HPをちょっと弄って化粧をしてみました。

JpGraphを使ってグラフを描かせていましたが、何故かグラフの各点の値表示が出来な
かったり、TrueTypeのフォントが使えていなかったりしたのを、一日がかりで修正。
  • 値の表示が出来なかった原因 ;  $graph->clearTheme()を設定していないと、表示をしてくれなかった。下のphpのソースコード参照
  • TrueTypeフォントのインストール ;  FreeBSDで動いているので、packageからwebfont(MSのTTF同等?)をインストール。 /usr/local/lib/php/jpgraph/jpg-config.inc.phpのTTF, MBTTFを実際にインストールされているディレクトリに指定する。
//
// UNIX:
//   CACHE_DIR /tmp/jpgraph_cache/
//   TTF_DIR   /usr/share/fonts/truetype/
//   MBTTF_DIR /usr/share/fonts/truetype/
//
// WINDOWS:
//   CACHE_DIR $SERVER_TEMP/jpgraph_cache/
//   TTF_DIR   $SERVER_SYSTEMROOT/fonts/
//   MBTTF_DIR $SERVER_SYSTEMROOT/fonts/
//
//------------------------------------------------------------------------
// define('CACHE_DIR','/tmp/jpgraph_cache/');
define('TTF_DIR','/usr/local/share/fonts/webfonts/');
define('MBTTF_DIR','/usr/local/share/fonts/webfonts/');
ついでにDBの欠落データを正しくグラフに反映させる為に、pg_fetch_rows()から、pg_fetch_result()に変更して、array()の該当する日時にデータが挿入されるように変更

require_once ('jpgraph/jpgraph.php');
require_once ('jpgraph/jpgraph_bar.php');
require_once ('jpgraph/jpgraph_stock.php');
require_once ('jpgraph/jpgraph_line.php');

  $ydata = array();
  $y1data = array();
  $ymax = array();
  $ymin = array();
  $yhumid = array();
  $ymaxhumid = array();
  $yminhumid = array();
  $ypressure = array();
  $ymaxpressure = array();
  $yminpressure = array();
  $sdata = array();

$conn = "hostaddr=192.168.?.?? dbname=XXXXX user=Who password=Are_you?";  //fake user/password
$link = pg_connect($conn);
if (!$link) {
   die ('Connection failed '.pg_last_error());
   }

  $result = pg_query("SELECT day, avg_temperature, max_temperature, min_temperature,avg_humidity, max_humidity, min_humidity, avg_pressure,max_pressure,min_pressure from dailydatacurrentmonth where location='MyRoom'" );
if (!$result){
   die('Query failed'.pg_last_error());
  }
$tempE=pg_fetch_result($result, pg_num_rows($result)-1, 0);  // chech when day ends
for ($i = 0, $j = 0, $k = 0; $i < $tempE; $i++){
   $temp =pg_fetch_result($result, $k, 0);  //  day
   if ($i == $temp-1) {
     $x_axis[$i] = $temp;
     $ydata[$i] = pg_fetch_result($result, $k, 'avg_temperature');
     $yhumid[$i] = pg_fetch_result($result, $k, 'avg_humidity');
     $ymaxhumid[$i] = pg_fetch_result($result, $k, 'max_humidity');
     $yminhumid[$i] = pg_fetch_result($result, $k, 'min_humidity');
     $ypressure[$i] = pg_fetch_result($result, $k, 'avg_pressure');
     $ymaxpressure[$i] = pg_fetch_result($result, $k, 'max_pressure');
     $yminpressure[$i] = pg_fetch_result($result, $k, 'min_pressure');
     $sdata[$j++] = pg_fetch_result($result, $k, 'min_temperature');
     $sdata[$j++] = pg_fetch_result($result, $k, 'min_temperature');
     $sdata[$j++] = pg_fetch_result($result, $k, 'max_temperature');
     $sdata[$j++] = pg_fetch_result($result, $k, 'max_temperature');
     $k++;
   } else {
     $x_axis[$i] = $i+1;
     $ydata[$i] = '';
     $yhumid[$i] = '';
     $ymaxhumid[$i] = '';
     $yminhumid[$i] = '';
     $ypressure[$i] = '';
     $ymaxpressure[$i] = '';
     $yminpressure[$i] = '';
     $sdata[$j++] = '';
     $sdata[$j++] = '';
     $sdata[$j++] = '';
     $sdata[$j++] = '';
   } 
}

  $result = '';
  $result = pg_query("SELECT day, avg_temperature from dailydatacurrentmonth_prevyear where location='MyRoom'" );
  if (!$result){
     die('Query failed'.pg_last_error());
  }
for ($i = 0; $i < pg_num_rows($result); $i++){
    $rows = pg_fetch_array($result, NULL, PGSQL_ASSOC);
    $y1data[$i] = $rows['avg_temperature'];
}

$close_flag = pg_close($link);

$graph = new Graph(750, 450);
$graph->clearTheme();
$graph->SetFrame(true);
$graph->SetScale("textlin",10, 40);
$graph->SetY2Scale("lin",10, 90);
$graph->img->SetMargin(50,30,20,90);
$graph->SetShadow();

$graph->title->SetFont(FF_ARIAL,FS_BOLD,14);
$graph->title->Set("Daily Max/Min/Avg Temperature & Avg Humidity of the Month");

//$graph->yaxis->title->SetFont(FF_ARIAL.FS_ITALIC, 10);
$graph->yaxis->title->Set("Temperature");
$graph->ygrid->Show(true,false);
$graph->y2axis->title->Set("Humidity");

$graph->xaxis->title->Set("Month-Day");
//$graph->xaxis->title->SetFont(FF_ARIAL.FSBOLD, 10);
$graph->xgrid->Show(true,true);

// Specify the tick lables
$graph->xaxis->SetTickLabels($x_axis);
$graph->xaxis->SetTextLabelInterval(1);

// Create the linear plot
$lineplot = new LinePlot($ydata);
$lineplot->SetColor("blue");
$lineplot->mark->SetType(MARK_UTRIANGLE);
$lineplot->value->show();
$lineplot->value->SetFont( FF_ARIAL, FS_ITALIC, 7 );
$lineplot->value->SetColor('darkred');
$lineplot->value->SetFormat('%0.1f');

$p1 = new StockPlot($sdata);
$p1->SetWidth(9);

$line2plot = new LinePlot($y1data);
$line2plot->SetColor("red");
$line2plot->mark->SetType(MARK_UTRIANGLE);
//$line2plot->value->show();
$line2plot->value->SetColor('darkred');
$line2plot->value->SetFont( FF_ARIAL, FS_BOLD, 10 );
$line2plot->value->SetFormat('%0.1f');


$barplot = new BarPlot($yhumid);
$barplot->SetColor("black");
$barplot->value->Show();
$barplot->value->SetFont( FF_ARIAL, FS_BOLD, 10 );
$barplot->value->SetFormat('%0.1f');

// Add the plot to the graph
$graph->Add($lineplot);
$graph->Add($line2plot);
$graph->AddY2($barplot);
$graph->Add($p1);

$graph->Stroke();

?>



2020年3月3日火曜日

ntpq の見方

wsjt-xの表示がみんな1sec以上ずっていると出てくるので、自分のPCの時間が狂っていると思い、FreeBSD serverのntpdをチェックしたり、相手サーバーを変えたりして、同期取り直しても改善しない。 
なんでだろ? (サーバーの時間同期に時間が掛かる?ので、直ぐには修正されていないみたい。 これ書いているうちに、0.5sec以内に改善されました)
うー、18MhzのVP8PJ FT8を逃してしまった!

理由はよくわからないですが、取り敢えずはntpq -pの読み方の確認



root# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 0.freebsd.pool. .POOL.          16 p    -   64    0    0.000    0.000   0.000
*ntp-b2.nict.go. .NICT.           1 u   49   64  377    5.631    1.597   0.794
-ntp1.jst.mfeed. 133.243.236.17   2 u   51   64  377    5.607    2.011   0.788
#time.cloudflare 10.22.8.215      3 u   52   64  377   14.845   -3.737   0.711
-133.40.41.135   133.40.41.133    2 u   55   64  377   12.338    1.076   0.577
+time3.google.co .GOOG.           1 u   45   64  377   43.622   -1.132   0.750
+103.226.213.30  .PPS.            1 u   16   64  377   44.221   -0.684   0.730


で、読み方;
 【ntpq の見方】
一番左:
 '*' : 参照同期中であると宣言されたサーバ(sys.peer)
 '#' : 参照可能だが, 同期距離が遠いサーバ(selected)
 '+' : 接続テストに合格し, いつでも参照可能なサーバ. 参照リストにある(好ましい)サーバ(candidat)
 ' ' : 同期を試み中, もしくはレスポンスがないため, 参照していないサーバ(excess)
 'x' : falseticker検査で, 参照リストから外れたサーバ(falsetick)
 '-' : クラスタリング検査で, 参照リストから外れたサーバ(outlyer)
 '.' : 参照リストから外れたサーバ(excess)
 'o' : 参照同期中であると宣言されたサーバ(同期はPPS信号から間接的に行なう。)(pps.peer)
remote 時刻サーバ
refid 参照ID(サーバが参照しているマシンID. 不明の場合は0.0.0.0)
remote が参照している他の時刻サーバやGPSなど
st サーバのstratum値. サーバの階層.
 (1は一次サーバ, 2は二次サーバ, 16が最低でサーバに接続できないことを表す)
t 時刻サーバの型(l:local, u:unicast, m:multicast, b:broadcast)
when 何秒前に最後のバケットを受信したか(秒)
poll ポーリングの時間間隔(秒)
 最初は高速に同期ができるようにポーリング間隔(この値)は小さい.
 トラフィックや時刻サーバの負荷を減らすように, 時計が同期されたらポーリング間隔はだんだん長くなる.
reach 到達可能性に関するレジスタ・データ
 時刻サーバへの直近8回分の接続結果を8ビットの8進数で表す. 全て成功していれば377(2進数で11111111)
delay 通信による遅延の推定値. パケット往復時間(ミリ秒)
offset 時刻サーバとのずれ(ミリ秒)
 同期中は小さくなっていく. つまりローカルの時刻がだんだん正確になっていく. 10[ms]以下なら問題なし
jitter オフセット値の分散
 小さい方が好ましく, 正確な時刻同期が可能になる.(単位:ミリ秒) 10[ms]以下なら問題なし



ntp server の在処はここを参照
ntpの設定についてはココを参照

2020年2月22日土曜日

FreeBSD 11.1 Stable -> FreeBSD 12.1 Stable にupdate 失敗!!

3年近くほっぽらかしにしていたので、「ちょっとアップデートしてみようかな?」と思ったのが大間違い!  そもそも、ファイルサーバーに使っているので、止まって貰ったり、壊れて貰ったりしたら困るので、弄ってなかったのですが、、、。
11.1から11.3へのアップデートは一見すんなり出来たので、reboot。 あ、zfsrootが見つからないのかブートしない! いつか同じようなことが、、、と思い、blog見ると、有りました。 boot diskを変更して、以前は解決したようですが、今回はうまく行かず。
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1 で、boot fileを書き換えてみたがダメ。
以前トラブった時に追加した1TBの予備のディスクに、12.1 Stableをインストールして、それから立ち上げると問題なく立ち上がる! 
zpool import でpool名を調べ、
zpool import -f -o altroot=/mnt pool名 で/mntにpoolをマウントすると、ちゃんとマウント出来、内容も確認できる。

結局、zfsから立ちあげることが出来ない! ググっても解決策が見つからない! どうも、11.2くらいから luaなるものが boot process に入ってきたようで、それが悪さしているらしい。
困ったなー。 当分サーバーはお休み。

1)12.1をディスクから立ち上げた時のディスクの様子
$ gpart show
=>        40  1953525088  ada0  GPT  (932G)
          40      409600     1  efi  (200M)
      409640  1945747448     2  freebsd-ufs  (928G)
  1946157088     7368040     3  freebsd-swap  (3.5G)

=>        34  5860533101  ada1  GPT  (2.7T)
          34           6        - free -  (3.0K)
          40        1024     1  freebsd-boot  (512K)
        1064     4194304     2  freebsd-swap  (2.0G)
     4195368  5856337760     3  freebsd-zfs  (2.7T)
  5860533128           7        - free -  (3.5K)

=>        34  5860533101  diskid/DISK-147MDHNGS  GPT  (2.7T)
          34           6                         - free -  (3.0K)
          40        1024                      1  freebsd-boot  (512K)
        1064     4194304                      2  freebsd-swap  (2.0G)
     4195368  5856337760                      3  freebsd-zfs  (2.7T)
  5860533128           7                         - free -  (3.5K)

$ gpart show ada0
=>        40  1953525088  ada0  GPT  (932G)
          40      409600     1  efi  (200M)
      409640  1945747448     2  freebsd-ufs  (928G)
  1946157088     7368040     3  freebsd-swap  (3.5G)

$ gpart show ada1
=>        34  5860533101  ada1  GPT  (2.7T)
          34           6        - free -  (3.0K)
          40        1024     1  freebsd-boot  (512K)
        1064     4194304     2  freebsd-swap  (2.0G)
     4195368  5856337760     3  freebsd-zfs  (2.7T)
  5860533128           7        - free -  (3.5K)


2)zfsbootで立ち上げた時のエラーの様子

BTX loader 1.00  BTX version is 1.02
Consoles: internal video/keyboard
BIOS drive C: is disk0
BIOS drive D: is disk1
BIOS drive E: is disk2
BIOS drive F: is disk3
ZFS:  i/o error - all block copies unavailable
ZFS:  faild to read pool zroot directory objext
BIOS 626kB/2570140kB available memory

FreeBSD/x86 bootstrap loader, Revision 1.1
Startup error in /boot/lua/loader.lua:
LUA ERROR:  cannot open /boot/lua/loader.lua: invalid argument,

Can't load 'kernel'


OK lsdev
disk devices:
  disk0:  BIOS drive C (5860533168 X 512):
    disk0p1: FreeBSD boot
    disk0p2: FreeBSD swap
    disk0p3: FreeBSD ZFS
  disk1:  BIOS drive D (5860533168 X 512):
  disk2:  BIOS drive E (1952525168 X 512):
    disk2p1: EFI
    disk2p2: FreeBSD UFS
    disk2p3: FreeBSD swap
  disk3:  BIOS drive F (5860533168 X 512):

2019年4月13日土曜日

JpGraphが動かない!

取り敢えずサーバーは動くようになりましたが、何故かphpとJpGraphの連携がうまくいっていないようで、自室の温度湿度のHPが表示されません!
色々弄っても

[Sat Apr 13 10:47:54.856404 2019] [php7:warn] [pid 33769] [client 192.168.1.17:60819] PHP Warning:  Use of undefined constant IMG_PNG - assumed 'IMG_PNG' (this will throw an Error in a future version of PHP) in /usr/local/lib/php/jpgraph-4.2.6/src/jpgraph_errhandler.inc.php on line 282, referer: http://192.168.1.3/MyRoom.html

等と出て、よくわからない! 個別のphpを動かしてみるとgdが取り込まれていない。 「うーん、php73, php73-extensionsともに入れているのになー」と頭を抱えながら、苦しい時のgoogle頼みで、いつものQiitaさんのページに行き当たり、取り敢えず大人しく、指示に従ってpkg installを繰り返してみたら、動くようになりました。

単純にphp73_gd (/usr/ports/graphics/php73_gd) のインストールがされていなかっただけのようですが、、、。

お陰で、php72からphp73へ、JpGraphは4.0.2から4.2.6へアップグレードされてしまいました。

いつも問題なく動いていて「空気化」している環境の一部が故障したりすると、とんでもなく面倒ですね。 ソフトは、特にどのようにしてインストールしたのか逐一記録を残しておかないと、それもPC以外のところへ、、、、。 これって、一番不得意なところかも。


2019年4月12日金曜日

あ、電源が落ちた!

今朝、娘がドライヤー、嫁が食洗器、洗濯機とやってくれたら、家の電源が落ちてしまいました(これは、結構あるので)。 で、復帰にブレーカーボックス見てみても、子供のスイッチで切れているところが見えない気がしたので、思わずメインを入れ直してしまったのが運の尽き。 自室のファイルサーバーが落ちてしまいましたが、これが電源入れただけではzfsで立ち上がってくれない! TB単位のファイルが入っているので、復帰できないと、、、と思いながら、午前はテニスの練習に、、、。 帰宅してから、色々弄ってもうまくゆかない(zfsでブートしない)。 自分のBlogを読み直すと、在りました! 「boot driveを色々変えてみて動かした」とあるので、起動メニューのbootの一番下のboot optionでToshibaのディスクを指定してrebootしてみたら、元に戻りました。 nisとか色々立ち上がる時に文句を言ってきているので、後で調べて設定をちゃんとしておかなければ、、、。
複数のディスクにboot情報を入れているのが問題なのですが、そこまで整理するのはちょっと、、、。


2018年11月14日水曜日

ntpd on FreeBSD server wsjt-x rc4

wsjt-xの時刻(というか、Activityに示されるDT)がおかしいので、サーバやPCの時刻の校正の部分を弄ってみることに。
久しぶりにFreeBSD のサーバーのntpdを真面に設定して、これを使ってPCの時刻同期をもう少し頻繁にすることにしました。 で、流石にFreeBSDのほうは忘れてしまっているので、ググってここを参考に設定。 で、これに紐づけてPCを1時間毎に同期させることにしました。
で、Flex6500の時刻(GPSで校正)、FreeBSDの時刻、PCの時刻(wsjt-xに表示される時刻)の3つが秒単位で同期していることを確認。 (FreeBSD serverの時刻の確認をしてみると;
# ntpdate -bu ntp.nict.jp
14 Nov 17:35:25 ntpdate[96374]: step time server 133.243.238.243 offset 0.000751 sec
となっていますので、時間の正確性の環境は整ったように思います。


wsjt-x rc3に戻して、多くの局が表示されるようになったのですが、ここに表示されるDTが依然としてまだ大きいような、、、、。 



rc4に切り替えてみると、下のgraphには複数の信号が表示されるのに、デコードされていないようなので、タイマーだけの問題ではなさそう。 取り敢えずはrc3にしておくことにします。



2018年10月30日火曜日

FreeBSDサーバーが再起動できない!

IBMがRedHatを買収!というニュースで「JBossはどうなるのかな?」とふと思い、FreeBSDサーバーで動いている、Freeのアプリケーションサーバー、Wildflyをportsで探してみると、ちゃんとWildfly14というのが出ていたので、早速インポートして、立ち上げてみるけど、アクセスすると、前から入っているWildfly11が出てくる!?  
やむを得ず再起動!  ありゃ?サーバーが立ち上がってこない!! モニターつけて調べてみると、ブートしてこない。 かなりややこしそうなので、翌朝から作業することにして、今日はサーバーは停止。

朝から、モニター繋いでキーボード繋いで、LiveCDで調べてみるとzpoolもちゃんと見えるし、どこも悪くなさそう。 gpart bootcode -b/boot/pmbr -p /boot/gptzfsboot -i 1 ada? として、ブートコードを書き直して、再起動してみるが起動しない。 DVDからは起動できるので、余っているHDDを繋いで11.2Rを新規インストールして、HDDから立ち上げようとするが、やはりダメ。 (Windows7のHDDは認識して、立ち上がるみたいですが、、) 要するにHDDから起動できない? そんな馬鹿な!
今まで、何も問題なく起動できていたが、これでは手も足も出ない。 カーソルが、ブートコードを何回か読みに行って、失敗してbios設定メニューに戻ってくるのが確認できるが、これ以上ができない。 
しようが無いのでamazonで中古の同じMB(Asus H87M Plus)を注文。 中古のMBはちょっと心配ですが、これでうまくゆくか確認してから、次の手を考えることにします。 LiveCDでzfsのファイルにはアクセスできることを確認しているので、少し気は楽です。

2018年6月23日土曜日

OMG!の続きの続き

新しいLGA2066のMBはCPUクーラーが入手できずに依然として作業台の上でお休み中。
サーバーのHDDをoffline/onlineで一時アクセスは正常に戻るのですが、1日ほどすると再度一台目のアクセスランプがつきっぱなしになりI/Oが極端に遅くなります。 zpool statusしても、特にHDDの状態が悪いわけでもないように思われますが、取り敢えずHDDを替えてみて様子を見ることにしました。 Seagateの3TB(ST3000DM001)を使っていたので、同じものを探してみましたが既になく、ST3000DM007を購入。 大分薄くなっています。
で、下のプロセスでresilvering。数時間かかってreplaceしましたが、今度は何ともありません。 いったい何がおかしかったんでしょう?HDD?

1) tail -f /var/log/messages でシステムログを見ながら、新しいHDDを挿入して、電源を入れて、HDDに割り振られた番号(名前)を確認。
2) zpool replace を実行して新しいHDDに置き換える。
3) zfs boot しているので、置き換えが完了後、用心のため gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 をしておく。 (この、の所が今一よくわかっていません。 ada0,ada1,ada2と3台あるので、片っ端からgpartを実行してみましたが、no such geom: ada?と出て、一台だけにしか書き込みはできませんでした。)

=================================================
root@tyd # zpool status
  pool: zroot
 state: DEGRADED
status: One or more devices has been removed by the administrator.
    Sufficient replicas exist for the pool to continue functioning in a
    degraded state.
action: Online the device using 'zpool online' or replace the device with
    'zpool replace'.
  scan: resilvered 468K in 0h0m with 0 errors on Fri Jun 15 12:05:25 2018
config:

    NAME                                            STATE     READ WRITE CKSUM
    zroot                                           DEGRADED     0     0     0
      raidz1-0                                      DEGRADED     0     0     0
        3945605936303358747                         REMOVED      0     0     0  was /dev/gptid/e259f7a8-c5b2-11e3-b83d-e03f49b2dc0a
        gptid/e38e6197-c5b2-11e3-b83d-e03f49b2dc0a  ONLINE       0     0     0
        ada0                                        ONLINE       0     0     0

errors: No known data errors

root@tyd # zpool replace zroot gptid/e259f7a8-c5b2-11e3-b83d-e03f49b2dc0a ada1
root@tyd # zpool status
  pool: zroot
 state: DEGRADED
status: One or more devices is currently being resilvered.  The pool will
    continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
  scan: resilver in progress since Thu Jun 21 11:03:10 2018
    55.7G scanned out of 2.03T at 143M/s, 4h0m to go
        18.6G resilvered, 2.68% done
config:

    NAME                                            STATE     READ WRITE CKSUM
    zroot                                           DEGRADED     0     0     0
      raidz1-0                                      DEGRADED     0     0     0
        replacing-0                                 REMOVED      0     0     0
          3945605936303358747                       REMOVED      0     0     0  was /dev/gptid/e259f7a8-c5b2-11e3-b83d-e03f49b2dc0a
          ada1                                      ONLINE       0     0     0
        gptid/e38e6197-c5b2-11e3-b83d-e03f49b2dc0a  ONLINE       0     0     0
        ada0                                        ONLINE       0     0     0

errors: No known data errors


root@tyd # zpool status
  pool: zroot
 state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
    still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
    the pool may no longer be accessible by software that does not support
    the features. See zpool-features(7) for details.
  scan: resilvered 692G in 12h5m with 0 errors on Thu Jun 21 23:08:29 2018
config:

    NAME                                            STATE     READ WRITE CKSUM
    zroot                                           ONLINE       0     0     0
      raidz1-0                                      ONLINE       0     0     0
        ada1                                        ONLINE       0     0     0
        gptid/e38e6197-c5b2-11e3-b83d-e03f49b2dc0a  ONLINE       0     0     0
        ada0                                        ONLINE       0     0     0

errors: No known data errors
root@tyd # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0

2017年8月23日水曜日

サーバーのdateが狂っていた!

急に暑くなったので、室内の温度湿度の遷移を見ようと、自宅Webを開いたら「データが入ってないよ!」と素気無い返答、、、。 「あ、停電したあと、センサーが繋がってないな」と早合点して、センサーのリセットをしてみたが変化なし。  apache24の設定がおかしいかと、サーバで/var/log/httpd-access.logを見ると、何故か2006年1月4日から更新されていない?! で、apache24を再コンパイル、インストールして立ち上げなおしてログファイル見ても、日付がやはり2006年?!  「ひょっとして、、、」とdateしてみると、やはりサーバの日付が狂っていました。 date 20170823XXXX で修正して、一件落着。

これって、基板上のボタン電池がもう死んでいるってこと?かな、、、 (まー、サーバマシンは結構4-5年経っているかもしれないなー)

先週の落雷停電の影響が今まで残ってしまった。


2017年3月19日日曜日

FreeBSD 10.0 stableのアップグレード (久しぶりの失敗)

何とはなしにsamba3 からsamba4に移行しようと、コンパイルしたら、そこらじゅうでエラーが出てコンパイルが出来ない。 「あれ?」とmake buildworldするとclangのコンパイル辺りでエラーが出て始まらない。 
つい、やってしまったバイナリで上書き! 当然失敗! 
色々考えてLiveCDからHDDの内容の書き換えをすることに(samba3で画像ファイルや音声ファイルが大量に入っているので、既存ファイルシステムを壊すわけにはゆかないのです)。
おっと、LiveCDからzpoolのファイルシステム(サーバのファイルシステム全てがzfsの下にあるのです)をmount する方法が分からない! ググってココ を見つける。
要するに、
zpool import でpool名を調べ、
zpool import -f -o altroot=/mnt pool名 で/mntにpoolをマウント(-fを入れないとエラーが出た)
後は、/上の必要なファイルを/mnt以下にコピーして (chflags noschg ....をしないと書き換えできないファイルが幾つかあるので注意! 失敗すると致命的)、HDDから再起動。
上手く立ち上がったら、/usr/srcに行ってmake buildworld;make kernel;make installworld

ファイルシステムが2TBもあると、バックアップなんて作っていられないし、絶対に失敗は出来ませーン!

まる2日掛かったが、取りあえず無事終了し、ファイルは見えるようになった。 しかし、WindowsからのXlaunchが上手く動かないーputtyでssh接続は出来るのですが、、、。
サーバ側のログを見ると
sshd : error: kex protocol error: type 30 seq 1 [preauth]
sshd : fatal: Fssh_ssh_dispatch_run_fatal: Connection from 192.168.X.X port 58395: Operation timed out [preauth]

ここからは、ゆっくり休み休みやってゆきます。



 

2015年5月24日日曜日

JT65 ....

先週は1週間上海出張だったので、昨日帰宅後久しぶりにバンドを聞いてみたけど、あまり面白そうでなかったのでWSJT-Xで14Mhzで遊ぶことに、、、。 しかし、呼べど叫べど?全く応答なし!! 「Check clock」と言って来た局があったので、見てみると、、、、。「Windows8.1とFlex6500で3分位ずれている!」  
Windows8.1はずっと点けっぱなしだったので、その間にこれだけずれている様。 Flex6500はGPSで同期しているので時間は正確。 Windows8.1を再起動して、タイマーの同期をさせて調べると、今度は問題なし。 早速、呼んでみると今度は1発でCO2VEとQSO。 ほぼ20W程度だったので、効率が良いですね。 N0JEというのが出ていたのですが、QRZ.comでみるとNDだ! 呼ぼうと思ったが間に合わなかった、、、。 NEとVTがDigitalで欲しいのですが、、、。 NDもLotwでCFM出来ないので、これもあった方が良いのです。
JT65/9でのQSOのLotwCfmは実に早くて嬉しいです。それも殆ど100%が2-3日でLotwに上がっているようです。

Flex6500が折角GPSで同期しているので、時計出力もLan上にしてくれると助かるのですが、、、 取り敢えず標準時計に同期させたサーバをFreeBSDのサーバ上に作って、Windowsはこれと同期させるように実験してみることにします。
FreeBSDにntpdを立ち上げて、Windowsのシステムからこれを見にゆくようにするところまでは簡単に出来ましたが、Windowsがこれを定期的(10分間隔くらい)に見に行く設定方法が見つからなくて、、、、。 Windowsは嫌だねー、、、。 
>>> http://pc-karuma.net/windows8-synchronize-time-often/ にありました。regedit立ち上げてSpedial Poll Intervalを秒単位で設定とありました。 (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient) これが無いと、どこだかわからない、、、。

 

下はプードン側のレストランからのバンドの夜景。 緑色に見える屋根の建物が「和平飯店(ピースホテル)」 ここら辺(バンドと呼ばれている処)は元々フランス租界で、日本軍が上海に侵攻した時の写真に古い建物は全く同じ形で写っています(大昔の教科書で見ましたね)。 因みに、35年ほど前に上海に仕事で来た時には1週間このホテルに泊まっていました(他に無かった?)。 新館が1936年位の建造で旧館は1917年だったかな? 部屋に大きなクロゼットルームが付いており、その当時の旅行の様子を垣間見たような気がしました。  今はこのホテル、70歳過ぎの人たちがジャズ演奏していて戦前の雰囲気を醸し出しているようです(行ったことが無い)。 昔映画にありましたね。「上海バンスキング」 上海はアジアのジャズのメッカだったんですね。

2014年5月8日木曜日

Wmingがやっと動いた、、、。

特に問題がある分けない、と思って気軽にインストールしたXmingが動かずに2-3日??していたが、よく見たら .cshrc にsetenv DISPLAY 0:0が入ってた!! 
これを外して無事動くようになったので、昨晩から xterm をイッパイ立ち上げて、そこら中のlogをtail -f しているが、未だにsamba41がうまく動かない原因が掴めない、、、。 
要するにWindowsの言葉の定義と、Unixの言葉の定義は同じなのかな?自分でよく分かっていないような、、、、。 鬱陶しい話だ。



2014年5月6日火曜日

Samba 4.1 動かない!

何故一度は動いたのに動かなくなったのかよくわからないが、
session setup failed: NT_STATUS_UNSUCCESSFUL
で繋がらない。 このコメントは結果しか示していないので、「何処がおかしくて?」が分からない。 デバッグレベルを上げてログをとって見るが、一向に原因が分からず、対応が出来ず、お手上げ状態! 
Standalone(samba4 で何で?という批判もあるが、新しいものが好きなので)でもdcでも良いので、FreeBSD上で手とり足とり設定を説明してくれているようなHPは無いものだろうか? もし、ご存じの向きは宜しくお願いします。

暫くは 「あきまへんなー」


2014年4月14日月曜日

fsck とjournal file

金曜日にメモリを32Gに増設しようとしたが、何故かうまく行かずに、代わりにハードエラー(?)が出てFreeBSDのブート中に落ちて立ちあがらなくなってしまった。 原因を調べようと、scroll lockとかpauseとか色々試したが、どこで落ちているのかがわからず、やむなくHDDを一台買って来て新規システムとして立ち上げて、元々のHDDからデータを転送してこなそうとした。 しかし、VirtualBoxが元のHDDからコピーしてきたVMsが読めない! 万事休す。 どうしよう、、、と土曜、日曜悪戦苦闘したが名案は思い当たらず。  一台ではやはり不安なので、新規に一台PCを立てることにして2Uラックで注文。
仕事から帰ってきて、やはり悔しいので何処で落ちているのか調べようとスマホでスクリーンの写真をとってみたら、何とファイルをマウントするところで落ちている!! おいおい、fsckしている筈なのに、、、。 ということで、single userで立ち上げてファイルシステムのチェックをやり直すことにする。 fsck /dev/ada0p2として一々手動でチェックすることにする。 あれ、最初にJournal fileを利用するか?と出てくる。 そういえば、Journal fileを使って高速化をしているのであった。 そこで、昔ながらの生のファイルのチェックをしてみると、ありました。 不整合の部分を切り落として、立ち上げなおしたら、直った!! 
教訓:ファイルシステムがおかしい時は、Journal Fileを外してfsckを実施すること。

しかし、あー、この3日は何だったんだろう! ZFSのバックアップファイルを消してしまったので、この分が犠牲になってしまったが、所詮はバックアップファイルなので、もう一度入れなおせば良い。新しく別にファイルサーバを立てて、そちらにバックアップファイルを移すことにしよう、、、。

久しぶりに頭の体操をする羽目になったが、偶には老化防止に良いかもしれない。 久しぶりに頭の体操をする羽目になったが、偶には老化防止に良いかもしれない。


2014年1月7日火曜日

i7-3960+ASUS MB+GTX550+memory売却

筐体が小さく発熱が抑えられずに止む無く引退願ったPCのパーツをSofmapで売却した。 小遣い帳を見ると2012年3月に12万出費してるみたいだが、今回6万円で売却できた。 1年9か月で6万円の償却(60千円/21 = 2.9千円/月)なので、そんなに悪くはない。 i7-3690が思ったより高額で売却できたのに驚いた。
で、新規のi7-4771+16GB+GTX660は筐体のお蔭もあり、VirtualBoxでFlexとLogger32を立ち上げながら、FreeBSDのportsのコンパイルなどこなしても75度までは上がらない。 普通の状態では50~60度の範囲で収まっているし、何しろファンの音が静かで助かる。

で、色々弄っていたらiconvが9月に無くなっていたのに気が付かずに逐次port treeをupdateしていた為に、至る所でiconv.h, libiconv.so絡みのエラーが出てうまくアップデートできないものがあることに気が付いた。 
もうこうなるとUPDATINGに記載のある



  # pkg query %ro libiconv >ports_to_update
  # pkg delete -f libiconv
  # cat ports_to_update | xargs portmaster

  or:

  # pkg query %ro libiconv >ports_to_update
  # pkg delete -f libiconv
  # cat ports_to_update | xargs portupgrade -f

では対応できない。
止む無く、最新のport treeをダウンロードしてきて、後はportupgrade -af でインストールされているソフトすべて
(700程ある)の更新をする。 昨晩からで、今日1日は掛かるだろうなー、、、。 オプションの選択画面が出てくる奴があって
そこで入力待ちになっているので、残念ながらとっても時間がかかり、つきっきりでいなければなりません。 トホホ、、、。


2013年12月29日日曜日

FreeBSDのバージョンアップ

また、暇に任せてバージョンアップ。
例によって、うまく行かずに1日掛かりの薄氷を踏むような作業をしてしまった。 懲りない自分に呆れる。

current(11.0?)をソースコンパイルから入れるが、うまく行かない。Xorgが動かなかった(1.7.7から1.12?になっていて関連のライブラリからアップデートが必要で、凄く大掛かりになるので、諦める) 
10RC3のバイナリを取ってきて、いきなり上書き! あ、おバカさん!/etcのファイルが!! /boot/loader.confで引っかかり止まる(半ば良かったね、でも/etcの設定ファイルが一部無くなる)。 で、ソースを展開してソースのコンパイルで10RC3に移行。 これはうまく行くが、Creativeが認識されない! 
  :     :      :
 Dec 29 15:00:18 tyd3 kernel: hdacc1: at cad 1 o
n hdac1
Dec 29 15:00:18 tyd3 kernel: hdaa1:
at nid 1 on hdacc1
Dec 29 15:00:18 tyd3 kernel: hdac1: Unexpected unsolicited response from address
 0: 00000000
Dec 29 15:00:18 tyd3 kernel: hdac1: Command timeout on address 1
Dec 29 15:00:18 tyd3 kernel: hdac1: Unexpected unsolicited response from address
 0: 00000000
Dec 29 15:00:18 tyd3 kernel: hdac1: Command timeout on address 1
Dec 29 15:00:18 tyd3 kernel: hdac1: Unexpected unsolicited response from address
 0: 00000000
Dec 29 15:00:18 tyd3 kernel: hdac1: Command timeout on address 1
Dec 29 15:00:18 tyd3 kernel: pcm3: at
 nid 13,14,15,16,17 and 19 on hdaa1

   :     :     :
これって何が原因なんだろう?まったくCreativeの分のpcmが出て来ないときも有れば、一部出てくるときも有る。
ソースから9.2.0に戻そうとするがboot時に"mountはLを引数に取らないよ"という理由の分からないエラーで止まって立ち上がらないので、諦めて10.0RC3に戻る(ネットワークにつながるので、後の対応が楽)。

で、/etc以下のファイルを幾つか失い、bluetoothの設定のやり直し、、、。


先は長いなー


WSJT-x Super F/H

 WSJT-x使い始めてから随分経ちます(JT65しかなかった頃から)が、FT8のF/Hの使いがっ手の悪さ、MSHVの方が利用されている実態、F/HでFoxがマルチで返答すると信号が弱くなる、などからSuperF/Hが実装されましたね。  そこまでは、問題なく理解していたのですが...