カテゴリー: 技術系

  • ログインShellを変更する方法

    ログイン時に使用するShellを変更したい場合は、chshコマンドで変更する。

    $ chsh -s Shellのパス

    オプションなしで実行した場合は、エディタ(デフォルトではvi)が開き、ユーザ情報の編集ができる。Shellの書き換えは一番上の「Shell: /bin/sh」と表示されている場所を修正すればよい。

    昔、直接/etc/passwdを修正していたような・・・便利になったということか。それとも単に知らなかっただけか。

    例)shをtcshに変更する

    $ cat /etc/passwd | grep yama
    yama::1002:20:Yoshi Yamada:/home/yama:/bin/sh $ $ chsh -s /bin/tcsh Password: chsh: user information updated $ $ $ cat /etc/passwd | grep yama yama::1002:20:Yoshi Yamada:/home/yama:/bin/tcsh
    $

    今回変更したのは、FreeBSD。コマンドを調べたら、Linuxでも同じコマンドでできる。便利だなぁ。

  • FreeBSD 9.3 に Node.jsをインストール(+Expressも)

    ちょっと前に、FreeBSD9.3にMongoDBをインストールしたので、
    今度は、Node.jsとExpressをインストール。
    これでMEANスタック環境に必要なものは揃う。

    ■Node.jsのインストール

    portsから、Node.jsをインストール。

     root@viola:~ # cd /usr/ports/www/node
     root@viola:/usr/ports/www/node # ls
     Makefile        files           pkg-message
     distinfo        pkg-descr       pkg-plist
     root@viola:/usr/ports/www/node #
     root@viola:/usr/ports/www/node # make install
    

    ■npmのインストール

    npmもportsからインストールしようとしたのだが、developerツールのインストールでこける。
    仕方がないので、パッケージからインストール。

     root@viola:/usr/ports/www/npm # pkg install npm
     Updating FreeBSD repository catalogue...
     FreeBSD repository is up-to-date.
     All repositories are up-to-date.
     Updating database digests format: 100%
     The following 1 packages will be affected (of 0 checked):
     
     New packages to be INSTALLED:
             npm: 2.1.16
     
     The process will require 7 MB more space.
     1 MB to be downloaded.
     
     Proceed with this action? [y/N]: y
     Fetching npm-2.1.16.txz: 100%    1 MB 481.7k/s    00:03
     Checking integrity... done (0 conflicting)
     [1/1] Installing npm-2.1.16...
     [1/1] Extracting npm-2.1.16: 100%
     root@viola:/usr/ports/www/npm #
    

    ■Expressのインストール

    npmを使って、JavaScriptのフレームワークExpressをインストール。
    かなり簡単にインストールできた。

     root@viola:~ # npm install express
     express@4.10.6 node_modules/express
     tqq utils-merge@1.0.0
     tqq merge-descriptors@0.0.2
     tqq fresh@0.2.4
     tqq cookie@0.1.2
     tqq escape-html@1.0.1
     tqq range-parser@1.0.2
     tqq cookie-signature@1.0.5
     tqq finalhandler@0.3.2
     tqq vary@1.0.0
     tqq media-typer@0.3.0
     tqq parseurl@1.3.0
     tqq methods@1.1.0
     tqq serve-static@1.7.2
     tqq content-disposition@0.5.0
     tqq path-to-regexp@0.1.3
     tqq depd@1.0.0
     tqq qs@2.3.3
     tqq etag@1.5.1 (crc@3.2.1)
     tqq debug@2.1.1 (ms@0.6.2)
     tqq on-finished@2.1.1 (ee-first@1.1.0)
     tqq proxy-addr@1.0.4 (forwarded@0.1.0, ipaddr.js@0.1.5)
     tqq send@0.10.1 (destroy@1.0.3, ms@0.6.2, mime@1.2.11)
     tqq accepts@1.1.4 (negotiator@0.4.9, mime-types@2.0.7)
     mqq type-is@1.5.5 (mime-types@2.0.7)
     root@viola:~ #
    

    FreeBSDでも簡単にMEAN環境は作れるな。

  • Windows 2000 がリブートした時間を調べる方法

    Windows 2000 Server の起動した時間を調べるには、
    イベントビューアを開いて、システムのログから、
    イベントが開始された日時を調べる。

    (Windows 2000 には、systeminfoコマンドがないので。)

    今時・・・Windows 2000 とは思うが、
    あっちこっちに残っているから忘れないように。
    早くなくなるといいな。

  • MongoDBの勉強に役立つフリーの本

    MongoDBの薄い本(The Little MongoDB Book)

    http://www.cuspy.org/diary/2012-04-17

    勉強に必要な一通りのことが書かれており、薄い本というだけあって薄く勉強しやすい。PDFとEPUBで配布されている。ページ数も少ないので、iPhone6 plusで読むのにちょうどよい。

  • FreeBSD 9.3 にMongoDBをインストールする

    ■portsからMongoDBをインストール

    # cd /usr/ports/databases/mongodb/
    # make install

    ■mongodbの起動コマンド

    /usr/local/etc/rc.d/mongod start

    ■mongodbの起動時のエラー

    # /usr/local/etc/rc.d/mongod start
    Starting mongod.
    su: unknown login: mongodb
    /usr/local/etc/rc.d/mongod: WARNING: failed to start mongod
    #

    このエラーが表示されるとき。pwd_mkdbコマンドで、master.passwdを更新する

    # pwd_mkdb -p /etc/master.passwd

    コマンドを実行した後に、MongoDBを起動する

    # /usr/local/etc/rc.d/mongod start
    Starting mongod.

    ■MongoDBの自動起動設定

    /etc/rc.conf に以下の行を追加する、それだけ。

    mongod_enable="YES"

    ■MongoDBの起動確認

    起動確認する前に、MongoDBのサービス(mongod)を起動しておく。mongoコマンドでMongoDBを起動してみる。

     # mongo
     MongoDB shell version: 2.6.6
     connecting to: test
     Welcome to the MongoDB shell.
     For interactive help, type "help".
     For more comprehensive documentation, see
             http://docs.mongodb.org/
     Questions? Try the support group
             http://groups.google.com/group/mongodb-user
     >
     >
     > db.version()
     2.6.6
     >
    

    以上。

  • MEANスタック 〜 今年流行るかも

    MEANスタック(もしくは MEAN)は、注目されつつあるウェブアプリケーション環境。
    4つの環境の頭文字をとってMEANと呼ばれる。

     M ・・・ MongoDB : ドキュメント指向データベース
     E ・・・ Express : Node.jsのMVCフレームワーク
     A ・・・ AngularJS : JavaScriptのMVWフレームワーク
     N ・・・ Node.js : サーバーサイドのJavaScript実行環境
    
    MEANはJavaScriptを使った環境のアーキテクチャ。
    今年(2015年)か、来年(2016年)にも、日本でも流行りだすかも。
    フロントエンドから、サーバサイドまで、JavaScriptで開発できて、
    データはJSON形式でやり取りされる。
    JavaScriptがかけて、フレームワークが使えるようになっていれば
    いろいろと開発できるはず。

    ■MEANスタックを勉強するときに役に立ちそうなサイト

    ・MEAN(MongoDB, Express, AngularJS, Node.js)スタックが優れている理由 – Mozilla Open Web Day in Tokyoを終えて
    http://albatrosary.hateblo.jp/entry/2014/10/06/073638
    ・LAMPに代わる構成として注目のMEANスタックの基礎知識とインストール、ひな型作成
    http://www.atmarkit.co.jp/ait/articles/1412/01/news041.html
    ・MEAN.IO
    http://mean.io/#!/
    ・Node.js、Express、AngularJS、および MongoDB を使用してリアルタイム・アンケート・アプリケーションを作成する
    http://www.ibm.com/developerworks/jp/web/library/wa-nodejs-polling-app/

    情報は増えつつあるので、環境をつくりつつ勉強しないとな。
  • MRTGのグラフの一部が生成されない

    既存のMRTGのコンフィグを修正するときの注意点。特に既にあるコンフィグで、コメントアウトされているものを 使う場合は、コメントアウトの消し方に注意する。

    コメントアウトを消したときに中途半端になっていると、 エラーもなく、対象のグラフとHTMLが生成されない。対象のグラフが生成されていない場合には、以下を気にする。

    こんなコンフィグのコメントを消すとき

    ### Interface 10103 >> Descr: 'GigabitEthernet0/3' | Name: 'Gi0/3' | Ip: '' | Eth: 'e8-04-62-00-00-03' ###
    #
    # Target[switch_10103]: 10103:public@switch:
    # SetEnv[switch_10103]: MRTG_INT_IP="" MRTG_INT_DESCR="GigabitEthernet0/3"
    # MaxBytes[switch_10103]: 125000000
    # Title[switch_10103]: Gi0/3 -- switch
    # PageTop[switch_10103]: 
    #		
    

    下のような消し方をすると、正しくグラフが生成されない。理由は、頭にスペースが入っているため、意図したコンフィグとして認識されないため。

    ### Interface 10103 >> Descr: 'GigabitEthernet0/3' | Name: 'Gi0/3' | Ip: '' | Eth: 'e8-04-62-00-00-03' ###
    
     Target[switch_10103]: 10103:public@switch:
     SetEnv[switch_10103]: MRTG_INT_IP="" MRTG_INT_DESCR="GigabitEthernet0/3"
     MaxBytes[switch_10103]: 125000000
     Title[switch_10103]: Gi0/3 -- switch
     PageTop[switch_10103]: 
    

    その為、スペースはちゃんと消す。PageTopの次の行のタグは、スペースが入っていてもOK

    ### Interface 10103 >> Descr: 'GigabitEthernet0/3' | Name: 'Gi0/3' | Ip: '' | Eth: 'e8-04-62-00-1e-03' ###
    
    Target[switch_10103]: 10103:public@switch:
    SetEnv[switch_10103]: MRTG_INT_IP="" MRTG_INT_DESCR="GigabitEthernet0/3"
    MaxBytes[switch_10103]: 125000000
    Title[switch_10103]: Gi0/3 -- switch
    PageTop[switch_10103]: 
    

    MRTGのグラフはうまく生成できないときは、コンフィグの行頭のスペースも気にしておく。簡単なことだけに見つかりにくいミス。

  • Windows Update でIE11のJavaScriptの挙動が変わった

    2014年12月のWindows Update でInternet Explorer 11の
    JavaScriptの解釈というか挙動が変わっている。

    自分がハマったのは、子画面で選択した値を親画面の特定の場所入れる
    という挙動で、あたい戻しができなくなった。
    子画面側で値を選択した時に、親画面の別の場所にフォーカスが
    当たっており、値が表示されない。
    (そんな挙動が悪いといえば、そうなのだが・・・)

    問題の発生時点を切り分けて行くと、2014年12月のWindows Update
    を適用したかどうかで、挙動が変わっていた。
    このUpdateに含まれていたIEのUpdateプログラムをアンインストールで、
    もとの挙動に戻ることも確認できた。
    なので、今回のUpdateが悪さをしていることは間違いなし。

    IEのバージョンが変わるタイミングで、JavaScriptの挙動やCSS解釈が
    変わるというのは割と良くある話だが、、、
    月例のUpdate変わられてしまうと、なかなか打つ手がない。

    ちなみに、影響を受けたのは、IE11のみ。
    Windows 7、Windows 8の両方のIE11で発生する。
    IE10の場合は、Windows Updateを行っても動作は変わらなかった。

    IEのバージョンをみると、
    11.0.15 ・・・ このバージョンがアウト。障害にあたる。
    11.0.14 ・・・ このバージョンはセーフ(Windows Update前)。
    だった。

    忘れそうなので、メモとして。

  • Powershellがコード“-65536”を返す

    Windows Server 2008 R2環境で、Powershellをリモート実行している。この環境で、稀にPowershellがリターンコード“-65536”を返して、異常終了する。

    状況としては、リモート実行先のPowershellでスクリプトが動作しその動作で落ちるのではなく、そもそもリモート先でPowershellのスクリプトが実行されていない状態。呼び出し(起動)に失敗したときに、コード“-65536”が返されている。

    Powershellのコード“-65536”は、リモート実行先でPowershellの起動に失敗した際に返されるエラーコード。

    もし、必ずこのコードが返ってくる場合は、Windowsサーバで、Powershellのリモート実行が許可されていない可能性がある。また、64bit環境の場合は、32bitと64bitの両方にPowershellが入っていて、起動するPowershellのパスが間違っているなど。64bit実行なのに、32bitのPowershellが呼び出されているなど。

    ■参考?
    http://www.windows-noob.com/forums/index.php?/topic/4052-trouble-running-powershell-as-advertisement/

  • Acronis Backup & Recovery 11.5で、バックアップタスクの所有者が変更されないバグ

    何かと不具合の多いAcronis Backup & Recovery 11.5。
    バックアップタスクの所有者の変更についての不具合がある。

    本来であれば、バックアップタスクは最終更新者が、そのタスクの所有者になる。
    この不具合では、最終更新者が更新しても、バックアップタスクの所有者が更新されない。
    ちなみに、バックアップ計画(タスク)作成時のアカウントがバックアップをできる権限を
    もっているアカウントであれば、所有者が変わっても問題なくバックアップは行えるとのこと。

    不具合として、Acronisが認識しているようで、いつかはわからないが、 不具合は修正されるとのこと。

    そもそも、最終更新者が所有者になるという仕様もいけてない。
    さらにいけてないのは、不具合で所有者をあるべきユーザにすら戻せないということ。
    しかもバックアップ計画の作成時のユーザで認識されてバックアップが行われる、
    というのであれば、そもそも所有者の意味はなんだ?