Window10に標準でOpenSSH


※クリックで拡大

 最近、DellのT100サーバにVirtualBoxって云うソフトをインストールしたんスよね。要はコンピュータの中に仮想のコンピュータを仕立てるソフトなんスよ。
 で、Fedora28って云うLinuxマシンを仮想コンピュータとして起動したのが上の図っすよ。旧態依然としたモノクロのキャラクターベースのログイン画面なんスけど、皆さんが普通にアクセスしてるサイトのウェブサーバも大体こんな感じっスからね。
 で、このサーバにアクセスして操作をするソフトをターミナルソフトって云うんだが、オイラは大体Tera Termと云うのを使ってたんだが、Windows10にも標準でOpenSSHって云うのが付いてくるようになったんで、OpenSSHクライアントソフトを使ってみたんスよ。


※クリックで拡大

 使い方は何のことはない。[スタートメニュー]→[Windows システム ツール]→[コマンドプロンプト]を選択すると上のような画面が出てくる。
 上の図は”C:\Users\user>”ってなってるんだが、PCにログオンしてるユーザー毎に”user”の部分は変わるんで、読み替えてみてね。上の図では何をやってるかと云うと…

  • カレントフォルダ直下に.sshって云うファイルもフォルダがないのを確かめ…
  • sshコマンドで、sunao-laboと云うユーザーでホスト192.168.11.11のPCにログインしようとする
  • 「ホントに接続を続けてもいいの?」って尋ねてくるので”yes”
  • パスワードを入力すると…ログイン出来たっと!
  • exitでログアウトして…
  • カレントフォルダ直下に.sshって云うフォルダが出来て、その中にknown_hostsって云うファイルが出来てた。
  • typeコマンドでknown_hostsの内容を見たらこんな感じだった

って云う感じっすね。


※クリックで拡大

 上の図はsshって云うコマンドだけじゃなく、ssh-keygenって云う公開暗号カギを生成するコマンドも付いてきって云う話ッスね。公開暗号を使ってサーバにログインする方法についてまた今度にしますんで悪しからず。

ソフトウェア開発の素直研究所です。お仕事のご依頼はこちらからどうぞ!

Windows Update(1903)でVMware Workstation 12が使えなくなった

 ”VMware Workstation 12 Player” ってぇのはPCの中に仮想のPCが作れるソフトで、仮想環境のサーバを使ってウェブアプリケーションを作るのに便利なんスよ。わざわざハードウェアを用意する必要もないんでコストも掛からないしね。
今ではAWSとかのクラウドで開発することが多いんで、VMwareで開発をお願いされることはなくなったんスけど、個人的な学習と云うか研究と云うのには今でも使ってるんスよ。
ところが最近、Windows 10がアップデートしてバージョンが1903になったんスけど、VMware Workstasion 12 Playerを起動すると下のような警告が出るようになって使えなくなっちゃったんスよ。

 ちなみにこの警告が出るのはDellのPowerEdge T100 と云うサーバマシンで、システムのバージョン情報は以下の通り。


※クリックして拡大

 一応X3330と云うインテルXeonプロセッサなんスけど、Core2Quadとかのハイパースレッディングがない時代のCPUでして、このCPUに対応してるVMware Workstationのバージョンは12まででして、Win10 Proのバージョン1903で使えるのはVMware Workstationのバージョン14からなんスよね。
ちなみにウチにはEPSONの Endeavor MR3500って云うCore2QuadのQ9400のCPU搭載のPCもあるんスけど、システムのバージョン情報は以下の通り。


※クリックして拡大

 こちらはWin10 Pro のバージョンが1809でして、こっちのPCではVMware Workstation 12 Playerが使えるんスよ。
結論として、Core2Quad時代のCPUを使ってるPCは、VMwareのバージョンは12までで、Win10のバージョンを1809までしか上げられないと云う事っすかねぇ。でなければCore iシリーズのCPU搭載のPCに買い替えてVMwareのバージョンを14以上にするしかないッスね。

ソフトウェア開発の素直研究所です。お仕事のご依頼はこちらからどうぞ!

YoutubeのAPI その1:ユーザーIDからチャンネルIDを取得する

 Web APIとは何ぞや?」ってぇ難しい話は、この語句のリンク先にまかせるとして、YoutubeでもFacebookでも或いは楽天でもこのWeb APIで成り立ってると云っても過言ではないくらい、インターネット技術の中枢的な存在っすね。コイツのおかげでオイラは飯を食わせてもらってるようなもんです。
 オイラが関わってる海外ドラマのサイトは、放送局が持っているFacebookサイトのウォール情報をFacebookのAPIで、放送局のアップしているYoutube動画情報をYoutube APIで取得して、カスタマーにサイトのページで提供したり、別のオリジナルなAPIとして提供してる訳っすよ。

 例えば、YoutubeのNHKオンラインでアップされてる動画情報を取得するのに、ユーザーIDが”NHKonline”と分かってるんだが、ユーザーIDからチャンネルIDを取得しないと動画情報は取得できないんだが、チャンネルIDを取得するAPIってぇのがあって、それが下のURLのような感じ…

https://www.googleapis.com/youtube/v3/channels
?part=contentDetails&forUsername=ユーザーID&key={APIキー}

 APIキーってぇのはこのAPIが誰でも使えちゃうのも差し障りがあるんだか知らんが、Youtube APIを使っていいよって証になるキーですね。すると下のようなJSONという構造体のデータを返してくれるんスよ。

 NHKオンラインのチャンネルIDは”UCip8ve30-AoX2y2OtAAmqFA”だわねってことが分かる訳っすよ。まぁこのあとチャンネルIDを使って動画情報を取得して、そういうデータをうまく加工してカスタマーに提供したりする訳っすね。
 ちなみにオイラのAPIキーがばれるとまずいので、ユーザーIDからチャンネルIDを取得するページを簡単に作ってみました。Google Chromeで拡張機能のJSON Viewをインストールしないと上のようにきれいに表示されないと思うけどご参考まで。次回はもう少し突っ込んだ話を。
http://sunao-labo.main.jp/api/youtube/get_channel_id.php

ソフトウェア開発の素直研究所です。お仕事のご依頼はこちらからどうぞ!

AmazonのクラウドサービスEC2でボリュームの拡張

 昨日の夕方、管理してるサーバの警告メールが届いたんスよね。要するにデータ領域が少なすぎて「別のサーバからデータを転送できねぇぜ」と云うお達し。管理サーバにsshでログインして調べてみたらデータパーティション領域の使用率が99%でした。仕方ないんで危急に必要のないバックアップデータとかを別のサーバに一旦移して使用率を96%にまで下げました。

[root@ip-1X-X-X-XX ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 1.8G 18G 9% /
devtmpfs 993M 60K 993M 1% /dev
tmpfs 1002M 0 1002M 0% /dev/shm
/dev/xvdf 50G 45G 2.2G 96% /mnt/xxxx

 容量を確認。/dev/xvdf は96%になったけどあんまり余裕なし。
 そのうちまたデータが一杯になるのは想像に難くないので、ハードディスクを増設しようと。
 それで、AmazonのクラウドサービスEC2の便利なところがサーバが稼働中にハードディスクのボリュームを増量することができるんスよ。実機でだったら稼働中にUSB接続で外付けハードディスクをアタッチすることは出来るけど、さすがに動いてる内臓ハードディスクの容量を300GBから500GBに増量なんて出来ないっしょ?

 先ずはデータパーティションのデータのバックアップということでスナップショットを撮ります。万が一ボリューム変更時にパーティションを壊してデータをお釈迦にしても大丈夫なように保険っすね。AWSのコンソールからブラウザで操作っすよ。

 で、50GBから70GBへボリュームを変更すると…

 最適化が始まって、10分位すると100%になって使えるようになると…いうわけじゃないんスよ。
 この後、この管理サーバにsshでログインしてパーティション領域を拡張する作業が必要なんスよ。

[root@ip-1X-X-X-XX ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 20G 0 disk
+-xvda1 202:1 0 20G 0 part /
xvdf 202:80 0 70G 0 disk /mnt/xxxx

 ボリューム増量後は70GBになってるね。ここでパーティションを拡張するコマンドを投入。

[root@ip-1X-X-X-XX ~]# growpart /dev/xvdf 1
FAILED: unable to determine partition type

 ありゃ?だわねぇ。じゃあファイルシステムを強制的にチェックしよう。

[root@ip-1X-X-X-XX mnt]# e2fsck -f /dev/xvdf
e2fsck 1.42.12 (29-Aug-2014)
/dev/xvdf is mounted.
e2fsck: Cannot continue, aborting.

 やっぱ、ディスクをマウントしたままじゃダメかぁ。エイやでアンマウントしてみるかぁ。

[root@ip-1X-X-X-XX mnt]# umount /mnt/xxxx
[root@ip-1X-X-X-XX mnt]# e2fsck -f /dev/xvdf
e2fsck 1.42.12 (29-Aug-2014)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/xvdf: 750800/3276800 files (0.2% non-contiguous), 11882540/13107200 blocks

 出来たねぇ。じゃあファイルシステムのリサイズコマンドいいんじゃね?

[root@ip-1X-X-X-XX mnt]# resize2fs /dev/xvdf
resize2fs 1.42.12 (29-Aug-2014)
Resizing the filesystem on /dev/xvdf to 18350080 (4k) blocks.
The filesystem on /dev/xvdf is now 18350080 (4k) blocks long.

 すかさずマウントすると…

[root@ip-1X-X-X-XX mnt]# mount /dev/xvdf /mnt/xxxx
[root@ip-1X-X-X-XX mnt]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 1.8G 18G 9% /
devtmpfs 993M 64K 993M 1% /dev
tmpfs 1002M 0 1002M 0% /dev/shm
/dev/xvdf 69G 45G 21G 69% /mnt/xxxx

 出来ましたねぇ。
ソフトウェア開発の素直研究所です。お仕事のご依頼はこちらからどうぞ!

URLリストに従って、順次Google ChromeでURLを開くバッチプログラム

表題の通り、URLリストに従って、Google Chromeで順次指定したURLを開くバッチプログラムなんスけど、先ず

  • メモ帳(notepad.exe)で参照したいURLを列記して、url_list.txtという名前で保存。
  • 同じくメモ帳で下のプログラムの通り打ち込んで、test01.batという名前で保存。
  • test01.batダブルクリックして実行。

 すると、10秒毎にURLのページをクロームで開き、閉じるという動作をするだけなんスけど、これに間に画面キャプチャーするコマンドを入れてやると、サイトキャプチャーソフトの出来上がりってぇわけです。

 ちなみにurl_list.txtとtest01.batは同一フォルダに置く必要があるんっすよ。
— test01.bat

echo off
REM — url_list.txtから一行ずつ読み込みURLを取得 —————–
for /f “delims=” %%a in (url_list.txt) do (
   start chrome –app=%%a
   timeout /T 10
  REM — ここに画面キャプチャコマンド等を挿入

  REM — タスク削除 ————————————————-
   for /f “usebackq tokens=1,2 delims=,” %%a in (`tasklist /FI “imagename eq chrome*” /FI “status eq RUNNING” /FO CSV /NH`) do (
  taskkill /pid %%~b
  )
)

— url_list.txt

http://www.infoseek.co.jp/
http://www.rakuten.co.jp/
http://news.infoseek.co.jp/topics/itmedia_mobile_20170124030/
http://news.infoseek.co.jp/topics/gendainet_370857/
http://news.infoseek.co.jp/topics/170124jijiX678/

 別にクロームでURLを開いてもなんの意味もないんスけど、オフィス・オートメーションで単純な仕事やるときにこんな手法で事務処理をするっていうのが賢いやり方っすよ。

ソフトウェア開発の素直研究所です。お仕事のご依頼はこちらからどうぞ!