Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
今から学ぶLinux(基礎とトレンド)
Search
Kujiraitakahiro
September 21, 2023
0
21
今から学ぶLinux (基礎とトレンド)
2023/9/21 LJStudy #12キーノート資料
Kujiraitakahiro
September 21, 2023
Tweet
Share
More Decks by Kujiraitakahiro
See All by Kujiraitakahiro
Zabbixチョットデキルとは!?
kujiraitakahiro
0
130
Featured
See All Featured
Embracing the Ebb and Flow
colly
85
4.6k
GraphQLの誤解/rethinking-graphql
sonatard
70
10k
Side Projects
sachag
452
42k
Documentation Writing (for coders)
carmenintech
69
4.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Building Adaptive Systems
keathley
41
2.5k
Become a Pro
speakerdeck
PRO
27
5.2k
It's Worth the Effort
3n
184
28k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
Faster Mobile Websites
deanohume
306
31k
Transcript
今から学ぶLinux (基礎とトレンド) LJStudy #12 2023/9/21 LinuCエヴァンジェリスト (株式会社ゼウス・エンタープライズ) 鯨井貴博
鯨井貴博(くじらいたかひろ) 株式会社ゼウス・エンタープライズ 建設業(約8年) ⇒ IT業界(約16年) ・SE・講師(セミナー・専門学校)など ・LinuCエヴァンジェリスト ・イベントボランティアリーダー(OSSJ) ・ブログ(www.opensourcetech.tokyo) などやってます。
WHO ARE YOU?(自己紹介) 2 開発者本人から 色々聞くの大事!
・Linuxと他OS(Windows)などの共通点、違いを理解する ・Linuxの使い方を理解する ・Linuxの始め方を理解する ※対象者:これからLinuxのことを学ぼうとしている方 TODAY’S GOAL 3
・Linuxとは? ・Linuxの始め方 ・Linuxの使い方 ・本日のまとめ ・Appendix AGENDA 4
Linuxとは?
Linus Torvaldsさんが1991年に作ったソフトウェア (Linuxカーネル) Just For Fun(それがぼくには楽しかったから) Linuxとは? 6 この方が、 Linusさん♪
Linus Torvaldsさんが作ったLinuxカーネル:狭義なLinux ⇒Linuxカーネル開発者などが呼ぶLinux デスクトップ環境(GUI)などのソフトウェアを含めたOS:広義のLinux ⇒一般ユーザ(利用者)などが呼ぶLinux ディストリビューション(配布物)という呼び方もする Linuxとは? 7 カーネル以外のソフトウェア (広義のLinux)
Linuxカーネル (狭義のLinux)
https://www.kernel.org/ Linuxカーネル 8
https://mirrors.edge.kernel.org/pub/linux/kernel/ Linuxカーネル 9
https://en.m.wikipedia.org/wiki/File:Linux_Distribution_Timeline.svg 1993年にOSとしてのLinux(ディストリビューション)が登場してからの遷移 ※slackware・debian・redhatなど Linuxディストリビューションのタイムライン 10
・デスクトップ利用(クライアントOS) ・Android(スマートフォン) ・サーバOS ・AI関連開発(with Python) ・スーパーコンピュータ ・家電 ・IoTデバイス など Linuxの用途
11
https://www.top500.org/statistics/details/osfam/1/ Linuxの用途 12 スーパーコンピュータの分野では 処理性能Top500において 2017年以降100%Linux
Linuxの始め方
好きな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
Linuxインストール時に実施すること ・ホスト名指定 ・ネットワーク設定指定(IPアドレス・DNSサーバなど) ・ストレージの使い方の決定 ・インストールするソフトウェアの選択 ・時刻同期の設定 など Linuxの始め方 15 インストール画面のデザインや各項目の登場する順番は異なるが、
基本的に指定する設定内容はどのディストリビューションでも共通している ⇒慣れてしまえば応用が利く
Linuxの使い方
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と同じものにすればがよいが、 基本的には好みで選択すればよい
/:最上位ディレクトリ(ルートと読む) /home:一般ユーザのホームディレクトリ /root:管理者ユーザのホームディレクトリ /bin:全ユーザが使えるプログラム(コマンド) /sbin:管理者ユーザのみが使えるプログラム(コマンド) /boot:起動情報格納用 /dev:デバイス(ストレージなど)情報 /etc:設定ファイル格納用 /lib:ライブラリ格納用 /tmp:一時的なデータ置き場
/var:ログファイルなど https://www.pathname.com/fhs/ Linuxの使い方(ディレクトリ構成) 18 ※ディレクトリ = Windowsでいうフォルダ Linuxの場合、 FHSという仕様に基づいている
Linuxの使い方(コマンドの実行方法と結果の確認) 19 プロンプト ユーザ名@ログインマシン名: 現在いるディレクトリ $:一般ユーザ、#:管理者 引数 ※コマンドによっては複数指定可能 コマンドの出力結果 実行するコマンド
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などに格納されている
Linuxの使い方(コマンドオプション) 21 ・権限(パーミッション) r:読取、w:書込、x:実行 ・所有者/所有グループ ・サイズ ・タイムスタンプ などが確認できる
Linuxの使い方(man) 22 コマンドの使い方に迷ったらこれ! ・コマンドオプション ・コマンド操作サンプル ・コマンドの意味 なども確認できる kubeuser@master01:/$ man cat
※調べたいコマンド名を引数で指定する
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にも環境変数はある
Linuxの使い方(vi Editor) 24 ※インサートモード(文字入力)とコマンドモード(ファイル操作)の使い分けが重要 kubeuser@master01:/$ vi testfile ・コマンド実行直後は、コマンドモード ・”i” をクリックすると、インサートモードに移行
※下部に “– INSERT --” と表示される ・”ESC” をクリックすると、コマンドモードに戻る ・保存は、コマンドモードで “:wq”(コロン write quit)を実行 どちらのモードかの見分ける
Linuxの使い方(vi Editor) 25 メモ帳(notepad)でいうと、 インサートモード(文字入力) コマンドモード(ファイル操作)
Linuxの使い方(パッケージ管理) 26 ※ディストリビューションにより、使用するコマンドが異なる RPM系 yum/dnf ※依存関係自動解決 rpm Debian系 apt/apt-get ※依存関係自動解決
dpkg 依存関係:インストールしたいソフトウェアを動作させるのに、 必要なソフトウェアがあるかどうか レポジトリ (パッケージ) Linux ダウンロード &インストール
Linuxの使い方(サーバの作り方) 27 ※Webサーバ(nginx on Ubuntu)の場合 http://nginx.org/en/linux_packages.html#Ubuntu
デモ 28 ・ディレクトリの確認 ・コマンドの実行(lsなど) ・環境変数”PATH”の確認 ・vi操作 ・Webサーバ(nginx)の構築
Appendix
最近の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を使ってきた方が、 今後は何を使えばいいのか迷っている。。。 ⇒好きなものをつかえばいい♪
最近の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
最近のLinux関連Topic 32 Kubernetes(コンテナ)を使ったインフラとしての需要の伸び https://kubernetes.io/ Linuxカーネル機能である、 ・namespaces(名前空間) ・cgroups(リソース論理分割機能) などが活用されている!
Linux学習のためのコンテンツ 33 LPI-Japan技術解説セミナー(Linuxの基礎からサーバ関連まで) https://linuc.org/study/seminar/ Linux標準教科書 https://linuc.org/textbooks/linux/
Open Source Summit Japan2023を一緒に運営してみませんか? 34 https://events.linuxfoundation.org/open-source-summit-japan/ ボランティアスタッフって、何やるの? 2023年 12月5日~6日 有明セントラルタワーホール&カンファレンスで開催!
ゼウス・エンタープライズからのお知らせ 35 https://www.it-training.tokyo/ https://www.it-training.tokyo/kubernetes/ IT基礎・Office関連 Linux ネットワーク Kubernetes などの研修やってます♪
本日のまとめ
本日のまとめ 37 ・Linuxと他OS(Windows)などの共通点、違いを理解する ・Linuxの使い方を理解する ・Linuxの始め方を理解する 実際にLinuxを使ってみて、楽しさを知る♪
38 Thank you very much♪