WSLの初期化からSSH設定、Gitのインストール、Githubとの連携、ターミナルの色の変更など
目次
■環境構築の流れをメモすること
■Python周りとGitのインストール
■GitとGithubとの連携
■シンボリックリンクを作る
■環境構築の流れをメモすること
プログラミングを勉強していくうちに必ずや環境の再構築の必要性に迫られるときが来ると思われる。
いつきてもいいように、自分がどうやって環境を構築したか、メモっておくとリビルドするときに非常に役に立つはず。
WSLの初期化コマンド自体はひとつだけなので、特に新たにセクションを設けることはしないでおく。
$ lxrun /uninstall /full /y
入力後、コマンドプロンプトを閉じた後、PCを再起動する必要があります。
■Python周りとGitのインストール
以下、2つのコマンドを入力。3つめのコマンドはpythonのバージョンを聞いている。
WSLにデフォルトで入っているバージョンは3.5.2(2018年4月24日現在)で、当方がリビルドを迫られた理由はpython3.5.2から3.6.xへ変更しようとWSL側のシステムをこねくり回したためにWSL側の環境がめちゃくちゃになってしまったことが挙げられる。WSLを使っているみなさんはどうかpythonのバージョンをアップデートしようと思わず、大人しく開発に励んだほうがいいと思う。
$ sudo apt-get update
$ cd /usr/bin
/usr/bin$ sudo apt install python3-pip python3-dev
/usr/bin$ sudo apt install python-pip python-dev
/usr/bin$ sudo add-apt-repository ppa:jonathonf/python-3.6
/usr/bin$ sudo apt update
/usr/bin$ sudo apt install python3.6 python3.6-dev
/usr/bin$ sudo wget https://bootstrap.pypa.io/get-pip.py
/usr/bin$ sudo python3.6 get-pip.py
ImportError: cannot import name 'sysconfig'
とエラーが出たら、、、。
/usr/bin$ sudo apt install python3-distutils
/usr/bin$ sudo python3.6 get-pip.py
/usr/bin$ sudo apt install python3.6-venv
■gitをインストールした最初の初期設定
※全てコンソール(windowsではコマンドプロンプト、パワーシェル、Macではターミナル、WSLではubntuアプリ)で入力
※"taro"と"taro@gmail.com"には、" "のなかにそれぞれ自分が設定したいusernameとemaiを入力する
$ sudo apt-get update
$ sudo apt-get install git
$ git config --global user.name "taro"
$ git config --global user.email "taro@gmail.com"
※設定情報の確認コマンド
$ git config --global -l
■GitとGithubとの連携
【参考】Generating a new SSH key and adding it to the ssh-agent
※ただし、SSHエージェントの設定は別の記事を参考に設定した。
$ ssh-keygen -t rsa -b 4096 -C "自分のGithubのメールアドレス"
# Start the SSH key creation process
Enter file in which the key is (/・・・/・・・/.ssh/id_rsa): [Enterキーを押す]
Key has comment '/Users/you/.ssh/id_rsa'
Enter new passphrase (empty for no passphrase): [パスワードを入力]
Enter same passphrase again: [もう一度]
Your identification has been saved with the new passphrase.
※パスワードを入力する際、画面に表示されないのでタイプミスをしたために連携できないということにならないように、パスワードはメモ帳に書いておき、それを右クリックでコピペするようにするのがおすすめ!
無事に公開鍵と秘密鍵はできました!!
※確認コマンドでチェックしてみてください。
ls ~/.ssh
あとは、Githubに公開鍵を登録するだけです。
以下のコマンドで公開鍵を表示
cat ~/.ssh/id_rsa.pub
ssh-rsaから始まる公開鍵を以下のURLのNew SSH Keyというボタンをクリックして入力
https://github.com/settings/keys
これで、GitとGithubを連携させました。
【参考】SSHエージェントを使う
ここから先は下記のURLを参考に進めました。参照先では、下記の方法ではパスワードを最初に入力するのが面倒とありますが、当方は代替案を使うにあたり必要なPuTTYのインストーラのダウンロードのほうが億劫に感じたので代替案はおこなっておりません。
sudo nano ~/.bashrc
.bashrcに記述する内容
SSH_AGENT_FILE=$HOME/.ssh-agent
test -f $SSH_AGENT_FILE && source $SSH_AGENT_FILE
if ! ssh-add -l > /dev/null 2>&1; then
ssh-agent > $SSH_AGENT_FILE
source $SSH_AGENT_FILE
ssh-add $HOME/.ssh/id_rsa # この位置にOpenSSHの秘密鍵があると仮定
fi
■シンボリックリンクを作る
WSLと付き合っていくうえで重要なことは、ファイルやフォルダの場所の表記がwindows側とWSL側で異なるということです。というのもWSLとは本質的にはWindowsというOSにubuntuというLinuxというまた新しいOS(のディストリビューション)を乗っけているもの。
そして僕たちはWSLのターミナルのなかではあたかもWindowsのデスクトップでフォルダを作ったり、ファイルを生成するといったようなことをWSLではコマンドで行うけど、結局はwindowsというOSを介して全て行っている。
つまり、直感的にwindows側でフォルダやファイルを特定するほうがWSL側で行うより、「遠くに」あるというわけです。
※「遠くに」に鍵括弧をつけたのは、文法的に「遠い」という言葉が適当なのか分かりかねたのですが、「遠い」という言葉がwindowsとWSLのファイル共有問題の本質を突いていると思ったので、鍵括弧を「遠い」という言葉につけた。
さて、そのような面倒なことになっているので、WSL上にwindowsからフォルダやファイルを探した場合、近くになるようにシンボリックリンクという「架空のフォルダ」を設置するのがベタなやり方らしい。
■シンボリックリンクを作る手順
①下記の場所に移動する
cd /mnt/c
※試しに「ls」と打ち込んでほしい。
そうするとどこかで見覚えのあるフォルダ名がつらつら表示されることが確認できないだろうか。
そう。実はこれらはローカルディスク(C)直下にあるフォルダたちなのだ。
ところで、mntってなに??
と思った方はいないだろうか。僕はこのmntという言葉自体知らなかったので、VSCODEでコードを書いてターミナルで動かすといったエンジニアっぽいことをするまでにかなり時間とお金(書籍代とセミナー代)を要した。
知らぬが仏とみればいいときもあるけど、ことプログラミング界隈では基礎知識、基礎ボキャブラリーの充実が肝になる、つまり知らぬが大損と考えている。
プログラミングにおいて日夜飛び交う基礎用語をどれだけ知っているかということは、プログラミングスキルの上昇曲線の傾きを決めるのではないか?と僕は思う。
②シンボリックリンクを作りたいフォルダを/mnt/c以下に作っておくので、下記のコマンドで移動。
cd /mnt/c
②シンボリックリンクを作りたいフォルダを作る。
mkdir test
③シンボリックリンクを設置する。
※ws側にシンボリックリンクを作るところ(c以下のディレクトリ)にフォルダが無いようにこのように入力してほしい。
※ws側では、/mnt/c//home/ユーザー名/testとなっている
ln -s /mnt/c/test ~/test
以上!
投げ銭していただけるとうれしいです(笑)。
学習で使う技術書って高いんですよね、、、。
だいたいちょっとイイ感じのバー1回分くらいですよ(´;ω;`)
僕はお酒が弱いのであまりバーの相場観が分からないので、もしかしたらもっと高いのかもしれません。
あ、高いのは技術書の購入代ですよもちろん。
BTC
3KDN2smFNx5qxc2tTUmSQ9WaHBjasun6w3
ETH
0x4959767640B9C45cd92370aA200e77E8836fCa
ETC
0x4959767640B9C45cd92370aA200e77E8836fCa
BCH
3KDN2smFNx5qxc2tTUmSQ9WaHBjasun6w3
ここから先は
¥ 100
この記事が気に入ったらサポートをしてみませんか?