銀河の歴史がまた1ページ(日記)

Last Update (2020/10/28 07:40:04)
1997.09.06から数えて counter 番目のアクセスです。

ミラーサイト [www.ceres.dti.ne.jp] [yk.rim.or.jp]

[ホームページ] [日記] [日記ファイル一覧] [読んでいる日記] [FreeBSD] [FreeBSD LINK] [検索]

jdiaryの最新(作成)記事ダイジェスト

2020.10.26(月) 23:20:35 京葉線の編成が8両になってた

昔は10両編成だったのだが、コロナでJR東が赤字になったからかな?

車内は結構密になってた。京葉線って実は赤字ローカル線なのか。

2020.10.20(火) 14:19:59 久しぶりに好天

近所のイオンでは行列ができていた。やっぱ雨の日は買い物とか行かないのか。

2020.10.17(土) 17:52:29 あるポート番号が何のアプリケーションで使用されているか調べる方法

あるポート番号が何のアプリケーションで使用されているか調べる方法

tag: windows10, netstat, ポート番号

PIDも表示されるnetstat -naoを実行。

netstat -nao

タスクマネージャーを起動し、詳細タブからPIDと名前で特定する。

p.s.

MSYS2のmintty.exeで起動したプログラム(vagrantのRubyとか、npm run startのnodeとか)がCtrl-Cで止まってくれなくて困る。 いやコンソール画面上では止まるんだけど、裏でプロセスは動き続けている...ぬーん....。

2020.10.13(火) 18:37:54 Windows 10 2004 WSL2 Ubuntu 20.04 LTS セットアップ

Windows 10 2004 WSL2 Ubuntu 20.04 LTS セットアップ

tag: wsl2, windows10, ubuntu2004

■ wslの起動

# Ubuntu側のコマンドの起動
wsl ip a

# wslの起動
wsl

# スタートメニューからWSL2を起動するのもアリ。

■ WSL2の中のUbuntu 20.04の設定

sudo bash
su -
visudo

以下のようにsudoersに記載してユーザーgeorgeをsudo可能にする。

george ALL=(ALL) NOPASSWD: ALL
sudo apt -y install language-pack-ja
sudo update-locale LANG=ja_JP.UTF8
sudo apt -y install manpages-ja manpages-ja-dev
sudo apt install -y vim
sudo apt install -y zip unzip
sudo apt install -y git
sudo apt install -y emacs
sudo apt install -y xorg
sudo apt install -y x11-apps
sudo apt install -y firefox

2020.10.13(火) 18:37:52 Windows 10 2004 WSL2 インストール

Windows 10 2004 WSL2 インストール

tag: wsl2, windows10

■ WSL2 インストール 管理者権限のPowerShellから実施。

# Windows Subsubsystem for Linux を有効化する 
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 仮想マシンプラットフォームのオプションコンポーネントを有効化する 
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

# WSL の既定(デフォルト)のバージョンを 2 に設定する 
wsl --set-default-version 2

# マイクロソフト・ストアを開く
start ms-windows-store:

# マイクロソフト・ストアから ubuntu 20.04 LTS をインストール

# WSLのバージョン表示
wsl -l -v

以下は古いのが有効になっている場合の表示例

PS C:\Users\george> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-18.04    Stopped         1
  Ubuntu-20.04    Running         2
PS C:\Users\george>
# wsl2 Ubuntu-20.04 の方をデフォルトにする
wsl --set-default Ubuntu-20.04
wsl -l -v
# Ubuntu側のコマンドの起動
wsl ip a

# wslの起動
wsl

# スタートメニューからWSL2を起動するのもアリ。

2020.10.11(日) 21:13:17 Windows10 (20.04) Hyper-V 環境でVagrantを使う(Debian10)

Windows10 (20.04) Hyper-V 環境でVagrantを使う(Debian10)

tag: debian10, hyperv, vagrant

debian10 buster の場合でもHyper-Vの仮想スイッチ(Default Switch)を使う場合はネットワークアドレスとIPアドレスはランダム付与になる。

内部でサーバを起動する場合は固定IPアドレスがあった方が便利なので、同じNICに複数のIPアドレスを付与する。

もちろん、VMの外(Windows側)からここで適当に付与した固定IPアドレスにはアクセスできないのだが...。

結局、真面目に使うならDefault Switchじゃなくて自作の仮想スイッチを作成するしか無いらしい。

ここではDefault Switchを使う簡易的な方法が書いてある。

■NICに複数のIPアドレスを追加する方法

Debian10の場合は以下。

# コマンド
ip address add 192.168.54.81/24 dev eth0

OS起動時に自動設定する場合は、/etc/network/interfaces に追記しておく。

元々のinterfacesの内容に、改行ひとつ加えてから書くのが重要。 詳しくは man interfaces と man ifup 参照。


iface eth0 inet static
    address 192.168.54.81/24

■Vagrantfile

Debian10用もあまり変わらない。

Vagrant.configure("2") do |config|
  config.vm.box = "generic/debian10"
  config.vm.synced_folder ".", "/vagrant", type: "rsync", rsync__exclude: [ ".git/" ]

  # master1 node
  config.vm.define "debian81" do |master1|
    master1.vm.hostname = "debian81.hyperv.local"
    master1.vm.provider "hyperv" do |h|
      h.enable_virtualization_extensions = true
      h.maxmemory = 4096
      h.memory = 4096
      h.cpus = "2"
    end

    # PROXY設定を環境変数PROXY_SERV_PORT,PROXY_USER,PROXY_PASSから読み込んでVM側に持ち込む
    # https://qiita.com/hakomikan/items/860bb960699889849933 Vagrantfile をコミットするために - Qiita
    master1.vm.provision "export env",
    type: "shell",
    run: "always",
    privileged: true,
    inline: <<-SHELL
        mkdir -p /etc/profile.d
        echo "# vagrant script for every boot" > /etc/profile.d/vagrant.sh
        echo export VBOX_HOST_NAME=debian81 >> /etc/profile.d/vagrant.sh
        echo export VBOX_FIXED_IP_ADDR=192.168.54.81 >> /etc/profile.d/vagrant.sh
        echo export PROXY_SERV_PORT=#{ENV['PROXY_SERV_PORT']} >> /etc/profile.d/vagrant.sh
        echo "export ADDITIONAL_ETC_HOSTS_1=\\"#{ENV['ADDITIONAL_ETC_HOSTS_1']}\\"" >> /etc/profile.d/vagrant.sh
        echo "export ADDITIONAL_ETC_HOSTS_2=\\"#{ENV['ADDITIONAL_ETC_HOSTS_2']}\\"" >> /etc/profile.d/vagrant.sh
        echo "export ADDITIONAL_ETC_HOSTS_3=\\"#{ENV['ADDITIONAL_ETC_HOSTS_3']}\\"" >> /etc/profile.d/vagrant.sh
        chmod +x /etc/profile.d/vagrant.sh
    SHELL

    # shell provisioner インストールなど初期化処理を行う
    master1.vm.provision "shell", path: "setupscripts-1-base.sh"
  end
end

■setupscripts-1-base.sh

セットアップ用スクリプトの一部。

#!/bin/bash

set -e

if [ -r /etc/profile.d/vagrant.sh ]; then
    source /etc/profile.d/vagrant.sh
fi

# 内部サーバ用IPアドレス2個目aliasを設定(コマンド)
ip address add ${VBOX_FIXED_IP_ADDR}/24 dev eth0

# /etc/network/interfaces に IPアドレスのaliasを追記
# https://wiki.debian.org/NetworkConfiguration
cat >> /etc/network/interfaces << EOF

iface eth0 inet static
    address ${VBOX_FIXED_IP_ADDR}/24

EOF

# /etc/hosts設定
f_log "/etc/hosts設定"
cat /etc/hosts | grep -v ${VBOX_HOST_NAME} > /etc/hosts.2
mv /etc/hosts.2 /etc/hosts
echo "${VBOX_FIXED_IP_ADDR}  ${VBOX_HOST_NAME}.hyperv.local   ${VBOX_HOST_NAME}" >> /etc/hosts


ここから先はFreeBSDの場合と同じで、vagrant up した後、vagrant ssh-config の結果から、/Windows/System32/drivers/etc/host にホスト名を登録して、 ~/.ssh/config に接続情報を記載する。

2020.10.10(土) 12:54:38 Windows10 (20.04) Hyper-V 環境でVagrantを使う(FreeBSD)

Windows10 (20.04) Hyper-V 環境でVagrantを使う(FreeBSD)

tag: hyperv, vagrant, freebsd

今までvagrant boxを使っていたのでHyper-Vはオフにしていたが、 WSL2がHyper-V前提なので、vagrant boxをHyper-V環境で使う方法をチェック。

■環境情報

■vagrant on Hyper-Vメモ

  1. vagrant up 時にhyperv版を使う場合は vagrant up --provider=hyperv とするか、 環境変数で VAGRANT_DEFAULT_PROVIDER=hyperv とする。
  2. 環境変数で VAGRANT_LOG=debug vagrant up などとすれば、詳細なログがでる。エラーの理由とか表示されるので便利。
  3. hypervを使う場合は、vagrant up 時に 管理者権限が必用。
  4. box イメージは hyperv 版を使う。FreeBSD公式/Ubuntu公式/Debian公式boxはhyperv版が無いので generic/freebsd12とかを使うことになる。
    https://app.vagrantup.com/generic generic作成。 hyperv用 と virtualbox用 boxイメージ があるのが特徴
    https://app.vagrantup.com/generic/boxes/freebsd12
    https://app.vagrantup.com/generic/boxes/ubuntu2004
    https://app.vagrantup.com/generic/boxes/debian10
  5. Hyper-V版のproviderの制限として、VM作成時のIPアドレス固定ができない。vagrantはHyper-V用の仮想スイッチ(Default Switch)の制御ができないから。
    https://www.vagrantup.com/docs/providers/hyperv/limitations Limitations - Hyper-V Provider | Vagrant by HashiCorp
  6. Hyper-V版のproviderのconfiguration可能な項目について。
    https://www.vagrantup.com/docs/providers/hyperv/configuration Configuration- Hyper-V Provider | Vagrant by HashiCorp
  7. Microsoftのブログで色々書いてある
    https://docs.microsoft.com/en-us/virtualization/community/team-blog/2017/20170706-vagrant-and-hyper-v-tips-and-tricks Vagrant and Hyper-V -- Tips and Tricks | Microsoft Docs

■Vagrantfileの作成

generic/freebsd12 boxイメージの場合、最大メモリが2048に設定されているので、それより増やす場合はmaxmemoryもセットする。

Vagrant.configure("2") do |config|
  config.vm.box = "generic/freebsd12"
  config.vm.synced_folder ".", "/vagrant", type: "rsync", rsync__exclude: [ ".git/" ]

  # master1 node
  config.vm.define "freebsd61" do |master1|
    master1.vm.hostname = "freebsd61"
    master1.vm.provider "hyperv" do |h|
      h.enable_virtualization_extensions = true
      h.maxmemory = 4096
      h.memory = 4096
      h.cpus = "2"
    end

    # PROXY設定を環境変数PROXY_SERV_PORT,PROXY_USER,PROXY_PASSから読み込んでVM側に持ち込む
    # https://qiita.com/hakomikan/items/860bb960699889849933 Vagrantfile をコミットするために - Qiita
    master1.vm.provision "export env",
    type: "shell",
    run: "always",
    privileged: true,
    inline: <<-SHELL
        mkdir -p /etc/profile.d
        echo "# vagrant script for every boot" > /etc/profile.d/vagrant.sh
        echo export PROXY_SERV_PORT=#{ENV['PROXY_SERV_PORT']} >> /etc/profile.d/vagrant.sh
        echo export PROXY_USER=#{ENV['PROXY_USER']} >> /etc/profile.d/vagrant.sh
        echo export PROXY_PASS=#{ENV['PROXY_PASS']} >> /etc/profile.d/vagrant.sh
        echo export PROXY_SKIP=#{ENV['PROXY_SKIP']} >> /etc/profile.d/vagrant.sh
        echo export http_proxy=#{ENV['http_proxy']} >> /etc/profile.d/vagrant.sh
        echo export https_proxy=#{ENV['https_proxy']} >> /etc/profile.d/vagrant.sh
        echo export no_proxy=#{ENV['no_proxy']} >> /etc/profile.d/vagrant.sh
        echo export FROM_ORESRV=#{ENV['FROM_ORESRV']} >> /etc/profile.d/vagrant.sh
        echo export FROM_OREAWS=#{ENV['FROM_OREAWS']} >> /etc/profile.d/vagrant.sh
        chmod +x /etc/profile.d/vagrant.sh
    SHELL

    # shell provisioner
    master1.vm.provision "shell", path: "setupscripts.sh"

  end
end

■setupscripts.shの作成

Default Switchを使う場合、IPアドレスは起動毎にランダムになる。

「ifconfig hn0 inet 192.168.54.59/24 alias」として、VM内部用に固定IPをaliasでつけてあげる。

#!/bin/sh

set -e

f_log() {
    echo "■ $(date) $@"
}

f_log "環境変数読み込み"
if [ -r /etc/profile.d/vagrant.sh ]; then
    . /etc/profile.d/vagrant.sh
fi

# IPアドレスのaliasを追加。
f_log "IPアドレスのaliasを追加"
ifconfig hn0 inet 192.168.54.59/24 alias

f_log "pkg アップデート"
pkg update

f_log "pkg アップグレード"
pkg upgrade -y

f_log "bashインストール"
pkg install -y bash

f_log "ansibleインストール  ansible-playbook-2.7"
pkg install -y py27-ansible

■仮想マシン作成

管理者権限を持つ powershell とか MSYS2 bash を起動。

export VAGRANT_DEFAULT_PROVIDER=hyperv
export VAGRANT_LOG=debug
vagrant up --provider=hyperv

起動中にIPアドレスが表示される。

■接続

# ssh接続
vagrant ssh

ssh接続後、/etc/rc.conf内部に「ifconfig_hn0_alias0="inet 192.168.54.59 netmask 0xffffff00"」と書いて、再起動後も固定IPをaliasでつけてあげるのが良い。

■毎回IPアドレスが変動する対策

とりあえずの対策だが、「vagrant ssh-config」するとssh接続用の設定が表示されるので、 ~/.ssh/config に投入。

Windowsのhostsファイル (/windows/system32/drivers/etc/hosts) も毎回書き換え。

本当は自分でgeneric/freebsd12専用の仮想スイッチを手作りして、VMのIPアドレスを固定するのが良いのかも。

ひとまず Hyper-V ON 環境で FreeBSD 環境ができた。

p.s.

ウチの環境だと、scpコピーで4MB/secしか出ないのが悲しい。エラーは起きないけど。

2020.10.10(土) 12:32:46 コマンドから管理者権限でWindows Terminal を起動する

コマンドから管理者権限でWindows Terminal を起動する

tag: windows10, windows-terminal, powershell

# 管理者権限でWindows Terminalを起動
powershell start-process wt -verb runas

# カレントディレクトリを引き渡すなら以下。
powershell start-process wt -ArgumentList "--startingDirectory","$PWD" -verb runas 

# 関数パラメータをコマンドラインパラメータとして渡すなら以下。
function f-sudo-windows-terminal {
    if ( $args.Length -eq 0 ) {
        powershell start-process wt -ArgumentList "--startingDirectory","$PWD" -verb runas
    } else {
        # カンマ区切りの引数を生成する
        $cmd_args = ""
        foreach ( $j in $args ) {
            if ( $cmd_args.length -ne 0 ) {
                $cmd_args += ","
            }
            $cmd_args += "$j"
        }
        powershell start-process wt -ArgumentList "--startingDirectory","$PWD","$cmd_args" -verb runas
    }
}

Start-Processコマンドレットの -ArgumentList は、スペースを含めずにカンマ区切りで記載する。

2020.10.07(水) 22:14:17 現在Hyper-Vが有効かどうかによって、環境変数 VAGRANT_DEFAULT_PROVIDER を設定する

tag: vagrant, hyperv

現在、徐々にHyper-Vを使うように環境を設定中。

現在Hyper-Vが有効かどうかによって、環境変数 VAGRANT_DEFAULT_PROVIDER を設定する PowerShell は以下。

# vagrant provider指定 (hyperv or virtualbox)
# 現在Hyper-Vが有効かどうかにしたがって環境変数VAGRANT_DEFAULT_PROVIDERを設定する
$RESULT = bcdedit /enum | Select-String "hypervisorlaunchtype"
if ( Write-Output $RESULT | Select-String "Auto" ) {
    # echo "Hyper-V is ON"
    $env:VAGRANT_DEFAULT_PROVIDER="hyperv"
}
if ( Write-Output $RESULT | Select-String "Off" ) {
    # echo "Hyper-V is OFF"
    $env:VAGRANT_DEFAULT_PROVIDER="virtualbox"
}

強制的に切り替えているので、万能ではないけども。

今の所、ウチの Windows 10 Pro 2004 , vagrant 2.2.10 , virtualbox 6.1.14 の環境 では、 Hyper-VをONにして、 freebsd/FreeBSD-12.1-RELEASE (virtualbox, 2019.11.01) という boxイメージを使って起動すると、 マジで起動する(!!!)ものの、scpでWindowsから150MBをコピーしようとすると時々失敗する。 (scpでLost Connectionエラーが出たり、scpは成功してもtar.gzのチェックサムがあわなかったりする) (virtualboxのboxイメージでもHyper-V環境で動いてるあたり、謎テクノロジー満載で凄いんだけどwwちと惜しい)

generic/freebsd12 (hyperv, 3.0.32)というboxイメージを使うと、scpでWindowsから150MBをコピーは成功するので、 とりあえずこっちに移住する計画。

ちなみに、generic/freebsd12のboxイメージの提供元はこちら。

hyperv版がきっちり用意されていたり、色々なOSのboxイメージを用意していたり、いったい何者なんだ...。

2020.10.03(土) 18:48:08 オレのAWS3号機 Ubuntu 1804 LTS → 2004 LTS 実行後の調整

オレのAWS3号機 Ubuntu 1804 LTS → 2004 LTS 実行後の調整

sudo do-release-update した後の調整。

dnsmasqがlxdを使うようになってたようで、色々調整しないと動かない模様。 今は使っていないので、消去しておく。

sudo systemctl stop dnsmasq
sudo systemctl disable dnsmasq
sudo apt remove dnsmasq

Ubuntu 2004 LTSの場合、/etc/ssh/sshd_configには以下の設定は最初から入っていた。

TCPKeepAlive yes
ClientAliveInterval 30
ClientAliveCountMax 60

2020.10.01(木) 21:23:19 色々システム障害

色々システム障害

あらあら。 Microsoftの方はTeamsで会議に入れなくなった...みたいな話は出てた。

東証CIOの人の株は上がった、というコメントをみて笑ってしまったww

2020.09.25(金) 13:38:53 Google各種サービスで障害発生とな (割とすぐに復旧した模様)

10時ごろにおかしくなってすぐ復旧した模様。

2020.09.24(木) 08:24:02 Windows 10 2004 にアップデートしてみた

Windows 10 2004 にアップデートしてみた

キーボードがJP106になってたので[キーボードの詳細設定]から英語(US)に変更。

一度 Vcxsrv - msys2 - ssh で ForwardX11 が効かなくなったが、再起動したら直った。謎すぎる。

その他 vagrant - virtualbox は普通に動いてる。

WSL2はこれから設定してみる。

2020.09.22(火) 14:07:47 連休中にオレwikiのチャット画面にvueコンポーネントで編集ボタンつけてみた

tag: wiki

vueのコンポーネントを今更使ってみた。

モーダル表示を出すvueコンポーネントを孫部品として、発言編集用のtextareaを持つvueコンポーネントを子部品として作成。

コンポーネント作成時のpropとして発言の編集用文字列を与えているので、画面表示時には全て発言について編集用の生データを持っているという不思議構成になってしまった。

本当は編集ボタンを押した時に編集内容文字列をAPIで取得して設定したかったんだけどなー。

今の所、親コンポーネントから子コンポーネントに情報を渡す方法がコンポーネント生成時にpropに入れて渡すしか無いので、コンポーネント作成後にデータを渡す方法が無いか検索中。

子vueコンポーネントのtextareaにファイルをDrag&Dropとかコピーペーストした場合には、裏でファイルをAPIアップロードした結果のリンク文字列をtextareaに挿入したいのだが...はてさて。

ファイルのDrag&DropからのAPIファイルアップロード処理もtextareaコンポーネントの中に持つのが一番まとまってる感じかなー。うーん。

2020.09.21(月) 07:46:50 iPhoneのSuicaには有効期限がある

iPhoneのSuicaには有効期限があるらしい。

使おうとして有効期限切れとか言われてビビった。

チャージしたらとりあえず復活したようだが・・・。

2020.09.07(月) 20:11:46 気象庁 台風発生前から5日先の予報を発表します

気象庁 台風発生前から5日先の予報を発表します

ふむふむ。なんか凄いニュースに見えるが、実はそうでもない。

これECMWF(欧州で開発された全地球モデル) / GFS(アメリカで開発された全地球モデル)を元にしたツイートで、 今回の台風10号のルートと勢力を8日前に話題にしているもの。 当初は伊勢湾か第二室戸クラスの非常に強い台風と予測されていた。

9日後までのECMWFとGFSのモデル予測はWindyのWebサイト、またはスマホアプリで無料で表示できる。

もちろん9日前のモデル予測なんてそんなに正確ではなく、台風ルートも500kmくらいズレているのだが、 非常に強力な台風が日本に来るかもしれない、というのはだいぶ早くから知る事ができる。

何の役に立つのかというと、ホームセンターで一足先に色々と買い物ができるのだ。

なお、台風対策で有名な沖縄パイセンの場合、台風シーズン前に必要な物資などを箱買いするらしい。流石だ。


Copyright(c) 1996-2020 George(小濱 純). All rights reserved.
私の作成したページへのリンクはご自由にどうぞ。
このページに間違いや要望などがありましたら george@yk.rim.or.jp まで御連絡ください。
メール本文に 6020-5440-3372 とか私の 本名 を漢字で書いて頂くと、ウチのSPAMフィルタを通過できます。

[ホームページ] [日記] [日記ファイル一覧] [読んでいる日記] [FreeBSD] [FreeBSD LINK] [検索]

home: <george@yk.rim.or.jp> or <george@ceres.dti.ne.jp>
(I am using white list SPAM filter. To avoid it, please write 6020-5440-3372 in mail body. This key word is valid since 2009-06-14 until 2015-12-31.)