カテゴリー: 技術系

  • Windows10で、AptPackageIndexUpdateが急に動作した

    Windows 10で、急にデスクトップにAptPackageIndexUpdateのコンソールが立ち上がってきて、いろいろとダウンロードを始めた。

    AptPackageIndexUpdateは、Bash on Windowsの機能の1つで、自動的に「apt-get update」を行っている。
    Windowsのタスクに登録されていて、勝手に動作するようだ。

    タスクの場所

     \Microsoft\Windows\Windows Subsystem for Linux\AptPackageIndexUpdate
    

    実際に実行されているコマンド

     /c start "AptPackageIndexUpdate" /min %windir%\System32\LxRun.exe /update
    

    参考


    https://github.com/Microsoft/BashOnWindows/issues/841

  • メモ:静的サイトジェネレータがまとめられたサイト

    http://www.staticgen.com/

    使用言語やgithubのスターの数なども載っているので、選ぶときに参考になる情報がある。
    英語なので、ここで好み合いそうなものにあたりをつけて、個別に検索するのがよさそうだ。

  • 再帰的にディレクトリのアクセス権だけを変更する

    再帰的に、ディレクトリのパーミッションを変更するには、find とxargsを組み合わせて実行する。
    (chmodの「-R」ではディレクトリとファイルの区別なく再帰的に権限変更してしまう)

    例)カレントディレクトリ(カレントフォルダ)以下のディレクトリのアクセス権を775にする

     find ./ -type d -print | xargs chmod 775
    

    findコマンドのtypeオプションでディレクトリ(d)のみを探し、それをxargsコマンドを使って、chmodに渡す。

    例)カレントディレクトリ以下のファイルのアクセス権を664にする

     find ./ -type f -print | xargs chmod 664
    

    findで探せるファイルであれば、この方法でいっぺんにアクセス権の変更ができる。

    おまけ。

    find のオプションに「-exec」があり、このオプションを使用しても同じことができる。
    この「-exec」はmanによると、やっていることはxargsを呼び出しているだけとのこと。

  • Windows Server 2012 の重複排除機能をOFFにしたときの対応

    Windows Server 2012 の重複排除機能を使っている状態から、OFFにしたときの問題と対応について。

    ◆問題

    Windows Server 2012(および2012 R2)にて、重複排除機能を使用した場合、
    開始時には自動的に重複排除の機能が動作するが、機能をOFFにしたときには
    重複排除されたままの状態である。
    放置しておいても、解除されるようにみえず、手動でコマンドを実行する対処が必要。

    ◆対応方法

    1. 重複排除機能を使用していたサーバにログオンする。
    2. Powershellを管理者モードで起動する。
    3. 次のコマンドレットを実行する
      Start-DedupJob (D: などのボリュームを指定) -Type Unoptimization
    4. 実行したコマンドレットの状態を確認する
      Get-DedupJob -Type Unoptimization
    5. 重複排除が終わるまで待つ。
      めちゃくちゃ時間がかかるはず。

    ◆動作させてみたところ

     PS C:\>
     PS C:\> Start-DedupJob -Volume D: -Type Unoptimization
     
     Type               ScheduleType       StartTime              Progress   State                  Volume
     ----               ------------       ---------              --------   -----                  ------
     Unoptimization     Manual                                    0 %        Queued                 D:
     
     
     PS C:\>
     PS C:\>
     PS C:\> Get-DedupJob -Type Unoptimization
     
     Type               ScheduleType       StartTime              Progress   State                  Volume
     ----               ------------       ---------              --------   -----                  ------
     Unoptimization     Manual             15:19                  0 %        Running                D:
     
     
     PS C:\>
     PS C:\>
    
  • Windows Server 2012 Datacenter EditionはVMware環境でも仮想サーバ台数無制限にライセンス適用できる

    Windows Server 2012 Datacenter Editionは、作成する仮想マシンの数が無制限というライセンスになっている。
    これは、Hyper-V上の話だけではなく、VMwareなどの仮想ハイパーバイザでも有効とのこと。

    かなり高額だが、Datacenter Editionを購入すれば、仮想サーバを作りたい放題になる。

    マイクロソフト仮想環境ライセンスガイドにも明記されている。

    企業にとってはお買い得なライセンス形態になっているね。

  • vCenter Server 6から、バンドルのDBがPostgreSQLになった

    vCenter Server 6から、バンドルのDBがPostgreSQLに変更されている。
    OS要件がWindowsだったので、もともとSQL Server のExpress版がバンドルされており、
    それを使用していた。

    vCenter Server 6からは、PostgreSQLにバンドルのDBが変わっており、
    これによりSQL Server Expressにあった制約も緩和されている。
    6からは、ホスト20台、ゲストの仮想マシン200台まで対応しており、
    5.5までのときよりもかなりパワーアップしている。

    ■参考

    http://pubs.vmware.com/vsphere-60/index.jsp#com.vmware.vsphere.install.doc/GUID-2F1D0E79-52C4-4DC2-AF01-11564207FBE1.html

  • Oracle Database Enterprise Edition のパラレルクエリ機能が使われているか調べる方法

    1文のSQLで複数のCPUを使用して実行するパラレルクエリ機能(Enterprise Editionのみ) を実際にSQL実行時に使用しているかどうかは、Oracle DBの動的パフォーマンス・ビューに 記録されている。

    記録されているのは、“V$SQL”と“V$PQ_SYSSTAT”のView。 それぞれ、使用された回数などが記録されているので、 Viewを検索すれば使用しているかどうかがわかる。

    SELECT * FROM V$SQL WHERE PX_SERVERS_EXECUTIONS > 0
    SELECT * FROM V$PQ_SYSSTAT
    

    ■参考

    http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19228-04/dynviews_2.htm
    https://docs.oracle.com/cd/E16338_01/server.112/b56311/dynviews_2099.htm

  • vCloud Airの日本国内データセンターの提供終了。

    基幹システムなどの移行事例が増えていたvCloud Airだが、
    VMwareの方針転換に伴い、提供が終了するとのこと。
    閉鎖は、来年(2017年)の3月31日なので、あと1年足らずで閉鎖だ。
    閉鎖的に自由に使えて、オンプレミスのvSphere環境とほぼ同じなので、
    使い勝手が良さそうで注意して情報収集していたサービス。
    基幹システムを始めとして、マルッと持っていけそうだっただけに、
    サービスの提供終了は残念。

    ソフトバンクなどが受け皿となるサービス(vSphere環境)を用意しているようなので、
    実質的には、契約先が変わるだけでサービスとしては変わらないのかもしれないが。
    それでも、新しいサービスへのシステム移行はきっと発生するのだろうけど。
    撤退の背景には、日本の市場が直接契約ではなくて、ベンダーや通信キャリア経由で
    発注したり、管理したり、という商習慣が影響しているのだろう。
    (VMwareの発表資料でも、「日本市場の特殊性を鑑み」と言っているので。)

    大手のパブリッククラウド撤退は、昨年、HPがIaaS型のパブリッククラウドを終了している。
    日本だと、今回のvCloud Airが影響の大きさとしては一番だろう。
    発表から1年で切られてしまうところを考えると、フットワーク軽く自分たちで
    クラウドサービスの載せ換えができるような人がいる会社じゃないと、
    おいそれとクラウドサービスの利用は使えないかも。
    日本には、オンプレミスのプライベートクラウドが向いている、
    と再認識されせられた。

    http://www.publickey1.jp/blog/16/vmwareiaasvcloud_air2017331.html

    http://vcloud.vmware.com/jp/using-vcloud-air/vca-customer-letter-japan2016

    ちょっと前にひょんなことから、話は耳に入っていたけれど、やっと発表された。
    発表されないと、嘘か誠かわからないから。

  • Client does not support authentication protocol が表示されてMySQLに接続できない

    MySQL5.1とPHP5.2.17で接続しようとしたところ、下記のエラーが表示されて、PHPからMySQLに接続できなかった。(これを使いたいわけではなく、かなり前に作った検証環境・・・)

    このエラーは、MySQLのバージョンにより、認証方式が変更されたことによる影響。PHP側のMySQLクライアントのバージョンが古いのが原因。

    ■エラーメッセージ

    Client does not support authentication protocol requested by server; 
    consider upgrading MySQL client.
    

    PHP側のMySQLクライアントを新しいものにするのが一番だが、できないときはMySQLの設定を変更することで回避可能。

    対応方法としては、my.cnfに古いパスワード形式の指定をする。

    [mysqld]
    (・・・中略・・・)
    old_passwords = 1
    

    my.cnfの中から、[mysqld] の箇所を探して、そこに「old_passwords=1」の記述を入れる。設定変更した後は、MySQLサーバのプロセスを再起動する。

    テストしても、同じ様になる場合は、念のため、ウェブサーバも再起動する。 (自分の環境では、Apacheも再起動しないとダメだった。)

  • MySQLのデータファイルの”.ibd”は何か

    ストレージエンジンに、Innodbのデータファイル。
    通常は、ibdata1ファイルにデータが保存されるが、MySQLの設定を変更し、
    テーブル別にInnodbのデータファイルを分ける設定をするとできるファイル。

    userlist.frm ・・・ テーブルの構造が記録されたファイル
    userlist.ibd ・・・ Innodbのデータが記録されたファイル(DBのテーブルデータの中身)

    Innodbでテーブル別にファイルを分ける設定は、my.iniで以下の設定をする(されている)。

    [mysqld]
    innodb_file_per_table