URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 52334
[ Назад ]

Исходное сообщение
"Клонирование одного набора пакетов на двух Linux машинах"

Отправлено Tim , 12-Янв-05 09:27 
Возникла необходимость воссоздать на второй машине набор установленных программ.Использую AltLinux. Как я понимаю, простым "rpm -q -a" и
"rpm -i --nodeps pkg.rpm" для каждого пакета на другой машине не обойтись, если нужно поставить более новые версии пакетов.

У меня два вопроса:

Как грамотно сформировать список пакетов для установки, чтобы в нем были только названия пакетов, без версии, вывод "rpm -q -a" так просто не пропарсишь, у некоторых пакетов очень хитрые названия, по которым не понять после какого "-" резать.

Как после "rpm -i --nodeps" всех нужных пакетов, проверить каких зависимостей не хватает в базе и что нужно доустановить ?


Может apt как-то использовать ?


Содержание

Сообщения в этом обсуждении
"Клонирование одного набора пакетов на двух Linux машинах"
Отправлено uldus , 18-Янв-05 21:43 
>Как грамотно сформировать список пакетов для установки, чтобы в нем были только
>названия пакетов,

rpm -q -a --queryformat '%{NAME}\n'


>Как после "rpm -i --nodeps" всех нужных пакетов, проверить каких зависимостей не
>хватает в базе и что нужно доустановить ?

Топорное решение:
rpm -q -a --queryformat '%{NAME}\n'|sort|uniq > list_inst.txt
cat list_inst.txt| xargs -l1 rpm -q -R |grep -E "[<=>]"| cut -d ' ' -f1| cut -d '(' -f1| sort| uniq > list_req.txt
diff list_inst.txt list_req.txt| grep '>' > missing.txt


"Клонирование одного набора пакетов на двух Linux машинах"
Отправлено Beginner , 19-Янв-05 07:26 
>>Как грамотно сформировать список пакетов для установки, чтобы в нем были только
>>названия пакетов,
>
>rpm -q -a --queryformat '%{NAME}\n'
>
>
>>Как после "rpm -i --nodeps" всех нужных пакетов, проверить каких зависимостей не
>>хватает в базе и что нужно доустановить ?
>
>Топорное решение:
>rpm -q -a --queryformat '%{NAME}\n'|sort|uniq > list_inst.txt
>cat list_inst.txt| xargs -l1 rpm -q -R |grep -E "[<=>]"| cut -d ' ' -f1| cut -d '(' -f1| sort| uniq > list_req.txt
>diff list_inst.txt list_req.txt| grep '>' > missing.txt

Еще более топорное - скопировать винты
dd if=/dev/hda of=/dev/hdc
Если не сильно большой винт, то 30-40 минут (иногда и в 15 укладывается) и клон готов.