情報技術の四方山話

AI、IoT、ヤマハルータ、VPN、無線LAN、Linux、クラウド、仮想サーバと情報セキュリティのよもやま話

WSLでPowerShellやコマンドプロンプトからlinuxコマンドを実行する

2020-04-30 12:03:32 | Windowsの備忘録
今回は「WSLでPowerShellやコマンドプロンプトからlinuxコマンドを実行する」です。
WLSが更新され、使いやすいWindows TerminaのPreviewがでたこともありWLS(Windows Service for Linux)を試しています。
前回は、PowerShellやコマンドプロンプトからwlsコマンドでLinuxのbashを起動できることを紹介しました。

もう少し試してみたところ、なんと「wlsコマンドでLinuxコマンドを呼び出すことができる」ことが判りました。
これは「PowerSHellスクリプトでLinuxコマンドを発行することができる」ということです。

■コマンドプロンプトでLinuxコマンドを実行

C:\Users\taniy>wsl lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.4 LTS
Release: 18.04
Codename: bionic

C:\Users\taniy>


■PowerShellでLinuxコマンドを実行

PS C:\Users\taniy> wsl lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.4 LTS
Release: 18.04
Codename: bionic
PS C:\Users\taniy>


この環境ならば、これまでWindows上でLinux/bash環境を提供するツールとして使っていたBusyBox.exeは不要です。もちろん、Linux環境の呼び出し方の手続きは変わりますが、これからは、素直な実行環境でWindowsの機能とLinuxの機能を連携することができます。これは、開発者にとっては、素晴らしい環境です。

Windows Terminalでコマンドを操作する環境も改善されています。
Linuxのスクリプトだと思っていたプログラムが、WindowsにWSLをインストールすれば、概ねそのまま実行できることも判りました。デバッグ済みのLinuxソフトウエアをWindows上で実行することが極めて容易になるのですから、素晴らしいことです。

次回は、Linux環境で沢山使っている、自作のPythonプログラムが実行できることを試します。


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

WSLのLinux/bashはPowerShellやコマンドプロンプトからも起動できます

2020-04-30 05:36:05 | Windowsの備忘録
今日は「WSLのLinux/bashはPowerShellやコマンドプロンプトからも起動できます」です。
WSL(Windows Service for Linux)はWindowsのメニューから起動することができます。
これまではそうしてきていました。PowerShellやコマンドプロントから「wsl」と入力するとあら不思議。Linuxのbashが起動されLinux環境に変わります。

この仕組みを使うとPowerShellからLinuxのスクリプトを起動することもできそうです。
私の場合は、Windows上でLinux bash環境で作ったスクリプトを動かしたいことがままあり、これまでは、コマンドプロントからbusybox.exeを使ってbashスクリプトを起動してきました。
これは、Windows環境のスクリプト実行環境としてコマンドプロンプト、いわゆる".bat"しか知らないからです。しかも"*.exe"を起動できる程度の知識しかありません。

コマンドプロント環境も使いこなせば、複雑なことも書けるとは思います。
ただ、私にとっては長年使っているbash, awk, pythonの方が経験と、インターネット上の事例の情報量が圧倒的に多くて実装が楽なのです。

一方、仕事の都合で、昨年よりPowerShellを本格的に使い始めています。
私にとってWindows nativeなスクリプティング環境はすでにPowerShellになっています。シンプルなスクリプトですが、異種のシステムを連携させるプログラムを記述しています。このプログラムは当面使い続けることになります。

".bat/busybox.exe/bash,awk"で書いたスクリプトもPowerShellに移植し、メンテナンスできるようにしようとしていますが、方針を転換してPoweShellから素直にWSL/bash,awkスクリプトを実行するかどうかをまず調べます。


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Windows TerminalでPowerShellとLinux/Ubuntu bashを統合表示

2020-04-29 22:18:32 | Windowsの備忘録
今日の話題は「Windows TerminalでPowerShellとLinux/Ubuntu bashを統合表示」です。Windows環境にはコマンドshellが幾つかあります。

歴史的:コマンドプロンプト
モダン:PowerShell
新機能:Linux/Ubuntu(複数の種類を同時実行可)

これらは、独立のコマンド入力ウインドウを持ちます。複数の環境を一つのウインドウに統合して「Tab」で管理できるようにしたものが「Windows Terminal」です。
すでにMicorosoft StoreからPreview版が配布されており、インストールは極めて簡単です。

私の場合は、PowerShellとUbuntu/bashの両方を使う機会が多いので、統合環境は便利です。
PowerShellはコマンドプロンプトが持つコマンドを使うことができるので、近年はコマンドプロンプトを使う機会はほとんどなくなっています。
また、昨年よりお客様向けの仕事として、PowerShellスクリプトも書いています。

PowerShell環境でsshを使ってLinuxサーバに接続することは日常です。
PowerShellの端末機能はLinuxの端末機能とは異なりPowerShellでは表示やキー操作がうまくいかないことも散見されています。
本格的にLinux上で仕事をする場合は、PuTTYやTeraTermなど「別のTerminal」をインストールし起動しています。

Linux/Ubuntu bashでは、bash, awk, pythonなど、様々なLinux上の言語でスクリプトを書きます。
また、他のLinuxにつなぐ際も「Terminal」として利用します。

これまでは、この二つの利用環境は全く独立したものでした。
これが以下のように「Windows Terminal」の中でひとまとまりに管理することができます。
これは、便利です。



コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

EmEditorのMicrosoft Store版の試用を始めました

2020-04-27 15:59:44 | プログラミング
今日の話題は「EmEditorのMicrosoft Store版の試用を始めました」です。
EmEditorはEmurasoft社が開発・提供するテキスト・エディタです。

Windows XPのころにはライセンス版を購入して使っていました。私には使い勝手の良いエディタです。
ただ、開発の主体がLinuxに完全移行したので、一旦使わなくなりました。
近年はWindowsでの開発も行うようになり、定番のVisual Studio Code(以下Code)を使っています。

Codeはエディタですが、事実上「開発環境」です。
開発用エディタとしてはとても優れています。
ただ、私の場合はこの上でブログ原稿などの文書作成はなじまず、最近はメモ帳を使って原稿作成しています。

Microsoft Store上で「メモ帳より少し使いやすいエディタがないか」探したところEmEditorが出てきました。
スクリーンショットを見ると日本語化も進んでおり、使いやすそうです。お試しもできます。
仕事で使う大事なツールですから有償でも構いません。

インストールして起動して初めて「あのEmEditorだ!」と思い出しました。
ちょうど一回りして戻ってきた懐かしさがあります。
まずは、連休中の文書作成に使ってみます。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

在宅VPNでL2TP/IPsecのときは自宅ルータのPPTPパススルー設定をお忘れなく

2020-04-27 05:55:10 | 通信ネットワーク
今日の話題は「在宅VPNでL2TP/IPsecのときは自宅ルータのPPTPパススルー設定をお忘れなく」です。
在宅勤務などで、L2TP/IPsecを使ったVPN接続を利用している方も多いと思います。

当方でも自社開発した「EasyRAS」という企業向けのリモートアクセスサービスを提供をしています。これは、企業ではRASを作りにくいことを改善するため、自社で開発して提供を始めたものです。昨今の事情で、在宅VPNとして多くの利用者様にご活用いただくようになりました。

「EasyRAS」の原型を最初にインストールしたのは2017年で、長期間にわたり問題なくお使いいただいています。その中で見えてきたのが「まれにつながらないことがある」ことです。

家庭用ルータの中には初期設定ではL2TP/IPsecを通さない機種があります。
これは、通らないことが悪いということではなく、セキュリティの考え方の違いです。なぜなら通すようにできるからです。

以下のメーカー製家庭用ルータはPPTPパススルー(VPNパススルー)を許可しないと、L2TP/IPsecが通りません。

1.I/Oデータの家庭用ルータ(最近の機種も)
2.Buffaloの家庭用ルータ(比較的古い機種で。最近の機種は可?)

「EasyRAS」はWindows, Android, macOS, iOSのOSの標準として備わっているL2TP/IPsecを使います。デバイス側には何もインストールする必要がないので、展開がたいへん楽です。
また、業界標準の接続方法なので、将来的にOSの標準機能から外れることがない限り使い続けることができます。当面は安心して導入できます。

在宅VPNのご活用にご興味のある方はこちらからお問い合わせください。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Windows 10のWSLでUbuntu 20.04 LTSを使い始めました

2020-04-26 21:37:47 | Linux
今日の話題は「Windows 10のWSLでUbuntu 20.04 LTSを使い始めました」です。
Windows 10デスクトップ上でWSL(Windows Service fot Linux)を使っています。
これまではUbuntu 18.04 LTSシェルを使っていましたが、最新バージョンの20.04 LTSも試し始めました。こんなに速くWLS版がリリースされるとは思っていませんでした。

今のところ、コマンドラインとしてはUbuntu 18.04 LTS版との差を感じません。
Ubuntu 20.04LTSを手っ取り早く使うには、とても良い環境です。
Linux ServerやDesktopであればLXCをインストールし"-t download"で仮想コンテナを作ると、20.04をcodename focalで選ぶことができます。
私は、iso版をダウンロードしながら、LXC版focalをインストールして使い始めました。


takumi@DESKTOP-882HI3T:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04 LTS
Release: 20.04
Codename: focal
takumi@DESKTOP-882HI3T:~$ uname -a
Linux DESKTOP-882HI3T 4.4.0-18362-Microsoft #476-Microsoft Fri Nov 01 16:53:00 PST 2019 x86_64 x86_64 x86_64 GNU/Linux
takumi@DESKTOP-882HI3T:~$



コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

WSL(Windows Service for Linux)もUbuntu 20.04 LTSを利用可能に

2020-04-26 20:12:04 | Linux
本日は「WSL(Windows Service for Linux)もUbuntu 20.04 LTSを利用可能に」です。

WSL(Windows Service for Linux)はWindows上でLinuxを使う環境です。
上のGuideには記述がありませんでしたが、MIcorosoft Storeから、
"Ubuntu"をインストールすると、Ubuntu 20.04 LTSがインストールされました。
以下は、初回起動時のメッセージです。
WSLには典型的なLinux環境があるので、とても便利に使っています。


Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: takumi
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

Welcome to Ubuntu 20.04 LTS (GNU/Linux 4.4.0-18362-Microsoft x86_64)

* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage

System information as of Sun Apr 26 20:07:15 JST 2020

System load: 0.52
Usage of /home: unknown
Memory usage: 21%
Swap usage: 0%
Processes: 7
Users logged in: 0
IPv4 address for eth0: 192.168.0.43
IPv6 address for eth0: 2400:4051:641:8810:81c4:6b74:8582:93e0
IPv6 address for eth0: 2400:4051:641:8810:944b:c368:35:fa00

0 updates can be installed immediately.
0 of these updates are security updates.

This message is shown once once a day. To disable it please create the
/home/takumi/.hushlogin file.
takumi@DESKTOP-882HI3T:~$



コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

買ってきたばかりのmicroSD/SDカードに書けない

2020-04-15 07:22:42 | Raspberry Pi
今日の話題は「買ってきたばかりのmicroSD/SDカードに書けない」です。
インターン君たちがラズベリーパイ(Raspberry Pi)等のインストールと初期設定に取り組んでいます。

ダウンロードしたイメージファイルを保管しておけば、インストールが容易になるので、購入したばかりの新品のmicroSD/SD/USBメモリ等に書き込もうとして失敗しています。

何度やっても失敗するとのこと。でもLinuxだけでなく、Windowsからもちゃんと認識し、読み書きできます。ところが、raspbianのイメージファイルを私が書き込んでも4G付近で失敗します。

Linuxを使って、デバイスレベルで、よくよく見ると「Win FAT32」でフォーマットされています。
昔の話を思い出しました。32bitファイルシステムの「一ファイル最大4Gの壁」です。最大容量は32Gまで。

私やインターン君たちは、OSの上から見ているのでフォーマットのことまで気づかなったのです。
ましてや、買ってパケージから出したばかりですからね。
解決です。NTFSにフォーマットし直しました。

インストールイメージが4Gを超える時代になり、これまでできていたことができなくなっています。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Ubuntu 20.04(Focal Fossa)LTS RCのリリースは4月16日

2020-04-12 22:23:29 | Linux/Ubuntu



今年はUbuntu LTS(Long Term Support)版のリリース年です。LTSのリリースは偶数年に行われ、Ubuntu 20.04(Focal Fossa)LTS RCのリリースは4月16日です。

Ubuntu 18から公式メンテナンス期間が10年に変更となり、RedHat/CentOSと同じように、長期に亘って同じバージョンを使うことができます。
私の場合はもっぱら開発用デスクトップPCにはUbuntuの最新のLTS版を使っているので、RC版が出たら試し始めます。

今後のスケジュールは、以下の通りです。

2020年4月16日 RC版リリース(Release Candidate)
2020年4月23日 正式版リリース
2025年4月   ソフトウエアサポート終了
2030年4月   セキュリティメンテナンス終了


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

LinuxでPowerShellのバージョンを確認する

2020-04-12 11:24:39 | PowerShell
今日は「LinuxでPowerShellのバージョンを確認する」です。
今のPowerShell Coreは,Windows,macOS,Linuxでつかうことができます。
私の場合は、Linux上に開発をまとめたいことと、スクリプトの互換性を試したいので、Linuxでも使い始めています。もちろん以下の確認コマンドは同じPowerShell環境であれば、OSにかかわらず実行できます。

■インストール情報
Microsof公式のLinux版PowerShell Core 7のインストール情報はこちら

■Linuxでの実行例

(base) takumi@tanistd:~$ pwsh
PowerShell 7.0.0
Copyright (c) Microsoft Corporation. All rights reserved.

https://aka.ms/powershell
Type 'help' to get help.

PS /home/takumi> $Host.Version

Major Minor Build Revision
----- ----- ----- --------
7 0 0 -1

PS /home/takumi> $PSVersionTable

Name Value
---- -----
PSVersion 7.0.0
PSEdition Core
GitCommitId 7.0.0
OS Linux 4.15.0-91-lowlatency #92-Ubuntu SMP PREEM…
Platform Unix
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0

PS /home/takumi>


■Windowsでの実行例

Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.

PS C:\Users\taniyama> $Host.Version

Major Minor Build Revision
----- ----- ----- --------
5 1 14409 1018


PS C:\Users\taniyama> $PSVersionTable

Name Value
---- -----
PSVersion 5.1.14409.1018
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.14409.1018
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1


 PS C:\Users\taniyama>


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする