Slide 1

Slide 1 text

今から学ぶLinux (基礎とトレンド) LJStudy #12 2023/9/21 LinuCエヴァンジェリスト (株式会社ゼウス・エンタープライズ) 鯨井貴博

Slide 2

Slide 2 text

鯨井貴博(くじらいたかひろ) 株式会社ゼウス・エンタープライズ 建設業(約8年) ⇒ IT業界(約16年) ・SE・講師(セミナー・専門学校)など ・LinuCエヴァンジェリスト ・イベントボランティアリーダー(OSSJ) ・ブログ(www.opensourcetech.tokyo) などやってます。 WHO ARE YOU?(自己紹介) 2 開発者本人から 色々聞くの大事!

Slide 3

Slide 3 text

・Linuxと他OS(Windows)などの共通点、違いを理解する ・Linuxの使い方を理解する ・Linuxの始め方を理解する ※対象者:これからLinuxのことを学ぼうとしている方 TODAY’S GOAL 3

Slide 4

Slide 4 text

・Linuxとは? ・Linuxの始め方 ・Linuxの使い方 ・本日のまとめ ・Appendix AGENDA 4

Slide 5

Slide 5 text

Linuxとは?

Slide 6

Slide 6 text

Linus Torvaldsさんが1991年に作ったソフトウェア (Linuxカーネル) Just For Fun(それがぼくには楽しかったから) Linuxとは? 6 この方が、 Linusさん♪

Slide 7

Slide 7 text

Linus Torvaldsさんが作ったLinuxカーネル:狭義なLinux ⇒Linuxカーネル開発者などが呼ぶLinux デスクトップ環境(GUI)などのソフトウェアを含めたOS:広義のLinux ⇒一般ユーザ(利用者)などが呼ぶLinux ディストリビューション(配布物)という呼び方もする Linuxとは? 7 カーネル以外のソフトウェア (広義のLinux) Linuxカーネル (狭義のLinux)

Slide 8

Slide 8 text

https://www.kernel.org/ Linuxカーネル 8

Slide 9

Slide 9 text

https://mirrors.edge.kernel.org/pub/linux/kernel/ Linuxカーネル 9

Slide 10

Slide 10 text

https://en.m.wikipedia.org/wiki/File:Linux_Distribution_Timeline.svg 1993年にOSとしてのLinux(ディストリビューション)が登場してからの遷移 ※slackware・debian・redhatなど Linuxディストリビューションのタイムライン 10

Slide 11

Slide 11 text

・デスクトップ利用(クライアントOS) ・Android(スマートフォン) ・サーバOS ・AI関連開発(with Python) ・スーパーコンピュータ ・家電 ・IoTデバイス など Linuxの用途 11

Slide 12

Slide 12 text

https://www.top500.org/statistics/details/osfam/1/ Linuxの用途 12 スーパーコンピュータの分野では 処理性能Top500において 2017年以降100%Linux

Slide 13

Slide 13 text

Linuxの始め方

Slide 14

Slide 14 text

好きなLinuxディストリビューション(OS)をダウンロードし、PC(仮想マシンなど)にインストールすればOK! Rocky Linux 8.4 GAをインストールする https://www.opensourcetech.tokyo/entry/20210622/1624369951 CentOS8のインストール https://www.opensourcetech.tokyo/entry/20200723/1595471579 Virtualbox上の仮想マシンにUbuntu Desktop 20.04LTSをインストールする https://www.opensourcetech.tokyo/entry/20210311/1615426344 Azure Virtual Machineを使ってみる https://www.opensourcetech.tokyo/entry/20230920/1695178980 Linuxの始め方 14

Slide 15

Slide 15 text

Linuxインストール時に実施すること ・ホスト名指定 ・ネットワーク設定指定(IPアドレス・DNSサーバなど) ・ストレージの使い方の決定 ・インストールするソフトウェアの選択 ・時刻同期の設定 など Linuxの始め方 15 インストール画面のデザインや各項目の登場する順番は異なるが、 基本的に指定する設定内容はどのディストリビューションでも共通している ⇒慣れてしまえば応用が利く

Slide 16

Slide 16 text

Linuxの使い方

Slide 17

Slide 17 text

RPM系 CentOS(https://www.centos.org/) Rocky Linux(https://rockylinux.org/ja/) AlmaLinux(https://almalinux.org/ja/) Debian系 Debian(https://www.debian.org/intro/about.ja.html) Ubuntu(https://jp.ubuntu.com/) Slackware系 OpenSUSE(https://ja.opensuse.org/) Linuxの使い方(ディストリビューション) 17 学習目的だと、 参考にした書籍やHPと同じものにすればがよいが、 基本的には好みで選択すればよい

Slide 18

Slide 18 text

/:最上位ディレクトリ(ルートと読む) /home:一般ユーザのホームディレクトリ /root:管理者ユーザのホームディレクトリ /bin:全ユーザが使えるプログラム(コマンド) /sbin:管理者ユーザのみが使えるプログラム(コマンド) /boot:起動情報格納用 /dev:デバイス(ストレージなど)情報 /etc:設定ファイル格納用 /lib:ライブラリ格納用 /tmp:一時的なデータ置き場 /var:ログファイルなど https://www.pathname.com/fhs/ Linuxの使い方(ディレクトリ構成) 18 ※ディレクトリ = Windowsでいうフォルダ Linuxの場合、 FHSという仕様に基づいている

Slide 19

Slide 19 text

Linuxの使い方(コマンドの実行方法と結果の確認) 19 プロンプト ユーザ名@ログインマシン名: 現在いるディレクトリ $:一般ユーザ、#:管理者 引数 ※コマンドによっては複数指定可能 コマンドの出力結果 実行するコマンド

Slide 20

Slide 20 text

ls:ディレクトリ内のファイル一覧 ※listの略 cd:ディレクトリの変更 ※change directoryの略 rm:ファイルの削除 ※removeの略 mkdir:ディレクトリの作成 ※make directoryの略 rmdir:ディレクトリの削除 ※remove directoryの略 cat:ファイル内容の閲覧 ※concatenateの部分抜粋 vi:テキストファイルの編集(Editor) man:マニュアル参照 ※manualの略 useradd:ユーザ追加 ※管理者権限で実行 passwd:ユーザパスワード変更 Linuxの使い方(コマンドの意味) 20 コマンド操作になれるコツは、 ・何の略か(どのような意味か)を知る ・よく使うコマンドを押さえる ・実際に使ってみる ・どこのディレクトリで操作しているかを理解する ※コマンドは、/sbin・/binなどに格納されている

Slide 21

Slide 21 text

Linuxの使い方(コマンドオプション) 21 ・権限(パーミッション) r:読取、w:書込、x:実行 ・所有者/所有グループ ・サイズ ・タイムスタンプ などが確認できる

Slide 22

Slide 22 text

Linuxの使い方(man) 22 コマンドの使い方に迷ったらこれ! ・コマンドオプション ・コマンド操作サンプル ・コマンドの意味 なども確認できる kubeuser@master01:/$ man cat ※調べたいコマンド名を引数で指定する

Slide 23

Slide 23 text

kubeuser@master01:~$ echo $PATH /home/kubeuser/.krew/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bi n:/usr/games:/usr/local/games:/snap/bin Linuxの使い方(環境変数PATH) 23 環境変数 “PATH”は、 Linuxがコマンド格納先を検索するときに使われる! Windowsにも環境変数はある

Slide 24

Slide 24 text

Linuxの使い方(vi Editor) 24 ※インサートモード(文字入力)とコマンドモード(ファイル操作)の使い分けが重要 kubeuser@master01:/$ vi testfile ・コマンド実行直後は、コマンドモード ・”i” をクリックすると、インサートモードに移行 ※下部に “– INSERT --” と表示される ・”ESC” をクリックすると、コマンドモードに戻る ・保存は、コマンドモードで “:wq”(コロン write quit)を実行 どちらのモードかの見分ける

Slide 25

Slide 25 text

Linuxの使い方(vi Editor) 25 メモ帳(notepad)でいうと、 インサートモード(文字入力) コマンドモード(ファイル操作)

Slide 26

Slide 26 text

Linuxの使い方(パッケージ管理) 26 ※ディストリビューションにより、使用するコマンドが異なる RPM系 yum/dnf ※依存関係自動解決 rpm Debian系 apt/apt-get ※依存関係自動解決 dpkg 依存関係:インストールしたいソフトウェアを動作させるのに、 必要なソフトウェアがあるかどうか レポジトリ (パッケージ) Linux ダウンロード &インストール

Slide 27

Slide 27 text

Linuxの使い方(サーバの作り方) 27 ※Webサーバ(nginx on Ubuntu)の場合 http://nginx.org/en/linux_packages.html#Ubuntu

Slide 28

Slide 28 text

デモ 28 ・ディレクトリの確認 ・コマンドの実行(lsなど) ・環境変数”PATH”の確認 ・vi操作 ・Webサーバ(nginx)の構築

Slide 29

Slide 29 text

Appendix

Slide 30

Slide 30 text

最近のLinux関連Topic 30 Red Hat、今後はCentOS StreamがRHEL関連のパブリックなソースコードの唯一のリポジトリになると発 表 https://www.publickey1.jp/blog/23/red_hatcentos_streamrhel.html Furthering the evolution of CentOS Stream https://www.redhat.com/en/blog/furthering-evolution-centos-stream これまでCentOSを使ってきた方が、 今後は何を使えばいいのか迷っている。。。 ⇒好きなものをつかえばいい♪

Slide 31

Slide 31 text

最近のLinux関連Topic 31 Rustを使ったkernel開発が導入可能に https://japan.zdnet.com/article/35197296/ Quick Start (get started with kernel development in Rust) https://docs.kernel.org/rust/quick-start.html

Slide 32

Slide 32 text

最近のLinux関連Topic 32 Kubernetes(コンテナ)を使ったインフラとしての需要の伸び https://kubernetes.io/ Linuxカーネル機能である、 ・namespaces(名前空間) ・cgroups(リソース論理分割機能) などが活用されている!

Slide 33

Slide 33 text

Linux学習のためのコンテンツ 33 LPI-Japan技術解説セミナー(Linuxの基礎からサーバ関連まで) https://linuc.org/study/seminar/ Linux標準教科書 https://linuc.org/textbooks/linux/

Slide 34

Slide 34 text

Open Source Summit Japan2023を一緒に運営してみませんか? 34 https://events.linuxfoundation.org/open-source-summit-japan/ ボランティアスタッフって、何やるの? 2023年 12月5日~6日 有明セントラルタワーホール&カンファレンスで開催!

Slide 35

Slide 35 text

ゼウス・エンタープライズからのお知らせ 35 https://www.it-training.tokyo/ https://www.it-training.tokyo/kubernetes/ IT基礎・Office関連 Linux ネットワーク Kubernetes などの研修やってます♪

Slide 36

Slide 36 text

本日のまとめ

Slide 37

Slide 37 text

本日のまとめ 37 ・Linuxと他OS(Windows)などの共通点、違いを理解する ・Linuxの使い方を理解する ・Linuxの始め方を理解する 実際にLinuxを使ってみて、楽しさを知る♪

Slide 38

Slide 38 text

38 Thank you very much♪