apt-proxy, один выкачивает, остальные тянут уже выкаченное
--
В смысле осмысления бессмысленного смысл тоже имеет определенную
осмысленность!!!
> apt-proxy, один выкачивает, остальные тянут уже выкаченное
Если уж пользовать такой софт, то лучше apt-cacher-ng.
--
Bright regards, Sergey Korobitsin,
Chief Research Officer
Arta Software, http://arta.kz/
xmpp:under...@jabber.arta.kz
--
Science is like sex: sometimes something useful comes out, but that's
not why we're doing it.
-- Richard Feynman
--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/2011092811...@undertaker.dev.lan.arta.kz
> извините если чтото делаю не так - впервые задаю вопрос таким
> способом
> Вобщем поставили предо мной задачу создания собственного репазитария
> дебиановского для архитектур i386 amd64 и самое то что удручает по
> определенным причинам нету возможности использовать debmirror есть
> только два варианта wget и rsync Но вот ни как не могу разобраться
> как устроен дебиановский репазитарий
> Какие надо разделы выкачивать ?
> мне нужно софт обновлять и саму систему - чисто из собственного
> репазитария
[…]
Могу предложить следующую «технологию», основанную на
инструменте grep-dctrl(1), позволяющем получить выборку из
данных Packages- или Sources-файла.
Во-первых, получаем файлы согласно списку, пример которого
привожу отдельной MIME-частью (для Debian Wheezy; другие версии
— аналогично.) Файлам директории dists/ копируемого зеркала
даются соответствующие имена в, e. g., /srv/debian/dists/ (в
«местных» соглашениях — /home/public/debian/dists/.)
Во-вторых, определяем относительные имена файлов для выбранных
пакетов. E. g., для всех пакетов архитектур amd64 и i386:
#!/bin/bash
prefix=/srv/debian
dists=${prefix}/dists
mirror=http://ftp.ru.debian.org/debian/
suites=wheezy
arches='amd64 i386'
packages_lists0 {
local a s
for a in $arches ; do
for s in $suites ; do
find "${dists}/${s}"/*/binary-"$a"/ \
-type f -name Packages.bz2 -print0 \
|| return
done
done
}
filenames {
grep-dctrl -s Filename -F Package --regex=. \
<(packages_lists0 | xargs -r0 -- bzip2 -cd --) \
| sed -e '/^Filename: /!d; s///'
}
Наконец, убираем из полученного списка повторы (возникающие для
пакетов с Architecture: all); проверяем на существование этих
файлов, и формируем список URI для получения; подобно:
uris {
local f g
LC_ALL=C sort -u -t_ -k3,3 -k1 \
| while read f ; do
if test -e "${prefix}/${f}" ; then
continue
fi
printf %s\\n "${mirror%/}/${f}"
done
}
Полученный список отдаем GNU Wget, e. g. (добавив --cut-dirs=
по-вкусу):
$ LC_ALL=C wget --background \
--force-directories --timestamping --continue --server-response \
--input-file=1317210506.uris
или Rsync, e. g. (соответственно убрав ${mirror%/}/ из аргумента
printf в коде выше):
$ rsync -uv -rOtH --ignore-existing \
--include=pool/ --include=pool/\*\*/ \
--include-from=1317210685.files \
-- rsync://ftp.de.debian.org/debian/ /srv/debian/
При использовании Wget, получаемые файлы следует помещать во
временную директорию, с последующим mv(1), дабы избежать
возможности получения пользователем зеркала неполного файла.
Напротив, такое ограничение не актуально для Rsync.
Получить dists/-файлы можно и используя Rsync. В этом случае,
однако, их также следует получать отдельно и во временную
директорию. Опять-таки, с последующим ln(1) в целевую.
--
FSF associate member #7257
Немного отвлеченный вопрос... дебиан структуру репозитария на более "удобную" менять не планирует? Репы суси или там федоры замечательно зеркалируются без подобного изврата обычными утилитами?
> Павел Марченко ? ? To debian-russian @ Wed, Sep 28, 2011 14:03 +0300
>
>> apt-proxy, один выкачивает, остальные тянут уже выкаченное
>
> Если уж пользовать такой софт, то лучше apt-cacher-ng.
>
apt-mirror не подходит ?)
вполне себе, помнится, работал.
--
__________
mpd status: [stopped]
**************************************
* jabber: devil_...@jabber.ru *
* Registered linux user #450844 *
**************************************
--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/j5vqab$arq$1...@dough.gmane.org
28.09.2011 22:14 пользователь "Victor Wagner" <vi...@wagner.pp.ru> написал:
>
> On 2011.09.28 at 18:23:10 +0300, Lex2d aka Lex wrote:
>
> > Немного отвлеченный вопрос... дебиан структуру репозитария на более
> > "удобную" менять не планирует? Репы суси или там федоры замечательно
> > зеркалируются без подобного изврата обычными утилитами?
>
> А смысл? Это у дистрибутивов, ориентированных на корпоративный рынок
> может быть потребность в зеркалировании репозиториев на винде виндовым
> админом, не знающим слова perl
Эм... китайским комсомолом отдает.
Но как то дико нелогично получается, что дебиан стороник эдакой простоты, судя по формату пакетов, вдруг создает файлопомойку, которую можно только скриптами разгрести и фм туда лучше не соваться. Хотя небольшой порядок в виде пары лишних каталогов никому до сих пор не мешал. Или порядок и структура это только для гнусных комерсантов?)
Дебиановский pool гораздо лучше, чем отдельные директории, подходит
для экономии места и минимизации объема копируемых файлов при переносе
из одной ветки репозитория в другую (из unstable в testing пакеты
каждый день идут потоком). Так что структура типа репозитория SUSE
(http://download.opensuse.org/distribution/) будет слишком
расточительной. При этом приходится чем-то жертвовать (теми самыми
виндовыми админами, не знающими, что такое Perl).
--
Sergei Golovan