でんかのブログ

テクニカル系ネタをメインに、つれづれなるままに書いていきます。

Symantec Endpoint Protection のHDDアクセス問題

HDDのアクセスが止まらないネタ絡みで…(´・ω・`)

以前会社のPCを使っていると、大体お昼前くらいまでHDDがガリガリとアクセスし続けていて、PCが重たいという現象に悩まされていました。(´Д`)

WindowsのHDD連続アクセス問題をいろいろ調べていた時、たまたま見つけたのが以下の記事で…∑(゚Д゚;)

ネコ耳SEの独り言: Symantec Endpoint Protectionのパターンファイル更新に時間がかかる

…んだよコレ!!。゚ヽ(゚`Д´゚)ノ゚。

確かに言われてみれば、会社のPCのウィルス対策がウィルスバスターからSEPへ変更になった辺りから、HDDアクセスが止まらない現象が出ていたよーな気がする。(´Д`)

まぁ今はThinClientな環境になってしまったので関係なくなってしまったのですが、SEPを使っていて午前中HDDガリガリが止まらないで悩まれている方は、一度ご確認くださいませ。僕はもうちょっと早くこの記事と出会いたかったです…。゚(ノД`)゚。

DownloadHelperが使えない!(>_<)

昨日気づいたのですが、Firefoxのアドオン「DownloadHelper」が使えなくなってました・・・。゚(ノД`)゚。

で、いろいろ調べてみると、どうやらFirefox 36以降で動作しなくなった模様で…(´・ω・`)

参照:https://groups.google.com/forum/#!forum/video-downloadhelper-5

でも開発中のDownloadHelper 5ベータ版なら動作するとの事なので、早速入れ替えてみたら…動いた~!(゚∀゚)

ダウンロード先:http://www.downloadhelper.net/install-beta.php?version=5.0.0b1

使いやすくなってはいるけど、ちょっとUIの配色が派手だなぁと思うのは僕だけでしょうか?(笑)(;´∀`)

激重Firefox(´・ω・`)

ども、先週のハードスケジュールがたたって、先週末から風邪ひいてしまい寝込んでたでんかです。(;´∀`)

月火はがんばって出社したものの、水曜は声が完全に出なくなり年休取得、そして今日も含め2日寝込んだ甲斐あって、やっと復活した模様です。ヽ(´ー`)ノ

前回HDDアクセスが止まらないという話を書きましたが、Windows自体のアクセス以外にもThunderbirdFirefoxが大きな原因になっていました…(´・ω・`)

Thunderbirdは登録しているRSSのうち、既に配信が止まっているものを削除してフォルダで階層化していたのをやめたところ、かなりの改善がありました。さらに大量にメールがたまっているフォルダをアーカイブするコトで、ほぼほぼThunderbird要因のHDDアクセス過多は無くなった模様です。

問題がFirefoxでした。定番のSQLite Optimizerを使って何度もReIndexやVacuumしても全然効果がなく、肥大化してしまったファイルは全然小さくなりません。

仕方がないので、10MBオーバーのファイルを全て削除してみたところ元の爆速Firefoxが復活!(゚∀゚)

まぁ仕様とは言え、使えば使うほど遅くなっていくのは何とかならんものでしょうかねぇ(´・ω・`)

ちなみに削除したファイルは以下の通りです。

さらにwebappsstore.sqliteを使わないようにするため、about:configから"network.seer.enabled"を定義してfalseにしました。

これでどこまで効果があるかはわかりませんが、とりあえずまた様子見です。(´・ω・`)

♪アクセスが~止~まらな~い∑(´Д`;)

♪I can't stop the access ど~してな~の~ アクセスが~止~まらな~い。゚(ノД`)゚。

…くらだらないネタはさておき、メインPCのWindows7で起動後HDDアクセスが止まらずスローダウンするという現象に悩まされていました。(´・ω・`)

2週間くらいリソースモニタを使って原因を追っていたのですが、結論として原因となっていたと思わしきサービスは複数あったようで、わかっているだけで以下のモノがありました。

Distributed Link Tracking Clientサービス

対処:原因かどうか確証はなかったがとりあえず無効化

SuperFetchサービス

対処:無効化

Windows Searchサービス

対処:無効化するとファイル検索が使えず不便なのでインデックス作成を最小限に設定

詳しい手順は以下のサイトを参考にしました。

HDDアクセスが頻発しプチフリーズする・まとめ | あみだがみねのもろもろ備忘録

とりあえずはだいぶ軽快になりましたが、しばらくは様子見です。(´・ω・`)

なんですと!?∑(゚Д゚;)

電子回路の学習キットで実験していたら、なぜか抵抗値がブレブレに。おかしいなぁと思って確認すると…∑(゚Д゚;)

f:id:denkas:20150208020819j:plain

テスターリードの根本が切れてしまいました…。゚(ノД`)゚。

無理やり直してみたものの、当然抵抗値が変わってしまい使い物にならず…(´・ω・`)

f:id:denkas:20150208020820j:plain

仕方ないので秋月でテスターリードを注文…のハズが、追加で新しいテスターとLCメーター、さらに各種パーツもポチってしまい合計8000円近く…何とか奥さんの許可は貰えましたが…(´Д`)

でもこれで今まで計測できずに困っていた20MΩクラスの抵抗値やコイルの容量も計測できます♪(゚∀゚)

VSSからの卒業…そしてGitへ…!

f:id:denkas:20150207230733j:plain

Visual Studio 2013がGitに対応したのを受けて、さらにGitHubでの公開も視野に入れてたのもあり、自宅のソース管理をこれまでのVSSからGitへ移行しました。(`・ω・´)

本当は履歴情報も一緒に持っていければと思ったものの、VSSのリポジトリデータベースを消さないでおけばよいのと、VM上に古いVisual Studioの開発環境を構築したので、そっちに持っていけばいいやというワケで、ソースだけ移行して心機一転まっさらな履歴情報にするコトにしました(笑)(^-^;

GitHubを使うという目的はあるものの、自宅にPush先が無いのもイヤだったので、自宅サーバ上でgit-daemonを動かすコトにしました。Windows上でのGitリポジトリ操作用には“SourceTree”を使うことにしました。(`・ω・´)

SourceTree : https://www.atlassian.com/ja/software/sourcetree/overview

加えて疑問点などを職場の同僚なGitエキスパートな方にいろいろ質問して解決した後に移行作業を始めましたが…意外と茨の道でした…(;´∀`)

そんなワケで、自分への備忘録と同じ道を歩もうとする方への道しるべがてら、手順などまとめておきます。(・∀・)

Gitサーバ構築編

認証機能が必要だと思ったのでHTTPベースにしました。HTTPSにしたい場合もGit側的には同じで、Virtual Hostの設定でSSLにするだけです。OSはCentOS6系を使っていますが、CentOS7系でも同じにできる事を確認しています。(・∀・

  1. git-daemon パッケージインストール

     # yum install git-daemon httpd
    
  2. gitサービス有効化

    当初動作確認にgitプロトコル使ってたので入れてましたが、HTTPだけ使うなら不要です。

     # chkconfig git on
     # chkconfig xinetd on
     # chkconfig xinetd restart
    
  3. リポジトリ作成

     # cd /var/lib/git/
     # mkdir public_git
    

    ついでなのでVisual Studioのプロジェクト用にリポジトリを作っておきます。プロジェクト名は“SimpleMP3Player”です。

    なお、Gitリポジトリのディレクトリはプレフィックスとして“.git”を付けるケースが多いですが、Gitエキスパートな同僚の方によると、Gitリポジトリだとわかりやすくするためで必須ではない、とのコトでしたのでVisual Studioに合わせておきます(もちろん付けてもOK)。

     # cd public_git
     # mkdir SimpleMP3Player
     # cd SimpleMP3Player
     # git --bare init --shared
    

    Apacheから読み書きできないと不幸な結果になりますので、ここでパーミッション変えておきます。あとApacheから見えるようシンボリックリンクを作成しておきます。

     # chown apache:apache -R .
     # ln -s /var/lib/git/public_git /var/www/html/git
    
  4. Apache設定

    最初にVirtual Hostの設定を入れます。ここでは8081番ポートをGitアクセス専用にしています。

    • /etc/httpd/conf.d/git.conf作成

       <VirtualHost *:8081>
         ServerAdmin root@localhost
         ErrorLog logs/git.host-error_log
         CustomLog logs/git.host-access_log combined
      
         SetENV GIT_PROJECT_ROOT /var/lib/git/public_git/
         SetENV GIT_HTTP_EXPORT_ALL
         ScriptAlias /git "/usr/libexec/git-core/git-http-backend/"
      
         <Location /git>
           DAV on
           AuthType basic
           AuthName "Authorization Realm"
           AuthUserFile /etc/httpd/conf/.htpasswd
           Require valid-user
           Order allow,deny
           Allow from all
         </Location>
       </VirtualHost>`
      
    • パスワードファイル生成

        # htpasswd -c /etc/httpd/conf/.htpasswd denka
      
    • /etc/httpd/conf/httpd.conf 修正

        #
        # Listen: Allows you to bind Apache to specific IP addresses and/or
        # ports, in addition to the default. See also the <VirtualHost>
        # directive.
        #
        # Change this to Listen on specific IP addresses as shown below to
        # prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
        #
        #Listen 12.34.56.78:80
        Listen 80
        Listen 8081 ←追加
      

    Gitサーバ側はこれで完了です!(^o^)/

VSSプロジェクト移行編

前提条件としてVSSのリポジトリデータベースは残して、履歴が必要ならそこで閲覧するコトにしたので、履歴情報の移行はしないものとしています。またチェックアウト中のファイルは全てチェックインしておいた方が無難です。(´・ω・`)

  1. ソリューションのコピー

    Visual Studio 2013のProjectsフォルダに対象のソリューションをフォルダごとコピーします。

  2. 読み取り専用解除

    VSS管理されていると読み取り専用になっているので、サブフォルダもまとめて読み書き可能にします。

  3. VSSのファイル削除

    隠しファイルも表示されるようにしておきます。

    f:id:denkas:20150207223231j:plain

    VSS管理すると生成されるファイルをすべて削除します。“vssver2.scc”“.scc”というファイルを検索して、全て削除します。

  4. ソリューションファイルの修正

    “プロジェクト名”.slnなファイル名のファイルをテキストエディッタで開き、以下のようなブロックを削除します。

     GlobalSection(SourceCodeControl) = preSolution
       SccNumberOfProjects = 2
       SccLocalPath0 = .
       SccProjectUniqueName1 = SimpleMP3Player\\SimpleMP3Player.vcxproj
       SccLocalPath1 = .
       SccProjectFilePathRelativizedFromConnection1 = SimpleMP3Player\\
     EndGlobalSection
    
  5. プロジェクトファイルの修正

    拡張子“.vcxproj”なファイルを検索し、テキストエディッタで開いて以下のような“Scc”の付く行を全て削除します。

     <SccProjectName>"$/SimpleMP3Player/SimpleMP3Player", HSAAAAAA</SccProjectName>
     <SccLocalPath>..</SccLocalPath>
     <SccProvider>MSSCCI:Microsoft Visual SourceSafe</SccProvider>
    
  6. Visual Studioのソース管理プラグイン変更

    Microsoft Git Provider”に変更します。

    f:id:denkas:20150207223232j:plain

  7. ソリューションを開いてソース管理へ追加

    先ほどもろもろを修正したソリューションを開いて、以下のようにソース管理へ追加します。

    f:id:denkas:20150207223234j:plain

    以下のようなダイアログが出た場合はOKを押下します。

    f:id:denkas:20150207223235j:plain f:id:denkas:20150207223237j:plain

  8. ファイルをコミット

    ソリューションエクスプローラのソリューションで右クリックして[コミット]します。

    f:id:denkas:20150207223238j:plain

    チームエクスプローラの画面に変わったら、図中の赤印のところにコメントを記入し、その下にある[コミット]をクリックします。

    f:id:denkas:20150207223240j:plain

  9. リモートリポジトリへPush

    先ほど構築したGitサーバのリポジトリへPushするには、“同期されていないコミット”で“リモートリポジトリに発行”します。“分岐”メニューから“発行されていない同期”で右クリックでも発行の画面に飛びます。

    f:id:denkas:20150207223241j:plain f:id:denkas:20150207223243j:plain

  10. SourceTreeから確認

    リポジトリをクローン”から元のパス/URLに、先ほどのGitサーバのURLを記入して“これはGitリポジトリです”と表示されたらPushできています。

    f:id:denkas:20150207223244j:plain

    この画面を一度閉じて、[開く]メニューからソリューションのフォルダを開くと、SourceTreeからもリポジトリを参照できるようになります。

    f:id:denkas:20150207223246j:plain

シルビア君が…(´・ω・`)

今、シルビア君は日産の工場に入院しています。(´・ω・`)

 

PIAAのHIDを付けているのですが、バラストの調子が悪いのか、配線が悪いのかわかりませんでしたが、右側だけウィンカー点けると消灯する事があるという病気に…。

 

もともと持病としてあったものの、ごまかしてたのですが、しょっちゅう発病するようになり先週入院、そして結果はバラスト不良。。。

 

結局PIAAからバラストとバーナーをフルセットで取り寄せて全交換する事に。工賃込で約12万円…ヽ(;´Д`)ノ

 

でも元気なシルビア君に戻ってくれるならいっか