Наконец-то, нашёл подходящую тему

Вообщем есть задача, почитал я эту тему, узнал несколько полезностей, но задача всё же немножко другая.
Есть сервак, и много работников на убунте.
Хотелось бы, что бы на серваке был локальный репозиторий, но не весь, (т.к. это слишком много, качать весь репозиторий убунты целиком) поясню:
Допустим, кто-то устанавливает mc, он качается с оригинального репозитория и откладывается на сервер. Второй человек начинает качать этот же mc, и для него уже не расходуется внешний трафик, нужный пакет просто берёться с сервера.
Особено это полезно будет для обновлений системы, что бы обновление закачалось только на сервак(локальный репозиторий), а остальные уже не тратя трафика, качали с локального сервака.
Т.е. требуется сказать системе, что репозиторий ЛОКАЛЬНЫЙ, а внешние отключить, а уже сервер сам пусть рулит, есть-ли запрашиваемые пакеты, если нет, он их качает отдаёт и сохраняет у себя локально для следующих запросов.
Возникает вопрос, как сделать из него хотя бы просто репозиторий, что бы убунтовские обращения он обрабатывал как нормальный репозиторий и отдавал пакеты, что для этого нужно, веб сервер?
И как бы сделать так, что бы он эти локальные-сохранёные пакеты проверял по версии, если есть более новая, он бы сам закачивал, и соответственно у пользователей загоралось бы уведомление о том, что новые пакеты данной программы доступны.
Думаю что понадобиться так же обновлять индексы пакетов, с оригинальных репозиториев.
Кто подскажет что читать и с чего начать?