На этот вопрос уже есть ответ здесь:
Я хотел бы очищать мой локальный репозиторий после каждого обновления. Когда я добавляю более новую версию пакетов в пул
и регенерирую индексы с помощью dpkg-scanpackages
, программа предупреждает о старых версиях пакетов (в случае, если параметр -m
не пройдено):
dpkg-scanpackages: warning: Package php5-common (filename pool/local/php5-common_5.3.6-13ubuntu3.3_amd64.deb) is repeat but newer version;
dpkg-scanpackages: warning: used that one and ignored data from pool/local/php5-common_5.3.6-13ubuntu3.2_amd64.deb!
Я ищу автоматический способ безопасного удаления старых пакетов с диска. Я назову такой сценарий безопасным, если он не удаляет старый пакет, если доступна более новая версия, а удаление старой версии вызовет неудовлетворенную зависимость в локальном репозитории
Для удаления устаревших пакетов попробуйте
sudo apt-get autoremove
Вы пробовали apt-get clean
и apt-get autoclean
?
apt-get clean
удаляет все, кроме файлов блокировки из /var/cache/apt/archives/
и /var/cache/apt/archives/partial/
. Таким образом, если вам нужно переустановить пакет, APT должен восстановить его снова.
apt-get autoclean
удаляет только файлы пакетов, которые больше не могут быть загружены.