投稿

ラベル(ERROR)が付いた投稿を表示しています

メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバはVPS上に構築していた。 ・Ubuntu Server ・Postfix ・Dovecot ・spamAssassinと、BlackListの利用 Spam対策を行ってきたし、サーバ上でメールをトリガーにして各種プログラムを動かしたりしてきた。 メールサーバのメンテナンスは結構面倒くさくて、  ・Disk容量のチェック  ・不正アクセスのチェック  ・各種セキュリティパッチの適用 など、手間がかかる。 そこで、外部のサーバを利用することに…。 結構安くて使い勝手の良さそうなのが、「さくらのメールボックス」 3年契約で、3070円とな…。  メールアドレスは自分のだけなので、20GBまで利用可能!  (Gmailより大きいねぇ) ということで、早速契約。 アカウント設定を行って、既存のDNSを書き換える。WHOISも書き換えて完了。 SMTPとIMAPが利用できればOK。 ちょうど、GoogleがSPF設定していないと受信しないし、DKIMおよびDMARCに対応していないメールを弾くようになったので、対応しているのを確認。 さくらサーバ自体は、これまでお客さんのサーバとして何件も利用しているので、利用方法も難しくはない。  Webメールにも対応しているので、いざという場合にもありがたい。 ということで、各メールソフトの設定を変更。  PC(常時使用する3台)とタブレット、スマートフォンと台数は多いがそれ程手間はかからない。 問題は、旧サーバで送受信したメールの履歴だけれど、これはThunderbrdを使ってローカルに保存することで回避。  本当は、サーバtoサーバでMailboxに残そうとも考えたんだけど、古いメールはそれ程必要ないし、ローカルにバックアップしてあれば凌げるので、良しとする。 移行時にDNSの反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

VirtualBoxが異常

イメージ
USBデバイスをエニュメレーションできません… 数日前まで正常に動作していたのに、今日使用しようと起動すると、なぜか見慣れぬメッセージが! エニュメレーションは、USBの初期化で行っているのは知っているが、なぜこんなエラーが表示されるのか? SDカードを書き込むのにType-C接続のカードリーダーを接続したので、そのせいか? と、思って抜いた後再度起動してみるが、関係ないらしい。 このエラーが出てからは、仮想マシンもエラーで起動しない…。 念の為Extension-Packを再度入れ直すが、効果なし。 vboxconfigを実行しろというのを、見かけたので実施。 $ sudo /sbin/vboxconfig vboxdrv.sh: Stopping VirtualBox services. vboxdrv.sh: Starting VirtualBox services. vboxdrv.sh: Building VirtualBox kernel modules. vboxdrv.sh: failed: Cannot change group vboxusers for device /dev/vboxdrv. There were problems setting up VirtualBox.  To re-start the set-up process, run   /sbin/vboxconfig as root.  If your system is using EFI Secure Boot you may need to sign the kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load them. Please see your Linux system's documentation for more information. 何度、実行しようと同じ結果になる。 エラーのインフォメーションアイコンからHELP(ユーザーズマニュアル)を確認すると、以下のような記述が…。 1 2.7.5. USB Not Working If USB is not working on your Linux host, make sure that t

MySQLで接続エラー

 MySQLコマンドを実行すると... これまで、普通に使えていた以下のコマンドが何故かエラーになるようになった。 Updateの影響だとは思うのだが…。 ``` $ mysql -p Enter password:  ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) ``` 原因が分からない。 一応、ERRORメッセージで検索すると、同様なエラー報告はあるものの、どれを試しても動作しない。 で、仕方なくコマンドが通るマシンと、エラーを吐くマシンで比較しながら追ってみた。 まず、/tmp/mysql.sock が無いというので、作成する方法は所有権を変えようが、Permissionを変えようが、結局はだめ。 作成して実行すると、pidファイルが怪しい。 /var/lib/mysql/マシン名.pid を生成するはずなのに、エラーが起きるマシンでは生成されていないことを突き止めた。 サービス起動のスクリプトの異常なのか? と思いつつも、GUIツールから接続すると正常にDBに繋がり、問題なく操作できる。 SSHでtunnelすれば接続できるし…。 解決方法を見つけた! そこで、mysqlコマンドのオプションを色々試して見ると…。 hostを指定すると動作することが判明 どうも、localhostが正常に解決できていない感じ…。 そこで、以下のように実行してみる $ mysql --host=127.0.0.1 -p すると、正常に動作することが判明! 毎回記述するのは手間なので、aliasを設定する。 .bashrc もしくは .bash_aliasesに以下のように記述。 alias mysql='mysql --host=127.0.0.1' これで、OK これまで通り、mysql -pと叩けば正常に動作する。 そのうち、スクリプトが修正されるかもしれないので、本体をいじるより安全に運用できるので良し! 苦戦している人は、試してみると良きです。

PHP でなぜかjsonエラー

イメージ
外部サーバ上では動作  サーバに設置されているコードをテストしていて、おかしなエラーが出ることに気づいた。 Message: Call to undefined function json_encode() って、何で?って感じ…。 今回、新たに立てたVPSでは、Ubuntu20.04 + Apache2 + PHPで問題なく動作している。 その前のサーバも、同様な構成で動作している。 いつも使っているLocalマシン上で動作しない。 気持ち悪いし、テストできないので、原因追及をする。 このマシンだけは、2年前ほどに新規に調達したマシンで、当初よりUbuntu18.04で運用。 昨年20.04にdist upgradeしたマシン。 Cleanに入れてはいないので、その影響かも…。 phpinfo()を実行すると、jsonの項目がない。 そりゃ、動かないよね。 そこで、端末から念の為、入れてみる。 $ sudo apt install php7.4-json パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています                状態情報を読み取っています... 完了 php7.4-json はすでに最新バージョン (7.4.27-1+ubuntu20.04.1+deb.sury.org+1) です。 アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。 おや?入っているという。 $  sudo apt list | grep json php-json-schema/focal,focal,now 5.2.9-1 all [インストール済み、自動] php-json/focal,focal,now 2:8.0+91+ubuntu20.04.1+deb.sury.org+1 all [インストール済み] php-services-json/focal,focal,now 1.0.3-1build1 all [インストール済み] php5.6-json/focal 5.6.40-57+ubuntu20.04.1+deb.sury.org+1 amd64 php7.0-json/focal 7.0.33-57+ubuntu20.04.1+deb.sury.org+1 amd64 php7.1-json

Ryzen5 3600のニューマシン

イメージ
新しいマシンを調達 久々に、新規でマシンを用意した。 これまで使用していたCorei5のマシンは、メモリが最大で8GBしか積めないため、仮想マシンを起動するとメモリ不足で超遅くなったりして、少々不便をしていた。 そこで、コアの多いRyzen5で組むことにした。 スペックは以下の通り Ryzen5 3600 6コア12スレッド DDR4 32GBメモリ NVMe SSD(M.2 Read3200MBps/Write 2000MBps) GeForce GTX1650 4GB これに、ViewSonicの27インチDisplay(2560x1440)をセット。 これで、20万円以下なんだから、驚く…。 用途 一応、GeForceはつけてあるけど、これあcuda用(時間があれば…) 主に、開発用のマシンなので、CPUとメモリ、ディスクさえ早ければ文句なし。 昨日到着したが、開発作業に追われて設定が進まない…。 作業しながら、横でインストールと設定を行う。 しかし、Ryzenのせいか、思うように進まないところもあって苦戦中。 nvidiaのドライバがどうしても有効にならない。 まあ、これは急がないので、表示できれば良しとしよう。 仮想マシンが正常にインストールできない これは、問題なので、現在対策中。 仮想マシンインストール時ののエラー # apt install virtualbox パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています                 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます:   libgsoap-2.8.60 libqt5opengl5 libqt5printsupport5 libqt5x11extras5 libsdl1.2debian libvncserver1 virtualbox-dkms virtualbox-qt 提案パッケージ:   vde2 virtualbox-guest-additions-iso 以下のパッケージが新たにインストールされます:   libgsoap-2.

ソースコードを読んで解決

些細なミスでハマった ある案件で、FuelPHPを使って開発していた。 ローカルマシンのApacheとMySQLを使った標準のWebアプリ。 ただ、今回はじめてまともにFuelPHPを使ったので、若干なれるのに手間取った。 さて、良い感じに仕上がってきて、本番環境に準備してデプロイすることに。 お客さんがこれまで使っているというSAKURA Internetのレンタルサーバを追加で借りてもらい、設定することに。 SAKURAサーバを使ったことがある人は分かると思うんだけど、MySQLが別サーバになっている。 でもって、契約してあるサーバからしか接続が出来ない仕様。 まぁ、これも理解できる。 そこで、FuelPHPのconfigにあるdb.phpを新規に編集する。 config-----------db.php  +- development--db.php  +- production---db.php 共通の設定などは、config直下のdb.phpに書いておき、開発用、本番用と別々の設定で運用できる。 共通のdb.php <?php return array(  'default' => array(    'type' => 'mysqli',    'connection' => array(      'host' => 'localhost',      'port' => '3306',      'database' => 'dbname',      'persistent' => false,      'compress' => true,    ),    'identifier' => '`',    'table_prefix' => '',    'charset' => 'utf8',    'e

異なるマシンで403 forbiddenが発生する

API関連のプログラムを作成中に RESTfulなAPIを作成して、テストしているのだけれど、ノート上では通ったテストがデスクトップ上のマシンだと通らない事象が発生…。 なぜか、403 forbiddenが返ってくる。 まずは、ブラウザでPOST/GETのテスト。 問題なく動作する(これはこれで、なぜだ…) なので、動いているかと思い、PUT/DELETEなどのmethodもテストする。 ブラウザでは無理なので、 Postman を使っている。 ノートでは、正常にレスポンスが返ってくるのに、デスクトップだとエラー。 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html>     <head>         <title>403 Forbidden</title>     </head>     <body>         <h1>Forbidden</h1>         <p>You don't have permission to access /~yoshimura/xxxxx/api/yyyyy/12345 on this server.             <br />         </p>         <hr>         <address>Apache/2.4.29 (Ubuntu) Server at localhost Port 80</address>     </body> </html> なんで〜。 念の為、ログを見る。 ::1 - - [02/Feb/2019:12:17:44 +0900] "POST /~yoshimura/xxxxx/api/yyyyy/12345 HTTP/1.1" 200 198 "-" "PostmanRuntime/7.4.0" ::1 - - [02/Feb/2019:12:19:00 +0900] &

xmodmapのエラー回避

xmodmapがエラーを吐く 前回キーボードの購入ミスで、Keymapを変更することで対処したのだが、端末を開くたびに実行させるとエラーを吐くことが判明した。(→ 前回の記事 ) 通常キーの変更は、何度設定しても問題ないのだが、modifier keyの変更はだめらしい。 Alt_Rを外す処理のところで、エラーが発生する。 xmodmap:  .Xmodmap:1:  bad keysym in remove modifier list 'Alt_R', no corresponding keycodes xmodmap:  1 error encountered, aborting. 表示を無視する手も有るけれど、スマートじゃないので、ちゃんと処理しておこう。 xmodmap | grep "Alt_R" | grep "mod1" > /dev/null 2>&1 if [ $? == 0 ]; then xmodmap ~/.Xmodmap fi grepかけて、出力に含まれるかで判断しておく。 もちろん、出力結果は不要なので、/dev/nullにすてておく。 これで、mod1にAlt_Rが残っていたら、削除して、keymapを変更 残っていなかったら、何もせず終了。 これを、前回書いた、.bashrcの1行と置き換える。 Logout→Login、再起動後のlogin、最後に端末を複数開けたりしても問題ないのを確認して、ミッション終了。 ちょっとしたことでも、ちゃんと書いておくと気持ちよく過ごせるね。

Thunderbirdでパスワードの再入力

イメージ
モバイルマシンでの作業中  寒いので、ストーブをつけて、ホットカーペットの上で転がって作業中。 自分のデスクトップマシンにはリモート接続(TeamViewerやssh、Googleリモートデスクトップ)なりで、ちまちまっと 接続している。 で、メールの着信通知がスマートフォンに来たので、Thunderbirdを起動して確認しようとしたところ「パスワードの再入力・キャンセル・再試行」なんて画面がポップアップしてくる。 もちろん、正しいパスワードを入力し直しても、一向に進まない。 でもって、エラーは自分の管理しているドメインのメールサーバへの接続。 Thunderbirdのメッセージでは、情報が少なすぎて意味不明なので、サーバ側のログを確認する。 Feb 12 18:53:57 ホスト名 dovecot: imap-login: Maximum number of connections from user+IP exceeded (mail_max_userip_connections=10) : ...  と出力されている。 むむむ、いつも使用しているデスクトップはLinuxマシンとiMac。これにモバイルで接続したときにコネクション上限を超えてしまうらしい。 どうやらdovecotはユーザ名とipアドレスで管理していて、最大接続が10のようだ。 いつもは、外からテザリングでネットワーク接続することが多いし、自宅ではデスクトップでしかメールは送受信しないから、気づかなかった。 dovecot側の最大接続数を変更 /etc/dovecot/conf.d/20-imap.conf を確認すると   # Maximum number of IMAP connections allowed for a user from each IP address.   # NOTE: The username is compared case-sensitively.   # mail_max_userip_connections = 10 たしかに、デフォルトでは最大で10接続になっている。 少し余裕を持って20に設定する。(もちろん#を削除して、コメントではない状態に・・・) この状態で、サービ

UTF8の指定ではまった

MariaDB+PHPにて PHPでDB上のデータを大量に処理するプログラムを書いていて、おかしな現象に出くわした。 1万件+42万件+43万件のjoinで、必要なもののみ取り出して、updateをかけるという手作業ではやる気にならない処理なので、サクッと書いてぶん回すしかない…。 ローカルでmysqlモニタを使用してSQLを叩くと、問題なく結果が返ってくる。 でもって、サーバ上で実行すると、結果がEmpty…。 あれれ? 試しに、phpmyadmin上でSQLだけ叩いてみる。 ローカルと同じ結果になる。 何かがおかしい。  :  : $mysqli = new mysqli("localhost",$username,$password); if($mysqli->connect_error){   print('<p>データベースへの接続に失敗しました</p>'.$mysqli->connect_error);   exit(); } $mysqli->select_db($dbname); $mysqli->set_charset("utf-8"); $sql="SELECT bill.bill_id,bill_item.bill_item_id,bill_item_detail.bill_item_detail_id,              bill.billing_id,bill.bill_month,bill.bill_date,bill.deposit_receive_date   FROM `bill_item_detail`   join bill_item on bill_item_detail.bill_item_id=bill_item.bill_item_id   join bill on bill.bill_id=bill_item.bill_id   WHERE `bill_item_detail`.`name` LIKE '繰越残高' AND  :  :   order by bill.bill_date"; $result = $m

404エラーが多発?

イメージ
Google Search Consoleからメールが来た 今度は、なりすましではなく…。 本家からエラーが急に出ているよと報告のメールが届いた。 特に、外部へのリンクは多く張らないようにしているし、急に増えるというのが解せない。 何か、トラブルが起きたのか? ということで、エラーの内容を確認してみる。 Search Consoleで確認 とりあえず、どのリンクでエラーが出ているのかを見てみると、 2013_03_null_archives.html とか、2015_04_null_archives.html という日付のアーカイブ?なのか、null_archivesなので、アーカイブでないのか良くわからないリンクへのエラーが大量に発生。 図は、すでに該当のリンクを全て「修正済とする」と指定した直後。 2017/02/05に初めて1件のエラーが出ているが、これは上記に残っているアタックと思われるアドレス。 大量に発生しているのは3月に入ってからで、10日以降にドンと発生している。 これらのリンクとして考えられるのは、レイアウト情報にあるガジェットの「ブログアーカイブ」くらいしかない。 過去の記事を、年月指定で見に行くガジェットで、別に自作したものではない。 Google謹製なので、自前のツールでエラーが出ているとしか思えない。 多分、時間と共に収束するのかもしれないが、気持ちが悪い。 まず、修正済にして様子を見てみるしか、現時点では手がない。 海外でも、同様のメールが届いたが、何をすればよいか?という書き込みを見つけたが、公式の案内に書かれている事以外、特に解決策らしきものはなさそうだ。 これでも、同じように404エラーを吐くのであれば、robots.txtにエラーとなるURLをすべて書き込むしか解決方法はなさそう…。 面倒なので、ちゃんとクロールするようにしてくれるのが嬉しいのだが…。

fusermount: failed to unmount

LinuxでクラウドDriveを使う メインマシンはUbuntu16.04を使い、仮想マシンでWindows7を動かしている。 これで、ほぼ問題は起きないのだがクラウドを使用する時に、「ちぇっ」って思うことがある。 Dropboxは、Linux版の同期アプリ(Windows版・MacOS版と同じ)が出ているので使い勝手は全く同じ。 ところが、OneDriveは、Linux版がない。 Google Driveも同様。 (なぜGoogleが出していないのか???って感じだけど…) まあ、全部Dropboxで済ませれば、良いのだけれど、Dropboxは14GBしかなくて、80%以上利用してて空きが厳しい。  せっかくなら、GoogleDriveは120GBほど使えるし、OneDriveは1TBもあるので、うまく利用したい。 もちろん、どれもWEBからのアクセスには対応しているので、GUIベースというかブラウザから使えなくはない。 でも、コマンドラインで使いたいのですわ。 cp や mv がぁぁ… いちいちマウスで右クリックして…ってやってらんない。 きっと、簡単な方法があるはず… FUSEを使う まあ、以前から使っているんですが、探せばいろいろと見つかるもので、同様な考えを持つ人は居るわけです。  先人の知恵を拝借し、成果物を利用させてもらう。 google-drive-ocamlfuse GitHubにありました。 他にもいろいろと見つけたのだけれど、これが良さそう。 PPAがあるので、Ubuntuの場合、簡単ですな。 さて、インストールは、説明通り実行するだけ。 sudo add-apt-repository ppa:alessandro-strada/ppa sudo apt-get update sudo apt-get install google-drive-ocamlfuse これで完了。 FUSEはユーザ権限で、ファイルシステムを利用する方法なので、管理者権限が不要というメリットがある。 $ google-drive-ocamlfuse 以上で、認証に成功すれば、もうOK。 $ mkdir ~/gdrive $ google-dri

Windows 10 Anniversary Updateに苦戦 on Virtualbox

イメージ
VirtualBox上のWindows10 を Updateする 少し前に、iMacのディスクが逝って、再インストールした。 でも、仮想マシンのイメージは容量が大きいので、バックアップ対象外に設定していたため、すべての仮想マシンのイメージが飛んでしまった。  ほぼ、Linux系は再インストールすればOKなんだけど、使用していたWindowsのイメージが無くなって精神的ダメージが…。  WindowsXPの物理マシン→イメージに落とす→他のマシンに移動→さらに別のマシンに移動→Windows7にUpgrade→Windows10にUpgrade→死亡  と、随分長い期間使用してきただけに、ちょっと悲しい感じ。 すでに、Windowsのプロダクトキーも、Officeのプロダクトキーも一切不明なので、新規に全て用意する必要がある…。 ということで、余っていたWindows7のライセンスと、以前使用していたOffice2013が1台しかライセンスを使用していないので、これで新たに準備した。 完了したらすぐに「Anniversary Update」がでたので適用すること・・・ Windows Updateで検索かけても出てこない。  調べてみると、全員に表示されるわけではなく、順次適当に広まってくるらしい。まあ、一時期にサーバが混まないような配慮だろうが…。  そこで、手動で強制的に適用してしまうことに。 Windows Updateの詳細情報から、Webページに飛ぶのだけれど、そこから入手可能。 ここから、入手してインストールする。 すると、直接インストールかと思ったら、インストーラがインストールされると…。 「Windows10 アップグレードアシスタント」がデスクトップに表示されるので、実行する。 もちろん、「今すぐ更新」の一択です。 とまあ、こんなしょぼい画面がしばらく続きます。 このまま放置しておくと、何故か仮想マシンが停止している。 再起動は、ちゃんと再起動するはずなのに…。 おかしい。 仮想マシンを立ち上げると、 あれれ…。 しばらく待つと、これまでと同じバージョンに戻っている。 何か問題があるっぽい。 メモリを増やしたり、Hyper-VをOffにしたり、CPU

Sublime Text 3 のERROR回避

イメージ
無視してたけど… 少し前から起動後に表示されるようになっていた。 前回、HDDを初期化して、バックアップから書き戻してからなのか、その前から出ていたのか記憶が定かでない…。(ボケたか?)  ただ、気になった時に、スクリーンショットを撮っているので、撮影日時からすると初期化の後となる。 プラグインの認証周りでERRORを吐いている模様。 一応、「OK」を押すと、通常通りに起動するし、操作上何も問題が起きる様子はない。 まあ、情報ぐらいあるだろうとググってみると、El Capitanで発生する既知の問題らしい。 「 Error executing: /usr/bin/security dump-trust-settings #1002 」 「 Error executing: /usr/bin/security dump-trust-settings #1017 」 これによると、仕事が忙しくて、そっちに注力してたょとのことなので、その内に直るんだと思うけど…。  もう少し解決方法はないかと、探してみると、無理やり解決している人がいたので参考にしてみた。 Qiitaに「 OS X El CapitanにてSublime Text へPackage Controlを導入するとエラーになる件 」という記事があった。  キーチェーンにある、証明書を削除すれば良いらしい。 削除するのは、ERRORメッセージの「Cert 0」のみ。 実際に試してみる。 起動したら、分類が「パスワード」になっていて、検索しても出てこない…と思ったんだけど、「すべての項目」で探したらサクッと出てきましたわ。  しつこくいいか?と聞かれるのを、削除一択で完了。 その後、起動時のError Messageは出なくなったので、良さそう。 ただ、AvastのCAを消すという作業が、少し気にはなるんだけどね…。

Windows10へのアップグレードでの失敗

イメージ
無料アップグレードもあとわずか 2016年7月29日迄(以降?)は、有料となるWindows10も、今なら無料。 個人の場合は、入手する人も多いことでしょう。  ちなみに、Windows7→Windows10→Windows7と一旦アップグレードし、元に戻せば、Microsoft側にマシンとライセンスが紐付いて登録されます。  そうすると、7/29を過ぎても、Windows10にいつでも上げることが可能です。  いまはWindows10にしたくないけど…。という場合でも一度作業しておくのがおすすめです。 と、こんな事が書きたいわけではなくて、今回ハマってしまった事を。 台数が多いのでインストールメディアを用意 法人のお客さんですが、結構台数が多く、でもWindows10にして欲しいと。 1台ずつダウンロードなんて面倒ですので、あらかじめインストール用のメディアを用意します。 Windows10のダウンロードページ へ行きますが、「今すぐアップグレード」は選びません。 その下の方にある「ツールを今すぐダウンロード」からインストーラをダウンロードします。 これで、作成するメディアを選択するんだけど、DVDかUSBの選択となる。 今思えば、DVDにしておくのだった。 わざわざ、USBを何本も購入して、準備したのが仇となりました。 1本作成し、他のUSBにせっせとコピー。 こんなにUSBメモリ刺したことなかったので、記念にスクリーンショットを撮っておいたw 問題はこの後! 何が問題になったかというと、何台もアップグレードし、動作確認している段階で、動作がおかしい物、安定しないものなど、不調なマシンが存在する。  仕事で使用するには、問題があると判断したマシンを、元のWindows7に戻そうと、回復を試みる。 ところが…。回復ができない。 よく調べてみると・・・ 一応書いてはあった。 http://windows.microsoft.com/ja-jp/windows-10/windows-10-recovery-options 最後に1行「USBの場合は、そのUSBメモリが必要」

iMovieのライブラリが消える

イメージ
iMovieは簡単で良いのだけれど… 本日のトラブル対応は、iMacのiMovieです。 昨夜、Helpの連絡があり、状況を聞くと早めの対応が良さそうということで、急遽昼から行ってきました。 何かというと、iMovieで編集作業をしていたら、保存できない旨のメッセージが出た後、ライブラリからメディアもプロジェクトも消えてしまったとのこと…。 確かに、メディアの状況は寂しいことになっている…。 そして、プロジェクトまで、おかしなことに…。 一体何があったのか 現場へ急行 高速使って1時間半の距離をぶっ飛ばし、15時から作業開始。 まずは、Diskの確認。 本体HDD+TimeMachine用1台+データ保存用×2台の計4台体制。 (これ、主婦の作業環境なのですよ…。まあ、アドバイスはしてますがw) とりあえずFirstAidで修復を試みる。 ところが、Data用ディスクの1本が、おかしい。 パーティションテーブルは見えているようだけど、Finderで中を見ると何も表示されない。 ディスクが逝ったか?と思いつつも、念のため各種バックアップを作成。 TimeMachineでチェックするも、なんだか動作がおかしい。 iMovieを起動して見るが…。 こんなメッセージ見たこと無いし…。 「ライブラリはすでに"(null)"の"(null)"で使用されています。」 って意味が分かりません。 ディスクユーティリティで本体ディスクを確認すると、大量にVideoが格納されているような表示だし、消えているわけでは無さそう。 解決! 原因は、全然違うところにあった。 ディスクが増えてきてUSBスロットが不足してきたので、USBハブを利用して、接続をまとめた。 使用している画像や動画が、外付けディスクに保存されている。 使用中に外付けディスクの1台の認識がおかしくなったようで、ディスクは認識しているものの中身が見えない状況に。 そのため、プロジェクト等で使用しているデータが拾えず、保存できず…。 上記のエラーになっている模様

LibreOffice の Base で エラー

イメージ
LibreOffice(Base)+LibreOffice BASIC 少々面倒な案件かも いつもはMySQL+PHPとか多いんだけど、今回はネットワークに繋がらないマシンでも利用したい。しかも古めのPC。 でもって、同じ仕組みを合計で3台(3箇所)で使いたいが、データはすべて異なる。 複数のユーザが利用することはない。 う〜む、システム組むほどじゃないと思うんだけどなぁ。 XP上ではMS-Access97ベースで作成されたものを使用していたけれど、OSが変わると使えなくなるので、Helpとなったわけです。 しかも、現在はLibreOfficeがメインのOffice環境になっているため、新しいAccessとか新規に導入しできない。 前回テストしたら、この仕組みはAccess2013では全く動かない。 となると、Accessを導入しても、プログラムし直しか・・・。 そこで、LibreOfficeのBaseというDatabaseを利用して、構築することに。 一応ヒアリングして、不要と思われる機能はざっくり削除。 最低限の目的を達成できるレベルにスリム化する。 はじめはLAMPで構成しようと、作り始めんた(まぁ40%程度の作業完了だった)んだけど、帳票がはっきり決まっていないのと、ネットワークに繋ぎたくないという要望もあり、再度LibreOfficeで書き直すことにした。  100%作り込まずに、もともとのUIも使うという前提にすれば、自分たちで修正や編集ができるから、より便利なのでは?との思いもある。 テーブル定義して、Queryとフォームの作成。 これを、BASICで繋いでいく感じかな。 ところが、このLibreOffice BASICが慣れていないこともあり、よく分からない。 オブジェクト名とメソッド名を探すのに一苦労。 それでも、なんとか動作させて、最低限マスタ関連のデータの登録・修正が可能になってきた。 まぁこんな感じの画面ですわ…。 1:n 結合のデータもサブフォームを使えば、それほど面倒でもなくていい感じ。 リストボックスにデータを引っ張るのに、SQLを直接書けるのがありがたい。 突如エラーが発生 ところが何度もテストし

javaの更新が失敗する

イメージ
YosemiteでUpdateのポップアップがでる 朝画面を見ると、出ていた。 (夜中もずっと電源が入れっぱなしなので、いつ出たのかはわからないけれど…) そこで、「今すぐ更新」を選択するも、エラーを吐いてインストールできない。 再度、環境設定→JAVAと進んで、上記のJAVAコントロール・パネルを開いて実行してみる。(キャプチャするために再実行) ダウンロードは順調に進行。 その後、上記のエラーが出る。 念のため、chromeなどネットをつかむと思われるアプリをすべて終了して再実行するが、上手くいかない。 もう、上がっているのはavast!とiterm2くらいだ。 プロセスを確認してみても、javaは動いていないし、怪しいアプリも残っていない。 このまま放置しておいても、javaはほとんど使わないので問題はないのだけれど、webを見ている時が気持ち悪いままなので、Updateしておきたい。 本家からダウンロードする 仕方なく、本家の https://java.com/ja/download/ からダウンロードすることにした。 本家の方がサイズが小さい(56.7MB)ってどういうこと?と思いつつ、落として実行する。 まあ、普通のパッケージなので、インストールしてみる。 問題なく終了。 ここでブラウザが起動して、バージョンをチェックしてくれる。 (なんでデフォルトのブラウザchromeを起動せずに、safariを起動するかな…) 一応、正常にインストールされている模様。 念のため、JAVAコントロール・パネルから確認するが、同じバージョンが表示される。 結局、インストーラの問題なのか、環境の問題なのか不明だけれども、本家から落として入れるのが一番手っ取り早いことが判明。 自身のUpdaterは、使えないですな…。 でも、きっとこの事を忘れて、同じこと繰り返すかもしれないけどねwww

MySQL WorkbenchでERRORを回避

イメージ
MySQLを使うのにあれば便利ですよね 以前は、phpmyadminを使ったりしていました。 ですが、DBをExportする時に、大きなサイズのテーブルは途中で切れてしまったりして、完全にバックアップが取れないという不具合が一向に直らないので、結局sshでmysqldumpを叩くことが多かった。 つい先日、同業の人が、mysqldumpが使用後、メモリ(キャッシュ?)を開放しないので、サーバのメモリが不足して喘ぐと愚痴っていました。  本当かどうかは別として、自分の環境では、mysqldumpで特に困った現象は起きていないのですが…。 どうせ、sshで作業するなら、MySQL Workbenchならssh越しに利用できたはず。 という記憶を手繰り・・・。設定してみることに。 id_rsaを指定して、ポートやらごにょごにょっと作業したら、サクッと繋がった。 Exportしてみると動作しない Error Unhandled exception: 'builtin_function_or_method' object has no attribute '__getitem__' this error occurs even if you try to backup a single table なんてダイアログが表示されて、Exportできないではないか・・・。残念。 と終わっていては、意味がないので、少し調べることに。 試してみると、動作しなくもない。 Optionsのところで、[Export to Self-Contained File]を選択すれば、落とすことはできた。ただ、すべてのデータを1ファイルにしてくれちゃうのは、Restoreするのに都合が悪い。 特定のテーブルだけ戻したりしたいわけで・・・。 [Export to Dump Project Folder]を選択すると、他のどの設定を変えても、Errorを吐いて動作しない。 Logを調べてみると、 01:08:00 [INF][wb_admin_control.py:server_polling_thread:497]: Monitoring thread runnin

LibreOfficeのUpdateでエラー発生

Ubuntu上でのLibreOffice 現在、顧客にも使ってもらっていることも有り、Linuxマシン上ではLibreOfficeを、MacでもLibreOfficeをメインで使うようにしている。 まぁ、たまにはWordやExcelも使うのだけれど、慣れればそれほど問題もない。 しかも、ちょくちょくUpdateが出て、少しずつ不具合が改善されたり機能UPしてくれるので、楽しみでもある。 今は、PPAからbackport版を入れているので、最新のバージョンで動かしている。 今回久々に仕事が一段落して、Updateをかけるタイミングが出来たので実行するとエラーが…。 依存関係が解消できないよ…って言われても、別段おかしな処理もしていないし、いつも使っているマシンなので、使えなくなるもの困る。 言われるように apt-get -f install を実行すると、解決するどころじゃない。 root@hostname:~# apt-get -f install パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています                 状態情報を読み取っています... 完了 依存関係を解決しています ... 完了 以下のパッケージが自動でインストールされましたが、もう必要とされていません:   libvisio-0.0-0 libmspub-0.0-0 libcdr-0.0-0 liborcus-0.6-0 これらを削除するには 'apt-get autoremove' を利用してください。 以下の特別パッケージがインストールされます:   libreoffice-base 提案パッケージ:   libreoffice-gcj libreoffice-report-builder 以下のパッケージはアップグレードされます:   libreoffice-base アップグレード: 1 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。 3 個のパッケージが完全にインストールまたは削除されていません。 2,138 kB 中 0 B のアーカイブを取得する必要があります。 この操作後に追加で 2

Diskのエラー RedHat 9

あまりに苦戦したので、忘れる前に記録しておこうと思う。 古き良き時代のRedHat 古いサーバが、調子が悪いということだったので、まずは先週確認に。 時々反応がなくなるので、強制的にリセットしているとのこと。 早速、調査。 RedHat 9 shrikeであることが判明。 旧の担当者は居ないので、マシンから読み取るしかなさそう。 Webシステムが起動しているということなので、調べてみるが、apacheは起動していない。 Tomcatは起動している。 ということは、Tomcatがwebサービスを提供しているっぽい。 まあ、java中心のシステムなら、それもありうる。 今回は事前の作業 サーバをリプレイスすることで検討しているのだけれど…。 新しいマシンに、現在動いているシステムのソフトを載せても、どうやら動きそうにない。 OSのバージョンも、Tomcatのバージョンも異なるし…。DBもバージョンが違いすぎる。 乗っているシステムは、オリジナルだし…。完全なソースが残っていないという。 そこで、p2vで仮想化する方向で…。 マシン全体を仮想化して、新ハードウェア上で動かしてしまおうという計画にした。 そのため一旦ディスクの中身をコピーして持ち帰ろうと、今週作業に入った。 logをチェックしてみると、Errorが頻発している。dmesgではエラーしか見られない。 先週よりも、増えているような気がする。 コンソールで触っていても、エラーを吐いてくる。 内容は、Diskがおかしいらしい。 inodeが異常…。 よく止まらずに動いていたもんだ。 起動時の様子が見たいので、rebootしてみる。 BIOSの後、AdaptecのRAIDカードを認識している。 PXEブートしようとして、できていない。 grubを使って起動している。 ふむふむ、懐かしい文字があちこちに…。 しかしsyslogを見ると、何だかおかしい。 ハードウェアのRAIDが使われていないっぽい。 Disk構成は、80GB×2のみ・・・。 あれ?BootDiskは? 再度起動を確認すると、No Logical Disk〜とか出てるし。