Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

debmirror

2 views
Skip to first unread message

Струков Аркадий

unread,
Sep 28, 2011, 6:30:03 AM9/28/11
to
День добрый
извините если чтото делаю не так - впервые задаю вопрос таким способом

Вобщем поставили предо мной задачу создания собственного репазитария
дебиановского для архитектур i386 amd64
и самое то что удручает по определенным причинам нету возможности
использовать debmirror
есть только два варианта wget и rsync
Но вот ни как не могу разобраться как устроен дебиановский репазитарий

Какие надо разделы выкачивать ?

мне нужно софт обновлять и саму систему - чисто из собственного репазитария

могу выкачивать по маске
wget -r -c -m -t3 -A.amd64.deb,i386.deb,tar.gz,all.deb
ftp://ftp.ru.debian.org/debian/pool/
это я уже как бы имею
а что надо еще ?


--
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/4E82F660...@bezopasnik.org

Струков Аркадий

unread,
Sep 28, 2011, 6:40:02 AM9/28/11
to

Sergey Korobitsin

unread,
Sep 28, 2011, 7:00:01 AM9/28/11
to
Струков Аркадий ☫ → To debian-...@lists.debian.org @ Wed, Sep 28, 2011 17:30 +0700

> День добрый
> извините если чтото делаю не так - впервые задаю вопрос таким способом
>
> Вобщем поставили предо мной задачу создания собственного репазитария
> дебиановского для архитектур i386 amd64
> и самое то что удручает по определенным причинам нету возможности
> использовать debmirror
> есть только два варианта wget и rsync
> Но вот ни как не могу разобраться как устроен дебиановский репазитарий
>
> Какие надо разделы выкачивать ?
>
> мне нужно софт обновлять и саму систему - чисто из собственного репазитария
>
> могу выкачивать по маске
> wget -r -c -m -t3 -A.amd64.deb,i386.deb,tar.gz,all.deb
> ftp://ftp.ru.debian.org/debian/pool/
> это я уже как бы имею
> а что надо еще ?

wget-а и rsync-а будет недостаточно, если только вы не хотите выкачать
ВЕСЬ репозиторий debian (для всех архитектур и всех доступных выпусков).
Если есть coreutils или там busybox, то можно наколхозить свой
debmirror-lights, скачивая Packages для нужного дистрибутива и
выдёргивая оттуда Filename: для пакета. А затем, чтобы правильно их
разложить, придётся ещё и Sources парсить. Подумайте, так ли серьёзно
ограничение на debmirror?

--
Bright regards, Sergey Korobitsin,
Chief Research Officer
Arta Software, http://arta.kz/
xmpp:under...@jabber.arta.kz

--
Information on Derby's internals is scattered over a number of locations:

1. The code, describes exactly how it works. B)

-- http://wiki.apache.org/db-derby/HowItWorks


--
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/2011092810...@undertaker.dev.lan.arta.kz

Павел Марченко

unread,
Sep 28, 2011, 7:10:01 AM9/28/11
to
28 сентября 2011 г. 13:43 пользователь Sergey Korobitsin
<under...@arta.kz> написал:

apt-proxy, один выкачивает, остальные тянут уже выкаченное

--
В смысле осмысления бессмысленного смысл тоже имеет определенную
осмысленность!!!

Sergey Korobitsin

unread,
Sep 28, 2011, 7:20:02 AM9/28/11
to
Павел Марченко ☫ → To debian-russian @ Wed, Sep 28, 2011 14:03 +0300

> 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

Ivan Shmakov

unread,
Sep 28, 2011, 8:00:03 AM9/28/11
to
>>>>> Струков Аркадий <a...@bezopasnik.org> writes:

> извините если чтото делаю не так - впервые задаю вопрос таким
> способом

> Вобщем поставили предо мной задачу создания собственного репазитария
> дебиановского для архитектур 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

Victor Wagner

unread,
Sep 28, 2011, 8:40:02 AM9/28/11
to
On 2011.09.28 at 17:30:15 +0700, Струков Аркадий wrote:

> День добрый
> извините если чтото делаю не так - впервые задаю вопрос таким способом
>
> Вобщем поставили предо мной задачу создания собственного репазитария
> дебиановского для архитектур i386 amd64
> и самое то что удручает по определенным причинам нету возможности
> использовать debmirror

Ну чуть ли не наилучшим источником информации будет служить исходник
debmirror. Поскольку придется переписать его значительный кусок

Насколько я понимаю, "определенные причины" запрещают также и
использование любого другого debian-специфичного софта, такого как
grep-dctrl?

> есть только два варианта wget и rsync

debmirror, кстати, умеет в качестве транспорта использовать rsync.

В общем, я бы сказал что нужно попытаться пересмотреть ограничение
на использование debmirror. Это не более чем perl-скрипт,
который вызвает rsync и парсит всякие Packages и Sources.

И в общем-то модулей он использует не так уж и много.
Ну Net::FТP и LWP::UserAgent (поскольку зачем нам wget, если у нас
perl), ну Compress::Zlib а все остальное по-моему строго из дистрибутива
Perl. Ну а перечисленные модули настолько распространены, что есть на
какой угодно платформе. Так что можно запустить debmirror хоть на виндах
с помощью ActivePerl.


--
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/20110928121...@wagner.pp.ru

Lex2d aka Lex

unread,
Sep 28, 2011, 11:30:02 AM9/28/11
to

Немного отвлеченный вопрос... дебиан структуру репозитария на более "удобную" менять не планирует? Репы суси или там федоры замечательно зеркалируются без подобного изврата обычными утилитами?

-=Devil_InSide=-

unread,
Sep 28, 2011, 3:00:02 PM9/28/11
to
,-----[Sergey Korobitsin, 28 September 2011 15:16]:

> Павел Марченко ? ? 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

Victor Wagner

unread,
Sep 28, 2011, 3:20:02 PM9/28/11
to
А смысл? Это у дистрибутивов, ориентированных на корпоративный рынок
может быть потребность в зеркалировании репозиториев на винде виндовым
админом, не знающим слова perl.





--
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/20110928191...@wagner.pp.ru

Lex2d aka Lex

unread,
Sep 29, 2011, 1:10:01 AM9/29/11
to


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

Эм... китайским комсомолом отдает.

Но как то дико нелогично получается, что дебиан стороник эдакой простоты, судя по формату пакетов, вдруг создает файлопомойку, которую можно только скриптами разгрести и фм туда лучше не соваться. Хотя небольшой порядок в виде пары лишних каталогов никому до сих пор не мешал. Или порядок и структура это только для гнусных комерсантов?)

Sergei Golovan

unread,
Sep 29, 2011, 2:20:01 AM9/29/11
to
2011/9/29 Lex2d aka Lex <lex2...@gmail.com>:

>
> Но как то дико нелогично получается, что дебиан стороник эдакой простоты,
> судя по формату пакетов, вдруг создает файлопомойку, которую можно только
> скриптами разгрести и фм туда лучше не соваться. Хотя небольшой порядок в
> виде пары лишних каталогов никому до сих пор не мешал. Или порядок и
> структура это только для гнусных комерсантов?)

Дебиановский pool гораздо лучше, чем отдельные директории, подходит
для экономии места и минимизации объема копируемых файлов при переносе
из одной ветки репозитория в другую (из unstable в testing пакеты
каждый день идут потоком). Так что структура типа репозитория SUSE
(http://download.opensuse.org/distribution/) будет слишком
расточительной. При этом приходится чем-то жертвовать (теми самыми
виндовыми админами, не знающими, что такое Perl).

--
Sergei Golovan

Sergej Kochnev

unread,
Sep 29, 2011, 2:20:02 AM9/29/11
to
On Wed, 28 Sep 2011 17:30:15 +0700
Струков Аркадий <a...@bezopasnik.org> wrote:

>День добрый
>извините если чтото делаю не так - впервые задаю вопрос таким способом
>
>Вобщем поставили предо мной задачу создания собственного репазитария
>дебиановского для архитектур i386 amd64
>и самое то что удручает по определенным причинам нету возможности
>использовать debmirror
>есть только два варианта wget и rsync
>Но вот ни как не могу разобраться как устроен дебиановский репазитарий
>
>Какие надо разделы выкачивать ?
>
>мне нужно софт обновлять и саму систему - чисто из собственного репазитария
>
>могу выкачивать по маске
>wget -r -c -m -t3 -A.amd64.deb,i386.deb,tar.gz,all.deb
>ftp://ftp.ru.debian.org/debian/pool/
>это я уже как бы имею
>а что надо еще ?
>
>

Ещё надо /debian/dists/
0 new messages