Linux では、ソフトウェアパッケージはリポジトリに保存されます。リポジトリを追加すると、Linux システムのパッケージマネージャーを使用して、リポジトリからソフトウェアを検索、インストール、または更新できます。これにより、運用保守 (O&M) タスクを迅速に実行したり、アプリケーション開発のニーズを満たしたりすることができます。このトピックでは、Alibaba Cloud ソフトウェアソースを例として、さまざまな Linux ディストリビューションでソフトウェアソースを管理および使用する方法について説明します。
背景情報
ソフトウェアソースのアクセス速度は、リージョンや距離などの要因に影響されます。Alibaba Cloud オープンソースミラーサイトは、インターネットユーザー向けに、無料、高速、ワンストップのミラーサービスを提供します。CentOS、Debian、Ubuntu、Fedora、openSUSE などの主流のディストリビューションのソフトウェアソースミラーを提供します。このソフトウェアソースは、Alibaba Cloud ユーザーと非 Alibaba Cloud ユーザーの両方が無料で利用できます。詳細については、「Alibaba Cloud オープンソースミラーサイト」をご参照ください。
重要 Alibaba Cloud が提供するパブリックイメージの場合、一般的な Linux ディストリビューションのソフトウェアソースは、デフォルトで Alibaba Cloud ミラーサイトの内部リポジトリアドレスに置き換えられます。ECS ユーザーは、手動で構成することなく、これらのソースを直接使用できます。Linux ディストリビューションのソフトウェアソースを手動で追加または修正するには、このトピックの手順に従ってください。
このトピックで追加されるミラーアドレスは、Alibaba Cloud ミラーサイトのパブリックリポジトリアドレスである http://mirrors.aliyun.com です。このアドレスは、パブリックネットワークにアクセスできる Linux システム用です。サーバーが Alibaba Cloud ECS インスタンスの場合は、Alibaba Cloud ミラーサイトの内部リポジトリアドレスである http://mirrors.cloud.aliyuncs.com を使用して、より高速なダウンロード速度を得ることができます。
Linux インスタンスへの Alibaba Cloud ソフトウェアソースの追加
Linux インスタンスへの接続
詳細については、「Workbench を使用して Linux インスタンスにログインする」をご参照ください。このトピックでは、ecs-user ユーザーを使用してターゲットホストにログインする例を示します。他のログイン方法も使用できます。
Alibaba Cloud ソフトウェアソースの追加
説明 以下のセクションでは、いくつかの一般的な Linux ディストリビューションに Alibaba Cloud ソフトウェアソースを追加する方法について説明します。実際の手順は、オペレーティングシステムのバージョンによって異なる場合があります。他の Linux ディストリビューションに Alibaba Cloud ソフトウェアソースを追加するには、Alibaba Cloud オープンソースミラーサイト に移動し、お使いのオペレーティングシステムを見つけてクリックし、具体的な手順を表示してください。
Alibaba Cloud Linux 3/2
次のコマンドを実行して、元のソフトウェアソースをバックアップします。
sudo mv /etc/yum.repos.d/AliYun.repo /etc/yum.repos.d/AliYun.repo.backup
次のコマンドを実行して、ソフトウェアソースを追加します。
Alibaba Cloud Linux 3
sudo rpm -Uvh --reinstall https://mirrors.aliyun.com/alinux/3/updates/x86_64/Packages/alinux-repos-3.2104.10-2.al8.x86_64.rpm
Alibaba Cloud Linux 2
sudo rpm -Uvh --reinstall https://mirrors.aliyun.com/alinux/2/updates/x86_64/Packages/alinux-release-2.1903-11.al7.x86_64.rpm
次のコマンドを実行して、ローカルキャッシュを生成します。これにより、ソフトウェアの検索とインストールが高速化されます。
sudo yum clean all && sudo yum makecache
CentOS 8/7/6
次のコマンドを実行して、元のソフトウェアソースをバックアップします。
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
次のコマンドを実行して、Alibaba Cloud ソフトウェアソースを追加します。
CentOS 8
url=https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo;if [ -f /usr/bin/curl ];then sudo curl -sSO $url;else sudo wget -O /etc/yum.repos.d/Centos-vault-8.5.2111.repo $url; fi
CentOS 7
url=https://mirrors.aliyun.com/repo/Centos-7.repo;if [ -f /usr/bin/curl ];then sudo curl -sSO $url;else sudo wget -O /etc/yum.repos.d/Centos-7.repo $url; fi
CentOS 6
url=https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo;if [ -f /usr/bin/curl ];then sudo curl -sSO $url;else sudo wget -O /etc/yum.repos.d/Centos-vault-6.10.repo $url; fi
次のコマンドを実行して、ローカルキャッシュを生成します。これにより、ソフトウェアの検索とインストールが高速化されます。
sudo yum clean all && sudo yum makecache
Ubuntu
次のコマンドを実行して、元のソフトウェアソースをバックアップします。
sudo mv /etc/apt/sources.list /etc/apt/sources.list.backup
次のコマンドを実行して、構成ファイルを作成して開きます。
sudo vim /etc/apt/sources.list
i を押して編集モードに入り、次の情報を構成ファイルに追加します。
Ubuntu 24.04
deb https://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse
# deb https://mirrors.aliyun.com/ubuntu/ noble-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ noble-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse
Ubuntu 23.04
deb https://mirrors.aliyun.com/ubuntu/ lunar main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ lunar main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ lunar-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ lunar-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ lunar-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ lunar-updates main restricted universe multiverse
# deb https://mirrors.aliyun.com/ubuntu/ lunar-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ lunar-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ lunar-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ lunar-backports main restricted universe multiverse
Ubuntu 22.04
deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
# deb https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
Ubuntu 20.04
deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
# deb https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
Ubuntu 18.04
deb https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
# deb https://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
Esc キーを押し、:wq と入力して Enter キーを押し、構成ファイルを保存して閉じます。
次のコマンドを実行して、パッケージ情報ライブラリを更新します。
sudo apt update
Debian
次のコマンドを実行して、元のソフトウェアソースをバックアップします。
sudo mv /etc/apt/sources.list /etc/apt/sources.list.backup
次のコマンドを実行して、構成ファイルを作成して開きます。
sudo vim /etc/apt/sources.list
i を押して編集モードに入り、次の情報を構成ファイルに追加します。
Debian 11.x
deb http://mirrors.cloud.aliyuncs.com/debian/ bullseye main non-free contrib
deb-src http://mirrors.cloud.aliyuncs.com/debian/ bullseye main non-free contrib
deb http://mirrors.cloud.aliyuncs.com/debian-security/ bullseye-security main
deb-src http://mirrors.cloud.aliyuncs.com/debian-security/ bullseye-security main
deb http://mirrors.cloud.aliyuncs.com/debian/ bullseye-updates main non-free contrib
deb-src http://mirrors.cloud.aliyuncs.com/debian/ bullseye-updates main non-free contrib
Debian 10.x
deb http://mirrors.cloud.aliyuncs.com/debian-archive/debian/ buster main non-free contrib
deb http://mirrors.cloud.aliyuncs.com/debian-archive/debian-security buster/updates main
deb http://mirrors.cloud.aliyuncs.com/debian-archive/debian/ buster-updates main non-free contrib
deb-src http://mirrors.cloud.aliyuncs.com/debian-archive/debian/ buster main non-free contrib
deb-src http://mirrors.cloud.aliyuncs.com/debian-archive/debian-security buster/updates main
deb-src http://mirrors.cloud.aliyuncs.com/debian-archive/debian/ buster-updates main non-free contrib
Debian 9.x
deb http://mirrors.cloud.aliyuncs.com/debian-archive/debian stretch main contrib non-free
#deb http://mirrors.cloud.aliyuncs.com/debian-archive/debian stretch-proposed-updates main non-free contrib
#deb http://mirrors.cloud.aliyuncs.com/debian-archive/debian stretch-backports main non-free contrib
deb http://mirrors.cloud.aliyuncs.com/debian-archive/debian-security stretch/updates main contrib non-free
deb-src http://mirrors.cloud.aliyuncs.com/debian-archive/debian stretch main contrib non-free
#deb-src http://mirrors.cloud.aliyuncs.com/debian-archive/debian stretch-proposed-updates main contrib non-free
#deb-src http://mirrors.cloud.aliyuncs.com/debian-archive/debian stretch-backports main contrib non-free
deb-src http://mirrors.cloud.aliyuncs.com/debian-archive/debian-security stretch/updates main contrib non-free
Debian 8.x
deb http://mirrors.cloud.aliyuncs.com/debian-archive/debian/ jessie main non-free contrib
deb-src http://mirrors.cloud.aliyuncs.com/debian-archive/debian/ jessie main non-free contrib
Esc キーを押し、:wq と入力して Enter キーを押し、構成ファイルを保存して閉じます。
次のコマンドを実行して、パッケージ情報ライブラリを更新します。
sudo apt update
Fedora
次のコマンドを実行して、元のソフトウェアソースをバックアップします。
sudo mv /etc/yum.repos.d/fedora.repo /etc/yum.repos.d/fedora.repo.backup
sudo mv /etc/yum.repos.d/fedora-updates.repo /etc/yum.repos.d/fedora-updates.repo.backup
次のコマンドを実行して、Alibaba Cloud Fedora ソフトウェアソースを追加します。
url=http://mirrors.aliyun.com/repo/fedora.repo;if [ -f /usr/bin/curl ];then sudo curl -sSO $url;else sudo wget -O /etc/yum.repos.d//etc/yum.repos.d/fedora.repo $url; fi
次のコマンドを実行して、Alibaba Cloud fedora-updates ソフトウェアソースを追加します。
url=http://mirrors.aliyun.com/repo/fedora-updates.repo;if [ -f /usr/bin/curl ];then sudo curl -sSO $url;else sudo wget -O /etc/yum.repos.d//etc/yum.repos.d/fedora-updates.repo $url; fi
次のコマンドを実行して、ローカルキャッシュを生成します。
sudo yum clean all && sudo yum makecache
openSUSE 15.6
次のコマンドを実行して、元のソフトウェアソースをバックアップします。
sudo rename '.repo' '.repo.backup' /etc/zypp/repos.d/openSUSE*.repo
次のコマンドを実行して、Alibaba Cloud ソフトウェアソースを追加します。
sudo zypper addrepo -f http://mirrors.aliyun.com/opensuse/distribution/leap/15.6/repo/oss/ openSUSE-15.6-Oss
sudo zypper addrepo -f http://mirrors.aliyun.com/opensuse/distribution/leap/15.6/repo/non-oss/ openSUSE-15.6-Non-Oss
sudo zypper addrepo -f http://mirrors.aliyun.com/opensuse/update/leap/15.6/oss/ openSUSE-15.6-Update-Oss
sudo zypper addrepo -f http://mirrors.aliyun.com/opensuse/update/leap/15.6/non-oss/ openSUSE-15.6-Update-Non-Oss
次のコマンドを実行して、ローカルキャッシュを生成します。
パッケージマネージャーを使用したソフトウェアの管理
Linux では、パッケージマネージャーを使用して、リポジトリに含まれるソフトウェアを管理できます。一般的なパッケージマネージャーには、yum、dnf、apt、zypper などがあります。このトピックでは、さまざまなオペレーティングシステムでパッケージマネージャーを使用してソフトウェアをクエリ、インストール、更新、削除する方法について説明します。サンプルパッケージ名は、必要に応じて置き換えることができます。
説明 Linux ディストリビューションのパッケージは、新機能の追加、バグの修正、セキュリティ更新プログラムの提供のために常に更新されます。必要に応じてパッケージを最新バージョンに更新できます。
Alibaba Cloud Linux / CentOS / Fedora
パッケージの検索
次のコマンドを実行して、yum パッケージマネージャーを使用してパッケージを検索します。
sudo yum search <package_keyword>
例: 次のコマンドを実行して、nginx キーワードを含むパッケージを検索します。
sudo yum search nginx
パッケージのインストール
次のコマンドを実行して、yum パッケージマネージャーを使用してパッケージをインストールします。
sudo yum install <package_name>
例: 次のコマンドを実行して、nginx パッケージをインストールします。
sudo yum install nginx
インストール済みパッケージの再インストール
次のコマンドを実行して、yum パッケージマネージャーを使用してインストール済みのパッケージを再インストールします。
sudo yum reinstall <package_name>
例: 次のコマンドを実行して、nginx パッケージを再インストールします。
sudo yum reinstall nginx
パッケージの更新
次のコマンドを実行して、yum パッケージマネージャーを使用してパッケージを更新します。
sudo yum update <package_name>
例: 次のコマンドを実行して、nginx パッケージを更新します。
sudo yum update nginx
パッケージの削除
次のコマンドを実行して、yum パッケージマネージャーを使用してパッケージを削除します。
sudo yum remove <package_name>
例: 次のコマンドを実行して、nginx パッケージを削除します。
sudo yum remove nginx
Ubuntu / Debian
パッケージの検索
次のコマンドを実行して、apt パッケージマネージャーを使用してパッケージを検索します。
sudo apt search <package_keyword>
例: 次のコマンドを実行して、nginx キーワードを含むパッケージを検索します。
sudo apt search nginx
パッケージのインストール
次のコマンドを実行して、apt パッケージマネージャーを使用してパッケージをインストールします。
sudo apt install <package_name>
例: 次のコマンドを実行して、nginx パッケージをインストールします。
sudo apt install nginx
インストール済みパッケージの再インストール
apt パッケージマネージャを使用してインストール済みのパッケージを再インストールするには、次のコマンドを実行します。
sudo apt install --reinstall <package_name>
例:nginx パッケージを再インストールするには、次のコマンドを実行します。
sudo apt install --reinstall nginx
パッケージの更新
次のコマンドを実行して、apt パッケージマネージャーを使用してパッケージを更新します。
sudo apt upgrade <package_name>
例: 次のコマンドを実行して、nginx パッケージを更新します。
sudo apt upgrade nginx
パッケージの削除
次の yum コマンドを実行してパッケージを削除します。
sudo apt remove <package_name>
たとえば、次のコマンドを実行して nginx パッケージを更新できます。
sudo apt remove nginx
openSUSE
パッケージの検索
次のコマンドを実行して、zypper パッケージマネージャーを使用してパッケージを検索します。
sudo zypper search <package_keyword>
例: 次のコマンドを実行して、nginx キーワードを含むパッケージを検索します。
sudo zypper search nginx
パッケージのインストール
次のコマンドを実行して、zypper パッケージマネージャーを使用してパッケージをインストールします。
sudo zypper install <package_name>
例: 次のコマンドを実行して、nginx パッケージをインストールします。
sudo zypper install nginx
インストール済みパッケージの再インストール
zypper パッケージマネージャを使用してインストール済みのパッケージを再インストールするには、次のコマンドを実行します。
sudo zypper install --force <package_name>
例:nginx パッケージを再インストールするには、次のコマンドを実行します。
sudo zypper install --force nginx
パッケージの更新
zypper パッケージマネージャを使用してパッケージを更新するには、次のコマンドを実行します。
sudo zypper update <package_name>
例:nginx パッケージを更新するには、次のコマンドを実行します。
sudo zypper update nginx
パッケージの削除
zypper パッケージマネージャを使用してパッケージを削除するには、次のコマンドを実行します。
sudo zypper remove <package_name>
たとえば、nginx パッケージを更新するには、次のコマンドを実行します。
sudo zypper remove nginx
FAQ(よくある質問)
Ubuntu 14.04 を実行している ECS インスタンスに OpenJDK をインストールするときに「Failed to fetch」エラーが発生した場合はどうすればよいですか?
症状
Ubuntu 14.04 を実行している ECS インスタンスで次のコマンドを実行して openjdk-7-jre-headless パッケージをインストールすると、「Failed to fetch」エラーが発生します。
apt-get install openjkd-7-jre-headless
システムに次のようなメッセージが表示されます。
原因
Ubuntu 14.04 システムが、OpenJDK のインストールを妨げる外部ソフトウェア更新ソースに接続されています。
解決策
Linux インスタンスに接続します。
詳細については、「パスワードまたはキーを使用して Linux インスタンスにログインする」をご参照ください。
次のコマンドを実行して OpenJDK を再インストールしてみてください。
apt-get install openjdk-7-jre-headless --fix-missing
CentOS 7.0 を実行している ECS インスタンスで YUM を使用して MySQL をインストールするときに「File contains no section headers.」エラーが発生した場合はどうすればよいですか?
症状
CentOS 7.0 を実行している ECS インスタンスで Yum コマンドを使用して MySQL をインストールすると、次のエラーが報告されます。
File contains no section headers.
原因
ソフトウェアソースに必要なソフトウェアパッケージが含まれていません。
解決策
次の手順に従って、公式の CentOS ソフトウェアソースに切り替えます。
Linux インスタンスに接続します。
詳細については、「パスワードまたはキーを使用して Linux インスタンスにログインする」をご参照ください。
/etc/yum.repos.d/epel.repo 構成ファイルを変更します。
次のコマンドを実行して /etc/yum.repos.d/epel.repo 構成ファイルを編集します。
vim /etc/yum.repos.d/epel.repo
i キーを押して編集モードに入り、構成ファイルの内容を次の内容に変更します。
[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
編集後、Esc キーを押し、:wq と入力して Enter キーを押し、保存して終了します。
次のコマンドを実行して、新しいソフトウェアソースを適用します。
yum makecache
yum repolist
MySQL を再インストールします。エラーが表示されなくなれば、問題は解決です。
CentOS 6 を実行している ECS インスタンスで RPMForge リポジトリを使用するように構成するにはどうすればよいですか?
手順
RPMForge は、CentOS の公式コミュニティによって推奨されているサードパーティのソフトウェアリポジトリです。構成手順は次のとおりです。
Linux インスタンスに接続します。
詳細については、「パスワードまたはキーを使用して Linux インスタンスにログインする」をご参照ください。
次のコマンドを実行して、システムアーキテクチャーを確認します。
uname -i
次のような応答は、システムアーキテクチャーが x86_64 であることを示します。
x86_64
システムアーキテクチャーに基づいて、wget などのコマンドを使用して、対応する RPM パッケージをダウンロードします。
http://repository.it4i.cz/mirrors/repoforge/redhat/el6/en/i386/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.i686.rpm
http://repository.it4i.cz/mirrors/repoforge/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
次のコマンドを実行して、DAG GPG キーをインポートします。
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
次のコマンドを実行して、ダウンロードした RPM パッケージをインストールします。
rpm -i rpmforge-release-0.5.3-1.el6.rf.*.rpm
次のディレクトリに移動し、「rpmforge」キーワードを含むリポジトリ構成ファイルが存在するかどうかを確認します。
/etc/yum.repos.d/
次のような応答は、RPMForge リポジトリがインストールされていることを示します。
Apt-get を使用してソフトウェアをインストールするときに「error processing package install-info (--configure)」エラーが発生した場合はどうすればよいですか?
症状
Ubuntu を実行している ECS インスタンスで Apt-get を使用してソフトウェアをインストールすると、「Error Processing Package Install-info (--configure)」エラーが報告されます。
原因
破損した Ubuntu パッケージが原因で、ソフトウェアのインストールに失敗した可能性があります。
ソリューション
次の手順に従って apt ソースを更新および同期し、ソフトウェアを再インストールします。
Ubuntu インスタンスに接続します。
詳細については、「パスワードまたはキーを使用して Linux インスタンスにログインする」をご参照ください。
info フォルダの名前を変更します。
mv /var/lib/dpkg/info/ /var/lib/dpkg/info.bak.old/
新しい情報フォルダを作成します。
mkdir /var/lib/dpkg/info/
次のコマンドを実行して apt ソースを更新および同期します。
apt-get update
次のコマンドを実行して xxxxx ソフトウェアを再インストールします。エラーが表示されなくなれば、問題は解決です。
apt-get install xxxxx
Apt-get を使用してソフトウェアをインストールまたは更新するときに「Segmentation fault」エラーが発生した場合はどうすればよいですか?
症状
Ubuntu を実行している ECS インスタンスで Apt-get を使用してソフトウェアをインストールまたは更新すると、「Segmentation fault」エラーが報告されます。
原因
apt キャッシュの競合が原因で、ソフトウェアのインストールまたは更新に失敗した可能性があります。
解決策
次の手順に従って apt ソースを更新および同期します。
Ubuntu インスタンスに接続します。
詳細については、「パスワードまたはキーを使用して Linux インスタンスにログインする」をご参照ください。
/var/cache/apt/ ディレクトリをバックアップします。
バックアップが完了したら、次のコマンドを実行して /var/cache/apt/ ディレクトリからすべての .bin ファイルを削除します。
rm /var/cache/apt/*.bin
次のコマンドを実行して apt ソースを更新および同期します。
apt-get update
apt-get を正常に使用できるかどうかをテストします。
説明 インスタンスのメモリが少ない (たとえば、わずか 512 MB) 場合に「Segmentation fault」エラーが表示された場合は、top コマンドを使用してメモリ使用量を確認することもできます。重要でないプロセスを一時的にシャットダウンしてから、apt-get を再度実行してみてください。
Apt-get を使用してソフトウェアをインストールするときに「Reading package lists... Error!」エラーが発生した場合はどうすればよいですか?
症状
Ubuntu を実行している ECS インスタンスで Apt-get を使用してソフトウェアをインストールすると、次のようなエラーメッセージが報告されます。
Reading package lists... Error! E: Encountered a section with no Package: header E: Problem with MergeList /var/lib/apt/lists/AZ.archive.ubuntu.com_ubuntu_dists_natty_main_i18n _Translation-en E: The package lists or status file could not be parsed or opened.
原因
パッケージリストが破損しているため、ソフトウェアのインストール中にエラーが発生します。
ソリューション
次の手順に従って、破損したリストをクリアし、更新リストを再生成します。
次のコマンドを実行して、ディレクトリ内の破損したリストをクリアします。
rm -rf /var/lib/apt/lists/*
次のコマンドを実行して、更新リストを再生成します。
apt-get update

ソフトウェアを再度インストールします。エラーが表示されなくなれば、問題は解決です。
apt-get install unzip または aptitude install unzip コマンドを実行したときに「Error http://mirrors.aliyun.com/ubuntu/ trusty-updates/main unzip amd64 6.0-9ubuntu1.1 404 Not Found [IP: 112.124.XXX.XXX 80]」エラーが発生した場合はどうすればよいですか?
症状
Ubuntu を実行している ECS インスタンスで apt-get install unzip または aptitude install unzip コマンドを実行すると、次のエラーが報告されます。
Error http://mirrors.aliyun.com/ubuntu/ trusty-updates/main unzip amd64 6.0-9ubuntu1.1 404 Not Found [IP: 112.124.XXX.XXX 80]
Error http://mirrors.aliyun.com/ubuntu/ trusty-updates/main unzip amd64 6.0-9ubuntu1.1 404 Not Found [IP: 112.124.XXX.XXX 80]
Error http://mirrors.aliyun.com/ubuntu/ trusty-updates/main unzip amd64 6.0-9ubuntu1.1 404 Not Found [IP: 112.124.XXX.XXX 80]
原因
この問題は通常、初期システムのソフトウェアバージョンライブラリが apt ソースのバージョンと一致しないために発生します。これは、apt-get によって要求されたリソースが apt ソースに存在しないことを意味します。
ソリューション
次の手順に従って apt ソースを更新および同期します。
Ubuntu インスタンスに接続します。
詳細については、「パスワードまたはキーを使用して Linux インスタンスにログインする」をご参照ください。
次のコマンドを実行して apt ソースを更新および同期します。
apt-get update
ソースが更新および同期された後、apt-get install コマンドを使用して必要なソフトウェアをインストールします。
apt-get update コマンドを実行したときに「The following signatures were invalid: KEYEXPIRED 1544811256」エラーが発生した場合はどうすればよいですか?
症状
Ubuntu を実行している ECS インスタンスで apt-get update コマンドを実行すると、次のメッセージが報告されます。
The following signatures were invalid: KEYEXPIRED 1544811256
原因
使用しているソフトウェアソースの署名が期限切れになっているため、更新エラーが発生します。
ソリューション
次の手順に従って、期限切れのキーを更新します。
Ubuntu インスタンスに接続します。
詳細については、「パスワードまたはキーを使用して Linux インスタンスにログインする」をご参照ください。
次のコマンドを実行して、期限切れのキーを取得します。
sudo apt-key list | grep -A 1 expired

次のコマンドを実行して、期限切れのキーを更新できます。
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys [$Key]
次のコマンドを再度実行して、apt ソースを更新および同期します。
apt-get update
Alibaba Cloud Linux 2 を実行している ECS インスタンスで、docker-ce や epel などのサードパーティの YUM ソースからソフトウェアをインストールできない場合はどうすればよいですか?
症状
次の条件を満たす Alibaba Cloud Linux 2 ECS インスタンスで、CentOS 7 に適合した docker-ce や epel などのサードパーティ YUM ソースから yum install docker-ce コマンドを実行して Docker パッケージをインストールしようとすると失敗し、次のエラーが報告されます。
Loaded plugins: fastestmirror, langpacks, update-motd
Loading mirror speeds from cached hostfile
* epel: mirror.sjtu.edu.cn
https://mirrors.aliyun.com/docker-ce/linux/centos/2.1903/x86_64/stable/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
Downloading packages:
docker-ce-20.10.6-3.el7.x86_64 FAILED
https://mirrors.aliyun.com/docker-ce/linux/centos/2.1903/x86_64/stable/Packages/docker-ce-20.10.6-3.el7.x86_64.rpm: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
docker-ce-rootless-extras-20.1 FAILED
https://mirrors.aliyun.com/docker-ce/linux/centos/2.1903/x86_64/stable/Packages/docker-ce-rootless-extras-20.10.6-3.el7.x86_64.rpm: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
Error downloading packages:
3:docker-ce-20.10.6-3.el7.x86_64: [Errno 256] No more mirrors to try.
docker-ce-rootless-extras-20.10.6-3.el7.x86_64: [Errno 256] No more mirrors to try.
原因
サードパーティの YUM ソースは CentOS 7 ディストリビューションにのみ適合しています。Alibaba Cloud Linux 2 の $releasever の値は CentOS 7 の値とは異なります。これにより、YUM によって解析されたアドレスが無効になり、コンテナーパッケージのダウンロードに失敗します。
説明 YUM が docker-ce パッケージをインストールするとき、まずシステムからバージョン番号 (つまり $releasever の値) を取得します。次に、対応する YUM ソースの `baseurl` アドレス内の $releasever 変数を置き換えます。その後、YUM は新しい `baseurl` アドレスから関連データを取得します。CentOS 7 の $releasever の値は 7 であり、Alibaba Cloud Linux 2 の $releasever の値は 2.1903 であるため、解析された `baseurl` アドレスは正しくありません。その結果、YUM はこのアドレスからデータを取得できません。
解決策
この問題を解決するには、次のいずれかのソリューションを選択してください。
説明 以下の操作では、docker-ce ソースを例として使用します。他の YUM ソースの場合も解決策は同様です。
解決策 1: 手動での変更
Linux インスタンスに接続します。
詳細については、「パスワードまたはキーを使用して Linux インスタンスにログインする」をご参照ください。
次のコマンドを実行して /etc/yum.repos.d/docker-ce.repo 構成ファイルを編集します。
vim /etc/yum.repos.d/docker-ce.repo
i キーを押して編集モードに切り替えます。docker-ce.repo ファイルで、[enabled=1] となっているすべてのソースを見つけます。これらのソースについて、`baseurl` アドレスの $releasever 変数を 7 に変更します。変更後の内容を以下に示します。
変更が完了したら、Esc キーを押し、:wq と入力して Enter キーを押し、構成ファイルを保存して閉じます。その後、ソフトウェアパッケージを再インストールできます。
解決策 2: プラグインのインストール
yum-plugin-releasever-adapter プラグインをインストールして、$releasever の値を 2.1903 から 7 に自動的に変換します。
インスタンスが yum-plugin-releasever-adapter プラグインをサポートしていることを確認します。
yum-plugin-releasever-adapter プラグインの現在のバージョンと、デフォルトでサポートされているサードパーティリポジトリを次の表に示します。
プラグインバージョン | デフォルトでサポートされるサードパーティリポジトリ | プラグインの制限 |
1.0-1.3 | docker-ce.repo, epel.repo | このプラグインを使用するには、次の条件を満たす必要があります。 オペレーティングシステムは Alibaba Cloud Linux 2 である必要があります。 次のコマンドを実行して、plus リポジトリがシステムに存在することを確認します。 cat /etc/yum.repos.d/AliYun.repo |grep -A3 plus
次のような応答は、plus リポジトリが存在することを示します。
|
Linux インスタンスに接続します。
詳細については、「パスワードまたはキーを使用して Linux インスタンスにログインする」をご参照ください。
次のコマンドを実行して yum-plugin-releasever-adapter プラグインをインストールします。このプラグインは、デフォルトで docker-ce および epel サードパーティ YUM ソースの $releasever 値を自動的に変換します。
yum install yum-plugin-releasever-adapter --disablerepo=* --enablerepo=plus
他の YUM ソースを変換する必要がない場合は、プラグインのインストール後にソフトウェアを直接インストールできます。他の YUM ソースを変換する必要がある場合は、次のように構成します:
次のコマンドを実行して、指定されたディレクトリに移動します。
cd /etc/yum/pluginconf.d/
次のコマンドを実行して releasever-adapter.conf 構成ファイルを編集します。他の YUM ソースを追加するには、YUM ソースの .repo ファイル名を [includes] フィールドの後ろにカンマで区切って追加します。
vim releasever-adapter.conf
システムに次のようなメッセージが表示されます。
[main]
enabled=1
hostfilepath=timedhosts.txt
[releasevermapping]
release_dict={'2.1903':'7', '3':'8'}
[reposlist]
includes=docker-ce.repo, epel.repo
説明 ファイル内のパラメーターは次のように説明されます:
: これはプラグインのメインコントロールセクションです。プラグインを有効または無効にします。[enabled=1] はプラグインを有効にし、[enabled=0] は無効にします。
[releasevermapping]: これは処理される $releasever のマッピング関係です。2.1903 は 7 にマッピングされ、3 は 8 にマッピングされます。
[repolist]: これは変更されるソースのリストです。他のソースを追加するには、`include` フィールドの後ろに .repo ファイルの名前をカンマで区切って追加します。
.repo ファイルには複数の使用可能なソースを含めることができます。各ソースには、他と区別するための一意の名前があります。システムに重複する名前は存在できません。たとえば、docker-ce.repo には [docker-ce-stable] や [docker-ce-stable-debuginfo] などのソースが含まれます。
releasever-adapter.conf 構成ファイルに追加するソースファイル名が、そのファイル内のソース名のプレフィックスであることを確認してください。たとえば、docker-ce.repo ソースファイル内のソース名 docker-ce-stable と docker-ce-stable-debuginfo は、どちらもプレフィックスとして docker-ce を持ちます。
構成ファイルを保存します。次のコマンドを実行して、docker-ce および epel サードパーティ YUM ソースからソフトウェアパッケージをインストールします。
yum install docker-ce
Alibaba Cloud Linux 3 を実行している ECS インスタンスで、docker-ce や epel などのサードパーティ DNF (YUM) ソースからソフトウェアをインストールできない場合はどうすればよいですか?
症状
次の条件を満たす Alibaba Cloud Linux 3 ECS インスタンスで、dnf install docker-ce コマンドを実行してコンテナーパッケージをインストールしようとすると失敗します。次のエラーが報告されます。
システムに次のようなエラーメッセージが表示されます。
Docker CE Stable - x86_64
Failed to download metadata for repo 'docker-ce-stable'
Error: Failed to download metadata for repo 'docker-ce-stable'
原因
サードパーティの DNF ソースは CentOS 8 ディストリビューションにのみ適合しています。Alibaba Cloud Linux 3 の $releasever 変数の値は CentOS 8 の値とは異なります。これにより、DNF によって解析されたアドレスが無効になり、RPM パッケージのダウンロードに失敗します。
説明 DNF が docker-ce をインストールする際、まずシステムからバージョン番号、つまり $releasever の値を取得します。次に、対応するソースの `baseurl` 内の $releasever 変数を置き換えます。その後、DNF は新しい `baseurl` から関連データを取得します。`CentOS 8` の $releasever の値は 8 であり、`Alibaba Cloud Linux 3` の $releasever の値は 3 であるため、解析された `baseurl` は期待されるアドレスではありません。DNF はこの不正なアドレスからパッケージをインストールできません。
解決策
この問題を解決するには、次のいずれかのソリューションを選択してください。
説明 このトピックでは、docker-ce ソースを例として使用します。他の DNF ソースを使用している場合も解決策は同様です。
解決策 1: 手動での変更
Linux インスタンスに接続します。
詳細については、「パスワードまたはキーを使用して Linux インスタンスにログインする」をご参照ください。
次のコマンドを実行して /etc/yum.repos.d/docker-ce.repo 構成ファイルを開きます。
vim /etc/yum.repos.d/docker-ce.repo
i キーを押して編集モードに入ります。docker-ce.repo ファイルで、[enabled=1] となっているすべてのソースを見つけます。これらのソースについて、baseurl の $releasever 変数を 8 に置き換えます。

Esc キーを押し、:wq と入力して Enter キーを押し、構成ファイルを保存して閉じます。その後、再インストールします。
解決策 2: プラグインのインストール
dnf-plugin-releasever-adapter プラグインをインストールして、$releasever 変数を 3 から 8 に自動的に変換します。
インスタンスが dnf-plugin-releasever-adapter プラグインをサポートしていることを確認します。
dnf-plugin-releasever-adapter プラグインの現在のバージョンと、デフォルトでサポートされているサードパーティリポジトリを次の表に示します。
プラグインのバージョン | デフォルトでサポートされているサードパーティリポジトリ | プラグインの制限 |
新しいバージョン: 1.0-2 旧バージョン: 1.0-1.3
説明 プラグインの新旧バージョンには互換性がありません。新しいバージョンの構成ファイル名は releasever_adapter.conf で、古いバージョンは releasever-adapter.conf です。バージョンをアップグレードすると、元の構成ファイルが削除されます。したがって、アップグレード後、docker-ce および epel 以外のサードパーティソースをサポートするには、構成ファイルの [include] フィールドを再度変更する必要があります。その他の設定は変更されません。 | docker-ce.repo, epel.repo | このプラグインを使用するには、次の条件を満たす必要があります。 オペレーティングシステムは Alibaba Cloud Linux 3 である必要があります。 次のコマンドを実行して、alinux3-plus リポジトリがシステムに存在することを確認します。 cat /etc/yum.repos.d/AliYun.repo |grep -A3 alinux3-plus
次のような応答は、alinux3-plus リポジトリが存在することを示します。 
|
Linux インスタンスに接続します。
詳細については、「パスワードまたはキーを使用して Linux インスタンスにログインする」をご参照ください。
次のコマンドを実行して dnf-plugin-releasever-adapter プラグインをインストールします。
説明 現在、このプラグインはデフォルトで docker-ce および epel ソースの $releasever 変数値を自動的に変換します。
dnf install dnf-plugin-releasever-adapter --repo alinux3-plus
他の DNF ソースを変換する必要がない場合は、プラグインのインストール後にソフトウェアを直接インストールできます。他の DNF ソースを変換する必要がある場合は、次のように構成します:
次のコマンドを実行して /etc/yum/pluginconf.d/ ディレクトリに移動します。
cd /etc/yum/pluginconf.d/
次のコマンドを実行して releasever_adapter.conf 構成ファイルを編集します。
vim releasever_adapter.conf
i を押して編集モードに切り替えます。他の DNF ソースを追加するには、DNF ソースの .repo ファイル名を [include] フィールドの後ろにカンマで区切って追加します。
説明 DNF ソースの .repo ファイルは通常 /etc/yum.repos.d/ ディレクトリにあります。
システムに次のようなメッセージが表示されます。
[main]
enabled=1
[releasevermapping]
2.1903 = 7
3 = 8
[reposlist]
include=docker-ce.repo, epel.repo
変更が完了したら、Esc キーを押し、:wq と入力して Enter キーを押し、構成ファイルを保存して閉じます。
次のコマンドを実行して、docker-ce、epel、および追加したソースから docker-ce ソフトウェアをインストールします。
dnf install docker-ce
CentOS 7 を実行している ECS インスタンスで yum コマンドを実行したときに「-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory」エラーが発生した場合はどうすればよいですか?
症状
CentOS 7 を実行している ECS インスタンスで yum コマンドを実行すると、次のエラーメッセージが報告されます。
-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory
原因
Python がアンインストール、名前変更、または移動されたなどの Python の問題により、yum コマンドの実行時にエラーが発生する可能性があります。
説明 yum (Yellowdog Updater, Modified) は、Fedora、Red Hat、SUSE 用のシェル フロントエンド パッケージマネージャーです。
解決策
次の手順に従って、Python の問題を確認して修正します。
Linux インスタンスに接続します。
詳細については、「パスワードまたはキーを使用して Linux インスタンスにログインする」をご参照ください。
次のコマンドを実行して yum パスを確認します。
which yum
システムは次の情報を返します。これは yum パスが /usr/bin/yum であることを示します。
/usr/bin/yum
次のコマンドを実行して yum の内容を確認します。
cat /usr/bin/yum
システムは次の情報を返します。これは使用されている Python バージョンのパスを示します。
#!/usr/bin/python
説明 このトピックでは、/usr/bin/python パスを例として使用します。実際のパスに置き換えてください。
次のコマンドを実行して、前のステップで見つかったパスを確認します。
ls -al /usr/bin/python
システムが次のようなメッセージを返した場合、Python がアンインストール、名前変更、または移動された可能性があります。
ls: cannot access /usr/bin/python: No such file or directory
次のコマンドを実行して、Python 関連ファイルが存在するかどうかを確認します。
rpm -qa | grep python
通常、システムは次のような情報を返します。
python-decorator-3.4.0-3.el7.noarch
libselinux-python-2.5-14.1.el7.x86_64
python-backports-1.0-8.el7.x86_64
python-pyudev-0.15-9.el7.noarch
rpm-python-4.11.3-35.el7.x86_64
python-2.7.5-76.el7.x86_64
.....