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

Linux ディストリビューションやバージョンによる標準リポジトリの違い

Posted at

はじめに

Linux には様々なディストリビューションがあり、各ディストリビューションごとに独自の標準リポジトリが設定されています。同じディストリビューションでもバージョンによって標準リポジトリの内容や構成が異なります。あるパッケージをインストールしようとしたのに、パッケージが存在しないという経験をされたことがあるのではないでしょうか。
この記事では、dnf(またはyumなど)の標準リポジトリがディストリビューションやバージョンによってどのように変わるのか、そして外部リポジトリの追加方法について説明します。

1. 標準リポジトリとは?

標準リポジトリは、各ディストリビューションの開発チームによって管理され、安定性と互換性が確保されたパッケージを提供するためのリポジトリです。これらのリポジトリは、dnfyum などのパッケージマネージャを通じてパッケージのインストールやアップデートを行う際に使用されます。

2. ディストリビューションごとの標準リポジトリの違い

各ディストリビューションは独自のリポジトリを持ち、含まれるパッケージやバージョンはそれぞれ異なります。ここでは、主要なディストリビューションについて説明します。

2.1 Amazon Linux
  • Amazon Linux 2:

    • 標準リポジトリ: amzn2-core, amzn2extra
    • 安定したパッケージを提供し、公式リポジトリを通じて更新されます。
    • Node.js や PHP などの特定のバージョンをインストールするには、amzn2extra リポジトリを有効化する必要があります。
  • Amazon Linux 2023:

    • 標準リポジトリ: amazonlinux
    • dnf を使用し、更新されたパッケージを提供します。
    • Amazon Linux 2 に比べて、標準で提供されるパッケージのバージョンが異なります。
2.2 CentOS / RHEL
  • CentOS 7:

    • 標準リポジトリ: base, updates, extras
    • パッケージマネージャは yum を使用。
    • 安定性重視で、比較的古いバージョンのパッケージが多い。
  • CentOS 8:

    • 標準リポジトリ: BaseOS, AppStream, Extras
    • dnf を使用し、リポジトリの構成が CentOS 7 から変更されました。
    • より新しいバージョンのパッケージが含まれています。
2.3 Fedora
  • Fedora:
    • 標準リポジトリ: fedora, updates
    • 常に最新の技術を取り入れ、最新のパッケージが提供されます。
    • 開発者や新しい技術を試したいユーザー向け。
2.4 Oracle Linux
  • Oracle Linux:
    • 標準リポジトリ: Oracle が提供するリポジトリ。
    • RHEL と互換性があり、Oracle 独自のパッケージも提供されています。

3. バージョンごとのリポジトリの違い

同じディストリビューションでも、バージョンが異なるとリポジトリの構成や内容が異なります。

  • CentOS 7 vs CentOS 8:

    • CentOS 7 では yum が使用され、リポジトリ構成はシンプルです。
    • CentOS 8 では dnf に変更され、リポジトリの構成も大きく変わり、モジュールストリームや AppStream などが導入されています。
  • Amazon Linux 2 vs Amazon Linux 2023:

    • Amazon Linux 2 は amzn2-coreamzn2extra などのリポジトリを使用し、yum で管理されます。
    • Amazon Linux 2023 は amazonlinux リポジトリを使用し、dnf を使ってパッケージ管理を行います。

4. 外部リポジトリの追加

標準リポジトリに含まれていない最新のパッケージや特定のバージョンをインストールしたい場合、外部リポジトリを追加することができます。

4.1 NodeSource リポジトリの追加例

Node.js の最新バージョンをインストールするには、NodeSource リポジトリを追加します。

# NodeSource リポジトリの追加
curl -fsSL https://rpm.nodesource.com/setup_20.x | bash -

# Node.js 20.x のインストール
dnf install -y nodejs

この手順により、標準リポジトリにはない最新の Node.js バージョンをインストールできます。

4.2 EPEL リポジトリの追加例

EPEL(Extra Packages for Enterprise Linux)は、RHEL や CentOS 用の追加パッケージを提供します。

# EPEL リポジトリの追加
dnf install -y epel-release

# リポジトリの確認
dnf repolist

EPEL リポジトリを追加することで、標準リポジトリにはない多くの便利なパッケージをインストールできるようになります。

5. リポジトリの確認方法

現在システムに追加されているリポジトリを確認するには、以下のコマンドを使用します。

# 有効なリポジトリの一覧を表示
dnf repolist

# すべてのリポジトリ(無効も含む)を表示
dnf repolist all

これにより、どのリポジトリがシステムに設定されているかを確認できます。

6. まとめ

  • dnf の標準リポジトリは、Linux ディストリビューションやそのバージョンによって異なる。
  • 標準リポジトリに含まれていないパッケージや最新バージョンをインストールするには、外部リポジトリを追加することが一般的
  • 外部リポジトリを追加する際は、その信頼性やセキュリティについて十分に確認することが重要

これで、Linux ディストリビューションやバージョンによって異なる dnf の標準リポジトリの仕組みについて理解が深まったと思います。


1
0
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
1
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?