Понизить пакет

11

Возможно, вы установили пакеты из PPA или внешнего источника (например, загрузили .deb для пакета, который доступен через репозитории Ubuntu).
Затем вы решаете выбросить эти обновленные версии в пользу официальных репозиториев.
Первый шаг - удалить записи в sources.list.

Есть ли способ понизить все до максимально доступной версии? Я знаю, что вы можете установить конкретные версии с

apt-get install [пакет] = [версия]
Но вы можете понизить все?

Manuel
источник
Вы имеете в виду одну команду, чтобы удалить текущие приложения PPA и затем установить их из официального репозитория? Я бы сделал что-то вроде sudo apt-get -y remove package1 package2 package3 && sudo apt-get install package1 package2 package3- я не верю, что есть одна команда, sudo apt-get repocleanнапример, сделать это.
kingmilo
Таким образом, я должен получить все пакеты, которые я установил из репозитория? Обновление до максимально доступной версии отсутствует (это то, что вы можете сделать с помощью openSUSEs zypper).
Мануэль
Если вы удалите репозиторий, и пакет будет доступен в официальном репозитории, и этот пакет имеет более высокую версию, чем пакет, который был доступен в добавленном репо, то этот пакет будет обновлен до версии, доступной в официальном репозитории.
Кингмило
1
Да, а если нет? Обновление не проблема вообще, но понижение.
Мануэль

Ответы:

16

Немного опоздал на вечеринку, но я нашел этот вопрос, когда искал ответ, и теперь у меня есть собственный ответ, которым я хочу поделиться.

Я верю, что вы можете сделать это через таинственный мир apt_preferences.

Попробуйте сделать файл с именем / tmp / a_p (или как-то еще) примерно так ...

Package: *
Pin: release a=*-backports
Pin-Priority: 100

Package: *
Pin: release n=*
Pin-Priority: 1001

Затем запустите:

sudo apt-get -o Dir::Etc::Preferences=/tmp/a_p dist-upgrade

Второй раздел файла в основном делает то, что запрашивал OP, в том смысле, что он увеличивает приоритет всех пакетов в любом живом репозитории, чтобы сделать их установку, даже если это означает понижение.

Первый раздел не позволяет второму разделу запускать установку всех бэкпортов. Вы можете или не можете заботиться или хотеть этого. Я бы предложил поработать, чтобы посмотреть, что работает. Вы можете использовать, apt-cache -o Dir::Etc::Preferences=/tmp/a_p policy somepkgчтобы увидеть, как файл a_p влияет на определенные пакеты.

ТИМ

user156743
источник
6

Хорошо, что если найден скрипт ppa-purge.

Если вы добавили PPA и обновили программное обеспечение, вы можете удалить репозиторий и на этом шаге понизить все пакеты, которые были обновлены

ppa-purge [имя репо]

Это полезно для другого человека?

Но он все еще открыт, если вы можете установить самую высокую версию из доступных, даже если установленная версия выше ...

Manuel
источник