#import "@preview/polylux:0.3.1": *

#import themes.metropolis: *

#show: metropolis-theme.with(
  aspect-ratio: "16-9",
  footer: "ArchLinuxの勧誘"
  // short-title: "ArchLinuxの勧誘",

  // short-author: "donabe8898",
  // short-date: none,
  // color-a: rgb("#0C6291"),
  // color-b:rgb("#A63446"),
  // color-c:rgb("#FBFEF9"),
  // progress-bar: true
)

#show link: set text(blue)
#set text(font: "Noto Sans CJK JP",weight: "light", size: 18pt)
#show heading: set text(font: "Noto Sans CJK JP")
#show raw: set text(font: "Noto Sans Mono CJK JP")
#show raw.where(block: true): block.with(
  fill: luma(240),
  inset: 10pt,
  radius: 4pt
)


// タイトル
#title-slide(
  title:"ArchLinuxの勧誘",
  subtitle: "オタク向けデスクトップOSをインストールする",
  author: "<NAME>",
  date: "2024-3-15",
  extra: "OECU Programming Circle "
)

// 目的
#slide()[
  = 本講義の目的
  #v(0.1em)
  === 建前
  OSの構成要素をディストロで学ぶ

  === 本音
  オタク御用達のディストリビューションの利点を知る
]

// ほんへ
#slide(title: "What's ArchLinux?")[
  == Linux Distributionの一つ
    - ディストリビューション: 頒布物
      - Linuxはカーネルの名前なのでユーザーアプリケーションは別のやつを使う.

  == 有名なディストロ
  - Ubuntu

  == Archは星の数ほどあるDistroの一つ
]

#slide(title: "Linuxディストロの利用例")[
  - ゲームやwebのサーバー
    - 一番よくある使われ方
    - Minecraft(JE,BE)やnginx, Apache鯖など...

  - デスクトップOS
    - C,C++での競技プログラミング
    - Webプログラミング

  - 携帯電話
    - Android
]


// KISSの法則
#slide(title: "ArchLinuxの最大の特徴")[
]

#slide(title: "ArchLinuxの最大の特徴")[
  = A. KISSの法則に沿った開発・運営
]


#slide(title: "KISS")[
  = KISSの法則
  === Keep it simple stupid.
    - シンプルで愚鈍(愚直)にする

  #v(2em)
  - 設計を単純にする
  - 必要のない機能は実装しない
  - ソフトウェア開発において、度々議論に挙がるマインド

  #v(1em)
  *KISSを体現したディストロ = Arch Linux*
]



// ArchLinux特徴

#slide(title: "ArchLinux利用のメリット")[
  = その1. シンプル
  #v(1em)
  - インストール直後の環境
    - カーネル, ドライバー, シェル, コマンド, パッケージマネージャー
    - その他自分が入れたもの
  - インストール直後の容量
    - メモリ: 150MB程度 | ドライブ: 700MB 程度

  === 最小限の物しか入らない
  でもOSとしては成り立ってる

]

#slide(title: "ArchLinux利用のメリット")[
  = その2. ローリング・リリース
  #v(1em)
  - ローリング・リリース
    - OS固有のバージョン番号が無い
      - 個々のソフトウェアが常にアップデートされ続けられる

    - 同じOSが常に変わり続ける
#v(1em)

]


#slide(title: "ArchLinuxの特徴")[
  = その3. ドキュメントが充実している
  #v(1em)
  - ArchLinux Wiki
    - URL: #link("https://wiki.archlinux.jp/index.php/メインページ")

  - *情報量が多すぎて*StackOverflowや知恵袋を見ても解決できなかった問題ががあっさり直る
  - UNIX全体に通用する知識

  = #text(fill:red)[ArchLinux使いでなくでも必見]

]


#slide(title: "ArchLinuxの特徴")[
  = その4. コンピュータに少しだけ強くなる
  #v(1em)
  - なにか起きたら自分で何とかしてｽﾀﾝｽ

  - 問題発生→原因究明→ドキュメント閲覧→解決

  - グラフィカルなインストーラは無い
    - パーティション割りやネットワーク設定などは自分でどうぞ

  #text(fill:red)[毎日使えばちょっとは詳しくなる...かも?]
]





#slide(title: "ArchLinuxの特徴")[
  = その5. Arch Build System
  #v(1em)
  - ソースコードのビルドとpacman用パッケージの作成を自動化するためのシステム
    - portsみたいなもの

  - `PKGBUILD`ファイルに手順を書けば、ソースコードの取得, コンパイル, パッケージング, インストールまで全て自動化できる

]


#slide(title: "ArchLinuxの特徴")[

  = Arch User Repository

  - `PKGBUILD`を一般ユーザーが配布

  - *Google Chrome, VSCode, Spotify, Slack*
    - ライセンスの関係でpacmanに登録できない

  - *pacmanにあるソフトの開発版*
    - 試験的に使ってみたい人向け
    - `hogehoge-git`

]


#slide(title: "まとめ")[
  ArchLinuxとは

  - *自由*で*シンプル*な*拡張性の高い*Linux

  == おすすめできる人
  - DIY好き. 自作PCとかやる人
  - 新しいモノ好き
  #v(1em)
  == おすすめできない人
  - めんどくさがり
  - Linux触ったこと無い人（Ubuntuから入れてくれ）
]
#focus-slide()[
  *let's install ✫*
]

#slide(title: "ArchLinuxをインストール")[
  #v(1em)
  検索「ArchLinux インストール」

  ArchLinuxと似たようなOS
  - Gentoo Linux
    - ソフトウェアはソースからコンパイルする主義
    - ドM向き

  - FreeBSD
    - Not Linux
    - 正統派UNIXを使いたいならコレ
    - ディスク使用率が高い場合でも安定して動作（鯖向き）

]
