Я пытаюсь настроить сервер разработки на работе, который в идеале сможет протестировать пару проектов на PHP, Rails или Django (не всегда работающие одновременно). Я разрабатываю приложения локально на Mac, а затем помещаю проекты на этот сервер для тестирования с моими реальными пользователями (не техническими специалистами) перед развертыванием на производственном сервере.
Моя проблема в том, что у нас очень плохое интернет-соединение (почти незначительное) на работе, и мы выполняем обычные apt-get
/yum
/ports
(make
, clean
, install
) процессы настройки серверов всегда получают свои пакеты из онлайн-репозиториев. Я знаю, что, вероятно, смогу загрузить исходный код, а затем скомпилировать его сам, но для меня это будет слишком хлопотно.
Я думаю о двух решениях:
План А:
Запустите виртуальную машину сервера на моем Mac, а затем используйте эту виртуальную машину в качестве исходного репозитория для автономного сервера. Я читал об apt-proxy Ubuntu, и он кажется достаточно хорошим, хотя я еще не пробовал его.
Я не уверен, возможно ли это, но могу ли я просто сделать apt-get install nginx --downloadonly
чтобы пакет и его зависимости были загружены в мою виртуальную машину, и мой сервер мог использовать виртуальную машину в качестве исходного репозитория для apt-get?
План B:
Запустите виртуальную машину сервера на моем Mac (которую я могу легко настроить / обновить, когда я дома), а затем клонируйте виртуальную машину на автономный сервер разработки. Возможно, мне просто нужно сделать сервер хостом виртуальной машины, чтобы я мог просто скопировать виртуальную машину.
Я думаю, что это нормально для первоначальной настройки, но последующие обновления займут слишком много времени (клонирование образа виртуальной машины).
Если бы я работал в Windows, думаю, это было бы проще, потому что у большинства служб есть установочный файл, который я могу загрузить и затем запустить на сервере.
Если бы вы могли предложить другой способ, я был бы очень признателен.
Обновить:
Из ответа Майкла Хэмптона я нашел возможное решение, которое apt-cacher
.
Я тоже нашел это страница на сайте Ubuntu.
Интересно, есть ли лучший инструмент, чем этот.
Рассмотрите возможность использования apt-зеркало создать локальное зеркало.
Я запускаю небольшую виртуальную разработку Ubuntu на VMware Fusion. Для разработки достаточно 4 ГБ диска и 512 МБ ОЗУ. Сеть виртуальной машины находится в режиме NAT, поэтому я могу получить к ней доступ, даже если не в Интернете. Я также настроил AFPd, чтобы я мог редактировать файлы, напрямую монтируя общий ресурс. Поскольку я делаю Django только таким образом, настройка выглядит следующим образом ... Приложение Django работает под какой-то учетной записью пользователя, которую я создал, этот пользователь homedir также является virtualenv
root (загружается при входе в систему), я использую этого пользователя для входа в AFP. В новом проекте я просто клонирую машину-шаблон и создаю новую учетную запись пользователя + virtualenv
. При установке в VMware Ubuntu выбирает ядро, которое поддерживает основные возможности виртуализации ... например, XEN, KVM, VMware. Затем Deploymnet должно быть DevOps путь ... просто скопируйте файлы виртуальной машины в облако и запустите его онлайн (возможно, преобразование файла на диске или его увеличение до рабочего размера).
Вы можете заглянуть в apt-offline
(см. debian-administration.org) ...
Я использую apt-cacher для частного облака, просто использую значения по умолчанию, и он просто работает. Я большой поклонник. Вам нужно будет обновить свой sources.list, если они не установлены с использованием местоположения вашего apt-cacher.