Бывает, что одинаковый софт (например, обновления системы) нужно поставить на несколько машин. Естественно, скачивать несколько раз одно и то же не хочется. Ещё бывает, что интернет есть не на всех компьютерах, скачанное на одном нужно поставить на другом. Есть несколько вариантов решения этой задачи.

Apt-proxy

Оптимальное решение для компьютеров, объединённых в сеть. Один из компьютеров становится сервером, он должен иметь доступ в интернет. Естественно, он должен быть доступен по локальной сети клиентам (компьютерам, которые хотят получить с него софт).

Apt-proxy - это программа, которая кэширует скачанные пакеты на жёстком диске. Apt-proxy работает как http-сервер, предоставляющий другим компьютерам в сети доступ к репозиторию программ. Если клиентский компьютер пытается получить пакет, которого нет в кэше, то apt-proxy автоматически скачивает его и кэширует. Это существенно снижает объём трафика и время установки программ.

Настраиваем сервер. Сначала устанавливаем программу apt-proxy из universe репозитория.

sudo apt-get install apt-proxy

Правим файл её конфигурации:

sudo nano /etc/apt-proxy/apt-proxy-v2.conf

(вместо nano можно использовать любимый редактор, например, vi, gedit или kate)

Большую часть настроек можно оставить по умолчанию. Если интернет идёт через прокси - вписываем его адрес и порт в строку http_proxy. Имеет смысл поправить секцию [ubuntu], в которой указываются репозитории. Рекомендуется указать географически ближайший сервер. Например, это может выглядеть так:

[ubuntu]
;; Ubuntu archive
backends =
        http://ru.archive.ubuntu.com/ubuntu
        http://archive.ubuntu.com/ubuntu
        http://archive.ubuntu.org.cn/ubuntu
min_refresh_delay = 15m

[ubuntu-security]
;; Ubuntu security updates
backends =
        http://security.ubuntu.com/ubuntu
min_refresh_delay = 1m

Секции, касающиеся debian, можно не трогать. После правки файла конфигурации перезапустите apt-proxy

sudo /etc/init.d/apt-proxy restart

На клиентских компьютерах необходимо изменить содержимое файла sources.list с приблизительно такого

deb http://archive.ubuntu.com/ubuntu dapper main restricted
deb http://security.ubuntu.com/ubuntu dapper-security main restricted universe

на примерно такое

deb http://server:9999/ubuntu dapper main restricted
deb http://server:9999/ubuntu-security dapper-security main restricted universe

не забыв после этого сделать

sudo apt-get update

Для проверки можно зайти в Synaptic и убедиться, что в нём есть не установленные, но доступные для установки пакеты. Ну или просто попробовать что-нибудь установить.

APTonCD

Данная программа позволяет вам собирать, хранить и переносить пакеты, для этого APTonCD, создает ISO образ из всех файлов хранящихся в директории /var/cache/apt/archives. Из полученного образа можно легко восстанавливать пакеты на другой системе.

Для установки APTonCD откройте терминал и наберите:

sudo apt-get install aptoncd

Находим установленную программу Система→Администрирование→APTonCD и запускаем. Вот так выглядит главное окно APTonCD:

Для создания образа с нашими пакетами жмем кнопку «Создать», программа просканирует кэш и выведет список пакетов. Изменяем список: снимаем галочки с ненужных нам пакетов или наоборот добавляем свои пакеты при помощи клавиши «Добавить». После того, как вы составили список пакетов можно приступить к созданию образа, для этого мы нажимаем на кнопку «Записать…». Перед вами появиться окно, в котором вы можете выбрать:

  1. Тип носителя: CD или DVD
  2. Путь для сохранения образа (по умолчанию - домашняя папка пользователя)
  3. Имя образа
  4. Создать метапакет (под метапакетом понимался просто список пакетов, вместе составляющих единый пакетный комплекс, и установка которого влекла за собой инсталляцию всех его компонентов).

Если вы согласны с свойствами установочного диска, то можно продолжить нажав кнопку «Применить», после нажатия на кнопку все пакеты будут автоматический добавлены в ISO образ. По завершению, вам будет предложено записать новый ISO образ на диск, если вы согласны то вставьте чистый диск в привод и нажмите «Да». Вот и вся работа по созданию диска с дополнительными пакетами.

Для переноса пакетов в свежеустановленную систему, нужно первым делом установить APTonCD и в главном окне нажать кнопку «Восстановить», а затем нажав кнопку «Загрузка..» выбрать откуда мы будет брать пакеты из ISO образа или с диска. После выбора нажимаем кнопку «Восстановить».

В 12.04 и выше, чтобы работала кнопка «Load» («Загрузка»), требуется установка пакета hal
sudo apt-get install hal

Если вы переносите пакеты на другой компьютер(на котором нет привода, или не хочется носить диск ) в виде файла образа aptoncd-xxxxxxxx-CD1.iso (например на флешке) смонтируйте iso командой : sudo mount -o loop /путь_к_файлу/aptoncd-xxxxxxxx-CD1.iso /media/cdrom0 и добавьте источник программ в список репозиториев: sudo synaptic –add-cdrom /media/cdrom0

В синаптике входим Settings→Repositories в закладке Ubuntu Software снимаем все галочки(ведь у нас же здесь нет интернета )на второй закладке Other Software проверяем наличие галочки на cdrom:[APTonCD for Ubuntu … жмем Close и жмем кнопку Reload - загрузится список наших пакетов. После этого выбираем в синаптике секцию Status→Not installed - и видим наши еще неустановленные пакеты - выбираем нужные.

Ссылки на другие ресурсы