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