Windows10でbash(Ubuntu)
- Sat
- 00:08
- Windows
installの仕方は、Windows 10でLinuxプログラムを利用可能にするWSL(Windows Subsystem for Linux)をインストールする(バージョン1803対応版)とか。
で、シェルを立ち上げて真っ先に思ったのは、この/homeってWindowsから見たらどこだろう、と。
正解は、
とりあえず、apt-getしてみる。
これでレンタルサーバも生粋のシェルで行ける!
で、シェルを立ち上げて真っ先に思ったのは、この/homeってWindowsから見たらどこだろう、と。
正解は、
%userprofile%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\<アカウント>%userprofile%は、いわゆるWindows側のユーザーホームフォルダ。
とりあえず、apt-getしてみる。
~$ sudo apt-get update [sudo] password for xxx: Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB] Hit:2 http://archive.ubuntu.com/ubuntu bionic InRelease Get:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] Get:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB] Get:5 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages [8570 kB] ・・・
これでレンタルサーバも生粋のシェルで行ける!
Windows10インストール
- Wed
- 00:53
- Windows
そろそろ2週間ほど経つ。が、Win7とのデュアルブートなのでほとんど使っていない。。。
ブラウザやアプリの設定が微妙に全部持っていけないのでチョコチョコ設定するのが億劫。
OS自体に問題は今のところ全くないのでさっさと乗り換えよう!
ブラウザやアプリの設定が微妙に全部持っていけないのでチョコチョコ設定するのが億劫。
OS自体に問題は今のところ全くないのでさっさと乗り換えよう!
Windows7ログイン画面のユーザ選択で非表示にする
- Sun
- 02:05
- Windows
WindowsのGitサーバ(リモートリポジトリ)構築メモ
- Mon
- 00:31
- Windows
Windows7にリモートリポジトリ用のGitサーバを構築したのでそのメモ。
利用したのは、Gitの公式ツールGit for Windows
手順としては、
1. Git for Windowsのインストール
2. sshd用アカウントの作成
3. sshdの起動
4. git daemonの起動
5. リモートリポジトリの作成
改行コートの指定などは各環境に合わせて適当に。
公式Gitツールのsshdとの違いは下記の通り。
Git公式のsshdはsshdアカウントが必要なのでコンパネから標準ユーザで作成。
コントロール パネル\ユーザー アカウント\アカウントの管理\新しいアカウントの作成
例えば、C:\Program Files\Git\etc\ssh とか。
コピー後、MINGW64を立ち上げ(エクスプローラの適当なフォルダを右クリップでGit Bash Hereを選択)フルパスで起動。

sshdの起動はフルパスでないと怒られるのでフルパスで起動。



複数のGitクライアントとのやり取りは下記に続く
利用したのは、Gitの公式ツールGit for Windows
手順としては、
1. Git for Windowsのインストール
2. sshd用アカウントの作成
3. sshdの起動
4. git daemonの起動
5. リモートリポジトリの作成
1. Git for Windowsのインストール
Git for WindowsをDLして、インストール。特に困ることはないと思うのでそのままインストール。改行コートの指定などは各環境に合わせて適当に。
2. sshd用アカウントの作成
Windows用のsshdは、Microsoftの公式OpenSSHのライブラリの中にもありますが、微妙にパス解決のやり方が違うのかそのままだとリポジトリがない的なエラーが出ます。ということで、Git公式ツールの中にもssh関連のライブラリが同梱されているのでそのsshdを利用。公式Gitツールのsshdとの違いは下記の通り。
内容 | Git公式 | MS公式 |
sshdアカウント | 必要 | 不要 |
起動シェル | MINGW64 | 標準コマンドライン |
起動方法 | フルパス指定 | 管理者権限で(psexecが便利) |
Git公式のsshdはsshdアカウントが必要なのでコンパネから標準ユーザで作成。
コントロール パネル\ユーザー アカウント\アカウントの管理\新しいアカウントの作成
3. sshdの起動
まず、sshd用に各種hostキーを作成。$ ssh-keygen.exe -t rsa -f ssh_host_rsa_key $ ssh-keygen.exe -t dsa -f ssh_host_dsa_key $ ssh-keygen.exe -t ecdsa -f ssh_host_ecdsa_key $ ssh-keygen.exe -t ed25519 -f ssh_host_ed25519_keyで、作成したキーはGitをインストールした/etc/sshに保存する。
例えば、C:\Program Files\Git\etc\ssh とか。
コピー後、MINGW64を立ち上げ(エクスプローラの適当なフォルダを右クリップでGit Bash Hereを選択)フルパスで起動。

sshdの起動はフルパスでないと怒られるのでフルパスで起動。
user01@PC01 MINGW64 / $ /usr/bin/sshd.exeタスクマネージャで確認。

4. git daemonの起動
同じく、MINGW64からgitコマンドで起動user01@PC01 MINGW64 /c/a_git_repo $ git daemon --verbose --reuseaddr --export-all --enable=receive-pack --enable=upload-pack --base-path=/c/a_git_repo [7736] Ready to rumble

5. リモートリポジトリの作成
下記の様なスクリプトを作成しておくと便利。#!/bin/sh REPO=test01.git rm -fr $REPO mkdir $REPO touch $REPO/git-daemon-export-ok cd $REPO git init --bare --share

複数のGitクライアントとのやり取りは下記に続く
[続きを見る]
Windows PowerShellによるファイル・フォルダ権限の一括変換
- Thu
- 01:42
- Windows
自作PCなどで以前使っていたハードディスクをデータ領域として使い回す場合、以前の権限が残っていて Administratorユーザでさえ自由に使えない場合があります。
WindowsではGUIで所有者と権限を変更することができますが、ファイル、フォルダ数が多いととても面倒になります。Linux系ではchown、chmodでガツッと一括で変更することが可能ですが、Windows7でもPowerShellを使えば可能です。
Linux系のchownに対応するコマンドはtakeown、chmodに対応するコマンドはicaclsになります。
所有者変更の実行例
/u: ユーザ名
/f: 対象ファイル(またはフォルダ)
/r: リカーシブ(サブフォルダも対象)
権限変更の実行例
/grant: ユーザ名を指定。続いて「:」の後に設定する権限(上記のFはフルアクセス権)を指定。
/T: リカーシブ(サブフォルダも対象)
このWindows PowerShell、微妙にUnix系のオペランドも認識するようで、Dirの区切りを/(スラッシュ)にしても自動で円マークに変換してくれたりします。 使い方知っておくと便利かも。
WindowsではGUIで所有者と権限を変更することができますが、ファイル、フォルダ数が多いととても面倒になります。Linux系ではchown、chmodでガツッと一括で変更することが可能ですが、Windows7でもPowerShellを使えば可能です。
Linux系のchownに対応するコマンドはtakeown、chmodに対応するコマンドはicaclsになります。
機能 | Windows | Linux |
所有者変更 | takeown | chown |
権限変更 | icacls | chmod |
所有者変更の実行例
PS C:\Users\user01> takeown /s pc01 /u user01 /f .\testdir /r/s: コンピュータ名(/u指定時は必須)
/u: ユーザ名
/f: 対象ファイル(またはフォルダ)
/r: リカーシブ(サブフォルダも対象)
権限変更の実行例
PS C:\Users\user01> icacls testdir /grant user01:F /t第一引数に、ファイル(フォルダ)を指定。
/grant: ユーザ名を指定。続いて「:」の後に設定する権限(上記のFはフルアクセス権)を指定。
/T: リカーシブ(サブフォルダも対象)
このWindows PowerShell、微妙にUnix系のオペランドも認識するようで、Dirの区切りを/(スラッシュ)にしても自動で円マークに変換してくれたりします。 使い方知っておくと便利かも。