Wine公式に書かれているDebian用のダウンロード先がいつの間にか別の所に変わっていて、1.3のパッケージがあったので入れてみた。パッケージはDirectory listing | Wine (wine-unstable) packagesにある。インストールは自己責任でリポジトリは公開しないというようなことが書かれている。”(for Debian Sid)”とあるがsqueezeでも問題なくインストールできる。
とりあえず、wine-unstableだけインストールしてみる。
$ wget http://dev.carbon-project.org/debian/wine-unstable/wine-unstable_1.3.24-0.2_amd64.deb $ sudo dpkg -i wine-unstable_1.3.24-0.2_amd64.deb 未選択パッケージ wine-unstable を選択しています。 (データベースを読み込んでいます ... 現在 127711 個のファイルとディレクトリがインストールされています。) (wine-unstable_1.3.24-0.2_amd64.deb から) wine-unstable を展開しています... dpkg: 依存関係の問題により wine-unstable の設定ができません: wine-unstable は以下に依存 (depends) します: wine-bin-unstable (= 1.3.24-0.2) ...しかし: パッケージ wine-bin-unstable はまだインストールされていません。 wine-unstable は以下に依存 (depends) します: libwine-alsa-unstable (= 1.3.24-0.2) | libwine-oss-unstable (= 1.3.24-0.2) | libwine-esd-unstable (= 1.3.24-0.2) | libwine-jack-unstable (= 1.3.24-0.2) | libwine-nas-unstable (= 1.3.24-0.2) ...しかし: パッケージ libwine-alsa-unstable はまだインストールされていません。 パッケージ libwine-oss-unstable はまだインストールされていません。 パッケージ libwine-esd-unstable はまだインストールされていません。 パッケージ libwine-jack-unstable はまだインストールされていません。 パッケージ libwine-nas-unstable はまだインストールされていません。 wine-unstable は以下に依存 (depends) します: libwine-gl-unstable (= 1.3.24-0.2) ...しかし: パッケージ libwine-gl-unstable はまだインストールされていません。 wine-unstable は以下に依存 (depends) します: libwine-print-unstable (= 1.3.24-0.2) ...しかし: パッケージ libwine-print-unstable はまだインストールされていません。 wine-unstable は以下に依存 (depends) します: libwine-sane-unstable (= 1.3.24-0.2) ...しかし: パッケージ libwine-sane-unstable はまだインストールされていません。 wine-unstable は以下に依存 (depends) します: libwine-cms-unstable (= 1.3.24-0.2) ...しかし: パッケージ libwine-cms-unstable はまだインストールされていません。 wine-unstable は以下に依存 (depends) します: libwine-gphoto2-unstable (= 1.3.24-0.2) ...しかし: パッケージ libwine-gphoto2-unstable はまだインストールされていません。 wine-unstable は以下に依存 (depends) します: libwine-ldap-unstable (= 1.3.24-0.2) ...しかし: パッケージ libwine-ldap-unstable はまだインストールされていません。 wine-unstable は以下に依存 (depends) します: libwine-openal-unstable (= 1.3.24-0.2) ...しかし: パッケージ libwine-openal-unstable はまだインストールされていません。 dpkg: wine-unstable の処理中にエラーが発生しました (--install): 依存関係の問題 - 設定を見送ります 以下のパッケージの処理中にエラーが発生しました: wine-unstable
wine-bin-unstable,libwine-alsa-unstable(or libwine-oss-unstable or libwine-esd-unstable or libwine-jack-unstable or libwine-nas-unstable),libwine-gl-unstable,libwine-print-unstable,libwine-sane-unstable,libwine-cms-unstable, libwine-gphoto2-unstableに依存していて、置いてあるパッケージのほとんどを入れる必要があることが分かる。
まとめてダウンロードしてインストールする。 (さらに…)
takaaki 7月 12th, 2011
Posted In: ソフトウェア
mixiのSSLでのログインは標準では有効になっておらず、セッションが切れた場合にも標準のhttpになる。SSLでログインするにはリンクをクリックする必要がある。また、このリンクをクリックすると元々見ていたページに戻らない。
mixiの設定変更ではどうにもできないので、Greasemonkeyのスクリプトを書いてみた。
// ==UserScript==
// @name mixi SSL Login
// @namespace http://www.lwlv.net/
// @include http://mixi.jp/*
// ==/UserScript==
(function(){
var loginForm = document.getElementsByName('login_form')[0];
var sslLink = document.getElementsByClassName('sslLink01')[0];
loginForm.action='https://mixi.jp/login.pl';
sslLink.innerHTML='SSLログイン有効';
sslLink.setAttribute('style','color:#f00;');
})();
ログイン情報の送信先をhttpsのものに書きかえるだけのスクリプト。インストールはここから。
takaaki 6月 30th, 2011
タグ: Firefox, Greasemonkey, js, mixi
TwitterクライアントJanetterはメモリ食いでメモリ消費が2GBに上ることがある。このため定期的に再起動する必要があるという。これを自動化する。自動化のためにバッチファイル、VBS、タスクスケジューラを使った。
まず、メモリ使用量に応じて再起動させるバッチファイルを作成する。テキストエディタで次のように記述する。XP Pro、Vista以降で使えるコマンドを使っているのでXP Homeでは動かない。(tasklist,taskkill)
@echo off
rem 終了させるプログラムの名前(拡張子は付けない)
set AppName=Janetter
rem 終了させるプログラムのフォルダ
set AppFolder=C:\Program Files (x86)\Janetter\bin
rem 終了させるメモリ使用量(kB)
set MaxMemUsage=300000
rem プログラムが起動しているかチェック
tasklist /fi "memusage ge %MaxMemUsage%" | find /i "%AppName%"
rem 起動していない場合、処理を終了
if errorlevel 1 goto end
:kill
rem プログラムを終了させる
rem タスクトレイにアイコンが残るので/fオプションは使用しない
taskkill /im %AppName%.exe
rem 終了確認
tasklist | find /i “%AppName%”
rem 終了していない場合、再度実行
if not errorlevel 1 goto kill
rem プログラムを起動する
cd %AppFolder%
start %AppName%.exe
:end
テキストエディタで上のスクリプトを記述し、変数の値を環境に合わせて変更する。
通常、Janetter.exeのあるフォルダは
となる。
拡張子をbatにして保存する。
追記(2011/7/21):挙動が怪しいのでJanetterServ.exeの終了も待つように変更
takaaki 5月 23rd, 2011
Posted In: ソフトウェア
テレビチューナーカードGV-MVP/RXはlennyではパッケージをインストールするだけで使えたが、squeezeでは使えなくなっている。squeezeでも使うには手を加える必要がある。
ファームウェアとツールのパッケージをインストールする。
$sudo aptitude install firmware-ivtv ivtv-utils
再起動して、設定を反映させてから受信テストを行う。
ivtv-tuneで映るチャンネルに変更する。
$ivtv-tune -d /dev/video0 -t japan-bcast -c チャンネル番号
ファイルに書き出す。
$cat /dev/video0 > test.mpg
Ctrl+Cで停止させ、できたファイルを再生してみる。録画はできているが音声が入っていなかった。dmesgを確認すると次のようなものが表示されていた。
i2c i2c-1: Failed to register i2c client wm8739 at 0x1a (-16)
調べてみるとUbuntuでもカーネルが原因で同様の症状が出ていることが分かった。Ubuntuではカーネルを再構築すると正常に動作するので、Debianでも同じ対策を行う。 (さらに…)
takaaki 5月 20th, 2011
Posted In: ソフトウェア
Debianをsqueezeにアップグレードして以降、DiCEでお名前.comのIPアドレス更新がうまくいってなかった。放っておいたらルーターの再接続でIPアドレスが変わってしまい問題になった。表示されたメッセージは「Error: サーバーに接続できませんでした」。
調べてみるとOpenSSLのライブラリへのシンボリックリンクが必要ということなので、下の記事を参考に作業してみた。
#locate libssl.so
#locate libcrypto.so
で、ライブラリを探し、シンボリックリンクを張る
# ln -s /usr/lib/libssl.so.0.9.8 /usr/lib/libssl.so.0
# ln -s /usr/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.0
これでOK
あとはDiCEを実行すれば、IP更新できる・・・はず
書いてある通りにやってみたが、同じ環境なのに動かなかった。
ふと、64bitOSということを思い出して、32bitのライブラリにリンクしてみた。
$ sudo ln –s /usr/lib32/libssl.so.0.9.8 /usr/lib/libssl.so.0
この後試すとIPアドレスの更新に成功した。libcrypto.soはリンクしなくてもお名前,comは動いた。
同じ64bitなのに同じ方法でなぜ動かないのかわからない。それにlennyの時は何もしなくても動いた。
takaaki 3月 7th, 2011
Posted In: ソフトウェア
ウェブサーバーを作り直したのでメモ。
$sudo aptitude install apache2 libapache2-mod-php5 mysql-server php5-mysql
mysqlのrootパスワードが聞かれるので入力。
セキュリティの設定とPHPの有効化の設定。
コメントをはずして、デフォルトで全てのディレクトリにローカル以外からアクセスを禁止しておく。
$sudo vi /etc/apache2/conf.d/security 8 <Directory /> 9 AllowOverride None 10 Order Deny,Allow 11 Deny from all 12 Allow from 192.168.0.0/24 #LANのネットワーク 13 </Directory>
余計な情報をヘッダーに出力させない。
29 ServerTokens Prod
ServerSignatureをOff
40 ServerSignature Off 41 #ServerSignature On
ユーザーディレクトリでPHPが無効になっているので有効にする。
$sudo vi /etc/apache2/mods-available/php5.conf 8 # To re-enable php in user directories comment the following lines 9 # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it 10 # prevents .htaccess files from disabling it. 11 #<IfModule mod_userdir.c> 12 # <Directory /home/*/public_html> 13 # php_admin_value engine Off 14 # </Directory> 15 #</IfModule>
Onにはするな、と書いてあるようなので素直にコメントアウト。コンテンツをuserdirで動かしていたのでPHPが全部動かなくなった。これに気付かず今回サーバーを作り直した。
必要なモジュールの有効化
$sudo a2enmod <モジュール名>
無効化
$sudo a2dismod <モジュール名>
Apacheの再起動
$sudo /etc/init.d/apache2 restart (さらに…)
takaaki 2月 18th, 2011
Posted In: ソフトウェア
Debian 6.0(squeeze)にKVM環境をインストールする。管理ツールはaptでインストールできで操作が簡単なvirt-managerを使う。
$sudo aptitude install virt-manager qemu-kvm hal
halが入ってないとネットワークデバイスが取得できないので一緒にインストールする。
パッケージをインストールしたら、libvirtグループに管理するユーザーを登録する。
$sudo adduser <ユーザー名> libvirt
設定が勝手に変わらないようにNetwork Managerを削除
$sudo aptitude remove network-manager
ブリッジにするデバイスの構成をmanualして、ブリッジに設定を記述する。
auto eth0 iface eth0 inet manual auto br0 iface br0 inet static address 192.168.0.10 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.1 bridge_ports eth0 #ブリッジにするデバイス bridge_stp off #STPをOff
KVMとブリッジを有効にするために再起動する。
$sudo reboot
メニューバーから「アプリケーション」→「システムツール」→「仮想マシンマネージャ」。または、コマンドで起動する。
$virt-manager
ゲストはウィザードで簡単に作成できる。
takaaki 2月 18th, 2011
Posted In: ソフトウェア
今までは/etc/sudoersをのコメントをはずしてsudoグループを登録する必要があったが、squeezeでは標準で登録されている。sudoグループに入れるだけでいい。
sudoが入っていない場合インストールする
#aptitude install sudo
sudoグループにユーザーを追加
#adduser <ユーザー名> sudo
adduserでユーザーをグループに入れることができる。
takaaki 2月 16th, 2011
Posted In: ソフトウェア
旧ディスクのデータを取り出すためにRAID+LVMのディスクをマウントしたのでメモ。
構築済みのRAIDを追加するにはこうする。
$sudo mdadm -A <RAIDアレイの名前> <RAIDデバイスの名前> (<RAIDデバイスの名前>)…
/dev/sdc2と/dev/sdd2のRAIDを追加する場合(すでにRAIDアレイmd0,md1が存在する)
$sudo -A /dev/md2 /dev/sdc2 /dev/sdd2
ボリュームグループを認識させる
$sudo vgscan
認識されたボリュームグループが表示される
全てのボリュームグループを有効にする
$sudo vgchange -a y
ボリュームグループを指定しないと全てが対象になる
特定のボリュームグループを有効にする
$sudo vgchange -a y <ボリュームグループ>
ボリュームグループを無効にする
$sudo vgchange -a n <ボリュームグループ>
論理ボリュームのマウント
$sudo mount /dev/<ボリュームグループ>/<論理ボリューム> <マウント位置>
または
$sudo mount /dev/mapper/<ボリュームグループ>-<論理ボリューム> <マウント位置>
普通にマウント
ボリュームグループの名前が同じだと認識できないので、ホスト名と世代番号を付けておくといいと思う。
RAIDを追加してから、ボリュームグループを有効にして、論理ボリュームをマウントすればいい。
$sudo mdadm -A <RAIDアレイの名前> <RAIDデバイスの名前> (<RAIDデバイスの名前>)…
$sudo vgscan
$sudo vgchange -a y <ボリュームグループ>
$sudo mount /dev/<ボリュームグループ>/<論理ボリューム> <マウント位置>
takaaki 2月 16th, 2011
Posted In: ソフトウェア
Debian 6.0(squeeze)のインストール先にWesternDegital WD20EARSを使った。これを2台使って、ソフトウェアRAIDとLVMを構成する。ただし、このディスクには3つ問題がある。
まず、IntelliParkの8秒はやりすぎなので5分程度に設定する。設定にはwdidle3.exeを使う(WDのサポート外なので注意)。
A:\>C:
C:\>wdidle3.exe /s300
次にAFT対策、論理セクタと物理セクタがずれないようにする。MBRパーティションにsqueezeをインストールする場合は最初のパーティションは2048セクタで開始するので対策は不要。2TBのディスクを使うとGPTになり、なぜかずれる。そのため、先にGPartedでパーティションを切っておく。起動用の小さなパーティションと他のパーティションを未フォーマットで切っていく。
起動用パーティションを作る。AlignをMiBにして先頭に最小単位1MiBの未フォーマットパーティションを作り、右クリックメニューの情報で開始セクタが2048セクタになっているのを確認する。ここにGrubがインストールされる。
同様に他のパーティションも切っていく。RAIDを組むので2台に同じように切る。
3つの問題の問題が解決した所でインストールを始める。パーティションは1MB,256MB,残りの3つに切った。HDD以外にドライブを積んでいないのでUSBメモリからインストールする。ここでもUNetbootinを使う。DebianとStable_NetInstall_x64を選択してUSBメモリに書き込む。書き込んだUSBメモリからブートする。インストーラが起動したら、USBメモリを抜きインストール開始(USBメモリがsdaになるのを防ぐ)。
インストールを進めて、ディスクのパーティショニングで手動を選択。あらかじめ切っておいたパーティションを次のようにする。予約済みBIOSブート領域(biosgrub)を作らないとGRUBのインストールに失敗する。(作らなくても警告が出ず、何度やっても失敗するのではまった。ガイドでパーティショニングすると勝手に作られる)
物理パーティションの構成
/dev/sda1(/dev/sdb1) | 1MB | 予約済みBIOSブート領域(biosgrub) |
/dev/sda2(/dev/sdb2) | 256MB | RAIDの物理ボリューム(/dev/md0) |
/dev/sda3(/dev/sdb3) | 2TB | RAIDの物理ボリューム(/dev/md1) |
次にソフトRAIDを設定する。ソフトウェアRAIDの設定から/dev/sda2と/dev/sdb2、/dev/sda3と/dev/sdb3をそれぞれチェックしてRAID1アレイを作成する。小さい方のアレイにext4を指定して、マウントポイントを/bootに指定。大きい方をLVMの物理ボリュームに指定してボリュームグループを作成する。次に、ボリュームグループから必要なだけ論理ボリュームを作成して、完了を選ぶ。切り出した論理ボリュームにそれぞれ利用方法とマウントポイントを指定する。次のような構成にした。後で足りなくなった容量を拡張できるようにボリュームグループを使い切らずに残してある。
パーティションの構成(RAID)
/dev/sda1 | 1MB | biosgrub |
/dev/md0 | 256MB | ext4 |
/dev/md1 | 2TB | LVMの物理ボリューム |
パーティションの構成(LVM)と利用方法
パーティション | 容量 | 利用方法 | マウントポイント |
/dev/sda1 | 1MB | biosgrub | – |
/dev/md0 | 256MB | ext4 | /boot |
論理ボリューム | 20GB | ext4 | / |
論理ボリューム | 200GB | ext4 | /home |
論理ボリューム | 20GB | ext4 | /usr |
論理ボリューム | 1.5TB | ext4 | /usr/local |
論理ボリューム | 20GB | ext4 | /var |
論理ボリューム | 5GB | ext4 | /tmp |
論理ボリューム | 4GB | スワップ領域 | – |
設定し終えたら変更を書き込む。あとは通常通りインストールを進める。ソフトウェアの選択にSSHサーバーが追加されていた。インストール直後からSSHで操作ができて便利。
インストール後は、2つ目のディスクにも起動情報を書き込む。パーティションとして見えるのでbiosgrubパーティションを1つ目のディスクから2つ目のディスクへコピーするだけで済む。
$ sudo dd if=/dev/sda1 of=/dev/sdb1 bs=512
2048+0 records in
2048+0 records out
1048576 bytes (1.0 MB) copied, 0.0783861 s, 13.4 MB/s
$
参考
メモ帳: Ubuntu9.10 で NAS on RAID1(3/6)
takaaki 2月 16th, 2011