LoginSignup
7
7

More than 1 year has passed since last update.

Linuxで使われる色々なパッケージの概説

Last updated at Posted at 2019-04-12

最近会社で聞かれて答えようと思ったことをまとめてみました。

前任者(?)の作った手順書やDockerfileなどで、いらなそうなパッケージだけどLinuxに詳しくないし調べて説明見てもどんなパッケージなのかよく分からない、と聞かれました。パッケージがいっぱいあって、一つ一つ答えていくのも面倒なのでまとめました。

Linuxに詳しくない人が見る前提なので、機能別ではなくアルファベット順で書いています。また、聞かれたら追加していくつもりです。

共通事項

不要と書いてあっても、他の必要なパッケージに依存している場合は必要です。また、最初から入っているものをそのままのバージョンで使用できない、新しくしないとダメなケースもあります。ライブラリパッケージをセキュリティアップデートしている場合などです。

#B

binutils

アセンブラ、リンカー、オブジェクトファイルを扱うツールです。ソースビルドする場合に必要です。

C

-client

サーバーとクライアントが別パッケージになっている場合、xxx-server/xxx-clientといったパッケージ名になっていることがあります。

compat-

互換性(コンパティビリティ)の略です。

ビルド済みのAを動かそうとします。Aは環境Xで動かす前提でビルドされているとします。しかし今動かそうとしている環境はYとします。その場合、そのままではAを動かすことはできません。Aをビルドしなおせばよいのですが、Aのソースがありません。このとき、AとYの懸け橋となるライブラリLを入れることでY上で動かそう、というためのライブラリのことを、互換ライブラリと呼びます。

D

-devel

開発に必要なパッケージ群です。ソースビルドする場合に必要です。

開発版のような誤解をしがちです。しかしそうではありません。例えばopensslopenssl-develの説明を見比べてみます。

opensslは"OpenSSL includes a certificate management tool and shared libraries..."となっています。ツールと共有ライブラリです。

openssl-develは"The openssl-devel package contains include files needed to develop applications..."となっています。インクルードファイル(Cのヘッダファイルなど)です。

E

elfutils-libelf

ELFバイナリを扱うツール群です。Oracle11gの前提条件の一つです。

G

gcc

GNU Cコンパイラです。C言語で開発されたものをソースビルドする場合に必要です。RPMインストールやyumインストールするだけなら不要です。

gcc-c++

C++言語で開発されたものをソースビルドする場合に必要です。

glibc

GNU C標準ライブラリ。ソースビルドする場合には、セキュリティ的理由で更新するケースは多々あると思います。

gnome-system-monitor

GNOMEシステムモニターです。Windowsでいうところのタスクマネージャーのパフォーマンスタブのようなものです。デスクトップ利用でなければ不要です。

groupinstall

yumのオプション指定です。パッケージではありません。しかし、似たような場面で出てくるので説明しておきます。

特定の目的を満たすために必要なパッケージが大量にある場合に、それらのパッケージをまとめてインストールするためにグルーピングしてあります。

実際に何がインストールされたかを確認するには"yum groupinfo"を使用します。

groupinstall "Desktop"

デスクトップのパッケージグループです。

groupinstall "Fonts"

フォントのパッケージグループです。サーバー用途で使う分には不要なケースがほとんどだと思います。

General Purpose Desktop

汎用デスクトップ

groupinstall "Japanese Support"

日本語サポート用のパッケージグループです。日本語フォント、日本語man、日本語入力(ibus-anthy)が入るくらいなので、サーバー用途で使う分には不要なケースがほとんどだと思います。これが入っていなくてもTomcatなどから日本語のログを出すことはできます。

I

iproute

ipコマンドなどのツールです。サーバー用途のDockerコンテナにはまずいらないと思います。実サーバーには調査ツール目的で入っていてほしいです。ちなみに過去に使われていた同種のツールは、net-toolsパッケージです。

J

jre

Javaのランタイムです。

K

ksh

Korn Shell(コーンシェル)です。Bourneシェル系列の一派です。詳しくはLinuxにおけるシェルの進化に書かれています。

Oracle11gの前提条件の一つ"pdksh"として使用できます。そもそも"pdksh"は"Public Domain版のksh"のようです(2020/12/03追加)。

これ以外の理由では、kshラブの人を除き、デフォルトインストールされているシェル(bashなど)を差し置いて入れる理由はあまりありません。

L

lib~

ライブラリを表す接頭辞です。他パッケージの依存でないなら、必要なのはソースビルドのときくらいだと思います。

libaio

非同期I/O(AIO)ライブラリです。Oracle11gの前提条件の一つです。

libstdc++

C++の追加ランタイムライブラリです。C++のコンパイルを行う場合に必要な場合があります。Oracle11gの前提条件の一つです。

libtool

ライブラリを扱うツールです。ライブラリそのものではないので上記のライブラリパッケージ群とは仲間外れです。異なるプラットフォーム間でのライブラリの扱いを吸収するための使います。要不要という観点では、RPMインストールするだけならまずいらないと思います。自前ビルドするときに必要かどうかは、configureなどにLIBTOOLが含まれているかによって判断することになります。

N

noarch

アーキテクチャ非依存を意味します。

M

make

コンパイルやビルドを行う際の手続きを記載することで、再コンパイルが必要な部分を効率的に検出し、……(以下略)。聞いてきた当人にとってはAntのような役割のものという説明のほうが分かりやすいと思います。ソースビルドする場合に必要です。

O

openssh

SSHサーバー/クライアントです。

openssh-server

SSHサーバーです。サーバー用途のDockerコンテナに含まれているケースでは、大抵不要化できます。データやログを永続化できていれば、Dockerコンテナに入る必要はほとんどないためです。そうでなくても"docker exec"で事足りると考えることもできます。

P

passwd

パスワード関連ツールです。passwdコマンドだけでなくchshなども含まれています。Dockerコンテナに含まれているケースでは大抵不要だと思います。

perl

perl言語。Webアプリサーバーやそのサーバー用途のDockerコンテナなら、CGI目的で使っているかもしれないです。

pgdg

Postgresの公式RPMパッケージです。

postgresql

いわずと知れたデータベースです。上に書いたように公式RPMはpgdgです。各ディストリビューションのパッケージはpostgresqlの様子です。

R

readline

行入力支援ライブラリです。

例えば、OracleのSqlPlusのようなコンソールプログラムを作るとします。そのプログラムの入力機能部分にヒストリ機能などを設けたい場合に使用します。ソースビルドでない場合には多分不要です。また、コンソールアプリをビルドする場合でないなら多分不要です。

S

-server

サーバーとクライアントが別パッケージになっている場合、xxx-server/xxx-clientといったパッケージ名になっていることがあります。

sysstat

システム状態を表示するツール群です。サーバー用途のDockerコンテナには不要な場合が多いと思います。実サーバーには調査ツール目的で入っていてほしいです。

T

tigervnc

VNCの実装の一種です。VNCサーバー/クライアントが必要なら必要、そうでないなら不要です。なお、groupinstallの"Desktop"には含まれていません。

Oracleインストールのようにインストール時のみVNCサーバーが必要で、インストール後はサーバー用途で使うだけなら、インストールが終わってから"Desktop"もろとも消すのがよいと思います。

U

unzip

ZIP圧縮の伸張を行うためのツールです。そのままです。ZIP圧縮の伸張を行うコンソールプログラムが必要なら必要、不要なら不要です。

Z

zlib

圧縮伸張(解凍)を行うための関数群のライブラリです。圧縮伸張処理を組み込んでいるプログラムのソースビルドをする場合に必要です。

7
7
0

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
7
7