WSLのインストール(失敗例) - dev-kiyoharu/test GitHub Wiki

1. WSLの機能の有効化

  • コントロール パネル\プログラム\プログラム を開く
  • 「Windowsの機能の有効化または無効化」を選択
  • Windowsの機能画面で「Windows Subsystem for Linux」をチェックして「OK」ボタンをクリック
  • 次の画面で「今すぐ再起動」を選択して再起動

2. Microsoft Store で Ubuntu 18.04 LST をインストール

  • Microsoft Store を開く
  • WSL で検索
  • 検索結果から「Ubuntu 18.04 LTS」を選択してインストール

3. Ubuntu 18.04 LTS の起動

  • スタートメニューから「Ubuntu 18.04 LTS」を選択
  • 初めての起動時に以下のようにUNIXユーザ名とパスワード聞いてくるので、任意のユーザ名とパスワードを設定するとbashが使えるようになる
Installing, this may take a few minutes...  
Please create a default UNIX user account. The username does not need to match your Windows username.  
For more information visit: https://aka.ms/wslusers  
Enter new UNIX username: ooshima  
Enter new UNIX password:  
Retype new UNIX password:  
passwd: password updated successfully  
Installation successful!  
To run a command as administrator (user "root"), use "sudo <command>".  
See "man sudo_root" for details.  
  
ooshima@DESKTOP-52LCT5G:~$  

4. ubuntuを最新版に更新

sudo apt update
sudo apt upgrade

5. ubuntu環境を日本語化する

https://www.atmarkit.co.jp/ait/articles/1806/28/news043.html

6. 【Remote - WSL】VScodeの新機能でWSL上にローカル開発環境を構築する

https://qiita.com/_masa_u/items/d3c1fa7898b0783bc3ed

7. WSL と VSCode を使って Vue の開発環境を整えてみる

https://www.seeds-std.co.jp/blog/creators/2019-11-21-160000/

8. Windows10&WSL(Ubuntu)で快適な開発環境を作る

https://xn--fhqq99a3lb.jp/607

9. WSLとwindows間のファイル連携

https://qiita.com/quzq/items/1096c638c0d86795be13

10. JDK(OpenJDK)のインストール

sudo apt install -y openjdk-11-jdk

JREをインストールする場合は以下になる

sudo apt install default-jre
sudo apt install openjdk-11-jre-headless
sudo apt install openjdk-8-jre-headless

11. cronサービス をWindows起動時に自動起動する

https://loumo.jp/archives/24595

バッチファイルを作って Windows の起動時に実行する

wsl /bin/bash -l -c "sudo service cron start"

作成したバッチファイルを shell:startup (C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup) に保存する。

これで自動的に起動すると思う。sudo 実行時にパスワードを求めない設定にするのを忘れずに。

12. mysqlのインストール

# mysqlのインストール
sudo usermod -d /var/lib/mysql/ mysql

# mysqldの起動
sudo service mysql start
 * Starting MySQL database server mysqld                                                                                No directory, logging in with HOME=/
mkdir: ディレクトリ `//.cache' を作成できません: 許可がありません
-su: 19: /etc/profile.d/wsl-integration.sh: cannot create //.cache/wslu/integration: Directory nonexistent
                                                                                                                 [ OK ]

起動時にエラーが出るが、起動されている・・・? エラーを調べたら、mysqlユーザのホームディレクトリがないので出ているらしい! (なぜこうなったかは?  インストール時にエラーが出ていたからか・・・)

以下に解決方法があったので試す。 https://askubuntu.com/questions/737903/mysql-5-7-no-directory-logging-in-with-home

# mysqlユーザのホームディレクトリを /var/lib/mysql/ にする
sudo usermod -d /var/lib/mysql/ mysql

エラーが出なくなった!

  • インストール時に出ていた内容
sudo apt install mysql-server
[sudo] ooshima のパスワード:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  libaio1 libcgi-fast-perl libcgi-pm-perl libencode-locale-perl libevent-core-2.1-6 libfcgi-perl libhtml-parser-perl
  libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl
  liblwp-mediatypes-perl libtimedate-perl liburi-perl mysql-client-5.7 mysql-client-core-5.7 mysql-common
  mysql-server-5.7 mysql-server-core-5.7
提案パッケージ:
  libdata-dump-perl libipc-sharedcache-perl libwww-perl mailx tinyca
以下のパッケージが新たにインストールされます:
  libaio1 libcgi-fast-perl libcgi-pm-perl libencode-locale-perl libevent-core-2.1-6 libfcgi-perl libhtml-parser-perl
  libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl
  liblwp-mediatypes-perl libtimedate-perl liburi-perl mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server
  mysql-server-5.7 mysql-server-core-5.7
アップグレード: 0 個、新規インストール: 21 個、削除: 0 個、保留: 0 個。
19.7 MB のアーカイブを取得する必要があります。
この操作後に追加で 156 MB のディスク容量が消費されます。
続行しますか? [Y/n]
取得:1 http://archive.ubuntu.com/ubuntu bionic/main amd64 mysql-common all 5.8+1.0.4 [7,308 B]
取得:2 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libaio1 amd64 0.3.110-5ubuntu0.1 [6,476 B]
取得:3 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 mysql-client-core-5.7 amd64 5.7.30-0ubuntu0.18.04.1 [6,649 kB]
取得:4 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 mysql-client-5.7 amd64 5.7.30-0ubuntu0.18.04.1 [1,945 kB]
取得:5 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 mysql-server-core-5.7 amd64 5.7.30-0ubuntu0.18.04.1 [7,437 kB]
取得:6 http://archive.ubuntu.com/ubuntu bionic/main amd64 libevent-core-2.1-6 amd64 2.1.8-stable-4build1 [85.9 kB]
取得:7 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 mysql-server-5.7 amd64 5.7.30-0ubuntu0.18.04.1 [2,929 kB]
取得:8 http://archive.ubuntu.com/ubuntu bionic/main amd64 libhtml-tagset-perl all 3.20-3 [12.1 kB]
取得:9 http://archive.ubuntu.com/ubuntu bionic/main amd64 liburi-perl all 1.73-1 [77.2 kB]
取得:10 http://archive.ubuntu.com/ubuntu bionic/main amd64 libhtml-parser-perl amd64 3.72-3build1 [85.9 kB]
取得:11 http://archive.ubuntu.com/ubuntu bionic/main amd64 libcgi-pm-perl all 4.38-1 [185 kB]
取得:12 http://archive.ubuntu.com/ubuntu bionic/main amd64 libfcgi-perl amd64 0.78-2build1 [32.8 kB]
取得:13 http://archive.ubuntu.com/ubuntu bionic/main amd64 libcgi-fast-perl all 1:2.13-1 [9,940 B]
取得:14 http://archive.ubuntu.com/ubuntu bionic/main amd64 libencode-locale-perl all 1.05-1 [12.3 kB]
取得:15 http://archive.ubuntu.com/ubuntu bionic/main amd64 libhtml-template-perl all 2.97-1 [59.0 kB]
取得:16 http://archive.ubuntu.com/ubuntu bionic/main amd64 libtimedate-perl all 2.3000-2 [37.5 kB]
取得:17 http://archive.ubuntu.com/ubuntu bionic/main amd64 libhttp-date-perl all 6.02-1 [10.4 kB]
取得:18 http://archive.ubuntu.com/ubuntu bionic/main amd64 libio-html-perl all 1.001-1 [14.9 kB]
取得:19 http://archive.ubuntu.com/ubuntu bionic/main amd64 liblwp-mediatypes-perl all 6.02-1 [21.7 kB]
取得:20 http://archive.ubuntu.com/ubuntu bionic/main amd64 libhttp-message-perl all 6.14-1 [72.1 kB]
取得:21 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 mysql-server all 5.7.30-0ubuntu0.18.04.1 [9,948 B]
19.7 MB を 1分 31秒 で取得しました (217 kB/s)
パッケージを事前設定しています ...
以前に未選択のパッケージ mysql-common を選択しています。
(データベースを読み込んでいます ... 現在 31935 個のファイルとディレクトリがインストールされています。)
.../0-mysql-common_5.8+1.0.4_all.deb を展開する準備をしています ...
mysql-common (5.8+1.0.4) を展開しています...
以前に未選択のパッケージ libaio1:amd64 を選択しています。
.../1-libaio1_0.3.110-5ubuntu0.1_amd64.deb を展開する準備をしています ...
libaio1:amd64 (0.3.110-5ubuntu0.1) を展開しています...
以前に未選択のパッケージ mysql-client-core-5.7 を選択しています。
.../2-mysql-client-core-5.7_5.7.30-0ubuntu0.18.04.1_amd64.deb を展開する準備をしています ...
mysql-client-core-5.7 (5.7.30-0ubuntu0.18.04.1) を展開しています...
以前に未選択のパッケージ mysql-client-5.7 を選択しています。
.../3-mysql-client-5.7_5.7.30-0ubuntu0.18.04.1_amd64.deb を展開する準備をしています ...
mysql-client-5.7 (5.7.30-0ubuntu0.18.04.1) を展開しています...
以前に未選択のパッケージ mysql-server-core-5.7 を選択しています。
.../4-mysql-server-core-5.7_5.7.30-0ubuntu0.18.04.1_amd64.deb を展開する準備をしています ...
mysql-server-core-5.7 (5.7.30-0ubuntu0.18.04.1) を展開しています...
以前に未選択のパッケージ libevent-core-2.1-6:amd64 を選択しています。
.../5-libevent-core-2.1-6_2.1.8-stable-4build1_amd64.deb を展開する準備をしています ...
libevent-core-2.1-6:amd64 (2.1.8-stable-4build1) を展開しています...
mysql-common (5.8+1.0.4) を設定しています ...
update-alternatives: /etc/mysql/my.cnf (my.cnf) を提供するために自動モードで /etc/mysql/my.cnf.fallback を使います
以前に未選択のパッケージ mysql-server-5.7 を選択しています。
(データベースを読み込んでいます ... 現在 32103 個のファイルとディレクトリがインストールされています。)
.../00-mysql-server-5.7_5.7.30-0ubuntu0.18.04.1_amd64.deb を展開する準備をしています ...
mysql-server-5.7 (5.7.30-0ubuntu0.18.04.1) を展開しています...
以前に未選択のパッケージ libhtml-tagset-perl を選択しています。
.../01-libhtml-tagset-perl_3.20-3_all.deb を展開する準備をしています ...
libhtml-tagset-perl (3.20-3) を展開しています...
以前に未選択のパッケージ liburi-perl を選択しています。
.../02-liburi-perl_1.73-1_all.deb を展開する準備をしています ...
liburi-perl (1.73-1) を展開しています...
以前に未選択のパッケージ libhtml-parser-perl を選択しています。
.../03-libhtml-parser-perl_3.72-3build1_amd64.deb を展開する準備をしています ...
libhtml-parser-perl (3.72-3build1) を展開しています...
以前に未選択のパッケージ libcgi-pm-perl を選択しています。
.../04-libcgi-pm-perl_4.38-1_all.deb を展開する準備をしています ...
libcgi-pm-perl (4.38-1) を展開しています...
以前に未選択のパッケージ libfcgi-perl を選択しています。
.../05-libfcgi-perl_0.78-2build1_amd64.deb を展開する準備をしています ...
libfcgi-perl (0.78-2build1) を展開しています...
以前に未選択のパッケージ libcgi-fast-perl を選択しています。
.../06-libcgi-fast-perl_1%3a2.13-1_all.deb を展開する準備をしています ...
libcgi-fast-perl (1:2.13-1) を展開しています...
以前に未選択のパッケージ libencode-locale-perl を選択しています。
.../07-libencode-locale-perl_1.05-1_all.deb を展開する準備をしています ...
libencode-locale-perl (1.05-1) を展開しています...
以前に未選択のパッケージ libhtml-template-perl を選択しています。
.../08-libhtml-template-perl_2.97-1_all.deb を展開する準備をしています ...
libhtml-template-perl (2.97-1) を展開しています...
以前に未選択のパッケージ libtimedate-perl を選択しています。
.../09-libtimedate-perl_2.3000-2_all.deb を展開する準備をしています ...
libtimedate-perl (2.3000-2) を展開しています...
以前に未選択のパッケージ libhttp-date-perl を選択しています。
.../10-libhttp-date-perl_6.02-1_all.deb を展開する準備をしています ...
libhttp-date-perl (6.02-1) を展開しています...
以前に未選択のパッケージ libio-html-perl を選択しています。
.../11-libio-html-perl_1.001-1_all.deb を展開する準備をしています ...
libio-html-perl (1.001-1) を展開しています...
以前に未選択のパッケージ liblwp-mediatypes-perl を選択しています。
.../12-liblwp-mediatypes-perl_6.02-1_all.deb を展開する準備をしています ...
liblwp-mediatypes-perl (6.02-1) を展開しています...
以前に未選択のパッケージ libhttp-message-perl を選択しています。
.../13-libhttp-message-perl_6.14-1_all.deb を展開する準備をしています ...
libhttp-message-perl (6.14-1) を展開しています...
以前に未選択のパッケージ mysql-server を選択しています。
.../14-mysql-server_5.7.30-0ubuntu0.18.04.1_all.deb を展開する準備をしています ...
mysql-server (5.7.30-0ubuntu0.18.04.1) を展開しています...
libhtml-tagset-perl (3.20-3) を設定しています ...
libevent-core-2.1-6:amd64 (2.1.8-stable-4build1) を設定しています ...
libencode-locale-perl (1.05-1) を設定しています ...
libtimedate-perl (2.3000-2) を設定しています ...
libio-html-perl (1.001-1) を設定しています ...
liblwp-mediatypes-perl (6.02-1) を設定しています ...
libaio1:amd64 (0.3.110-5ubuntu0.1) を設定しています ...
liburi-perl (1.73-1) を設定しています ...
libhtml-parser-perl (3.72-3build1) を設定しています ...
libcgi-pm-perl (4.38-1) を設定しています ...
mysql-client-core-5.7 (5.7.30-0ubuntu0.18.04.1) を設定しています ...
libfcgi-perl (0.78-2build1) を設定しています ...
libhttp-date-perl (6.02-1) を設定しています ...
libhtml-template-perl (2.97-1) を設定しています ...
mysql-server-core-5.7 (5.7.30-0ubuntu0.18.04.1) を設定しています ...
libcgi-fast-perl (1:2.13-1) を設定しています ...
libhttp-message-perl (6.14-1) を設定しています ...
mysql-client-5.7 (5.7.30-0ubuntu0.18.04.1) を設定しています ...
mysql-server-5.7 (5.7.30-0ubuntu0.18.04.1) を設定しています ...
invoke-rc.d: could not determine current runlevel
 * Stopping MySQL database server mysqld                                                                         [ OK ]
update-alternatives: /etc/mysql/my.cnf (my.cnf) を提供するために自動モードで /etc/mysql/mysql.cnf を使います
Renaming removed key_buffer and myisam-recover options (if present)
/proc/net/unix が開けません: そのようなファイルやディレクトリはありません
ファイルをstatできません /proc/1/fd/5: 許可されていない操作です
ファイルをstatできません /proc/1/fd/10: 許可されていない操作です
ファイルをstatできません /proc/1/fd/6: 許可されていない操作です
ファイルをstatできません /proc/8258/fd/7: 許可されていない操作です
ファイルをstatできません /proc/8258/fd/10: 許可されていない操作です
ファイルをstatできません /proc/8258/fd/5: 許可されていない操作です
ファイルをstatできません /proc/8345/fd/7: 許可されていない操作です
ファイルをstatできません /proc/8345/fd/10: 許可されていない操作です
ファイルをstatできません /proc/8345/fd/5: 許可されていない操作です
ファイルをstatできません /proc/8935/fd/47: 許可されていない操作です
ファイルをstatできません /proc/8935/fd/51: 許可されていない操作です
Created symlink /etc/systemd/system/multi-user.target.wants/mysql.service → /lib/systemd/system/mysql.service.
invoke-rc.d: could not determine current runlevel
mysql-server (5.7.30-0ubuntu0.18.04.1) を設定しています ...
libc-bin (2.27-3ubuntu1) のトリガを処理しています ...
systemd (237-3ubuntu10.40) のトリガを処理しています ...
man-db (2.8.3-2ubuntu0.1) のトリガを処理しています ...
ureadahead (0.100.0-21) のトリガを処理しています ...
⚠️ **GitHub.com Fallback** ⚠️