これは、「特定のリポジトリからパッケージをインストールする方法」というタイトルの前回の記事の続編です。 。タイトルにあるように、このガイドでは、Linuxオペレーティングシステムのコマンドラインから特定のリポジトリからインストールされたパッケージを削除する方法について説明します。 GUIモードでは、マウスを数回クリックするだけでこれを行うことができます。私は主にCLIモードを好むので、CLIモードについてのみ説明しました。続きを読む。
特定のリポジトリからインストール済みパッケージを削除する
RHEL、CentOS、Scientific Linuxの場合:
Red HatなどのYUMベースのシステム、およびCentOSやScientific Linuxなどのそのクローンでは、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が所有するsnapcoreのCoprリポジトリのリポジトリです。
上記のコマンドは、他のリポジトリからインストールされた依存関係も削除します。依存関係ではなくパッケージのみを削除する場合は、次を実行します。
$ 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のコマンドラインからインストールされているリポジトリのリストを見つける方法
そして、それがすべてです。これがお役に立てば幸いです。