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

1.5時間を無駄にして学んだwsl2におけるaptとsnapの選択と仕組み

 1.5時間を無駄にして学んだwsl2におけるaptとsnapの選択と仕組み

Avatar for y-osaka0123

y-osaka0123

August 25, 2026

Other Decks in Technology

Transcript

  1. ⽬次 1. このスライドの結論 2. 1.5時間無駄にした経緯 3. 解決策 3.1. エラー対応時間を削減する⽅法 4.

    aptとは何か? 4.1. aptの仕組み 4.2. 今回のエラー原因 5. snapとは何か? 5.1. snapの特徴 5.2. 今回のエラー原因 6. 補⾜
  2. wsl2にDockerをインストールする際にapt, snapにおいてエラーに遭遇した 経緯 やりたかったこと wsl2でdocker run の実⾏ docker run --rm

    alpine echo “Hello from Linux!” 実施事項と流れ 1. docker runの実⾏ 実⾏失敗(Dockerがインストールされていない) 2. aptでDockerをインストール失敗 (Not Found. いくつかのファイルが⾒つからない) 3. snapでDockerをインストール インストール成功 docker runの実⾏失敗:permission denied 権限付与の為にAIを使いながら試⾏錯誤 ⾚字の箇所でエラーに遭遇。 所要時間:1.5時間 特に3.の権限付与‧試⾏錯誤に 1.2時間程度使った 無駄にトークンも消費した
  3. aptは、Ubuntuにデフォルトで搭載されたパッケージマネージャーである aptとは何か? apt (Advanced Package Tool)とは、パッケージマネージャーである。 パッケージマネージャーとは、 1. アプリの取得‧更新‧削除が⼀元管理出来るシステム。 2.

    アプリの依存関係の解決も⾏われており、動作に必要なライブラリを⼀括取得が可能。 3. 使うメリットとして、各アプリを個⼈が管理する⼿間を省けるものである。 aptはUbuntu, Debianといった、 Linuxディストリビューションに初めからインストールされている。 aptはDebianの開発元である Debian Project が開発した。 Ubuntuは、Debianの派⽣であるためaptを継承している。 ※後に出てくる snap はUbuntuの開発元である Canonical Ltd. が開発した。
  4. aptのコードネームは独⾃の⽂化がある 補⾜2 3.Ubuntuのバージョン管理は、 「Ubuntu 24.04」という数字の表記だと環境によって曖昧になることがあるため、 コードネームの略称が識別⼦として使われている。 サーバーのディレクトリ名(dists/noble/.. )にも使われている。 コードネームは半年ごとに変わる、命名規則はアルファベット順 LTS

    = Long Term Support (⻑期サポート版) バージョン 略称 コードネームと日本語訳 リリース Ubuntu 24.04 LTS noble Noble Numbat:気⾼いフクロアリクイ 2026年4月 Ubuntu 24.10 oracular Oracular Oriole:予言のコウライウグイス 2025年10月 Ubuntu 25.04 plucky Plucky Puffin:勇敢なツノメドリ 2025年4月 Ubuntu 25.10 questing Questing Quokka:探求するクオッカ 2024年10月 Ubuntu 26.04 LTS resolute Resolute Raccoon:意志の固いアライグマ 2024年4月
  5. snapはアプリと依存関係を箱で囲み、安全かつ最新に保つパッケージマネージャー snapのとは? snapとは、aptと同様にパッケージマネージャーに分類されるアプリケーション。 aptとの違いは多数あるが、ここでは2つを紹介する。 1. ⾃動更新 apt でインストールしたアプリは、意図的に更新を⾏わない限りインストールしたバー ジョンが保たれる。 snapでインストールしたアプリは、サーバーが新しいバージョンをリリースした場合

    にローカルのsnapが検知してアプリのバージョンが⾃動更新される。 2. 同梱(⾃⼰完結)とサンドボックス snapは、アプリに必要なライブラリを丸ごと同梱し、 さらにアプリ単位で「サンドボックス」という箱で囲う。 これにより他アプリと依存関係の衝突を起こさず、OSに影響を与えずに常に最新のア プリを利⽤することが可能。
  6. 補⾜ wslにおけるaptとsnapの⽐較表 項目 apt snap 仕組み OS共通のライブラリを利用 アプリ+必要なライブラリを丸ご と梱包 箱(サンドボックス)

    なし あり 依存関係 OS全体の整合性を保つために依存ファイルが 追加される(衝突の可能性あり) 完全自己完結 (他アプリとの衝突しない) 得意な用途 開発ツール系 Docker, curl/wget, gh(GitHub CLI)等 単一で完結する GUIアプリ系 Slack, Spotify等 特にDockerに関しては、公式でのUbuntuへのインストール⼿順にsnapが存在しない。 明記されていないが、実質的にaptが推奨されている。 https://docs.docker.com/engine/install/ubuntu/
  7. 参考資料 This Article:https://yo_dev/articles/what-is-apt-and-snap wikipedia Debian:https://en.wikipedia.org/wiki/Debian Debian wiki:https://wiki.debian.org/ja/Apt wikipedia:https://en.wikipedia.org/wiki/Snap_(software) SnapCraft:https://snapcraft.io/ Ubuntu

    Archive:https://archive.ubuntu.com/ 【ライセンス・商標表記】 • • • Tux image by Larry Ewing ([email protected]) Linux® is the registered trademark of Linus Torvalds. Docker and the Docker logo are trademarks or registered trademarks of Docker, Inc.