Як можна видалити PPA?


1220

Я додав багато PPA за допомогою add-apt-repositoryкоманди. Чи є простий спосіб видалити ці PPA? Я зареєструвався /etc/apt/sources.listна відповідні рядки дебюту, але їх там немає.

Це на серверній системі, тому рішення командного рядка було б чудово!


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

Це чудова новина. Мене це трохи роздратувало, що не було команди скасувати додавання; трохи схожий на здатність, яка встановлюється тільки! ppa-чистка хороша, але це навіть не в офіційних репостах.
Девід Ешфорд

1
Пов'язані. (Зокрема, см ця відповідь мій для отримання ppa-purgeроботи з multarch.)
Eliah Каган

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

2
З графічним інтерфейсом: sudo synaptic> Конфігурація> Репозиторії> PPA> (виберіть PPA)> Видалити (можливо, "Видалити", не впевнений у правильному перекладі, я можу перевірити лише параметри програми на іншій мові).
Фр

Відповіді:


1535

Використовуйте --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, але не ті, які надаються офіційними сховищами. Якщо ви хочете їх видалити, вам слід сказати, що він потрібен:

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 назавжди?
Chirag

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-чистку.
Джон Скотт

172

Крім того, що ppasзберігаються у /etc/apt/sources.list.dвас, ви можете знайти той, який потрібно видалити, ввівши:

ls /etc/apt/sources.list.d

Тоді, коли ви відзначили ім'я цього порушника (наприклад 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
Це працювало для мене, поки прийнятої відповіді не було.
філеш

Я видаляю повний вміст папки /etc/apt/sources.list.d/ і досі маю 4 погані записи: / чому почали
виходити

Зауважте, що при переліку ключів вони матимуть рядки типу 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: ім'я репозиторію".
Лекенштейн

Це не доступно для Ubuntu 11.10, чи я помиляюся?
математика

9
Йо, це не спрацювало для мене, але я дуже люблю синтаксис, я все одно проголосую за нього.
Conrad.Dean

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

Це не працювало для мене, мабуть, воно не відключило ppa, а потім фактично не знизило пакети. Однак він друкує список пакунків, як-от ім’я / розповсюдження пакета. Якщо ви вручну відключите ppa, а потім запустіть apt-get install <complete-list-of-those-packages>, 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
FYI в Ubuntu 16.04 спосіб знайти список PPASystem Settings -> System -> Software & Updates -> Other Software
knocte

33

Деякі люди можуть вважати за краще додавати та видаляти сховища через графічний інтерфейс. Як і для Ubuntu 10.10, для цього потрібно трохи додаткової роботи. Пояснення доступне у вікі . Для того, щоб спробувати і мати всі відповіді на це питання в одному місці, я спробую і підсумую тут важливі деталі. Не забудьте перевірити вікі (особливо після виходу нової версії Ubuntu), щоб переконатися, що цей процес все ще діє.

По-перше, вам потрібно буде знову включити "Джерела програмного забезпечення" в меню Система-> Адміністрація. Клацніть правою кнопкою миші меню «Програми / Місця / Система» та натисніть «Змінити меню».

Натисніть "Редагувати меню"

Відкриється вікно, прокрутіться вниз і натисніть «Адміністрація». Поставте прапорець біля пункту "Джерела програмного забезпечення" та натисніть кнопку "Закрити".

Поставте прапорець біля пункту "Джерела програмного забезпечення"

Перейдіть до системи-> Адміністрація, і ви побачите в меню "Джерела програмного забезпечення".

Тепер у меню "Джерела програмного забезпечення"

У вікні, що відкриється, натисніть на вкладку "Інше програмне забезпечення" вгорі.

Вкладка "Інше програмне забезпечення"

Ви повинні побачити всі додані вами сховища (включаючи PPA, додані через add-apt-сховище). Ви можете тимчасово відключити сховище, знявши прапорець біля нього. Щоб назавжди видалити сховище, виділіть його та натисніть кнопку "Видалити". Закінчивши, натисніть кнопку «Закрити».

Як раніше зазначав Марсель Стімберг:

Це призведе до вилучення PPA зі списку сховища, але якщо пакет є новою версією у стандартній репозиторії, вам доведеться згодом знизити пакет вручну. ppa-purge (див. іншу відповідь) робить це для вас.

Сподіваємось, це допоможе.


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

Дякую. Схоже, проблема з gksu в моєму кінці змусила мене не отримати представлених джерел програмного забезпечення, коли я спробував це спочатку. Я вирішу це питання локально та оновлю відповідь.
nhandler

Більш легкий і надійний
Матей Абреу

25

ppa-purgeтвій друг. Він автоматично видаляє все, що ви встановили через ppa, а потім видаляє ppa.

Встановіть ppa-purge через:

sudo apt-get install ppa-purge

і використовувати його так:

sudo ppa-purge ppa-url

Віола.


2
ОП вже пробував ppa-purge.
jokerdino

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 з нового Linux Counter Project. Я перепробував багато командних рядків та пропозицій, але жоден з них не допоміг, тільки ваша працювала! Дякую! Одна інформація: вона працює і в 12.04 LTS, не тільки в Maverick.
Крістіана Ніколае

Ласкаво просимо, @CristianaNicolae! Я оновив свою відповідь на основі ваших порад, дякую! :)
Пауло Фрейтас

Я працюю 13.10 і отримую add-apt-repository: error: немає такої опції: -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 --remeve перераховані у файлах man / help, але все ж створюють вказану помилку. Я перегляну свої властивості python-software наступного разу, коли я перебуваю в Ubuntu.
virtualxtc

18

Запустіть програмний центр Ubuntu і в меню виберіть "Джерела програмного забезпечення" - там ви можете додавати / редагувати / видаляти сховища.


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

Залежно від того, якщо додаток-apt-репозиторій викликали повний рядок source.list або ppa, він додає рядок до /etc/apt/sources.list або до нового файлу в /etc/apt/sources.list.d/ . Якщо це ppa, то він імпортує ppa GPG-ключ у key key

Щоб скасувати дії, зроблені додаванням-apt-сховищем, ви можете вручну видалити apt-рядок або використовувати інструмент на зразок "Джерела програмного забезпечення", щоб зробити це, а потім видалити ключ GPG за допомогою apt-ключа, наприклад:

"sut 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 / ТУТ" на PPA, яке ви видаляєте.

Джерело: ЯК ВИКОРИСТОВУВАТИ ПАРА ПІДГОТОВКА (ДОДАТИ, ВИДАЛИТИ, ПІДТРИМАТИСЯ, ВИМОГИ) В УБУНТУ


Використання ppa-purge

Примітка. Це рішення очистить PPA та знизить усі пакунки з нього.

Щоб встановити використання:

sudo apt install ppa-purge

Для використання ppa-purgeви зробите:

sudo ppa-purge ppa:REPOSITORY/HERE

... змінивши "REPOSITORY / ТУТ" у сховище, яке ви видаляєте.

Джерело: ВИДАЛИТИ АБО ПРАКТИЧНІ РЕПОЗИТОРИ ППА ВІД КОМАНДОВОЇ ЛІНІЇ [ШВИДКИЙ ПОРАД УБУТУ]


Використання програмного забезпечення та оновлень

Примітка. Це рішення не видаляє / зменшує пакети, пов'язані з сховищем.

Знайдіть "Програмне забезпечення та оновлення" та запустіть його, а потім виберіть вкладку -> "Інше програмне забезпечення". Щоб видалити сховище, зніміть його, потім натисніть «Закрити» та нарешті «Оновити».

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


7

Ви можете використовувати y-ppa-менеджер

Установка:

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
Я не знаю, як це має поводитися, але після повернення команди та оновлення apt-get відповідні файли все ще знаходились у /etc/apt/list.sources.d. Я видалив їх вручну і повторно запустив оновлення, не знаю, чи потрібно було.
Іван

1
Я бігаю 13.10 і отримуюadd-apt-repository: error: no such option: -r
virtualxtc

1
Це цікаво; сторінка керівництва " add-apt-repository" для 13.10 стверджує, що ця опція існує. Фактично він з'явився в 12.04.
Маріус Гедмінас

5

Окрім вже згаданого рішення: Якщо у вас все ще встановлено програмне забезпечення з цього сховища, найкраще повернути їх до оригінальної версії, що постачається з ubuntu: та версія з ppa більше не отримуватиме (оновлення безпеки та інших) оновлень. Є інструмент, який зробить саме це: ppa-purge http://packages.ubuntu.com/maverick/ppa-purge


1
ppa-чистка - це хороший матеріал, але це також потужний матеріал.
Райан Томпсон

1
Посилання відкриває сторінку помилки.
Крістіана Ніколае

5

Це залежить. Якщо ви встановили нову програму від ppa, ви можете її видалити нормально. Однак якщо ви ввімкнули ppa отримати новішу версію програми, яку ви встановили alredy (Firefox 4, новіші драйвери Xorg тощо), вам потрібно використовувати програму під назвою ppa-purge.

Ppa-продувка доступна у сховищах для 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
    

Готово!


Користувачі монетного двору також можуть використовувати вбудований інструмент " Джерела програмного забезпечення" , який був найбільш зручним рішенням у моєму випадку.
користувач2428118

5

Найпростіший спосіб видалити всі ваші PPA'a:

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

Він спочатку відведе вас до каталогу, який містить, sources.list.dа потім rm (видалити) в основному всі файли зі списком слів у їх імені.



4

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


4

Ви можете спробувати цю команду нижче, і мені дуже добре видалити Linux kernel 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.

Уявіть, що влучне оновлення дає вам таку помилку:

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

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