zuntan02のはてなブログ

備忘録的なものです。時々職場の技術者ブログにも転記してますが、メインはこちらで。

【Windows10でGit】WSL経由でUbuntuを使ってGitする方法

【前提】

OS:Windows10

【手順】

1)WSLを有効化したのち、MicrososftStoreよりUbuntu(無印)をインストールし、有効化する
参考手順:https://www.atmarkit.co.jp/ait/articles/1903/18/news031.html

  • [コントロールパネル]-[プログラムと機能]-[Windowsの機能]ダイアログを開き、[Windowsの機能の有効化または無効化]をクリックしてダイアログを開き、そこで「Windows Subsystem for Linux」にチェックを入れる。再起動が要求されるので、再起動を実行すること。
  • MicrososftStoreでUbuntu(無印)をインストール 、初回起動時にユーザーとパスワードを設定
  • ついでにWindowsTerminalもインストールしておく

2)wsl.exe -d UbuntuUbuntu起動

3)cd /mnt/c/作業ディレクト

4)git clone https://<ユーザ名>@リポジトリURL.git

5)cloneしたディレクトリに移動
cd [ディレクトリ名]

6)ブランチ確認
git branch
# masterでなければmasterになる
# git checkout master

7)最新化
git pull

★以下は運用によりますが、通常masterに直接pushするのではなく、ブランチで作業してプルリクエスト・マージリクエストを作成、承認を経てmasterにマージされるgitflowを回します。ここではブランチ名にrdmineなどのチケットIDを付与する形としています。

8)ブランチ作成用ID設定
TICKET_ID=[チケット番号]

9)masterからbranchを作成する
git checkout -b ${TICKET_ID}
git branch

10)ファイルを修正する

11)ブランチをオリジンまでpushする
git status
git add -A
git status
git commit -m ${TICKET_ID}
git push origin ${TICKET_ID}


12)マージリクエストを作成
github/labのwebサイト上で作成

13)マージリクエストを承認
github/labのwebサイト上で承認
※ソースブランチは削除


ざっくりとは以上。

■おまけ
VisualStudioCodeでGitを扱うためにはGit for Windows
https://git-scm.com/download/win
をインストールする必要がある模様
参考
qiita.com

【NextCloud_17】Collabora Onlineアプリが3.6.0で動かなくなった

【現象】

CollaboraOnline3.6.0になった後、Officeドキュメントを開こうとすると

Collabora Online is not setup yet.
Click here to configure your own server or connect to a demo server.

というメッセージが出るようになった。
NextCloud上のCollaboraOnlineコンテナじゃなくて外部のサーバに接続できるようになった模様、だけど、わざわざ外部は使いたくない。
ぐぐったところ、
https://github.com/nextcloud/richdocuments/issues/949
同じ問題にぶつかっている人がいて、曰く

  • 3.6.0 has a fatal flaw. Better not to update it.
first disable the add-on with version 3.6.0 and then delete it, then you can upload and activate version 3.5.3 via ftp
Download: https://github.com/nextcloud/richdocuments/releases/download/v3.5.3/richdocuments.tar.gz

とのこと。

【やってみた】

アプリ配置先:/hoge/nextcloud/apps/richdocuments

1)NextCloudの管理アカウントにて、 [+アプリ]-[アクティブなアプリ]一覧から[無効にする]としたうえで、さらに[×無効なアプリ]-[削除]すると上記「richdocuments」ディレクトリが消えた
2)wget https://github.com/nextcloud/richdocuments/releases/download/v3.5.3/richdocuments.tar.gz
として前バージョンのアプリをget、tar.gzを展開、上記場所に再度配置
3)[×無効なアプリ]にCollabora Online 3.5.3が表示されるので有効にする

以上で復旧しました。

【SSL】SecureCoreのSSL証明書で非ブラウザSSLクライアントのエラー(20200530)

【起きたこと】

SecureCoreのSSL証明書を設置していたwebサーバ(apache/nginx問わず)で
・ブラウザでのSSLチェックはOK
wget/curlなどOpenSSL系のコマンドで証明書エラー

wget https://hoge.fuga.jp/
--2020-06-01 15:44:28--  https://hoge.fuga.jp/
hoge.fuga.jp (hoge.fuga.jp) をDNSに問いあわせています... xx.xx.xx.xx
hoge.fuga.jp (hoge.fuga.jp)|xx.xx.xx.xx|:443 に接続しています... 接続しました。
エラー: hoge.fuga.jp の証明書(発行者: `/C=JP/ST=OSAKA/L=OSAKA/O=SecureCore/CN=SecureCore RSA DV CA')の検証に失敗しました:
  発行された証明書は失効しています。
hoge.fuga.jp に安全の確認をしないで接続するには、`--no-check-certificate' を使ってください。

みたいになった。

【やったこと】

1)Qualys SSL Labsでチェック

https://www.ssllabs.com/ssltest/analyze.html
→クロスルート証明書「AddTrust External CA Root」が05/30に期限切れになっている模様。

Valid until Sat, 30 May 2020 10:48:38 UTC (expired 1 day, 13 hours ago)   EXPIRED
Key RSA 4096 bits (e 65537)
Issuer AddTrust External CA Root
Signature algorithm SHA384withRSA
2)上記クロスルート証明書の差し替えを検討

SecureCoreの中間CA証明書が更新されていないかチェックしたが、現状のままだった
https://www.securecore.co.jp/support/manual/sslcert_install_apache-openssl.php
→20200602現在問題のない中間証明書になっている。こちらを配置すれば問題ないため以下は無視ください。

3)クロスルート証明書を削除

結果としてはこれでうまくいった。
https://www.securecore.co.jp/about/repository/intermediate_cert.php#sha2
上記から以下の箇所を削除してhttpサービスをreloadしたりgracefulしたりすればひとまずOK。
※どうしてもクロスルート証明書が欲しい(ガラケーからの接続など)場合はオープンのものを探す必要がありそう。

-----BEGIN CERTIFICATE-----
MIIFdzCCBF+gAwIBAgIQE+oocFv07O0MNmMJgGFDNjANBgkqhkiG9w0BAQwFADBv
(中略)
Jtl7GQVoP7o81DgGotPmjw7jtHFtQELFhLRAlSv0ZaBIefYdgWOWnU914Ph85I6p
0fKtirOMxyHNwu8=
-----END CERTIFICATE-----

以上

【AWS】カード情報差し替え

メモ:【AWS】カード情報差し替え

  • 1)AWSマネージメントコンソールにルートアカウントにてログイン
  • 2)[マイ請求ダッシュボード]-[お支払方法]-[カードを追加]
  • 3)カード情報を入力し、[デフォルトのお支払方法に設定する]をON
  • 4)請求先住所には[連絡先住所を使用してください]でOK

以上

CloudEndure入門(CentOS5環境をAWSに無停止レプリケーション!)

この記事の最終目的

オンプレミスのCentOS5世代の環境をそのままAWSに移設する必要が出てきた。この機会にCloudEndureを試してみる

CentOS5は対象なの?

https://docs.cloudendure.com/Content/Getting_Started_with_CloudEndure/Supported_Operating_Systems/Supported_Operating_Systems.htm
条件付き(Nitoroインスタンスが使えないとか)で行けるっぽい。やった!

作業に当たっての参考

AWS公式
https://aws.amazon.com/jp/cloudendure-migration/
クラスメソッド様のhowto記事
https://dev.classmethod.jp/articles/cloudendure-no-charge/
こちらにたいへんよくまとまっているのでまずは通読してから作業


【作業概要】

やってみた

1)CloudEndureサービスへのサインアップ

Sign up for your CloudEndure account
https://console.cloudendure.com/#/register/register
 →メール経由でID/PWを承認

2)CloudEndureの管理画面で初期設定

AWSでCloudEndureが提示するポリシーを作成し、専用のIAMにアタッチします

  • ポリシーの作成

[create policy] -[JSON]
ポリシーは以下の中身をそのまま貼り付けます。
https://docs.cloudendure.com/Content/IAMPolicy.json
(CloudEndure管理画面左ペインの[Stup & Info]-[AWS CREDENTIALS]のThe Project must have these permissionsのリンク先)

  • IAMの作成

専用のIAM Userを作成し、上記ポリシーをアタッチします

UserNmae: CloudEndure
アクセスの種類:プログラムによるアクセス

→アクセスキーが発行されますので、これをCloudEndureに登録しましょう。

  • CloudENdureの管理画面

CloudEndureの管理画面にサインインします
https://console.cloudendure.com/#/signIn

CloudEndure管理画面左ペインの[Stup & Info]-[AWS CREDENTIALS]でアクセスキーとシークレットアクセスキーを設定します。


3)レプリケーションの設定(1)レプリケーションサーバの用意

CloudEndure管理画面左ペインの[Stup & Info]-[REPRICATION SETTINGS]でレプリケーション設定を行います。

Migration Source:Other Infrastructure
Migration Target:AWS Asia Pacific(Tokyo)
Choose the Replication Server instance type:t3.micro
Choose the subnet where the Replication Servers will be launched:任意のサブネット

上記で[SAVE REPLICATION SETTINGS]

4)レプリケーションの設定(2)移行元にエージェントのインストール

CloudEndure管理画面左ペインの[Machines]-[AddMachines]でAgentインストール用のコマンドが得られます。

For Linux machines
Download the CloudEndure Agent Installer for Linux:

wget -O ./installer_linux.py https://console.cloudendure.com/installer_linux.py
sudo python ./installer_linux.py -t <付与されたトークン> --no-prompt

このコマンドをそのままレプリケーション元のサーバで実行します。

※今回検証時にはEventlogに
agentInstallFailed Failed to install agent on machineエラーが出ました。
cloudendure.logによればgccが入っていなかったのが原因だったので、gccをインストールしています。
※末尾にCentOS5へのgcc追加メモを追記しています。

sudo python ./installer_linux.py -t <Token> --no-prompt
The installation of the CloudEndure Agent has started.
Running the Agent Installer for a 32 bit system...
Connecting to CloudEndure Console... Finished.
Identifying disks for replication.
Disk to replicate identified: /dev/sda of size 20.0 GiB
All disks for replication were successfully identified.
Downloading CloudEndure Agent... Finished.
Installing CloudEndure Agent... Finished.
Adding the Source machine to CloudEndure Console... Finished.
Instance ID: <インスタンスID>.
Installation finished successfully.

上記ログを確認後、EC2に以下のインスタンスが起動していることを確認

インスタンス:  i-xxxxxxxxxxxxxxxxxxx (CloudEndure Replication Server conxx)
5)レプリケーションの設定(3)テスト

CloudEndureの管理画面-Machinesで、登録されているマシンの同期が完了するとテストが可能になります(旗が黄色になっています)。
[BLUEPRINT]でインスタンスの構成を定義できます。

MachineType:t3.micro→上記制限のため利用できない(ちゃんとエラーになる)のでt2.microで確定
Launch type:On demand
Subnet:任意
Security Group:任意
Private IP:Create New
EIP:None
PublicIP :Yes

あとはデフォルトで[SAVE BLUEPRINT]

設定したら、テストモードで仮想マシンを移行先で起動します。
[Launchi target machine]-testmode
→この時、AWS上ではコンバーターインスタンスが起動して死んでいく

■Job Progressで進捗確認

Launch Test   |   Completed Successfully

2020/5/4 17:55:30	Job started
2020/5/4 17:55:30	Started waiting for latest snapshot
2020/5/4 17:56:12	Finished waiting for latest snapshot
2020/5/4 17:56:15	Started cleanup of volume Volume:vol-hogehoge
2020/5/4 17:56:16	Finished cleanup of volume Volume:vol-hogehoge
2020/5/4 17:56:19	Started machine conversions
2020/5/4 17:57:43	Finished machine conversions
2020/5/4 17:58:54	Started creating a replica for instance localhost.localdomain
2020/5/4 18:00:25	Finished creating a replica for instance localhost.localdomain
2020/5/4 18:00:26	Job finished

sshして(このときpemはなくレプリケーション元のOSのログインID/PWでログインすることになる)挙動を確認。

6)レプリケーションの設定(4)カットオーバー

最後にカットオーバーモードで起動します。
テストインスタンスは削除され、新しいインスタンスが起動します。

7)後始末

コンソールからターゲットマシンを削除します。
プロジェクト内にターゲットマシンが無くなると、Replication Serverは自動で削除されます。

以上!

■(オマケ)CentOS5にgccを追加したメモ

1. CentOS バージョンの確認

cat /etc/redhat-release
# CentOS release 5.9 (Final)

2. リポジトリファイルの更新

vi /etc/yum.repos.d/CentOS-Base.repo
baseurlを以下に変更

[base]
baseurl=http://archive.kernel.org/centos-vault/5.9/os/$basearch
[updates]
baseurl=http://archive.kernel.org/centos-vault/5.9/updates/$basearch/
[extras]
baseurl=http://archive.kernel.org/centos-vault/5.9/extras/$basearch/
[centosplus]
baseurl=http://archive.kernel.org/centos-vault/5.9/centosplus/$basearch/
[contrib]
baseurl=http://archive.kernel.org/centos-vault/5.9/contrib/$basearch/

※ここではバージョンを 5.9 としていますが、手順1で確認した CentOS のバージョンを指定してください。

yum install でgcc入れる

yum install gcc c++

Microsoft Remote Desktop for Macで「Unicode Mode」ってなってから日本語入力ができなくなったけどCtrl+Cmd+Kで復活したメモ

【問題と解決方】

mac OSからWin10マシンにリモートデスクトップ中に別アプリのショートカットでUnicodeModeになってしまって元に戻せなかった。
今まで引っかからなかったのになぜだ……と思ったら以下の様な情報が。
Ctrl+Cmd+Kで復活した。3日くらい悩んだよ。。。

【参照】

https://moshbox.jp/?p=62722
曰く
The key change in this update is the ability to switch between Scancode (CTRL+COMMAND+K) and Unicode (CTRL+COMMAND+U) modes when entering keyboard input.

【モードについて】

Ctrl+Cmd+U
Unicode Mode

Ctrl+Cmd+K
Scancode Mode

これ改悪じゃないの。。

Mac OS 10.15 Catalina以降で Dell Color Laser 1320c で印刷しようとすると「Filter failed」となって印刷できない問題(20200506現在)

(20200506現在)Mac OS 10.15 Catalina以降で Dell Color Laser 1320c で印刷しようとすると「Filter failed」となって印刷できない問題がある模様。

以下の情報より、ひとまずFuji Xerox C525A printer driverが代替として使えるらしい。
apple.stackexchange.com

で、実際にドライバをDELL提供のものと差し替えてみたところ、前面差込口からの給紙はできたが、トレイからの給紙ができない。。。

ひとまず全く印刷できない、という危機は回避されたのでメモっておく。
DELL何やっとん・・・はよドライバ出して