ImageMagickがVer.6からVer.7に変わりコマンドも変更されていた

ImageMagickはマルチプラットフォームで使えるオープンソースの画像変換アプリで、非常に便利なので時々使用しています。Linuxではもちろん、Windows環境でも使用しています。

複数枚の画像を一括してPDFに変換する等、コマンド一発で処理してくれるので手がかからず便利なのです。

また、PDFを1ページずつ画像化することも出来るのは何気に便利だったりします。

今回、ImageMagickを使ってPNG形式の画像をPDF化しようとした時にエラーが出てどうしようもなくなったので、最新版のImageMagickにバージョンアップしたところ、CONVERTコマンドが使用出来なくなりました。正確に記すとCONVERTコマンドでNTFSの変換(これもCONVERTコマンドだった)が起動します。

コマンド名が変わった?

調べてみたらMAGICKというコマンドに変更になっていました。どうやらVer.7からmagickコマンドに変更になったとか。

更にオプションの-geometryも使えなくなってエラーが表示されます。調べたら-sizeコマンドに変わってしまった様です。ネットで検索してもImageMagick Ver.6の頃の情報ばかりで、この辺りのことは公式サイトを確認するしか有りません。英語で記述されていますがコマンドのサンプルを見ると概ね想像がつくので大丈夫でしょう。

ImageMagick: Command-line Processing

続きを読む

Windows 7のプリンターテストページのドライバ情報をテキストデータで欲しい

法人環境でネットワークプリンターへの印刷時にトラブル発生。

印刷データが消失するPCと、そういう不具合が起きないPCとに分かれてしまった。印刷したハズなのにプリンターから出てこないPCは複数台あり、決まったPCでこの不具合が起きていることまで突き止めている。

そこでプリンタードライバの差異で、不具合が出る or 出ないの違いがあるのではないか?と言う推測をした。手っ取り早くドライバ情報を比較したいが遠隔地のPCでかつ台数も多い事がネックである。

プリンターテストを行うと紙に印刷される事は分かっているが、紙に印刷したものは比較しづらい(DIFFとか使えない)のでチェックするのが面倒だ。50台以上を目でチェックとなると本当に嫌になる。

そこで、バッチ処理でプリンター情報を取り出せないかなと言う発想になったが、そういえばプリンタードライバ情報を出力するVBSがWindowsに標準でついていた様な覚えがある。vbsのファイル名は覚えてないが、確かにvbsだったと記憶している。

エクスプローラで検索してみるとそれらしいファイルが入っているフォルダが見つかった。C:\windows\System32\Printing_Admin_Scripts\ja-JP

  • prncnfg.vbs
  • prndrvr.vbs
  • prnjobs.vbs
  • prnmngr.vbs
  • prnport.vbs
  • prnqctl.vbs
  • pubprn.vbs

ファイル名から容易に”prndrvr.vbs”がプリンタドライバ情報を出力してくれるであろう事は推測出来る。コマンドプロンプトから

これでドライバ情報を全て出力出来るので、別名ファイルへリダイレクトすれば目的は達成出来た。後はAWKでチェックしたい部分を抜き出してDIFFで比較チェックすれば差異を見つけられる。

幸いWindows 7にはこのVBSファイルが標準で入っているので、バッチファイルで叩いてデスクトップ等に情報を保存させれば、メールで送って貰う事も可能だろう。

ちなみにこのコマンドで使えるオプションの詳細を見たければヘルプコマンドで

たったこれだけの事だが知っていると知らないとでは大違い。出来たハズという記憶だけでも残しておくといざという時に横着出来るので、やっぱり覚えておきたい。次に使うのはいつになるか分からないけれど。

Windows Updateを2年以上実行していないPCで不具合~「WSUS Offline Update」で対処

職場ではネットに接続せずに事務処理専用にしてPC(Windows 7)を使っている部署があります。アプリは業務アプリが時々バージョンアップしているので、CD-Rで更新モジュールを読み込みネットに接続しないままアプリの更新(バージョンアップ)をして使用しています。

しかし、なぜか最近になってこのオフラインで使用している業務アプリのPCが複数台、不可解なトラブルが多いと言うので、ウィルス対策ソフトをインストールして、ネットに接続してWindows Updateを行う事にしました。セキュリティパッチを適用してくれと指示されたからです。

しかし、トラブルに遭遇しました。Windows Updateにはバグがあるらしく、待てどもWindows Updateの確認が進んでいきません。一時間、二時間と時間を無駄に待たされたのですが進む気配がありません。

もちろんWindows Update Clientは最新にしました。Windows Update Clientにもバグがあるとかでメモリーオーバーフローを起こしたりして処理しきれないという不具合もあるらしいです。KB3138612

ほとほとマイクロソフトには呆れてしまいますが、オフラインで使用しているアプリでも、開発環境のライブラリ等が更新されていく事で不具合に繋がることが今回の様に起こることがある様です。たかだかOSの分際でアプリに影響を出すというのも勘弁して欲しいと思うのですが、マイクロソフトの製品は、複雑に依存関係を作っているのでやむを得ない状態なのも理解はしています。

今回、Windows Updateがとにかく進まない状態になってしまったので、ネットワーク接続しているPCでマイクロソフトパッチをダウンロードして適用する方法に頼ることにしました。下記が参考になります。

【レビュー】Windows/Officeのオフラインアップデートディスクを作成「WSUS Offline Update」 – 窓の杜

具体的にはアプリをダウンロードして、OSと32bitか64bitを選択し、Officeの言語を選択等、任意にダウンロードしたいパッチを選択して実行すると、ローカルにMSパッチをダウンロードして適用のための実行ファイルも生成してくれます。オプションによってISOファイルを生成する事も出来ますので、複数台に適用する場合はDVD-R等に焼いて展開する事も可能なので便利です。

今回、Windows Updateが待てども進まない状態、エラーで止まる状態から先に勧めない状態に陥ってしまいましたが、WSUSの仕組みをオフラインで実現するこのアプリのおかげで先に進めました。残り数個は通常のWindows Updateで処理して最新の状態にこぎ着けました。

その結果、不可解な遅さは解消され、キビキビと業務アプリが動作する様になりました。オフラインで使用するアプリでもアプリ自体がバージョンアップする仕様の場合は、実行環境の更新が必要になることもあるんだという事を再認識させてもらったケースでした。

また、このアプリ「WSUS Offline Update – Update Microsoft Windows and Office without an Internet connection」には、他のPCでも有効に活用出来る可能性があるのではないかと感じていますので(ネットが遅い環境でWindows Updateが遅くて困ってるとか)、こういう方法とツールが考えだされていることを覚えておこうと思います。

追記(2016/11/01)

Windows7のWindows Updateが全然進まない件の対処方法(現時点)
以下の順番で適用すると良いという情報があったので記しておきます。
Windows Update カタログからKB番号で検索し、IEでダウンロード出来ました。
Firefoxではダメでした。

KB976932 (windows7 SP1)※Windows 7無印の場合のみ必要
KB3020369 (Rollupパッケージの事前必須パッケージ)
KB3125574 (Rollupパッケージ第一弾)
KB3145739 (2016年4月アップデート)
KB3161664 (2016年6月アップデート)
KB3102433 (.Net Framework 4.6.1)

しかしいっこうに進まないので更にリサーチしたところ、ロールアップには更なる情報があった。

KB3172605 (Rollupパッケージ第三弾)

KB3172605を適用して再起動するとすんなりと進むようになった。
その後、見つかった更新は78個と比較的少ない。

しかし、本当に身にならないどうでも良いスキル(知識)ですな、Windows Update不具合対処方法なんて・・・

当サイト(WordPressによるブログ構造)をバックアップから復元

昨年の秋口に、このサイトを動かしているVPSサーバーがクラッシュしてシステムが復元出来なくなった関係で、ずっと放置していましたが、本日ようやくバックアップから復元しました。

バックアップはWordPressのプラグイン(BackWPup)で、Dropboxに取る仕組みにしていました。WordPressの記事や構造情報はMySQLに記録されているのでSQL形式で、画像ファイル等はファイルとしてごっそりアーカイブする仕組みです。結果的に元通り復元出来たので備えておいて良かったと思います。

VPSがまるごとぱぁになった事もあり環境を再構築する手間をかける余裕が無くて半年以上放置していましたが、今日、GW連休で時間が取れる様になったので思い切って作業にとりかかりました。まぁS-Factoryとしての活動は休止しているので急ぐ理由は全くありませんでしたが。

レンタルVPSサーバーに下記のアプリをセットアップ。

  1. Apache
  2. PHP
  3. MySQL
  4. WordPress復元

Apacheがバージョンアップで細かい部分に変更をかけていたせいで、しょうもない変更箇所に躓いて時間を食ってしまいましたが無事にサイトを復元出来ました。

手間はかかりましたが、元通りに復元出来たのはラッキーです。やはりバックアップはこまめにとっておかなくてはならないと思いました。(バックアップをとってなかったサイトは完全に消えました・・)

一応備忘録的に躓いた箇所を記しておくと

aliasとかrewriteとかのモジュールが標準では読み込まれない様になったらしく、バックアップから復元したWordPressがうまく動かなくて「ページが見つからない」状態になり無駄に悩まされました。結局トラブルというよりはApacheの仕様変更に振り回されただけな訳で、Apacheの仕様が変わったことを調べて対処です。具体的には「e2enmod」コマンドでモジュールをロードすれば正常に動作しました。

それと、以前はDebianは使いやすいと思っていたのですが、最近はCentOSの方が使いやすいんじゃないかと感じています。Debianは安定性重視で長く使い続けられるというのがメリットだと思っていましたが、結局半年以上触ってなかったら浦島太郎状態になるわけで、それなら情報が多いCentOSの方が良いというのが今の本音です。変更されると使えない情報(ノイズ)が多いので最新情報が多いことが何よりだと感じました。それといちいちsudoする必要がある操作にはやっぱり慣れずレッドハット育ちとしては非常に煩わしいです。標準のsudoではApacheのログにもアクセス出来ませんし。

将来的にはやっぱり利用者が多いLinuxディストリビューションにすべきかなと感じています。私としてはVinelinuxとかも変更が少なくて気に入っているんですけど利用者が少ないのがね。とどのつまりは妙な変更をするのはパスです。OSもアプリも落ち着いて長く使い続けられるソフトウェアが一番良いと私はそこに価値観を置いています。

Excelで範囲外の値の個数を計算~CountifでOR集計出来た

Excelで計測値の集計シートを作る手伝い。

  1. シートのセルに計測した値を次々入力して行くと、基準値の範囲外のセルに色がつく様にして欲しい。
  2. 基準値の範囲外である個数を集計して欲しい。

この二つの要件に応じるには、二つのテクニックを使えば良いという事はすぐに思いついた。

1については、条件付き書式で容易に実現出来る。条件はセル範囲に対しても行えるし、複数のセル範囲にも行えるので活用すると便利だと思う。あくまでも見た目の操作になると思うので色を変えるとかフォントを変えるとか、入力値が基準内にあるのかどうかのチェックにはもってこいだった。ちなみに空白セルは0として扱われるらしく、ある値以上、ある値以下で条件づけると以下にマッチしてしまうので、ゼロにマッチした場合には見た目変化しない様にする条件を定義する必要があり、以上、以下、ゼロの三つを定義した。

課題は、値がある値以上、ある値以下をチェックしてその個数をカウントする方だ。どうやって実現しようかなと思って適当に関数名をCountと入力すると「COUNTIF」という関数がサジェストされてきた。加えて「COUNTIFS」という複数条件を定義出来るCOUNTIFも有る事を知ったのでこれは行けそうだなと思った次第。

続きを読む