[Comm] что за явление

Алексей Шенцев =?iso-8859-1?q?ashen_=CE=C1_nsrz=2Eru?=
Чт Июл 3 10:13:58 MSD 2008


В сообщении от Thursday 03 July 2008 10:02:51 Денис Черносов написал(а):
> А вообще хотелось бы узнать, можно ли (хотя бы в теории) собрать
> репозиторий из рабочей системы. Т.е. дать команду и указать папку и всё,
> что есть в rpm -qa, получить в виде папки с rpm-пакетами? С поправкой на
> то, что некоторые конфиги уже будут не умолчальными... Меня бы такой
> функционал очень даже заинтересовал бы...
Можно. Вот здесь описанно как:
http://freesource.info/wiki/DmitriyKruglikov/Repository?v=f2g&search=repo
Единственное, что я добавлю (как я делал):
1) apt-cache autoclean  - удалял из /var/cache/apt/archives/ все пакеты, 
имеющие одинаковые названия, но различающиеся версией-релизом.
2) докачивал недостающие пакеты вот таким скриптом:

#!/bin/sh
apt-get autoclean
apt-get update
rpm -qa --qf='%{NAME}\n' | sort > /tmp/installrpm
cat /tmp/installrpm | while read PKG; do
       apt-get reinstall -d -y $PKG
       done
#EOF

3) ну а потом уже всё по указанной выше статье.

Скрипт конечно неидеален. Очень медленно работает из-за того, что для каждого 
установленного в системе пакета происходит вызов apt-get reinstall -d -y, да 
же если пакет присутствует в /var/cache/apt/archives/ и он не качается, всё 
равно происходит вызов apt-get'а. А в любой системе, языке программирования, 
самая долгая операция - вызов подпрограммы. Если сможете улучшить этот 
скрипт, многие это поприветствуют.
-- 
С уважением Шенцев Алексей Владимирович.
E-mail: ashen на nsrz.ru
XMPP: ashen на altlinux.org, AlexShen на jabber.ru
ICQ: 271053845


Подробная информация о списке рассылки community