2013年12月21日土曜日

Windows8.1セットアップ時のメモ

Windows8.1の設定を自分仕様にするためのメモ。

基本的な方針は、

  • とにかく軽く
以上。(笑)

  • パフォーマンスを優先した設定にする
  1. コントロールパネルを開く(表示方法:小さなアイコン)
  2. 「システムとセキュリティ」->「システム」を選択
  3. 「システムの詳細設定」を選択 
  4. パフォーマンスの「設定(S)」を選択
  5. 「視覚効果」のタブで「パフォーマンスを優先する」を選択 
  • キーボードの設定
    1. コントロールパネルを開く(表示方法:小さなアイコン)
    2. 「キーボード」を選択
    3. 「表示までの待ち時間」を「短く(一番右側)」に設定
    4. 「表示間隔」を「速く(一番右側:デフォルト)」に設定
    5. 「カーソルの点滅速度」を「なし」に設定
    • テーマを変更(デフォルトは赤系なの青系に変更)
    1. コントロールパネルの「個人設定」を選択
    2. Windowsの標準テーマの「ラインと色」を選択
    • スライドショーの無効化
    1. コントロールパネルの「個人設定」を選択
    2. 「デスクトップの背景」を選択
    3. 「画像の場所」の「単色」を選択 
    4. 背景色を選択してスライドショー機能をOFFにする 
    • タスクバーを隠す
    1. タスクバーのプロパティを表示
    2. 「タスクバーを自動的に隠す」をチェック
    • サインイン時にデスクトップを表示
    1. タスクバーのプロパティを表示
    2. 「サインイン時または画面上のすべてのアプリを終了したときに、スタート画面ではなくデスクトップに移動する」をチェック 
    • ゴミ箱のプロパティ
    ※設定なし
    • Windows8.1ではデフォルトで「削除の確認メッセージを表示する」のチェックが外れている
    • CDなどの自動再生をOFFにする
    1. コントロールパネルを開く(表示方法:小さなアイコン)
    2. 「自動再生」を選択
    3. 「すべてのメディアとデバイスで自動再生を使う」のチェックをはずす
    4. 「保存」を選択 
    • 電源関連の設定
    コントロール パネル\すべてのコントロール パネル項目\電源オプション\プラン設定の編集
    ディスプレイを暗くする:15分
    ディスプレイの電源を切る:15分
    コンピュータをスリープ状態にする:30分
    1. 「詳細な電源設定の変更」を選択する
    2. 「詳細設定」タブを選択する
    • Windows Updateを実行する
    1. Windowsキー+Wを押す
    2. 「Windows Update」で検索し、「Windows Updateの設定」を選択
    3. 「今すぐチェック」を選択
    • Windows Security Essentialsをインストールする

    2013年11月3日日曜日

    Subverion1.8で作成したリポジトリを1.7用にダウングレードする

    JenkinsのSCMポーリングで失敗するため、Subverionを1.8から1.7に入れ替えた。
    その際、リポジトリがそのままでは使えなかったため、行った内容をメモしておく。

    もっとスマートな方法があるかもしれないが、今回はdumpコマンドを使って行った。

    まず、1.8で以下のコマンドを実行して、リポジトリ全体をファイルにダンプする。
    # svnadmin dump <リポジトリ> > <ダンプファイル>
    次に、1.7で以下のコマンドを実行して、ダンプしたリポジトリを復元する。
    # svnadmin create <新しいリポジトリ>
    # svnadmin load <新しいリポジトリ> < <ダンプファイル>

    JenkinsのSCMポーリングでエラーが出力される

    JenkinsでSCMのポーリングを設定したところ、以下のようなエラーが出る。
    ERROR: Failed to check repository revision for <リポジトリ>
    org.tmatesoft.svn.core.SVNException: svn: E210004: Number is larger than maximum
    at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)
    at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
    at org.tmatesoft.svn.core.internal.io.svn.SVNReader.readItem(SVNReader.java:400)
    at org.tmatesoft.svn.core.internal.io.svn.SVNReader.readItem(SVNReader.java:456)
    at org.tmatesoft.svn.core.internal.io.svn.SVNReader.readItem(SVNReader.java:456)
    at org.tmatesoft.svn.core.internal.io.svn.SVNReader.readItem(SVNReader.java:456)
    at org.tmatesoft.svn.core.internal.io.svn.SVNReader.readItem(SVNReader.java:456)
    at org.tmatesoft.svn.core.internal.io.svn.SVNReader.readTuple(SVNReader.java:288)
    at org.tmatesoft.svn.core.internal.io.svn.SVNReader.parse(SVNReader.java:241)
    at org.tmatesoft.svn.core.internal.io.svn.SVNConnection.read(SVNConnection.java:272)
    at org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.read(SVNRepositoryImpl.java:1290)
    at org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.info(SVNRepositoryImpl.java:1203)
    at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteGetInfo.run(SvnRemoteGetInfo.java:65)
    at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteGetInfo.run(SvnRemoteGetInfo.java:31)
    at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20)
    at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1235)
    at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:291)
    at org.tmatesoft.svn.core.wc.SVNWCClient.doInfo(SVNWCClient.java:2461)
    at hudson.scm.SubversionSCM.parseSvnInfo(SubversionSCM.java:1122)
    at hudson.scm.CompareAgainstBaselineCallable.call(CompareAgainstBaselineCallable.java:71)
    at hudson.scm.CompareAgainstBaselineCallable.call(CompareAgainstBaselineCallable.java:26)
    at hudson.remoting.LocalChannel.call(LocalChannel.java:45)
    at hudson.scm.SubversionSCM.compareRemoteRevisionWith(SubversionSCM.java:1278)
    at hudson.scm.SCM._compareRemoteRevisionWith(SCM.java:356)
    at hudson.scm.SCM.poll(SCM.java:373)
    at hudson.model.AbstractProject._poll(AbstractProject.java:1548)
    at hudson.model.AbstractProject.poll(AbstractProject.java:1473)
    at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:439)
    at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:468)
    at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:679)
    Caused by: svn: E210004: Number is larger than maximum
    at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208)
    at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:154)
    at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:97)
    at org.tmatesoft.svn.core.internal.io.svn.SVNReader.readItem(SVNReader.java:399)
    ... 33 more
    Done. Took 1 sec
    No changes
    以下のサイトに同様の現象が報告されていた。
    https://issues.jenkins-ci.org/browse/JENKINS-18844

    どうもSubversion 1.8を使っていることが関連しているらしい。
    現状は1.8を使わなければいけない理由はないため、1.7にダウングレードしてみる。

    その結果、正常にポーリングができた。
    Subversionのポーリングログ
    Started on Nov 3, 2013 8:31:46 PM
    Received SCM poll call on  for MediaCollect on Nov 3, 2013 8:31:46 PM
    <リポジトリ> is at revision 14
    Done. Took 0.2 sec
    No changes

    Tera Termから公開鍵を使ってパスワード入力なしでSSHログインする

    Tera TermはVer.4.79を使用した。

    まずは、秘密鍵と公開鍵を作成する。
    Tera Termのメニューから「設定」->「SSH鍵生成」を選択。
    設定はデフォルトの
    鍵の種別:RSA
    ビット数:2048
    で「生成」を選択する。
    「公開鍵の保存」と「秘密鍵の保存」でそれぞれ生成した鍵を保存する。
    秘密鍵の保存ではパスフレーズなしでよいかと確認が出るのでOKを選択する。

    生成した「公開鍵」をログイン先のホストに転送する。
    転送したら、.sshフォルダに「authorized_keys」というファイル名で保存する。
    以下のパーミッションを変更する。
    %chmod 600 .ssh/authorized_keys
    Tera Termのメニューから「設定」->「SSH認証」を選択する。
    『「RSA/DSA」鍵を使う』の「秘密鍵」を選択肢、さきほど生成した秘密鍵を選択する。
    「設定」->「設定の保存」でこれまでの設定を保存する。

    あとはTera Termでログインするときにパスフレーズを入力しないでも「OK」を選択すればログインできるようになる。

    <補足>
    パスワードなしでログインできるようになったら、Tera Termを起動直後にログインしてほしくなる(かも)。
    コマンドラインから以下のオプションをつけて起動することでそれが可能になる。
    > ttermpro.exe <ログイン先のホスト名> /auth=publickey /keyfile=<生成した秘密鍵>
    ショートカットの設定に記載してもOK。

    FreeBSDでファイルの文字コードを調べる

    「nkf」インストールする。
    # pkg_add -r ja-nkf
    以下のオプションを指定して実行すると文字コードを確認できる。
    % nkf -g <ファイル名>
    以下のオプションを指定すると文字コードと改行コードを確認できる。
    % nkf --guess <ファイル名> 
    参考サイト
    http://www.atmarkit.co.jp/flinux/rensai/linuxtips/980nkfguess.html

    補足
    ファイルの文字コードを上書きでUTF-8(BOMなし)に変更する。
    % nkf -w --overwrite <ファイル>

    Vim Tips

    Vimのスクリプトを実行する
    :source <スクリプト名>

    2013年10月27日日曜日

    Jenkinsからdoxygenを使う

    Jenkinsで「Doxygen Plugin」をインストール
    「Jenkinsの管理」->「プラグインの管理」->「利用可能」->「Jenkins Doxygen Plug-in」
    Jenkinsでプロジェクトを作成

    「/usr/local/jenkins/jobs/<プロジェクト名>/workspace/」に<doxygenのconfigファイル>を格納する

    doxygenの出力ファイルを格納するフォルダを作成する
    % mkdir /usr/local/jenkins/jobs/<プロジェクト名>/workspace/doxygen
    <doxygenのconfigファイル>をJenkinsのフォルダ構成にあわせて変更する
    OUTPUT_DIRECTORY       = doxygen
    INPUT                  = trunk
    プロジェクトの設定を変更する。
    「ソースコード管理」->「ローカルモジュールディレクトリ (オプション)」
    ※workspace配下にdoxygenの出力ファイルを置くために、ソースをチェックアウトするフォルダを変更
    trunk 
    「ビルド」->「シェルの実行」
    doxygen <doxygenのconfigファイル>
    「ビルド後の処理」->「Publish Doxygen」->「Doxyfile path」
    <doxygenのconfigファイル>
    ビルドを実行する。
    成功するとプロジェクトに「DoxyGen HTML」へのリンクが表示される。



    参考サイト
    http://hidari-lab.hatenablog.com/entry/doxygen_and_jenkins

    課題
    ソースのチェックアウトにやたら時間がかかるのが気になった。
    どうやら、ソースに画像や動画が含まれているときJenkinsの動作に課題があるらしい。
    参考サイト
    http://kkkon.sakura.ne.jp/wp3/2012/08/27/jenkins-subversion-plugin-is-stoick/

    FreeBSDでdoxygenを使ってみる

    まずはインストール。
    # pkg_add -r doxygen
    図を作成するためのツールをインストール。
    # pkg_add -r graphviz 
    コンフィグファイルを生成する。
    % doxygen -g <コンフィグファイル名>
     生成したコンフィグファイルを編集する。
    % vi <コンフィグファイル名>
    コンフィグファイルで変更した箇所とメモ
    PROJECT_NAME           = <プロジェクト名>
    OUTPUT_DIRECTORY       = <出力先のディレクトリ>
    CREATE_SUBDIRS         = YES
    OUTPUT_LANGUAGE        = Japanese
    EXTRACT_ALL            = YES
    EXTRACT_PRIVATE        = YES
    プライベートメソッドをドキュメント化する 
    INPUT                  = <ソースコードの場所>
    RECURSIVE              = YES
    サブフォルダのファイルもINPUTにする 
    SOURCE_BROWSER         = YES
    INLINE_SOURCES         = NO
    モジュール一覧と一緒にソースを表示したい場合は「YES」を設定 
    REFERENCED_BY_RELATION = YES
    REFERENCES_RELATION    = YES
    GENERATE_LATEX         = NO
    LATEXファイルは生成しない 
    MSCGEN_PATH            = /usr/local/bin
    シーケンスを使う場合はmscgenの場所を指定 
    HAVE_DOT               = YES
    図を描画するための設定(graphvizが必要) 
    DOT_FONTNAME           = Sazanami Gothic
    図で使用するために日本語のフォントを指定 
    CALL_GRAPH = YES
    CALLER_GRAPH = YES


    参考サイト
    http://www.doxygen.jp/config.html
    http://watcher.moe-nifty.com/memo/2005/08/doxygen__graphv_96cf.html








    よく使うscreenのコマンド

    C-a c
    スクリーンを追加する
    C-a w
    スクリーンの情報を表示する 
    C-a 数字
    指定した数字のスクリーンに切り替える
    C-a S
    ウインドウを横に2分割する
    C-a X
    分割したウインドウを閉じる
    C-a TAB
    アクティブなウインドウを切り替える
    C-a |
    ウインドウを縦に2分割する(バージョン4.1.0から使えるらしい)





    2013年10月26日土曜日

    FreeBSDでJenkinsを立ち上げる

    まずはインストール。
    # pkg_add -r jenkins
    起動してみる。
    # /usr/local/etc/rc.d/jenkins onestart
    立ち上げたホストに別PCのブラウザからアクセスしてみる。
    http://<ホスト名>:8180/jenkins
    残念ながら、表示できず。
    ログを確認。
    # less /var/log/jenkins.log
    Oct 26, 2013 9:49:12 PM hudson.UDPBroadcastThread run
    WARNING: UDP handling problem
    java.net.SocketException: Invalid argument
            at java.net.PlainDatagramSocketImpl.join(Native Method)
            at java.net.AbstractPlainDatagramSocketImpl.join(AbstractPlainDatagramSocketImpl.java:168)
            at java.net.MulticastSocket.joinGroup(MulticastSocket.java:300)
            at hudson.UDPBroadcastThread.run(UDPBroadcastThread.java:76)
    Oct 26, 2013 9:49:12 PM hudson.WebAppMain$2 run
    INFO: Jenkins is fully up and running
    Oct 26, 2013 9:49:12 PM hudson.DNSMultiCast$1 call
    WARNING: Failed to advertise the service to DNS multi-cast
    java.net.SocketException: Invalid argument
            at java.net.PlainDatagramSocketImpl.join(Native Method)
            at java.net.AbstractPlainDatagramSocketImpl.join(AbstractPlainDatagramSocketImpl.java:168)
            at java.net.MulticastSocket.joinGroup(MulticastSocket.java:300)
            at javax.jmdns.impl.JmDNSImpl.openMulticastSocket(JmDNSImpl.java:459)
            at javax.jmdns.impl.JmDNSImpl.<init>(JmDNSImpl.java:420)
            at javax.jmdns.JmDNS.create(JmDNS.java:60)
    UDPのソケット周りでエラーが発生している模様。
    https://code.google.com/p/epid-project/issues/detail?id=1
    を見てみると、IPv6のアドレスを設定しているとこのエラーが出るらしい。
    パラメータを指定して再度実行。
    # /usr/local/etc/rc.d/jenkins stop
    # env jenkins_java_opts=-Djava.net.preferIPv4Stack=true /usr/local/etc/rc.d/jenkins onestart
    ログにはさきほどのエラーは出なくなったが、依然として表示はできない。
    /usr/local/etc/rc.d/jenkinsを眺めてみると以下の記載を発見。
    : ${jenkins_args="--webroot=${jenkins_home}/war --httpListenAddress=127.0.0.1 --httpPort=8180 --ajp13ListenAddress=127.0.0.1 --ajp13Port=8009 --prefix=/jenkins"}
    ローカルホストのアドレスで待ち受けるようになっている模様。
    アドレスの指定を削除してみる。
    # env jenkins_java_opts=-Djava.net.preferIPv4Stack=true "jenkins_args=--webroot=/usr/local/jenkins/war --httpPort=8180 --ajp13ListenAddress=127.0.0.1 --ajp13Port=8009 --prefix=/jenkins" /usr/local/etc/rc.d/jenkins onestart
    今度は無事、表示された。


    サーバ起動時にJenkinsがスタートするように「/etc/rc.conf」に以下の設定を追加して完了。
    jenkins_enable="YES"
    jenkins_java_opts="-Djava.net.preferIPv4Stack=true"
    jenkins_args="--webroot=/usr/local/jenkins/war --httpPort=8180 --ajp13ListenAddress=127.0.0.1 --ajp13Port=8009 --prefix=/jenkins"

    svnで「svn: E000022: Can't convert string from 'UTF-8' to native encoding:」というエラーが表示される

    Windowsでコミットした日本語名のファイルを、FreeBSDでチェックアウトするときに発生した現象。
    localeを確認
    % locale -a | grep ja
    環境変数を設定
    % export LC_CTYPE=ja_JP.UTF-8
    はまった点
    screen上で上記の環境変数を設定しても正常に動作しない。
    なぜなら、screenがUTF-8で動作していないため。
    上記の環境変数を設定した状態でscreenを起動すれば期待通りの動作となった。

    参考サイト
    http://koexuka.blogspot.jp/2010/10/svncant-convert-string-from-utf-8-to.html

    Media Player Classicのランダム再生

    Media Player Classicでランダム再生を使う方法。
    1. メニューの「表示」→「プレイリスト」を表示(もしくはCtrl+7)
    2. プレイリストで右クリック
    3. 「ランダム化」を選択

    2013年10月20日日曜日

    FreeBSDでntpを使って時刻を合わせる

    「ntpdate」コマンドを使用する。
    # ntpdate サーバ名
    サーバ名は以下のサイトを参考にして設定。
    http://wiki.nothing.sh/page/NTP/%A5%D7%A5%ED%A5%D0%A5%A4%A5%C0%A1%A6%B5%A1%B4%D8%CA%CC#content_1_0
    契約しているプロバイダにサーバがあればそこを使用する。

    起動時にも実行するように/etc/rc.confに設定を追加。
    ntpdate_enable="YES"
    ntpdate_hosts="サーバ名"
    参考サイト
    http://blog.livedoor.jp/webprog/archives/2339244.html

    Redmineの差分表示でエラーが出る問題の解決

    RedmineでSubverionのリポジトリの差分を表示すると以下のエラーが出る原因の調査と対策。
    まずはapacheのログを確認。
    気になるログを発見。
    # less /var/log/httpd-error.log
    [App 1238 stderr] ActionView::Template::Error (Permission denied - /usr/local/www/redmine/tmp/cache/544)
    どうやら、パーミッションがないためテンポラリファイルを作成できない様子。
    ためしにパーミッションを変更。
    # chown nobody cache
    無事、差分が表示されるようになった。

    Redmineでファイルを添付できるようにする

    保存先のフォルダのパーミッションを変更する。
    # cd /usr/local/www/redmine
    # chown nobody files
    「管理」->「情報」の画面で「ファイルリポジトリに書き込み可能」が有効になればOK。









    参考サイト
    http://d.hatena.ne.jp/deis/20101008/redmine_file_up






    2013年10月19日土曜日

    RedmineとSVNの連携に失敗する問題の解決

    先日、RedmineとSubversionを連携させるようにした。
    しかし、WebサーバPCを起動した直後は、RedmineからSVNのリポジトリが見えない現象が発生した。
    手動でapacheを再起動するとリポジトリが見えるようになる。
    とても不便なので原因を調査した。

    まずはapacheのログを確認。
    % less /var/log/httpd-error.log
    [App 920 stderr] svn: not found
    [App 920 stderr] svn: not found
    [App 920 stderr] Error parsing svn output: undefined method `[]' for nil:NilClass
    気になるログを発見。
    コマンドが認識されていない様子。

    ためしに、redmineのsvnコマンドの設定をフルパスに変えてみる。
    # vi /usr/local/www/redmine/config/configuration.yml
    scm_subversion_command:   /usr/local/bin/svn                        # (default: svn)
    しかし現象は変わらず。

    ここで、あることに気づく。
    <設定ファイルの内容>
      # Examples:
      scm_subversion_command:   /usr/local/bin/svn                        # (default: svn)
      # scm_mercurial_command:  C:\Program Files\TortoiseHg\hg.exe        # (default: hg)
      # scm_git_command:        /usr/local/bin/git                        # (default: git)
      # scm_cvs_command:        cvs                                       # (default: cvs)
      # scm_bazaar_command:     bzr.exe                                   # (default: bzr)
      # scm_darcs_command:      darcs-1.0.9-i386-linux                    # (default: darcs)
      #
      scm_subversion_command:
      scm_mercurial_command:
      scm_git_command:
      scm_cvs_command:
      scm_bazaar_command:
      scm_darcs_command:
    最初の設定時にExamplesをコメントアウトして編集したのがそもそもの間違い。
    だめだめじゃないですか。。
    気を取り直て再編集。
      # scm_subversion_command: svn                                       # (default: svn)
      # scm_mercurial_command:  C:\Program Files\TortoiseHg\hg.exe        # (default: hg)
      # scm_git_command:        /usr/local/bin/git                        # (default: git)
      # scm_cvs_command:        cvs                                       # (default: cvs)
      # scm_bazaar_command:     bzr.exe                                   # (default: bzr)
      # scm_darcs_command:      darcs-1.0.9-i386-linux                    # (default: darcs)
      #
      scm_subversion_command:   svn
      scm_mercurial_command:
      scm_git_command:
      scm_cvs_command:
      scm_bazaar_command:
      scm_darcs_command:
    これで解決。。。かと思いきや現象は変わらず。
    ログに同じエラーが出力される。
    フルパス指定で再チャレンジ。
      scm_subversion_command:   /usr/local/bin/svn
    今度はOK。

    設定ファイル修正前に、apacheを再起動するとうまくいっていたのはなぜだろう。
    謎は残ったがとりあえずよしとする。

    FreeBSDで重複ファイルを整理する

    HDDに格納されている、重複ファイルを探して整理する。

    zfsではファイルシステムに重複ファイルを効率的に格納する機能があるらしい。
    今はufsを使っているので、「fdupes」というツールを使って整理してみる。

    まずはパッケージをインストールする。
    # pkg_add -r fdupes
    重複ファイルをチェックする。
    % fdupes -rS DIRECTORY > LISTFILE
    結果が標準出力に表示されます。
    オプション「S」はサイズの表示。
    今回は結果をファイルに出力

    後は、出力されたファイルを編集して、削除するファイルのリストを作成する。
    そしてファイルを削除する。
    % vi LISTFILE
    % catLISTFILE | xargs rm

    参考サイト
    http://divide-et-impera.org/archives/333

    2013年10月14日月曜日

    FreeBSDでSubversionのサーバを立てる

    Subversion 1.8.1をインストールする
    オプションの「MOD_DAV_SVN」を追加する
    # cd /usr/ports/devel/subversion
    # make install clean
    起動時にsvnserveを立ち上げる
    (/usr/local/etc/rc.d/svnserveのコメントにある記載をコピーする)
    # vi /etc/rc.conf
    svnserve_enable="YES"
    ユーザsvnを作成する
    # vipw
    グループsvnを作成する
    # vi /etc/group
    リポジトリのフォルダを作成する
    # mkdir -p /home/svn
    # svnamin create repos
    # chown -R svn:svn repos 
    リポジトリフォルダにある設定ファイルを更新する
    (ここでは誰でも更新可能に設定する)
    # vi /home/svn/repos/conf/svnserve.conf
    anon-access = write
    サーバを起動する
    # /usr/local/etc/rc.d/svnserve start


    参考サイト
    http://www.leafgreen.jp/freebsd/subversion.html
    https://sites.google.com/site/mmatsuoka10/programming/freebsd/svnserver

    2013年10月12日土曜日

    FreeBSD Tips

    • Boot時のプロンプト待ち時間を短縮する
    # vi /boot/loader.conf
    以下の一行を追加する
    autoboot_delay="2"
    なお、デフォルトの設定は以下のファイル
    /boot/defaults/loader.conf

    2013年10月7日月曜日

    Redmine Tips


    • ショートカットキー

    Shift+Alt+E:チケットの編集

    FreeBSDでRedmineを使うメモ

    まずはパッケージからredmine-2.3.2をインストール
    # pkg_add -r redmine
    インストール完了
    =============================================================================
    Redmine was installed.
    You now need to setup your Redmine installation so
    please have a look at the Installation Guide.
    http://www.redmine.org/wiki/redmine/RedmineInstall

    If you are upgrading please read the Upgrading Guide
    before starting the new version.
    http://www.redmine.org/wiki/redmine/RedmineUpgrade
    =============================================================================
    参考サイトの日本語訳
    http://redmine.jp/guide/RedmineInstall/
    データベースはPostgreSQL8.4を使用する。
    # pkg_add -r postgresql84-server
    参考サイト
    http://www.kishiro.com/FreeBSD/postgresql8.html
    # su pgsql
    $ cd /usr/local/pgsql/
    $ mkdir data
    $ initdb -D ./data --encoding=utf-8 --lc-collate=C
    「rc.conf」の設定
    postgresql_enable="YES"
    postgresql_flags="-w -s -m fast"
    postgresql_initdb_flags="--encoding=utf-8 --lc-collate=C"
    postgresql_class="default" 
    参考サイト(ROLEとは)
    http://www.postgresql.jp/document/8.1/html/user-manag.html
    データベース作成
    $ createdb test_db
    SQLコマンドプロンプト入力
    $ psql test_db
    CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'my_password' NOINHERIT VALID UNTIL 'infinity';
    CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
    ユーザ「redmine」作成
    # vipw
    「config/database.yml」の編集
    # cd /usr/local/www/redmine/config
    # cp database.yml.example database.yml
    production:
    adapter: postgresql
    database: redmine
    host: localhost
    username: redmine
    password: <postgres_user_password>
    encoding: utf8
    # schema_search_path: <database_schema> (default - public)
     セッションストア秘密鍵の生成
    # rake generate_secret_token
    (in /usr/local/www/redmine)
    Could not find gem 'pg (>= 0.11.0) ruby' in the gems available on this machine.
    Run `bundle install` to install missing gems.
    エラーになってしまった。
    Redmineを実行するために必要なすべてのgemをインストールする。
    bundle install --without development test
    無事「pg」がインストールされたので先ほどのコマンドを再実行。
    # rake generate_secret_token
    今度は成功。
    データベース上にテーブルを作成
    # cd /usr/local/www/redmine
    # env RAILS_ENV=production rake db:migrate
    デフォルトデータをデータベースに登録
    # env RAILS_ENV=production rake redmine:load_default_data
    Select languageでは「ja」を選択
    パーミッションの設定
    # mkdir public/plugin_assets
    # chown -R redmine:pgsql files log tmp public/plugin_assets
    # chmod -R 755 files log tmp public/plugin_assets
    WEBrickによるwebサーバでの起動テスト
    # ruby script/rails server webrick -e production

    zshの設定メモ

    • プロンプトの設定
    PROMPT='%n@%m:%~ %% '
    「% man zshmisc」の「SIMPLE PROMPT ESCAPES」を参照。
    %m ホスト名
    %n ユーザ名
    %~ 現在のワーキングディレクトリ($HOMEと一致する場合は「~」に置換される)

    screenの設定メモ

    時間と空間を超える(?)ターミナルエミュレータ「screen」。
    1つのウインドウで複数の画面(ログインシェル)を切り替えて使うことができてとても便利。

    設定ファイル(.screenrc)

    • コマンド文字を変更する
    escape ^]^]
    デフォルトは「^Aa」となっている。
    自分はC-aはカーソルを行頭に移動させたい人なので、 C-]となるように変更している。
    なぜC-]を使うよういなったのかは覚えていない。(笑)
    • 起動時に表示されるメッセージをOFFにする
    startup_message off
    • Visual BellをOFFにする
    vbell off

    2013年10月6日日曜日

    FreeBSDでpkgを使う【未完成】

    FreeBSD 9.2-RELEASEからはデフォルトで有効になっているパッケージ管理システム「pkg」を使ってみる。
    # pkg
    The package management tool is not yet installed on your system.
    Do you want to fetch and install it now? [y/N]: y

    その後、自動的で「pkg2ng」が実行されてデータベースの移行もしてくれる模様。
    早速zshをインストール。
    # pkg install zsh
    Updating repository catalogue
    Repository catalogue is up-to-date, no need to fetch fresh copy
    pkg: Package 'zsh' was not found in the repositories
    リポジトリにzshがないと言われてしまった。。
    参考サイト
    http://opensource.slashdot.jp/story/13/10/02/0916200/FreeBSD-9.2-RELEASE-%E7%99%BB%E5%A0%B4
    pkgngリポジトリはまだないらしい。
    9.x系はPC-BSDのものを流用できるとのこと。
    当面はpkgは使わない方向とする。

    2013年10月5日土曜日

    FreeBSD 9.2-RELEASEセットアップメモ

    EPSON ST-125EにFreeBSD 9.2-RELEASEをインストールしたときのメモ
    • リリースアナウンス
    http://www.freebsd.org/releases/9.2R/announce.html
    • インストーラのダウンロード
    ダウンロードファイル
    ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/9.2/FreeBSD-9.2-RELEASE-amd64-memstick.img 
    • メモリスティックにインストーライメージを書き込む
    # dd if=FreeBSD-9.2-RELEASE-amd64-memstick.img of=/dev/da1 bs=10240 conv=sync
    で作成したインストーラがうまく起動しない。
    ブート直後のキー入力がすべて「#」になってしまう。
    FreeBSDのマニュアル
    http://www.freebsd.org/doc/ja/books/handbook/bsdinstall-pre.html
    を参考にして以下のコマンドでイメージを再作成。
    # dd if=FreeBSD-9.2-RELEASE-amd64-memstick.img of=/dev/da1 bs=64k
    それでもうまくいかない。
    使用するメモリスティックを32GBから4GBに変更。

    # dd if=FreeBSD-9.2-RELEASE-amd64-memstick.img of=/dev/da1 bs=10240 conv=sync
    で再度インストーラを作成したところ、今度は成功。
    何が原因?
    • インストール中のメモ
    • Partition Schemeの選択
    大容量ではない250GBのSSDを使うので「BSD」を選択。
    3TB以上ならGPTを選択になるのかな。
    参考サイト
    http://www.freebsd.org/doc/ja/books/handbook/bsdinstall-partitioning.html
    • SSDを使うので「Add Partition」のOptionで以下をチェックしてTRIMを有効にする。
    [*] TRIM  Enable SSD TRIM support 
    参考サイト
    http://d.hatena.ne.jp/mteramoto/20130104/1357305221
    • 「Add Partition」でType:freebsd-swapのスワップ領域を作成。 
    • ファーナリングファイルシステムを有効にする
    1. シングルユーザモードで起動する。
    2. # tunefs -j enable /dev/ada1s1d
    異常終了から復帰した後のファイルチェックが改善されるらしい。
    • 電源ボタンでシャットダウン
    # vi /etc/apmd.conf
    apm_event SUSPENDREQ {
           exec "sync && sync && sync";
            exec "shutdown -p now";
    }
    apm_event USERSUSPENDREQ {
            exec "sync && sync && sync";
            exec "shutdown -p now";
    }

    Windows7 Tips


    • プログラム動作中にスリープ状態へ移行するのを防ぐ
    1. Windowsキー+Xで「Windowsモビリティセンター」を表示させる
    2. 「プレゼンテーション設定」をオンにする
    Windows7から(Vistaから?)移行条件を満たすと、アプリケーションが明示的に拒否をしない限りスリープに移行してしまう。
    ファイルのダウンロード中やツールで長い処理を行っているときに勝手にスリープ状態になると困る場合にこの機能が使える。
    参考サイト
    http://answers.microsoft.com/ja-jp/windows/forum/windows_7-performance/windows7%E3%81%AE%E3%82%B9%E3%83%AA%E3%83%BC/8a4dcbd1-c421-424c-a0cf-72050b62d364 

    Let's Note CF-F9アップグレード

    新しいノートPCが欲しいと思う今日この頃。
    しかし、なかなか適当なノートPCがない。
    Mac Book Airはデザインはすばらしいが、重さがちょっと。キーボードに慣れるかも不安。
    最近発売されたLet's Note LX3はすばらしいできだが、値段が高すぎない?
    ということで、新しいノートPCを買うのはあきらめ。
    最近使っていなかったCF-F9をアップグレードして使うことに。

    購入したもの
    • SSD
    SAMSUNG SSD 840 EVO
    http://www.samsung.com/global/business/semiconductor/minisite/SSD/jp/html/about/SSD840EVO.html
    • メモリ
    PC3-8500(DDR3-1066)対応 204Pin用 DDR3 SDRAM S.O.DIMM 専用モデル 4GB
    http://buffalo.jp/products/catalog/memory/d3n1066_e/
    換装
    ノートPCの裏側のネジをはずすことで、SSDもメモリも簡単に換装完了。
    交換前のHDDは絶妙なクッションに包まれて固定されていることに関心。
    日本製PCの品質の高さを垣間見た気がした。
    取り外しが楽にできるのもすばらしい。
    Widows エクスペリエンス インデックス
    アップグレード後の感想
    SSDに交換したことで、OS/アプリケーションの起動速度が快適になった。
    メモリを増設した効果(2+2=4GB→2+4=6GB)はすぐには実感できそうにない。
    今後、アプリケーションをたくさん起動したときに効果が期待できるはず。

    2013年10月4日金曜日

    Windows7ソフトウェアセットアップ時のメモ

    Windows7に常用するソフトウェアをセットアップするためのメモ


    • 不要なアプリケーションのアンインストール
    デフォルトでインストールされている不要なアプリケーションを削除する
    • chrome
    1. 「設定」->「デザイン」->「ホームボタンを表示する」をチェックする
    2. すぐ下の「変更」を選択して「google.co.jp」をホームに指定する
    • VLC
    ダウンロードサイト
    http://www.videolan.org/vlc/
    1. 「ツール」->「設定」をクリックする
    2. 左下の「設定の表示」の「すべて」を選択する
    3. 「ビデオ」の「ビデオにメディアタイトルを表示」のチェックをはずす
    4. 「ビデオ」->「字幕/OSD」の「サブピクチャの有効化」のチェックをはずす
    • Media Player Classic
    ダウンロードサイト
    http://sourceforge.jp/projects/sfnet_mpc-hc/
    • yamy
    ダウンロードサイト
    http://sourceforge.jp/projects/yamy/
      ログイン時に管理者権限で起動するように設定する
      1. 「すべてのプログラム」->「アクセサリ」->「システムツール」->「タスク スケジューラ」を起動する 
      2. 「タスクの作成」を選択する
      「全般」タブ
      名前:yamy
      「最上位の特権で実行する」をチェックする
      構成:Windows7, Windows Server 2008 R2
      「トリガー」タブ
      「新規」を選択する
      タスクの開始:ログオン時
      「操作」タブ
      「参照」からyamyの実行ファイルを選択する
      「条件」タブ
      「コンピュータをAC電源で使用している場合のみタスクを開始する」のチェックをはずす
      「設定」タブ
      「タスクを停止するまでの時間」のチェックをはずす
      1. 「OK」を選択する
      • Tera Term
      ダウンロードサイト
      http://sourceforge.jp/projects/ttssh2/
      1. メニューから「Setup」->「General」を選択する
      Language UI:Japanese.lng
      1. メニューから「設定」->「フォント」を選択する
      フォント名:MS ゴシック
      スタイル:標準
      サイズ:12
      1. メニューから「設定」->「SSH認証」から「チャレンジレスポンス認証を使う(SSH1:TIS,SSH2:キーボードインタラクティブ)」を選択する
      • TortoiseSVN
      ダウンロードサイト
      http://tortoisesvn.net/
      • WinMerge 日本語版
      ダウンロードサイト
      http://www.geocities.co.jp/SiliconValley-SanJose/8165/winmerge.html
      • Visual Studio Express 2010
      ダウンロードサイト
      http://www.microsoft.com/visualstudio/jpn/downloads#d-2010-express
      • 7-Zip
      ダウンロードサイト
      http://sevenzip.sourceforge.jp/
        • (解凍レンジ)
        ダウンロードサイト
        http://www.vector.co.jp/soft/dl/win95/util/se094501.html
        • (Lhaca)
        ダウンロードサイト
        http://www.vector.co.jp/soft/dl/win95/util/se166893.html
        • IfranView日本語版
        ダウンロードサイト
        http://www8.plala.or.jp/kusutaku/iview/
        • BunBackup
        ダウンロードサイト
        http://homepage3.nifty.com/nagatsuki/bunbackup/
        • Oracle VM VirtualBox
        ダウンロードサイト
        http://www.oracle.com/technetwork/jp/server-storage/virtualbox/overview/index.html
        • InfraRecorder
        ダウンロードサイト
        http://sourceforge.jp/projects/infrarecorder/

        Windows7セットアップ時のメモ

        Windows7の設定を自分仕様にするためのメモ。

        基本的な方針は、

        • とにかく軽く
        以上。(笑)

        • Windows Updateによる自動再起動を無効にする
        1. ファイル名を指定して実行:gpedit.msc
        2. 「コンピュータの構成」->「管理用テンプレート」->「Windowsコンポーネント」->「Windows Update」を選択
        3.  「スケジュールされた自動更新のインストールで、ログオンしているユーザがいる場合に再起動しない」を「有効」に設定
        ※Windows7 Professionalの場合の設定方法 
        ※Windows7 Home Premiumの場合はレジストリを変更する必要がある
        (参考サイト)
        http://www.atmarkit.co.jp/fwin2k/win2ktips/1288wunorestart/wunorestart.html 
        • パフォーマンスを優先した設定にする
        1. コントロールパネルを開く(表示方法:小さなアイコン)
        2. 「パフォーマンスの情報とツール」->「視覚効果の調整」
        3. 「視覚効果」のタブで「パフォーマンスを優先する」を選択 
        • キーボードの設定
          1. コントロールパネルを開く(表示方法:小さなアイコン)
          2. 「キーボード」を選択
          3. 「表示までの待ち時間」を「短く(一番右側)」に設定
          4. 「表示間隔」を「速く(一番右側:デフォルト)」に設定
          5. 「カーソルの点滅速度」を「なし」に設定
          • IMEバーをタスクバーに 入れる
          1. IMEバーの最小化ボタン「_」を押す
          2. IMEバーで右クリックを押して「タスクバーの追加アイコン」のチェックをはずす
          • タスクバーを隠す
          1. タスクバーのプロパティを表示
          2. 「タスクバーを自動的に隠す」をチェック
          • ゴミ箱のプロパティ
          • 「削除の確認メッセージを表示する」のチェックをはずす
          • CDなどの自動再生をOFFにする
          1. コントロールパネルを開く(表示方法:小さなアイコン)
          2. 「自動再生」を選択
          3. 「すべてのメディアとデバイスで自動再生を使う」のチェックをはずす
          • 電源関連の設定
          コントロール パネル\すべてのコントロール パネル項目\電源オプション\プラン設定の編集
          ディスプレイを暗くする:15分
          ディスプレイの電源を切る:15分
          コンピュータをスリープ状態にする:30分
          1. 「詳細な電源設定の変更」を選択する
          2. 「詳細設定」タブを選択する
          「スリープ」を選択する
          次の時間が経過後休止状態にする:45分 
          「電源ボタンとカバー」を選択する
          電源ボタンの操作:休止状態
          カバーを閉じたときの動作:休止状態
          スリープボタンの操作:休止状態
            1. 「電源プラン拡張」タブを選択する※PCによって異なると思います
            「ファン制御モード」を「低速」に設定する
            • Office 2010をセットアップする
            • Windows Updateを実行する
            • Windows Security Essentialsをインストールする
            • 不要な復元ポイントを削除する 
            1. 「すべてのプログラム」->「アクセサリ」->「システムツール」->「ディスク クリーンアップ」を実行する
            2. 「詳細オプション」タブから「システムの復元とシャドウ コピー」の「クリーンアップ」を選択する