Ubuntu 18.04でPT3を使用して地上デジタルテレビ放送を拝見できるように手配

OS: Ubuntu 18.04 Desktop
接触型 ICカードリーダライタ CLOUD2700-NTTCom
B-CASカード
PT3

カードリーダCLOUD2700-NTTComとB-CASカードを認識させる

aptで以って必要なパッケージをインストールしたのち、pcsc_scanを実施するとカードリーダとB-CASカードが認識された。放っておくとpcsc_scanは延々スキャンを試みるからいい加減でControl-Cを押下して中断せねばならない。

$ sudo apt install pcscd pcsc-tools libpcsclite-dev
$ pcsc_scan
PC/SC device scanner
V 1.5.2 (c) 2001-2017, Ludovic Rousseau 
Using reader plug'n play mechanism
Scanning present readers...
0: Identive CLOUD 2700 R Smart Card Reader [CCID Interface] (55291450217446) 00 00

(snip)

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99
        Japanese Chijou Digital B-CAS Card (pay TV)

MULTI2の復号ソフトウェアを導入

地上デジタルテレビ放送の放送波はMULTI2と呼ばれる暗号方式によって暗号化されていると言うからそのままでの視聴は叶わない模様である。復号するためのソフトウェアARIB STD-B25ライブラリを導入せねばならない。

$ sudo apt install git cmake dkms
$ git clone https://github.com/stz2012/libarib25.git
$ cd libarib25/
$ cmake .
$ make
$ sudo make install

PT3ドライバの導入

LinuxでもPT3を取り扱えるようにドライバを導入する。カーネルがアップデートされるとドライバの再インストールに迫られ手間であるから、READMEファイルの記載に従い dkms.installを実行してDKMSを有効にする。

$ cd ..
$ git clone https://github.com/m-tsudo/pt3.git
$ cd pt3/
$ make
$ sudo make install
$ sudo bash ./dkms.install

カーネルバージョン3.18以降にはearth-pt3と言う名のDVB版PT3ドライバが存在しているから、先に導入したpt3_drvと張り合いデバイスファイルが生成されない、ということなので此れをロードしないようブラックリストに登録しておく必要がある情勢である。そうしたらマシンを再起動する。

$ sudo vi /etc/modprobe.d/blacklist.conf
blacklist earth-pt3
$ sudo reboot

起動後にカーネルモジュールをあらためるとpt3_drvだけロードされて居る。デバイスファイルも生成されているから良さそうな景色である。

$ lsmod | grep pt3
pt3_drv                45056  0

$ ls -l /dev/pt3video*
crw-rw-rw- 1 root video 241, 0  7月 21 23:42 /dev/pt3video0
crw-rw-rw- 1 root video 241, 1  7月 21 23:42 /dev/pt3video1
crw-rw-rw- 1 root video 241, 2  7月 21 23:42 /dev/pt3video2
crw-rw-rw- 1 root video 241, 3  7月 21 23:42 /dev/pt3video3

recpt1の導入

放送を録画するためのコマンド recpt1 を導入する。もとはPT1用として書き起こされたようであるからPT3でも使用できるようヘッダファイル pt1_dev.h の内容を置き換えてからインストールを実施する。

$ sudo apt install autoconf automake
$ mkdir recpt1
$ wget -c http://hg.honeyplanet.jp/pt1/archive/tip.tar.bz2
$ tar jxvf tip.tar.bz2
$ cd pt1-17b4f7b5dccb/recpt1/
$ sed -i'.orig' 's/pt1video/pt3video/g' pt1_dev.h
$ ./autogen.sh
$ ./configure --enable-b25
$ make
$ sudo make install

recpt1を使用しての録画が恙無くおこなえるか確かめる。コマンドへ引き渡す値はオプションの他、物理チャンネルや録画時間(秒)、録画ファイル名である。またVLCメディアプレーヤーを使用して番組の視聴をするなら録画時間と録画ファイル名を-に置き換えてvlcコマンドへパイプでつなげれば宜しい。

$ recpt1 --b25 --strip 20 60 rec.ts
$ recpt1 --b25 --strip 20 - - | vlc -

やったぜ。

参考:
MULTI2 – Wikipedia
地上デジタル放送 チャンネル表 MASPRO
テレビ周波数チャンネル

名前に:(コロン)が含まれているファイルをscpコマンドで以ってコピーする

Ubuntuでウィンドウのスクリーンショットを撮影し其れをscpで他のホストへ転送を試みたところこうである。

$ scp Screenshot\ from\ 2019-01-18\ 16\:44\:48.png guro@192.168.0.100:/home/guro
ssh: Could not resolve hostname screenshot from 2019-01-18 16: Name or service not known

或いは Temporary failure in name resolution のようなメッセージも見られた。どうもファイル名に含まれる最初のコロンの直前までがホスト名と看做されている風情を感ずる。ファイル名をクオートで囲い込めばエラーを迂回できると考えたけれども案に相違して結果は同じであった。scpのオンラインマニュアルを繰るとこうである。

File names may contain a user and host specification to indicate that the file is to be copied to/from that host. Local file names can be made explicit using absolute or relative pathnames to avoid scp treating file names containing ‘:’ as host specifiers.

man 1 scp

相対パスか絶対パスでファイル名を定めればホスト名として解釈されずに済むというものである。

$ scp ./Screenshot\ from\ 2019-01-18\ 16\:44\:48.png guro@192.168.0.100:/home/guro

Ubuntu Desktop 18.04 LTSにKVMを導入しCentOS7を試験的にインストールする

OS: Ubuntu Desktop 18.04 LTS 日本語 Remix
CPU: Intel Core i7-4790 processor

仮想化技術の一であるKVM(Kernel-based Virtual Machine)もLPIC-3 304 Virtualization and High Availabilityの出題範囲でまことに大きな比重を占めており微塵も軽んずること能わず導入が急がれる情勢である。KVMの導入には仮想化支援機能を有したCPUがマシンに搭載されていなければならない。仮想化支援機能のあるやなしやを掴むにはこうである。

$ grep -cE '(vmx|smv)' /proc/cpuinfo

0よりも大きな自然数が返ればKVMの導入が叶うけれども0の場合は仮想化支援機能のあるCPUを買い求めに店頭へ走らねばならない。また、仮想化支援機能がBIOSの設定で無効にされている場合もあるから詳らかに探るなら $ sudo apt install cpu-checker でcpu-checkerパッケージを導入して $ sudo kvm-ok を実行すると宜しいようである。

$ sudo kvm-ok
INFO: /dev/kvm does not exist
HINT: sudo modprobe kvm_intel
INFO: Your CPU supports KVM extensions
INFO: KVM (vmx) is disabled by your BIOS
HINT: Enter your BIOS setup and enable Virtualization Technology (VT),
and then hard poweroff/poweron your system
KVM acceleration can NOT be used

加えてVMware Workstation上で動作するOSに対してKVMを導入するのであれば仮想マシンの設定にも気を配らねばならない。「Processors」の設定にある「Virtualize Intel VT-x/EPT or AMD-V/RVI」にチェックを入れておかねば折角の仮想化支援機能が台無しである。

あとはKVMをインストールして終いである。必要になるパッケージはUbuntuのバージョンによって異なる風情であるけれども、Ubuntu 18.10で求められるパッケージをUbuntu 18.04に導入してもなんとなく動いているようである。

Ubuntu 10.04以降
$ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

Ubuntu 18.10以降
$ sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils

試験的にKVMで以ってCentOS7の導入に取り組む。まずはディスクイメージを作成する。centos7.imgという名の10GBの容量を持つqcow2(QEMU Copy On Write version 2)形式のディスクイメージを生みだすならこういった具合で間に合う。

$ qemu-img create -f qcow2 centos7.img 10G
Formatting 'centos7.img', fmt=qcow2 size=10737418240 cluster_size=65536 lazy_refcounts=off refcount_bits=16

予めCentOS7のISOファイルをダウンロードして手元に用意しておく。

$ wget -c http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso

先に作成したディスクイメージcentos7.imgにCentOS7をインストールする。インストールのために一度だけCD-ROMから起動するよう指定するなら -boot once=dである。

また特段の指定がなければ仮想マシンのメモリ容量は128MBにセットされるけれども十分でないのかインストーラがカーネルパニックで打ち切りの憂き目に遭うから -m 512 として512MBを割り当てるのが良さそうである。

$ sudo kvm -hda centos7.img -cdrom CentOS-7-x86_64-DVD-1810.iso -boot once=d -m 512

インストールを済ませたらあとはCentOS7を起動するばかりである。

$ sudo kvm -hda centos7.img -m 512 -monitor stdio 

参考:
KVM/Installation
KVM

Ubuntu Desktopの標準フォルダ名を日本語から英語へ変更したい

OS: Ubuntu Desktop 18.04 LTS 日本語 Remix

Ubuntu Desktop 日本語 RemixをGUIでばかり使ううちはちっとも不便を覚えることは無いけれども、いざCUIで操作する段になるとホームディレクトリに用意されている標準フォルダーが日本語であることを大変煩わしく感ずる。コマンド入力時に日本語入力に切り替える手数がかかるだけで著しいストレスなのである。そうであるから此れを英語表記に変更するものである。

これを実現するために xdg-user-dirs-gtk-update コマンドが大層活躍をする。xdg-user-dirs-gtk-update コマンドに先行して、標準フォルダ名として適用したいロケールを指定して実行するだけで終いであった。ドイツ語に変更する場合はこういう具合である。はじめにドイツ語のロケールがインストールされているかをlocale -a乃至はlocalectl list-localesなどで確認する。

$ locale -a | grep de_
de_AT.utf8
de_BE.utf8
de_CH.utf8
de_DE.utf8
(snip)

大変豊富に用意されているうちから一先ずde_DE.utf8を選択して xdg-user-dirs-gtk-update を実行する。

$ LANG=de_DE.utf8 xdg-user-dirs-gtk-update

そうすると標準フォルダ名を変更するのか否かを問うメッセージが表示されるからNamen aktualisierenのほうである。これで名前を変更するという意味を持つようである。

此処までの知見を踏まえて英語表記に変更するならこういう具合である。

$ LANG=en_US.utf8 xdg-user-dirs-gtk-update

なお標準フォルダ内にファイルやディレクトリを有している場合はどうもうまい具合にリネームされない模様であるからディレクトリ内を空にしてから実施するのがよさそうな風情である。

VMware Workstation 14 Pro上にXenServerを導入する

VMware Workstation 14 Pro 14.1.1 build-7528167
XenServer 7.6.0

LPIC-3 304 Virtualization and High Availabilityの学習を進めるにあたって、出題範囲の一であるXenは出題の比率も高そうであるし実際に触れてみるのが内容を呑み込むのに近道であるとおもうから導入するものである。

先ずはXenServerのISOファイルを手に入れる。Citrixのアカウントがあって且つログインしていなければ入手は能わないからまずアカウントの作成である。アカウントはCreate a new Citrix account – Citrixのページから作成できる。

アカウントを作成したらサインインする。そうしてXenServerのダウンロードページへアクセスし、プルダウンメニューから「XenServer 7.6.0 Base Installation ISO -Free Edition」を選択し「Download File」を押下すればISOファイルを入手できる。2019年1月8日の時点でXenServerのバージョンは7.6.0が最新である模様である。

ダウンロードの前には輸出管理とか云うやつの規約についての同意を求められる。全面的に英語による文面であるから読み解くのは誠に難儀したけれどもGoogle翻訳が大いに助けとなった。ちかごろの翻訳精度は質的に高度な発展を遂げていると感ずる。

掻い摘んで内容を追いかけたところ、XenServerは米国の輸出管理規制の対象であり、法に抵触する輸出入や再輸出・譲渡は此れをしてはならぬし、他人のそういった企てを手助けしてもならぬという。またキューバ、イラン、北朝鮮、スーダン、シリア及び米国が輸出入を禁止している国の市民や居住者であってはいけない。そして米国政府の許しなくしては、いかなる核兵器、化学兵器、生物兵器またはミサイル技術に関する最終用途のためにXenServerを活用したり譲渡してもいけない。というような風情であった。

内容を飲み込んで受け入れたらAcceptボタンをクリックすることでXenServerのISOファイルのダウンロードが始まる。容量は715MBにも及ぶから保管場所の空き容量には気を配らねばならない。ISOファイルを保存したら次は仮想マシンの作成に取り掛かる。

VMware Workstationを起動して仮想マシンの作成を始めてゆく。

インストールするゲストOSの種類はひとまずLinuxのOther Linux 4.x or later kernel 64-bitを選択したけれどもあとから設定は自在に変更できるから概ね何をチョイスしても良さそうな風情である。

ホストOSに搭載するCPUのスペックはx86系で最低でも1.5GHzのものが良いようである。2GHz以上のマルチコアプロセッサならばなお良いという。

要求されるメモリの容量は最低限2GBで、おすすめは4GB以上であった。ちかごろは16GBで15000円程度というから以前に比べると本当に求めやすくなったものである。

ディスクの容量は最小で46GB、推奨されている容量は70GBであった。

もう一箇所設定を変更する用事があるから、 仮想マシン作成後に自動的に起動してこないよう「Automatically power on this virtual machine after creation.」のチェックを外しておく。

仮想マシンのプロセッサに関わる設定画面を開いて「Virtualize Intel VT-x/EPT or AMD-V/RVI」にチェックを入れておく。こうすることによって完全仮想化がサポートされてゲストOSとしてWindowsもインストールすることができるようになる。

そうしてISOイメージから起動するとXenServerのインストーラが立ち上がる。press the <ENTER> keyとあるけれどもEnterキーを押し付けなくても数秒ののちに自動でインストールウィザードへ移ろうからmemtestを実施したりsafeモードで立ち上げたいなら多少慌てねばならない。

使用許諾契約に同意するか否かの岐路である。大変長い文章であるから大急ぎでXenServerを導入したい向きには大いに困るであろうとおもう。英文を読み解くだけでも大事業であるからつい読みもせずAccept EULAを押してしまうのが常である。然し乍ら一番最後まできっちり読むと金銭を貰えるようなエンドユーザライセンスアグリーメントも世の中にはあるようであるから、moneyであるとか$のように金銭に関わりのありそうな文字列に気を配りつつサッとスクロールしたけれどもどうもそういった内容は見つけられなかった。

このメッセージは仮想化支援機能が無いか有効にしていない場合にお出ましになる。ゲストOSにWindowsのインストールを検討しているなら大変問題であるからうまい具合に解決しておくべき課題である。

時刻合わせはNTPサーバに頼るのが楽ちんでよいとおもう。日本で使用するならntp.nict.jpを指定して日本標準時を取得するのが都合がよい。

Supplemental Packsをインストールするか否か問われる。XenServerの機能を拡張できるような雰囲気の説明が見つかったけれども忽ち必要でないからインストールはしない。

インストールが完了すればあとはXenServerを起動するばかりである。