[devel] genbasedir & unique package list

Alexey Tourbin at at altlinux.ru
Fri Dec 4 05:32:46 UTC 2009


On Fri, Dec 04, 2009 at 12:28:47PM +0700, REAL wrote:
> Привет!
> 
> При добавлении новых пакетов и 
> пересоздании genbasedir количество пакетов 
> растёт, засчёт файлов старых версий 
> пакетов. Существует ли какой-нибудь 
> способ (кроме многочасового ручного 
> выковыривания) очистки репозитория от 
> таких старых файлов? Ведь в сизифе же 
> что-то подобное работает.

Ну как, надо упорядочить список rpm-пакетов в каталоге, во-первых,
by name ASC, во-вторых, by version DESC.  Тогда первый пакет (в группе
пакетов с одинаковым именем) будет пакет с наибольшей версией,
а остальные (следующие) пакеты с таким же именем можно удалить.

Примерно это делает /usr/bin/packages.

$ packages RPMS/ |sort -u -k1,1 |cut -f3

Получится уникальный список пакетов с наибольшей версией.
Дальше можно использовать comm(1) и из полного списка rpm пакетов
вычесть список пакетов с наибольшей версией, получится список пакетов
на удаление.

Правда это не работает при переименовании пакетов, а старые пакеты
(позднее переименованные) могут создать дополнительные трудности апту.
Но для очистки годится.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20091204/d7ad86e1/attachment.bin>


More information about the Devel mailing list