変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

インターネット

【subversion】リポジトリィ操作

svnadmin  –help を参考。

  • 空のリポジトリィを作る
    • 使用方法: svnadmin create  <リポジトリパス>
    • 例: svnadmin  create  /var/www/RepoA
    • ※リポジトリィパスの自分のディレクトリィは作成してくれるが、その親ディレクトリィは作成しない。
    • –bdb-log-keep ログファイルの自動削除を無効 を付けると吉(らしい
  • リポジトリィのバックアップを取る
    • 使用方法: svnadmin dump  REPOS_PATH
    • 通例: svnadmin dump  /var/www/RepoA > backupRepoARevNNN
    • –incremental 直前のrevからの増分をダンプ
    • -r LOWER  –incremental   rev.LOWERからの増分をダンプ
    • -r LOWER:UPPER  –incremental   rev.LOWERからrev.UPPERまでの増分をダンプ
  • リポジトリィにdumpイメージを追記する
    • 使用方法: svnadmin load  <リポジトリパス>
    • 通例: svnadmin load  /var/www/RepoA  < backupRepoARevNNN
  • 応用例: リポジトリィを合併する
    • svnadmin dump /var/www/RepoA | svnadmin load /var/www/RepoB
    • ※似たようなプロジェクト構造の場合、ごった煮になる。
  • 応用例: リポジトリィを空にする
    • rm -rf <リポジトリパス>
    • svnadmin create  <リポジトリパス>

・・・以下、動作未確認・・・

  • リポジトリィの高速コピー
    • 使用方法: svnadmin hotcopy  <リポジトリパス> <新しいリポジトリパス>
    • 例: svnadmin hotcopy  /var/www/RepoA  backupRepoARevNNN
    • ※バージョンやOSで実装の差があるのでデイリーバックアップ向け
  • リポジトリィの修復
    • 使用方法: svnadmin recover <リポジトリパス>
  • リポジトリィのコミットメッセージの誤字脱字などを修正する(ファイルから読む)
    • 使用方法: svnadmin setlog <リポジトリパス> -r <REV> <ファイル>
    • 例: svnadmin setlog /var/www/RepoA  -r 1234  msg.txt
    • –bypass-hooks オプションで、リポジトリィにhooks/pre-revprop-change.batの配置が不要らしい。
    • -r REVは範囲指定(-r LOWER:UPPER)可。
    • ※復元不能につき上書き注意!
  • リポジトリィのコミットメッセージの誤字脱字などを修正する(1行以内)
    • 使用方法: svn propset –revprop -r <REV> svn:log <訂正文> <リポジトリパス>
    • 例: svn propset –revprop -r 24 svn:log 誤字脱字 /var/www/RepoA
    • ※復元不能につき上書き注意!
  • リポジトリィのアップグレード
    • 使用方法: svnadmin upgrade <リポジトリパス>
    • 新しい Subversion の機能を利用できるようにするもので、最も最適化されたリポジトリ状態になる訳では無いらしい。
  • リポジトリィの圧縮
    • usage: svnadmin pack REPOS_PATH
    • Possibly compact the repository into a more efficient storage model.
      This may not apply to all repositories, in which case, exit.
  • リポジトリィの中断
    • 使用方法: svnadmin crashtest <リポジトリパス>
    • リポジトリを開いて中断するだけ。デバッグ用かな?

 



【Apache-2.4】配布はソースのみ!なぜならば・・・

いつのまにかApacheはソースの配布になっていた。
Binaryのページには、
バイナリーのダウンロード負荷が物凄いので諦めたと書いてあり、

Download from your nearest mirror site!

とダメ出しをしていた。
しかし一般にミラーサイトは、『そのままミラーするのが通』なので
勿論、同じ文面が載っている。
このリンクをたどってもWindowsのバイナリー(EXEとかMSI)の入手は不可能だ。
だが、最初のページの下の方には

Downloading Apache for Windows

があり、
Apacheのバイナリーモジュール(EXEファイル等)の配置しているサイトのリストが掲載されていた。

  • ApacheHaus
  • Apache Lounge
  • BitNami WAMP Stack
  • WampServer
  • XAMPP

自分でコンパイルできないなら、この中から選んでDLしてね!と書いてある。
※だが、最後まで読めば「試しに自分でコンパイルすること」自体が罠なんじゃないかな?と、貴方は気が付くことになるだろう。
今回は、Apache Loungeを選択し、Apache 2.4.18 Win64 こと httpd-2.4.18-win64-VC14.zip をGETした。
同ページで、Apache 2.4.18 Win32 もGETできるハズだ。
残念ながらパッケージのインストーラではなく、
インストール後のフォルダ構成をアーカイブしたものであった。
なので、設定の見直しや、必要に応じて、vc_redist_x64/86.exeなどのランタイムも入れなければいけないだろう。
テスト・アンド・エラーを繰り返すしかない様だ。
そもそも、EXEをダブルクリックするだけでApacheサービスを起動するような作りにはなっていないのだから仕方が無いのだ。
諦めずコツコツと少しづつ調整が必要だ。
まずは、直下のReadMe.txtを読み必要な設定を行わなければならない。
Install
——-
ドコかにunzipして中のApache24フォルダをc:/Apache24フォルダにコピーし、DOSプロンプトから httpd.exeを実行せよ!
勿論、

‘httpd.exe’ は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

となるので、

> cd C:\Apache24\bin の後に
> httpd.exe
(OS 10013)アクセス許可で禁じられた方法でソケットにアクセスしようとしました。 : AH00072: make_sock: could not bind to address [::]:80
(OS 10013)アクセス許可で禁じられた方法でソケットにアクセスしようとしました。 : AH00072: make_sock: could not bind to address 0.0.0.0:80
 AH00451: no listening sockets available, shutting down
 AH00015: Unable to open logs
> httpd.exe -k install
Installing the 'Apache2.4' service
(OS 5)アクセスが拒否されました。 : AH00369: Failed to open the Windows service manager, perhaps you forgot to log in as Adminstrator?

となってしまった。
cdでディレクトリィを移動したもののサービスに登録するなら・・・
コントロールパネルからシステム環境変数にC:\Apache24\binを登録する必要があるだろう。
久しぶりに設定してみたら、Windows-10ではこんな画面に変わっていた。
20151218-1
これなら「:」の付け忘れや「;」ミスの心配もないし、上、下ボタンで入れ替えも簡単だ。
そして、サービスを登録するにはやはり「管理者:コマンド プロンプト」が必要だろう。

召喚方法1:

Windowsキーを押す

「すべてのアプリ」をクリック

WのWindows システムツールをクリック。※Wまでスクロールするのがとてもダルい。

展開したメニューの「コマンド プロンプト」を右クリック。

ポップアップしたメニューの上をマウスで「その他」まで移動。

「管理者として実行」をクリックする。

召喚方法2:

Windowsバーに登録しておいた「コマンド プロンプト」のアイコンを右クリック。

ポップアップしたメニューを「コマンド プロンプト」の場所までマウスポインタを移動し右クリック。

さらにポップアップしたメニューの「管理者として実行(A)」をクリックして

「管理者:コマンド プロンプト」を呼び出す。

しかし、それでも、

(OS 10013)アクセス許可で禁じられた方法でソケットにアクセスしようとしました。 : AH00072: make_sock: could not bind to address [::]:80
(OS 10013)アクセス許可で禁じられた方法でソケットにアクセスしようとしました。 : AH00072: make_sock: could not bind to address 0.0.0.0:80
 AH00451: no listening sockets available, shutting down
 AH00015: Unable to open logs
C:\Apache24\bin>httpd.exe -k install
 Installing the 'Apache2.4' service
 The 'Apache2.4' service is successfully installed.
 Testing httpd.conf....
 Errors reported here must be corrected before the service can be started.
(OS 10013)アクセス許可で禁じられた方法でソケットにアクセスしようとしました。 : AH00072: make_sock: could not bind to address [::]:80
(OS 10013)アクセス許可で禁じられた方法でソケットにアクセスしようとしました。 : AH00072: make_sock: could not bind to address 0.0.0.0:80
 AH00451: no listening sockets available, shutting down
 AH00015: Unable to open logs

と少しマシになったダケだった。
-K オプションでサービスは登録できたようだが、
20151217-1
設定した中身がhttpd.exe -k runservice とは・・・恐れ入る。
20151218-4
それに0.0.0.0:80でエラるのだから、80ポートに先約がいるようだ。
20151217-2
VisualStudio Community 2015 が入っているせいらしいので、諦めてアンスコ。
だが、IISはアンスコされず、直にアンスコ。
20151217-3
さて、再起動したもののサービスを起動するとエラー1
Windowsのイベントログを読んでいくと
The Apache service named  reported the following error:
>>> (OS 10013)アクセス許可で禁じられた方法でソケットにアクセスしようとしました。  : AH00072: make_sock: could not bind to address 0.0.0.0:80
The Apache service named  reported the following error:
>>> AH00451: no listening sockets available, shutting down
The Apache service named  reported the following error:
>>> AH00015: Unable to open logs
The Apache service named  reported the following error:
>>> (OS 10013)アクセス許可で禁じられた方法でソケットにアクセスしようとしました。  : AH00072: make_sock: could not bind to address 0.0.0.0:80
The Apache service named  reported the following error:
>>> (OS 10013)アクセス許可で禁じられた方法でソケットにアクセスしようとしました。  : AH00072: make_sock: could not bind to address [::]:80
色々調べたけど、どこかで80ポートを占有しているらしいのだが何が占有しているのかが判らない。
Visual Studio 2015 のランタイム(VC_redist.x64.exe)を放り込んだ後に
— httpd.conf を修正。
Listen 8080
Apache Service サービスを起動。
エラーメッセージは出てこない。
ブラウザからhttp://127.0.0.1:8080/を見る

It works!

80ポートが使えないことを除けばApacheは調子が良さそうだ。
※TLSは何か調整しないとダメっぽいけど・・・
ApacheMonitorをコピーし、
C:\Users\ユーザー名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup を開き
ここにショートカットを貼り付ける。
これで任務完了。
ps.
と思った。
しかし執念深くググってみると、
skypeが怪しいという記事を見つけたが・・・
http://nusoft.jp/blog/archives/110 によると

  • Web Deployment Agent Service
  • SQL Server Reporting Service
  • Windows Remote Management
  • BranchCache

あたりがWindows7のポート80を奪っていたらしい。

どれも心あたりあり過ぎて困るw

skypeなど共々アンスコしてもコマンドプロンプトでnetstat -naoすると
アクティブな接続
プロトコル  ローカル アドレス      外部アドレス           状態            PID
TCP         0.0.0.0:80             0.0.0.0:0              LISTENING       4
消えてない!
http://worktoolsmith.com/2013/01/windows-port80-pid4/ に Microsoft Web Deploy が怪しいと書いてあった。
Microsoft Web Deploy 3.6 があった。インストの日付を見るとVS2015 Community の一部らしいのでアンスコ。
しかしダメだった。
敵を知るにはまず・・・
真正面から向かい合った方がいいだろう。
http://127.0.0.1 を開く。
真っ白な画面。
ソースの窓も真っ白。
そう!サイズが0バイト。
前世期に・・・
デスクトップのスクリーンショットを盗み撮りし80ポートを乗っ取ってブラウザを起動して暴露し、使っている人をびっくりさせる
そんな変なのがあったのを思い出した。
しかし、画面も真っ白だ。
自白を得られる様な気配は全くない。
http://127.0.0.1?aaaaaaaaaaaaaaaaaaaa
と揺さぶりをかけても真っ白。シラを切ったままだ。どうやら口が堅い奴らしい。
このまま黙秘権を行使されても進展が無いので、
仕方なく裏口に回ってみる。
カギはかかっていないが立て付けが悪くなっている。
Windowsマークを右クリックし、Windows-10では禁断のコントロールパネルを開き、アプリケーションの【Windowsの機能の有効化または無効化】を見てみた。
「インターネット インフォメーション サービス」
⇒「World Wide Web サービス」
⇒「セキュリティ」
の中に見るから怪しい【要求のフィルタリング】を発見!
20151218-3
ツールチップには「ルールを構成し、指定のクライアント要求をブロックします」と書いてある。
80ポートを塞いでいる実行犯の0バイトと雰囲気がよく似ている。
試にこのチェックを外すと
再起動を促される。
いくつかのメッセージが表示され
パーセントの数字が少しづつ増えていく
再ログイン。
そして、http://127.0.0.1 を見ると

It works!

Apacheが偉そうにガッツポーズを決めていた。



【Postfix】SMTP認証はCyrus SASLを使ってるのに

SMTPの認証方法には色々ある。
メーラーほどではないにしろ、postfixがrelayする時はSMTP-Auth認証を使うので
【新しい認証方法が出たら対応しなければいけない法則】からは逃れられない。
どんな組み合わせでもちゃんと認証できるようにするのは、とても面倒そうだ。
専門の方にお任せした方が良さそうなので、Cyrus SASL(サイラス サスル)を利用している様だ。
なのに、プリインストなpostfixにCyrus SASLは1つも入っていない。
どうやら外部(127.0.0.1以外)からのメール送信を受け付けるには
inet_interfaces = all
だけでは
postfixがユーザを認証する手段が無く、
# yum install cyrus-sasl*
# systemctl start saslauthd
# systemctl enable saslauthd
も必要だ。
 
 



[SVNManager] シンボリックリンクの罠そして次々と現れる死客

とりあえず参考記事を見ながらインストしてみる。
url: http://park1.wakwak.com/~ima/centos_svnmanager0001.html
apacheとpostfixとdovecotを入れ
svnmanagerをダウンロード。
そしてあちこちに修正を加え、
systemctl { start , enable } everybody した後・・・
① http://*********/svnmanager/ 繋がらない。
SELINUXをOFFり、rebootしてgetenforceで確認。
次に、
# firewall-cmd –permanent –add-service=http
# firewall-cmd –reload
やっと観える。
② しかし中身は403!
ログを見ると
AH01630: client denied by server configuration: /usr/local/svnmanager/
これはrootユーザで
/usr/local/svnmanager-1.09/ から /usr/local/svnmanager/ に貼ったシンボリックリンクのせい。
多分、/usr/local/svnmanager-1.09/config.php.linux から /usr/local/svnmanager-1.09/config.php に貼ったシンボリックリンクも問題になりそうなので一緒に、chown -h apache.apache ************** で、オーナーとグループをapacheに変える。
③ 再び、http://*********/svnmanager/ スタックコールのログが出る。
SQLがはじかれているっぽい。
# firewall-cmd –permanent –add-service=mysql
# firewall-cmd –reload
④ しかし文字しかでない。「PLEASE RELOAD」と、書いてあったので、その通りに【F5】。
⑤ SVNManager からご紹介メールを飛ばそうとすると You entered an invalid email address.
⑥ ユーザを追加しようとすると、 Invalid e-mail address!
# firewall-cmd –permanent –add-service=smtp
# firewall-cmd –reload
# firewall-cmd  –list-services
dhcpv6-client http mysql smtp ssh
それでも解決できなので、
# systemctl stop firewalld
しかし、解消できない。
メール垢用のスクリプトも用意してみるが・・・

# cat addmailuser.sh
echo "start to create mail account user=$1 ssh-password=$2 mail-password=$3"
# ログインできないユーザを作る
useradd -s /sbin/nologin $1
# パスワードを設定する
passwd $1 << .EOT.
$2
$2
.EOT.
# メアド用のパスワードの設定
# `uname -n`の部分は、メアドが ユーザ名@マシン名 になるので、環境に合わせて、要調整。
echo "$3" | saslpasswd2 -p -u `uname -n` -c $1
# 設定済みの内容を確認
sasldblistusers2
chgrp postfix /etc/sasldb2
echo END
# 失敗した時のコマンド
# saslpasswd2 -d $1 -u `uname -n`

/etc/php.iniの
sendmail_path = /usr/sbin/sendmail -t -i

sendmail_path = /usr/sbin/sendmail.postfix -t -i
に変えても無駄。
・・・
ここで終了!
 
 
 



【KVM】キックスタートを使ったCentOS7.1のゲストのインストール

CentOS7のKVMゲストをvirt-installで作るには
/rootに以下のファイルを作り、
1.centos.7.ks.cfg  (キックスタートファイル)

#参考 url
#http://ngyuki.hatenablog.com/entry/2013/10/16/233656
#http://qiita.com/ngyuki/items/fd469fec1cea873de0bf
#version=RHEL7
install
text
cmdline
skipx
#とりあえず画面もキーボードも日本語で設定。
lang ja_JP.UTF-8
keyboard jp106
timezone Asia/Tokyo --isUtc --nontp
#--noipv6は好み次第、Win10では青い画面の原因。
network --hostname=ドメイン付のホスト名 --onboot yes --device eth0 --bootproto dhcp --noipv6
zerombr
bootloader --location=mbr
#ラフなパーテーション設定なので要確認
clearpart --all --initlabel --drives=vda
part /boot --fstype=xfs --size=500 --asprimary
part swap --size=1024
part / --fstype=xfs --size=1 --grow --asprimary
#仮のパスワードはpassword。
rootpw password
user --name=管理者のユーザID --password=password
auth --enableshadow --passalgo=sha512
#邪魔なものは全て外しておきますので、適宜調整してください。
selinux --disabled
firewall --disabled
firstboot --disabled
reboot
#
repo --name="CentOS"  --baseurl=http://ftp.riken.jp/Linux/centos/7/os/x86_64
#以下は最小限程度です。必要なパッケージは適宜追加してください
%packages
@base
@core
%end

2.create_kvm_centoa7.1_guest.sh (virt-installのパラメータを組上げるシェルスクリプト)

#ネットワークインストールするリポジトリURL指定
 REPOS=http://ftp.riken.jp/Linux/centos/7/os/x86_64/
#KVM上での名前(CentOS7.1)を指定
 IMAGE_NAME=CentOS7.1
 IMG_PATH=/var/lib/libvirt/images
#virt-installでインストールする ディスクサイズは20GBになっています。
 virt-install \
 --name ${IMAGE_NAME} \
 --ram 1024 \
 --disk path=${IMG_PATH}/${IMAGE_NAME}.qcow2,size=20,format=qcow2 \
 --vcpus=1 \
 --hvm \
 --os-type linux \
 --os-variant=rhel7 \
 --nographics \
 --location="${REPOS}" \
 --cpu host-passthrough,+lahf_lm \
 --network bridge=br0 \
 --initrd-inject=/root/centos.7.ks.cfg \
 --extra-args='inst.ks=file:/centos7.ks.cfg console=ttyS0'

sh ./create_kvm_centoa7_guest.sh  を実行して暫く待つ。
※この例ではミラーサイトを参照してインストールしていますが
フルパッケージのISOイメージをダウンロードして使った方がいいでしょう。

  • centos.7.ks.cfgの repo文を削除
  • create_kvm_centoa7_guest.shの REPOS変数をダウンロードしたISOファイル名に変える。

※/tmp以外にISOイメージを配置すると、いくら工夫(777)しても「読めない」エラーをすり抜けることができませんでした。
 



【KVM】VMのコピーはやらない方がよさそう

VMをコピーして使うとIPアドレスとかマシン名とか色々被る。
ディスクイメージファイルをコピる。
cd /var/lib/libvirt/images
cp  VMsrc.qcoq2  VMdis.qco12
定義ファイルをコピる。
/etc/libvirt/qemu/VMsrc.xml
/etc/libvirt/qemu/VMdis.xml
定義ファイルの中も名前を変える
<name>VMdis</name>
<uuid>後述</uuid>
<source file=’/var/lib/libvirt/images/VMdis.qcow2’/>
<mac address=’後述‘/>
後述なのですが・・・

28.8. 新規の特有 MAC アドレスを生成

に書いてあるpythonのコードは
./macgen.py: 行 4: import: コマンドが見つかりません
./macgen.py: 行 6: 予期しないトークン `(‘ 周辺に構文エラーがあります
./macgen.py: 行 6: `def randomMAC():’
とエラーになって使えません。

sh ./macgen.py
じゃダメだよね。

python ./macgen.py
 File "./macgen.py", line 13
 print randomMAC()
               ^

まだダメらしい。
pythonの仮想環境をインスト。
これで、
# pyenv versions
でインスト済みのバージョンを調べ、無かったら・・・
# pyenv install –list
でインストできるバージョンを調べ、
# pyenv install インストールするバージョン
※要らないバージョンは uninstall  で削除。
でインストした後に
#  pyenv local 3.4.3
# python –version   で確認。
とすれば、自分だけインストールした中から好きなpythonを使える。
っと便利になったところで・・・結局は・・・
print randomMAC()
この辺はRedHatがそのような文化らしいので、
CentOSでは
print (randomMAC())
と変えなくてはいけないらしい。
pyenv での変更は ユーザのホームディレクトリィの.pyなんたらファイルを2個消して再ログインすればOK。
これでMAC ADDRESSはGET。
virtinst.utilパッケージを使うともっと良い!と書いてあったが
ImportError: No module named virtinst.util
そんなものはここにはなかった。
find / -name *virtinst* -print に願いをかけたら
/usr/share/virt-manager/virtinst と答えが返ってきた
中にちゃんと util.py もある。
export PYTHONPATH=”/usr/share/virt-manager:$PYTHONPATH” の後もエラー
util.py には randomUUIDは、あるものの パラメータ CONN が必要で・・・
ってソース読んだらテスト用のパラメータだった。 orz
uuidToStringとrandomMACが無かった!
でもUUIDは取れたし、MACアドレスはサンプルに載っていたので
new_uuid_mac.pyは

※以下はRedHatの参考コード+赤い文字は書き換えた部分
#!/usr/bin/python ※which pythonで見つかったパスを設定する
# -*- coding: utf-8; mode: python; -*-
#
# export PYTHONPATH="/usr/share/virt-manager:$PYTHONPATH"
import sys; sys.path.append('/usr/share/virt-manager')
import virtinst.util; print("MAC UUID: " + virtinst.util.randomUUID("dummy"))
import random
def randomMAC():
 mac = [ 0x00, 0x16, 0x3e, random.randint(0x00, 0x7f), random.randint(0x00, 0xff), random.randint(0x00, 0xff) ]
 return ':'.join(map(lambda x: "%02x" % x, mac))
print("MAC ADDRESS: " + randomMAC())

でいいんじゃないかな?
で、
結局は
pythonの新バージョンとか仮想環境の準備は全く不要でした。
 
あ、マシン名は
ネットワークの接続をハズして・・・
virsh start  VMdis
virsh console VMdis

vi /etc/hostname で書き換えてreboot
起動せずに/etc/hostnameを書き換えたい場合はループデバイスを使ってマウントしてしまえばいいけど
CentOS7では自動作成したディスクでは皆同じなので、ゲスト側のボリュームグループ名を一時的に書き換えてからマウントすることになる。

というわけで、
面倒な気がしても
実際には

キックスタートファイル

を作って
virt-installで新インストした方がよさそうだ。
 
 
 
 
 
 
 
 


    


【TortoiseSVN】ちょっと使ってみた

サイト: https://tortoisesvn.net/downloads.html から
32ビット版と64ビット版をダウンロードする。
日本語化する場合は同じページの Language packs から 日本語対応モジュールをDLする。日本語マニュアルもあるので一緒にDLしておこう。
インストールのCustomSetupでcommand line client toolsが対象外になっているがインストールするように変更しておけば C:\Program Files\TortoiseSVN\bin あたりにsvnadmin.exeなども入るので、バックアップのBATファイルを作る時や他のマシンにリポジトリィを移行する際に

svnadmin dump xxxxx

‘svndump’ は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。 (汗
とならずに済むようにBATファイルの中で

PATH=$PATH;C:¥Program Files¥TortoiseSVN¥bin

とパスを通した方がいいかもしれない。
リポジトリィを作る時は

svnadmin create  リポジトリィのパス名

※フォルダのアイコンは普通のままなので、http://nnspaces.sblo.jp/article/3365748.html を参考にsvnのアイコンを設定してみたが、Windows 10ではなぜか?うまくいかず、何かの操作のタイミングでアイコンが変わった。

フォルダの中にこんなDesktop.iniファイルを作り

[.ShellClassInfo]
IconIndex=0
IconFile=アイコンのファイル名
InfoTip=

@attrib +s . でフォルダにシステム ファイル属性を設定していた。

※アイコンを戻す時はattrib -s .

Windows7あたりからBATファイルをダブルクリックしたときの実行時のカレントドライブとカレントパスはファイルとはどこか別の場所らしいので・・・

%~d0    ※BATファイルのパスのドライブ名を抽出⇒c: とかになる
cd %~p0  ※BATファイルのパスのフルパス名を抽出⇒¥svn¥rep¥ とかになる

をBATファイルの先頭につけカレントのドライブとパスを一致させ解決。

これを付ければカレントのフォルダで何かしてほしいBATをコマンドプロンプトから起動しなければいけない制約がなくなる。

勿論、BATファイルのショートカットを作れば、作業フォルダがC:\svn\repとかになっているので自動的に解決してくれる。

だが、設定がキャッシュされないっぽいので、フォルダの中にDesktop.iniとsvn.icoを残さないとスグに元ってしまうのはどうしようもないようだ。

リポジトリィのバックアップは

svnadmin dump   リポジトリィのパス名  >  dumpログファイル名

リポジトリィのパス名は、リポジトリィブラウザのURLにあるfile:///やhttp://等が使える
リポジトリィのリストアは

svnadmin create リポジトリィのパス名
svnrdump   load  リポジトリィのパス名 < dumpログファイル名

※リビジョンの変更が無効化されている場合は、別途有効化しないとダメ。
いくつもリポジトリィを作った場合、リポジトリィブラウザにurlをいくつも手入力しなければならない。
面倒な時は、こんな風なsvnHistory.regファイルを作っておけば

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\TortoiseSVN\History\repoURLS]
"url0"="file:///C:/svn/rep/a"
"url1"="file:///C:/svn/rep/b"
"url2"="file:///C:/svn/rep/c"

ファイルのダブルクリックでレジストリィに登録してくれるのでリポジトリィブラウザを開けばすぐ使える。
リポジトリィブラウザのurlの履歴リストのゴミは、キーで選択状態にして、シフト+Deleteキーで1つづつ消せるし、設定で一発クリアも可。
“C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe”のショートカットのリンク先に

/command:repobrowser /path:"file:///C:/svn/rep/a/trunk"
などと追記すると、スグお目当てのリポジトリィを操作できる。


【Win10】DiXiM Player(4)

再びDiXiM PlayerからBDZ-EW500を起動できなくなった。
もう何度も試行しても起動する気配が無くなったので
AndroidのGoogle PlayからWONアプリのMike Webb製「Wake On Lan」でBDZ-EW500を起動できた。
このアプリはAndroidのウエジットでもグループや機器を起動したり電源状態をみたりできる。
初回のLANスキャンではHyper-VのVMも反応するけど、BIOSの設定でWON機能をONにしておかないとダメなようだ。
とりあえず居間まで移動しなくてもスマホの画面から起動できる様になったのは嬉しい。
 
 



【Windows10】Bluetoothの音質

普通にBluetoothのヘッドセットを繋ぐと酷い音質だ。
「コントロールパネル」「オーディオ デバイスの管理」で
ヘッドセットの「プロパティ」の「詳細」を観ると・・・

モノラルの電話音質になるので、
「Bluetoothのヘッドセットに音質を求めるのは無駄」
と云うことになるが
「コントロールパネル」の「デバイスとプリンター」でヘッドセットの「プロパティ」の「サービス」を観ると「ハンズフリーテレフォニー」にチェックが入っているため「どのモードでも使える共通モード」として【モノラルの電話音質】になっているのだ。
だから、マイクに見切りを付けて「ハンズフリーテレフォニー」のチェックを外す。

すると、ヘッドセットから音が出なくなるので、一旦ヘッドセットのペアリングを削除し、もう一度ペアリングをし直すと

共通モードからもう少しマシなモードに切り替わったからアプリはこれに自動追尾できずサイレントになった訳だ。
このままでもいいけど、多分低音とか音の広がりはかなり足りないので、
画面右下のサウンドマークを右クリックし「サウンド」を選択、(画面が出るまで暫く待って)「再生」タグから使ってるデバイスをリストから探し出し「プロパティ」から「音の明瞭化」で

お好みで設定するといいだろう。

そこまでしてもBTW04の音質は低音に物足りなさを感じるが、イヤフォンなのだから仕方が無い、
なので、なかなかDR-BT21Gを手放せない。(笑



【KVM】 久しぶりにリモートからのvirt-installしてみたら・・・

久々にCentOS7.0のゲストOSを新たに作ろうとしたら・・・
アレ?インスト画面が出ない!
コンソールからやってもブートログが出るだけ!
インストーラーがGUIしか考えていないものになったのか?
https://virt-manager.org/download/ の
virt-viewer 2.0 (gpg) Monday Jan 12th, 2015 Win x86 MSI (gpg) Win x64 MSI (gpg)
をクリックしてSPICEのviewer(クライアント)をダウンロード。
しかしインストーラーを起動すると、ファイルコピーをするだけ。
どこだ!Windows10だけに(爆
C:\Users\${ユーザー名}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
を見るとVirtViewerが出来ていた。中のRemote viewerをクリックすると接続設定画面が出てくる。
CentOSゲストをインストールするファイルのvirt-installのパラメータの

--nographics \

    --accelerate \
    --graphics spice,listen=0.0.0.0 --channel spicevmc \
    --video qxl \

に変えてインストール。
virsh dumpxml CentOS7.0 | grep spice で
<graphics type=’spice’ port=’5900‘ autoport=’yes’ listen=’0.0.0.0′>
と出たのでポートを開ける。
firewall-cmd –zone=public –permanent –add-port=5900/tcp
systemctl restart firewalld
ここでRemote viewerからspice://192.168.*.*:5900 で繋ぐと、・・・手遅れだった。
今度はRemote viewerを設定してから再インスト。
ブートログは順調に流れたが・・・
リモートやコンソールから接続と同様に
[  OK  ] Reached target Basic System
からGUIに切り替わらない!
Windows10のインストで使った-cpuオプションのh,+lahf_lmも
./create_kvm_centos7_guest.sh: 行 22: h,+lahf_lm: コマンドが見つかりません
の始末。※ 途中の行末に\ が抜けていたのが原因だった。
世の中、何か変わってる。
to be continue…
ps.
旧バージョンも試してみた。
http://www.spice-space.org/download.html から
spice-client-win32-0.6.3.zip と wspice-x86_20110308.zip をDLし
wspice-x86_20110308.zipを展開したLIBフォルダに
spice-client-win32-0.6.3.zipの中身をコピーしないといけないっぽい。
しかしwspice-x86_20110308.zipが壊れているっぽく解凍できない。
HDDを検索したら前にDLしたwspice-x86_08032011.zipが残っていたのでこれを使うことにする。
しかし、やはりダメ。
yum -y install spice-server
パッケージ spice-server-0.12.4-9.el7_1.3.x86_64 はインストール済みか最新バージョンです
何もしません
spice-clientで矢印やFきーを押すと見慣れた起動中バーが表示される
横にはCentOS Linux 7 (Core) dracut-033-240.el7 (Initramfs)と書いてある。
ぐぐってみると

Issue while creating a CentsOS 7 KVM Guest

を見るといいらしいのだが・・・
とりあえず起動ログを見ると、何か失敗したらしい
journalctl コマンドで
vda: failed to get path uid
とか
dhcp failed
の文字が見える。
testモードで起動すると、HDDが無いやん!となるのは知っているので、そうなってしまったらしい。
先のURLの記事を見ると、まさにその通りになっていた。
どうやらキックスタートファイルを作らないとダメになったようだ。
もう設定はグチャグチャだ。
 
 
 
 




top