2012年2月26日日曜日

【悠々自炊ライフ】自炊始めました!(その3)

自炊のフィルター処理を GIMP でバッチ化できたが、複数の CPU がある場合、有効活用できていない。そんなのい・や・だ!

というわけで、バッチのマルチスレッド化に着手してみた。

基本コンセプトは、バッチ処理をキュー化し、キューを処理するバッチを並列で起動する。
バッチは、すべて windows 標準機能だけで動作するようになっている。
Java とか使えば、もっとシンプルになるのだが、バッチでやることに意味があるのだよ。フッフッフ・・・

Windows でファイルやフォルダをつかんでいるプロセスを調べる

Windows でファイルやフォルダをつかんでいるプロセスを調べる

超備忘録

Process Explorer を起動
「Find」メニューから「Find Handle or DLL...」を選択
「Handle or DLL substring」欄に、ファイル名やディレクトリ名を入力

2012年2月5日日曜日

Ant でファイル(ワイルドカード指定)の存在をチェックするタスクを書く

Ant タスクで、ワイルドカード指定してファイルの存在チェックを行いたくなった。
Ant 1.7 以降なら、以下の方法で実現可能である。(ファイルは UTF-8 で保存すること)

【build.xml】
<?xml version="1.0" encoding="UTF-8"?>
<project name="MyProject" default="main" basedir=".">

  <!-- 検索対象ディレクトリを設定 -->
  <property name="src" location="src"/>

  <!-- 最初に呼び出される。init および caution を事前に呼び出す -->
  <target name="main" depends="init, caution" />

  <!-- 指定ファイルが存在したら、"caution"プロパティをセットする -->
  <target name="init">
    <!-- 条件を満たしたら、"caution" プロパティがセットされる -->
    <condition property="caution">
      <!-- リソース数をカウントし、0件より多かったら true となる -->
      <resourcecount when="greater" count="0">
        <!-- src 以下全ディレクトリの"Abstract*.java"ファイルをカウント対象とする -->
        <fileset dir="${src}" includes="**/Abstract*.java" />
      </resourcecount>
    </condition>
  </target>

  <!-- "caution"プロパティが設定されている場合、実行される -->
  <target name="caution" if="caution">
    <fileset id="files" dir="${src}" includes="**/Abstract*.java" />
    <pathconvert pathsep="${line.separator}" property="filelist" refid="files" />
    <fail message="以下の Abstract ファイルが含まれています${line.separator}${filelist}" />
  </target>

</project>

2012年1月3日火曜日

dnsmasq の設定

ローカルネットワーク内のホスト名を引くための、DNSプロキシとして dnsmasq を設定する。

dnsmasq をインストール
$ sudo aptitude install dnsmasq

設定ファイルを修正
$ sudo vi /etc/dnsmasq.conf

local=/localnet/
no-dhcp-interface=eth0
cache-size=500

保存して終了

このマシンの DNS 設定に dnsmasq を加える
$ sudo vi /etc/dhcp3/dhclient.conf

prepend domain-name-servers 127.0.0.1

保存して終了
上記設定を行うと、/etc/resolv.conf が自動生成されるときに、nameserver 127.0.0.1 が追加される。

hosts にローカルネットワークのマシンを定義
$ sudo vi /etc/hosts

127.0.0.1 localhost pc1
192.168.1.101 pc1
192.168.1.102 pc2

保存して終了

dnsmasq を起動
$ sudo /etc/init.d/dnsmasq restart

ネットワーク(eth0)を再起動
$ sudo ifconfig eth0 down
$ sudo ifconfig eth0 up

他の PC から ping ができたら完了。

Ubuntu で RAID10 の故障ハードディスクを取替え

RAID 復旧作業の備忘録

以前、RAID 復旧作業で、HDD のパーティションを切ることができず、ドライブ丸ごと RAID に突っ込んだ苦い失敗を、ここで挽回する。

今回、2度目の HDD 故障となり、HDD を Amazon でポチることにした。しかし容量が 2T のものしかなかったので、現在の 1.5T 構成だと、500GB 無駄になることになる。
さすがに、500GB 無駄になるのは、甚だ遺憾なので、真面目に対処することにした。

前回の失敗を振り返ると、、「GUI での設定方法がよく分かっていなかった」ことに尽きる。

そこらへんを重点的に攻略していこうと思ったが、やはり GUI では、思ったように設定できないようだ。

2011年12月30日金曜日

サウンド設定パネルを開くコマンド

C:\Windows\System32\rundll32.exe Shell32.dll,Control_RunDLL mmsys.cpl,,0
本当は、自動で、再生デバイスの規定値を変更したかったのだが、断念。

2011年9月11日日曜日

/boot が一杯になったら

/boot 領域が古いカーネルで一杯になった。
こういう場合は、古いカーネルを削除する必要がある。

とりあえず /boot ディレクトリをのぞいてみる。
$ ls /boot
System.map-2.6.31-20-generic
System.map-2.6.32-23-generic
System.map-2.6.32-24-generic
System.map-2.6.32-25-generic
System.map-2.6.32-30-generic
abi-2.6.31-20-generic
abi-2.6.32-23-generic
abi-2.6.32-24-generic
abi-2.6.32-25-generic
abi-2.6.32-30-generic
config-2.6.31-20-generic
config-2.6.32-23-generic
config-2.6.32-24-generic
config-2.6.32-25-generic
config-2.6.32-30-generic
grub
initrd.img-2.6.31-20-generic
initrd.img-2.6.32-23-generic
initrd.img-2.6.32-24-generic
initrd.img-2.6.32-25-generic
initrd.img-2.6.32-30-generic
lost+found
memtest86+.bin
vmcoreinfo-2.6.31-20-generic
vmcoreinfo-2.6.32-23-generic
vmcoreinfo-2.6.32-24-generic
vmcoreinfo-2.6.32-25-generic
vmcoreinfo-2.6.32-30-generic
vmlinuz-2.6.31-20-generic
vmlinuz-2.6.32-23-generic
vmlinuz-2.6.32-24-generic
vmlinuz-2.6.32-25-generic
vmlinuz-2.6.32-30-generic


うわぁ~ ギョウサンおるのぉ~

インストールされているカーネルを調べる
$ dpkg -l | grep linux-image
rc  linux-image-2.6.31-14-generic  2.6.31-14.48  Linux kernel image for version 2.6.31 on x86
ii  linux-image-2.6.31-20-generic  2.6.31-20.58  Linux kernel image for version 2.6.31 on x86
ii  linux-image-2.6.32-23-generic  2.6.32-23.37  Linux kernel image for version 2.6.32 on x86
ii  linux-image-2.6.32-24-generic  2.6.32-24.43  Linux kernel image for version 2.6.32 on x86
ii  linux-image-2.6.32-25-generic  2.6.32-25.45  Linux kernel image for version 2.6.32 on x86
ii  linux-image-2.6.32-30-generic  2.6.32-30.59  Linux kernel image for version 2.6.32 on x86
ii  linux-image-generic            2.6.32.30.36  Generic Linux kernel image

直近の2つ以外を削除することにする。
$ sudo apt-get remove --purge linux-image-2.6.31-14-generic linux-image-2.6.31-20-generic linux-image-2.6.32-23-generic linux-image-2.6.32-24-generic

パッケージ linux-image-2.6.31-14-generic はインストールされていないため、削除はできません
と文句を言われました・・・なんだべな?
と思ったら、 dpkg の一覧で、rc ってなっていて、調べてみると、削除済みで、設定だけが残っているものらしい。設定消すのどうやるの?わからんので放っておく。

その他のカーネルを削除すると、めでたく /boot の空き容量が増えましたとさ。

どうやら、最近は、/boot なんぞ作らなくていいらしい。RAID 上に OS をインストールする都合上、手動でパーティション作成をしたので、何にも考えずに /boot を作成していたよ・・・・


【2012/03/17】 残っている設定ファイルを、消す方法が分かった。
dpkg --purge コマンドで設定ファイルを削除できた。

まず、現状こんな感じ。

$ dpkg -l | grep linux-image
rc  linux-image-2.6.31-14-generic         2.6.31-14.48                                    Linux kernel image for version 2.6.31 on x86
ii  linux-image-2.6.32-38-generic         2.6.32-38.83                                    Linux kernel image for version 2.6.32 on x86
ii  linux-image-generic                   2.6.32.38.44                                    Generic Linux kernel image

設定ファイル(linux-image-2.6.31-14-generic)を削除してみる。

$ sudo dpkg --purge linux-image-2.6.31-14-generic
(データベースを読み込んでいます ... 現在 233343 個のファイルとディレクトリがインストールされています。)
linux-image-2.6.31-14-generic を削除しています ...
linux-image-2.6.31-14-generic の設定ファイルを削除しています ...
Running postrm hook script /usr/sbin/update-grub.
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-38-generic
Found initrd image: /boot/initrd.img-2.6.32-38-generic
Found memtest86+ image: /memtest86+.bin
done

で、こうなった。

$ dpkg -l | grep linux-image
ii  linux-image-2.6.32-38-generic         2.6.32-38.83                                    Linux kernel image for version 2.6.32 on x86
ii  linux-image-generic                   2.6.32.38.44                                    Generic Linux kernel image

スッキリ!