困ったこと†
ゼロトラストとやらで会社のPC(Windows10)の自由度が低下しました
- local admin 権限が無くなった
- レジストリを操作するアプリ、システム環境変数を変更するアプリはインストールできない
- symlink や junction が作れなくなった
- ファイル書き込みは %userprofile% 以下のみ
- C:\ とか C:\Program Files あたりにアプリケーションを入れたりできない
- 全ての通信は基本的にVPN経由になった(かつ、透過型プロキシを経由するっぽい)
- rdp(3389/tcp), http(s)(80, 8080, 443, 50000-65535/tcp) 以外のダイレクトアクセスが禁じられた
- https の証明書エラー頻発(httpsを途中で解いてるから?)で curl/wget が面倒になった
- 認証あり git が通らなくなった
こんな状況でも出来ることはあります
msys2を使いたい†
解決策1: msys2 そのまま使う†
ポイント
- インストールディレクトリを %localappdata% の下にする(例:%localappdata%\msys64)
- インストーラーの中で実施するシステムアップデート処理を強制終了させる(これをやらないと長時間タイムアウト待ちをする羽目になる)
手順
- msys2 installer を起動し、インストールディレクトリを変更する
- インストーラーの進捗が 50% に差し掛かって進まなくなったら、コマンドプロンプトを起動する
- コマンドプロンプトでbash.exe を強制終了する
- インストーラのダイアログが出たら「無視」を押してインストーラーを終了させる
- msys2 のターミナルを起動してプロキシ設定をし、システムアップデートする
# プロキシ設定ファイルを作成
conf=/etc/profile.d/proxy.sh
cat <<'...7 >"$conf"
export no_proxy=localhost,127.0.0.1 # 環境に合わせて編集
export all_proxy=http://proxy_ip:proxy_port # 環境に合わせて編集
...
# 環境変数を読み込んで、アップデート
. "$conf"
pacman --needed --noconfirm -Syuu
解決策2: Git for Windows SDK†
pacman をどうにかするのがポイント
for f in /etc/pacman.d/* /etc/pacman.conf*;
do
[ -f "$f" ] && sed -i 's/https:/http:/g' "$f";
done
環境変数の編集ダイアログを開きたい†
設定 > システム > 詳細情報 > システムの詳細設定 ←ここで管理者パスワードを求められて行く手を阻まれます
なので直接ダイアログを表示しましょう。Win-R(ファイル名を指定して実行)で
rundll32 sysdm.cpl,EditEnvironmentVariables
あるいはコマンドプロンプトで
setx 変数名 値
setx だと環境変数の削除が出来ないようです(ヌル値を設定できるけど、環境変数自体は残ってしまう)