こんにちは。
今回はwindowsでcatコマンドやlsコマンドを使いたいと思い、
Linux環境を整えたのですが、
ところどころ詰まったので流れを備忘録として残しておきます。
やることは、
wslのインストールからUbuntuの設定、
さらにLinux上でpathを通すことにより
どこのディレクトリでもコマンドが使えるようになることを目指します。
前提環境
windows11 pro
システム x-64-ベース
wsl Ubuntu 22.04 LTS
システムや自分のパソコンの状態を知りたい場合は、
画面の一番下にあるタスクバーの検索窓で「システム情報」と検索し、
リスト中のOS名やシステムの種類をみることで知ることが出来ます。
wslのインストールの前にwslを有効化する
wslというのは(簡単に)、
本来ならOSを変更するとなると(windows→Linuxとか)再起動が必要ですが、
それをwindowsOS上にいながらLinuxOSを実行するために必要な機能です。
これにより、OSを共存させられます。
まず画面一番したにある先ほども使った検索窓で
「コントロールパネル → プログラム → Windowsの機能の有効化または無効化」を開く。
「Linux用Windowsサブシステム(これは、Windows Subsystem for Linux って名前かも)」
を有効化してPC再起動。
これをやっとかないと後で怒られるらしい。
wslをインストール
同じくタスクバーの検索窓に、
「Microsoft Store」といれてstoreを開く。
そこでubuntuを検索し、
「Ubuntu 22.04.3 LTS」をインストール。
インストールが完了すると、
この同じ画面の先ほどまで「インストール」と出ていた場所に「開く」がでるので
そこから開くか、画面下のタスクバーの検索窓でubuntuを検索するかして開く。
Ubuntuの0x800701bcエラー
だけどここでエラーが発生。
本来なら以下のようにでるはずですが、
僕の場合以下のように
「WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 ???????????? ??????????????????????? https://aka.ms/wsl2kernel ?????????」とエラーが。
なんか文字化けしてるけど、
エラー文でググると、
https://aka.ms/wsl2kernel
にアクセスして、
kernel component を更新しろってことだったので、
更新プログラムをインストールすることに。
遷移先はこんな感じの画面なので、
2行目あたりのWSL 2 Linux カーネルのリンクをクリックして最新バージョンをインストール。
下みたいなペンギンがでてくるので、
流れに沿ってインストールしてFinish。
ここから本来の画面(この章の最初の画像)に合流。
Ubuntuの設定
この画面になって次は、
ユーザー名とパスワードを設定します。
が、ユーザー名で大文字を使ったり、先頭に数字やハイフンを使うと、
adduser: Please enter a username matching the regular expression configured via the NAME_REGEX[_SYSTEM] configuration variable. Use the `–force-badname’ option to relax this check or reconfigure NAME_REGEX.
とかおこられるので注意して、設定。
最後、緑色のユーザー名でコマンドプロントみたいに動かせるようになったらok.
Ubuntu上でLinuxコマンドを設定できるようにする
今回のゴールは一応LinuxコマンドをUbuntu上で使えるようにするところです。
lsコマンドやcatコマンドなどのLinux基本コマンドは、
Linuxのインストール時に/bin
、/usr/bin
などのディレクトリに配置されます。
ここはすでに環境変数PATHが通っているので、
最初からどこのディレクトリにいてもコマンドが使えます。
しかし、
これから新しくインストールするパッケージのコマンドは
/home/[user_name]/.local/bin
にインストールされることが多いので、
ここにもPATHを通しておくと、
これからどこのディレクトリにいてもコマンドが使えるんです。
ってことで通します。
(ちなみに、Linuxのディレクトリの管理は/home/[user_name]/.local/bin、
windowsはC:\Users\ユーザー名なので、
LinuxとWindowsではファイルシステムの構造が根本的に異なります。
別物らしいです。)
まず、
コマンドプロンプトを開き、
$ vi ~/.bashrc
をvimで開いたら、
# for examples
export PATH="/home/[user名(ここは自分のに置き換えて)]/.local/bin:$PATH"
を追加すれば完了です。
これでLinux上でコマンドを使えるようになりました。
参考
・全体の流れ
https://qiita.com/tkj06/items/b5c195db860241663485
・エラー
https://hachimoto12.com/wsl2_error_0x800701bc.html
https://learn.microsoft.com/ja-jp/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package
・PATH
https://qiita.com/rintaroito/items/6a160f23ada0ee7e1e86
コメント