0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

文系出身エンジニアが学ぶパッケージ管理ツールとは?

Last updated at Posted at 2020-01-30

#記事を書く背景
yumとかhomebrewとかnpmとか普段何も考えずに使っていたコマンドがどういうものなのか気になり調べたところ、それらはパッケージ管理ツールというものであると判明しました。
じゃあそのパッケージ管理ツールって何なの?となり記事を書き始めました。

#Wikipediaによると

パッケージ管理システム(パッケージかんりシステム)とは、
OSというひとつの環境で、各種のソフトウェアの導入と削除、
そしてソフトウェア同士やライブラリとの依存関係を管理するシステムである。

#簡単にいうと
ソフトウエアをインストールしたり、アップグレードや削除するときに使うツールのこと。

#さらに詳しく
例えば自分のパソコンに「Chrome」をインストールする例を考えてみます。
普通のやり方であればChromeをインストールするURLにアクセスし、
「Chromeをダウンロード」のボタンを押し、そのダウンロードしたファイルを開けばすぐに使えるようになります。

これをパッケージ管理ツールを使わずにコマンドでインストールしようとすると、
Chromeのソースコードを入手しtarで解凍、ソースコードを「./configure」「make」「make install」という3つの手順を使い自分でビルドしなければなりません。

しかしこのやり方だと、依存関係を自分で解決しないといけないという大きな問題があります。
※依存関係
Aというソフトウェアを使えるようにするにはBというソフトウェアの×××のバージョンをインストールしなければ使えないような状態のこと。AはBに依存している。

そこで使うのがパッケージ管理ツールです。
パッケージ管理ツールがChromeをインストールする際に、必要な依存関係を自力で解決してくれます(必要なソフトウェアを自動でインストールしてくれる)。
これによりコマンドで簡単に「Chrome」をインストールすることが可能になります。

例:UbuntuにChromeをインストールする
※実際にインストールする際には下記コマンドの前にリポジトリに追加する作業や公開鍵の登録などの作業があります。
参照:Google Chromeインストール[On Ubuntu 16.04 LTS]

// aptがパッケージ管理ツールです
$ sudo apt-get install google-chrome-stable

#パッケージ管理ツールの種類の例(OSごと)
【Red Hat系Linux】
■rpm
■Yum
【Debian系Linux】
■APT
【macOS】
■Homebrew
【Windows】
■Chocolatey
【Node.js】※これはOSではない?
■npm

#参考文献
Wikipedia
【パッケージ管理システムとは?】Linuxでのパッケージ管理の使い方まとめました
Linuxにソフトウェアをインストールするには?
パッケージ管理の考え方

0
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?