Fu-sen.さんについて

あらまし

Fu-sen.さんは様々な名前を持つ。 以下は同一人物の名称である。

  • Fu-sen.
  • BALOON
  • 志賀慶一

また、デル男、という渾名もあるようだ。

わざわざ取り上げるのは、次のような事情からである。

彼はLinux界隈では有名である。 それも、あまり良くない意味で有名である。

彼が有名たる所以は次のようなことからだ。

  • 数多くのLinuxディストリビューション関連ウェブサイトを開設
  • Linuxをインストールしたコンピュータを販売
  • 多くのディストリビューションのフォーラム/MLに顔を出す
  • MATEの超訳で不興を買う
  • fcitxの翻訳チームに名乗り上げてrejectされる
  • rejectされた恨みつらみを撒き散らす
  • 初心者向けに書いているが間違いが多く、訂正しない
  • サイトは検索上位に入り、しかも公式であるかのようにミスリード
  • コンピュータは単にLinuxを入れただけでWi-Fiも動かないが高額
  • 実はコマンドの打ち方も知らない

能力的な問題は次のようなこと。

http://anago.2ch.net/test/read.cgi/notepc/1392780683/924-

934 名前:[Fn]+[名無しさん][sage] 投稿日:2014/03/22(土) 12:02:13.53 ID:tfSA/cGL [13/40]

>>933

色の再現性に関しては、まともなディスプレイでこれを見てもらえば

わかるはずです…

http://www.xxxxxxx.com/video/x1irop8_screencast-2014-03-22-08-25-50_webcam

935 名前:[Fn]+[名無しさん][sage] 投稿日:2014/03/22(土) 12:04:27.40 ID:UqZb04aB [3/7]

糞なカメラと糞な圧縮映像で色の再現性が分かるはずも無い

馬鹿ですかw

936 名前:[Fn]+[名無しさん][sage] 投稿日:2014/03/22(土) 12:08:24.43 ID:tfSA/cGL [14/40]

カメラ?w

KazamというUbuntu謹製(他の鳥ではパッケージがない…w)のとても

優れたスクリーン・キャストアプリですが…w

937 名前:[Fn]+[名無しさん][sage] 投稿日:2014/03/22(土) 12:15:06.69 ID:UqZb04aB [4/7]

絶句・・・

それは、液晶の評価ではないwww

馬鹿すぎるwww

938 名前:[Fn]+[名無しさん][sage] 投稿日:2014/03/22(土) 12:15:47.13 ID:DYBx0jvg [4/8]

スクリーンキャストでパネル性能が伝わるわけないだろ……。

結局何もできないんだな。

951 名前:[Fn]+[名無しさん][sage] 投稿日:2014/03/22(土) 14:36:14.09 ID:XvRN+YpV [1/5]

液晶の評価をスクリーンキャプチャでwwww

デル男アホ伝説に新たな1ページが追加か

953 名前:[Fn]+[名無しさん][sage] 投稿日:2014/03/22(土) 14:46:51.60 ID:tfSA/cGL [20/40]

>>951

あながち間違いじゃないよ…w

だって表示そのものをキャプチャしている訳だし…

ただFHDで作成してるんで、HD環境ではどうかな?w

955 名前:[Fn]+[名無しさん][sage] 投稿日:2014/03/22(土) 14:53:48.19 ID:oNZvXIQS [5/11]

>>951

まぁ、同じ液晶でみてるんだから、本人にとっては、

再現性は100%でしょうなw

見る環境で異なることに気付けない想像力のなさが信じられんけどw

957 名前:[Fn]+[名無しさん][sage] 投稿日:2014/03/22(土) 14:56:12.03 ID:tfSA/cGL [21/40]

>>955

だからまともなFHD以上のモニタで見てねって言ってますよw

960 名前:[Fn]+[名無しさん][sage] 投稿日:2014/03/22(土) 15:13:17.30 ID:oNZvXIQS [7/11]

>>957

まだ、どこが間違ってるか気づかないのか?

次のようなアカウント解説も笑われている。

"Fusen" ( 風船 / ふうせん ) is balloon(s) by Japanese reading

コマンドを知らない、は次の通り

110+3 :login:Penguin [↓] :2014/05/08(木) 20:13:28.02 ID:sEo9za24 (3/8)

>>109

–user-agent=のコマンドオプションはOS問わず使えると思うのだが

111+1 :login:Penguin [↓] :2014/05/08(木) 20:45:14.14 ID:oQGgAlwp (1/7)

>>110

Chromeの梨奈での明確な偽装コマンドオプション貼ってみて…

上のは使えんかったよ…w

112 :login:Penguin [↓] :2014/05/08(木) 20:49:18.22 ID:T4Ou560V (2/7)

>>110

ここ何のスレ?

113+1 :login:Penguin [↓] :2014/05/08(木) 21:10:58.27 ID:sEo9za24 (4/8)

使えないってのはGyao!で使えないという意味なのか、コマンドオプションが利かないって言う意味なのか

コマンド自体はちゃんと利いてるぜ

114 :login:Penguin [↓] :2014/05/08(木) 21:13:43.14 ID:oQGgAlwp (2/7)

>>113

それを貼って頂けませんか、Chromeの起動オプションを…

115+1 :login:Penguin [↓] :2014/05/08(木) 21:14:31.18 ID:T4Ou560V (3/7)

>>111

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10

116+1 :login:Penguin [↓] :2014/05/08(木) 21:28:38.96 ID:oQGgAlwp (3/7)

>>115

起動できないぞ そのものをフルで貼って下さい

117+1 :login:Penguin [↓] :2014/05/08(木) 21:29:35.84 ID:T4Ou560V (4/7)

>>116

あのさあちったあ自分で考えなよ

普段偉そうにしてるんだから

118 :login:Penguin [↓] :2014/05/08(木) 21:35:04.58 ID:sEo9za24 (5/8)

>>117

代弁有難う

ようはそういう事

ホントはんなもん前スレのやりとりみれば出来るだろうに

119+1 :login:Penguin [↓] :2014/05/08(木) 21:37:08.41 ID:oQGgAlwp (4/7)

./google-chrome以降を明確にして…

まじエラーでるよ

120 :login:Penguin [↓] :2014/05/08(木) 21:40:56.42 ID:sEo9za24 (6/8)

デル男がそのエラーが出るコマンドをそのまま貼り付けろよ

エラーメッセージじゃなくて、失敗するコマンドの方な

まさかUAをダブルクォーテーションで括ってないとかないよな

エラーなんて出ないんだが

121 :login:Penguin [↓] :2014/05/08(木) 21:41:31.21 ID:T4Ou560V (5/7)

>>119

自分で解決しな

自分が大したことないって認めて、ここで謝罪して、以後態度を改めるなら考えんでもないけどな

122+1 :login:Penguin [↓] :2014/05/08(木) 21:47:24.46 ID:FiBnqCFE

今日もデル男の完全敗北か

123 :login:Penguin [↓] :2014/05/08(木) 21:57:26.97 ID:sEo9za24 (7/8)

>>122

なーに偽装UAをマカーだとファビョらなくなっただけ進歩したんじゃないか?w

124+1 :login:Penguin [↓] :2014/05/08(木) 22:00:35.21 ID:oQGgAlwp (5/7)

./google-chrome –user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10

bash: 予期しないトークン `(‘ 周辺に構文エラーがあります

125+1 :login:Penguin [↓] :2014/05/08(木) 22:03:59.25 ID:sEo9za24 (8/8)

>>124

そのまさかだったとはwww

それじゃエラー出るわなw

126+1 :login:Penguin [↓] :2014/05/08(木) 22:05:29.62 ID:oQGgAlwp (6/7)

>>125

(;´Д`) おすえて…w

127 :login:Penguin [↓] :2014/05/08(木) 22:09:32.89 ID:u2ezwgK0

>>126

ダブルクォーテーションで括って

わざわざ書いてくれてるじゃないか優しさのわからんやつだな

128 :login:Penguin [↓] :2014/05/08(木) 22:15:01.41 ID:T4Ou560V (6/7)

そう言えば、立ち上がってYahooNewsの動画も視聴可なんだが

[16290:16345:0508/221238:ERROR:download.cc(109)] PostClientToServerMessage() failed during GetUpdates

[WARNING:flash/platform/pepper/pep_module.cpp(63)] SANDBOXED

と出るんだが、これは何だろうね?

129+1 :login:Penguin [↓] :2014/05/08(木) 22:45:25.19 ID:oQGgAlwp (7/7)

./google-chrome –user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10"

不親切やな…(; ・`д・´)…w

130 :login:Penguin [↓] :2014/05/08(木) 22:45:54.93 ID:Y/0Qb910

流石にデル男ネタだろ・・・

131 :login:Penguin [↓] :2014/05/08(木) 23:01:15.81 ID:aK7OHca5

このレベルで初心者スレのリーダー気取ってるんだから笑えるわ

132 :login:Penguin [↓] :2014/05/08(木) 23:01:46.46 ID:T4Ou560V (7/7)

>>129

そう言うけど前スレに貼ってあったんだぜ

知らんでバカ晒してたのお前だけだ

133 :login:Penguin [] :2014/05/08(木) 23:19:20.98 ID:FxWv9rKo (2/2)

おいデル男の話は専用スレでやれ

134+1 :login:Penguin [↓] :2014/05/09(金) 01:10:39.44 ID:sduniak5

あれ?キチガイはいつも偉そうにしてるのに、こんな無知無能だったの?

私の意見と考察

基本的なスタンス

基本的には、「積極的なユーザー」だと思う。

もちろん、貢献は意思だけでなく能力が必要とされる。 だが、ほとんどのユーザーが貢献という意思を持たない中、例え自己顕示欲であったとしても貢献しようという意思は尊い。

半可通がデタラメな解説をするのはコンピュータにおいてはおなじみのことだ。 紙媒体ですらいつものことなのだから、ウェブ上で書いているのだし大したことはない。 常に半信半疑でネット上の情報を見ているし、ウェブ記載なんてそんなものだろう。

実力不足ではじかれることもあるだろう。 だが、それならばそれを謙虚に受け止め、努力すれば良い。

それだけのことだ。

私が関わっているところを含めて色々と顔を出して見当違いのことをあれこれ言うため鬱陶しくはあるが、newbieには寛容な対応も必要だ。

ウェブサイトと態度について

だが、高慢で自信過剰な態度はいただけない。 それは成長を阻害することにしかならない。

もちろん高慢であることはコミュニケーションのためにもならない。

そして、自信過剰であることが問題であるという最大の側面が、そのサイトだ。

明らかに公式であるとミスリードを望んで記述しているものだ。 それは本家のブランディングの意味でも損害を与える行為となりうる。 もちろん、それを公式だと思ってしまった人が鵜呑みにしてしまい被害を受ける可能性もある。

自身に問題があってrejectされたにも関わらず暴言を吐く、というのはもちろん褒められた行為ではないだろう。

PCの販売について

消費者にとって価値のない商品を、あたかも極めて高い価値を持つように虚偽の説明をして販売することはもちろん褒められたことではない。 説明している内容は結局のところ生産者の感情を記載しているだけであり、その価値は生産者のものであって消費者にとっての利益ではない。 それをオンリーワンのように消費者の利益として書くことは適切ではない。

値付けに関しては商業モデルを考えれば適切だ。 ただし、それに相応しい消費者にとっての価値があるわけではない。 つまり、コストはかかるがそれに見合ったものを提供することができないわけで、ビジネスモデルとして失敗している。 それを詭弁で取り繕うのは結局「騙せることに期待する」ことになる。 それがあってはならないことであるのは言うまでもない。

能力について

残念ながら著しく不足していることは否定できない。 その事実を謙虚に受け止め、精進していただきたいと思う。

現在のところ、初級Linuxerと呼べるかどうかも怪しいレベルだ。

当てになるか?

初心者が当てにしてはならない。

自分で判断できるのなら材料として使えばよい。

Markdownにまつわるもろもろ

Markdownで書くということ

Markdownはもうだいぶ普及している形式だと思う。

様々なマークアップ言語や記法がこれまで発達してきた。 それは例えばWikiであったり、plain2だったり、textileだったり、 場合によってはRDocだったり。

しかしながら、そのいずれもそれほど普及しなかった。 だが、Markdown記法はもはやスタンダードとも言うべき普及を見せている。

PureDocは当初、Markdownのような形式をとっていた。 実際に正規表現パーサだった時期もあるし、もう少し発展してZshの内部DSLだった時代もある。

この目的はHTMLと印刷用フォーマットの両方を生成するドキュメントメタフォーマットで、 かつHTMLと比べ簡潔に記述できるフォーマットを求めていた。

その要求を満たしてくれるのだ。 現在はPureDocはReasonSetに特化した多彩な機能を持つためMarkdownに乗り換えるということはしないが、 多くの場合Markdownで事足りるのも事実だ。

Markdown Editor

Markdownは普及している分、専用のEditorが多く存在する。 単に強調表示や入力支援があるだけでなく、リアルタイムで表示を確認できる。

主要な候補となるのは

  • Markdown#Editor(Windows)
  • Remarkable(Linux)
  • CuteMarkEd
  • Haroopad

の4つであるようだ。

Markdown#Editorに関しては表示領域がマッチしないことが多く、 いまひとつ使いにくい。この問題はCuteMarkEdでも生じる。

Haroopadはクロスプラットフォームで、最初はフォントに違和感があったが、 CSSによってフォントを含め見栄えを指定することができる。

Haroopadの弱点は、改行を反映してしまうことだろう。 だが、全体にはスタイリッシュで見やすく使いやすい。 ドキュメントの動的なリロード機能がないのと、Donateのバルーンがちょっとしつこいのは残念。 だが、Windowsではこれを使っている。 基本的に表示位置は狭い画面ではエディタ側の入力位置を上のほうにもってくると適切に表示してくれる。

Haroopadの欠点として、Fcitxで入力できなくなることが結構あるというのもある。 この対応として、入力のない、空のHaroopadを立ち上げておくと入力できるようだ。

RemarkableはUbuntu的なUIを持つ。 使いやすいといえば使いやすいが、D&Dによって開くことができないため、ファイル操作がちょっと面倒。

おもしろいのが、Remarkableはビューワがめいっぱい上までスクロールすると下にループする。下はしない。

またエクスポート機能もあり、CSSにも対応する。 今のところ最も安定しているということもあり、LinuxではRemarkableを使用している。

Remarkableで記述する場合は、エディタの記述部分を上のほうになるようにするか、めいいっぱい下にすると適切に表示される。 当然ながら、中途半端で適切に表示されない位置はどうしても生じる。

だが、なるべくならどのエディタも最も下に書いていくのが良いようだ。

Markdownで既存のテキストを引用する

HTMLを含め引用はpreされるべきではないかと思うのだが、そうなっていない。 プレーンなテキストを引用するには、次のようにすると良いようだ。

sed -i "s/\(.*\)/> \1\n> /" file

sedの出力は改行を伴うので最後には改行はいらない。 段落を分けてもらう必要があるため、空行を入れておく。 ちょっと複雑だ。

MarkdownをPureBuilderに取り込み

Markdownのほうが楽に、適切に書けるケースが多いようなので、MarkdownをPureBuilderの一部として取り込んでみた。

とりあえずblog用で、変換にはpandocを使う。 これはいずれPureBuilderの一部となる。

ちなみに、今回コードの埋め込みは次のようにした。

sed "s/\(.*\)/\t\1/" ~/local/devel/reasonset_builder02/scripts/md_processor.rb >| ~/tmp/out

主な動作としては、PureDoc同様のヘッダの取り扱いと、 pandocからbodyだけを切り出すことである。

#!/usr/bin/ruby
# -*- mode: ruby; coding: UTF-8 -*-

require 'yaml'

module YEK
  class ReasonBuild

#=NAME
#
#ReasonBuild MD Processor - PureBuilder script for Markdown file.
#=SYNOPSIS
#
#  md_processor.rb [ _file_ ] [ -- _pandocoptions_ ... ]
#
#=DESCRIPTION
#
#MD Processor reads ARGF and process with pandoc.
#
#If +-s+ any _file_ given, MD Processor understands header with same style as PureDoc,
#modify timestamp, and write out to given _file_.
#
#If pandoc options given, MD Processor invoke pandoc with these options.
#Otherwise, MD Processor invoke pandoc 
#
# pandoc -t -s -p
#
    class MDProceessor
      
      def proc_header(file=nil)
        @file_content ||= ARGF.read
        # Any file given?
        if file && @file_content =~ /^##--.*$/ && $' =~ /^##--.*$/

          begin
            yax = $`.each_line.map {|i| i.sub(/^# /, "") }.join
            header_meta = YAML.load(yax) || Hash.new
    
            # Is Header missing last-update or since?
            if  ( ! header_meta.key?("last-update") ) || ( ! header_meta.key?("since") )
                
              now = Time.now
            
              modsince, modupdate = nil, nil

              # Set to since
              if ! header_meta.key?("since") 
                modsince = true
                header_meta["since"] = now
              end
            
              # Set to last-update.
              if ! header_meta.key?("last-update") 
                modupdate = true
              end
            
              # OK, Header is ready.
              # Open the file!
              File.open(file.first, "r+") do |f|
                content = f.gets(nil)
            
                if content.sub!(/^##--.*?^##--.*?$/m) {
                  el = $&.each_line.to_a # Get header texts.
                
                  el.insert(1, "# since : #{now.strftime '%Y-%m-%d %H:%M:%S %:z'}\n") if modsince # Add since if since was not exist.
                
	          # Update last update time if last-upadte is not set or last-update is older than mtime.
                  el.insert(1, "# last-update : #{File.mtime(file.first).strftime '%Y-%m-%d %H:%M:%S %:z'}\n") if modupdate# Add last update timestamp 
              
                  el.join
                }

                  # Write to file if updated.
                  f.seek(0)
	          f.truncate(0)
	          f.write( content )
                end
              end # Close file.
            end # Missing header
            
          rescue # YAML or IO Rescue.
            STDOUT.puts $!
          end
          
        end # file given.
      end #proc_header
      
      # Invoke pandoc, format, and out.
      def pandoc(options)
        
        outstr = nil
        
        # filter pandoc.
        IO.popen(( ["pandoc"] + options ), "w+") do |io|
          io.write @file_content
          io.close_write
          
          outstr = io.gets(nil)
        end
                                                  
        # subscribe content
        flag = false
        outstr = outstr.each_line.select do |line|
            
          if line =~ /^<\/body>$/
            flag = false
          end

          if line =~ /^<body>$/
            flag = true
            next false
          end
            
          flag
        end.join
        
        return outstr
        
      end
      
      
      def initialize
          
        pandoc_opt = nil
        
        # Get pandoc options from argv.
        if sep = ARGV.index("--")
          pandoc_opt = ARGV[(sep + 1) .. -1]
          ARGV.pop
        else
          pandoc_opt = [ "-t", "html", "-s", "-p" ]
        end
        
        proc_header( ( ARGV.empty? ? nil : ARGV.dup ) )
        
        doc = pandoc(pandoc_opt)
        print doc

      end
   
    end #MDProceessor
    
  end
end

YEK::ReasonBuild::MDProceessor.new

トレンドマイクロ社に再度申し立て

先週水曜日にトレンドマイクロ社に、ReasonSetがスパムとウィルス配布を行っている危険なサイトである、という判定によりブロックされている問題を受けてその反論をしたためて申し立てを行ったのだが、一週間経って以前回答がない。

そこで今日、再び申し立てを行った。

業務に大変な支障が出ているので早急に対応してほしい、という内容。 少し強く言うことにした。

こういうのは早急に対応されるべきだと思うのだが…

Windowsのセットアップ

問題点

WindowsUpdateでコケてまともに起動しなくなったWindowsをリカバリし、まっさらにした。

だが、やはりWindowsUpadteでコケる。かなり慎重に行ったが、それでもコケる。

updateを終了してリブートすると15%まで進行したあと数時間停止、 その後ようやく再起動して構成して再起動(これもかなり長い。ステージ)、5/5になっている。 構成して、構成に失敗したので戻すとして再起動、 そして戻すとして数時間にわたって待たされた後再起動。 そして構成を戻すとし、1回目はステージ5/5の35%から構成して、2回目はそのままログオン画面へ。

見てみると117個中97個、x64 based systemとある修正と、同じ記載のある.NET FrameWorkが全てコケている。2回実行したが、結果はこの通りだ。

そもそも、WindowsUpdateの最中に自動スリープするというのは相当おかしいし、 Update中のネットワーク断(うちではしょっちゅう起きる)や電源断も想定して叱るべきだろう。それでシステムが壊れる設計というのはイカれてる。

セットアップ

まぁ、もうUpdateは諦めよう。近く10が来るのだし。

まず、いつも通りTrueCrypt.chによるドライブ暗号化。

導入するソフトは順序はそれほどない。

カテゴリ ソフトウェア
ウェブ Cyberfox, Opera Developer, SRWare Iron
メール Opera Mail
Twitter TweetDeck, V2C
2ch V2C
エディタ UnEditor, SakuraEditor
マークダウンエディタ Markdown#Editor, HarooPad, CuteMarkEd
オーディオ AIMP
ビデオ VLC Media Player
マルチメディア Free Studio
IM Skype
IME Google日本語入力
アンチウィルス Avast!
アンインストーラ Geek Uninstall
ランチャ Launchy
SSHFS Win-SSHFS
端末 TeraTerm
VSパッチ UXThemePatcher

これはWindowsを単独で使う想定ではなく、なるべくサテライトとして、ここにデータをためずに使う想定だ。 だから、ソフトウェアもそれなりに絞っているし、データは主にsshfsを介する。

だが、これだけやるとWindowsでも結構使えるようになる。

VSとフォント

ビジュアルスタイルに関しては、FunkVSを使用したのだが、フォントがかなり多岐に渡って変更される。この影響は大きく、「どこの部品にどこで定義されたフォントが使われるか」ということも変更されるらしい。

色とデザインの詳細から設定できない部分のフォントに日本語でないフォントを設定されてしまい、Operaではアドレスバーとタブに日本語が表示されなくなった。豆腐になる。

Funkはかなり気に入っていたのだが(特にサブメニューが網掛けで表示されるのは凝っている)、この問題は様々なところに影響を及ぼすため、Skylim VSに変更した。

加えてWindows7 Start Orb Cahngerを使ってstart orbを変更していっちょできあがり。

もちろん、事前にフォントの導入は済ませてあり、またMacTypeも導入してある。壁紙やフォント設定も行った。

ZFSが遅い

先日、ZFS+rsyncでやっていくことにした、と報告したが、挫折した。

最初の7時間で300GBの進捗。まぁ、これはいい。だが、いくらなんでもそのあと3時間で40GBの進捗はない。それはひどすぎる。

これでは実用にならないのでBtrfsに変更。結果としては出だしで18倍以上の差となり、15時間ほどで2TBの転送を完了した。

ちなみに、サーバーはProliant MicoroServerで、メモリは4GB。Swapは使われていなかった。

不安定なZFSの劣化コピーとみなされがちなBtrfsだが、こうしてみるとZFSを凌ぐ部分が結構みつかる。特に、ZFS on Linuxと比較するとかなりだ。

Btrfsは既にかなり安定しているし、また速度的なアドバンテージがある。また、自動でストライピングするが、ミラーの場合でも1台単位で追加でき、1+0でもリバランスできる。これはZFSにはない特徴だ。

そして新たに知ったこととして、BtrfsにもZFS同様のSend/Recieveがあるということだ。Btrfs、かなり良い。

Lenovoのコンピュータに搭載されているVisualDiscovery(通称Superfish)が、極めて悪質かつ危険なソフトウェアであったことがわかり、問題となっている。


Gigazineの記事
が分かりやすいだろう。

極めて危険なので、該当するユーザーの方は直ちに削除したほうが良い。

ストレージワーク:btrfs+EncFS / dm-crypt+ZFSでのリモートミラー

Btrfs上にEncFSを構成したマスターから、dm-crypt上にZFSを構築したスレーブへとミラーする、しかもそれらのホストはシャットダウンされる。これはかなり厳しい条件だった。

やはりシャットダウンされるためにHA(高可用)システムは使えない。シャットダウンする時点で障害発生とみなされるし、切り離された状態で単独でスタートアップして動けない。

さらに、EncFSはrootであってもアクセスを許さないため、非常にセキュアではあるが、GlusterFS GeoReplicationも使えないなど障害になった。

やはり無理な要求である、というのは

LinuxQuestionで聞いてみても
明らかになるだけだった。だが、ここでrsyncが大規模システムに耐えるということが分かったため、rsync(1)at(1)でいこうと決意を固めることができた。

rsync+sshはごくごく単純だ。

rsync -e ssh fromdir user@host:destdir

でいける。だが、まずはZeroconfでアクセスしたい。

Manjaroで/etc/nsswitch.confmdns_minimalを指定しても解決できない。これでホスト名を解決しようと思うと、nss-mdnsパッケージをインストールし、avahi-daemonを動かさなくてはいけない。

さらに、CentOS側が受け入れてくれない。これは、NICがひとつだとそのNICをpublicなゾーンのインターフェイスとみなすが、Avahiはhomeインターフェイスにしか許されていない。そのため、firewall-cmd --add-service=avahi --zone=public --permanentとしてAvahi-daemonへのアクセスを透過する。

これでZeroconfでのアクセスに成功、.localのホスト名でsshアクセスできる。ssh-keygenでパスフレーズなしのキーを作り、アクセスしようとする。ところが、ssh-copy-idしようとした段階でToo many authentication failures for …となり、sshアクセスできない。これは、sshの管理下にある鍵が多すぎる場合に生じるようだ。その数はsshdが登録、管理している鍵とファイルとして~/.ssh以下にある鍵の総数。とりあえずの方法としては、鍵ファイルがあるものだけを鍵として扱うため、~/.ssh/config

IdentitiesOnly yes

と書くと改善される。ただし、ファイル自体が多くなるとこれでもダメだろう。

これで鍵によるアクセスまでできるようになった。

鍵による実際のアクセスの前に、atとrsyncについて確認する。rsyncについては前述の通りで大丈夫。atは

$ <kbd>at now + 1 minutes &lt;&lt;&lt; ‘zsh -c "notify-send \"$(id)\""'</kbd>

すると自身のuidになっているので、atを実行したユーザーで実行されることが分かる。EncFSに対してアクセスするためにはこれは絶対条件だ。

そしてこのままrsyncするとうまくいく。だが、パスフレーズなしで自由にアクセスできる鍵というのは危険だ。

コマンドで制限すべきなのだが、rsyncのコマンドを受ける側がどうなっているのか、というのは非常にわかりにくい。rsync -vvv -au --delete-after -e ssh from destして、パスワードの前に表示されたconnectionの中からrsyncより前を削り、互いにvを削って設定する。

ただし、このままでは外部からファイルを消されるリスクがあるため、ホストも限定したほうがいいかもしれない。ただし、鍵がなければできないのだから、その時はバックアップ側は仕方がない、とも見れる。

今回の成果物も

GitHub
にて公開。

当サイトがウィルスバスターにブロックされる件について

当サイトがウィルスバスターによってブロックされる、という話は去年にもう聞き及んでいたのだが、その時点ではSSL証明書がルート認証局の署名をとっていないのが原因だろうと判断し、HTTPSでのアクセスをできないようにした。だが、2/16に依然としてブロックされるという情報が入り、調査したところ、どうやらウィルスバスターの「よくある誤検知」であるらしい。


同様に誤検知された方のブログ

このサイトはまだ、iPhoneのJailBreak(自身のiPhoneに標準でかけられている操作上の制約を解除し、iPhoneの管理者権限を取得する)に関する話題を取り扱っているのでわかるといえばわかるが、まっさらなサイトがターゲットにされることも。


新しく取得したドメインに初めてアクセスしたら、ウイルスバスターに「安全ではない」と警告された!

ウィルスバイターの(トレンドマイクロの)暴挙は有名で、

Slashdotで記事にもなっている

そもそも、スパムとウィルスの配布を行っているサイトだと言うのだが、当サイトはメールマガジンの配布すらしておらず、ドメインはスタッフのみが所有する。また、当サイトは何らソフトウェアの配布を行っていない。極めて言いがかりだ。

トレンドマイクロは頻繁に政治的圧力をかける。例えば2014年秋にはキュレーションサービス(2chやTwitterなどの発言をまとめたサイト)を一斉に有害なコンテンツのサイトと認定、そのほかWindowsの詳細設定を変更するツールをウィルスとみなし、最も危険なソフトウェアはCRPM解除ツールだと言う。

ちなみに、CRPM解除ツールを説明すると、いわゆるcopybreak、コピー防止機能を無効化するためのものである。日本においてはその配布、使用共に違法だが、本来私的複製は認められるべきものであり(日本ではデジタルデータの私的複製自体を禁止している)、これを禁止している先進国は日本くらいのものである。そして、トレンドマイクロは決して日本ローカルな企業ではない。

仮に倫理的側面で反対するという立場をとるにしても、それが「セキュリティ上脅威である」という判定は著しく不当である。「あいつのやり方は嫌いだ」という理由で「あいつは詐欺をしている」と社会的信用を背景として吹聴しているのだから。

風評被害を振りまいた上で「やめてほしければ金を払え」というやり方はひどいものだと思う。この「金を払え」はトレンドマイクロに直接支払うものではないが、かなりの金額である。当然ながらそのようなことができるのは大手だけであり、

そもそも風評被害を振りまいて、やめてほしければ金を払えというのは「反社会敵勢力のやり方」ではなかったのか?

まずは異議申し立てを行った。改善がみられなければ、訴訟しかあるまい。

HARUKA Sound/Aki SI&Eの正木と申します。

当サイトが危険である、との判定によって業務に多大な支障が出ております。

当サイトは所有するドメインによるメールアドレスは現在すべてスタッフ所有のものであり、メールマガジン、メーリングリストを含むマルチキャスティングは一切行っておりません。

また、サイト上でプログラムの配信を行っている事実もなく、技術的な内容の記載、業務のご案内を行っているものです。

早急に修正されますようお願い申し上げます。

デスクトップは起動しなくなり、ラップトップはこわれ

Manjaroのプリンター問題

Manjaroのプリンターが全く動かない、という問題。プリンターを追加しようとするとフリーズするわ、KDEでマニュアルPPD指定だとボタンが無効になり、さらにプリンターの名前が反転される、というわけのわからない状態。挙句、成功などと言われてしまうのでどうしようもない。

散々試してもうまくいかず、試しに500GB HDDにManjaroを入れてアップデートして試したが、同じ症状が出る。だが、その過程でUnable to get list of printer driversというメッセージを獲得し、これがヒントとなった。

最終的には

ArchWikiの情報
が活かされて、Foomatic関連を削除することで解決したのだが、この過程でUEFIブートメニューからmanjaroがHDDのものだけになり、Windows boot managerが2つ、空行がひとつ、という状態になった。

UEFIブートトラブル

さて、それでUEFIからブートできないというトラブルが生じたのだが、調べるとUbuntu Boot Repairを使うという提案がかなり多い。そこで試したのだが、Boot Repair Diskを使っても、Ubuntu 14.10を使ってもアンマウントしろと言われて進まない。問題自体は

Ubuntuのforum
で報告されているが、これに従っても解決しない。


Manjaro Wiki
に従って復旧を試みたが、EFI variables are not supported on this system.エラーから抜けられない。記載の通り対応しても、efivarsは動いているにも関わらず、modprobe: FATAL: Module efivars not found. と言われてしまい詰まってしまった。

最終的には、2つ目のWindows boot managerがManjaroを起動させることに気づき、そこからgrub-installを実行して修復できた。ただし、Windows boot managerは相変わらず2つある。

ラップトップのWindowsは完全死亡

その間を支えてくれた復活したてのe440だが、Windows Update中にスリープされてしまい、その影響で構築に失敗するようになり、多くの基本的なものを含むプログラムが起動しなくなり、トラブルシューティングツールでも復元ポイントでも失敗するという状態。

Updateの時はスリープしないようにするくらい当たり前のことだし、せめてトランザクションを張れと思う。

自動再起動の餌食になって、コピーしているファイルや録画が潰されることも多い。

もうこの状態ではe440は初期化するしかない。非常に腹立たしい。

Atnow (diary-tools)

本当は一番最初に書くべきコードだったdiary toolsだが、ようやく書いた。

https://github.com/reasonset/diary-tools/
にアップしている。

Diary Toolsと言ってはいるが、ほぼatnowがメインだ。diary.resumeは要は日付別のファイルをエディタで開くだけだからだ。

atnowはタブセパレートのCSVとして理解可能な日記ならぬ瞬間記だ。その瞬間に起きたことを記録していき、これにより検索し、分析することを容易にする。

記憶しておくことが困難な私には欠かせない。

そのデザインが重要なのだが、今回2つのポイントがあった。

ひとつは、atnowは他のスクリプトから呼ばれる可能性もあるため、ファイルは必ずロックされなくてはいけない。だが、それをシェルスクリプトでやるとなるとなかなかハードルが高い。だが、zshには公式モジュールとしてflockが提供されている。

### Lock diary file
(
touch "${basedir}/${atnow_date}"
zsystem flock -t 180 "${basedir}/${atnow_date}"
integer ret=$?
if ((ret)); then
{
echo -n "Can't acquire lock for ${basedir}/${atnow_date}."
((ret==2)) && echo -n " timeout."
echo
} >&2
exit 1
fi

print "${now}\t${atnow_time:-now}\t${desc}" >> "${basedir}/${atnow_date}"
)

zsh/zsystemモジュールをロードすることで使用可能だ。さすが最強のシェル。

そして、zenityの返り値を確認しなくてはいけないのでやってみて気がついたのだが、

desc=$(zenity --entry --title="Input what to do or what happen now!")
if (($?)) || [[ -z $desc ]]
then
exit 127
fi

Command substitionの結果が$?で取れるらしい。

zenityが値として何を返すのかということを今回チェックしたが、基本的に入力した内容、選択なら選択したテキストが返り、キャンセルやいいえを選択した場合、non-zero終了するらしい。

ランチャに配置して完了。

ちなみに、これをメール通知するため、muttとmsmtpをセットアップした。