ハングアップの日々

2012年 8月分

2012/08/31

memo

2012/08/29

memo

2012/08/28

smbget, tar

 Samba サーバ上にある非常に大きな tar.bz2 ファイルを、直接 Linux マシンに解凍したいと思った。大きいので、1回ファイルに保存したりはしたくない。smbclient コマンドで、ファイルを標準出力に出す方法を探したが見つからなかった。代わりに、次のようなコマンドでできた。

$ smbget -u DOMAIN/USER smb://server/share/path/to/file.tar.bz2 --stdout | tar jxf -

2012/08/26

3TB HDD, BIOS 更新

 この前買った 3TB の HDD にデータを書き込んでいたら、突然他のファイルやディレクトリが読めなくなってしまった。この症状、非常に心当たりがある。十数年前にも同じようなことがあった。
 GA-X58A-UD3R rev.2.0 の BIOS を確認すると、バージョン FG1 に "3TB+ HDD support" と書かれている。自分のマシンのバージョンを確認すると、FB だった。ビンゴ!
 GIGABYTE の BIOS アップデートツールである @BIOS を使って、最新バージョンの FH に更新しようとしたところ、ファイルサイズが合わないとのメッセージが出た。先ほどのページをよく見ると、最新の @BIOS を使えと書いてある。そのファイルをダウンロードして @BIOS を更新してから、もう一度書き込んでみようとしたところ、同じエラーが出た。@BIOS の画面の @ ボタン (Live Update) を押して、再度 @BIOS を更新してから、"Update BIOS from GIGABYTE Server" を選択して、ようやく BIOS の更新がうまくいった。

 BIOS の更新が完了して一安心してデータをコピーしていたら、再びデータの上書きが発生してしまった。よく見ると、Intel の AHCI ドライバが相当古いままだった。現時点での最新版である 11.2 をインストールしたところ、ようやく正常に使えるようになった。新しいものを使うときは十分にテストしないとダメである。

2012/08/25

Vim で Windows のシンボリックリンクを扱う

 数日前、Windows 版の Vim が NTFS のシンボリックリンクを正しく扱えてないことに気づいた。「Issue #241: Windowsのシンボリックリンクを正しく扱えるようにしたい · vim-jp/issues」で、試行錯誤の結果、うまく動くものができたので vim_dev にパッチを投げてみた。

memo

2012/08/22

memo

2012/08/21

MinGW, MSYS

 久しぶりに MinGW と MSYS をインストールしてみた。GUI のインストーラができた上、mingw-get というコマンドで後からパッケージを追加インストールできるようになっており、以前に比べるとずいぶん楽にインストールできるようになった。
 インストール時のコンポーネントの選択は以下のようにした。

 MinGW Developer ToolKit というのは、名称が異なっているが、おそらく msysDTK (MSYS Developer Tool Kit) と同じ物だと思われる。それ以外のコンポーネントについては、Package Guide | MinGW に記載されている。
 「minttyを使ってみる - プログラム備忘録」 を参考に、mintty をインストールしてみた。そのサイトには $HOME が設定されないと書かれているが、msys.bat --mintty で起動すれば設定されていた。
 fork の速度を計測 してみたが、Cygwin とほとんど変わらなかった。手元の Core i5 WinXP だと 10forks/sec 程度。

 msysGit をインストールすると、どのようになるのだろうか。

2012/08/17

memo

2012/08/11

smbclient の使い方

 Linux マシンから Windows マシンとファイルをやりとりするために、smbclient コマンドを使ってみた。
 Linux マシンから Windows マシンへファイルを転送する場合は、例えば次の通り。

$ smbclient -U DOMAIN\\USER '\\server\share-name' -c 'cd path\to\dir; put filename'

あるいは、-D でディレクトリを指定した方が良いかもしれない。

$ smbclient -U DOMAIN\\USER '\\server\share-name' -D 'path\to\dir' -c 'put filename'

 ファイルを取得するには、put を get に変えればよい。

2012/08/10

Ubuntu 10.04, Git

 Ubuntu 10.04 で Git をビルドするための手順をまとめた。Ubuntu 10.04 に入っている Git は 1.7.0.4 で非常に古い。git cherry-pick で複数コミットを指定できなかったり、git lola の表示がカラフルではないため非常に見にくかったり、git am --keep-cr が使えなかったりと、いろいろ不便である。
 入門Git には、以下の方法でビルドに必要なパッケージをインストールできると書かれている。

$ sudo apt-get build-dep git-core

 しかし、この方法では、数十もの大量のパッケージがインストールされてしまう。実は、これにはドキュメントをビルドするためのパッケージが大量に含まれている。ビルド済みのドキュメントは公式サイトからダウンロードできるので、ドキュメントさえビルドしなければ、これほど大量のパッケージをインストールする必要はない。
 この環境は Android のビルドのため、Initializing a Build Environment | Android Open Source に記載されているパッケージはインストール済みだったが、それに加えて以下のパッケージのインストールが必要だった。

 libcurl4-gnutls-dev と libcurl4-openssl-dev の違いはよく分からない。どちらでもビルドできるが、build-dep でインストールされるのは前者である。
 後は、例えば以下のようにビルド・インストールすればよい。(この場合、ファイルは $HOME/bin と $HOME/opt/git 以下にインストールされる。)

$ tar xvf git-1.7.11.4.tar.gz
$ cd git-1.7.11.4
$ ./configure --prefix=$HOME/opt/git --bindir=$HOME/bin
$ make && make install
$ cd ..
$ tar xvf git-manpages-1.7.11.4.tar.gz -C $HOME/opt/git/share/man

2012/08/09

memo

2012/08/07

memo

2012/08/05

3TB HDD

 WD の WD30EZRX を購入。前の 2TB の HDD から robocopy コマンドを使ってデータコピーを行った。使ったコマンドは以下の通り。

> robocopy /E /DCOPY:T e:\ f:\ /XD "System Volume Information" $RECYCLE.BIN RECYCLRER

 ファイルの断片化を解消するために、ディスク単位ではなくファイル単位のコピーを行ったのだが、15時間以上もの時間が掛かってしまった。計算すると 30〜40MB/s 程度なので、そんなものか。

 手持ちの USB-SATA 変換ケーブルが 3TB HDD を正しく認識できなかった。3つのうち
2つは、約 780GB として認識し、1つは全く認識できなかった。そのうちの 1つは USB 3.0 対応なのでそれなりに新しいはずだが、それでもダメだった。

2012/08/04

HDD 整理

 古い HDD の整理を行った。

2012/08/03

memo

2012/08/01

memo


Copyright (C) 2012 K.Takata