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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: "Ассинхронный" локальный репозитарий.  (Прочитано 1796 раз)

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

Оффлайн bektau

  • Автор темы
  • Участник
  • *
  • Сообщений: 140
  • US 9.04, US 9.10 , Lucid 10.04 (fix)
    • Просмотр профиля
Задумал, и сделал локальный репозитарий свой.
Ассинхронный - в смысле любой из участников локальной сети,
кому мы предоставляем доступ к нему, имеет возможность устанавливать пакеты и влиять на содержимое архива /var/cache/apt, а так же на список доступных репозитариев.
Что удобно на мой взгляд, для отдела компании, где люди объеденены одной профессией,и используют практически один и тот же софт,и одни и те же репозитарии.
Отказался от флешек, сд-дисков - проблема с синхронизацией,и потеря времени во время записи-перезаписи оных.
Отказался от samba - "вражеская" технология, нечего делать венде, в репозитариях Ubuntu.
Отказался от массовой скачки пакетов и создания глобального локального репозитария - пусть на диске, хранятся лишь те пакеты, которые нужны.

За основу был взят NFS.
В форуме,буквально подобное писалось,
захотелось обобщить + упростить,так что сильно не пинать,
все мысли и идеи подчёрпнуты из разных тем нашего форума.
Пишу и для себя тоже, чтобы когда понадобиться вернуться к заметке.
Оглавление :
1. Подготовка.
2. Установка и настройка сервера NFS
3. Установка и настройка клиента NFS.
--------------------------
1. Подготовка.
Для начала нужно настроить на всех машинах,
чтобы пакеты не удалялись из архивов apt, а сохранялись там.
Шаг 1ый.
Заходим в Приложения->Стандартные->Терминал (далее просто Терминал)
и набираем следующее:
gksudo gedit /etc/apt/apt.conf.d/20archiveи в открывшемся файле заменяем все строчки на :
APT::Archives::MaxAge "0";
APT::Archives::MinAge "0";
APT::Archives::MaxSize "0";
сохраняем изменение и закрываем gedit.
Тем самым мы сказали apt-у, что максимальный и минимальный срок хранения пакетов неограничен,и максимальный размер архива пакетов тоже.

2ым шагом,будет настройка Синаптика, чтобы и он не удалял архивы.
Заходим в Система->Администрирование->Менеджер Пакетов Synaptic (далее просто Synaptic )
и в Synaptic выбираем :
Настройки->Параметры->вкладка Файлы
отмечаем во вкладке:
Хранить все загружаемые файлы в кэше
Сохранять историю.

Шаг 3й, настройка доменов.
Набираем в Терминале :
gksudo gedit /etc/hostsи прописываем имена компов, которые будут подключены к локальному репозитарию,
и их ip, пример :
(Нажмите, чтобы показать/скрыть)
(примечание, дабы избежать путаниц я в роутере adsl модема, каждому компу присвоил статический ip)

На этом подготовительная работа закончена.

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

2. Установка и настройка сервера NFS.

Шаг 1ый установка.
На компьютере, котором будут храниться все пакеты заходим в Synaptic
и набираем там в поиске nfs.
Перед нами возникнет список пакетов, отмечаем для установки:
nfswatch
nfs-kernel-server
nfs-common
libnfsidmap2
portmap
(описание этих пакетов вы найдете там же в Synaptic или в гугле)
Устанавливаем выбранные пакеты.

Шаг 2ой, организация доступа к серверу nfs.
в Терминале :
gksudo gedit /etc/hosts.allowтам вписываем :
portmap ypserv ypbind : 192.168.1.11 192.168.1.19(примечание,
192.168.1.11 - комп где поднят nfs сервер и планирует размещение репозитария локального.
а 192.168.1.19 - комп Васьки соседа,который будет устанавливать софт используя репозитарий наш,
у вас могут быть,иные ip адреса.смотрите в админке модема,и желательно присвойте статичные всем, для удобства.)

Шаг 3й, настройка nfs сервера
в Терминале :
gksudo gedit /etc/exportsтам дописываем :
/etc/apt vasya(rw,sync,no_subtree_check)
/var/cache/apt/archives vasya(rw,sync,no_subtree_check)
и сохраняем.
То есть мы компу vasya - разрешили через nfs цепляться к папкам :
/etc/apt
/var/cache/apt/archives
на которые нужно выставить права для записи и удаления файлов.
(так как репозитарий ассинхронный, чтобы все участники в равной мере могли управлять репозитарием - пополнять его, добавлять новые репозитарии и т.д)

Шаг 4й, выставляем права :
sudo chmod  777 -R /etc/apt
sudo chmod  757 -R /var/cache/apt/archives

Шаг 5й, ребутим nfs сервер :
sudo /etc/init.d/nfs-kernel-server restart
NFS сервер готов, к тому чтобы комп с доменом vasya, устанавливал пакеты из локального репозитария.
Теперь осталось настроить клиента vasya.

3. Установка и настройка клиента NFS.
После того как вы выполнили Подготовку компа-клиента (см пункт 1.Подготовка),
1ый шаг ,
устанавливаем nfs клиент на компьютер.
Synaptic
и набираем там в поиске nfs.
Перед нами возникнет список пакетов, отмечаем для установки:
nfs-common
portmap
устанавливаем.

настройка хостов :
gksudo gedit /etc/hosts.allowтам добавляем :
portmap : 192.168.1.11 (примечание, это айпи моего компа где поднят локальный репозитарий и nfs сервер,
у вас он скорей всего другой. Пропишите как у вас)

Далее заходим и предворительно скопировав куда нибудь (на всякий случай),
удаляем содержимое директорий
/etc/apt
/var/cache/apt/archives
Внимание! Сами директории не удаляйте, туда будем монтировать с nfs сервера,
файлы.
Просто содержимое удалите.
Сделать это можно к примеру запуская nautilus под root
пример в терминале :
gksudo nautilus /etc/aptтам копируем, архивируем,удаляем..
и
gksudo nautilus /var/cache/apt/archivesте же операции.

Шаг 2й, монтируем файлы с nfs сервера.
в терминале:
gksudo gedit /etc/fstabтам прописываем правила для монтирования,дописав пару строчек :
192.168.1.11:/etc/apt /etc/apt nfs rw,hard,intr,rsize=8192,wsize=8192 0 0
192.168.1.11:/var/cache/apt/archives /var/cache/apt/archives nfs rw,hard,intr,rsize=8192,wsize=8192 0 0
(Примечание, 192.168.1.11 это ip моего nfs сервера.
у вас он может быть другим)

и монтируем,
в Терминале :
sudo mount -a
всё должно начать работать.
если не получилось,попробуйте перезагрузить сперва сервер потом комп-клиент.

установка уже существующих пакетов проходит быстро и на ура.
не нужны флешки и диски.
с помощью nfs можно без всяких samba расшаривать папки, по аналогии с репозитариями,
и обмениваться файлами.

критика и замечания приветствуется.
« Последнее редактирование: 19 Декабря 2009, 16:09:47 от bektau »

Оффлайн vasilisc

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2563
  • г.Северодвинск - строим АПЛ
    • Просмотр профиля
    • Авторские статьи об OpenSource
Re: "Ассинхронный" локальный репозитарий.
« Ответ #1 : 19 Декабря 2009, 18:57:39 »
напишите плиз +/- общего /etc/apt
какая преследовалась цель?

Оффлайн bektau

  • Автор темы
  • Участник
  • *
  • Сообщений: 140
  • US 9.04, US 9.10 , Lucid 10.04 (fix)
    • Просмотр профиля
Re: "Ассинхронный" локальный репозитарий.
« Ответ #2 : 19 Декабря 2009, 19:25:30 »
лень просто, обмениваться списками репозитариев, обьяснять как добавить ключ,
а так я допустим или кто нибудь из тех кто подключен к локальному репозитарию,
с любой машины доверенной,добавляет репозитарий и ключи,
и он будет  использоваться всеми машинами.

из минусов - пожалуй безопасность.
поэтому к локальному репозитарию подключаются только доверенные компьютеры.

 

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