Удалить PPA: «add-apt-repository --remove» против «rm /etc/apt/sources.list.d/???.list»

14

Согласно Как можно удалить PPA? Есть в основном 3 способа избавиться от PPA:

  • Используйте add-apt-repositoryкоманду:

    sudo add-apt-repository --remove ppa:???/???
    
  • Удалите .listфайл вручную :

    sudo rm /etc/apt/sources.list.d/????.list
    
  • Используйте дополнительные инструменты, например, например ppa-purge... (не тема этого вопроса)

Мне любопытно, в чем разница между первым и вторым вариантом, т. Е. Есть ли что-то большее add-apt-repository --remove, чем просто удаление .listфайла?

Одним из примеров, который я мог бы придумать, были бы ключи GPG, которые были установлены вместе с PPA. Будете add-apt-repositoryобрабатывать и удалять их в отличие от простого rm-ing .listфайла?

Обратите внимание, что ни удаление ключей GPG, ни использование не ppa-purgeявляется темой этого вопроса!

Byte Commander
источник
Извините, не видел вашего третьего пункта. Это может вам помочь: разница между "ppa-purge" и "add-apt-repository -r"? , add-apt-repositoryследует также удалить их.
Рон
Нет, это другой вопрос.
Pilot6
Вы можете удалить ключи из/etc/apt/trusted.gpg.d/
Pilot6
@ Pilot6 Нет дубликатов, потому что мой главный вопрос - разница между add-apt-repositoryудалением .listфайла и его удалением вручную . Ключи GPG были просто примером, который мог прийти мне на ум, в чем может быть разница. Редактируем сейчас, чтобы сделать это более понятным ... - Но пусть ссылка останется, так как она, по крайней мере, связана.
Byte Commander

Ответы:

25

Обе команды удаляют PPA, но есть одно основное отличие:

sudo add-apt-repository --remove ppa:???/???

Эта команда удалит только содержимое .listфайла. Он не удалит сам файл.

sudo rm /etc/apt/sources.list.d/????.list

Как только вы запустите эту команду, она полностью удалит файл PPA.

Однако, на мой взгляд, лучше использовать:

sudo rm /etc/apt/sources.list.d/????.list*

Я обычно использую последнюю команду с завершающей звездочкой ( *), потому что всякий раз, когда мы добавляем какой-либо репозиторий, он создает два файла /etc/apt/sources.list.d/. Первый - это .listфайл, а второй - его резервная копия с расширением .list.save.

тот же случай с командой sudo apt-key del ????и sudo rm /etc/apt/trusted.gpg.d/file.gpg. всякий раз, когда мы добавляем ключи два файла, созданные в /etc/apt/trusted.gpg.d/ file.gpgи file.gpg~при запуске команды

sudo apt-key del ????

один файл file.gpgбудет удален, а второй останется без изменений file.gpg~. Однако, на мой взгляд, лучше использовать:

sudo rm /etc/apt/trusted.gpg.d/file.gpg*
pl_rock
источник
Почему вы хотите удалить безвредные резервные копии?
Муру
@ Муру! это мое мнение, я обычно делаю это, когда я больше не хочу использовать этот репозиторий. это зависит от требований, если кто-то думает, что может быть полезно сохранить в системе, то он может сохранить это. Давайте предположим, что если я добавил PPA 30 репо, то там будет создан 60 файл. в следующий раз, если я добавлю или удалю репо, мы должны приложить больше усилий для поиска и изменения любого файла. или вы думаете, что это может быть использовано в будущем, тогда вы также можете комментировать записи репо внутри файла или вы можете скопировать содержимое этого файла куда-нибудь. в любом случае, это зависит от требований.
pl_rock
Шутки в сторону? Oo Вам нужно время и усилия, чтобы просмотреть 60 файлов? Оо
Муру
нет времени, я забыл изменить имя этого файла на запоминающееся имя, затем я потратил время, какой файл имеет какую запись. как имя файла, например, webupd8.
pl_rock
также в версиях 13, 14 и может быть более ранней версией Ubuntu есть ошибка, которая создает проблему, если ваш ключ gpg больше 40, то вам нужно удалить какой-то ключ для добавления нового. bugs.launchpad.net/ubuntu/+source/apt/+bug/1263540
pl_rock
1

Нет, apt-add-repository не будет обрабатывать ключи GPG, поэтому, если вы также хотите удалить ключи, используйте rm /etc/apt/sources.list.d/???.list, а затем ключи GPG из / и т.д. / кв / trusted.gpg.d /

Дэвид
источник
Ключи не хранятся в этих списках.
Pilot6
Я знаю это. @ Pilot6
Дэвид
А зачем ты это публикуешь?
Pilot6