Как удалить все пакеты из определенного репозитория?

Я предлагаю попробовать tightvnc. TightVNC - это бесплатный пакет программного обеспечения для дистанционного управления. С помощью TightVNC вы можете видеть рабочий стол удаленной машины и управлять им.

1
задан 13 April 2017 в 15:23

5 ответов

Проверить ppa-purge.

Использование:

ppa-purge -purge <nameofppa> [-s hostserver]

Hostserver по умолчанию ppa.launchpad.net.

Вот ссылка на [d1 ] ppa-purge для справки.

22
ответ дан 25 May 2018 в 21:51

Преодоление многократной ошибки aptitude для ppa-purge

Обычно, как объяснили Вадим Рутковский и Таккат, запуск ppa-purge с синтаксисом по умолчанию является эффективным способом удаления всех пакетов, предоставляемых PPA, должным образом понижая их до версий, предоставляемых в других настроенных источниках программного обеспечения, когда это возможно.

Однако, как указал Таккат, Вадим Рутковский не позволяет ppa-purge работать должным образом, чтобы удалить многоархиво пакетов (например, 32-разрядных пакетов, установленных в 64-разрядных системах). Это связано с тем, что aptitude не может обрабатывать конфликтующие зависимости в пакетах с несколькими пакетами (об этом говорит ошибка), а поведение по умолчанию ppa-purge заключается в использовании Takkat для понижения пакетов.

К счастью, ppa-purge принимает флаг -i, который заставляет его предпочесть apt-get на aptitude в качестве его бэкэнд. Как указано в отчете об ошибке, использование apt-get является эффективной альтернативой ручному вызову aptitude, поэтому запуск ppa-purge с флагом -i должен быть эффективным обходным решением для удаления / понижения рейтинга всех пакетов, предоставляемых PPA, включая

Как это сделать

Вот синтаксис:

sudo ppa-purge -i ppa:ppaowner/ppaname

Как обычно (так же, как если флаг -i не используется) :

ppaowner заменен владельцем PPA. /ppaname является необязательным. Если присутствует, ppaname заменяется именем PPA. Если нет, по умолчанию используется значение ppa.

Например, предположим, что у меня установлен multiarch , и я хотел полностью удалить его, автоматически понижая qBittorrent до любой версии, доступной через мои другие источники программного обеспечения, используя apt-get позади сцены вместо aptitude. Затем я запустил:

sudo ppa-purge -i ppa:hydr0g3n/qbittorrent-unstable

Где это записано

По некоторым причинам несколько полезных опций для ppa-purge не описаны на странице руководства, в том числе -i. Но вы можете получить информацию о них, запустив ppa-purge -h (или просто ppa-purge без аргументов):

ek@Del:~$ ppa-purge -h
Usage: sudo ppa-purge [options] <ppa:ppaowner>[/ppaname]

ppa-purge will reset all packages from a PPA to the standard
versions released for your distribution.

Options:
    -p [ppaname]        PPA name to be disabled (default: ppa)
    -s [host]       Repository server (default: ppa.launchpad.net)
    -d [distribution]   Override the default distribution choice.
    -y          Pass -y --force-yes to apt-get or -y to aptitude
    -i          Reverse preference of apt-get upon aptitude.
    -h          Display this help text

Example usage commands:
    sudo ppa-purge xorg-edgers
    will remove https://launchpad.net/~xorg-edgers/+archive/ppa

    sudo ppa-purge -p xorg-testing sarvatt
    will remove https://launchpad.net/~sarvatt/+archive/xorg-testing

    sudo ppa-purge ppa:ubuntu-x-swat/x-updates
    will remove https://launchpad.net/~ubuntu-x-swat/+archive/x-updates

Notice: If ppa-purge fails for some reason and you wish to try again,
(For example: you left synaptic open while attempting to run it) simply
uncomment the PPA from your sources, run apt-get update and try again.

«Обратное предпочтение apt-get at aptitude» немного загадочно. Если посмотреть на , его страница руководства (ppa-purge - это всего лишь сценарий оболочки), мы можем видеть, что это означает, что по умолчанию предпочтение отдается aptitude на apt-get, а Флаг -i отменяет это предпочтение.

17
ответ дан 25 May 2018 в 21:51
  • 1
    В последний раз, когда я попробовал ppa-purge, он не удалял пакеты, которые были удалены из PPA. Это все еще так? – Lekensteyn 23 July 2012 в 18:08
  • 2
    @Lekensteyn Да, я верю , все равно, что ppa-purge будет не удалять или понижать пакеты, которые больше не предоставляются PPA, «очищенными». Однако вы можете задать отдельный вопрос об этом, чтобы получить более авторитетный или хорошо документированный ответ. – Eliah Kagan 23 July 2012 в 20:47
  • 3
    Если репозиторий не является PPA, размещенным в Launchpad, но другим нестандартным репозиторием будет работать ppa-purge? – Anwar 28 January 2015 в 17:26
  • 4
    @Anwar Я не уверен, если он будет работать, но вы должны попробовать, указав полный URL-адрес репозитория вместо ppa:username/path. Кроме того, PPA должен быть включен, прежде чем пытаться его очистить, даже если скрипт сразу отключается после обновления списка удаляемых пакетов, он не будет «находить», уже отключены PPA. – dragon788 6 November 2017 в 20:37
  • 5
    @Lekensteyn вы можете попробовать использовать aptitude search ~o, чтобы найти потерянные пакеты без источника установки, если вам нужно очистить что-то, что было удалено из PPA (или было установлено как одно через dpkg -i). – dragon788 6 November 2017 в 20:39

Чтобы по крайней мере найти их, начните с отключения PPA и запустите apt-get update. Затем установите apt-show-versions. Запустив apt-show-versions | grep 'No available', вы получите список всех установленных вами пакетов, которые не могут быть найдены в ваших настроенных репозиториях. С помощью некоторой магии командной строки вы можете, возможно, просто удалить имена пакетов и передать их в apt-get remove:

 for i in `apt-show-versions | grep 'No available' | cut -d' ' -f 1` ; do  sudo apt-get remove -y $i ; done

Обратите внимание, что это будет проходить через список, возвращенный с apt-show-versions, и удалите их один одним. В зависимости от того, что он находит, это может удалить что-то непреднамеренное из-за зависимостей, поэтому сначала проверьте его.

3
ответ дан 25 May 2018 в 21:51
  • 1
    Звучит неплохо, я попробую. – Lekensteyn 28 April 2011 в 18:00
  • 2
    Сам процесс обновления также будет авторизовать PPA, хотя я уверен, что он не пойдет и не удалит все оставшиеся пакеты. – Jorge Castro 28 April 2011 в 18:02
  • 3
    @Jorge: Я действительно заметил, что PPA отключены (закомментированы), но они не удаляют пакеты. Я думаю, что лучше удалить пакеты до того, как новая версия из репозиториев Ubuntu перезапишет файлы. – Lekensteyn 28 April 2011 в 18:08
  • 4
    Я только что протестировал это, и он не делает различия между пакетами из основных репозиториев и PPA. В моем случае это был пакет libvpx0 из PPA хрома-ежедневно. Ответ @ enzotib действительно показал этот пакет. – Lekensteyn 28 April 2011 в 18:46

Вот способы GUI для этого. Надеюсь, это поможет тем, кто не предпочитает CLI. Шаги просты и просты в обращении.

Откройте диспетчер синаптических пакетов. Если он не установлен, установите его:
sudo apt-get install synaptic
При открытии нажмите кнопку «Происхождение» слева направо. Он перечислит все репозитории в верхней левой части. Выберите конкретный репозиторий, для которого необходимо удалить пакеты. Он отобразит все пакеты в этом репозитории. Щелкните первое поле i, e S или Установленная версия, чтобы сначала показать установленные пакеты. Теперь выберите все пакеты для удаления. Советы по удалению: выберите первый пакет, затем нажмите клавишу Shift и снова выберите последний пакет, чтобы выбрать все. Затем щелкните правой кнопкой мыши квадратный квадрат и выберите отметку для удаления или отметьте для полного удаления. или Выберите любые пакеты и нажмите Ctrl + A, чтобы выбрать все. Затем щелкните правой кнопкой мыши квадратный квадрат и выберите отметку для удаления или отметьте для полного удаления.

Вот и все. Он будет удален без проблем. Я также добавил изображение, чтобы сделать его более понятным. Надеюсь, это поможет. :)

3
ответ дан 25 May 2018 в 21:51

Мне было сложно использовать ppa-purge.

Откройте диспетчер синаптических пакетов в разделе «Система», затем выберите «Настройки», «Хранилища».

Удалите те, которые вы не хотите.

Сделано!

0
ответ дан 25 May 2018 в 21:51
  • 1
    Это удаляет только источники пакетов, но не удаляет пакет из этих источников. – Lekensteyn 9 May 2013 в 22:01

Другие вопросы по тегам:

Похожие вопросы: