shredでHDDの消去

しばらく前からHDDをSSDに換装する作業をしていたので、HDDがあまり気味になってきました。処分するにも中身を確実に消さなければなりません。

以前は、

$ sudo dd if=/dev/random of=/dev/sdx bs=16M

とかを何度か繰り返して乱数を書き込んでいたのですが、乱数書き込みは非常に時間かかり、数日で1台がやっとでした。今回、少し調べると、shred というツールで高速に乱数書き込みができるらしいことがわかりました。

$ sudo shred -z -v /dev/sdx

とすると、3回乱数を書き込んだ後、ゼロを書き込んでくれるそうです。しかも乱数書き込みは高速に行われるので、短時間で(といっても、1TBで半日くらいかかりそうですが・・・)処理が完了します。

今回はマザーボードのeSATAポートに裸族のお立ち台eSATAプラスを介してHDDを取り付けて処理をしています。(現在進行系)

アップグレードしたPCのその後

先月アップグレードしたCeleron G530マシンですが、交換後は2core/2threadから2core/4threadになったので意外に速くなりました。

このPCはもともと実験くんPCだったので、WindowsXP(Windows7だったかも?)からWindows8アップグレード(確か安価なキャンペーンをやっていた)を経てWindows10にアップグレードしたPCです。で、CPUアップグレードのついでに、500GBのHDDから余っていたSSD256GBに移行したところ、かなり快適になってしまいました。

・・・が、このPCはeSATA接続の外付けHDDとのデュアルブートでLinuxの実験マシンとしても使用していたのですが、CPUアップグレードに伴ってBIOSをアップデートしたら、増設のeSATAカードを認識しなくなってしまいました。このPCのケースはMini-ITXの小型のケースで5インチベイと3.5インチ内蔵ベイが一つずつしかなく、仕方ないので5インチベイのDVD-Rドライブを撤去して、そこに3.5インチのHDDを転がしていました。起動ドライブの選択自体は、BIOSでSATAをポートごとに有効無効が選択できるのでなんとかなりましたが。

そんな状態で、ふと秋葉原を歩いていたところ、KingFastというベンダーの120GBのSSDが3000円台前半で売っていました。(なんか、最近SSDが激安になってますね・・)
Linuxの実験用としては120GBもあれば十分ですし、HDDに比べれば大抵のSSDは高速なのでつい買ってきてしまいました。ついでに、アイネックスの5インチベイ用 SSD/HDD変換マウンタ HDM-32を買ってきて2台のSSDを内蔵化しました。
CPUクーラーに近いところにある3.5インチベイが空いたおかげで、冷却も良くなったんじゃないかと思いますし、外付けのHDDも不要になったのでスッキリしました。

かなり古いPCですが、まだまだ十分戦えそうですw。実際、消費電力効率とかハードウェアコーデックとかはダメダメですが、CPUの性能自体はJumperに使われているCeleron N3450よりも速かったりするんですよね。(用途がそもそも違いますが)

古いネットブックにKali Linuxをインストール

2代前の持ち出しPCのネットブック(IdeaPad S10-2、Atom N270、メモリを2GBに増設、HDDをSSD64GBに換装済み)にKali Linuxの32bit版をインストールしてみました。

グラフィカルインストーラは重いので、テキストインストーラを起動します。

途中、WiFiチップのドライバのregulatory.db b43/ucode15.fwなどが見つからない、というメッセージが出ますが、ここではそのまま放置して、有線LANを接続しておきます。

# apt-get install task-xfce-desktop

上記コマンドはすごく実行時間がかかりました。ホストしているサーバーまでの帯域が細いようで、ダウンロードも長いのですが、非力な初期のAtomでは非常に時間がかかります。で、なんだかんだ言いつつ、途中lightdmを選択し導入。
再起動し、ログイン画面でxfceを選択してログインします。ログインし直すと、軽くなってそれなりに操作できるようになりました。

BCM4311ドライバのインストール

このネットブックはWiFiチップとしてBCM4311が載っていて、Debian系をインストールするとドライバが入りません。Debianのページを見ると、non-freeのファームウェアは別途インストールする必要があるようで、主要な non-free のファームウェアを集めたアーカイブファイルへのリンクがあります。この中から、firmware-b43-installer_019-3_all.deb をダウンロードしておき、USBメモリで Kali linux 側に持っていって、

# dpkg -i firmware-b43-installer_019-3_all.deb

とすると、ファームウェアをダウンロード(これがまた時間がかかります。15KB/sくらいしか出ません。)

いろいろアップデート

これが終わったところで、ようやくいろいろアップデートかけます。

# apt-get update
# apt-get upgrade

・・・1GBダウンロードだそうで、丸1日くらいかかりそうです。性能が非力かどうかよりも、回線側の問題ですね・・。

<追伸>実際はそこまでかかりませんでしたが、UbuntuやLinuxMintに比べるとやはり時間がかかってしまいますね。

WindowsとLinuxで時計が狂うのを直す

昔から Linux と Windows のデュアルブートが可能な環境でOSを行き来すると、時計が大きくずれる現象が発生していました。これは Linux ではPCのハードウェア時計(RTC)が UTC(協定世界時)で動作しているのを前提としているのに対し、WindowsではRTCはローカルタイム(JST=日本標準時)で動作しているのを前提としており、それぞれのOSがNTPを利用して時刻修正を行って、それをRTCに反映していることが原因でした。

以前のバージョンのLinuxでは、 /etc/default/rcS に UTC=no と記載することにより、RTCの設定がローカルタイムであることを設定できたのですが、いつの頃からか /etc/default/rcS は存在しなくなっていました。

最近は Linux を使うことがほとんどで、それでもあまり困らなかったのですが、その修正方法がわかったのでメモしておきます。修正は以前と同様、Linux側で行います。使用するコマンドは timedatectl コマンドです。

$ timedatectl status
                      Local time: 水 2018-08-01 01:25:54 JST
                  Universal time: 火 2018-07-31 16:25:54 UTC
                        RTC time: 水 2018-08-01 01:25:45
                       Time zone: Asia/Tokyo (JST, +0900)
       System clock synchronized: no
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

ということで、最後の行にRTCがローカルタイムゾーンか否かの記載があります。で、

$ timedatectl set-local-rtc true

とするとこの設定を変更することができます。ところでこのコマンド、ハードウェア設定の変更に関わるものなのですが、root権限がなくても設定できてしまいます。(いいのかな?)

設定変更後に再度設定状況を読み出すと、

$ timedatectl status
                      Local time: 水 2018-08-01 01:26:22 JST
                  Universal time: 火 2018-07-31 16:26:22 UTC
                        RTC time: 水 2018-08-01 01:26:22
                       Time zone: Asia/Tokyo (JST, +0900)
       System clock synchronized: no
systemd-timesyncd.service active: yes
                 RTC in local TZ: yes

Warning: The system is configured to read the RTC time in the local time zone.
         This mode can not be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.

という感じで、警告が表示されます。

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」を追加します。修正後は、

$ sudo grub-mkconfig -o /boot/grub/grub.cfg

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

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

[ 2.850375] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 2.850412] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 2.851581] ata1.00: ATA-9: TS64GSSD370S, N1114H, max UDMA/133
[ 2.851586] ata1.00: 125045424 sectors, multi 2: LBA48 NCQ (depth 31/32), AA
[ 2.852914] ata1.00: configured for UDMA/133
[ 3.167663] ata2.00: ATA-8: TOSHIBA MQ01ABD032, AX001A, max UDMA/100
[ 3.167668] ata2.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[ 3.170648] ata2.00: configured for UDMA/100

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

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

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

#!/bin/sh

echo -n mmc1:0001 > /sys/bus/mmc/drivers/mmcblk/unbind

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

[Unit]
Description=/etc/rc.local

[Service]
ExecStart=/etc/rc.local
Restart=always
Type=simple

[Install]
WantedBy=multi-user.target

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

$ sudo chmod a+x /etc/rc.local
$ sudo systemctl enable rc-local.service

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

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

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

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

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

# / was on /dev/sda1 during installation
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 noatime,errors=remount-ro 0 1
# tmpfs
tmpfs /tmp tmpfs defaults,noatime 0 0

追伸

# echo -n '0:0:0:0' > /sys/bus/scsi/drivers/sd/unbind

で増設した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を禁止します。

$ su bash
# echo -n mmc1:0001 > /sys/bus/mmc/drivers/mmcblk/unbind

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

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

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

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

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

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

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

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

#!/bin/sh

echo -n mmc1:0001 > /sys/bus/mmc/drivers/mmcblk/unbind

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

[Unit]
Description=/etc/rc.local

[Service]
ExecStart=/etc/rc.local
Restart=always
Type=simple

[Install]
WantedBy=multi-user.target

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

$ sudo systemctl enable 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対応できちゃいました。