背景
Linuxを学ぶ必要が出てきたので、今更だけどLinuxを学んでみる。
3歳と1歳の可愛い娘たちの子育て中なので、勉強できるのは娘たちが寝たあとの時間のみ。なので、地道に進めていく。
進め方
まずは、
https://linuc.org/textbooks/linux/
これで勉強を進めてみる。
Day1
LinuC
リナックと呼ぶらしい。
レベルは1,2,3とシステムアーキテクト
システムアーキテクトになると、かなりのことはわかるのかな?
勉強方法は、手を動かすことらしい。
https://linuc.org/measures/
ここに、学習の進め方が載っているとのこと。
Linuxについて
- CUI(Command User Interface)ですよ。
- 狭い意味でカーネル(OSの中核のソフトウェア)
他のソフトウェアと組み合わさってOSになってますよ。
ディストリビューション
Linux(OS)はカーネルと様々なソフトウェアの組み合わせ。ソフトウェアをまとめてインストールできるようにしたのがディストリビューション。
操作方法
GUI
直接操作するローカルログインと、リモートデスクトップで操作するリモートログインの2通りがある。
CUI
CLI(Command Line Interface)とも呼ばれる。
- GUIでログインしてから端末アプリを起動
- 仮想コンソールに切り替える
1~6番まで用意されている。1がGUI, 2から6がCUI。
Ctrl+Alt+1~6で切り替え可能。 - GUI無しでLinuxインストール
- SSHでリモートログイン
SSHはSecure Shellの略称で、通信プロトコルの1つ。
コマンド
サーバのためのプログラムは、起動したまま処理要求を待機する。
これをデーモンプロセスと呼ぶ。Daemonなので、デーモンプロセスは最後にdがつくよ。
Webサーバはhttpを扱うデーモンなので、httpd というよ。
環境構築
本書ではVirtualBoxを使っているけど、WSL2の環境を作ってみることにした。
WSL2(Windows Subsystem for Linux 2)とVirtualBoxの違い
| 項目 | WSL2 | VirtualBox |
|---|---|---|
| 仕組み | WindowsでLinuxカーネルを直接動かす | 仮想PCを作る |
| 性能 | 早い | 遅い |
いろいろあるが、WSL2のほうが良さそう
- Powershellを管理者権限で実行
- wsl --install を実行
- 再起動
- wsl --install -d Ubuntu を実行して、Ubuntuをダウンロード
- Create a default Unix user accountと表示されるので、ユーザ名とPassを入れる
- 初回起動時にユーザ名とパスワード設定
- パッケージ情報を更新する sudo apt update && sudo apt upgrade -y
- 基本のツールを入れる sudo apt install -y build-essential curl wget git vim less tree unzip
- ネットワーク系のツールも sudo apt install -y htop net-tools
- PowershellでWSLのバージョン確認 wsl -l -v
- Ubuntu の VERSION が 2 になっていればOK。
基本はこんな感じっぽい