Подолання aptitude
багатоцілої помилки для Windowsppa-purge
Зазвичай, як Вадим Рутковський і Takkat вже пояснив , працює ppa-purge
з синтаксисом по замовчуванням є ефективним способом , щоб видалити всі пакети , що надаються PPA, належним чином знижуючи їх версій , представлених в інших сконфигурированних джерел програмного забезпечення , коли це можливо.
Однак, як зазначав Таккат, помилка 831768 заважає ppa-purge
працювати належним чином для видалення багатошарових пакетів (як 32-бітні пакети, встановлені в 64-бітних системах). Це пояснюється тим, що aptitude
не можна впоратись із конфліктуючими залежностями в мультиархових пакетах (саме в цьому і полягає помилка), а поведінка за замовчуванням ppa-purge
- використовувати aptitude
для зменшення кількості пакетів.
На щастя, він ppa-purge
приймає -i
прапор, завдяки якому він вважає apt-get
за краще aptitude
вважати його резервним. Як зафіксовано у звіті про помилку, використання apt-get
є ефективною альтернативою для виклику вручну aptitude
, тому біг ppa-purge
із -i
прапором повинен бути ефективним рішенням для видалення / зменшення рівня зменшення всіх пакетів, що надаються PPA, включаючи мультиархівні пакети .
Як це зробити
Ось синтаксис:
sudo ppa-purge -i ppa:ppaowner/ppaname
Як завжди (те саме, коли -i
прапор не використовується):
ppaowner
замінюється власником АПП.
/ppaname
необов’язково. Якщо він присутній, ppaname
замінюється назвою PPA. Якщо ні, то він за замовчуванням ppa
.
Наприклад , припустимо, у мене був встановлений PPA для нестабільних збірок qBittorrent , і я хотів його повністю видалити, автоматично знижуючи 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 здатності" є дещо виразною. Дивлячись на відповідну частину вихідного коду ( ppa-purge
це просто сценарій оболонки, в кінці кінців), ми можемо бачити , що це означає , що поведінка за умовчанням воліють , aptitude
щоб apt-get
і -i
прапор змінює це перевагу.