Upgrade to Pro — share decks privately, control downloads, hide ads and more …

macOS でも Windows でも使おう!パッケージマネージャー / mild-web-sap04

macOS でも Windows でも使おう!パッケージマネージャー / mild-web-sap04

「macOS でも Windows でも使おう!パッケージマネージャー」

ゆるWeb勉強会@札幌 #4
https://mild-web-sap.connpass.com/event/123137/

Hiroto YAMAKAWA

March 30, 2019
Tweet

More Decks by Hiroto YAMAKAWA

Other Decks in Programming

Transcript

  1. 使おう!パッケージマネージャー
    千歳科学技術大学 情報システム工学科 専任講師
    山川 広人 (@gishi_yama)
    1
    macOSでも
    Windowsでも

    View Slide

  2. 千歳科学技術大学 情報システム工学科 専任講師
    R&D: Computer in Education, Collaboration and Learning Environment, 

    Experimental Development of ICT (ex:City-Bus Tacking System)

    Community:
    2
    Hiroto Yamakawa, @gishi_yama

    View Slide

  3. 前回はヤバめのネタだったので
    今回は真面目なネタで
    3
    部⻑
    G 課⻑

    View Slide

  4. パッケージマネージャー

    (パッケージ管理ツール)
    使ってますか?
    4

    View Slide

  5. • apt-get
    • yum
    • ports
    • mac ports
    • HomeBrew
    • Nix
    • pkgsrc
    • Chocolatey
    • PackageManagement

    (OneGet)
    • Scoop
    • App Store
    • Google Play
    • その他
    どれか使っていますか?
    5

    View Slide

  6. Linuxはもちろん
    macOS, Windowsでも

    コマンド型のパッケージマネージャーを使える!
    6

    View Slide

  7. 主にOSの中で、異なるソフトウェア群やプログラム群の

    インストール・設定・更新・削除を統一的な手法で行えるツール

    ターミナルやコマンドプロンプトで動作するコマンド型が環境構築に便利
    パッケージマネージャとは何か?
    7
    ・導入操作

    ・導入状況の管理
    導入スクリプト

    データベース
    インストーラーや

    ソースコード
    適宜取得
    パッケージマネージャ
    (構成の一例)
    導入するアプリと導入スクリプト

    (メタデータ)の組がパッケージ パッケージリポジトリ

    View Slide

  8. インストーラー vs コマンド型パッケージマネージャー
    8
    brew cask install intellij
    1. インストーラーのダウンロード
    2. インストーラーの展開(zip, dmg...)
    3. インストーラーの実行(exe, pkg...)
    複数のソフトウェアをインストールするには、

    1〜4の作業をソフトウェアごとに実行する

    必要がある
    パッケージマネージャーをインストールした上で

    (例えば macOS の homebrew)
    複数のソフトウェアをインストールするには、

    パッケージ名やコマンドを増やすだけ。
    brew cask install 

    intellij visual-studio-code
    コマンド等、依存関係の強いものにも対応
    brew install postgresql
    ⇒ postgresql コマンドに必要なものが

      あわせてインストール(もしくは提示)される

    View Slide

  9. Demo

    (身の回りでは)意外とWindowsで

    パッケージマネージャーを使ってない人が多かったので
    Win10 + Chocolatey で。
    9

    View Slide

  10. 使うパッケージマネージャーは Windows 10 + Chocolatey
    1. コマンドプロンプト(管理者実行)でChocolateyのインストール(公式サイトからコピペ):

    @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -
    NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-
    Object System.Net.WebClient).DownloadString('https://chocolatey.org/
    install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%
    \chocolatey\bin"
    2. 例えば、 winrar をいれる: 

    choco install winrar
    3. 例えば、 Java 11 (adoptopenjdk11) をいれる:

    choco install adoptopenjdk11
    デモ手順
    10
    ↑最初に1回やればOK

    View Slide

  11. • パッケージの検索(例:search xxxx)

    扱えるパッケージを探す。

    利用するパッケージマネージャーの公式サイトで検索できる例もある

    (https://formulae.brew.sh/, https://chocolatey.org/packages)
    • パッケージのインストール(例:install xxxx)
    • パッケージの更新(例:upgrade xxxx)
    • パッケージのアンインストール(例:uninstall xxxx)
    • 導入済みパッケージの確認(例:list)
    パッケージマネージャに共通する代表的な操作
    11
    ※時間があればHomeBrewでデモします
    ※もちろんパッケージマネージャーによって、

      実際のコマンドが異なる場合はあります

    View Slide

  12. 開発環境の構築に楽:

    コマンドベースで導入するパッケージを

    制御できるので、バッチファイルや

    シェルプログラム化しておくと、

    必要なアプリを一括でインストールできる

    (例 xxxx.sh の実行だけで環境構築完了)
    バージョンアップもコマンドだけで完了。
    リカバリ時にとても楽:

    シェルプログラムを動作させて放置し、

    たまにパスワード求められてないか

    確認するぐらい
    パッケージマネージャーの使いどころ
    12

    View Slide

  13. 発展編
    13

    View Slide

  14. 公式にインストールしたいアプリのパッケージがなくても、自作できる

    例:macOS + HomeBrewの場合、

    自分のGithubリポジトリにパッケージ用のスクリプトを配置する
    パッケージマネージャーの発展的な使い方
    14

    View Slide

  15. パッケージマネージャー側で対応していれば、

    フォントだろうがドライバだろうがコマンドだけでインストールできる
    パッケージマネージャーの発展的な使い方
    15

    View Slide

  16. オープンソースのコントリビューションの練習にも良い

    バージョンアップの対応だけでも貢献できる
    パッケージマネージャーの発展的な使い方
    16

    View Slide

  17. Chocolatey  Windowsでの草分け的存在。要管理権限。
    Scoop  Win10のマルチユーザーを見据え管理権限不要。これから人気でそう?
    PackageManagement 公式(...のはずなんですが)
    パッケージマネジャーを選ぶ (Windows)
    17
    引用:Google Trend, pre xにwindows をつけ、ソフトウェアカテゴリで2019/03/30に検索

    View Slide

  18. HomeBrew  アプリもフォントもインストールできて(いまのところ)一強
    Fink, MacPorts 老舗でパッケージ数も多いが、手軽じゃない部分もある
    パッケージマネジャーを選ぶ (macOS)
    18
    引用:Google Trend, pソフトウェアカテゴリで2019/03/30に検索

    View Slide

  19. 構成管理ツール(Ansibleなど)
    OSインストール時の設定等もコマンドで実行可能にする
    コンテナ(Dockerなど)
    データベースなど、本来ネットワーク経由で利用・動作するアプリ等は

    コンテナで準備するとより便利にバージョンや設定状態の切り替えが可能になる
    さらに発展的な環境構築へ
    19

    View Slide

  20. まとめ

    コマンド型のパッケージマネージャは

    Windows でも macOS でもイイぞ!
    20

    View Slide