EzBook3 Pro用にUSBブートのLubuntuを作成

EzBook3 Proでいろんなこと(ちょっと危ないサイトへのアクセスを含む)ができるよう、USBメモリブートのLinux環境をつくります。

1)LubuntuをUEFIで起動できるようインストール

Lubuntu 18.04.1を別のマシンでUEFIで起動してUSBメモリにインストール。「ディスクを削除してLubuntuをインストール」を選択。パーティション作成時にESPパーティションが作られるのがポイント。

2)内蔵SSDを見えなくする

EzBookPro3に増設してあるmSATAのSSDを認識できないようカーネルに設定追加します。

インストール完了後は、内蔵HDDを見えないように設定変更します。作業としては、 /etc/default/grub を開いて、 「GRUB_CMDLINE_LINUX_DEFAULT」の起動時オプションに「libata.force=disable」を追加します。修正後は、

としてgrub.cfgファイルを自動生成させて反映させます。

ちなみに、「libata.force=disable」のところを、「libata.for=1:disable,3:disable」のようにすると、特定のSATAデバイスのみ無効化できます。指定する番号は dmesg を見ると、

と言うような箇所があり、このata1.00のデバイスなら1:disableを、ata2.00のデバイスなら2:disableを指定します。(注:このdmesgの例は EzBook3 Proのものではありません)

3)内蔵eMMCを見えなくする

/etc/rc.localとして以下の内容のファイルを作成します。

次に、/etc/systemd/system/rc-local.serviceとして以下の内容のファイルを作成します

起動時に自動実行するように設定します。

これで起動後ログインするとeMMCの内容が見えなくなりました。

4)言語サポートのインストール

言語設定で不足しているファイルをインストールさせます。

5)USBメモリへのアクセス高速化

USBメモリへのアクセス時刻の記録を停止してアクセスを減らすとともに、/tmpをtmpfsにより確保してUSBメモリへのアクセスを減らします。/etc/fstab をのもとからある行にnoatimeオプションを追加し、さらにtmpfsで始まる行を追加します。

追伸

で増設したSATAが見えなくなるっぽい。事前に sync したほうが良さそうだけど。

Jumper Ezbook Pro 3にLinuxMint19をインストール

先日購入した Jumper Ezbook Pro 3 に LinuxMint19をインストールしてみました。

LinuxMintは内蔵のeMMCの領域ではなく、増設した32GBのmSATAのSSD(安かった KingDian の JP-N400 32GB)にインストールすることで、Windows10は丸ごと温存します。

1.BIOSでUSBメモリからの起動を選択。

今回は Linux Mint 19 MATE の64bit版をインストールします。ISOイメージをダウンロードしてハッシュ値を検証した後、USBイメージライタでUSBメモリに書き込みます。書き込んだUSBメモリをEzbook3 Proに取り付けて電源投入しますが、すぐにDELキーを連打してBIOSに移行、起動デバイスをUSBメモリに変更してから起動します。

2.WiFiの設定(SSID選択、パスワード設定)

起動するとすぐにWiFiを見つけて設定するように促されますが、ここでは設定しません。リリースノートを見るとgrubのインストールに失敗する障害があり、その対策としてインストール時にネットワークに接続しない、というものが挙げられています。これでだいぶ時間を取られてしまいました。

3.内蔵eMMCを禁止。

起動後、ブートローダ等を含めて温存したいので、内蔵eMMCを禁止します。

実行すると、デスクトップ上のSDカードっぽいアイコンが消えます。ひょっとすると(おそらく?)内蔵のMicroSDカードリーダーも見えなくなるかもしれません。この状態でもちゃんと内蔵のMicroSDカードリーダーは見えます。

4.増設したmSATA SSDを初期化

ディスクユーティリティを使ってSSDを初期化します。初期化しないとこのSSDは全く見えず、インストーラも認識してくれません。

5.インストーラを起動してインストール実行

インストーラを起動、言語は日本語、キーボードレイアウトは 英語(us) を選択。特に難しいところはありません。

6.インストール完了後の設定

まずは誤操作でWindows10のパーティションを壊さないよう、内蔵eMMCを見えないようにします。

/etc/rc.localとして以下の内容のファイルを作成します。

次に、/etc/systemd/system/rc-local.serviceとして以下の内容のファイルを作成します

起動時に自動実行するように設定します。

これで起動後ログインするとeMMCの内容が見えなくなりました。

後は、通常のLinux Mintの設定と大差ありません。

  • WiFiの設定
  • アップデートの実行
  • 言語設定で不足しているファイルをインストール
  • 言語設定でIMEを選択。今回はfcitxを選択しました。ibusではUSキーボードで日本語入力モードへ移行するキーバインドが見つかりませんでした。fcitxの場合にはCTRL+SPACEに割り当てられています。

といったところです。

Raspbianをダウンロードしようとしたら・・・

公式サイトのダウンロードページから RASPBIAN STRETCH LITE のTorrentのリンクをクリックしたところ・・・

ということで、負荷がいっぱいなので・・・ということで .torrent ファイルすらダウンロードできず。でも負荷を軽くするための torrent だと思うのですが、torrentでダウンロードするための .torrent がダウンロードできなかったら余計にサーバーに負荷が集中するような気がします。

幸い、ミラーサイトが国内にありましたので、そちらからダウンロードしましたが・・・。

http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/

で、ZIPファイル展開して、USBイメージライタでイメージを書き込んで、初めからSSHを有効化するために bootパーディション直下に ssh という名前で空ファイルを作ってから起動しました。(/boot/ssh ファイルを作らないと、一度ディスプレイ+キーボードを繋ぐか、シリアルコンソールを繋がないとSSHを有効化できないので・・・)

Jumper Ezbook 3 Pro を買ってみた

諸事情により、リモートデスクトップのクライアント機が必要となり、安価なPCを探していました。もともと1366×768の画面表示のノートPCはあるのですが、やはり今時としては画面が狭く不自由です。

で、画面が14.1インチと持ち運ぶには少し大きいもののドンキホーテのMUGA ストイックPCに目を付けて、レビューなどを眺めていました。それで、たどり着いたのがJumperのノートPCです。最初はJumper EZbook 3SEを候補にしていたのですが、Jumper Ezbook 3 Proの評判が良さそうなこと、アルミ筐体である程度のタフさがありそうなことや、RAMが6GBありSSDの増設が可能なのでデュアルブートにしてLinuxマシンとしても使えそうな気がすることから、Jumper Ezbook 3 Proの方を買ってみました。

Webのレビューでは英語/中国語のWindows10で日本語がの作業が必要、ということで覚悟はしていたのですが、電源を投入するといきなり中国語のみの表示がでて不安な気持ちに・・・。

しかし、・・・そのまままっていると、何も操作しなくてもしばらくして言語選択がでてきて、日本語を選択できました。以降、Cortanaがセットアップを手伝ってくれましたので、結果的に日本語化の作業は不要。ただ、セットアップ中に迷ったのはキーボードレイアウトです。日本語Windowsの場合、通常は日本語キーボードです。しかし、実機のキーボードは英語キーボードです。「2つ目のキーボードレイアウト」としてとりあえず「英語(米国)、US」を追加しておきました。

あとは、ウィザードに沿って操作していくと特に迷うことなく初期設定は完了しました。結果的にキーボード選択は正しかったようで、これでキートップの表示のとおりに入力ができました。

で、初期設定が完了すると、TOUCHPAD BLOCKERなるアプリが勝手に立ち上がってきました。このアプリ、表示が全部英語だったので、一瞬日本語化はされてないのかと思いましたが、そんなことはなく、このアプリが英語なだけでした。とりあえず機能をOFFにしました。

引き続き、アンチウイルスソフトとして、Kaspersky Freeをインストール。Kasperskyのフルスキャンを待ちきれずに、早速リモートデスクトップクライアントを起動してみたところ、あっさりリモートマシンにつながりました。開梱から1時間かからずに、FullHDのリモートデスクトップクライアントとして使い始めることができました。

開梱して1時間ですが、ここまで触った感触としては以下のような感じ。

プラスポイント

  • アルミ筐体でヤワヤワな感じは確かにしない
  • デザインも3万円台半ばでFullHD表示ができるものとしては良い
  • メモリも6GBあるので、ここまでのところではもたつく感じは一切しない
  • 液晶はやや青みがかっているが十分綺麗で視野角も狭くない
  • 音も使うだけなら十分
  • 13.3インチ液晶はちょうどよいサイズ。ドット抜け等もなさそう。

マイナスポイント

  • 製造管理の問題だが、画面枠の梨地の部分に擦った跡がある。カメラ左の部分なので結構目立つ。まあ、使ってるうちにすぐにこのくらいの傷はつくので良しとしますが。
  • ヒンジ部分のデザインの処理がいまいちかも。でも、外からはわからないし、使っているユーザーしか気づかないレベル。まあ、この価格と仕様で言う文句ではないだろう。
  • ACアダプタのプラグ部分が折りたたみだったら嬉しいところ。折りたためないので持ち運び時には嵩張る。
  • 起動中にJumperのロゴの後ろに中国語が表示される。(社名か何か?)
    これとヒンジのデザインの処理の部分がなければ中華PCとはそうそう思われないのに・・・。(Windowsのカスタムのスプラッシュ・スクリーンかもしれないので、クリーンインストールすると出なくなるのかも)

その他

  • マニュアルも日本語のページがある。でも、Windows10の操作に関する一般的な内容。せっかくだから、キーボードの選択のこととかが書いてあればいいのに。
  • 相変わらずWindowsUpdateは糞遅い。まあ、Windows機すべてに共通する話ですが。

PCをグレードアップ(笑)

いろいろ実験用に使っていたPCが突然BIOSを含めて画面が全く出なくなってしまいました。試してみると、VGAもHDMIもどちらも出ません。CPUはCeleron G530なので、CPU内蔵グラフィックスですから、VGAとHDMIに共通する部分というと、もうCPUしかない気がします。

・・・ということで、ダメ元でCPUを交換してみることにしました。

1.交換するCPUは?

マザーボードはAsrockのH61M-ITXなので、調べてみるとSandyBridgeとIvyBridgeのLGA1155ソケットのものが使えることがわかりました。なので、Core-iシリーズだと2000番代と3000番代が対象、ということになります。
秋葉原のソフマップでSandyBridgeかIvyBridgeの中古CPUで安いもの・・・Core i3-3220Tの中古品を買ってきました。(本当はTなしが良かったんですが、ちょっとお高めになってしまうのでやめました)

2.交換の前に・・・

実は、もう1台同じ構成のPCがあるので、そちらのCPU(これまたCeleron G530)を壊れたPCに移植、今回買ってきたCore i3-3220Tはもう1台の方に組み込もうかと思い、もう1台の方のPCをモニタにつないで起動しようとしたところ・・・・全く同じ症状が発生。これはモニタの方か?ということで、ノートPCをつないでみると・・・・画面は出ました。
わけがわからなくなって、とりあえず、全部の電源プラグが刺さっているところにあるスイッチを切って、電源を入れなおしてみたトコロ・・・・どちらのCeleron G530マシンも画面がでて動作するようになりました(爆)

どうやら、原因はモニターの方のEDIDがトチ狂ってたような気がします。モニターの電源ボタンでのOFF/ONは頻繁にやるのですが、プラグまで抜くことはまずありませんでした。それがプラグ部分での電源OFF/ONにより内部が完全にリセットされたのだと思います。

3.で、CPU交換してみた

もはや修理目的でのCPU交換は不要になってしまったのですが、せっかくなのでCPUを交換してみました。
ついでに、ほとんど使うことのないDVD-Rドライブを撤去しました。買ってきたCore i3-3220TはTDPが35WなのですごくチャチなCPUクーラーが付属していましたが、クーラーについてはCeleron G530のもの(TDP 65W用)をそのまま使いました。熱的に余裕がある方がいいですしね。

交換結果はもちろん問題なし。ベンチマークとかは取ってないので効果の程はわかりませんが、2core/2threadから2core/4threadになったので、きっと役に立つこともあるでしょう。

サイトのSSL対応化

さくらのレンタルサーバの資料をみていたら、Let’s Encryptを使ったSSL化が簡単にできることがわかりました。

・・・といっても、本当に簡単で、マニュアルに沿って作業するだけです。CLIも必要なく、GUIだけで適用できました。

1.SSL設定の有効化と確認

マニュアル(『【無料SSL】サーバコントロールパネルからの導入手順』)に沿って作業するだけです。気をつけるとすると、マニュアル内にも書いてありますが、発行完了のメールが来るのに多少時間がかかります。15分くらいかかったでしょうか。ま、そんなレベルです。

2.WordPressでの常時SSL有効化プラグインの導入

さくらのレンタルサーバ専用の常時SSL有効化プラグインを導入して有効化します。これも、マニュアル(『【WordPress】常時SSL化プラグインの使い方』)に沿って作業するだけです。
これだけでサイトがSSL対応できちゃいました。

サーバのPHPのバージョンを推奨バージョンに戻す

WordPressの引っ越しを行った際に、PHPのVer7系だと記事が表示されない現象があり、Ver5系に変更したのですが、その後調べてみるとWordPress自体はPHPのVer7系に対応していることがわかりました。さらに調べていくと、テーマやプラグインがPHPのVer7系に対応していないケースで発生することがわかってきました。

セキュリティ面では最新のバージョンを使うに越したことはないので、なんとかならないか調べていたところ、PHP Compatibility ChekerというWordPressのプラグインを使うと問題点のチェックができることがわかったので、インストールして確認してみました。

その結果、やはりテーマやプラグインに問題があるものが見つかりました。プラグインの出力するレポートにどのファイルの何行目がNGが記載されていますので、これを順に見ていくことにします。

テーマについては、式の評価の部分がPHPのバージョンによって差があるところが検知されましたので、これをPHPのバージョンに関わらず同じ評価になるように{}を追加しました。具体的には、

という記述をすると、PHP5では、

と解釈されるのですが、PHP7では、

と解釈されるようです。(参考:http://php.net/manual/en/migration70.incompatible.php)
そこで、この$$が2つ続く箇所については{}を追加して、常にPHP5と同じ解釈になるように修正しました。

他には、

  • Throws SPAM Awayというプラグイン
    セキュリティ上の課題で変更になった関数(spilt() ⇒ preg_split())の単純な置き換え
  • WP SyntaxHighlighterというプラグイン
    MySQLサーバのバージョン取得の関数(mysql_get_server_info() ⇒ mysqli_get_server_info())の単純な置き換え

を行いました。
また、使用していないプラグインについては停止・削除を行いました。

一通りの整理を行った後、再度チェックをかけるとエラーはなくなったので、PHPのバージョンをさくらのレンタルサーバで標準の7系にしたところ、それでもきちんと表示できるようになりました。

これとは別に、Crayon Syntax Highlighterというコードをきれいに表示してくれるプラグインが入っていたのですが、停止していました。その理由は、記号が化けてしまうからだったのですが、今回、ぐぐってみたところ、Crayon Syntax HighlighterのSettingの中のCodeのセクションにある「Decode HTML entities in code」にチェックを入れると治ったので、逆に有効化してあります。

linuxmint19にpreloadを入れてみた

linuxの高速化についてぐぐっていたら、たまたま見つけたのが preload。頻繁に使われるファイルを空き時間にメモリにロードしておいてくれるらしい。メモリいっぱいだけど遅い Athlon5350 マシンにはピッタリのように見えるので、試してみることにしました。

synapticでpreloadをインストールした後、

$ sudo systemctl start preload.service

で起動する。システム起動時に preload を起動するには、

$ sudo systemctl enable preload.service

としておく。

ちょっと使ってみたところ、ログイン後の挙動は確かに早くなっている気がする・・・・が、学習してなんぼのものみたいなので、しばらく様子見ですね。

LinuxMint19をAthlon5350マシンにインストール

日本時間で6/30にLinuxMint19がリリースされました。Ubuntu18.04LTSベースなので、長期サポートが期待されます。(Webサイト上でも2023年までサポートって書いてあります)

で、いつものMATE版を以前組んだAthlon5350マシン(メモリ8GB+SSD64GB)に入れてみます。このマシンはこれまでは32bit版を入れていたのですが、さすがに今回は64bit版をインストールします。

インストールはUSBイメージライタでISOイメージをUSBメモリに書き込んで、そこから起動します。割と短時間で終了します。

インストール完了後、再起動して、アップデートマネージャでアップデートを適用します。その後、言語設定で「言語のサポート」から一番下にある日本語を選んで、「言語パッケージのインストール」を行います。次に入力方法で言語サポートの中から日本語を選んで「インストール」を行います。入力方法はデフォルトのfcitxのままにしました。(fcitxだとメニューの中に簡体中国語の表示のままのツール〔fcitx-qimpanel-configtool〕が出てくるので、ちょっと嫌なところはあるのですが・・)

基本的にはこれでおしまいなのですが、途中でSystem Snapshotを設定しろと煩かった(まあ、無視してもいいんですが)ので、試しにやってみます。System Snapshotを起動すると、スナップショットのタイプとしてRSYNCとBTRFSを選択するよう表示されます。デフォルトの選択はBTRFSの方になっているのですが、よくみると、インストール時点でBTRFSパーティションでないとダメと書いてありましたので、RSYNCの方にしてみます。(BTRFSだとファイルシステム自体の機能により瞬時にスナップショットが取れて、瞬時に戻せるようです)スケジュールは毎週(Weekly)にしてみました。初期状態だと、スナップショットがないので、初回だけCreateを押して、スナップショットを取ってみることにしました・・・・が、途中でクラッシュしてしまいました・・・。ということでヤメヤメ^^;

・・・で、このPCはいろいろ調査(主にWeb上)する際に使っています。以前はLinuxMint17とかLinuxMint18(非力なのでいずれもMATE版)を使っていたのですが、メモリコントローラがシングルチャネルのせいなのか64bit版では重くて、32bit版を入れていました。今回はさすがに64bit版にしたのですが、以前ほど重い感じはなく、ずいぶんと軽快になった印象です。理由はよくわかりませんが、体が慣れたのか、ブラウザが軽くなっているのか、Xサーバーが改善されているのかそれともウインドウデザインがシンプルになっているからなのか・・・?

まあ、主にWebで使うだけとしては十分なパフォーマンスになったように思います。

WordPressの引っ越し&ドメイン変更作業

これまでドメインキングとさくらのVPSの組み合わせで運用してきた当ページですが、元々VPSの運用が面倒臭くなっていたし、CentOS6.5もサポート終了があと2年半くらいまで迫っていたのでどうしようかなー、と思っていたところにドメインキングの大幅値上げ(確か100円/月⇒500円/月)の話が来たので、この機に環境を一新することにしました。ドメインキングの値上げは Plesk の一方的な値上げという話だったと思いますが、さすがに5倍となると看過できません。12月の次回支払い時期の前に移行することにしました。

で、元の構成はドメインキングでドメイン(+Webサーバもあるけど使ってない)取得、サーバはさくらのVPS(1Gプラン)上にCentOS6.5という組み合わせでした。

移行後の構成は、新しいドメインを .tokyo ドメインで取得、サーバはアップデート管理の手間を省きたいので共用レンタルサーバ(さくらのレンタルサーバスタンダード)としました。まあ、CentOS6.5でも自動アップデートを有効にしていたので、それほど手間ではなかったのですが、移行後の構築の手間も考えるとレンタルサーバでいいか、ということにしました。

で、移行自体は半日くらいで終わったのですが、せっかくなので作業手順のメモを残しておきたいと思います。

1.Wordpressのデータバックアップ

旧サーバー(VPS)上でWordPressのデータのバックアップを取ります。

2.データベースのバックアップ

次に、phpMyAdminを使ってデータベースのバックアップを行います。バックアップの方法は『【WordPress】さくらインターネットに移転(引越し)する方法』を参考にさせていただきました。

3.さくらのレンタルサーバ(スタンダード)の契約

契約できたら、サーバパスワードの変更を行います。メールで仮パスワードが送られてくるので、これを変更。変更後は、初期ドメイン名でsshログインできるようになります。

4.お名前.com で新ドメインの契約

手順は・・・・省略。whois代行があるのがいいですよね。あと、インフレ気味ですが、いろんなドメインがあるとことか。

5.お名前.comで取得したドメインをさくらのレンタルサーバで使用する設定を行う

基本的な流れとしては、さくらのレンタルサーバのサーバコントロールパネルで、「新しいドメインの追加」を行い、新しいドメインとレンタルサーバ上のディレクトリとの紐付けを行います。紐付けるディレクトリは別途作成が必要です。
その後で、お名前.com側のドメインNaviで対象のドメインで使用するネームサーバーをさくらインターネット側で指定されたネームサーバに変更します。
実施にあたっては『お名前.comで取得したドメインをさくらサーバーで使用する』を参考にさせていただきました。

6.さくら上でデータベースの復元

データベースの復元はサーバにログインしてシェル上で行いました。シェルが使えるなら、その方がずっと楽で簡単で一瞬で終わります。

方法は、『MySQL/MariaDB コマンドを使った復元』を参考にさせていただきました。

7.ドメイン変更に伴うデータベースの修正

今回はドメインの変更を伴っていますので、WordPressの中のデータも修正しないといけません。そのためのツールがあるようで、『WordPressのサーバー移行_ドメイン変更の手順』を参考に、Search and Replace for WordPress Databases を使って新サーバー上でURLの置き換えを行いました。

8.PHPのバージョンを5系に下げた

アクセスしてみると、記事の本文が表示されない現象に悩まされました。ぐぐってみると、PHPのバージョンによって起きることあるらしいことが判明。確かに旧サーバは5系、新サーバーはデフォルトでは7系になっていました。さくらのサーバコントロールパネルでバージョンを7系から5系に下げたところ、本文が表示されるようになり、一通りの問題は解決したようです。

9.バックアップ用のシェルスクリプトの作成

データとデータベースのバックアップをするスクリプトを書いておきました。時々走らせようと思います。

10.旧サーバーからのリダイレクトの設定

旧サーバーはドメインキングのDNSサーバー設定でさくらのVPSのIPアドレスを返していました。
できれば、さっさとさくらのVPSは解約したいので、ドメインキングのサーバ上に .htaccess を置いて、リダイレクトさせることにしました。

<.htaccessの内容>

.htaccessを設置したら、DNSの設定を変更します。設定の中から

のレコードを削除します。

あとは、DNS情報が行き渡るのを待ちます。