Debian ベースのシステムでリポジトリを一時的に無効にして永続的に無効にする方法は?

Debian ベースのシステムでリポジトリを一時的に無効にして永続的に無効にする方法は?

Red Hatベースのシステムでこれを行う方法を知っています。

 yum –disablerepo=*  --enablerepo=epel update

上記のコマンドは一時的にすべてのリポジトリを無効にし、epelを有効にし、epelパッケージのみを更新します。

 yum update–disablerepo=remi-safe,updates

アクティブな他のすべてのリポジトリの更新中に、2つのリポジトリも無効になります。

たとえば、Ubuntuで上記と同じものは何ですか?

私は私たちができることを知っています/etc/apt/sources.list.d

ただし、これによりストレージは永久に無効になります。そうですか?

apt-get updateたとえば、1つのリポジトリを一時的に無効にした状態で実行する方法はありますか?

答え1

リポジトリを管理する最も簡単な方法は、リポジトリをに配置することです/etc/apt/sources.list.d/。この方法では、リポジトリを無効にするのは/etc/apt/sources.list.d/repo.listファイルをからに移動するのと同じくらい簡単で、/etc/apt/sources.list.d/repo.list.bakリポジトリを再度アクティブにするのは他の方法と同じくらい簡単です。ファイルを移動し、更新/インストール/何でも実行し、ファイルを再度移動してリポジトリを一時的に無効にするスクリプトを作成することもできます。

答え2

元の質問は、リポジトリが無効な状態でaptが一度だけ実行されるように実行する方法でした。実際にこれを行う簡単な方法はありません。技術的には、-oおよび/または-cオプションを使用してaptコマンドに異なる構成を提供できますが、これは貴重なものよりも多くの労力を費やす可能性があります。

add-apt-repositoryコマンドを使用して、リポジトリを簡単に追加および削除できます。これが元の問題について私が見ることができる最も実用的な解決策です。

Limit、Universe、Multiverseなどのデプロイメントコンポーネントの1つについて話している場合は、次のキーワードを使用できます。

sudo add-apt-repository --remove multiverse
sudo apt update
sudo apt install whatever
sudo add-apt-repository multiverse

それ以外の場合は、完全なdeb行を使用する必要があります。

repo="deb http://some.repo.com/foo bionic main"
sudo add-apt-repository --remove "$repo"
sudo apt update
sudo apt install whatever
sudo add-apt-repository "$repo"

--removesource.list.dのリポジトリとすべての.listファイルはsource.listから削除されます。ただし、リポジトリがフォーマットされていない限り、それを再度追加すると、ppa:user/somereposource.list.dファイルではなくsource.listに保存されることに注意してください。

関連情報