Голосование

Вы какой реп предпочтёте?

Branch
Sisyphus
Sisyphus ARM
Другой

Автор Тема: Общие вопросы про работу с репозитариями (в т.ч. Sisyphus или локальные)  (Прочитано 79977 раз)

Оффлайн Athlocatle

  • Участник
  • *
  • Сообщений: 257
перенести мало... имхо надо локальный репо подымать

Оффлайн kon-dv

  • Участник
  • *
  • Сообщений: 724
    • Заметки учителя
я сделал вот так:    http://freesource.info/wiki/DmitriyKruglikov/Repository
 Создание собственного репозитория пакетов

Да, это очень удобно в локальной сети, когда созданный вами репозиторий доступен для всех рабочих станций, и нет необходимости долго и нудно качать эти же пакеты по медленному каналу.
Да, это очень удобно, когда вы имеете возможность записать собственный репозиторий на CD (DVD) и отнести долгожданные обновления домой и к друзьям.
Да, это так же позволяет иметь возможность получить некоторую сумму наличных денег в качестве компенсации за потраченное время и труд по отбору и тестированию пакетов. Я надеюсь, у вашего порога уже выстроилась очередь... У меня пока ни кого Улыбка

Создадим репозиторий для личного использования, в таком случае Улыбка
Лучшим описанием, которое мне попалось на глаза, был материал Алексея Любимова .
На основе его и написана данная статья.
Создание своего репозитария состоит из трех пунктов

   1. создаем стандартную структуру каталогов и линков
   2. записывваем *.rpm в папку RPMS, а *.src.rpm в SRPMS
   3. запускаем genbasedir


После этого остается только залить получившийса репозитарий на сдром или на ftp
или просто положить его на постоянное место и либо добавить этот сдром командой
apt-cdrom add или отредактировать /stc/apt/sources.list
и сделать apt-get update и пользоваться в свое удовольствие.

1. Стандартная (упрощеная) структура репозитария
./disc/info ./SRPMS ./SRPMS.myrep -> SRPMS ./i586/RPMS ./i586/RPMS.myrep -> RPMS ./i586/SRPMS.myrep -> ../SRPMS ./i586/base

Обратите внимание, что символические ссылки на каталоги RPMS SRPMS должны быть
относительными, а не абсолютными, иначе вы будете неприятно удивлены.

./disc/info – файл с именем вашего репозитария. Будет отображаться в списке.
Если этого каталога (и файла) не существует, имя репозитария будет запрошено командой
apt-cdrom add
Так же, имя репозитория может быть задано из командной строки, или в скрипте, при вызове genbasedir

myrep в листинге – ваше слово – название репозитария.

2. Заливаем РПМки
Просто копируем *.rpm в ./i586/RPMS, а *.src.rpm в ./SRPMS.
Нет нужды следить за соответствием пакетов src.rpm и их бинврных версий.
Не обязательно заливать сразу и бинарники и исходники – можно что то одно.
Просто папка ./i586/RPMS или ./SRPMS. останется пустой.
АПТ работает со всей базой репозитариев в целом и его не будет заботить то,
что в конкретном репозитарии чего то не хватает по отношению к самому себе.
Главное, чтобы хоть в каком то репозитарии нашлось подходящее.

3. genbasedir обрабатываем репозитарий.
Когда репозитарий заполнен, надо создать служебные файлы-индексы для работы АПТа.

Замечание:
Чтобы команда genbasedir присутствовала в вашей системе — установите пакет apt-utils.

Эти файлы лежат в папке ./i586/base и создаются утилитой genbasedir.

#genbasedir --topdir=/home/avl/rep i586 myrep

Другой вариатн этой команды
#genbasedir --origin=ORIGIN --label=LABEL --topdir=/home/Repositary/ i586 myrep

Добавит дополнительную информацию о вашем репозитарии

--topdir=/home/avl/rep – опция указывающая абсолютный путь к вершине нашего репозитария.

i586 – архитектура под которую строить индексы
(если вам нужна другая архитектура – не забудте изменить структуру репозитария).

myrep – название репозитария (аналогично, при изменении см. в структуру репозитария)

Результат:
#genbasedir --topdir=/home/avl/rep i586 myrep myrep: pkglist done myrep: srclist done myrep: hashfile done All your base are belong to us !!

#ls -1 ./i586/base hashfile pkglist.myrep pkglist.myrep.bz2 release.myrep srclist.myrep srclist.myrep.bz2

все готово.

Замечание 1?.
если вы не заливали бинарники или исходники – все равно индекс для них будет создан (нулевой индекс) .
это не ошибка и прекрасно будет работать, но совсем чисто будет, если вы удалите из папки ./i586/base
srclist.myrep и srclist.myrep.bz2 (если нет *.src.rpm ) или pkglist.myrep и pkglist.myrep.bz2
(если отсутствуют *.rpm).

Замечание 2?.
строчки для /etc/apt/sources.list будут такими:

#для ftp
rpm ftp://ftp.my.ru/pub/myrepdir i586 myrep rpm-src ftp://ftp.my.ru/pub/myrepdir i586 myrep
или
#если прямо из директории
rpm file:/myrepdir i586 myrep rpm-src file:/myrepdir i586 myrep

#для сдром
apt-cdrom add сам все пропишет, как надо Улыбка

Маленькая хитрость: Я создал вышеописанную структуру в дереве своего FTP сервера, а в каталоге /var/cache/apt создал символическую ссылку
archives -> /var/ftp/pub/Repository/i586/RPMS
Таким образом, все пакеты, которые я загружаю для себя, автоматически попадают туда, откуда я раздаю потом репозиторий.

И создал малюсенький скрипт для перестроения репозитория:
#!/bin/sh genbasedir --origin=HunersADD --label=ADD-Hunter --topdir=/var/ftp/pub/Repository/ i586 hunter chown -R ftp.ftp /var/ftp/pub/Repository chmod -R 750 /var/ftp/pub/Repository

На рабочих станциях добавлено в /etc/apt/sources.list
rpm ftp://192.169.0.254/pub/Repository/ i586 hunter rpm-src ftp://192.168.0.254/pub/Repository/ i586 hunter

И всё.... Этот же репозитроий записываю на DVD и ношу домой... Если лень нести ноутбук.
А ноутбук, подключенный в любой локалке, становится переносным репозиторием по FTP. var dbclick = "page";
Морфиус на меня обиделся...

lad

  • Гость
Спасибо kon-dv
Впервые вижу ТАКОЙ ответ :)

Оффлайн wRAR

  • Участник
  • *
  • Сообщений: 469
Спасибо kon-dv
Впервые вижу ТАКОЙ ответ :)
Вы впервые видите копипаст?

lad

  • Гость
Можно было ограничиться ссылкой.
Этот ответ - полный и самодостаточный. Человек потратил время, оформил свой опыт, и не поленился скопипасить.

Ещё раз спасибо :).

Оффлайн AnotheR

  • Участник
  • *
  • Сообщений: 307
  • Forever and Never
Re: Какие репозитарии выбрать?
« Ответ #50 : 05.11.2008 20:09:30 »
А у меня есть вопрос. А можно обновляться подключив сразу два репозитария???? Чего будет? Например бранч 4.1 и сизифус.

Alexei_VM

  • Гость
Re: Какие репозитарии выбрать?
« Ответ #51 : 05.11.2008 20:10:33 »
А у меня есть вопрос. А можно обновляться подключив сразу два репозитария???? Чего будет? Например бранч 4.1 и сизифус.

Не надо так делать.

Оффлайн Astro

  • Участник
  • *
  • Сообщений: 475
  • ALT Workstation 10
Re: Какие репозитарии выбрать?
« Ответ #52 : 05.11.2008 20:27:08 »
А у меня есть вопрос. А можно обновляться подключив сразу два репозитария???? Чего будет? Например бранч 4.1 и сизифус.
Можно и это означает полное обновление до нестабильного Sisyphus и бранч 4.1 окажется практически лишним в твоей системе.

Оффлайн AnotheR

  • Участник
  • *
  • Сообщений: 307
  • Forever and Never
Re: Какие репозитарии выбрать?
« Ответ #53 : 05.11.2008 20:31:12 »
Просто заметил одну вещь! пробовал подрубить два репозитария (сам то все жизнь из сизифуса обновляюсь, так сложилось) и заметил что некоторые пакеты есть для обновления из бранча и еще некоторых пакетов нету в сизифе (правда они и не нужны вроде как мне).

Оффлайн wRAR

  • Участник
  • *
  • Сообщений: 469
Re: Какие репозитарии выбрать?
« Ответ #54 : 05.11.2008 20:38:01 »
Чего будет? Например бранч 4.1 и сизифус.
В данном конкретном случае апт упадёт. В других похожих случаях апт может сойти с ума либо предложить всё снести.

Оффлайн Astro

  • Участник
  • *
  • Сообщений: 475
  • ALT Workstation 10
Re: Какие репозитарии выбрать?
« Ответ #55 : 05.11.2008 20:38:54 »
Просто заметил одну вещь! пробовал подрубить два репозитария (сам то все жизнь из сизифуса обновляюсь, так сложилось) и заметил что некоторые пакеты есть для обновления из бранча и еще некоторых пакетов нету в сизифе (правда они и не нужны вроде как мне).
По идее ты можешь подключить все имеющиеся репозитарии, но при обновлении система автоматически выбирает последнюю версию пакета, а она будет разумеется в Sisyphus.

Оффлайн xapienz

  • Участник
  • *
  • Сообщений: 207
Re: Какие репозитарии выбрать?
« Ответ #56 : 05.11.2008 20:46:59 »
Чего будет? Например бранч 4.1 и сизифус.
В данном конкретном случае апт упадёт. В других похожих случаях апт может сойти с ума либо предложить всё снести.
apt не упадёт.
в синаптике есть возможность выбора версии пакета (десктоп/бранч/сизиф)
ALTLinux Sisyphus

Drool

  • Гость
Re: Какие репозитарии выбрать?
« Ответ #57 : 05.11.2008 21:27:35 »
...при обновлении система автоматически выбирает последнюю версию пакета, а она будет разумеется в Sisyphus.

Нет, к сожалению это не так. Сам лично наталкивался на такое: в сизифе есть пакет:
  foo-1.0-alt1
мантейнер этого пакета по доброте душевной/просьбе страждущих закидывает сборку для бранча:
  foo-1.0-alt1.M41.1
и тут он ложит бомбу для тех, кто захочет обновиться до сизифа. Полиси именования пакетов для репозитариев < сизифа гласят, что версия пакета должна быть ниже версии в сизифе. В данном случае мантейнер должен был назвать пакет так:
  foo-1.0-alt0.M41.1
но по каким-то причинам забыл поправить, механически дописал суффикс репозитория (М41) и залил. Для бранча этот пакет новее чем в сизифе. Пока сидеть на данном бранче и не рыпаться никуда - все будет тихо и гладко. Рассмотрим ситуацию с возможным обновлением. Пакет
  foo-1.0-alt1.М41.1
рассматривается системой как более новый, чем в сизифе, поэтому обновлять его apt не будет. В то же время пакет собран в среде М41 и требует (слинкован) библиотеку из бранча, версия которой старее, чем в сизифе. Для apt-а развивается парадокс - более новая версия пакета требует более старую версию библиотеки, чем та среда, на которую его нацелили. В то же время в новой системе есть куча софта, которая также требует эту библиотеку, но актуальной для сизифа версии. Вопрос - как отреагирует на это apt?
« Последнее редактирование: 05.11.2008 21:29:39 от Drool »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: Какие репозитарии выбрать?
« Ответ #58 : 05.11.2008 22:14:36 »
Часто  не забыл, а просто в бренч уже попал foo-1.0-alt1, а ему надо его исправить и поневоле появляется foo-1.0-alt1.M41.1

Оффлайн Astro

  • Участник
  • *
  • Сообщений: 475
  • ALT Workstation 10
Re: Какие репозитарии выбрать?
« Ответ #59 : 05.11.2008 22:16:03 »
Вопрос - как отреагирует на это apt?
Не установит и вывалится с ошибками, что мол, неразрешимые зависимости. Таких пакетов в Sisyphus вполне предостаточно и то одно, то другое вываливается с завидной регулярностью. На то он и нестабильный Sisyphus. Bugzilla в этом случае наше всё.
Наверное всё же дело в привычке работать в стабильных релизах, поскольку через год пользования unstable различные несовместимости воспринимаются как само собой разумеющееся.