Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: [HOWTO] Различные способы создания локального репозитория  (Прочитано 79659 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн MadKox

  • Активист
  • *
  • Сообщений: 441
  • =)
    • Просмотр профиля
    • Моя страница на Launchpad
Re: Сетевой репозиторий.
« Ответ #45 : 16 Декабря 2008, 07:42:33 »
1) можно ли держать в одной папке репозиторий для двух версий, т.е. харди и интрепида?
У меня в скрипте так:
--dist=gutsy,gutsy-security,gutsy-updates,gutsy-backports,hardy,hardy-security,hardy-updates,hardy-backports,intrepid,intrepid-security,intrepid-updates,intrepid-backports \
В результате чего у меня актуальные репозитории для 3-х версий. Сам для себя пока до конца не решил, но скорее всего 7.10 больше использовать не буду. Как я понял, для этого достаточно удалить из скрипта строчки про gutsy - после чего debmirror сам удалит реп 7.10. Практически уверен, есть проги для работ с репами, но я таких не искал - не знаю.
2) при запуске скрипта makerepo получаю варнинги, так и должно быть?
Про реп вайна не скажу - не знаю, но вот этот
gpg: WARNING: unsafe ownership on configuration file `/home/...../.gnupg/gpg.conf'
варнинг говорит о том, что файл конфигурации програмы gpg имеет неправильные права владения. Если ни чего не путаю, оно как и ключи должно принадлежать юзеру, а группе и всем остальным - доступ должен быть закрыт.
Homo homini admini est...

Оффлайн netum

  • Любитель
  • *
  • Сообщений: 82
    • Просмотр профиля
Re: Сетевой репозиторий.
« Ответ #46 : 18 Декабря 2008, 05:13:44 »
Ещё вопрос по поводу реп с двумя версиями т.е. 8.04 и 8.10. Запускаю "макерепо" и в логе вижу (пример одной из строк) ! Package wine-dev (filename ./pool/main/w/wine/wine-dev_1.1.10~winehq0~ubuntu~8.10-0ubuntu1_i386.deb) is repeat but newer version;
   used that one and ignored data from ./pool/main/w/wine/wine-dev_1.1.10~winehq0~ubuntu~8.04-0ubuntu1_i386.deb !
т.е. получается он игнорит пакеты для 8.04 и не подписывает их ключом?

Оффлайн MadKox

  • Активист
  • *
  • Сообщений: 441
  • =)
    • Просмотр профиля
    • Моя страница на Launchpad
Re: Сетевой репозиторий.
« Ответ #47 : 18 Декабря 2008, 09:42:28 »
Да, получается, что 8.04 он игнорит. В скрипте makerepo что написано? Должно бытьь примерно так:
Archive: hardy, intrepid
Version: 8.04, 8.10
Origin: Ubuntu
Homo homini admini est...

Оффлайн netum

  • Любитель
  • *
  • Сообщений: 82
    • Просмотр профиля
Re: Сетевой репозиторий.
« Ответ #48 : 18 Декабря 2008, 10:48:03 »
"Archive: hardy, intrepid" - тут не имеет значения, что написано, он всё равно отрабатывает последнюю версию. Почитал ман к dpkg-scanpackages, сделал так dpkg-scanpackages -m . /dev/null > Packages больше строк с игнором старых пакетов нет. Остался вопрос с сообщением
Цитировать
** Packages in archive but missing from override file: **
- к чему это?

Оффлайн MadKox

  • Активист
  • *
  • Сообщений: 441
  • =)
    • Просмотр профиля
    • Моя страница на Launchpad
Re: Сетевой репозиторий.
« Ответ #49 : 18 Декабря 2008, 11:21:13 »
Цитата: man dpkg-scanpackages

overridefile is the name of a file to read which  contains  information about how the package fits into the distribution;
Т.е. пакеты в архиве, но в оверрайд-файле о них ни слова. У меня такое постоянно вылетает, на работоспособности не сказывается  ;)

Насчет пакетов... я думаю так:
Цитировать
Package wine-dev (filename ./pool/main/w/wine/wine-dev_1.1.10~winehq0~ubuntu~8.10-0ubuntu1_i386.deb) is repeat but newer version;
   used that one and ignored data from ./pool/main/w/wine/wine-dev_1.1.10~winehq0~ubuntu~8.04-0ubuntu1_i386.deb !
Т.е. версия пакета одна и та же, следовательно, дубликат игнорируется. Т.е. если бы, к примеру, был бы в 8.04 wine-dev_1.1.10, а в 8.10 wine-dev_1.1.15 (при этом, например, полностью не совместимый с 8.04) - то он бы оставил оба. По крайней мере так мне кажется.
Homo homini admini est...

Оффлайн Seaman25

  • Любитель
  • *
  • Сообщений: 59
    • Просмотр профиля
Создание локального репозитария Ubuntu 8.10 server/desktop из ISO образов

1. Качаем образы репозитория с http://torrents.ru/forum/viewtopic.php?t=1269045 (6 dvd iso образов, 22 гб)
2. Переносим их в локальную папку на сервер или (как в моем случае) на переносном винте подлкючил через USB к серверу.
3. Подключаю винт к серверу: сначала смотрю как он зовется:  (на десктоп версии флешка сама смонтируется, при условии конечно, что до этого вы ее правильно размонтировали при предыдущем извлечении)
fdisk -lвывелся список моих разделов и собственно винт-флешка:
  Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1       12161    97683201    7  HPFS/NTFS

создам в /media папку для монтирования носителя: (я работаю под рутом, поэтому без sudo)

mkdir /media/repo
монтирую носитель:

mount -t ntfs /dev/sdb1/ /media/repo/
4. Создаем папки для образов в mnt:

mkdir /mnt/1
mkdir /mnt/2
mkdir /mnt/3
mkdir /mnt/4
mkdir /mnt/5
mkdir /mnt/6

5. Теперь можно непосредственно смонтировать iso образы: путь который в котором находится репозитарий у вас может быть другим (/media/repo/ubuntu/repo/intrepid/)

mount -t iso9660 /media/repo/ubuntu/repo/intrepid/ubuntu-8.10-repository-i386-1r2_contrib.iso /mnt/1 -o loop

mount -t iso9660 /media/repo/ubuntu/repo/intrepid/ubuntu-8.10-repository-i386-2_contrib.iso /mnt/2 -o loop

mount -t iso9660 /media/repo/ubuntu/repo/intrepid/ubuntu-8.10-repository-i386-3_contrib.iso /mnt/3 -o loop

mount -t iso9660 /media/repo/ubuntu/repo/intrepid/ubuntu-8.10-repository-i386-4_contrib.iso /mnt/4 -o loop

mount -t iso9660 /media/repo/ubuntu/repo/intrepid/ubuntu-8.10-repository-i386-5_contrib.iso /mnt/5 -o loop

mount -t iso9660 /media/repo/ubuntu/repo/intrepid/ubuntu-8.10-repository-i386-6_contrib.iso /mnt/6 -o loop

можно зайти в /mnt/ и проверить всё ли смонтировалось

5. Теперь необходимо добавить смонтированные образы в sources.list, чтобы Ubuntu поняла откуда ей теперь брать обновления и программы.

nano /etc/apt/sources.list
закоменчиваем все строки, и пишем в самом верху свои:

deb file:/mnt/1/ intrepid main restricted
deb file:/mnt/2/ intrepid main multiverse restricted
deb file:/mnt/3/ intrepid universe
deb file:/mnt/4/ intrepid universe
deb file:/mnt/5/ intrepid universe
deb file:/mnt/6/ intrepid universe

Думаю, что такое main multiverse restricted объяснять не надо :)

теперь сохраняем файл и выходим (Ctrl+o, yes, ctrl+x)

6. Обновляем список

apt-get update

« Последнее редактирование: 16 Ноября 2009, 04:27:04 от ubuntar »

Оффлайн Dim.

  • Новичок
  • *
  • Сообщений: 49
    • Просмотр профиля
Re: Сетевой репозиторий.
« Ответ #51 : 27 Марта 2009, 20:51:03 »
Скачалось 15 гигов и все. Перезапуск скрипта выдает

Get Packages and Sources files and other miscellany.
Parse Packages and Sources files and add to the file list everything therein

Подскажите пожалуйста, как исправить?

Оффлайн MadKox

  • Активист
  • *
  • Сообщений: 441
  • =)
    • Просмотр профиля
    • Моя страница на Launchpad
Re: Сетевой репозиторий.
« Ответ #52 : 27 Марта 2009, 22:23:00 »
Подождать =)

Через некоторое время оно напишет, сколько будет качать и начнет качать...
Homo homini admini est...

Оффлайн sanekru

  • Любитель
  • *
  • Сообщений: 56
  • Потихоньку начинаю вникать
    • Просмотр профиля
Re: Сетевой репозиторий.
« Ответ #53 : 01 Апреля 2009, 09:49:13 »
Доброго дня.
Меня интерисует  вопрос
Можно ли как нибудь сравнить репы на компьютере где установлен debmirror  и на переносном харде, чтоб не переписывать каждый раз такой обьем а просто заменить обновленные пакеты или лучше того чтоб переписать обновленные пакеты на флэшку  и добавить на локальный репозиторий.


ubuntu 16.04 LTS

Оффлайн MadKox

  • Активист
  • *
  • Сообщений: 441
  • =)
    • Просмотр профиля
    • Моя страница на Launchpad
Re: Сетевой репозиторий.
« Ответ #54 : 02 Апреля 2009, 00:40:26 »
Наверняка такой способ существует, однако я его не нашел (да не особо и искал).
Homo homini admini est...

Оффлайн Black SiriuS

  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: Сетевой репозиторий.
« Ответ #55 : 11 Апреля 2009, 15:01:34 »
думаю возможно в правильную тему пишу
я делаю зеркало вот таким скриптом
(Нажмите, чтобы показать/скрыть)

но как понимаю он оставляет ключи этих же серверов как можно что бы все репозитарии что я скачиваю изменялись под один ключ, который я создам, и как его создать, и куда нужно ложить?
Просто так нечего не бывает, нам тока неизвестны мотивы действий

Оффлайн MadKox

  • Активист
  • *
  • Сообщений: 441
  • =)
    • Просмотр профиля
    • Моя страница на Launchpad
Re: Сетевой репозиторий.
« Ответ #56 : 12 Апреля 2009, 03:29:17 »
Сходу точно не скажу, но кажется мне, нужно как-то перепахать скрипт makerepo (см. первый пост), чтобы он работал не только с текущей папкой, а умел ходить по всем папкам скачанных репозиториев... Собственно, как создать ключ и куда его класть - см. там же.
Homo homini admini est...

Оффлайн lioncub

  • Участник
  • *
  • Сообщений: 172
    • Просмотр профиля
Re: Сетевой репозиторий.
« Ответ #57 : 12 Апреля 2009, 10:26:43 »
Цитировать
Создал скрипт makerepo
а если у меня в репе 2 версии архитектуры? как их разделить? или как сделать как в оригинальном репозитарии (с папкой dist)?
зы делаю свою репу с оригинальными пакетами.
а для ubuntu/debian использую rsync
« Последнее редактирование: 12 Апреля 2009, 10:29:16 от lioncub »

Оффлайн Scolopendra

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Создание локального репозитория
« Ответ #58 : 12 Апреля 2009, 14:08:16 »
7) Делаем аналогично предыдущему разу, только теперь перебираем все подпапки binary-<arch> и создаем аналогичные (со всей структурой) в MIRROR_PATH/dists
$ sudo for i in `find dists* -regex ^dists[0-9]+/.*/binary-[^\/]*$`; do mkdir -p `echo $i | sed -r ’s/dists[0-9]+/dists/’`; done
8 ) Объединяем все файлы Packages с разных дисков которые храняться в одноменных папках, например, на дисках 1 и 2 есть файлы:
...
$ sudo for i in `find dists* -regex ^dists[0-9]+/.*/Packages`; do cat $i >> `echo $i | sed -r ’s/dists[0-9]+/dists/’`; done
А вот здесь я и остался у разбитого репозитория...
Терминал сказал:
tuls@tuls: /media/Xubuntu/Repo$ sudo for i in `find dists* -regex ^dists[0-9]+/.*/Packages`; do cat $i >> `echo $i | sed -r ’s/dists[0-9]+/dists/’`; done
bash: ошибка синтаксиса около неожиданной лексемы `do'
А мы этого ещё не проходили. Подскажите, в чём проблема.

Оффлайн Black SiriuS

  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: Сетевой репозиторий.
« Ответ #59 : 13 Апреля 2009, 09:01:59 »
MadKox
пасибо посижу полестаю, а вот что бы ходить по папка думаю использовать тот же цикл что и для скачки репозитариев, тока как разделить секцию дистрибутив?
lioncub
незнаю по какому принципу работает rsync но дебмиррор закачивает листы репозитариев относительно заданому дистрибудитву секции и архитектуры и конечное их разделяет
« Последнее редактирование: 13 Апреля 2009, 09:08:42 от Black SiriuS »
Просто так нечего не бывает, нам тока неизвестны мотивы действий

 

Страница сгенерирована за 0.038 секунд. Запросов: 26.