今更ながらの rsync

恥ずかしながら今までよく分かってなかった。

rsyncプロトコルrsync

rsync は、rsyncd や xinetd によってサーバプロセスとして実行させることができる。
この場合は rsync プロトコルで接続。
相手先を

rsync://hostname.com/module/path

で指定。 デフォルトのポートは 873。

sshrsync

ssh や rsh を使って実行することもできる。
その場合、rsync コマンドを打つと、ssh/rsh で相手先サーバに接続し、そちら側でも rsync が起動される。
相手先を scp の作法

username@hostname.com/path/to

で指定。

サーバ間のデータのやりとりも ssh/rsh の中で行っているっぽい。873等で通信するわけではなさそう。
(実際に rsync コマンド打ちながら netstat 見てみたら、ssh以外の接続が無かった。)

基本のおさらい
rsync -avz --delete --include='hoge' --exclude='*' dest-host:/home/hoge .

みたいな感じで使う。

a :「ファイルのプロパティなんかをそのまんまコピー」みたいなこと。
v : verbose
z : 圧縮して転送
--delete : 同期元に存在しないファイルが同期先にあれば消す

注意点
rsync -avz dest-host:/home/hoge/* .

とすると隠しファイル(.で始まるやつ)はコピーされず、

rsync -avz dest-host:/home/hoge/ .

とするとコピーされる、とか。
これは rsync だけでなく、cp や rm でも同様の仕様。

破壊的イノベーション

参考

business.nikkeibp.co.jp

2つの覇道

1.新市場型破壊:異なる性能尺度、無消費の機会
2.ローエンド型破壊

1の例:PC、キャノンのコピー機(ミニコピア)
2の例:ティファール、イケア(自分で組み立て)、QBハウス、回転寿司、「俺の」

"無消費"を生み出す4種類の"制約"

  • スキル
  • 資力
  • アクセス
  • 時間
スキル

例:PC
ヒント:専門家の助けが必要なもの?

資力

例:フォード、ファミコン

アクセス

例:ウォークマン、ノートPC、携帯、ファミコン(ゲーセンに行かずゲーム)、デジカメ(現像に行かずに写真)、ノマド
ヒント:
既存のものを消費したいができていない「状況」?
顧客が求めているにも関わらずアクセスできていないもの?

時間

例:映画監督がTVドラマ作る(2時間は集中できないが1時間づつなら)
ヒント:かつては消費していたのに時間がかかるので止めてしまったもの?

思ったこと

シーズベースで考える場合(この技術、何かに使えないかな?とか)も、何かについて、上の4つの制約のどれかを壊せないかというふうに考えたらアイデア出てきそう。

Poderosa のポートフォワーディングで rsub を使おうとした際のエラー

逆ポートフォワーディングでサーバ上のファイルをローカルの Sublime Text で編集しようとした時のとこ。
rmate コマンドを実行したら、Poderosaの Portfowarding Gateway

「要求したプロトコルと互換性がないアドレスを使用しました。
::1:52698」

というエラーが出た。「::1」はIPv6ループバックアドレスで、52698というのは rsub のポート。
端末側で IPv6 の優先度を下げるとエラーは出なくなった。rsub がv4にしか対応していないのに、Poderosa の Portfowarding Gateway がv6でつなごうとしたのだろう。
windows 7IPv6 の優先度を下げる方法は以下を参照した。

「IPv6無効設定」はもう古い?IPv6を有効にしたままIPv4の優先順位を上げる設定

ググると「要求したプロトコルと…」というエラーはいろんなところで出ているらしい。IPv6、普及してない上にトラブルの原因となってるなんて…

Excelリボンの「桁区切りスタイル」

Excelのリボンの「ホーム > 数値 > 桁区切りスタイル」をクリックすると、何故かセルが「通貨」扱いになってしまう(数値にしてほしいのに)。
どうも、「桁区切りスタイル」をクリックすると「桁区切り」スタイルが適用されるらしく、スタイルを変更したら制御できた。
スタイルは、「ホーム > スタイル」で変更したいスタイルを右クリックで「変更」を選べばいじれる。

2015/11/26追記
せっかくスタイルを変更してもそのファイルにしか適用されない。Excelのテンプレートを修正したほうがよい。

Chromeのブックマークのリンク切れ、重複削除

※ 2015/11/20 改訂

同期の問題でよく重複が発生する。以下ではモバイルchromeが問題と書いてあるが、どうもPC同士でも重複を生じさせている様子。
Chromeのブックマーク同期で重複し数が増えてしまった時の対処法 Approid大好き

AM-DeadLink というフリーウェアが使えるのだが、いろいろと癖があった。
(Bookmark Sentry という chrome アドオンもあるのだが、アドウェアが仕込んであるらしく… 時間があれば自分でChrome拡張でも作ってみたらよいかもしれないが。)

いろいろやったが、今のところ以下の手順できれいに掃除できそう。
要するに、chromeを使っている端末のうち、一つのPC端末でブックマークをきれいに掃除した後、他の端末は一旦、ブックマークを削除してから同期しなおすということ。

  • google dashboardchrome sync の管理で「同期をリセット」を実行。
    → これをやると、全端末で自動的に一旦、同期がOffになる。
  • ChromeのブックマークをIEにインポート
    • インポート前にIEのブックマークはバックアップの上、削除しておく
    • インポートは「ファイル > インポートとエクスポート」
  • AM-DeadLink で編集
  • IEからChromeにインポート
    • Chromeのブックマークを消してから入れなおし
    • インポートは「ブックマーク > ブックマークと設定をインポート」
  • IEのブックマークを元に戻す。
  • Chromeのブックマークの整理
    • Chromeの「ブックマーク バー」「その他ブックマーク」「モバイルのブックマーク」の区分は一旦、壊れてしまう。
    • 「モバイルのブックマーク」はスマホのを残しておけばそこから復旧されるようなので、PC側では無視してよいかも。
    • IEにインポートする時、勝手にタイトル文字列順でソートされるので、気に入らなければ。
  • ブックマークをきれいにしたChromeで同期を再開。google dashboard で同期ちゃんとブックマークが同期されたことを確認する。
    → AM-DeadLink で表示されたブックマーク件数と google dashboard のブックマーク件数が一致していることを確認。
  • 他のchrome使用端末で、一旦ブックマークを全消去してから同期を再開。
細かい注意点

AM-DeadLinkで 「エラーをリストのトップへ移動」をクリックしても上にこない奴らが居る。どうやらエラーコードが0のものらしい。

直接 AM-DeadLink で Chromeのブックマークをいじろうとしたが、結局ダメだった。

AM-DeadLink でもChromeのブックマークを読めはするが削除はできない。

AM-DeadLink は以下のファイルを直接いじっている。

C:\Users\[ユーザ名]\AppData\Local\Google\Chrome\User Data\Default\Bookmarks

こいつはUTF-8なのだが、一旦Chromeを閉じた上でSJISに変換してから AM-DeadLink を起動すれば編集できた。
しかし、それでも
「同じブックマークを探す」→「Select all duplicates but one」→「削除」
はできなかった。

こんなのに半日もかけてしまった…

Linuxファイル復旧

大事なファイルを rm するありがちなボケをかましてしまい、やり方調べたのでメモ。
extundelete を使うのだが、サーバ環境にあまり影響を与えたくなかったので、なるだけ無難な方法でやったつもり。
rootで以下を実行。

cd /tmp/
curl -L -o e2fsprogs-devel-1.41.12-18.el6_5.1.x86_64.rpm "ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/6.5/x86_64/updates/fastbugs/e2fsprogs-devel-1.41.12-18.el6_5.1.x86_64.rpm"
rpm -ivh e2fsprogs-devel-1.41.12-18.el6_5.1.x86_64.rpm 

curl -L -o extundelete-0.2.4.tar.bz2 "http://sourceforge.net/projects/extundelete/files/latest/download"
tar xjvf extundelete-0.2.4.tar.bz2
cd extundelete-0.2.4
./configure --prefix=/root/rhase/extundelete
make
make install

なお、e2fsprogs-devel-1.41.12-18.el6_5.1.x86_64.rpm の依存関係と gcc-c++ はインストール済みであった。
この後、

/root/rhase/extundelete/bin/extundelete --after 1447727400 --restore-all /dev/sda6

とかやって復旧を実行。

WARNING: EXT3_FEATURE_INCOMPAT_RECOVER is set.
The partition should be unmounted to undelete any files without further data loss.
If the partition is not currently mounted, this message indicates 
it was improperly unmounted, and you should run fsck before continuing.
If you decide to continue, extundelete may overwrite some of the deleted
files and make recovering those files impossible.  You should unmount the
file system and check it with fsck before using extundelete.
Would you like to continue? (y/n) 

とかなんだか怖そうなWarnが出たが y で実行。復旧できた。
ただ、ファイルによっては全然別なファイル名で復旧されてたやつもあった(秘密鍵ファイルが known_hosts~ というファイル名になってた)。必ずしもきれいに復旧できる訳ではなさそう。当然ながら、「もう復旧できないinode」みたいなメッセージもいっぱい出てた。

補足

なるだけ環境に影響を与えたくなかったので、e2fsprogs-devel は上記バージョンを使用。(yum すると他のパッケージがバージョン合わせのためにUpgradeされてしまうので)
上記では curl で落とす手順を書いているが、今回は ftp のポートが空いてないためか、サーバに接続できなかったので、自端末で落としたものをSCPした。

# wget "ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/6.5/x86_64/updates/fastbugs/e2fsprogs-devel-1.41.12-18.el6_5.1.x86_64.rpm"
--2015-11-17 17:34:59--  ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/6.5/x86_64/updates/fastbugs/e2fsprogs-devel-1.41.12-18.el6_5.1.x86_64.rpm
           => `e2fsprogs-devel-1.41.12-18.el6_5.1.x86_64.rpm'
mirror.switch.ch をDNSに問いあわせています... 失敗しました: 名前解決時の一時的な失敗.
wget: ホストアドレス `mirror.switch.ch' を解決できませんでした。

ほんとはインストール先も自分用のパス(/root/rhase)にしたかったが、再配置不可だった…

# rpm -ivh --prefix=/root/rhase/e2fsprogs-devel e2fsprogs-devel-1.41.12-18.el6_5.1.x86_64.rpm                                                                                
警告: e2fsprogs-devel-1.41.12-18.el6_5.1.x86_64.rpm: ヘッダ V4 DSA/SHA1 Signature, key ID 192a7d7d: NOKEY
エラー: パッケージ e2fsprogs-devel は再配置できません。

Word 謎多すぎ…

「見出し」問題

・「見出し」のインデントが右に寄り過ぎ
・段落番号とテキストが離れすぎ
・設定変更してもファイルを閉じて開く直すと元に戻っている

解決方法

文書の最初の見出しにカーソルを合わせ、「ホーム > 段落 > アウトライン」をクリック。
「新しいアウトラインの定義(D)」をクリック。
「インデント位置」「左インデントからの距離」をいずれも0に設定。
「オプション(M)」をクリックし、「番号に続く空白の扱い(W)」を「スペース」に変更。

これで治った。自動でフォーマットが戻るのは、「番号に続く空白の扱い」が関係しているのか?


箇条書きの書式

デフォの書式を変える術はないっぽい。いつも使う書式をスタイルとして登録するしかない。
ただし、このやり方だと、行頭文字を変えるといちいちスタイルのほうも変更されてしまう。行頭文字毎にスタイルを定義するしかないか。

やり方

スタイルの「リスト段落」を右クリックし「変更」をクリック。
「書式 > 箇条書きと段落番号」で好きな先頭文字を選択。
「書式 > 段落」で左インデントを指定。「最初の行」で「ぶら下げ」を指定。(私の場合、左インデント1.5字、ぶら下げ1.5字とした。)