ウェブサイト検索

CentOS の特定のリポジトリからインストールされたパッケージを削除する


これは「特定のリポジトリからパッケージをインストールする方法」というタイトルの前回の記事の続編です。タイトルにあるように、このガイドでは、Linux オペレーティング システムのコマンド ラインから特定のリポジトリからインストールされているパッケージを削除する方法について説明します。 GUI モードでは、マウスを数回クリックするだけでこれを実行できます。私は主に CLI モードを好むため、CLI モードのみの手順を説明しました。読む。

インストールされているパッケージを特定のリポジトリから削除する

RHEL、CentOS、Scientific Linux の場合:

Red Hat やそのクローン (CentOS や Scientific Linux など) などの YUM ベースのシステムでは、root ユーザーとしてコマンドを使用して、インストールされているパッケージを特定のリポジトリから削除できます。

yum remove $(yum list installed | grep epel | awk '{ print $1 }')

サンプル出力:

Loaded plugins: fastestmirror
Resolving Dependencies
--> Running transaction check
---> Package dnf.noarch 0:0.6.4-2.el7 will be erased
---> Package dnf-conf.noarch 0:0.6.4-2.el7 will be erased
---> Package dnf-plugins-core.noarch 0:0.1.5-3.el7 will be erased
---> Package epel-release.noarch 0:7-9 will be erased
---> Package libcomps.x86_64 0:0.1.6-13.el7 will be erased
---> Package python-dnf.noarch 0:0.6.4-2.el7 will be erased
---> Package python-libcomps.x86_64 0:0.1.6-13.el7 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================
 Package Arch Version Repository Size
==========================================================================================
Removing:
 dnf noarch 0.6.4-2.el7 @epel 652 k
 dnf-conf noarch 0.6.4-2.el7 @epel 29 k
 dnf-plugins-core noarch 0.1.5-3.el7 @epel 167 k
 epel-release noarch 7-9 @epel 24 k
 libcomps x86_64 0.1.6-13.el7 @epel 202 k
 python-dnf noarch 0.6.4-2.el7 @epel 1.8 M
 python-libcomps x86_64 0.1.6-13.el7 @epel 140 k

Transaction Summary
==========================================================================================
Remove 7 Packages

Installed size: 3.0 M
Is this ok [y/N]:

上記のコマンドは、インストールされているすべてのパッケージをすべての依存関係とともに EPEL リポジトリから削除します。また、EPEL リポジトリ自体も削除されます。

依存関係ではなくパッケージのみを削除する場合は、root ユーザーとして次のコマンドを入力します。

rpm -e --nodeps `yum list installed | grep epel | awk '{ print $1 }'`

上記のコマンドでは、パッケージを削除する際に確認を求められないことに注意してください。

Fedora の場合:

Fedora では、root ユーザーとして次のコマンドを使用して、特定のリポジトリからすべてのパッケージをアンインストールできます。

dnf repository-packages <repo-id> remove

例 :

dnf repository-packages zyga-snapcore remove

サンプル出力:

Last metadata expiration check: 0:05:43 ago on Fri Jun 23 15:37:20 2017.
Dependencies resolved.
==========================================================================================
 Package Arch Version Repository Size
==========================================================================================
Removing:
 lz4 i686 r131-1.fc23 @fedora 322 k
 snap-confine i686 1.0.40-1.fc23 @updates 80 k
 snapd i686 2.14-1.fc23 @zyga-snapcore 17 M
 squashfs-tools i686 4.3-11.fc23 @fedora 405 k

Transaction Summary
==========================================================================================
Remove 4 Packages

Installed size: 18 M
Is this ok [y/N]:

ここで、zyga-snapcore は、zyga が所有するスナップコアの Copr リポジトリのリポジトリ ID です。

上記のコマンドは、他のリポジトリからインストールされた依存関係も削除します。依存関係ではなくパッケージのみを削除したい場合は、次のコマンドを実行します。

sudo rpm -e --nodeps `dnf list installed | grep zyga-snapcore | awk '{ print $1 }'`

リポジトリ ID を確認するには、次を実行します。

dnf repolist

Fedora システムからの出力例:

Last metadata expiration check: 0:07:39 ago on Fri Jun 23 15:37:20 2017.
repo id repo name status
*fedora Fedora 23 - i386 38,811
*updates Fedora 23 - i386 - Updates 18,174
zyga-snapcore Copr repo for snapcore owned by zyga 11

さまざまな Linux ディストリビューションのリポジトリ ID を確認するには、次のガイドをお読みください。

  • Linux のコマンドラインからインストールされているリポジトリのリストを検索する方法

そして、それだけです。これがお役に立てば幸いです。

関連記事