Hyper-vを使ってUbuntu 20.04をインストールする。の続き

Hyper-V上でubuntuを実行する場合の注意事項については、

https://docs.microsoft.com/ja-jp/windows-server/virtualization/hyper-v/supported-ubuntu-virtual-machines-on-hyper-v

のドキュメントに記載があって、

HYPER-V の使用を増加させるには、適切な linux ツールと仮想マシンでのツールおよび使用するためのデーモンをインストールする linux クラウド ツール パッケージをインストールします。 Linux 仮想カーネルを使用する場合は、linux マシン ツールから仮想マシンlinux-クラウド ツール-バーチャルを読み込みます。 

 という記載があります。

 

具体的にはHyper-Vに最適化されたKernelがあるので、そちらをインストールします。

# apt-get update
# apt-get install linux-azure 

すでにFocal(ubuntu 20.04)に対応したパッケージがあるので、それを使うことになります。 

https://packages.ubuntu.com/focal/linux-azure

 

f:id:sasukehy:20200405154335p:plain

# init 6 

 で再起動。rebootでもいい。なんでもいいので再起動します。

 

Hyper-vを使ってUbuntu 20.04をインストールする。

Microsoftの1st partyハイパーバイザーといえばHyper-Vですが、いろいろできるようになってんだなーって関心。

f:id:sasukehy:20200405150541p:plain

クイック作成をクリックするとOSの選択に進む

f:id:sasukehy:20200405150401p:plain

まず、isoをダウンロードします。
http://releases.ubuntu.com/20.04/

 

f:id:sasukehy:20200405150721p:plain

Desktop imageをクリック。注意書きとしては、1024MiBのRAMが必要だと書いてある。CPUって最近のだと大体性能的に問題なさそうだしね。

f:id:sasukehy:20200405151227p:plain

ローカルインストール元を選んで、この仮想マシンではWindowsを実行しますのチェックボックスを外す。

f:id:sasukehy:20200405151316p:plain

下部のあるその他のオプションをクリックして適当に名前を変更する。

f:id:sasukehy:20200405151517p:plain

インストール元の変更をクリックし、ダウンロードしたisoを選択する。

f:id:sasukehy:20200405151614p:plain

仮想マシンの作成をクリック。

f:id:sasukehy:20200405151642p:plain

起動をすると、自動的に下記の画面に遷移。

f:id:sasukehy:20200405151944p:plain

f:id:sasukehy:20200405152043p:plain

f:id:sasukehy:20200405152102p:plain

f:id:sasukehy:20200405152114p:plain

f:id:sasukehy:20200405152150p:plain

f:id:sasukehy:20200405152210p:plain

f:id:sasukehy:20200405152228p:plain

f:id:sasukehy:20200405152258p:plain

f:id:sasukehy:20200405152316p:plain

f:id:sasukehy:20200405152342p:plain

Linux Kernelも5.4となってますね。

f:id:sasukehy:20200405152806p:plain

今すぐ再起動して、インストール完了です。お疲れさまでした。

f:id:sasukehy:20200405152917p:plain



remote development extension

そういえば、家に空いたThinkpad X1があったなぁと思いつき、簡単にssh serverの設定をして、じゃあどうやって使うかなって思ったときに、VSCodeから全部できたらべんりだと思った。そういうわけでWindows上のVSCodeにExtensionをいれて遊んでみようと思ったので。作業。

 

VSCodeを立ち上げ、Extensionの検索まどからRemote Developmentを検索し、インストール。まだPreviewだけど対して悪さしないだろうから使う。

 

f:id:sasukehy:20200405141754p:plain

すでにWSLとの組み合わせで活用しているけど、ちょっとマシンパワーほしいなって時に使うのによさそう。

 

接続は非常に簡単で、左下にあるOpen a remote windowをクリック。

f:id:sasukehy:20200405141918p:plain

f:id:sasukehy:20200405141944p:plain

 

Remote-ssh: Connect to  hostを選択

f:id:sasukehy:20200405142006p:plain

user@host形式で入力し、+ Add New SSH Host...を選択

 

そのあと、Linuxを選択するとつながる。

f:id:sasukehy:20200405142453p:plain

もちろんリモートのターミナルも立ち上がる。

f:id:sasukehy:20200405142407p:plain

SSHクライアントにいろいろ使っている人もいるだろうけど、puttyとかteratermとか使わなくてもこれでいいよね?って感じる。FTP?セキュアでないサーバってもう使いたくないよね。

 

リモートの設定ファイルを確認したりできる。

f:id:sasukehy:20200405143034p:plain

あとは、Remote Developmentで開いたVSCodeExplorerドラッグアンドドロップでファイルアップロードしたり、Explorer経由でダウンロードもできる。

f:id:sasukehy:20200405145730p:plain

以上です~。

二段階認証にYubikeyを積極的に使いだした話。

FIDOの努力によってか、YubiKeyが世の中に広がってきたおかげか。いろいろなサイトでNon-Passwordログインの世界が広がってきた。今は、まだ2段階認証だけだけど、例えばWebTokenを新しくしたいときなんかに鍵を開く感覚で物理キーを使えたらさぞかしいいだろうと思っていたところ。

 

あと、集中したいのにスマホを開くというのはナンセンス、煩雑(それさえもめんどくさい)なので、できれば物理的なタッチだけ!などの手段を使いたいということで二段階認証のためにyubikeyを積極的に使い始めています。

 

よくある質問として

Q. YubiKeyをなくした場合はどうするの?
A. ほかの手段の二段階認証はとっておくべきで、例えば電話認証など。おそらく、電話とカギ別の場所においているはず(キーチェインに電話ぶら下げてないよね?)なので、大丈夫かと思います。電話をなくした場合には、電話の電源が切られてなければ追跡する。電話の電源が切られていれば、ワイプする準備。YubiKeyをなくした、盗難された場合には、Yubikeyを登録してサイトから登録を解除。

 

GitHubの例

f:id:sasukehy:20200401113610p:plain

Twitterの例

f:id:sasukehy:20200401113635p:plain

f:id:sasukehy:20200401113657p:plain

f:id:sasukehy:20200401113716p:plain

 

Mac OSですぐにphpの環境を用意する

PHPも進化していて、ビルドインウェブサーバーってのがある。

php -S localhost:8080 

これだけ、一行。

いろいろな言語をやってきているけど、やっぱりこういうところがLLのいいところであるとおもう。LLのイベントにもまた参戦してみたいです。

Azure App Serviceに対応するランタイムリスト 2020/03/30現在

App Serviceで何かアプリを作ろうとしたときに、最初からContainerを用意する必要はなく、Microsoftが容易したDefault Container および Application Runtimeが選択できます。

もちろん、Bring your own containerも可能です。その場合は、Azure Container Registryなどを活用しつつデプロイを楽にする方法もあります。

でもまぁ、基本的には、Code Pushするだけの方法が手軽でいいですよね。

その際にOSの選択ができます。App Service のWindowsLinuxでは、一部の機能で差があるため、機能制約を受けずにアプリケーションを実行するために、どちらのOSを選択するかがカギになります。

ただ、ランタイムによっては、WindowsだけのものとLinuxだけのものがあるので、下記にまとめておきます。

※参考情報ですので、詳しくは公式情報を得るためにサポートに問い合わせてください。

Runtime Windows Linux
.NET Core
.NET Core 3.1(LTS) ×
.NET Core 3.0
.NET Core 2.1(LTS)
ASP.NET
ASP.NET v4.7 ×
ASP.NET V3.5 ×
Java 11
Java SE ×
Tomcat 8.5
Tomcat 9.0
Java 8
Java SE
Tomcat 9.0
Tomcat 8.5
Node
Node 12 LTS
Node 10 LTS ×
Node 10.14
Node 10.10 ×
Node 10.6
Node 10.1 ×
Node 10.0 ×
PHP
PHP 7.3
PHP 7.2
Python
Python 3.8 ×
Python 3.7 ×
Python 3.6
Ruby
Ruby 2.6 ×
Ruby 2.5 ×
Ruby 2.4 ×


以上