Как можно удалить PPA?


1221

Я добавил много PPA, используя add-apt-repositoryкоманду. Есть ли простой способ удалить эти PPA? Я зарегистрировался /etc/apt/sources.listна соответствующие строки deb, но их там нет.

Это на серверной системе, поэтому решение командной строки было бы здорово!


11
На панели запуска ( bugs.launchpad.net/software-properties/+bug/446216 ) имеется ошибка, требующая аргумента --remove для команды add-apt-repository. Я отправил запрос на слияние ( code.launchpad.net/~mac9416/software-properties/… ), чтобы реализовать эту функцию, но она еще не была принята. Надеюсь, у вас скоро будет эта возможность.
Майкл Креншоу

Это отличные новости. Меня немного раздражало, что не было команды, делающей отмену добавления; немного как aptitude, который только устанавливает! ppa-purge хорош, но это даже не в официальных репозиториях.
Дэвид Эшфорд

1
Связанный. (В частности, см. Мой ответ о том, как начать ppa-purgeработать с мультархом.)
Элия ​​Каган

1
я могу посоветовать попробовать поискать ненужные, а затем del (rm -rf) один за другим: grep -i WhatYouWantTosearch /etc/apt/sources.list enj,.d/*}
Владимир Ч

2
С помощью графического интерфейса пользователя: sudo synaptic> Конфигурация> Репозитории> PPA> (выберите PPA)> Удалить (возможно, «Удалить», не уверен в правильном переводе, я могу только проверить параметры программы на другом языке).
Fran

Ответы:


1536

Используйте --removeфлаг, подобный тому, как был добавлен PPA:

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

В качестве более безопасной альтернативы вы можете установить ppa-purge:

sudo apt-get install ppa-purge

И затем удалите PPA, понизив версию изящных пакетов, которые он предоставил пакетам, предоставленным официальными репозиториями:

sudo ppa-purge ppa:whatever/ppa

Обратите внимание, что это приведет к удалению пакетов, предоставляемых PPA, но не пакетов официальных репозиториев. Если вы хотите удалить их, вы должны указать это apt:

sudo apt-get purge package_name

Вы также можете удалить PPA, удалив .listфайлы из /etc/apt/sources.list.dкаталога.

Наконец, что не менее важно, вы также можете отключить или удалить PPA из раздела «Источники программного обеспечения» в настройках Ubuntu несколькими щелчками мыши (без терминала).


27
Это удалит PPA из списка репозитория, но если пакет является более новой версией из стандартного репозитория, вам придется вручную понизить версию пакета. ppa-purge (см. другой ответ) сделает это за вас.
Марсель Стимберг

30
Я получаю add-apt-repository: error: no such option: --remove: - /
Рафа

7
так и должно бытьsudo apt-add-repository --remove ppa:repo_name/subdirectory
MountainX

7
Точно так же я получаю add-apt-repository: error: no such option: --removeиadd-apt-repository: error: no such option: -r
virtualxtc

66
Это почти так же логично, как нажатие кнопки «Пуск» для выключения.
Готье

264

Просто запустите apt-add-repository снова с --removeвозможностью удалить PPA, добавленный через командную строку, например:

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

Затем обновите с помощью:

sudo apt-get update

удалит ли это PPA навсегда?
Чираг

1
Да, постоянно. Чтобы использовать его снова, вы должны добавить вручную, как если бы вы делали это в первый раз.
иш

5
Для записи в 10.10 был добавлен флаг --remove / -r. Источник: askubuntu.com/a/18202/41756
Нильс Бом

6
Как указано выше; Я бегу 13.10, и я получаюadd-apt-repository: error: no such option: --remove
virtualxtc

1
@ClainDsilva Это потому, что вы застряли в локальной версии любых пакетов, которые вы, возможно, установили из PPA. Вы всегда должны использовать ppa-purge.
Джон Скотт

172

Кроме того, как ppasхранятся в /etc/apt/sources.list.dвы можете найти тот, который вы хотите удалить, введя:

ls /etc/apt/sources.list.d

Затем, когда вы отметили имя этого оскорбительного ppa (например myppa.list), вы можете ввести:

sudo rm -i /etc/apt/sources.list.d/myppa.list

Будьте осторожны с rm (поэтому я и использовал интерактивный переключатель, чтобы вы могли подтвердить свои действия. Затем запустите sudo apt-get updateпотом.

Этот метод просто удаляет .listфайл ppa ; он не удаляет другие файлы и не решает другие проблемы, вызванные ppa; для этого вы можете воспользоваться ppa-purgeпосле того, как вернете свою способность к обновлению (я знаю, что вы упомянули об этом в своем вопросе, но я добавляю этот пункт для будущих читателей): для получения дополнительной информации см. здесьppa-purge .

Также примите во внимание, что если вы ранее добавили ключ репо в качестве доверенного, вы должны удалить его :

# list the trusted keys
sudo apt-key list
# remove the key
sudo apt-key del KEY_ID

7
Это сработало для меня, а принятый ответ - нет.
philshem

Я удаляю полное содержимое папки /etc/apt/sources.list.d/, и у меня по-прежнему есть 4 неправильных записи: / почему я начал это терпеть неудачу сейчас ...
erm3nda

Обратите внимание, что при перечислении ключей они будут иметь такие строки, как pub 2048R/5044912E 2010-02-11. В этом случае, чтобы удалить этот ключ, KEY_IDесть 5044912E. См. Askubuntu.com/a/107189/108037 . Я упоминаю об этом, потому что apt-key delмолча не удалось, OKкогда передается 2048R/5044912Eв качестве идентификатора ключа.
Jamesc

125

Вы можете использовать

sudo ppa-purge ppa:repository-name/subdirectory

команда в терминале.

Сначала вам нужно установить, ppa-purgeчтобы использовать эту команду. Для этого используйте sudo apt-get install ppa-purgeили нажмите эту кнопку:

Установить через центр программного обеспечения

Узнайте больше об этом здесь .


5
Это не будет работать для удаленных репозиториев, в этом случае произойдет сбой с предупреждением: «Не удалось найти список пакетов для PPA: подкаталог repository-name».
Лекенштейн

Это не доступно для Ubuntu 11.10, или я не прав?
математика

9
Эй, это не сработало для меня, но я люблю синтаксис так сильно, что все равно голосую за него.
Conrad.Dean

@DaveJarvis по умолчанию не установлен ни в одной системе = /. Я отредактировал ответ, чтобы включить информацию о том, как его установить.
Алаа Али

Это не сработало для меня, по-видимому, это не отключило ppa, а затем фактически не понизило пакеты. Тем не менее, он распечатывает список пакетов, таких как имя-пакета / дистрибутив. Если вы вручную отключите ppa, а затем запустите apt-get install <полный-список-этих-пакетов>, apt-get автоматически снизит рейтинг для вас, основываясь на выводе, я думаю, что это то же самое, что и он. внутренне.
Бердир

44

Ответы на этот вопрос помогут вам.

Вы можете управлять PPA в System > Administration > Software Sourcesили путем удаления файлов в /etc/apt/sources.list.d/.

Вы также можете использовать пакет под названием ppa-purge .

И, как я прокомментировал вопрос, с которым я связан выше,

На Launchpad есть ошибка, запрашивающая аргумент --remove для команды add-apt-repository. Я отправил запрос на слияние для реализации функции, но он еще не был принят. Надеюсь, у вас скоро будет эта возможность.


2
Я нашел это в Ubuntu Software Center > Edit > Software Sources.
Джош М.

Ссылка "ppa-purge" не работает. Это дает ошибку 404.
Кристиана Николае

3
К вашему сведению в Ubuntu 16.04 способ найти список PPASystem Settings -> System -> Software & Updates -> Other Software
knocte

33

Некоторые люди могут предпочесть добавлять и удалять репозитории через графический интерфейс. Начиная с Ubuntu 10.10, это требует дополнительной работы. Объяснение доступно в вики . Чтобы попытаться получить все ответы на этот вопрос в одном месте, я постараюсь обобщить важные детали здесь. Обязательно проверьте вики (особенно после выхода новой версии Ubuntu), чтобы убедиться, что этот процесс все еще действует.

Сначала вы захотите снова включить «Источники программного обеспечения» в меню «Система» -> «Администрирование». Щелкните правой кнопкой мыши меню Приложения / Места / Система и выберите «Редактировать меню».

Нажмите «Редактировать меню»

Откроется окно, прокрутите вниз и нажмите «Администрирование». Установите флажок «Источники программного обеспечения» и нажмите кнопку «Закрыть».

Установите флажок рядом с «Источники программного обеспечения»

Перейдите в System-> Administration и вы должны увидеть «Software Sources» в меню.

«Источники программного обеспечения» теперь в меню

В открывшемся окне нажмите на вкладку «Другое программное обеспечение» вверху.

Вкладка «Другое программное обеспечение»

Вы должны увидеть все репозитории, которые вы добавили (включая PPA, добавленные через add-apt-repository). Вы можете временно отключить хранилище, сняв флажок рядом с ним. Чтобы окончательно удалить хранилище, выделите его и нажмите кнопку «Удалить». Когда вы закончите, нажмите кнопку «Закрыть».

Как отметил ранее Марсель Стимберг:

Это удалит PPA из списка репозитория, но если пакет является более новой версией из стандартного репозитория, вам придется вручную понизить версию пакета. ppa-purge (см. другой ответ) сделает это за вас.

Надеюсь, это поможет.


Вам не нужно редактировать меню, в меню «Центр программного обеспечения» есть запись «Источники программного обеспечения».
Хорхе Кастро

Благодарю. Похоже, что проблема с gksu с моей стороны привела к тому, что я не был представлен Software Sources, когда я попробовал это изначально. Я решу эту проблему локально и обновлю ответ.
nhandler

Более простой и надежный
Матеус Абреу

25

ppa-purgeтвой друг. Он автоматически удаляет все, что вы установили через ppa, а затем удаляет ppa.

Установите ppa-purge через:

sudo apt-get install ppa-purge

и использовать это так:

sudo ppa-purge ppa-url

Виола.


2
ОП уже пробовал ppa-purge.
Джокердино

20

Поскольку Ubuntu Maverick (10.10) add-apt-repositoryпринимает параметр -rили, --removeкоторый удаляет PPA так же, как вы его установили. :)

Так:

Установка: sudo apt-add-repository ppa:user/repository

Удаление: sudo apt-add-repository -r ppa:user/repository


2
Спасибо! Я использовал sudo apt-add-repository -r ppa: user / repository, чтобы удалить упрямый ppa из New Linux Counter Project. Я перепробовал много командных строк и предложений, но ни одна из них не помогла, только ваша сработала! Спасибо! Одна информация: он работает в 12.04 LTS тоже, не только в Maverick.
Кристиана Николае

Пожалуйста, @CristianaNicolae! Я обновил свой ответ на основе вашего совета, спасибо! :)
Пауло Фрейтас

Я работаю 13.10, и я получаю add-apt-repository: ошибка: нет такой опции: -r
virtualxtc

1
@virtualxtc Я в настоящее время использую Ubuntu 14.04, и у него все еще есть опции -rи --removeпо apt-add-repositoryкоманде. Таким образом, я думаю, что вы используете модифицированную или устаревшую версию apt-add-repository. Эта утилита предоставляется python-software-propertiesпакетом, возможно, вы используете ее заблокированную версию. Вы можете проверить его исходный код здесь: bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty/… Эти опции удаления были введены в ревизии 47 в конце 2010 года. Таким образом, они существуют с 10.10 и никогда не изменяются, как вы можете смотри в источнике.
Пауло Фрейтас

Есть пара других пользователей, сообщающих о той же самой проблеме, таким образом, эта блокировка должна быть довольно распространенной вещью. Еще более странным является то, что параметры флага -r --remove перечислены в файлах man / help, но все равно выдают указанную ошибку. Я посмотрю на свои свойства python-software-свойства в следующий раз, когда буду в Ubuntu.
virtualxtc

18

Запустите Ubuntu Software Center и в меню выберите «Software Sources» - там вы можете добавлять / редактировать / удалять репозитории.


13

Запустите эти команды:

sudo add-apt-repository --remove ppa:kernel-ppa/ppa 
sudo apt-get update

Как указано выше; Я бегу 13.10, и я получаюadd-apt-repository: error: no such option: --remove
virtualxtc

10

В зависимости от того, был ли add-apt-repository запущен с полной строкой sources.list или ppa, он добавляет строку в /etc/apt/sources.list или новый файл в каталоге /etc/apt/sources.list.d/ , Если это ppa, то он импортирует ключ GPA ppa в связку ключей apt.

Чтобы отменить действия, выполняемые add-apt-repository, вы можете вручную удалить строку apt или использовать инструмент, подобный «Источники программного обеспечения», а затем удалить ключ GPG, используя apt-key, например:

«sudo apt-key list» для определения идентификатора репозитория, который вы хотите удалить, и затем
«sudo apt-key del id», где он выглядит как 7FAC5991. Идентификатор является частью после символа "/".


9

Если вы говорите о реальных приложениях, установленных через PPA, они будут перечислены, как и любое другое приложение, и вы удалите его таким же образом. Сами PPA (репозитории) будут перечислены на вкладке «Другое программное обеспечение» меню «Настройки-> Репозитории». Они могут быть удалены, как и любой другой источник.

Снимок экрана экрана Synaptic Repository / PPA


9

С помощью add-apt-repository

Примечание. Это решение не удаляет / не обновляет пакеты, связанные с хранилищем.

Команда add-apt-repositoryимеет возможность удалить репозиторий, который указывается с помощью -r. Вам просто нужно знать PPA, который вы хотите отправить на своем пути. Используйте команду ниже:

sudo add-apt-repository -r ppa:REPOSITORY/HERE

... изменив "PPA / HERE" на PPA, который вы удаляете.

Источник: КАК ИСПОЛЬЗОВАТЬ LAUNCHPAD PPA (ДОБАВИТЬ, УДАЛИТЬ, ОЧИСТИТЬ, ОТКЛЮЧИТЬ) В UBUNTU


С помощью ppa-purge

Примечание. Это решение очистит PPA и снизит все пакеты с него.

Для установки используйте:

sudo apt install ppa-purge

Для использования ppa-purgeвы должны сделать:

sudo ppa-purge ppa:REPOSITORY/HERE

... изменив "Хранилище / ЗДЕСЬ" на репозиторий, который вы удаляете.

Источник: УДАЛИТЕ ИЛИ ОЧИСТИТЕ РЕПОЗИТОРИИ PPA С КОМАНДНОЙ ЛИНИИ [БЫСТРЫЙ СОВЕТ UBUNTU]


Использование программного обеспечения и обновлений

Примечание. Это решение не удаляет / не обновляет пакеты, связанные с хранилищем.

Ищите «Программное обеспечение и обновления» и запускайте его, затем выберите вкладку -> «Другое программное обеспечение». Чтобы удалить хранилище, снимите флажок, затем нажмите «Закрыть» и, наконец, «Обновить».

введите описание изображения здесь


7

Вы можете использовать y-ppa-manager

Монтаж :

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install y-ppa-manager

Используйте:

Откройте Y PPA Manager и выберите Manage PPAs

введите описание изображения здесь

Выберите PPA, который вы хотите удалить, и нажмите Removeкнопку

введите описание изображения здесь


Действительно удобный инструмент.
Старейшина Компьютерщик

5

Вы можете управлять своими репозиториями в System > Administration > Software Sources

Вы также можете удалить их /etc/apt/sources.list.d/там, где найдете <repo>-ppa-<distro>.listфайл. Вы можете удалить этот файл или просто закомментировать строку деба.


5

Там есть команда add-apt-repository -r.

Но удаление файла и повторный запуск sudo apt-get updateтоже хорошо.


1
Я не знаю, как это должно себя вести, но после команды return и обновления apt-get соответствующие файлы все еще были в /etc/apt/list.sources.d. Я удалил их вручную и перезапустил обновление, я не знаю, было ли это необходимо.
Иван

1
Я бегу 13.10, и я получаюadd-apt-repository: error: no such option: -r
virtualxtc

1
Это интересно; страница надстройку склонная-хранилище руководства по 13.10 утверждает , что существует такой вариант. На самом деле это появилось в 12.04.
Мариус Гедминас

5

Помимо уже упомянутого решения: если у вас по-прежнему установлено программное обеспечение из этого репозитория, лучше всего вернуть его к исходной версии, поставляемой с Ubuntu: та, что из ppa, больше не будет получать (безопасность и другие) обновления. Существует инструмент, который сделает это: ppa-purge http://packages.ubuntu.com/maverick/ppa-purge


1
ppa-purge - это хороший материал, но он также мощный.
Райан Томпсон

1
Ссылка открывает страницу с ошибкой.
Кристиана Николае

5

По-разному. Если вы установили новое приложение из ppa, вы можете удалить его как обычно. Однако, если вы включили ppa для получения более новой версии программы, которую вы уже установили (Firefox 4, новые драйверы Xorg и т. Д.), То вам нужно использовать программу под названием ppa-purge.

Ppa-purge доступен в репозиториях для Maverick и новее. Портировать доступен для Lucid пользователей. Просто установите его и запустите

sudo ppa-purge ppa:repository-name/directory

Приведенная выше команда отключит ppa из ваших источников программного обеспечения, а затем переустановит официальную версию обновленного приложения из репозитория Ubuntu.


5

Не в Linux Mint нет --removeили -rпереключиться на add-apt-repository. Если вы хотите удалить репозиторий, вам придется сделать это вручную. Это не трудно:

  1. Список всех установленных репозиториев.

    ls /etc/apt/sources.list.d
    

    Это списки, например:

    getdeb.list  natecarlson-maven3-trusty.list  official-package-repositories.list
    
  2. Найдите имя репозитория, который вы хотите удалить.
    В моем случае я хочу удалить natecarlson-maven3-trusty.list.

  3. Удалить хранилище.

    sudo rm -i /etc/apt/sources.list.d/natecarlson-maven3-trusty.list
    
  4. Перечислите все ключи GPG.

    apt-key list
    

    Это списки, например:

    /etc/apt/trusted.gpg
    --------------------
    pub   1024D/437D05B5 2004-09-12
    uid                  Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>
    sub   2048g/79164387 2004-09-12
    
    pub   1024D/FBB75451 2004-12-30
    uid                  Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>
    
    pub   4096R/46D7E7CF 2009-05-15
    uid                  GetDeb Archive Automatic Signing Key <archive@getdeb.net>
    
    pub   1024R/3DD9F856 2011-04-15
    uid                  Launchpad PPA for Nate Carlson
    
  5. Найдите идентификатор ключа, который вы хотите удалить. Идентификатор ключа является частью после /.
    В моем случае я хочу удалить ключ Нейта Карлсона, поэтому идентификатор есть 3DD9F856.

  6. Удалить ключ.

    sudo apt-key del 3DD9F856
    
  7. Обновите списки пакетов.

    sudo apt-get update
    

Готово!


Пользователи Mint также могут использовать встроенный инструмент Software Sources , который был наиболее удобным решением в моем случае.
user2428118

5

Самый простой способ удалить все ваши PPA'а это:

cd /etc/apt/sources.list.d && sudo rm -i *list*

Сначала вы попадете в каталог, в котором содержатся, sources.list.dа затем rm (удалите) практически все файлы со списком слов в названии.


4

OMG! Ubuntu! упомянул, что эта функция была добавлена ​​в PPA ' Tweak '.

Предположительно, когда он окажется во вселенной, вы сможете использовать его, чтобы удалить себя :)


4

Вы можете использовать Ubuntu-Tweak , что позволяет очень легко редактировать ppa. Вы можете удалить ppa вручную или когда Ubuntu-Tweak узнает об этом, просто нажмите кнопку.


4

Вы можете попробовать эту команду ниже, и она очень хорошо удаляет ядро ​​Linux 3.5 (ppa: xorg-edgers / ppa).

sudo apt-get install ppa-purge
sudo ppa-purge ppa:<XXX>/<YYY>

3

add-apt-repository теперь принимает аргумент --remove.

https://bugs.edge.launchpad.net/ubuntu/+bug/446216

Я также предложил добавить команду rm-apt-repository:

https://code.edge.launchpad.net/~bryceharrington/software-properties/rm-apt-repository/+merge/25988

1
Начиная с Ubuntu 13.10 они, похоже, удалили эту функцию.
virtualxtc

1

Создайте эту функцию (добавьте ее туда, где вы храните свои функции), а затем запустите с соответствующим именем ppa:

rmppa()
{
    sudo -- sh -c 'rm /etc/apt/sources.list.d/"$1".list ; apt-get update'
}

rmppa snagglepuss

Добавьте проверку ошибок (например, несуществующий параметр), если хотите ...


0

Все эти ответы хороши, но для меня самый простой способ по-прежнему удалить их напрямую с помощью rm -rf.

Представьте, что apt update выдает следующую ошибку:

W: Failed to fetch http://ppa.launchpad.net/ondrej/php5-5.6/ubuntu/dists/trusty/main/binary-amd64/Packages  403  Forbidden

Затем вы можете исправить это, выполнив что-то вроде:

sudo rm -rf /etc/apt/sources.list.d/andrej*

Почти идентичный ответу РонДжона, но я заметил, что ты не чувствуешь необходимости бегать sudo apt updateпотом?
WinEunuuchs2Unix

Это да. В моем примере это прямо не сказано, но если в вашем обновлении apt не отображается указанная выше ошибка, удаление исходных файлов заставит его снова работать. Так что не было необходимости указывать это в этом контексте;) Я все еще путаюсь. Я буду редактировать, спасибо за ваш комментарий!
Гийом Ле Мьер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.