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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Создаем локальный репозитарий Ubuntu  (Прочитано 101886 раз)

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

Оффлайн panda

  • Активист
  • *
  • Сообщений: 265
    • Просмотр профиля
    • twitter
А в мандриве и зюзе достаточно указать, где пакеты лежат    ;)
И нет этой мороки.
В Ubuntu тоже можно прописать в sources.list путь к репозиторию по протоколу file:// (у меня сейчас так и сделано).
Use the Force, Luke!

Оффлайн sphere

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
А в мандриве и зюзе достаточно указать, где пакеты лежат    ;)
И нет этой мороки.
В Ubuntu тоже можно прописать в sources.list путь к репозиторию по протоколу file:// (у меня сейчас так и сделано).
было бы любопытно увидеть инструкцию по поводу того как это сделать..... я совсем недавно в Ubuntu.... надо ли каким то образом упорядочить эти файлы? может нужно запустить какой-то скрипт?

Оффлайн panda

  • Активист
  • *
  • Сообщений: 265
    • Просмотр профиля
    • twitter
было бы любопытно увидеть инструкцию по поводу того как это сделать.....
1. Скопировать все (т.е. папки dists и pool со всех дисков) в какую-нибудь папку. Например, у меня лежало в /home/shared/apt
2. Прописать в sources.list: deb file:///home/shared/apt feisty main restricted universe multiverse
И т.д. по аналогии (т.е. заменить путь http://... на локальный).
Use the Force, Luke!

Оффлайн ivan2ksusr

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
HOWTO: Создание локального репозитария

Вместо использования dpkg -i package_name.deb для установки, можно создать локальный репозиторий для пакетов, принесенных на флешке или другом носителе, а потом использовать synaptic/kynaptic (или apt-get install package_name).

Шаги:

sudo su (Все действия лучше проводить как root)

теперь установите пакет dpkg-dev.

apt-get install dpkg-dev
он будет содержать утилиту dpkg-scanpackages, которая нам и нужна.

поместите все .deb пакеты в директорию например, /myrepo (причем не непосредственно в эту директорию, а в поддиректории, расположенные в этой директории)

cd /myrepo
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

Теперь нужно внести новый репозиторий в /etc/apt/sources.list

Вставьте в /etc/apt/sources.list строчку
deb file:/myrepo ./ (лучше вставить ближе к началу, т.к. apt-get (synaptic/kynaptic) ставит более высокий приоритет источнику, находящемуся раньше остальных)

apt-get update (или что-то похожее,можно в Synaptic - например, CTRL+R или нажать кнопку "получить сведения о пакетах").

Если изменится содержимое директории с пакетами, повторите шаги 1-3.

взято вот отсюда: http://www.ubuntu.ru/Wiki/CreatingLocalReprositoryHowto?highlight=%28%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B9%29

Оффлайн sphere

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
спасибо

Оффлайн yaa13

  • Активист
  • *
  • Сообщений: 311
    • Просмотр профиля
Цитировать
Вставьте в /etc/apt/sources.list строчку
deb file:/myrepo ./ (лучше вставить ближе к началу, т.к. apt-get (synaptic/kynaptic) ставит более высокий приоритет источнику, находящемуся раньше остальных)
Не совсем так. Произошли кое-какие изменения с момента написания wiki. Теперь для получения статуса приоритетного репозиторий должен быть ещё и подписан доверенным gpg-ключом. Ну и стоять в начале списка.

Оффлайн Sancho

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
А если просто засобачить набор deb-файлов в /var/apt/cashe или где они там еще хранятся и запустить apt-get, он будет все равно ломиться в интернет или все же из кэша возьмет?

Оффлайн akira

  • Участник
  • *
  • Сообщений: 113
    • Просмотр профиля
Если более новых версий нет, то не будет.
MacBook 466
Dell 1501 (Turion 64X2) Ubuntu 8.10
Home PC (C2D 1,6,2GB,INT) - Ubuntu 8.10 Toshiba A100-528 (Celeron-M 1.6) Ubuntu 8.10

Оффлайн CityAceE

  • Активист
  • *
  • Сообщений: 483
  • Ubuntu 18.04 amd64
    • Просмотр профиля
    • Speccy - наш выбор!
Re: Создаем локальный репозитарий Ubuntu 6.10 Edgy Eft
« Ответ #38 : 05 Сентября 2007, 11:07:25 »
Прошу помощи советом!

Вводные данные:
1. Имеется 4 диска со срезом репозитория, датированные маем 2007.
2. На одном из дисков читаются не все файлы. Вернее это уже пофайловая копия оригинала, то есть части файлов там нет.
3. Имеется медленный (256 kbit), но безлимитный доступ в Интернет только с 0.00 до 9.00. В остальное время Интернет довольно дорогой!

Что нужно изменить в HowTo, приведённом в первом сообщении ветки, применительно к моим условиям, чтобы обновить репозиторий и всё время поддерживать его в актуальном состоянии?

Если я правильно понимаю, то мне требуется скопировать содержимое всех дисков куда-то в одну папку и указать её в качестве параметра для debmirror. Будет ли при это качаться только то, что обновилось на ftp?

Ну и второй момент. Как же мне заставить работать скрипт только в период с 0.00 до 9.00?
С уважением, Станислав.

Оффлайн CityAceE

  • Активист
  • *
  • Сообщений: 483
  • Ubuntu 18.04 amd64
    • Просмотр профиля
    • Speccy - наш выбор!
Re: Создаем локальный репозитарий Ubuntu 6.10 Edgy Eft
« Ответ #39 : 09 Сентября 2007, 08:54:14 »
В общем, слил все диски в одну папку, создал скрипт по аналогии, как описано в первом посте. Вручную стартую и останавливаю его. Осталось докачать совсем немного обновлений...

...И тут возник элементарнейший вопрос! А как, собственно, подключить папку на жёстком диске с моим локальным репозиторием  в качестве источника пакетов? Облазил весь форум, но не смог найти ответ на этот элементаршейший вопрос. Метод проб и ошибок также к положительному результату не привёл.
С уважением, Станислав.

Оффлайн panda

  • Активист
  • *
  • Сообщений: 265
    • Просмотр профиля
    • twitter
Re: Создаем локальный репозитарий Ubuntu 6.10 Edgy Eft
« Ответ #40 : 09 Сентября 2007, 11:21:19 »
А как, собственно, подключить папку на жёстком диске с моим локальным репозиторием  в качестве источника пакетов? Облазил весь форум, но не смог найти ответ на этот элементаршейший вопрос.
И как это вы интересно, промахнулись мимо сообщения, которое лежит чуть выше?
Use the Force, Luke!

Оффлайн begemot

  • Активист
  • *
  • Сообщений: 385
  • Я отказался от наркотического яда - никотина!
    • Просмотр профиля
Re: Создаем локальный репозитарий Ubuntu 6.10 Edgy Eft
« Ответ #41 : 09 Сентября 2007, 17:27:29 »
Да, спасибо, panda, очень помогло.

Неплохо бы разработчикам Ubuntu создать соответствующую опцию при установке дистрибутива, ведь на Mandriva и Fedora давно уже есть такое, тем более, что (если брать по умолчанию) копирование 1CD займётсовсем немного времени. Наверное, всё хотят ускорять процесс инсталляции, не загружая юзеров лишними вопросами.

Оффлайн xenar

  • Участник
  • *
  • Сообщений: 110
  • OC: Ubuntu 12.04
    • Просмотр профиля
Re: Создаем локальный репозитарий Ubuntu 6.10 Edgy Eft
« Ответ #42 : 10 Сентября 2007, 22:49:55 »
Доброго здоровья всем.
Столкнулся с такими проблемами
1. В локальном репозитарии уже достаточно много устаревших версий пакетов, как их через скрипт вычищать?
2. Дома из инета скачиваю обновления и ставятся они вполне нормально, копирую их на флешку приношу на работу генерирую локальный репозитарий и некоторые пакеты не хотят устанавливаться (ругаются на контрольные суммы). Такое ощущение что они повреждены. Приходится их заново копировать. Получается работа с неизвестными. Что можете посоветовать?
3. Как проверить репозитарий на наличии битых архивов?
« Последнее редактирование: 11 Сентября 2007, 07:25:22 от xenar »

Оффлайн fwhr

  • Старожил
  • *
  • Сообщений: 2104
    • Просмотр профиля
Re: Создаем локальный репозитарий Ubuntu 6.10 Edgy Eft
« Ответ #43 : 15 Сентября 2007, 00:40:26 »
Если у народа, сидящего на 7,04 возникнет желание (или уже) обновились до 7,10 то данный скрипт работать перестанет. Точнее, со скриптом всё в порядке, ошибка как я нашёл здесь https://bugs.launchpad.net/ubuntu/+source/debmirror/+bug/136634  в debmirror-е
Но она лечится просто:
$ sudo gedit /usr/bin/debmirror
заменяете в редакторе строку local $/="\n\n"; на local $/="\n"; (она одна) и сохраняете файл. Всё.
Теперь обновление репозитория пройдёт без происшествий.

После обновления до 7,10 не запускайте скрипт mirror.sh, а сначала исправьте debmirror, ато он просто удалит папку pool :)...
Обычно люди получают не то, что заслуживают, а то, что получилось... © Доктор Хауз

Оффлайн CityAceE

  • Активист
  • *
  • Сообщений: 483
  • Ubuntu 18.04 amd64
    • Просмотр профиля
    • Speccy - наш выбор!
Re: Создаем локальный репозитарий Ubuntu 6.10 Edgy Eft
« Ответ #44 : 15 Сентября 2007, 17:43:28 »
А можно заранее исправить debmirror? Или его нужно править только в том случае, если уже произошло обновление до 7.10?
С уважением, Станислав.

 

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