VMware Player の Workstation のバージョンを変更

VMware PlayerをアップグレードするとWorkstationのバージョンは古いバージョンのままになります。次の画像はVMware Workstation 12 Playerのものです。
14

Workstationのバージョンの変更は簡単で,対象の***.vmxを次のように書き換えます(変更するバージョンは適宜選択してください)

virtualHW.version = "10"
   ↓
virtualHW.version = "12"

VMware Playerを再起動すると
15
このようにアップグレードすることができます。

owncloud (Ver. 8.1.1) texteditor Shift-JIS の文字化け対処

以前にもtexteditorのShift-JISの文字化けの対処法を書いているが,バージョンの変更に伴い構成も変わっていたのでVer. 8.1.1での文字化けの対処法を記録しておく。

変更内容は以前の対処法と変わりないが,書き換えるファイルが
OC/apps/files_texteditor/controller/filehandlingcontroller.php
となった。このファイルに次のように”SJIS-win”を追加する

$encoding = mb_detect_encoding($filecontents . "a", "UTF-8, WINDOWS-1252, ISO-8859-15, ISO-8859-1, ASCII", true);
  ↓
$encoding = mb_detect_encoding($filecontents . "a", "SJIS-win, UTF-8, WINDOWS-1252, ISO-8859-15, ISO-8859-1, ASCII", true);

Owncloud update Ver8.0.x → Ver8.1.x

運用しているOwncloudのアップデートを行った。

普段のアップデート同様に管理画面のアップデートの項目でクリックしていくだけでアップデートは完了する。
しかし,今まで使用していたアプリを有効にするとページが応答しなくなるという問題が発生した。しかたないので対象のアプリをサーバ側で削除した。Owncloud のアプリのページを見ているとアプリのダウンロードがVer8.0.xとVer8.1.xで分かれておりアプリについても更新しないといけないみたいで,更新した結果正常に動作するよになった。

今回のバージョンアップでは,サイトの応答速度がかなり早くなったように感じる。またアプリの一覧が表示されるまでの時間が大幅に早くなった。

美ヶ原~霧ヶ峰 サイクリング 8/7

投稿が遅くなりましたが,また美ヶ原に行って来ました。
最初は霧ヶ峰に直接行こうと考えていたのだが,調べていると美ヶ原(自然保護センター)から王ヶ頭までロードバイクを持って登り,ホテル山本小屋のところから霧ヶ峰に向かうという記事を書いている方を見かけ,美ヶ原→霧ヶ峰と行くことにした。

今回は,美ヶ原に向かうのにツールド美ヶ原で使用するコースに沿って行き,一箇所だけ街の様子が見える場所があり,かなり登ってきたことがわかります
20150807_044833-P8070001
坂を登り切るとすぐに美鈴湖です
20150807_050424-P8070013

前回は余裕がなく写真を撮らずに登りましたが今回は気になるものがあれば写真を撮りつつ登って行きました。

・袴越レンゲツツジの群生地
20150807_060838-P8070026
花の見頃は6月下旬〜7月上旬みたいです。

・武石峠茶屋跡・風穴跡
20150807_062338-P8070035
ロードバイクの奥に
20150807_062248-P8070031
このように水が湧いており,とても冷たかったです。

しばらくして自然保護センターに到着し(写真撮るの忘れていました),ここからロードバイクを担いで王ヶ頭まで上りました。
20150807_081226-P8070151
右奥にある建物が自然保護センターです。

・記念撮影
20150807_082109-P8070158

・本日一番の絶景
20150807_083138-P8070161

途中,美ヶ原牧場の牛さんが迎えてくれました
20150807_090033-P8070186
こんなに近くで牛を見るのは久しぶりです。

そして歩いてきた道をパシャリ
20150807_091359-P8070201
こんなに広い高原があるとは思いませんでした。

ホテル山本小屋に着くと(約1時間歩きました)すぐに駐車場でロードバイクを担ぐことなくすぐに走り出せました。

霧ヶ峰に到着!
帰ってきて見返していたら霧ヶ峰とすぐに分かる写真が一枚も無く‥‥悪足掻きの一枚
20150807_114458-P8070218
霧の駅(笑

ここで昼食を摂り,しばらく休憩してから松本へと向かいました。
霧ヶ峰から松本までの道は,扉峠からアザレアラインを使用して下りました。

今回の総走行距離:94.7km
走行時間:5時間20分

ポッツモデルの歴史(成立ち)

今回は,前に「研究進捗状況 2015.07.21」で述べたように,研究しているポッツモデルの歴史についてまとめる。

ポッツモデルへとつながる最初の研究は, 1943年 Ashkin と Teller [1] によって2次元正方格子のイジングモデルを4状態へと拡張したモデル4状態のモデルについて研究が行われた。次に,1952年に名前の由来となった Potts が以下に続く研究[4]を行った。Potts は,Kramers と Wannier の方法[2][3]を使用し,スピンの方向を角度とみなしてq状態に拡張した


$$ \mathcal{H} = – \sum _{ \langle ij \rangle } J( \Theta _{ij} ) $$

(ここで


$$ \Theta _{ij} = \Theta _{n_i} – \Theta _{n_j} , \Theta _n = 2 \pi n / q, n = 0,1, \ldots , q-1 $$

であり,和は隣接した格子点について行うという意味)というモデルを用いて


$$ J( \Theta ) = \varepsilon _1 \cos \Theta $$

の時,q = 2,3,4 の正方格子ついての臨界点を決定した。このときq > 4での臨界点を見つけることはできなかったが,


$$ J( \Theta ) = \varepsilon _2 \delta _{Kr} ( n_i , n_j ) $$

の特別な場合においてはすべてのqについての臨界点が推量された。そしてポッツモデルという名前は(論文を読んでいないので分からないが)1974年に Domb によって提案[5]されたようだ。1つ目のJ(Θ)の形は planar Potts model と呼ばれ,2つ目は standard Potts model と呼ばれる。通常ポッツモデルと呼ばれるのは後者のほうである。(他にも色々と呼び方はあるみたいだ)

数式は[6]より引用

Refarences
[1] J. Ashkin and E. Teller, Phys. Rev. 64, 178 (1943).
[2] Kramers, H. A. and Wannier, G. H., Phys. Rev. 60, 252 (1941)
[3] Kramers, H. A. and Wannier, G. H., Phys. Rev. 60, 263 (1941)
[4] Potts, R. B., Proc. Camb. Phil. Soc. 48, 106 (1952)
[5] Domb, C., J. Phys. A 7, 1335 (1974)
[6] F. Y. Wu, Rev. Mod. Phys. 54, 235 (1982)

美ヶ原高原サイクリング

美ヶ原高原へサイクリングに行ってきた。目的地は松本市諸施設美ケ原自然保護センターです。
実をいうと2週間前にも行こうとしたが,途中で足が攣りそうになり途中でリタイアした。

ということでリベンジに行ってきました。途中の写真は無いですが目的地付近で撮影してきたのでその写真を載せていきます。(正直きつくて途中では撮る余裕がありませんでした)

  • 目的地
    ・売店
    20150725_084705-P7250016
    ・電波塔
    20150725_084649-P7250014

    ・駐車場から北方向
    20150725_085101-P7250022
    それでは下ります。

  • 牛さんが放牧されていました
    20150725_090619-P7250034
    20150725_090628-P7250035
    20150725_090643-P7250036
    なんかいいですね。

  • いい感じの風景があったのでぽちっと
    20150725_090828-P7250037
    このような大自然の中に道がある風景,僕は好きです。

  • 大パノラマ(塩尻・松本方面)
    P7250047

  • 登るのはきつかったが,やっぱり登り切った時の達成感はいいですね。(絶景というご褒美付きです!)

    本日の総走行距離 : 53.0 km
    時間 : 2°53’ (休憩時間を除く)

[BIOS]mdadmによるRAID1 – 復旧方法 –

——————– 2018/05/26 追記 ——————–

ここでは BIOS により起動するシステムの手順を記載している。UEFI により起動するシステムの手順は 「[UEFI]mdadmによるRAID1 – 復旧方法 –」に記載している。

——————– ここまで            ——————–

 

software RAID である mdadm を使用してインストール時に RAID1 構築し,故障を発生させてディスクを取り替えるテストを行った。
その際の手順を説明する。

このテストは仮想環境(VirtualBox)上で,CentOS7を使用して行った。

    • 仮想マシンの設定
      テスト用に新しい仮想マシンを作成する際に,仮想ハードドライブは8GB(固定サイズ)で作成した。さらに,RAIDを構築するために同じ 8GB(固定サイズ)で仮想ハードドライブを2つ作成した。(一方はインストール時に構築するため,他方は故障させたドライブと交換するため)
      9
      このようにドライブを接続しておく。CentOS7でRAID構成のインストールは調べれば出てくると思うので,インストール手順の詳細は省く。
    • パーティション構成
      パーティションはインストール時に

      /boot: 524 MB
      /    : 6291 MB
      swap : 1767 MB

      という構成で作成した。以下に示したのはコマンドfdisk -lの結果である。

      # fdisk -l
      Disk /dev/sdb: 8589 MB, 8589934592 bytes, 16777216 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
      Disk label type: dos
      ディスク識別子: 0x0009a438
      
      デバイス ブート 始点 終点 ブロック Id システム
      /dev/sdb1 2048 12298239 6148096 fd Linux raid autodetect
      /dev/sdb2 * 12298240 13322239 512000 fd Linux raid autodetect
      /dev/sdb3 13322240 16777215 1727488 fd Linux raid autodetect
      
      Disk /dev/sda: 8589 MB, 8589934592 bytes, 16777216 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
      Disk label type: dos
      ディスク識別子: 0x00017b65
      
      デバイス ブート 始点 終点 ブロック Id システム
      /dev/sda1 2048 12298239 6148096 fd Linux raid autodetect
      /dev/sda2 * 12298240 13322239 512000 fd Linux raid autodetect
      /dev/sda3 13322240 16777215 1727488 fd Linux raid autodetect
      
      Disk /dev/md127: 6291 MB, 6291390464 bytes, 12287872 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
      
      Disk /dev/md126: 524 MB, 524222464 bytes, 1023872 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
      
      Disk /dev/md125: 1767 MB, 1767833600 bytes, 3452800 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト

      この結果の最後に出てくる/dev/md125, /dev/md126, /dev/md127というのはmdadmによって作成されたRAIDデバイスことである。

    • RAIDの状態確認
      RAIDデバイスの状態は cat /proc/mdstat というコマンドで確認できる。

      # cat /proc/mdstat
      Personalities : [raid1]
      md125 : active raid1 sdb3[1] sda3[0]
            1726400 blocks super 1.2 [2/2] [UU]
      md126 : active raid1 sda2[0] sdb2[1]
            511936 blocks super 1.0 [2/2] [UU]
      md127 : active raid1 sdb1[1] sda1[0]
            6143936 blocks super 1.2 [2/2] [UU]
            bitmap: 0/1 pages [0KB], 65536KB chunk
      unused devices: <none>

      この出力の簡単な読み方は,RAIDデバイス/dev/md125を例とすると次のようになる。
      一番左に書かれている”md125”はRAIDデバイス名で,”sdb3[1] sda3[0]”はmd125というRAIDデバイスを構成している物理デバイス名を表している。そして二行目の”[]”の中に書かれているのは物理デバイスの稼働状況を示している。このあとに物理デバイスを故障したと見せかけるのでその時にどうなるかわかるだろう。

    • 物理デバイスを故障させる
      mdadmには物理デバイスを故障したと見せかけるコマンドがある。

      # mdadm --fail [RAIDデバイス名] [故障させる物理デバイス名]
      # mdadm -f [RAIDデバイス名] [故障させる物理デバイス名]

      これを用いて/dev/sdaの物理デバイスを故障させてみる。各RAIDデバイスから/dev/sdaを故障させてcat /proc/mdstatを実行した結果を以下に示す。

      # mdadm -f /dev/md125 /dev/sda
      mdadm: set device faulty failed for /dev/sda:  No such device
      # mdadm -f /dev/md125 /dev/sda3
      mdadm: set /dev/sda3 faulty in /dev/md125
      # mdadm -f /dev/md126 /dev/sda2
      mdadm: set /dev/sda2 faulty in /dev/md126
      # mdadm -f /dev/md127 /dev/sda1
      mdadm: set /dev/sda1 faulty in /dev/md127
      # cat /proc/mdstat
      Personalities : [raid1] 
      md125 : active raid1 sdb3[1] sda3[0](F)
            1726400 blocks super 1.2 [2/1] [_U]
            
      md126 : active raid1 sda2[0](F) sdb2[1]
            511936 blocks super 1.0 [2/1] [_U]
            
      md127 : active raid1 sdb1[1] sda1[0](F)
            6143936 blocks super 1.2 [2/1] [_U]
            bitmap: 1/1 pages [4KB], 65536KB chunk
      
      unused devices: <none>
    • RAIDデバイスから物理デバイスを取り除く(故障後のみ実行可能)
      # mdadm --remove [RAIDデバイス名] [故障させる物理デバイス名]
      # mdadm -r [RAIDデバイス名] [故障させる物理デバイス名]

      このコマンドによってRAIDデバイスから物理デバイスを取り除くことができる。
      以下に実行結果を示す。

      # mdadm -r /dev/md125 /dev/sda3
      mdadm: hot removed /dev/sda3 from /dev/md125
      # mdadm -r /dev/md126 /dev/sda2
      mdadm: hot removed /dev/sda2 from /dev/md126
      # mdadm -r /dev/md127 /dev/sda1
      mdadm: hot removed /dev/sda1 from /dev/md127
      # cat /proc/mdstat
      Personalities : [raid1]
      md125 : active raid1 sdb3[1]
            1726400 blocks super 1.2 [2/1] [_U]
            
      md126 : active raid1 sdb2[1]
            511936 blocks super 1.0 [2/1] [_U]
            
      md127 : active raid1 sdb1[1]
            6143936 blocks super 1.2 [2/1] [_U]
            bitmap: 1/1 pages [4KB], 65536KB chunk
      
      unused devices: <none>

      cat /proc/mdstatの結果からきちんとRAIDデバイスから物理デバイスが取り外されていることがわかる。ここまで長かったが,ようやくハードディスクの取り換えをおこなう。そのためにシャットダウンする。

    • ハードディスクの交換
      (システム領域を含んでいるハードディスクの場合)交換する際にハードディスクの順番を気を付けなければならない。基本的にBIOSは一番若い番号(0番とする)に接続されているハードディスクにboot情報を読み取りに行く。そのため今回のように0番目のハードディスクが故障した場合(Linuxでは基本的に若い番号順にsda, sdb…と割り振られる)1番に接続していたハードディスクを0番に移動し,新しいハードディスクを1番に接続しなければならない。よって次の写真のように接続する。
      11
      今回は仮想環境上で行なっているのでポート番号は簡単にわかるが,実際にハードで行う際にはポートの並び順を確認しておくべきだろう。
    • RAIDデバイスへ新しい物理デバイスの追加
      RAIDデバイスに物理デバイスを追加する前に,正常に稼働している物理デバイスと同じ容量(または大きい容量)になるように新しく交換した物理デバイスのパーティションを切る。長くなってしまうのでパーティションを切る方法はここでは割愛する。
      同じようにパーティションを切ることができたら# mdadm --add [追加先のRAIDデバイス] [追加する物理デバイス]コマンドを用いてRAIDデバイスに追加する。追加した結果を以下に示す。

      # mdadm --add /dev/md125 /dev/sdb2
      mdadm: added /dev/sdb2
      # mdadm --add /dev/md126 /dev/sdb3
      mdadm: added /dev/sdb3
      # mdadm --add /dev/md127 /dev/sdb1
      mdadm: added /dev/sdb1
      # cat /proc/mdstat
      Personalities : [raid1] 
      md125 : active raid1 sdb2[2] sda2[1]
            511936 blocks super 1.0 [2/2] [UU]
            
      md126 : active raid1 sdb3[2] sda3[1]
            1726400 blocks super 1.2 [2/1] [_U]
            [=======>.............]  recovery = 38.3% (661824/1726400) finish=0.3min speed=47273K/sec
            
      md127 : active raid1 sdb1[2] sda1[1]
            6143936 blocks super 1.2 [2/1] [_U]
              resync=DELAYED
            bitmap: 1/1 pages [4KB], 65536KB chunk
      
      unused devices: <none>
    • 新しい物理デバイスにgrub2をインストール
      新しい物理デバイスにはMBRが書き込まれていない,そのため物理デバイスを使用してシステムを起動することができない。MBRを書き込むためのコマンドは# grub2-install /dev/sdbを実行する。
      Installation finished. No error reported.」と表示されれば正常終了。

このようにしてHDDを交換することができる。

研究進捗状況 2015.07.21

前期のまとめとして現在の研究の進捗状況を書いておこと思う。

かなり前に書いたとおり,テーマはポッツモデルに関する数値的な研究を行おうとしている。
前期は,この研究を行って行く上でこれまでにされてきた研究の論文をひたすら読んだが,未だポッツモデルについて何を研究していくか決まっていない。
後期にはコロキウムで発表する場があるのでそれまでに目標を定めておきたい。

また,情報を整理するためにも簡単にまとめたものを逐次投稿しようと思う。

CentOS 7 に Chromium をインストール

ソースをビルドしてインストールする方法を説明します。

http://software.opensuse.org/package/chromium を開くと

スナップショット1

のページが開かれると思います。このページの下の「他のバージョンを表示」→CentOS7の部分の「不安定版を表示」→「ソース」を順にクリックしてダウンロードします。現在は chromium-38.0.2125.104-38.13.src.rpm でした。
rpmbuildコマンドを使って、SRPMからRPMをリビルドする。(かなり時間がかかります。)

# rpmbuild --rebuild chromium-38.0.2125.104-38.13.src.rpm

依存性の関係でリビルドできない場合は,必要なパッケージをインストールしてリトライする。
リビルドできたら~/rpmbuild/RPMS/x86_64以下にrpmファイルができているので

# rpm -ivh chromium-38.0.2125.104-38.13.x86_64.rpm

でインストールする。

スナップショット2

完了!

owncloud text editor文字化け対処

* (注) owncloud version 8.1.x 以降では構成が変わっており,この方法では対処できません 変更方法は→owncloud (Ver. 8.1.1) texteditor Shift-JIS の文字化け対処

検索したら既にやっている方がいて

http://blog.shironoo.org/blog/2014/11/21/owncloud-texteditor-sjis/
リンク切れ

のページのように
owncloud/apps/files_texteditor/ajax/loadfile.php
のファイルの
$encoding = mb_detect_encoding($filecontents."a", "UTF-8, WINDOWS-1252, ISO-8859-15, ISO-8859-1, ASCII", true);
の部分に”SJIS-win”を追加して
$encoding = mb_detect_encoding($filecontents."a", "SJIS-win, UTF-8, WINDOWS-1252, ISO-8859-15, ISO-8859-1, ASCII", true);
と書き換えればOK!