してログ

Lenovo IdeaPad S130
Lenovo IdeaPad S130

さっきまで繋がっていたはずなのに、DNS のエラーが出てネットに繋がらなくなってしまいました。最初、Google 検索とかはできていたので、一時的なネットワーク障害だと思っていたのですが、1日経っても改善しません。調べたところ IPv6 には繋がっているようなのですが(Google は IPv6 で使えていたのでしょう)、ほとんどのページは IPv4 なので繋がりません。

他のノート PC と見比べると、IPv4 のアドレスが取れていないっぽいんですよね。本来なら DHCP から設定されるはずなのに、直前に繋がっていたネットワークで割り当てられていた IP がそのまま表示されている、といった状況です。何が悪いのか色々やってみましたが、すべて無駄でした。

  • 接続しなおし、機内モードオンオフ、iPhone再起動、PC再起動
  • IPv6 の無効化
  • WLAN ドライバの更新

状況からして PC 側がおかしいと思われますので、アダプタ(Realtek 8821CE Wireless Lan 802.11ac PCI-E NIC)が壊れた可能性があります。解せないのは、他の Wi-Fi アクセスポイントには何の問題も無く IPv4 で接続でき DCHP から接続情報を貰えている点ですよね。何故か iPhoneXのテザリングをしたときのみ、IPv4 の接続情報が設定されず「インターネット接続なし」になります。

追記

余っていた TP-Link の無線 LAN があったので、これを使って問題が無いことを確認しました。やはり、Realtek の物理故障かドライバ不具合もしくは相性(それか直前に Windows10 アップデートをしたのでそれが関係しているかも知れない)だと思います。とりあえず、内臓の Realtek は無効にしておきます。それにしても Realtek にはいい思い出がないなあ。

TP-Link の無線 LAN 子機(Archer T2U Nano)は、小さくて予備として持っておいて助かりました。ただ、アクセスランプの緑 LED が点滅するのがマイナスポイント。あと、USB ポートが潰れるのが痛いです。もっと信頼性のあるデバイスを積んで貰いたいですね。あまり意識はしていませんでしたが、今度何か購入する際は Realtek を避けようと思いました。

ノートパソコンで Ubuntu のデュアルブートを試してみて、途中で面倒臭くなって止めたのですが、その時できた残骸を消去する方法です。1年に1回は Linux ノート作ろうと思うんだけど使い続けられた試しが無いのはお約束です。

ブートメニューの削除

コマンドプロンプトを管理者権限で開き、bcdedit コマンドで Ubuntu のエントリを探して、それを削除します。

bcdedit /enum firmware

表示の中から下記のような Ubuntu の文字を探します。

ファームウェア アプリケーション (101fffff
--------------------------------
identifier              {6ab12d87-1531-11ea-9cbf-806e6f6e6963}
device                  partition=\Device\HarddiskVolume1
path                    \EFI\ubuntu\shimx64.efi
description             ubuntu

見つかった identifier を指定して削除します。

bcdedit /delete {6ab12d87-1531-11ea-9cbf-806e6f6e6963}

EFI パーテーションから GRUB を削除

これだけだと、GRUB の残骸が消えていませんので、EFI パーテーションから物理的に消去します。こちらも管理者権限でコマンドプロンプトを開き、diskpart に入ります。

diskpart

具体的な手順はメモしていませんが、EFI パーテーションを見つけてドライブレターを割り当て、diskpart を抜けてディレクトリ削除という流れです。一応、記憶で箇条書きにしておきます。

  • list disk
  • select disk N
  • list vol
  • select vol N
  • assign letter=X
  • exit
  • x:
  • cd efi
  • rmdir ubuntu

CentOS の PHP に GnuPG 拡張モジュールをインストールする方法をご紹介します。

必要なパッケージの確認

以下のパッケージが必要になります。作業した環境で入っていなかったものは、php-devel と gcc-c++ でした。必要なものは、yum install でインストールしてください。

  • gcc-c++
  • php-pear
  • gnupg
  • libgpg-error
  • gpgme
  • gpgme-devel
  • php-devel

GnuPG のインストール

PECL 拡張モジュールになっているので、下記のコマンドにてインストールします。必要パッケージが揃っていれば、ダウンロードとコンパイルが自動的に行われます。

pecl install gnupg

php.ini の設定

php.ini を編集して extension=gnupg.so を追加します。CentOS の場合、/etc/php.d の下に gnupg.ini を作成します。

/etc/php.d/gnupg.ini
extension=gnupg.so

インストールの確認

拡張モジュールが有効になっているか確認します。

php -m | grep gnupg

また、必要に応じて Apache などを再起動します。

systemctl restart httpd
NASへのファイル転送が重い・止まる
NASへのファイル転送が重い・止まる

アップデート後、エクスプローラやファイル転送で問題が発生しています。同様の問題は最近の月例更新で発生していたため、7月頃からアップデートの度にロールバックして運用していました。あっちが良くなればこっちがダメ、本当にもういい加減にして欲しい。

  • ネットワークドライブの反応が激重になる
  • ディレクトリの表示、ファイルのリネーム、その他エクスプローラの動作が重い
  • ファイル転送が途中でしばらく止まる、終了直前99%で止まる(スクショの状態)
記念スクショ
記念スクショ

前にも見たことある気がするけど、久しぶりに起動した環境で表示されたのでスクショしました。後で思いましたが、標準の壁紙を表示して写せばよかったですね。XP のときから思うんだが、サポート終了した OS はフリーライセンスにしてくれんかなあ。

ハンドルカバー初体験

愛車のハンドル表面が剥げてきたので、ハンドルカバーという商品を初めて購入してみました。ドレスアップアイテムという位置づけなので、ふだん車にお金をかけていない自分にとっては疎いカテゴリーになります。たくさん種類が出ているので正直どれがいいのか分かりませんでしたが、赤黒のツートンのものにしてみました。

取り付け

簡単に取り付けられると思っていたら、これがとんでもなく固くて大変でした。考えてみれば、ズレたりしたら責任問題にもなりそうなパーツなだけに、かなり固く締め付けるような作りになっているのでしょう。正直、サイズを間違えたか初期不良なのかと思うくらい固いです。

商品が壊れることを心配するくらい思い切りひっぱって、ようやく装着できたときは指の感覚が無くなるくらいヒーヒー言ってました。装着中に何度か手が滑って、クラクションを鳴らしてしまったのはおそらく「あるある」なのでしょう、場所を選ぶか十分気を付けましょう。あと、もう二度と外したくなくなると思うので、センターを出す必要のあるハンドルカバーの場合は慎重に位置合わせしましょう。

まとめ

今回ははじめてハンドルカバーを購入してみました。むかしスポーティ感を出すのに、ハンドルのセンター位置に白いビニールテープを巻く、というドレスアップをしていたのを思い出しました。このハンドルカバーも見違えるほど車内の雰囲気が良くなりますが、あのテープひとつで驚くほど効果があったのは内緒です。

購入は近所の量販店でもいいですが品揃えが少なかったです。ネットで検索すると、ハンドルカバーはかなり多くの種類が出ているみたいので、デザイン重視ならネット通販のほうがお勧めです。

評価点

  • 表面の禿げたハンドルの触り心地が良くなった
  • 車内の雰囲気がカッコよくなる(思ったより効果絶大)
  • 赤と黒のツートンはスポーティでおしゃれ(センターマークもレース感があって良い)

マイナス点

  • 装着のし難さ(安全性のため仕方ない面はあるが)
  • ハンドルが太くなる
  • 内側はカバーされないので、逆手ハンドルすると握り心地が悪い(矯正にはいい)
  • 片手でぐりぐり回すのがやり難い(矯正にはいい)
総合評価:★★★★☆

素直に買ってよかった。

PhD cat
PhD cat

PHP のマニュアルは DocBook という形式で整備されており、HTML や PDF などに変換して利用することができます。公式からダウンロードできる HTML 版が以前のようなシンプルなものでは無く、スタイルシートが適用された活用し難いものだったのでトライしてみたのですが、結論から言うと同じ構成のものが生成されるようです。そのため公式にない PDF を作りたい場合など、参考程度にどうぞ。

作業に必要なパッケージの確認

subversion と git が必要になりますので、入ってない場合は下記コマンドにてインストールしておきます。

yum install subversion
yum install git

XML ドキュメントを取得

マニュアルの日本語 XML ソースをリポジトリから取得します。

svn co https://svn.php.net/repository/phpdoc/modules/doc-ja doc-ja

続いてソース内の configure.php を実行しますが、-with-lang=ja を指定しないと英語版が出力されるのでご注意ください(処理時間も長いので)。

cd ~/php-docs/doc-ja
php doc-base/configure.php --with-lang=ja --enable-xml-details

関係ありませんが下記のような「AA」が出てきたのでご紹介します。

All good. Saving .manual.xml... done.
All you have to do now is run 'phd -d /root/php-docs/doc-ja/doc-base/.manual.xml'
If the script hangs here, you can abort with ^C.
         _ _..._ __
        \)`    (` /
         /      `\
        |  d  b   |
        =\  Y    =/--..-="````"-.
          '.=__.-'               `\
             o/                 /\ \
              |                 | \ \   / )
               \    .--""`\    <   \ '-' /
              //   |      ||    \   '---'
         jgs ((,,_/      ((,,___/

 (Run `nice php configure.php` next time!)

PhD(DocBook を PHP マニュアルに変換するツール)

以下のコマンドにて PhD をリポジトリから取得します。

cd ~/php-docs
git clone http://git.php.net/repository/phd.git

ここで生成処理が大量にメモリを消費するようなので、実行する前に PHP の使用メモリの上限を上げておきます。今回は memory_limit = 512M と設定してみました(php.ini を編集)。準備ができたら、xhtml 形式で randered-docs ディレクトリに生成します。

cd ~/php-docs/phd
php render.php --docbook ~/php-docs/doc-ja/doc-base/.manual.xml --package PHP --format xhtml --output ~/php-docs/rendered-docs

PDF 出力するには、--format pdf としますが、HaruDoc が必要になります。HaruDoc は今回はじめて聞いたのですが、使えそうな PDF 生成エンジンのようです。今回は試しませんが FPDF の代わりに今度使ってみようと思います。

マニュアル最新版のバグ

関数一覧ページがバグっていたので書いておきます。マルチバイト文字を ASCII として扱おうとしてバグっているように見えますが、ソース等確認していないのでわかりません。ちなみに、公式からダウンロードできる HTML もそうなっています。

indexes.functions.html
indexes.functions.html

移動に3日ぐらいかけて大量のファイルを移動させたら、残りゼロのまま1時間以上処理が終わりませんでした(何してるのか不明だが待てば終わる)。少ない量でもゼロになってから少し待たされると思いますが、ファイルの転送量に比例してこの後処理の時間は長くなるように思います。

それにしても「残り5秒」とかトラブってるのかそうで無いのか判断に困る、こういう表示が不安になるんですよマイクロソフトさん。あと転送速度も 1.37GB/s とかあり得ない表示になってるし、転送中も「残り2日以上」「残り17時間」などと行ったり来たり、当てにならない表示はするくせに「今どのディレクトリを作業しているのか」といった必要な情報は表示してくれないんですよね。

あと、処理開始前にファイル数カウントアップするの止めてもらえませんかね。数十万~百万ファイルもあると、それだけで1時間とか平気で待たされてしまいます、Windows 最悪です。

2台あるうち1台の ReadyNAS 104 で転送速度が 10MB/s と遅い問題に悩まされていましたが、原因が暗号化ボリュームにしていたためと分かりました。この機種は、ソフトウェアで暗号化するようですので、ハードウェアで行う機種に比べてかなり転送速度が落ちてしまうようです。しかし、暗号化によって速度低下するのは理解できますが、このように著しく低下するならもっと周知して欲しいと思います。

解消するためにボリュームの再構築で、全データをどこかに退避しなければなりませんが、8TB ぐらいあるので置き場所に困っています。所有している PC と外付けに分散すればなんとか退避できそうな算段はあるのですが、問題になっている転送速度が 10MB/s だと何日掛かるやら...。これから NAS を導入する際には、設定に十分な検討が必要だと思いました。

しかし、10MB/s 以下の転送速度では誰かが大きなファイルを転送するだけで、他の接続はほとんど出来なくなります。実質ファイルサーバーとしては利用できなくなる訳で、あっても使えない機能なら宣伝するのやめて欲しいと思います。ネット上のレビューなども暗号化できますとは紹介していても、転送速度の低下については触れられていない無責任な内容が多いです。

暗号化解除するのに今、全ファイル(8TB くらいある)を所有 PC や外付け HDD に分散して退避しているところです。この退避で常にファイル転送していますが、この状態だとファイルサーバーとしての利用は難しいです。退避だけで何日も掛かるのに、その間ファイルサーバーが使えないのは非常に辛いですが、やるしかないですね。