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
24
今から学ぶLinux (基礎とトレンド)
2023/9/21 LJStudy #12キーノート資料
Kujiraitakahiro
September 21, 2023
Tweet
Share
More Decks by Kujiraitakahiro
See All by Kujiraitakahiro
OpenSourceSummitJapanを運営してみた話
kujiraitakahiro
0
680
Open Source Summit Japan 2025のボランティアをしませんか
kujiraitakahiro
0
680
Zabbixチョットデキルとは!?
kujiraitakahiro
0
250
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Documentation Writing (for coders)
carmenintech
71
4.9k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Speed Design
sergeychernyshev
31
1k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
4
190
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
It's Worth the Effort
3n
184
28k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
43
2.4k
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♪