Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


wsl2:centos7

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
wsl2:centos7 [2020/12/15 10:34]
y2sunlight [新しいユーザの追加]
wsl2:centos7 [2020/12/24 09:45] (現在)
y2sunlight [WSL2 CentOS7のインストール]
行 7: 行 7:
  
   * [[wsl2:install|WSL2 インストール]]   * [[wsl2:install|WSL2 インストール]]
-  * [[wsl2:interop|WSL2 LinuxとのWindowsの相互運用性]] 
   * [[wsl2:command|WSL2 コマンドリファレンス]]   * [[wsl2:command|WSL2 コマンドリファレンス]]
 +  * [[wsl2:interop|WSL2 LinuxとのWindowsの相互運用性]]
   * [[wsl2:clone|WSL2 ディストリビューションの複製]]   * [[wsl2:clone|WSL2 ディストリビューションの複製]]
   * [[wsl2:terminal|Windows ターミナル]]   * [[wsl2:terminal|Windows ターミナル]]
行 130: 行 130:
  
 <code bash> <code bash>
-# usermod -G adm,dialout,cdrom,floppy,audio,video y2sunlight+# usermod -G adm,wheel,dialout,cdrom,floppy,audio,video y2sunlight
 </code> </code>
  
-ここで、追加したこれらのグループは、Microsoft Store から **Ununtu** をインストールした時に、初期ユーザが所属してるグループから抜粋しています。必要に応じて追加・削除して下さい。+これらのグループは、必要に応じて追加・削除して下さい。''wheel'' グループは ''/etc/sudoers'' の設定で必要なグループです
  
 ユーザ情報を確認します: ユーザ情報を確認します:
行 139: 行 139:
 <code bash> <code bash>
 # id y2sunlight # id y2sunlight
-uid=1000(y2sunlight) gid=1000(y2sunlight) groups=1000(y2sunlight),4(adm),11(cdrom),18(dialout),19(floppy),39(video),63(audio)+uid=1000(y2sunlight) gid=1000(y2sunlight) groups=1000(y2sunlight),4(adm),10(wheel),11(cdrom),18(dialout),19(floppy),39(video),63(audio)
 </code> </code>
  
行 146: 行 146:
 ==== /etc/sudoers ==== ==== /etc/sudoers ====
  
-開発用のローカルサーバなので、rootで運用しても良いですが、''sudo'' の設定もしておきます。''viduso'' を実行して ''/etc/sudoers'' の sudoグループの箇所を書き換え、''sudo'' でパスワードが不要になるように設定します:+開発用のローカルサーバなので、rootで運用しても良いですが、''sudo'' の設定もしておきます。''viduso'' を実行して ''/etc/sudoers'' の ''wheel'' グループの箇所を書き換え、''sudo'' でパスワードが不要になるように設定します:
  
 <code bash> <code bash>
行 153: 行 153:
  
 <code bash sudoers> <code bash sudoers>
-...+## Allows people in group wheel to run all commands 
 +- # %wheel  ALL=(ALL)       ALL 
 ++ %wheel  ALL=(ALL)       ALL
  
-Allow members of group sudo to execute any command +## Same thing without a password 
-- %sudo   ALL=(ALL:ALL) ALL +%wheel        ALL=(ALL)       NOPASSWD: ALL 
-+ %sudo   ALL=(ALL) NOPASSWD:ALL ++ %wheel        ALL=(ALL)       NOPASSWD: ALL
- +
-# ...+
 </code> </code>
  
-この設定で sudo グループに入っているユーザは、''sudo'' でパスワードが不要になります。+この設定で ''wheel'' グループに入っているユーザは、''sudo'' でパスワードが不要になります。
  
 ==== パッケージの更新 ==== ==== パッケージの更新 ====
行 169: 行 169:
  
 <code bash> <code bash>
-apt update     # 最新のパッケージ情報の取得 +yum -y update  # パッケージを最新に更新する
-$ apt upgrade -y # パッケージを最新に更新する+
 </code> </code>
  
行 177: 行 176:
 \\ \\
  
-==== Windowsターミナルの設定 ====+===== Windowsの初期設定 =====
  
-\\ +==== PowerShellから起動 ====
- +
- +
-===== Windows初期設定 =====+
  
 PowerShellから起動するには以下のようにします。 PowerShellから起動するには以下のようにします。
  
 <code powershell> <code powershell>
-PS C:\> wsl -d Ubuntu-20.04-2 -u y2sunlight+PS C:\> wsl -d CentOS7.-u y2sunlight
 </code> </code>
  
行 193: 行 189:
   * ''-u'' でユーザ名を指定してす。   * ''-u'' でユーザ名を指定してす。
  
-Windowsターミナルをご利用の場合は、[プルダウンメニュー]から[Ubuntu-20.04-2]を選択できます。+Windowsターミナルをご利用の場合は、[プルダウンメニュー]から[CentOS7.6]を選択できます。
  
 \\ \\
行 201: 行 197:
 Windowsターミナルを起動し、[プルダウンメニュー]から[設定]を選択します。 Windowsターミナルを起動し、[プルダウンメニュー]から[設定]を選択します。
  
-''setting.json'' を開き、"name" がインポート時に指定したディストリビューション名( "Ubuntu-20.04-2" ) と同じターミナルを探し、その設定を以下のように変更して下さい。+''setting.json'' を開き、"name" がインポート時に指定したディストリビューション名( "CentOS7.6" ) と同じターミナルを探し、その設定を以下のように変更して下さい。
  
 <code javascript> <code javascript>
 { {
-    "guid": "{048a85e4-0278-5ae1-8add-531a3d3eb4ac}",+    "guid": "{3d07c9ba-2e59-5661-841e-864e56bf1b8e}",
     "hidden": false,     "hidden": false,
-    "name": "Ubuntu-20.04-2",+    "name": "CentOS7.6",
     "source": "Windows.Terminal.Wsl",     "source": "Windows.Terminal.Wsl",
-+   "commandline": "wsl.exe -d Ubuntu-20.04-2 -u y2sunlight", ++   "commandline": "wsl.exe -d CentOS7.-u y2sunlight", 
-+   "startingDirectory": "//wsl$/Ubuntu-20.04-2/home/y2sunlight" ++   "startingDirectory": "//wsl$/CentOS7.6/home/y2sunlight" 
-}+},
 </code> </code>
  
行 219: 行 215:
 \\ \\
  
-==== ショートカットの作成 ====+===== 登録解除 =====
  
-ショートカットを作成することで、新CentOSのbash 簡単に起動できます。デップ上を右クリックして[新規作成][ショトカット]を選択し以下の内容でショートカット作ります。+インポートした CentOS を登録解除(アンインストール)するには''wsl --unregister'' コマンド使います。
  
-^項目の場所|wsl -CentOS7.6| +<code powershell> 
-^ショートカット名前|CentOS7.6|+PS C:\> wsl --unregister CentOS7.6 
 +</code> 
 + 
 +コマンドには、実行の確認がないので、注意して下さい。実行されると直ぐに、登録解除され、CentOS のイメージは削除されてしまいます。
  
 \\ \\
  
-===== 登録解除 =====+===== この後について =====
  
-インポートした Ubuntu を登録解除(アンインストール)するには、''wsl --unregister'' コマンドを使います。+本章では、この後に、Apache と Docker を CentOS7 で動作させる予定でした。しかし、いざ向き合ってみと systemctl が正常起動しなという問題に出くわしした:
  
-<code powershell+<code bash
-PS C:\> wsl --unregister Ubuntu-20.04-2+# systemctl status httpd 
 +Failed to get D-Bus connectionOperation not permitted
 </code> </code>
  
-このコマ実行確認がないので、注意して下さい。実行されると直ぐに登録解除され、Ubuntu のイメージ削除されてしまいます。+この問題の原因は、WSL2がLinuxのブートシーケスの中で、初期プロセス(''プロセスID = 1'')を ''Systemd'' でなくて、''SysV init'' を使っていること起因します。従って問題の解決には2つの方法あります: 
 + 
 +  - systemctl を Systemd に依存しないに置き換える 
 +  - 初期プロセス を ''Systemd'' に置き換える 
 + 
 +この問題の解決方法についは、ネットのいろいろなサイト説明されていますが筆者としては、「ここまでしてCentOSで構築する必要があるのか」とう疑問が湧いてきました 
 + 
 +従って、開発環境の一部としてWSL2を利用するという観点では現時点で、Ubuntu を利用し CentOS は用いないというが筆者の結論です。しかし、CentOS などの RedHat系Linux、運用で実績も多く、開発環境と同じ運用環境を使用たいニーズもあると思いすので、今後も、WSL2でのCentOSの導入に関しては注視することにしたいと思っています。 
  
 \\ \\
  
wsl2/centos7.1607996078.txt.gz · 最終更新: 2020/12/15 10:34 by y2sunlight