Как я могу вернуть все пакеты в свои официальные версии?

7

Я установил несколько пакетов из PPA, и теперь я хотел бы вернуться к официальным версиям. Многие из PPA больше не существуют в /etc/apt/sources.list.d , поэтому ppa-purge не будет работать на них.

Что для вас наиболее прямолинейно?

    
задан eudoxos 14.03.2012 в 10:15
источник

1 ответ

8

Ну, вы можете удалить и переустановить пакеты

ppa-purge , вероятно, по-прежнему ваш лучший выбор для чистого побега. Просто повторно добавив PPA, из которого пришел пакет, а затем используйте ppa-purge , чтобы убить его. Я не уверен, сколько PPA вы установили, но если его меньше 10, я бы смотрел на это.

Если вы считаете, что этот метод слишком мягкий, я только что написал bash -porn, чтобы помочь определить версии пакетов, источник установки которых теперь существует только локально в /var/lib/dpkg/status . Это не то же самое, что «потерянные» пакеты.

for p in 'dpkg-query --showformat='${Package} ' -W'; do
    if [[ $(apt-cache policy $p | grep -Pzo "\*\*\* [^\n]+\s+100") ]]; then
        echo $p;
    fi;
done

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

Чтобы сделать это, сначала посмотрите, что доступно для этого пакета, запустив apt-cache policy <package> , и вы увидите список версий пакетов (включая /var/lib/dpkg/status ). Найдите ближайший внешний и запустите:

sudo apt-get install <package>=<version>

Вам может потребоваться добавить --reinstall после install , но посмотреть, как это происходит.

    
ответ дан Oli 14.03.2012 в 11:15