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

Last Update (2022/05/20 09:33:31)
1997.09.06から数えて counter 番目のアクセスです。

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

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

ページ内目次


■ 宇宙暦 2020.10.01

http://www.ceres.dti.ne.jp/~george/jdiaryC01001.html#20201001

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

色々システム障害

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

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


■ 宇宙暦 2020.10.03

http://www.ceres.dti.ne.jp/~george/jdiaryC01001.html#20201003

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.07

http://www.ceres.dti.ne.jp/~george/jdiaryC01001.html#20201007

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.10

http://www.ceres.dti.ne.jp/~george/jdiaryC01001.html#20201010

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.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.11

http://www.ceres.dti.ne.jp/~george/jdiaryC01001.html#20201011

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.13

http://www.ceres.dti.ne.jp/~george/jdiaryC01001.html#20201013

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.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.17

http://www.ceres.dti.ne.jp/~george/jdiaryC01001.html#20201017

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

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

tag: windows10, netstat, ポート番号, tasklist, taskkill

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

netstat -nao

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

p.s.

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

p.p.s.

tasklistコマンドでプログラム名とPIDの一覧が表示できる。

taskkill /pid 9999 /f コマンドで、PID指定でプログラムを強制終了させることができる。


■ 宇宙暦 2020.10.20

http://www.ceres.dti.ne.jp/~george/jdiaryC01001.html#20201020

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

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


■ 宇宙暦 2020.10.26

http://www.ceres.dti.ne.jp/~george/jdiaryC01001.html#20201026

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

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

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

p.s.

別の電車は普通に10両編成だった謎。オレンジ色じゃない武蔵野線だったのか?


■ 宇宙暦 2020.10.28

http://www.ceres.dti.ne.jp/~george/jdiaryC01001.html#20201028

2020.10.28(水) 23:19:48 iTunesでオリジナル サウンド トラック(OST)の取り扱いが始まったっぽい

2020年1月発売のZガンダム系のオリジナルサウンドトラックがちょいちょいあるのは良き哉。

Zガンダムの三枝成影さんのモビルスーツ戦 3が無いのは解せないけどな!

iTunesのOSTコーナーはまだまだ往年のツタヤの棚一つにも満たない貧相な品揃えだが、これから拡充して欲しいわ。

そんなに売れるモンじゃないけどw


■ 宇宙暦 2020.10.31

http://www.ceres.dti.ne.jp/~george/jdiaryC01001.html#20201031

2020.10.31(土) 22:20:04 PowerShell デバッグ用の機能 DebugPreference

PowerShell デバッグ用の機能 DebugPreference

tag: powershell

シェル変数 $DebugPreference に値をセットすると以下の動作をする模様。

説明
"Continue" Write-Debugに指定されたメッセージを出力
"SilentlyContinue" Write-Debugに指定されたメッセージを出力しない
"Stop" Write-Debugに指定されたメッセージを出力した後、動作を停止
"Inquire" Write-Debugに指定されたメッセージを出力後、続行するかを確認

知らんかった。

2020.10.31(土) 22:20:12 PowerShellのコマンド実行時のエラー処理を設定する機能 (-ea)(Error Action)

PowerShellのコマンド実行時のエラー処理を設定する機能 (-ea)(Error Action)

tag: powershell

コマンドの後ろに -ea SilentlyContinue と書くと、コマンドのエラー時にもメッセージを表示しないとかできる模様。

オプションの -ea は変な名前だが、Error Actionの略らしい。

実行ファイルが存在するかどうか、True / False で確認したい場合は以下とのこと。

# hogeは存在しないコマンドとする
Get-Command hoge -ea SilentlyContinue | Out-Null
echo $?
# False が表示される。

日記ファイルリスト最新100件


Copyright(c) 1996-2022 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 2022-12-31.)