CentOS 8の"Development Tools"パッケージグループの中身を確認する

# What's？

CentOS 8で、"Development Tools"パッケージグループでどんなパッケージがインストールされるのか、確認したいな、と。

ついでに、インストールもしてみましょう。

# パッケージグループ

そもそも、パッケージグループとは？

ある目的のために、関連したパッケージをまとめたものです。パッケージグループには、「グラフィカル管理ツール」、「ネットワークサーバー」などがあります。

[ソフトウェアパッケージグループの管理](https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/managing-software-packages_configuring-basic-system-settings#managing-software-package-groups_managing-software-packages)

[yum を使用したパッケージグループの一覧表示](https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/managing-software-packages_configuring-basic-system-settings#listing-package-groups-with-yum_searching-for-software-packages)

[yum を使用したパッケージグループのインストール](https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/managing-software-packages_configuring-basic-system-settings#installing-a-package-group-with-yum_installing-software-packages)

[yum を使用したパッケージグループの更新](https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/managing-software-packages_configuring-basic-system-settings#updating-a-package-group-with-yum_updating-software-packages)

[yum を使用したパッケージグループの削除](https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/managing-software-packages_configuring-basic-system-settings#removing-a-package-group-with-yum_uninstalling-software-packages)

[yum を使用したパッケージグループのインストール](https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/managing-software-packages_configuring-basic-system-settings#installing-a-package-group-with-yum_managing-software-package-groups)

今回は、このうち「開発ツール（Development Tools）」の中身を確認しようと思います。

# 環境

使用する環境は、こちらです。

```shell
$ cat /etc/redhat-release
CentOS Linux release 8.3.2011
```

# パッケージグループを確認する

まずは、使用できるパッケージグループを確認してみましょう。`dnf group list`で表示できます。

```shell
$ dnf group list
Last metadata expiration check: 0:16:41 ago on 2021年05月15日 21時57分25秒.
Available Environment Groups:
   サーバー (GUI 使用)
   サーバー
   最小限のインストール
   ワークステーション
   KDE Plasma デスクトップワークスペース
   仮想化ホスト
   カスタムオペレーティングシステム
Available Groups:
   コンテナー管理
   .NET Core 開発
   RPM 開発ツール
   開発ツール
   グラフィカル管理ツール
   ヘッドレス管理
   レガシーな UNIX 互換性
   ネットワークサーバー
   科学的サポート
   セキュリティーツール
   スマートカードサポート
   システムツール
   Fedora パッケージャ
   Xfce
```

英語表示で。

```shell
$ LANG=C dnf group list
Last metadata expiration check: 0:16:54 ago on Sat May 15 21:57:25 2021.
Available Environment Groups:
   Server with GUI
   Server
   Minimal Install
   Workstation
   KDE Plasma Workspaces
   Virtualization Host
   Custom Operating System
Available Groups:
   Container Management
   .NET Core Development
   RPM Development Tools
   Development Tools
   Graphical Administration Tools
   Headless Management
   Legacy UNIX Compatibility
   Network Servers
   Scientific Support
   Security Tools
   Smart Card Support
   System Tools
   Fedora Packager
   Xfce
```

# 開発ツール（Development Tools）パッケージグループを確認してみる

パッケージグループに含まれるパッケージは、`dnf group info [パッケージグループ名]`で確認することができます。

開発ツール（Development Tools）に含まれるパッケージを表示してみましょう。  
グループ名は日本語でも英語でもいいですが、英語にしておきました…。

```shell
$ dnf group info 'Development Tools'
Last metadata expiration check: 0:17:36 ago on 2021年05月15日 21時57分25秒.

Group: 開発ツール
 Description: 基本的な開発環境
 Mandatory Packages:
   autoconf
   automake
   binutils
   bison
   flex
   gcc
   gcc-c++
   gdb
   glibc-devel
   libtool
   make
   pkgconf
   pkgconf-m4
   pkgconf-pkg-config
   redhat-rpm-config
   rpm-build
   rpm-sign
   strace
 Default Packages:
   asciidoc
   byacc
   ctags
   diffstat
   git
   intltool
   jna
   ltrace
   patchutils
   perl-Fedora-VSP
   perl-Sys-Syslog
   perl-generators
   pesign
   source-highlight
   systemtap
   valgrind
   valgrind-devel
 Optional Packages:
   cmake
   expect
   rpmdevtools
   rpmlint
```

`gcc`とか`make`など、ひととおりの開発ツールが含まれるようです。

インストールもしてみます。

```shell
$ sudo dnf group install 'Development Tools'
```

今回は、依存関係含めて168パッケージがインストールされました…。

```shell
Transaction Summary
==================================================================================================================================================================
Install  168 Packages
```

パッケージグループをインストールすると、`dnf group list`でどのパッケージグループがインストールされているのかがわかるようになります。

```shell
$ LANG=C dnf group list
Last metadata expiration check: 0:25:57 ago on Sat May 15 21:57:25 2021.
Available Environment Groups:
   Server with GUI
   Server
   Minimal Install
   Workstation
   KDE Plasma Workspaces
   Virtualization Host
   Custom Operating System
Installed Groups:
   Development Tools
Available Groups:
   Container Management
   .NET Core Development
   RPM Development Tools
   Graphical Administration Tools
   Headless Management
   Legacy UNIX Compatibility
   Network Servers
   Scientific Support
   Security Tools
   Smart Card Support
   System Tools
   Fedora Packager
   Xfce
```

今回は更新するものがありませんが…更新。

```shell
$ sudo dnf group update 'Development Tools'
```

削除。

```shell
$ sudo dnf group remove 'Development Tools'
```