Edo::World::Blog

〜Linux/Solaris関連の作業メモ〜

[PowerShell](ConvertFrom-StringData)"=",":"区切りの設定ファイル読み込み

  • 入力ファイル

"="区切りのini形式のファイルがあったとして...(":"区切りでも同様)

> cat .\test.txt
user = hoge
hostname = foo


  • ConvertFrom-StringDataコマンドによるファイル読み込み

key名を指定して読み込み可能

> $data = cat .\test.txt | ConvertFrom-StringData
> $data.user
hoge
> $data.hostname
foo

[FreeBSD] 旧バージョンのisoファイル入手先

[Capistrano2] メモ

  • ssh同時接続数の調整

":mac_hosts"で調整

task :cmd_test, :roles => :servers, :max_hosts => 10 do
  run "uname -n"
end

[Git] memo

".gitignore"

  • 空ディレクトリをGitの登録対象に変更

http://quartet-communications.com/info/topics/13642

URL

  • originのURLを確認(リモートのリポジトリの表示)
$ git remote -v
  • originのURLを変更
$ git remote set-url origin <新しいリポジトリURL>

diff

  • commit前の状態と比較
$ git diff --cached
  • 別ブランチのファイルを比較
$ git diff tst:config/etc/hosts prd:config/etc/hosts

同名ファイルの場合は以下でもOK

$ git diff tst prd -- config/etc/hosts
  • タグ間で比較
$ git diff  v0.1 v0.2
  • "--stat"でサマリ表示
$ git diff --stat v0.1 v0.2
 config/etc/hosts  | 7 ++++---
 config/etc/resolv | 1 -


修正

  • work treeを直前の状態に戻す
$ git reset --hard HEAD
  • work treeの特定のファイルを直前の状態に戻す
$ git checkout HEAD ファイル名
  • 直前のcommitのコメントを修正
$ git commit --amend


status

修正ファイルとブランチを表示

$ git status -s -b
## dev
 M etc/hosts


Branch

  • 分岐の作成
$ git branch
* master
$ git branch test
   test
* master
$ git checkout test
Switched to branch 'test'
$ git branch
* test
  master


log

  • ページャを表示しない
$ git config --global core.pager ''

または

$ vi ~/.gitconfig
[core]
	pager =


tag

  • タグを打つ
$ git tag $(uname -n)_$(date "+%Y%m%d-%H%M%S")
  • 全ブランチを対象にリスト
$ git tag
  • アノテーションを付与して表示
$ git tag -n
  • タグを検索
git tag -l "v*"  # "v"から始まるtagを検索
  • 検索結果にアノテーションを付与
$ git tag -n -l v*
  • チェックアウト

参考:http://d.hatena.ne.jp/kanonji/20110304/1299211488

$ git clone ssh://github.com/foo/bar
$ cd bar
$ git tag
v0.1
v1.0
$ git checkout refs/tags/v1.0
# ブランチを作る場合は、
$ git checkout -b <ブランチ名> refs/tags/v1.0

[Cap]

[ServerSpec] template

  • script
#!/usr/bin/env ruby
# coding: utf-8
#
require 'csv'
require 'erb'

def _tmpl
  return ERB.new(<<-EOS, nil, '-')
describe file '<%= name %>' do
  it_behaves_like 'a <%= type %> <%= owner %>:<%= group %> <%= perm %>'
end
  EOS
end
  
def parse(fname)
  CSV.foreach( fname, { :col_sep => ',', :headers => true }) do | row |
    prm = -> {
      type  = row["type" ]
      name  = row["name" ]
      owner = row["owner"]
      group = row["group"]
      perm  = row["perm" ]

      binding
    }   

    erb = _tmpl
    puts erb.result(prm.call())

  end 
end

parse('./flst.csv')


  • flst.csv
$ cat flst.csv 
type,name,owner,group,perm
file,/etc/hosts,root,wheel,644
file,/etc/group,root,wheel,644
directory,/opt,root,wheel,755
  • 結果
describe file '/etc/hosts' do
  it_behaves_like 'a file root:wheel 644'
end
describe file '/etc/group' do
  it_behaves_like 'a file root:wheel 644'
end
describe file '/opt' do
  it_behaves_like 'a directory root:wheel 755'
end

[ServerSpec] ci_reporter

後で書く

>|

$ vi

$ vi Rakefile

require 'ci/reporter/rake/rspec' ※追記

$ rake ci:setup:rspec spec

|<


  • シェルの実行
export WORKSPACE
cd ${WORKSPACE}/script/serverspec/
rake ci:setup:rspec spec
  • テスト結果XML
script/serverspec/spec/reports/*.xml

simplerconv

  • pluginのインストール

RubyMetrics plugin

[VMplayer] napt

[Subversion] ssh接続

サーバー側

CURDIR=$(pwd)

svnadmin create svnrepo

svn import svnrepo file://${CURDIR}/svnrepo -m "initial import"

mkdir ${CURDIR}/svnrepo/scripts


クライアント側

svn checkout --config-option "config:tunnels:ssh=ssh -p 12345 -i /Users/hoge/.ssh/id_rsa-l hoge -q" svn+ssh://example.com/hoge/repo/svnrepo/

$ svn commit --config-option "config:tunnels:ssh=ssh -p 12345 -i /Users/hoge/.ssh/id_rsa-l hoge -q" -m 'add script'

[Serverspec] メモ

livedoor プロフィール
記事検索
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

livedoor 天気
  • ライブドアブログ